yxh
3 小时以前 c75027743ea7c3ecc2d0885f01d11d2ad78679a3
src/views/project/donatebaseinfo/index.vue
@@ -3,16 +3,17 @@
    <el-form
      :model="queryParams"
      ref="queryForm"
      class="opo-query-form"
      :inline="true"
      v-show="showSearch"
      label-width="70px"
    >
      <el-row :gutter="8">
        <el-col :span="5">
          <el-form-item label="姓名" prop="name">
          <el-form-item label="捐献者" prop="name">
            <el-input
              v-model="queryParams.name"
              placeholder="请输入姓名"
              placeholder="请输入捐献者姓名"
              clearable
              size="small"
              @keyup.enter.native="handleQuery"
@@ -46,24 +47,25 @@
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="9">
          <el-form-item label="案例时间">
            <el-date-picker
              style="width: 100%"
              v-model="selecttime"
              type="monthrange"
              range-separator="至"
              start-placeholder="开始月份"
              end-placeholder="结束月份"
              value-format="yyyy-MM-dd"
              @change="getTimeList"
       <el-col :span="6">
          <el-form-item label="报告人">
            <el-select
              v-model="queryParams.reporterno"
              placeholder="请选择报告人"
            >
            </el-date-picker>
              <el-option
                v-for="item in reportlist"
                :key="item.index"
                :label="item.reportername"
                :value="item.reporterno"
              >
              </el-option>
            </el-select>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="8">
        <el-col :span="5">
        <el-col :span="6">
          <el-form-item label="捐献进度" prop="workflow">
            <el-select
              v-model="queryParams.workflow"
@@ -80,23 +82,23 @@
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="5">
          <el-form-item label="报告人">
            <el-select
              v-model="queryParams.reporterno"
              placeholder="请选择报告人"
         <el-col :span="9">
          <el-form-item label="案例时间">
            <el-date-picker
              style="width: 100%"
              v-model="selecttime"
              type="monthrange"
              range-separator="至"
              start-placeholder="开始月份"
              end-placeholder="结束月份"
              value-format="yyyy-MM-dd"
              @change="getTimeList"
            >
              <el-option
                v-for="item in reportlist"
                :key="item.index"
                :label="item.reportername"
                :value="item.reporterno"
              >
              </el-option>
            </el-select>
            </el-date-picker>
          </el-form-item>
        </el-col>
        <el-col :span="5">
        <el-col :span="6">
          <el-form-item label="是否终止">
            <el-select
              v-model="queryParams.terminationCase"
@@ -112,19 +114,8 @@
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="9">
          <el-form-item label="籍贯">
            <div>
              <li_area_select
                ref="areaSelect"
                v-model="searchAddress"
              ></li_area_select>
            </div>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="4">
        <!-- 搜索/重置紧跟查询条件(与"案例评估"页一致) -->
        <el-col :span="6">
          <el-form-item>
            <el-button
              type="primary"
@@ -206,7 +197,7 @@
        label="捐献编号"
        align="center"
        prop="donorno"
        width="200"
        width="100"
      />
      <el-table-column label="姓名" align="center" prop="name" width="100" />
      <el-table-column label="性别" align="center" prop="sex" width="100">
@@ -233,9 +224,9 @@
      <el-table-column
        label="医疗机构"
        align="center"
        prop="treatmenthospitalname"
        prop="treatmenthospitalname" width="220"
      />
      <el-table-column label="血型" align="center" prop="bloodtype" width="100">
      <el-table-column label="血型" align="center" prop="bloodtype" width="80">
        <template slot-scope="scope">
          <dict-tag
            :options="dict.type.sys_BloodType"
@@ -263,7 +254,7 @@
        prop="reportername"
        width="100"
      />
      <!--
         <el-table-column
        label="现所在地市"
        align="center"
@@ -283,7 +274,7 @@
          />
        </template>
      </el-table-column>
      -->
      <el-table-column
        label="捐献进度"
        align="center"
