123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509 |
- <template>
- <el-dialog
- title="接诊评估"
- class="newDialog"
- :modal-append-to-body="false"
- :visible.sync="isVisibility"
- width="854px"
- >
- <div class="warnTxt" v-if="showTxt != ''">{{ showTxt }}</div>
- <el-form :model="receiveTreatmentAsses" label-width="80px">
- <el-form-item label="入室方式 : " v-if="isShow('入室方式')">
- <!--<el-radio-group v-model="receiveTreatmentAsses.way">-->
- <el-radio
- v-for="(item, index) in way_arr"
- :key="index"
- :label="item.id"
- v-model="receiveTreatmentAsses.way"
- >{{ item.name }}
- </el-radio>
- <!--</el-radio-group>-->
- </el-form-item>
- <el-form-item label="病人意识 : " v-if="isShow('病人意识')">
- <!--<el-radio-group v-model="receiveTreatmentAsses.consciousness">-->
- <el-radio
- v-for="(item, index) in consciousness_arr"
- :key="index"
- :label="item.id"
- v-model="receiveTreatmentAsses.consciousness"
- >{{ item.name }}
- </el-radio>
- <!--</el-radio-group>-->
-
- <!--<el-radio v-model="receiveTreatmentAsses.consciousness" label="1">清醒</el-radio>-->
- <!--<el-radio v-model="receiveTreatmentAsses.consciousness" label="2">嗜睡</el-radio>-->
- <!--<el-radio v-model="receiveTreatmentAsses.consciousness" label="3">昏迷</el-radio>-->
- <!--<el-radio v-model="receiveTreatmentAsses.consciousness" label="4">模糊</el-radio>-->
- </el-form-item>
- <el-form-item label="病人食欲 : " v-if="isShow('病人食欲')">
- <el-radio
- v-for="(item, index) in appetite_arr"
- :key="index"
- :label="item.id"
- v-model="receiveTreatmentAsses.appetite"
- >{{ item.name }}
- </el-radio>
-
- <!--<el-radio v-model="receiveTreatmentAsses.appetite" label="1">正常</el-radio>-->
- <!--<el-radio v-model="receiveTreatmentAsses.appetite" label="2">减退</el-radio>-->
- <!--<el-radio v-model="receiveTreatmentAsses.appetite" label="3">恶心</el-radio>-->
- <!--<el-radio v-model="receiveTreatmentAsses.appetite" label="4">呕吐</el-radio>-->
- <!--<el-radio v-model="receiveTreatmentAsses.appetite" label="5">腹泻</el-radio>-->
- </el-form-item>
- <el-form-item label="病人情况 : " v-if="isShow('病人情况')">
- <el-radio v-model="receiveTreatmentAsses.condition" label="1"
- >住院</el-radio
- >
- <el-radio v-model="receiveTreatmentAsses.condition" label="2"
- >门诊</el-radio
- >
- <el-radio v-model="receiveTreatmentAsses.condition" label="3"
- >手术期</el-radio
- >
- <el-radio v-model="receiveTreatmentAsses.condition" label="4"
- >急诊</el-radio
- >
- </el-form-item>
-
- <el-form-item
- label="住院号 : "
- v-if="this.receiveTreatmentAsses.condition == '1'"
- >
- <el-input v-model="receiveTreatmentAsses.admission_number"></el-input>
- </el-form-item>
-
- <el-form-item
- label="诊断:" v-if="isShow('诊断') && this.receiveTreatmentAsses.condition == '1'"
- >
- <el-input v-model="receiveTreatmentAsses.diacrisis"></el-input>
- </el-form-item>
-
- <el-form-item label="体位 : " v-if="isShow('体位')">
- <el-radio
- v-for="(item, index) in posture_arr"
- :key="index"
- :label="item.id"
- v-model="receiveTreatmentAsses.posture"
- >{{ item.name }}
- </el-radio>
- <!--<el-radio v-model="receiveTreatmentAsses.posture" label="1">自动体位</el-radio>-->
- <!--<el-radio v-model="receiveTreatmentAsses.posture" label="2">平卧位</el-radio>-->
- <!--<el-radio v-model="receiveTreatmentAsses.posture" label="3">半卧位</el-radio>-->
- <!--<el-radio v-model="receiveTreatmentAsses.posture" label="4">端坐位</el-radio>-->
- <!--<el-radio v-model="receiveTreatmentAsses.posture" label="5">躁动不安</el-radio>-->
- </el-form-item>
-
- <el-form-item label="病情: " v-if="isShow('病情')">
- <el-radio
- v-for="(item, index) in sick_condition_arr"
- :key="index"
- :label="item.id"
- v-model="receiveTreatmentAsses.sick_condition"
- >{{ item.name }}
- </el-radio>
- <!--<el-radio v-model="receiveTreatmentAsses.sick_condition" label="1">一般</el-radio>-->
- <!--<el-radio v-model="receiveTreatmentAsses.sick_condition" label="2">严重</el-radio>-->
- <!--<el-radio v-model="receiveTreatmentAsses.sick_condition" label="3">危</el-radio>-->
- </el-form-item>
-
- <el-form-item
- label-width="100px"
- label="其他病情 : "
- v-if="isShow('其他病情')"
- >
- <el-input
- v-model="receiveTreatmentAsses.sick_condition_other"
- ></el-input>
- </el-form-item>
-
- <el-form-item
- label-width="150px"
- label="跌倒风险评估评分 : "
- v-if="isShow('跌倒风险评估评分')"
- >
- <el-input
- v-model="receiveTreatmentAsses.score"
- style="width: 100px"
- ></el-input>
- </el-form-item>
-
- <el-form-item label="风险程度: " v-if="isShow('风险程度')">
- <el-radio v-model="receiveTreatmentAsses.danger_level" label="1"
- >无</el-radio
- >
- <el-radio v-model="receiveTreatmentAsses.danger_level" label="2"
- >低风险</el-radio
- >
- <el-radio v-model="receiveTreatmentAsses.danger_level" label="3"
- >中度风险</el-radio
- >
- <el-radio v-model="receiveTreatmentAsses.danger_level" label="4"
- >高风险</el-radio
- >
- </el-form-item>
-
- <el-form-item
- label-width="150px"
- label="跌倒风险预防措施: "
- v-if="isShow('跌倒风险预防措施')"
- >
- <!-- <el-radio-->
- <!-- v-for="(item, index) in precaution_arr"-->
- <!-- :key="index"-->
- <!-- :label="item.id"-->
- <!-- v-model="receiveTreatmentAsses.precaution"-->
- <!-- >{{ item.name }}-->
- <!-- </el-radio>-->
- <el-checkbox-group v-model="precautionTwo">
- <el-checkbox
- v-for="item in precaution_arr"
- :label="item.name"
- :key="item.id"
- >{{ item.name }}</el-checkbox
- >
- </el-checkbox-group>
- </el-form-item>
- <el-form-item
- label-width="200px"
- label="其他跌倒风险预防措施 : "
- v-if="isShow('其他跌倒风险预防措施')"
- >
- <el-input v-model="receiveTreatmentAsses.precaution_other"></el-input>
- </el-form-item>
-
- <el-form-item label="摄入量: " v-if="isShow('摄入量')">
- <!--<el-radio v-model="receiveTreatmentAsses.intake" label="1">正常</el-radio>-->
- <!--<el-radio v-model="receiveTreatmentAsses.intake" label="2">减少</el-radio>-->
-
- <el-radio
- v-for="(item, index) in intake_arr"
- :key="index"
- :label="item.id"
- v-model="receiveTreatmentAsses.intake"
- >{{ item.name }}
- </el-radio>
- </el-form-item>
- <el-form-item label="营养状况: " v-if="isShow('营养状况')">
- <!--<el-radio v-model="receiveTreatmentAsses.nutrition" label="1">正常</el-radio>-->
- <!--<el-radio v-model="receiveTreatmentAsses.nutrition" label="2">营养不良</el-radio>-->
-
- <el-radio
- v-for="(item, index) in nutrition_arr"
- :key="index"
- :label="item.id"
- v-model="receiveTreatmentAsses.nutrition"
- >{{ item.name }}
- </el-radio>
- </el-form-item>
- <el-form-item label="心理评估: " v-if="isShow('心理评估')">
- <el-radio
- v-model="receiveTreatmentAsses.psychological_assessment"
- label="1"
- >正常</el-radio
- >
- <el-radio
- v-model="receiveTreatmentAsses.psychological_assessment"
- label="2"
- >异常</el-radio
- >
- </el-form-item>
- <el-form-item
- label-width="150px"
- label="心理评估异常情况 : "
- v-if="
- isShow('心理评估异常情况') &&
- receiveTreatmentAsses.psychological_assessment == 2
- "
- >
- <el-input
- v-model="receiveTreatmentAsses.psychological_assessment_other"
- ></el-input>
- </el-form-item>
-
- <el-form-item
- label-width="150px"
- label="其他心理评估 : "
- v-if="isShow('其他心理评估')"
- >
- <el-input
- v-model="receiveTreatmentAsses.psychological_other"
- ></el-input>
- </el-form-item>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button @click="handleCancle">取 消</el-button>
- <el-button type="primary" v-if="hasPermission" @click="handleComfirm"
- >保 存</el-button
- >
- </div>
- </el-dialog>
- </template>
-
- <script>
- import { postAccepts } from "@/api/dialysis";
- import { uParseTime } from "@/utils/tools";
- import store from "@/store";
- import { getDataConfig } from "@/utils/data";
-
- import request from "@/utils/request";
-
- export default {
- name: "acceptsTreatmentDialog",
- data() {
- return {
- showTxt: "",
- hasPermission: true,
- isVisibility: false,
- record_date: "",
- way_arr: [],
- consciousness_arr: [],
- appetite_arr: [],
- posture_arr: [],
- sick_condition_arr: [],
- precaution_arr: [],
- intake_arr: [],
- nutrition_arr: [],
- receiveTreatmentAsses: {
- way: "1",
- consciousness: "1",
- appetite: "1",
- condition: "1",
- posture: "1",
- sick_condition: "1",
- danger_level: "1",
- intake: "1",
- nutrition: "1",
- psychological_assessment: "1",
- psychological_assessment_other: "",
- sick_condition_other: "",
- score: "",
- psychological_other: "",
- precaution: "",
- precaution_other: "",
- admission_number: "",
- diacrisis:""
- },
- precautionTwo: []
- };
- },
- methods: {
- isShow(name) {
- var filedList = store.getters.xt_user.fileds;
- for (let i = 0; i < filedList.length; i++) {
- if (
- filedList[i].module == 2 &&
- filedList[i].filed_name_cn == name &&
- filedList[i].is_show == 1
- ) {
- return true;
- }
- }
- return false;
- },
- show(accepts) {
- this.accepts = accepts;
- // console.log("accepts", accepts);
- var arr = [];
- if (this.accepts.precaution) {
- var precaution = this.accepts.precaution.split(",");
- // console.log("precaution", precaution);
- // console.log("hhh", this.precaution_arr);
- for (let i = 0; i < precaution.length; i++) {
- for (let j = 0; j < this.precaution_arr.length; j++) {
- if (parseInt(precaution[i]) == this.precaution_arr[j].id) {
- // console.log("aaaa");
- arr.push(this.precaution_arr[j].name);
- }
- }
- }
- this.precautionTwo = arr;
- // console.log("arr", arr);
- }
-
- this.getPermission();
- for (var index in this.receiveTreatmentAsses) {
- if (
- index == "condition" ||
- index == "danger_level" ||
- index == "psychological_assessment"
- ) {
- this.receiveTreatmentAsses[index] =
- this.receiver_treatment_access[index] + "";
- } else {
- this.receiveTreatmentAsses[index] = this.receiver_treatment_access[
- index
- ];
- }
- }
- this.isVisibility = true;
- },
- hide() {
- this.isVisibility = false;
- },
- handleCancle: function() {
- this.isVisibility = false;
- },
- handleComfirm: function() {
- var arr = [];
- for (let i = 0; i < this.precaution_arr.length; i++) {
- for (let j = 0; j < this.precautionTwo.length; j++) {
- if (this.precaution_arr[i].name == this.precautionTwo[j]) {
- arr.push(this.precaution_arr[i].id);
- }
- }
- }
- // console.log("arr", arr);
- var obj = arr.join(",");
- this.receiveTreatmentAsses.precaution = obj;
- let ParamsQuery = this.receiveTreatmentAsses;
- // console.log("ParamsQuery", ParamsQuery);
- ParamsQuery["patient"] = this.patient.id;
- ParamsQuery["record_date"] = this.record_date;
- //console.log(this.receiver_treatment_access);
- ParamsQuery["mode"] = "1";
- if (this.receiver_treatment_access.id > 0) {
- ParamsQuery["mode"] = "2";
- if (
- this.$store.getters.xt_user.user.id !=
- this.receiver_treatment_access.creater
- ) {
- ParamsQuery["mode"] = "3";
- }
- }
- // console.log("数据", this.precautionTwo);
- postAccepts(ParamsQuery).then(response => {
- if (response.data.state == 0) {
- this.$message.error(response.data.msg);
- return false;
- } else {
- this.$notify({
- title: "成功",
- message: "提交成功",
- type: "success",
- duration: 2000
- });
-
- let receive_treatment_asses_resp =
- response.data.data.receiveTreatmentAsses;
-
- //pror
- var receiver_treatment_access = this.receiver_treatment_access;
- for (var index in receive_treatment_asses_resp) {
- // receiver_treatment_access[index] = receive_treatment_asses_resp[index];
- this.$set(
- receiver_treatment_access,
- index,
- receive_treatment_asses_resp[index]
- );
- }
- this.hide();
- }
- });
- },
- getPermission() {
- request
- .get("/api/func_per/get", {
- params: {
- create_url: "/api/dialysis/accepts?mode=1",
- modify_url: "/api/dialysis/accepts?mode=2",
- modify_other_url: "/api/dialysis/accepts?mode=3",
- module: 2
- }
- })
- .then(res => {
- // console.log(res);
- //console.log("接诊", this.accepts);
- if (res.data.state == 0) {
- this.hasPermission = false;
- } else if (res.data.state == 1) {
- if (this.accepts.id != "" && this.accepts.creater != 0) {
- //有数据
- if (this.accepts.creater == this.$store.getters.xt_user.user.id) {
- //创建人是自己
- if (res.data.data.is_has_modify == false) {
- this.hasPermission = false;
- this.showTxt = "你没有修改接诊评估权限";
- }
- } else {
- //创建人不是自己
- if (res.data.data.is_has_modify_other == false) {
- this.hasPermission = false;
- this.showTxt = "你没有修改他人接诊评估权限";
- }
- }
- } else if (this.accepts.id == "" || this.accepts.creater == 0) {
- if (res.data.data.is_has_create == false) {
- this.hasPermission = false;
- this.showTxt = "你没有新增接诊评估权限";
- }
- }
- }
- });
- }
- },
- props: {
- receiver_treatment_access: {
- // 双人核对
- type: Object,
- default: () => {
- return { id: 0 };
- }
- },
- patient: {
- // 患者信息
- type: Object,
- default: () => {
- return { id: 0 };
- }
- }
- },
- watch: {
- isVisibility(val) {},
- "receiver_treatment_access.id": function() {
- if (this.receiver_treatment_access.id > 0) {
- for (var index in this.receiveTreatmentAsses) {
- this.receiveTreatmentAsses[index] = this.receiver_treatment_access[
- index
- ];
- }
- }
- }
- },
- created() {
- // console.log("接诊评估", this.receiver_treatment_access);
- var date = this.$route.query && this.$route.query.date;
- this.record_date = uParseTime(date, "{y}-{m}-{d}");
-
- this.way_arr = getDataConfig("hemodialysis", "way");
- this.consciousness_arr = getDataConfig("hemodialysis", "consciousness");
- this.appetite_arr = getDataConfig("hemodialysis", "appetite");
- this.posture_arr = getDataConfig("hemodialysis", "posture");
- this.sick_condition_arr = getDataConfig("hemodialysis", "sick_condition");
- this.precaution_arr = getDataConfig("hemodialysis", "precaution");
- // console.log("风险", this.precaution_arr);
- this.intake_arr = getDataConfig("hemodialysis", "intake");
- this.nutrition_arr = getDataConfig("hemodialysis", "nutrition");
- }
- };
- </script>
-
- <style scoped>
- .warnTxt {
- text-align: center;
- margin: 0 auto;
- background: #faa331;
- max-width: 240px;
- padding: 10px 20px;
- border-radius: 4px;
- margin-bottom: 10px;
- color: #fff;
- }
- </style>
- <style lang="scss">
- .newDialog {
- .el-dialog__body {
- padding: 10px 20px 30px;
- }
- }
- </style>
|