WXL
2025-03-03 ee1d4af7e569a723afc88ab8ac1939cb2667b072
src/views/patient/propaganda/QuestionnaireTask.vue
@@ -251,12 +251,12 @@
                  ></el-col>
                </el-row>
                <el-row v-if="form.appltype == 3">
                  <el-col :span="20"
                  <!-- <el-col :span="20"
                    ><el-form-item label="适用疾病" prop="region">
                      <el-select
                        v-model="illnesscodes"
                        style="width: 400px"
                        @remove-tag="removehpsp"
                        @remove-tag="removediagg"
                        size="medium"
                        :remote-method="remotedonor"
                        multiple
@@ -273,7 +273,39 @@
                        >
                        </el-option>
                      </el-select> </el-form-item
                  ></el-col>
                  ></el-col> -->
                  <div class="xinz-infs">
                    <el-form-item>
                      <template #label>
                        <el-tooltip
                          class="item"
                          effect="light"
                          content="选择好适用疾病后,可以方便您通过疾病诊断查找到对应的病人!"
                          placement="top-start"
                        >
                          <i class="el-icon-warning-outline"></i>
                        </el-tooltip>
                      </template>
                      <div style="margin-bottom: 10px">
                        <el-button
                          type="warning"
                          @click="$refs.child.handleAddpatient()"
                          >添加疾病诊断</el-button
                        >
                      </div>
                      <el-tag
                        v-for="tag in diagglist"
                        :key="tag.icdcode"
                        @close="removediagg(tag.icd10code)"
                        type="warning"
                        closable
                        :disable-transitions="false"
                      >
                        {{ tag.icdname }}
                      </el-tag>
                      <!-- <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> -->
                    </el-form-item>
                  </div>
                </el-row>
                <el-row v-if="form.appltype == 4">
                  <el-col :span="20"
@@ -645,31 +677,6 @@
                </div>
              </el-form-item>
              <div class="xinz-infs">
                <el-form-item>
                  <template #label>
                    适用疾病
                    <el-tooltip
                      class="item"
                      effect="light"
                      content="选择好适用疾病后,可以方便您通过疾病诊断查找到对应的病人!"
                      placement="top-start"
                    >
                      <i class="el-icon-warning-outline"></i>
                    </el-tooltip>
                  </template>
                  <el-tag
                    v-for="tag in illnesslist"
                    :key="tag.icdid"
                    type="warning"
                    :disable-transitions="false"
                  >
                    {{ tag.icdname }}
                  </el-tag>
                  <!-- <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> -->
                </el-form-item>
              </div>
              <el-form-item label="问卷描述" prop="description">
                <el-input
                  type="textarea"
@@ -836,6 +843,13 @@
        </div>
      </div>
    </el-drawer>
    <Optional-Form
      ref="child"
      :dialogVisiblepatient="dialogVisiblepatientjb"
      :overallCase="diagglist"
      @addoption="dialogVisiblepatientjb = false"
      @kkoption="dialogVisiblepatientjb = true"
    />
  </div>
</template>
@@ -864,7 +878,7 @@
  taskdiaggetlist,
  taskopergetlist,
} from "@/api/AiCentre/index";
import OptionalForm from "@/components/OptionalForm"; //正则组件
import SFtable from "@/components/SFtable"; //表格组件
import { MessageBox } from "element-ui";
@@ -892,6 +906,7 @@
      loading: false, // 遮罩层
      patientloading: false, // 遮罩层
      dialogVisiblepatient: false, //添加患者弹框
      dialogVisiblepatientjb: false, //添加疾病弹框
      deptcodesWards: [], //科室数据
      leavehospitaldistrictcodes: [], //病区数据
      operationcodes: [], //手术数据
