WXL (wul)
2 天以前 d3c60e18b95b50751f8088fa2d23cd8ff7f173bc
src/views/patient/propaganda/QuestionnaireTask.vue
@@ -370,27 +370,103 @@
                  </el-row>
                </el-row>
                <el-row v-if="form.appltype == 4">
                  <el-col :span="20"
                    ><el-form-item label="适用手术" prop="region">
                      <el-select
                        v-model="form.oplevelcode"
                        style="width: 400px"
                        @remove-tag="removeopera"
                        size="medium"
                        :remote-method="remoteopcode"
                        filterable
                        remote
                        placeholder="请选择手术"
                  <el-form-item label="适用手术" prop="region">
                    <el-select
                      v-model="form.oplevelcode"
                      style="width: 400px"
                      @remove-tag="removeopera"
                      size="medium"
                      :remote-method="remoteopcode"
                      filterable
                      remote
                      placeholder="请选择手术"
                    >
                      <el-option
                        class="ruleFormaa"
                        v-for="item in baseoperaList"
                        :label="item.label"
                        :value="item.value"
                      >
                        <el-option
                          class="ruleFormaa"
                          v-for="item in baseoperaList"
                          :label="item.label"
                          :value="item.value"
                      </el-option>
                    </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>
                      </el-select> </el-form-item
                  ></el-col>
                          <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"
@@ -1097,8 +1173,8 @@
      // 时间处理
      daytime: [], //日期
      applydaytime: [], //计算日期
      diseaseDept: null, // 疾病关联下的科室(存储整个对象)
      diseaseWard: null, // 疾病关联下的病区(存储整个对象)
      diseaseDept: null, // 疾病或手术关联下的科室(存储整个对象)
      diseaseWard: null, // 疾病或手术关联下的病区(存储整个对象)
      diseaseDepts: "",
      diseaseWards: "",
      time1: "", //上午时间段
@@ -1551,12 +1627,12 @@
        }
        // 校验:疾病关联科室或病区
        if (this.form.appltype == 3) {
        if (this.form.appltype == 3 || this.form.appltype == 4) {
          const hasDept = this.diseaseDept?.deptCode;
          const hasWard = this.diseaseWard?.districtCode;
          if (!hasDept && !hasWard) {
            this.$modal.msgError("当前疾病需关联科室或病区");
            this.$modal.msgError("需关联科室或病区");
            this.submitLoading = false;
            return;
          }