WXL (wul)
5 天以前 70e4d2c33cc2e3af590d1816c0c703da341538cf
src/views/patient/propaganda/particty.vue
@@ -228,7 +228,9 @@
                      <el-option
                        v-for="item in medicalOptions"
                        :key="item.id"
                        :label="item.itemName + ' (' + item.manufacturerName + ')'"
                        :label="
                          item.itemName + ' (' + item.manufacturerName + ')'
                        "
                        :value="item.itemCode"
                      />
                    </el-select>
@@ -377,7 +379,7 @@
                      <el-tag
                        v-for="tag in diagglist"
                        :key="tag.icdcode"
                        @close="removediagg(tag.icd10code)"
                        @close="removediagg(tag)"
                        type="warning"
                        closable
                        :disable-transitions="false"
@@ -710,7 +712,7 @@
                        </div>
                        <el-tag
                          v-for="tag in diagglist"
                          @close="removediagg(tag.icd10code)"
                          @close="removediagg(tag)"
                          type="warning"
                          closable
                          :disable-transitions="false"
@@ -1764,6 +1766,7 @@
        this.form.serviceType == 9 ||
        this.form.serviceType == 11 ||
        this.form.serviceType == 12 ||
        this.form.serviceType == 20 ||
        this.form.serviceType == 10
      ) {
        this.checkboxlist = [
@@ -2189,7 +2192,8 @@
                item.icdname = item.icd10name;
                this.diagglist.push(item);
              } else {
                getillnesslist({ icdname: item.icd10name }).then((res) => {
                getillnesslist({ icdcode: item.icd10code }).then((res) => {
                  item.icdname = res.rows[0].icdname;
                  this.diagglist.push(item);
                });
@@ -2209,7 +2213,7 @@
                ...item,
                itemCode: code,
                itemName: item.itemName || item.medicalName,
                manufacturerName: item.manufacturerName || item.medicalCompany
                manufacturerName: item.manufacturerName || item.medicalCompany,
              });
            });
          }
@@ -2255,43 +2259,51 @@
        });
      }
    },
    removediagg(row) {
    removediagg(tag) {
      // 任务组:本地删除即可,后端保存时统一更新
      if (this.form.appltype == 5) {
        this.diagglist = this.diagglist.filter((item) => item.icd10code != row);
        this.diagglist = this.diagglist.filter((item) => item != tag);
        return;
      }
      // 普通疾病关联:调后端接口逐条删除
      let result = this.diagglist
        .filter((item) => item.icd10code == row)
        .map((item) => item.id);
      if (result.length) {
        taskdiaghospgetsondel(result).then((res) => {
      // 普通疾病关联:判断是否有 id(已保存的记录才有 id)
      if (tag.id) {
        // id 存在,调后端接口删除
        taskdiaghospgetsondel([tag.id]).then((res) => {
          if (res.code) {
            this.diagglist = this.diagglist.filter(
              (item) => item.icd10code != row
            );
            this.diagglist = this.diagglist.filter((item) => item != tag);
            this.$modal.msgSuccess("删除成功");
          }
        });
      } else {
        // id 不存在(未保存的新记录),直接本地删除
        this.diagglist = this.diagglist.filter((item) => item != tag);
        this.$modal.msgSuccess("删除成功");
      }
    },
    remoteopcode(name) {
      // 占位
    },
    remoteSearchMedical(query) {
      if (!query) { this.medicalOptions = []; return; }
      listMedication({ itemName: query, pageNum: 1, pageSize: 20 }).then((res) => {
      if (!query) {
        this.medicalOptions = [];
        return;
      }
      listMedication({ itemName: query, pageNum: 1, pageSize: 20 }).then(
        (res) => {
        this.medicalOptions = res.rows || [];
      });
        }
      );
    },
    removeMedical(code) {
      taskmedicaldel({ itemCode: code, taskid: this.form.taskid }).then((res) => {
      taskmedicaldel({ itemCode: code, taskid: this.form.taskid }).then(
        (res) => {
        if (res.code == 200) {
          this.medicalCodes = this.medicalCodes.filter((c) => c !== code);
          this.$modal.msgSuccess("删除成功");
        }
      });
        }
      );
    },
    // ---------- 患者选择 ----------
@@ -2821,7 +2833,7 @@
          // 将主对象放入 form 提交
        }
        if (this.form.appltype == 5) {
          console.log(this.form,'进入任务组配置');
          console.log(this.form, "进入任务组配置");
          this.form.serviceTaskScheduleVO.icd10codes = this.form.icd10code;
          this.form.serviceTaskScheduleVO.wardCodes =
@@ -2858,7 +2870,9 @@
          );
          this.form.medicalCode = this.medicalCodes.join(",");
          this.form.medicalName = selectedMeds.map((m) => m.itemName).join(",");
          this.form.medicalCompany = selectedMeds.map((m) => m.manufacturerName).join(",");
          this.form.medicalCompany = selectedMeds
            .map((m) => m.manufacturerName)
            .join(",");
        }
        this.form.serviceType = this.serviceType;
@@ -2871,7 +2885,11 @@
          .map((item) => item.icdname)
          .join(",");
        // 疾病/手术/药品关联的科室/病区校验
        if (this.form.appltype == 3 || this.form.appltype == 4 || this.form.appltype == 6) {
        if (
          this.form.appltype == 3 ||
          this.form.appltype == 4 ||
          this.form.appltype == 6
        ) {
          const hasDept = this.diseaseDept?.deptCode;
          const hasWard = this.diseaseWard?.districtCode;
          if (!hasDept && !hasWard) {