@@ -1081,6 +1096,10 @@
          value: "6",
          label: "院外患者",
        },
        {
          value: "5",
          label: "手术病人",
        },
      ],
      source: [
        {
@@ -1131,6 +1150,8 @@
      belongWards: [],
      deptlist: [],
      hosplist: [],
      diagglist: [],
      operlist: [],
      tempDetpRelevanceslist: [], //科室数据
      tempDetpRelevanceslistform: [], //科室数据
      tempbelongWards: [], //病区数据
@@ -1162,7 +1183,7 @@
      serviceType: null,
    };
  },
  components: { SFtable },
  components: { SFtable, OptionalForm },
  created() {
    this.appraiselist = store.getters.appraiselist;
@@ -1187,13 +1208,21 @@
      this.getQtemplateclassify();
    }
  },
  computed: {
    displayedTags() {
      // 返回前10个tag
      return this.illnesslist.slice(0, 10);
    },
    hasMore() {
      // 判断是否有更多的tag
      return this.illnesslist.length > 10;
    },
    remaining() {
      // 计算剩余的tag数量
      return this.illnesslist.length - 10;
    },
  },
  methods: {
    // {
    //   姓名: { "${name}": "龙傲天" },
    //   地址: { "${dzz}": "龙宫" },
    //   电话: { "${dhh}": "八个八" },
    // }
    // 变量转换对象转数组
    convertFormat1ToFormat2(data) {
      let result = [];
@@ -1272,7 +1301,12 @@
          //   label: "智能机器人",
          // },
        ];
      } else if (this.form.serviceType == 7 || this.form.serviceType == 9) {
      } else if (
        this.form.serviceType == 7 ||
        this.form.serviceType == 10 ||
        this.form.serviceType == 11 ||
        this.form.serviceType == 9
      ) {
        this.checkboxlist = [
          {
            value: "1",
@@ -1297,6 +1331,10 @@
          {
            value: "6",
            label: "微信小程序",
          },
          {
            value: "7",
            label: "术后随访",
          },
        ];
      } else if (
@@ -1389,7 +1427,7 @@
      if (
        this.deptcodesWards[0] ||
        this.leavehospitaldistrictcodes[0] ||
        this.illnesscodes[0] ||
        this.diagglist[0] ||
        this.operationcodes[0]
      ) {
      } else {
@@ -1433,8 +1471,9 @@
      this.form.leavehospitaldistrictcode =
        this.leavehospitaldistrictcodes.join(",");
      this.form.opcode = this.operationcodes.join(",");
      this.form.icd10code = this.illnesscodes.join(",");
      this.form.icd10code = this.diagglist
        .map((item) => item.icdcode)
        .join(",");
      Editsingletask(this.form).then((res) => {
        if (res.code == 200) {
          if (this.form.taskid) {
@@ -1906,8 +1945,13 @@
        if (res.code == 200) {
          let arr = res.rows;
          arr.forEach((item) => {
            this.hosplist.push(item);
            this.illnesscodes.push(item.icdcode);
            getillnesslist({
              icdcode: item.icd10code,
            }).then((res) => {
              item.icdname = res.rows[0].icdname;
            this.diagglist.push(item);
            });
            this.illnesscodes.push(item.icd10code);
          });
        }
      });
@@ -1915,7 +1959,7 @@
        if (res.code == 200) {
          let arr = res.rows;
          arr.forEach((item) => {
            this.hosplist.push(item);
            this.operlist.push(item);
            this.operationcodes.push(item.opcode);
          });
        }
@@ -1930,46 +1974,47 @@
      if (result.length) {
        taskdepthospgetsondel(result).then((res) => {
          if (res.code) {
            this.$modal.msgSuccess("删除成功");
          }
        });
      }
    },
    // 院区删除删除触发
    removehpsp(row) {
      console.log(this.hosplist, "hhh");
      let result = this.hosplist
        .filter((item) => item.deptCode == row)
        .map((item) => item.id);
      console.log(result);
      if (result.length) {
        taskdepthospgetsondel(result).then((res) => {
          if (res.code) {
            this.$modal.msgSuccess("删除成功");
          }
        });
      }
    },
    // 手术删除触发
    removeopera(row) {
      let result = this.hosplist
        .filter((item) => item.deptCode == 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("删除成功");
          }
        });
      }
    },
    // 疾病删除触发
    removeopera(row) {
      let result = this.hosplist
        .filter((item) => item.deptCode == row)
    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.diagglist=this.diagglist.filter(item => item.icd10code != row);
            this.$modal.msgSuccess("删除成功");
          }
        });
      }