WXL
2025-03-03 bcf3cae47b1d6d5bde273d1006719751d615769f
src/views/patient/propaganda/particty.vue
@@ -214,7 +214,15 @@
                    </div>
                  </div>
                </el-form-item>
                <el-row>
                <el-form-item label="任务关联" prop="longTask">
                  <el-radio-group v-model="form.appltype">
                    <el-radio :label="1">科室关联</el-radio>
                    <el-radio :label="2">病区关联</el-radio>
                    <el-radio :label="3">疾病关联</el-radio>
                    <el-radio :label="4">手术关联</el-radio>
                  </el-radio-group>
                </el-form-item>
                <el-row v-if="form.appltype == 1">
                  <el-col :span="20"
                    ><el-form-item label="适用科室" prop="region">
                      <el-select
@@ -222,8 +230,8 @@
                        @remove-tag="removetag"
                        style="width: 400px"
                        size="medium"
                        filterable
                        multiple
                        filterable
                        placeholder="请选择科室"
                      >
                        <el-option
@@ -237,7 +245,7 @@
                      </el-select> </el-form-item
                  ></el-col>
                </el-row>
                <el-row>
                <el-row v-if="form.appltype == 2">
                  <el-col :span="20"
                    ><el-form-item label="适用病区" prop="region">
                      <el-select
@@ -245,8 +253,8 @@
                        style="width: 400px"
                        @remove-tag="removehpsp"
                        size="medium"
                        filterable
                        multiple
                        filterable
                        placeholder="请选择病区"
                      >
                        <el-option
@@ -255,6 +263,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 == 3">
                  <el-col :span="20"
                    ><el-form-item label="适用疾病" prop="region">
                      <el-select
                        v-model="illnesscodes"
                        style="width: 400px"
                        @remove-tag="removediagg"
                        :remote-method="remotedonor"
                        size="medium"
                        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 == 4">
                  <el-col :span="20"
                    ><el-form-item label="适用手术" prop="region">
                      <el-select
                        v-model="operationcodes"
                        style="width: 400px"
                        @remove-tag="removeopera"
                        :remote-method="remoteopcode"
                        size="medium"
                        multiple
                        filterable
                        remote
                        placeholder="请选择手术"
                      >
                        <el-option
                          class="ruleFormaa"
                          v-for="item in baseoperaList"
                          :key="item.icdcode"
                          :label="item.icdname"
                          :value="item.icdcode"
                        >
                        </el-option>
                      </el-select> </el-form-item
@@ -808,7 +866,8 @@
import store from "@/store";
import {
  getTaskpatient,
  getlibrarylist,
  getillnesslist,
  getbaseopera,
  getFollowuplist,
  getvFollowup,
  Taskparticty,
@@ -821,7 +880,8 @@
  getFollowupclassify,
  taskdepthospgetsonlist,
  taskdepthospgetsondel,
  depthospgetsonlist,
  taskoperhospgetsondel,
  taskdiaghospgetsondel,
} from "@/api/AiCentre/index";
import { deptTreeSelect } from "@/api/system/user";
import { MessageBox } from "element-ui";
@@ -856,11 +916,15 @@
      dialogVisiblepatient: false, //添加患者弹框
      deptcodesWards: [], //科室数据
      leavehospitaldistrictcodes: [], //病区数据
      operationcodes: [], //手术数据
      illnesscodes: [], //疾病数据
      radio: 1,
      checkboxlist: [],
      tableLabel: [],
      questionList: [],
      skip: false,
      donorchargeList: [],
      baseoperaList: [],
      usable: [
        { value: "0", label: "可用" },
        { value: "1", label: "停用" },
@@ -1044,6 +1108,10 @@
          value: "3",
          label: "体检病人",
        },
        {
          value: "5",
          label: "手术病人",
        },
      ],
      source: [
        {
@@ -1082,26 +1150,20 @@
          label: "体检随访",
        },
        {
          value: 6,
          label: "满意度调查",
        },
        {
          value: 7,
          label: "患者报告",
          value: 11,
          label: "医技随访",
        },
        {
          value: 10,
          label: "专病随访",
        },
        {
          value: 8,
          label: "其他通知",
          label: "专科随访",
        },
      ],
      // 科室/病区
      belongWards: [],
      deptlist: [],
      hosplist: [],
      diagglist: [],
      operlist: [],
      tempDetpRelevanceslist: [], //科室数据
      tempDetpRelevanceslistform: [], //科室数据
      tempbelongWards: [], //病区数据
@@ -1151,6 +1213,7 @@
    this.serviceType = Number(this.$route.query.serviceType);
    this.form.serviceType = Number(this.$route.query.serviceType);
    this.Acquisitiontype();
    this.getillnesslist();
    this.Getdetails();
    this.getFollowupclassify();
  },
