WXL
2025-02-26 bc99b53026056be2d5370c3804579b9988992f20
src/views/patient/propaganda/QuestionnaireTask.vue
@@ -196,7 +196,15 @@
                    </div>
                  </div>
                </el-form-item>
                <el-row>
                <el-form-item label="任务关联" prop="longTask">
                  <el-radio-group v-model="form.appltype">
                    <el-radio label="0">科室关联</el-radio>
                    <el-radio label="1">病区关联</el-radio>
                    <el-radio label="2">疾病关联</el-radio>
                    <el-radio label="3">手术关联</el-radio>
                  </el-radio-group>
                </el-form-item>
                <el-row v-if="form.appltype == 0">
                  <el-col :span="20"
                    ><el-form-item label="适用科室" prop="region">
                      <el-select
@@ -219,7 +227,7 @@
                      </el-select> </el-form-item
                  ></el-col>
                </el-row>
                <el-row>
                <el-row v-if="form.appltype == 1">
                  <el-col :span="20"
                    ><el-form-item label="适用病区" prop="region">
                      <el-select
@@ -237,6 +245,56 @@
                          :key="item.districtCode"
                          :label="item.districtName"
                          :value="item.districtCode"
                        >
                        </el-option>
                      </el-select> </el-form-item
                  ></el-col>
                </el-row>
                <el-row v-if="form.appltype == 2">
                  <el-col :span="20"
                    ><el-form-item label="适用疾病" prop="region">
                      <el-select
                        v-model="illnesscodes"
                        style="width: 400px"
                        @remove-tag="removehpsp"
                        size="medium"
                        :remote-method="remotedonor"
                        multiple
                        filterable
                        remote
                        placeholder="请选择病区"
                      >
                        <el-option
                          class="ruleFormaa"
                          v-for="item in donorchargeList"
                          :key="item.icdcode"
                          :label="item.icdname"
                          :value="item.icdcode"
                        >
                        </el-option>
                      </el-select> </el-form-item
                  ></el-col>
                </el-row>
                <el-row v-if="form.appltype == 3">
                  <el-col :span="20"
                    ><el-form-item label="适用手术" prop="region">
                      <el-select
                        v-model="operationcodes"
                        style="width: 400px"
                        @remove-tag="removehpsp"
                        size="medium"
                        :remote-method="remoteopcode"
                        multiple
                        filterable
                        remote
                        placeholder="请选择手术"
                      >
                        <el-option
                          class="ruleFormaa"
                          v-for="item in baseoperaList"
                          :key="item.opcode"
                          :label="item.opdesc"
                          :value="item.opcode"
                        >
                        </el-option>
                      </el-select> </el-form-item
@@ -489,7 +547,6 @@
            <!-- 选择患者列表 -->
            <SFtable
              ref="multipleTable"
              @handleUpdate="handleUpdate"
              @handleSelectionChange="handleSelectionChange"
              :currentList="patientuserList"
              :tableLabel="tableLabelhz"
@@ -787,7 +844,8 @@
import store from "@/store";
import {
  getTaskpatientQC,
  getlibrarylist,
  getillnesslist,
  getbaseopera,
  Externallist,
  getQtemplatelist,
  getQtemplateobj,
@@ -799,13 +857,12 @@
  getillness,
  Editsingletask,
  getQtemplateclassify,
  depthospgetsonlist,
  taskdepthospgetsondel,
  taskdepthospgetsonlist,
} from "@/api/AiCentre/index";
import SFtable from "@/components/SFtable"; //表格组件
import {  MessageBox,  } from "element-ui";
import { MessageBox } from "element-ui";
export default {
  name: "ServiceDetails",
@@ -833,10 +890,14 @@
      dialogVisiblepatient: false, //添加患者弹框
      deptcodesWards: [], //科室数据
      leavehospitaldistrictcodes: [], //病区数据
      operationcodes: [], //手术数据
      illnesscodes: [], //疾病数据
      radio: 1,
      checkboxlist: [],
      tableLabel: [],
      questionList: [],
      donorchargeList: [],
      baseoperaList: [],
      usable: [
        { value: "0", label: "可用" },
        { value: "1", label: "停用" },
@@ -992,7 +1053,7 @@
        templatename: "",
        templateid: null,
        libtemplateid: null,
        kcb: "亲爱的患者/家属,您好!我们是浙中医大二院的医护人员,为了更好地了解您的康复情况,请您抽一点宝贵时间,观看这份宣教资讯。",
        kcb: "亲爱的患者/家属,您好!我们是景宁人民医院的医护人员,为了更好地了解您的康复情况,请您抽一点宝贵时间,观看这份宣教资讯。",
        jsy: "请您注意休息和营养,生活上要劳逸结合,适当锻炼,戒烟限酒,保持心情舒畅,定期复诊。那本次宣教内容就到这里,祝您身体健康!",
      },
      taskoptions: [
@@ -1035,7 +1096,7 @@
      tasktypes: [
        {
          value: 1,
          label: "监测评估",
          label: "心电随访",
        },
        {
          value: 2,
@@ -1043,7 +1104,7 @@
        },
        {
          value: 3,
          label: "门诊随访",
          label: "影像随访",
        },
        {
          value: 4,
@@ -1051,24 +1112,15 @@
        },
        {
          value: 5,
          label: "复诊管理",
          label: "体检随访",
        },
        {
          value: 6,
          label: "满意度调查",
          value: 11,
          label: "医技随访",
        },
        {
          value: 7,
          label: "患者日常报告",
        },
        {
          value: 9,
          label: "患者异常报告",
        },
        {
          value: 8,
          label: "其他通知",
          value: 10,
          label: "专科随访",
        },
      ],
      // 科室/病区
@@ -1099,7 +1151,7 @@
        //   { required: true, message: "适用病区不能为空", trigger: "blur" },
        // ],
      },
      belongDepts:[],
      belongDepts: [],
      // 科室院区查询入参
      queryParamsdept: {},
      quote: false,
@@ -1120,6 +1172,7 @@
    this.serviceType = Number(this.$route.query.serviceType);
    this.form.serviceType = Number(this.$route.query.serviceType);
    this.Acquisitiontype();
    this.getillnesslist();
    this.Getdetails();
    this.getQtemplateclassify();
  },
