su
su1124
2023-12-29 d10c7c728234b5a9098b7bd5bb7a914a14e33c20
src/views/system/tijianall/index.vue
@@ -11,74 +11,145 @@
            :rules="rules"
            :label-position="labelPosition"
            class="demo-form-inline"
            label-width="78px"
            label-width="84px"
          >
            <el-form-item label="姓名" prop="cusName">
              <el-input
                v-model="form.cusName"
                placeholder="请输入姓名"
                style="width: 160px"
              />
            </el-form-item>
            <el-form-item label="证件类型" prop="idType">
              <el-select
                style="width: 160px"
                v-model="form.idType"
                placeholder="请选择证件类型"
              >
                <el-option
                  v-for="dict in dict.type.dict_user_cardtype"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                ></el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="证件号" prop="cusIdcard">
              <el-input
                style="width: 186px"
                v-model="form.cusIdcard"
                placeholder="请输入身份证号"
                @input="inputChange"
              />
              <i
            <el-row>
              <el-col :span="5">
                <el-form-item
                  style="display: flex"
                  label="姓名"
                  prop="cusName"
                  :rules="[
                    {
                      required: true,
                      validator: (rule, value, callback) => {
                        if (!form.cusName) {
                          callback('');
                        } else if (form.cusName) {
                          callback();
                        }
                      },
                      trigger: 'blur',
                    },
                  ]"
                >
                  <el-input v-model="form.cusName" placeholder="请输入姓名" />
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item
                  label="证件类型"
                  prop="idType"
                  style="display: flex"
                >
                  <el-select v-model="form.idType" placeholder="请选择证件类型">
                    <el-option
                      v-for="dict in dict.type.dict_user_cardtype"
                      :key="dict.value"
                      :label="dict.label"
                      :value="dict.value"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="7">
                <el-form-item
                  style="display: flex"
                  label="证件号"
                  prop="cusIdcard"
                  :rules="[
                    {
                      required: true,
                      validator: (rule, value, callback) => {
                        if (!form.cusIdcard) {
                          callback('');
                        } else if (form.cusIdcard) {
                          callback();
                        }
                      },
                      trigger: 'blur',
                    },
                  ]"
                >
                  <span
                    slot="label"
                    style="display: inline-block; border-bottom: 2px solid blue"
                    @click="handleQuery"
                  >
                    证件号
                  </span>
                  <el-input
                    v-model="form.cusIdcard"
                    placeholder="请输入身份证号"
                    @input="inputChange"
                  />
                  <!-- <i
                style="font-size: 17px; margin-left: 3px"
                class="el-icon-search"
                @click="handleQuery"
              ></i>
            </el-form-item>
            <el-form-item label="年龄" prop="age">
              <el-input style="width: 55px" v-model="form.age" />
            </el-form-item>
            <el-form-item prop="ageUnit">
              <el-select
                style="width: 60px"
                v-model="form.ageUnit"
                @change="formchang"
              >
                <el-option
                  v-for="dict in dict.type.dict_ageunit"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                ></el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="性别" prop="cusSex">
              <el-select
                style="width: 160px"
                v-model="form.cusSex"
                placeholder="请选择性别"
                @change="formchang"
              >
                <el-option
                  v-for="dict in dict.type.sys_user_sex"
                  :key="dict.value"
                  :label="dict.label"
                  :value="parseInt(dict.value)"
                ></el-option>
              </el-select>
            </el-form-item>
              ></i> -->
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="5">
                <el-form-item
                  label="民族"
                  prop="cusNational"
                  style="display: flex"
                >
                  <el-select
                    filterable
                    v-model="form.cusNational"
                    placeholder="请选择民族"
                  >
                    <el-option
                      v-for="dict in dict.type.dict_user_national"
                      :key="dict.value"
                      :label="dict.label"
                      :value="dict.value"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="性别" prop="cusSex" style="display: flex">
                  <el-select
                    v-model="form.cusSex"
                    placeholder="请选择性别"
                    @change="formchang"
                  >
                    <el-option
                      v-for="dict in dict.type.sys_user_sex"
                      :key="dict.value"
                      :label="dict.label"
                      :value="parseInt(dict.value)"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="5">
                <el-form-item label="年龄" prop="age" style="display: flex">
                  <el-input v-model="form.age" />
                </el-form-item>
              </el-col>
              <el-col :span="2">
                <el-form-item prop="ageUnit">
                  <el-select
                    v-model="form.ageUnit"
                    @change="formchang"
                    style="width: 80%"
                  >
                    <el-option
                      v-for="dict in dict.type.dict_ageunit"
                      :key="dict.value"
                      :label="dict.label"
                      :value="dict.value"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
            </el-row>
            <!-- <input name="ReadBlockBtn" type="button" size="5px"  @click="readblock" value="读卡" /> -->
            <!-- <el-form-item label="出生日期" prop="cusBrithday">