@@ -1267,7 +1330,7 @@
          //   label: "智能机器人",
          // },
        ];
      } else if (this.form.serviceType == 7 || this.form.serviceType == 5) {
      } else if (this.form.serviceType == 7 || this.form.serviceType == 5|| this.form.serviceType == 10|| this.form.serviceType == 11) {
        this.checkboxlist = [
          {
            value: "1",
@@ -1292,6 +1355,10 @@
          {
            value: "6",
            label: "微信小程序",
          },
          {
            value: "7",
            label: "术后随访",
          },
        ];
      } else if (this.form.serviceType == 2 || this.form.serviceType == 3) {
@@ -1351,7 +1418,23 @@
          xh: 1,
        },
      ];
      if (this.form.appltype == 1) {
        this.leavehospitaldistrictcodes=[];
        this.operationcodes=[];
        this.illnesscodes=[];
      } else if (this.form.appltype == 2) {
        this.deptcodesWards=[];
        this.operationcodes=[];
        this.illnesscodes=[];
      } else if (this.form.appltype == 3) {
        this.deptcodesWards=[];
        this.leavehospitaldistrictcodes=[];
        this.operationcodes=[];
      } else if (this.form.appltype == 4) {
        this.deptcodesWards=[];
        this.illnesscodes=[];
        this.leavehospitaldistrictcodes=[];
      }
      if (this.checkList) {
        this.form.preachform = this.checkList;
      } else {
@@ -1359,7 +1442,12 @@
        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;
@@ -1399,6 +1487,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) {
          if (this.form.taskid) {
@@ -1607,6 +1697,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);
        }
@@ -1753,7 +1846,6 @@
          } else {
            this.$modal.msgError(res.code);
          }
          if (this.newadd) {
            this.neWaddfn();
          }
@@ -1794,6 +1886,62 @@
          });
        }
      });
      taskdiaggetlist(this.queryParamsdept).then((res) => {
        if (res.code == 200) {
          let arr = res.rows;
          arr.forEach((item) => {
            this.diagglist.push(item);
            this.illnesscodes.push(item.icd10code);
          });
        }
      });
      taskopergetlist(this.queryParamsdept).then((res) => {
        if (res.code == 200) {
          let arr = res.rows;
          arr.forEach((item) => {
            this.operlist.push(item);
            this.operationcodes.push(item.opcode);
          });
        }
      });
    },
    getillnesslist() {
      getillnesslist({
        pageNum: 1,
        pageSize: 1000,
      }).then((row) => {
        this.donorchargeList = res.rows;
      });
      getbaseopera({
        pageNum: 1,
        pageSize: 1000,
      }).then((row) => {
        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;
        });
      }
    },
    // 任务科室删除触发
    removetag(row) {
@@ -1804,6 +1952,7 @@
      if (result.length) {
        taskdepthospgetsondel(result).then((res) => {
          if (res.code) {
            this.$modal.msgSuccess("删除成功");
          }
        });
      }
@@ -1816,6 +1965,33 @@
      if (result.length) {
        taskdepthospgetsondel(result).then((res) => {
          if (res.code) {
            this.$modal.msgSuccess("删除成功");
          }
        });
      }
    },
    // 手术删除触发
    removeopera(row) {
      let result = this.operlist
        .filter((item) => item.opcode == row)
        .map((item) => item.id);
      if (result.length) {
        taskoperhospgetsondel(result).then((res) => {
          if (res.code) {
            this.$modal.msgSuccess("删除成功");
          }
        });
      }
    },
    // 疾病删除触发
    removediagg(row) {
      let result = this.diagglist
        .filter((item) => item.icd10code == row)
        .map((item) => item.id);
      if (result.length) {
        taskdiaghospgetsondel(result).then((res) => {
          if (res.code) {
            this.$modal.msgSuccess("删除成功");
          }
        });
      }
@@ -2015,7 +2191,7 @@
          "功能提示",
          {
            confirmButtonText: "保存任务",
            cancelButtonText: "取消",
            cancelButtonText: "暂存模板",
            type: "warning",
          }
        )
@@ -2025,11 +2201,34 @@
            }
            this.objyl.templateid = this.objyl.id;
            this.objyl.isoperation = 1;
            this.objyl.ivrLibaTemplateScriptVOList.forEach((item) => {
              item.ivrTaskScriptTargetoptionList =
                item.ivrLibaScriptTargetoptionList;
            });
            this.objyl.ivrTaskTemplateScriptVOList =
              this.objyl.ivrLibaTemplateScriptVOList;
            this.form.ivrTaskTemplateVO = this.objyl;
            this.submitForm();
          })
          .catch(() => {});
          .catch(() => {
            if (Array.isArray(this.objyl.suitway)) {
              this.objyl.suitway = this.objyl.suitway.join(",");
            }
            this.objyl.templateid = this.objyl.id;
            this.objyl.isoperation = 1;
            this.objyl.ivrLibaTemplateScriptVOList.forEach((item) => {
              item.ivrTaskScriptTargetoptionList =
                item.ivrLibaScriptTargetoptionList;
            });
            this.objyl.ivrTaskTemplateScriptVOList =
              this.objyl.ivrLibaTemplateScriptVOList;
            this.form.ivrTaskTemplateVO = this.objyl;
            this.form.templatename = this.objyl.templateName;
            this.$modal.msgSuccess("暂存成功保存任务后模板失效");
            this.drawermb = false;
            this.previewtf = false;
          });
      } else {
        setTimeout(() => {
          this.previewFn();