@@ -1303,13 +1356,35 @@
          xh: 1,
        },
      ];
      if (this.form.appltype == 0) {
        this.leavehospitaldistrictcodes=[];
        this.operationcodes=[];
        this.illnesscodes=[];
      } else if (this.form.appltype == 1) {
        this.deptcodesWards=[];
        this.operationcodes=[];
        this.illnesscodes=[];
      } else if (this.form.appltype == 2) {
        this.deptcodesWards=[];
        this.leavehospitaldistrictcodes=[];
        this.illnesscodes=[];
      } else if (this.form.appltype == 3) {
        this.deptcodesWards=[];
        this.operationcodes=[];
        this.leavehospitaldistrictcodes=[];
      }
      if (this.checkList) {
        this.form.preachform = this.checkList;
      } else {
        this.$modal.msgError("请选择服务类型");
        return;
      }
      if (this.deptcodesWards[0]||this.leavehospitaldistrictcodes[0]) {
      if (
        this.deptcodesWards[0] ||
        this.leavehospitaldistrictcodes[0] ||
        this.illnesscodes[0] ||
        this.operationcodes[0]
      ) {
      } else {
        this.$modal.msgError("请选择科室或病区");
        return;
@@ -1350,6 +1425,8 @@
      this.form.deptcode = this.deptcodesWards.join(",");
      this.form.leavehospitaldistrictcode =
        this.leavehospitaldistrictcodes.join(",");
      this.form.opcode = this.operationcodes.join(",");
      this.form.icd10code = this.illnesscodes.join(",");
      Editsingletask(this.form).then((res) => {
        if (res.code == 200) {
@@ -1425,6 +1502,44 @@
          this.illnesslist.forEach((item) => {
            item.icdname = item.icd10name;
          });
        });
      }
    },
    getillnesslist() {
      getillnesslist({
        pageNum: 1,
        pageSize: 1000,
      }).then((res) => {
        this.donorchargeList = res.rows;
      });
      getbaseopera({
        pageNum: 1,
        pageSize: 1000,
      }).then((res) => {
        this.baseoperaList = res.rows;
      });
    },
    // 手术查询
    remoteopcode(name) {
      if (name) {
        getillnesslist({
          pageNum: 1,
          pageSize: 1000,
          icdname: name,
        }).then((res) => {
          this.donorchargeList = res.rows;
        });
      }
    },
    // 疾病查询
    remotedonor(name) {
      if (name) {
        getbaseopera({
          pageNum: 1,
          pageSize: 1000,
          opdesc: name,
        }).then((res) => {
          this.baseoperaList = res.rows;
        });
      }
    },
@@ -1556,6 +1671,9 @@
          item.deptName = item.dept;
          item.admindate = item.inhosptime;
          item.sfzh = item.idcardno;
          if (this.patientqueryParams.allhosp == 6) {
            item.patfrom = 1;
          }
          this.overallCase.push(item);
          this.form.patTaskRelevances.push(item);
        }
@@ -1693,7 +1811,7 @@
        templatename: "",
        templateid: null,
        libtemplateid: null,
        kcb: "亲爱的患者/家属,您好!我们是浙中医大二院的医护人员,为了更好地了解您的康复情况,请您抽一点宝贵时间,完成这份随访问卷。",
        kcb: "亲爱的患者/家属,您好!我们是景宁人民医院的医护人员,为了更好地了解您的康复情况,请您抽一点宝贵时间,完成这份随访问卷。",
        jsy: "请您注意休息和营养,生活上要劳逸结合,适当锻炼,戒烟限酒,保持心情舒畅,定期复诊。那本次回访就到这里,祝您身体健康!",
      };
@@ -1963,7 +2081,7 @@
          "功能提示",
          {
            confirmButtonText: "保存任务",
            cancelButtonText: "取消",
            cancelButtonText: "暂存模板",
            type: "warning",
          }
        )
@@ -1972,12 +2090,28 @@
              this.objyl.suitway = this.objyl.suitway.join(",");
            }
            this.objyl.templateid = this.objyl.svyid;
            this.form.libtemplateid = this.objyl.svyid;
            this.objyl.isoperation = 1;
            this.objyl.svyTaskTemplateScriptVOS = this.objyl.svyTemplateLibScripts;
            this.form.svyTaskTemplateVO=this.objyl;
            this.objyl.svyTaskTemplateScriptVOS =
              this.objyl.svyTemplateLibScripts;
            this.form.svyTaskTemplateVO = this.objyl;
            this.submitForm();
          })
          .catch(() => {});
          .catch(() => {
            if (Array.isArray(this.objyl.suitway)) {
              this.objyl.suitway = this.objyl.suitway.join(",");
            }
            this.objyl.templateid = this.objyl.svyid;
            this.form.libtemplateid = this.objyl.svyid;
            this.objyl.isoperation = 1;
            this.objyl.svyTaskTemplateScriptVOS =
              this.objyl.svyTemplateLibScripts;
            this.form.svyTaskTemplateVO = this.objyl;
            this.form.templatename = this.objyl.svyname;
            this.$modal.msgSuccess("暂存成功保存任务后模板失效");
            this.drawermb = false;
            this.previewtf = false;
          });
      } else {
        setTimeout(() => {
          this.previewFn();