@@ -86,56 +157,149 @@
                value-format="yyyy-MM-dd" placeholder="请选择出生日期">
              </el-date-picker>
            </el-form-item> -->
            <el-form-item label="联系电话" prop="cusPhone">
              <el-input
                v-model="form.cusPhone"
                placeholder="请输入联系电话"
                style="width: 160px"
              />
            </el-form-item>
            <el-form-item label="民族" prop="cusNational">
              <el-select
                filterable
                v-model="form.cusNational"
                placeholder="请选择民族"
                style="width: 130px"
              >
                <el-option
                  v-for="dict in dict.type.dict_user_national"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                ></el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="邮箱" prop="cusEmail">
              <el-input
                v-model="form.cusEmail"
                placeholder="请输入邮箱"
                style="width: 200px"
              />
            </el-form-item>
            <el-form-item label="婚姻" prop="cusMarryStatus">
              <el-select
                style="width: 160px"
                v-model="form.cusMarryStatus"
                placeholder="请选择婚姻状况"
              >
                <el-option
                  v-for="dict in dict.type.dict_user_marry"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                ></el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="现住址" prop="cusAddr">
              <el-input
                v-model="form.cusAddr"
                placeholder="请输入现居住地址"
                style="width: 440px"
              />
            </el-form-item>
            <el-row>
              <el-col :span="5">
                <el-form-item
                  label="婚姻"
                  prop="cusMarryStatus"
                  style="display: flex"
                >
                  <el-select
                    v-model="form.cusMarryStatus"
                    placeholder="请选择婚姻状况"
                  >
                    <el-option
                      v-for="dict in dict.type.dict_user_marry"
                      :key="dict.value"
                      :label="dict.label"
                      :value="dict.value"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item
                  label="体检类别"
                  prop="category"
                  style="display: flex"
                >
                  <el-select
                    v-model="form.category"
                    placeholder="请选择体检类别"
                  >
                    <el-option
                      v-for="dict in dict.type.dict_tjtype"
                      :key="dict.value"
                      :label="dict.label"
                      :value="dict.value"
                    ></el-option>
                  </el-select>
                  <!-- <el-input v-model="form.category" placeholder="请输入体检类别" /> -->
                </el-form-item>
              </el-col>
              <el-col :span="7">
                <el-form-item
                  style="display: flex"
                  label="联系电话"
                  prop="cusPhone"
                  :rules="[
                    {
                      required: true,
                      validator: (rule, value, callback) => {
                        if (!form.cusPhone) {
                          callback('');
                        } else if (form.cusPhone) {
                          callback();
                        }
                      },
                      trigger: 'blur',
                    },
                  ]"
                >
                  <el-input
                    v-model="form.cusPhone"
                    placeholder="请输入联系电话"
                  />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="5">
                <el-form-item
                  label="体检类型"
                  prop="tjType"
                  style="display: flex"
                >
                  <el-select v-model="form.tjType" placeholder="请选择体检类型">
                    <el-option
                      v-for="dict in dict.type.dict_team"
                      :key="dict.value"
                      :label="dict.label"
                      :value="parseInt(dict.value)"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item label="职业" prop="career" style="display: flex">
                  <el-select
                    filterable
                    :disabled="isDisabled"
                    v-model="form.career"
                    placeholder="请输入职业"
                  >
                    <el-option
                      v-for="dict in dict.type.dict_job"
                      :key="dict.value"
                      :label="dict.label"
                      :value="dict.value"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="7">
                <el-form-item
                  label="邮箱"
                  prop="cusEmail"
                  style="display: flex"
                >
                  <el-input v-model="form.cusEmail" placeholder="请输入邮箱" />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="5">
                <el-form-item
                  label="现住址"
                  prop="cusAddr"
                  style="display: flex"
                >
                  <el-input
                    v-model="form.cusAddr"
                    placeholder="请输入现居住地址"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item
                  label="工作单位"
                  prop="company"
                  style="display: flex"
                >
                  <el-input
                    v-model="form.company"
                    placeholder="请输入工作单位"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="7">
                <el-form-item label="卡号" prop="indexCard">
                  <el-input v-model="form.indexCard" placeholder="请输入卡号" />
                </el-form-item>
              </el-col>
            </el-row>
            <!-- <el-form-item label="户口地址" prop="cusAddr">
              <el-input v-model="form.cusAddr" placeholder="请输入户口地址" />
            </el-form-item> -->