@@ -304,7 +295,7 @@
        label="操作"
        align="center"
        class-name="small-padding fixed-width"
        fixed="right"
        fixed="right" width="200"
      >
        <template slot-scope="scope">
          <el-button
@@ -518,6 +509,47 @@
              </el-form-item>
            </el-col>
          </el-row>
                    <el-row>
            <el-col :span="12">
              <el-form-item
                label="所在医疗机构"
                prop="currentMedicalInstitution"
              >
                <el-input
                  v-model="form.currentMedicalInstitution"
                  placeholder="请输入"
                />
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item
                label-width="150px"
                label="所在医疗机构科室"
                prop="currentDept"
              >
                <el-input v-model="form.currentDept" placeholder="请输入" />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item label="首次医疗机构" prop="firstMedicalInstitution">
                <el-input
                  v-model="form.firstMedicalInstitution"
                  placeholder="请输入"
                />
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item
                label-width="150px"
                label="首次医疗机构科室"
                prop="firstDept"
              >
                <el-input v-model="form.firstDept" placeholder="请输入" />
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item label="住址" prop="residenceaddress">
@@ -686,6 +718,21 @@
                margin-top: 20px;
              "
        >
         <el-row>
            <el-col :span="24">
              <el-form-item align="left" label="本人意愿 ">
                <el-checkbox-group v-model="form.selfwill">
                  <el-checkbox
                    v-for="dict in dict.type.sys_SelfWill"
                    :key="dict.value"
                    :label="dict.value"
                  >
                    {{ dict.label }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <div display="flex">
              <el-row>
@@ -718,21 +765,7 @@
              </el-row>
            </div>
          </el-row>
          <el-row>
            <el-col :span="24">
              <el-form-item align="left" label="本人意愿 ">
                <el-checkbox-group v-model="form.selfwill">
                  <el-checkbox
                    v-for="dict in dict.type.sys_SelfWill"
                    :key="dict.value"
                    :label="dict.value"
                  >
                    {{ dict.label }}
                  </el-checkbox>
                </el-checkbox-group>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="12">
              <el-form-item label="主要亲属" prop="majorrelatives">
@@ -821,7 +854,7 @@
                  size="small"
                  style="width: 190px"
                  v-model="form.contacttime"
                  type="datetime"
                  type="datetime" format="yyyy-MM-dd HH:mm"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择报告时间"
                >
@@ -878,7 +911,7 @@
                  size="small"
                  style="width: 190px"
                  v-model="form.reporttime"
                  type="datetime"
                  type="datetime" format="yyyy-MM-dd HH:mm"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  placeholder="选择报告时间"
                >
@@ -1140,9 +1173,24 @@
      users: [],
      // 表单校验
      rules: {
     rules: {
        name: [
          { required: true, message: "请输入捐献者姓名", trigger: "blur" }
        ],
        nationality: [
          { required: true, message: "请输入国籍", trigger: "blur" }
        ],
        currentMedicalInstitution: [
          { required: true, message: "请输入所在医疗机构", trigger: "blur" }
        ],
        currentDept: [
          { required: true, message: "所在医疗机构科室", trigger: "blur" }
        ],
        firstMedicalInstitution: [
          { required: true, message: "请输入首次医疗机构", trigger: "blur" }
        ],
        firstDept: [
          { required: true, message: "请输入首次医疗机构科室", trigger: "blur" }
        ],
        birthday: [
          { required: true, message: "请选择出生日期", trigger: "blur" }
@@ -1153,22 +1201,44 @@
        residenceaddress: [
          { required: true, message: "请输入住址", trigger: "blur" }
        ],
        contacttime: [
          {
            required: true,
            message: "请输入红十字会联系时间",
            trigger: "blur"
          }
        registerAddresss: [
          { required: true, message: "请输入现居住地址", trigger: "blur" }
        ],
        diseasetype: [
          { required: true, message: "请选择疾病类型", trigger: "blur" }
        ],
        infectious: [
          { required: true, message: "请选择传染病类型", trigger: "blur" }
        ],
        patientstate: [
          { required: true, message: "请选择病人状况", trigger: "blur" }
        ],
        kinship: [
          { required: true, message: "请选择亲属情况", trigger: "blur" }
        ],
        majorrelatives: [
          { required: true, message: "请输入主要亲属", trigger: "blur" }
        ],
        selfwill: [
          { required: true, message: "请选择本人意愿", trigger: "blur" }
        ],
        registerAddresss: [
          { required: true, message: "请输入现所在地", trigger: "blur" }
        ],
        familyrelations: [
          { required: true, message: "请选择亲属与捐献者关系", trigger: "blur" }
        ],
        infosources: [
          { required: true, message: "请选择信息来源", trigger: "blur" }
        ],
        idcardno: [
          { required: true, message: "请正确输入证件号码", trigger: "blur" }
        ],
        sex: [{ required: true, message: "性别不能为空", trigger: "blur" }],
        // age: [{ required: true, message: "请输入年龄", trigger: "blur" }],
        age: [{ required: true, message: "请输入年龄", trigger: "blur" }],
        treatmenthospitalno: [
          { required: true, message: "请选择医疗机构", trigger: "blur" }
        ],
        // treatmenthospitalno: [{ required: true, message: "请选择医疗机构", trigger: "change" }],
        bloodtype: [
          { required: true, message: "请选择ABO血型", trigger: "blur" }
        ],
@@ -1180,7 +1250,6 @@
        inpatientno: [
          { required: true, message: "输入住院号", trigger: "blur" }
        ],
        diagnosisname: [
          { required: true, message: "疾病诊断不能为空", trigger: "blur" }
        ],
@@ -1190,17 +1259,6 @@
        infophone: [
          { required: true, message: "请输入信息员联系电话", trigger: "blur" }
        ],
        redorganno: [
          { required: true, message: "请选择红十字会机构", trigger: "blur" }
        ],
        contactperson: [
          {
            required: true,
            message: "红十字会联系人不能为空",
            trigger: "blur"
          }
        ],
        // contactnumber: [{required: true,message: "请输入红十字会联系电话",trigger: "change"}],
        acquisitiontissueno: [
          { required: true, message: "器官获取组织不能为空", trigger: "blur" }
        ],
@@ -1596,19 +1654,16 @@
        this.queryParams.reportno = this.reportervalue;
      }
      if (this.starttime != "") {
        this.queryParams.starttime = this.starttime;
      } else {
        this.queryParams.starttime = "";
      }
      if (this.endtime != "") {
        this.queryParams.endtime = this.endtime;
      } else {
        this.queryParams.endtime = "";
      }
      this.queryParams.residenceprovince = this.$refs.areaSelect.getSheng();
      this.queryParams.residencecity = this.$refs.areaSelect.getShi();
      this.queryParams.residencetown = this.$refs.areaSelect.getQu();
      // 未选择时间范围时必须传 null:传空串会让后端拼出 `donatetime >= ''`,
      // MySQL 严格模式会报 Incorrect DATETIME value: '',导致列表查不出来。
      // request.js 只会拼接非 null/undefined 的参数,所以 null 等于"不带该条件"。
      this.queryParams.starttime = this.starttime || null;
      this.queryParams.endtime = this.endtime || null;
      // 查询条件里的"籍贯"已移除,不再从 areaSelect 组件取值;
      // 置空以清掉可能残留的旧条件(参数为 null 时不会被拼进请求)
      this.queryParams.residenceprovince = null;
      this.queryParams.residencecity = null;
      this.queryParams.residencetown = null;
      console.log(this.queryParams);
      listDonatebaseinfo(this.queryParams).then(response => {
@@ -2019,6 +2074,7 @@
</script>
<style scoped>
/* 查询区行距、页面内边距、工具栏间距已提升为全局规则(.opo-query-form / .app-container),此处不再单独覆盖 */
::v-deep .el-dialog__header {
  padding-top: 40px !important;
  margin: auto !important;