WXL (wul)
8 天以前 ffa22cc18c75c0a73a3fd987e2b62fbf55316db2
src/views/patient/propaganda/particty.vue
@@ -389,15 +389,13 @@
                  </el-row>
                </el-row>
                <el-row v-if="form.appltype == 4">
                  <el-col :span="20"
                    ><el-form-item label="适用手术" prop="region">
                  <el-form-item label="适用手术" prop="region">
                      <el-select
                        v-model="operationcodes"
                      v-model="form.oplevelcode"
                        style="width: 400px"
                        @remove-tag="removeopera"
                        :remote-method="remoteopcode"
                        size="medium"
                        multiple
                      :remote-method="remoteopcode"
                        filterable
                        remote
                        placeholder="请选择手术"
@@ -405,13 +403,89 @@
                        <el-option
                          class="ruleFormaa"
                          v-for="item in baseoperaList"
                          :key="item.icdcode"
                          :label="item.icdname"
                          :value="item.icdcode"
                        :label="item.label"
                        :value="item.value"
                        >
                        </el-option>
                      </el-select> </el-form-item
                  ></el-col>
                    </el-select>
                  </el-form-item>
                  <div
                    style="
                      margin-bottom: 20px;
                      padding: 8px 12px;
                      background-color: #f0f9ff;
                      border-left: 4px solid #409eff;
                    "
                  >
                    <p
                      style="
                        margin: 0;
                        color: #606266;
                        font-size: 13px;
                        line-height: 1.4;
                      "
                    >
                      <i
                        class="el-icon-info"
                        style="color: #409eff; margin-right: 6px"
                      ></i>
                      针对同一手术类型在多科室/病区下存在的情况,可选择性配置固定科室/病区
                    </p>
                  </div>
                  <!-- 新增:手术关联下的科室配置(单选) -->
                  <el-row :gutter="20" style="margin-top: 20px">
                    <el-col :span="12">
                      <el-form-item label="关联科室" prop="diseaseDept">
                        <el-select
                          v-model="diseaseDept"
                          style="width: 100%"
                          clearable
                          filterable
                          placeholder="请选择科室(可选)"
                          value-key="deptCode"
                          @change="handleDiseaseDeptChange"
                        >
                          <el-option
                            v-for="item in belongDepts"
                            :key="item.deptCode"
                            :label="item.deptName"
                            :value="item"
                          ></el-option>
                        </el-select>
                        <div v-if="diseaseDept" class="selected-info">
                          已选择: {{ diseaseDept.deptName }} ({{
                            diseaseDept.deptCode
                          }})
                        </div>
                      </el-form-item>
                    </el-col>
                    <el-col :span="12">
                      <el-form-item label="关联病区" prop="diseaseWard">
                        <el-select
                          v-model="diseaseWard"
                          style="width: 100%"
                          clearable
                          filterable
                          placeholder="请选择病区(可选)"
                          value-key="districtCode"
                          @change="handleDiseaseWardChange"
                        >
                          <el-option
                            v-for="item in belongWards"
                            :key="item.districtCode"
                            :label="item.districtName"
                            :value="item"
                          ></el-option>
                        </el-select>
                        <div v-if="diseaseWard" class="selected-info">
                          已选择: {{ diseaseWard.districtName }} ({{
                            diseaseWard.districtCode
                          }})
                        </div>
                      </el-form-item>
                    </el-col>
                  </el-row>
                </el-row>
                <el-row>
                  <el-col :span="12"
@@ -1039,7 +1113,10 @@
      questionList: [],
      skip: false,
      donorchargeList: [],
      baseoperaList: [],
      baseoperaList: [ { value: "1", label: "一级手术" },
        { value: "2", label: "二级手术" },
        { value: "3", label: "三级手术" },
        { value: "4", label: "四级手术" },],
      selectedOrder: [],
      diseaseDept: null, // 疾病关联下的科室(存储整个对象)
      diseaseWard: null, // 疾病关联下的病区(存储整个对象)
@@ -1588,7 +1665,7 @@
        }
        // 2. 疾病关联科室或病区校验
        if (this.form.appltype == 3) {
        if (this.form.appltype == 3 || this.form.appltype == 4) {
          const hasDept = this.diseaseDept?.deptCode;
          const hasWard = this.diseaseWard?.districtCode;
@@ -2204,24 +2281,24 @@
      }).then((row) => {
        this.donorchargeList = res.rows;
      });
      getbaseopera({
        pageNum: 1,
        pageSize: 1000,
      }).then((row) => {
        this.baseoperaList = res.rows;
      });
      // getbaseopera({
      //   pageNum: 1,
      //   pageSize: 1000,
      // }).then((row) => {
      //   this.baseoperaList = res.rows;
      // });
    },
    // 手术查询
    remoteopcode(name) {
      if (name) {
        getbaseopera({
          pageNum: 1,
          pageSize: 1000,
          opdesc: name,
        }).then((res) => {
          this.baseoperaList = res.rows;
        });
      }
      // if (name) {
      //   getbaseopera({
      //     pageNum: 1,
      //     pageSize: 1000,
      //     opdesc: name,
      //   }).then((res) => {
      //     this.baseoperaList = res.rows;
      //   });
      // }
    },
    // 任务科室删除触发