@@ -149,101 +313,52 @@
            <!-- <el-form-item label="索引卡号" prop="indexCard">
              <el-input v-model="form.indexCard" placeholder="请输入索引卡号" />
            </el-form-item> -->
            <el-form-item label="体检类别" prop="category">
              <el-select
                style="width: 140px"
                v-model="form.category"
                placeholder="请选择体检类别"
              >
                <el-option
                  v-for="dict in dict.type.dict_tjtype"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                ></el-option>
              </el-select>
              <!-- <el-input v-model="form.category" placeholder="请输入体检类别" /> -->
            </el-form-item>
            <el-form-item label="部门" prop="department">
              <el-input
                v-model="form.department"
                placeholder="请输入部门"
                style="width: 160px"
              />
            </el-form-item>
            <el-form-item label="工作单位" prop="company">
              <el-input
                v-model="form.company"
                placeholder="请输入工作单位"
                style="width: 440px"
              />
            </el-form-item>
            <el-form-item label="职业" prop="career">
              <el-select
                filterable
                :disabled="isDisabled"
                v-model="form.career"
                placeholder="请输入职业"
                style="width: 140px"
              >
                <el-option
                  v-for="dict in dict.type.dict_job"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                ></el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="预约日期" prop="reservationTime">
              <el-date-picker
                v-model="form.reservationTime"
                type="date"
                value-format="yyyy-MM-dd"
                placeholder="选择日期"
                :picker-options="setDisabled"
                style="width: 160px"
              >
              </el-date-picker>
            </el-form-item>
            <el-form-item label="时间" prop="timeRegion">
              <el-select
                style="width: 160px"
                v-model="form.timeRegion"
                placeholder="请选择预约时间"
              >
                <el-option
                  v-for="dict in dict.type.tj_time_region"
                  :key="dict.value"
                  :label="dict.label"
                  :value="dict.value"
                ></el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="卡号" prop="indexCard">
              <el-input
                v-model="form.indexCard"
                placeholder="请输入卡号"
                style="width: 190px"
              />
            </el-form-item>
            <el-form-item
              label="体检类型"
              prop="tjType"
              style="margin-right: 20px"
            >
              <el-select
                style="width: 145px"
                v-model="form.tjType"
                placeholder="请选择体检类型"
              >
                <el-option
                  v-for="dict in dict.type.dict_team"
                  :key="dict.value"
                  :label="dict.label"
                  :value="parseInt(dict.value)"
                ></el-option>
              </el-select>
            </el-form-item>
            <el-row>
              <el-col :span="5">
                <el-form-item
                  label="部门"
                  prop="department"
                  style="display: flex"
                >
                  <el-input
                    v-model="form.department"
                    placeholder="请输入部门"
                  />
                </el-form-item>
              </el-col>
              <el-col :span="6">
                <el-form-item
                  label="时间"
                  prop="timeRegion"
                  style="display: flex"
                >
                  <el-select
                    v-model="form.timeRegion"
                    placeholder="请选择预约时间"
                  >
                    <el-option
                      v-for="dict in dict.type.tj_time_region"
                      :key="dict.value"
                      :label="dict.label"
                      :value="dict.value"
                    ></el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="7">
                <el-form-item label="预约日期" prop="reservationTime">
                  <el-date-picker
                    v-model="form.reservationTime"
                    type="date"
                    value-format="yyyy-MM-dd"
                    placeholder="选择日期"
                    :picker-options="setDisabled"
                  >
                  </el-date-picker>
                </el-form-item>
              </el-col>
            </el-row>
          </el-form>
        </div>
      </el-col>
@@ -639,7 +754,7 @@
        ></iframe>
      </div>
    </el-dialog>
     <el-dialog
    <el-dialog
      title="提示"
      :visible.sync="dialogVisiblese"
      width="30%"
@@ -675,7 +790,8 @@
import historyTj from "@/components/historyTj/index";
export default {
  components: {
    VTreeTransfer,historyTj
    VTreeTransfer,
    historyTj,
  },
  dicts: [
    "dict_user_national",
@@ -692,6 +808,17 @@
  name: "Tijian",
  data() {
    let checkPhoneNum = (rule, value, callback) => {
      console.log(value);
      let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/);
      if (value == "" && value == undefined && !value) {
        return callback("");
      } else if (value != undefined && value != "") {
        return callback();
      } else if (!patter.test(value)) {
        return callback("");
      }
    };
    // const isCnNewID = (rule, value, callback) => {
    //   var arrExp = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; //加权因子
    //   var arrValid = [1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2]; //校验码
@@ -862,24 +989,29 @@
      },
      // 表单校验
      rules: {
        cusName: [{ required: true, message: "", trigger: "blur" }],
        cusName: [
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        cusSex: [
          { required: true, message: "", trigger: "change" },
          { required: true, validator: checkPhoneNum, trigger: "change" },
        ],
         category: [
          { required: true, validator: checkPhoneNum, trigger: "change" },
        ],
        cusBrithday: [
          { required: true, message: "", trigger: "blur" },
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        // cusAddr: [
        //   { required: true, message: "现居住地址不能为空", trigger: "blur" },
        // ],
        cusPhone: [
          { required: true, message: "", trigger: "blur" },
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        reservationTime: [
          { required: true, message: "", trigger: "change" },
          { required: true, validator: checkPhoneNum, trigger: "change" },
        ],
        timeRegion: [
          { required: true, message: "", trigger: "blur" },
          { required: true, validator: checkPhoneNum, trigger: "blur" },
        ],
        // cusIdcard: [
        //   { required: true, message: "请输入身份证号", trigger: "blur" },
@@ -890,10 +1022,10 @@
        //   },
        // ],
        cusIdcard: [
          { required: true, message: "", trigger: "blur" },
          { required: true, validator: checkPhoneNum, trigger: "blur" },
          {
            pattern: /^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/,
            message: "",
            validator: checkPhoneNum,
            trigger: "blur",
            validator: this.validSjh,
          },
@@ -940,12 +1072,12 @@
          this.form.cusBrithday = birthday;
          this.form.age = age;
        }
        // let cusIdCard = this.form.cusIdcard;
        // getHistryTjOrderByCusIdCard(cusIdCard).then((res) => {
        //   if (res.code == 200) {
            this.table = true;
            this.lishi = true;
        this.table = true;
        this.lishi = true;
        //     this.HistoryList = res.data;
        //   }
        // });
@@ -953,14 +1085,14 @@
        // return this.$message.error("请输入正确的身份证号!");;
      }
    },
    inputChanges(){
    inputChanges() {
      this.$refs.historyTj.getlist();
    },
    cope() {
      let cusIdCard = this.form.cusIdcard;
      getHistryTjOrderProByCusIdCard(cusIdCard).then((res) => {
        this.copeList = res.data;
        if (res.msg !="暂无历史记录") {
        if (res.msg != "暂无历史记录") {
          this.dialogVisiblese = true;
        } else {
          this.$message.warning("暂无历史体检记录!");