yahyahy 3 лет назад
Родитель
Сommit
a926b9cd82
3 измененных файлов с 195 добавлено и 90 удалено
  1. 9 0
      src/api/system/time.js
  2. 2 2
      src/settings.js
  3. 184 88
      src/views/system/time/index.vue

+ 9 - 0
src/api/system/time.js

@@ -60,3 +60,12 @@ export function exportInfo(query) {
     data: query
   })
 }
+
+// 查询身份证信息
+export function idces(query) {
+  return request({
+    url: '/boman-web-core/core/info/findHjInfo',
+    method: 'post',
+    data: query
+  })
+}

+ 2 - 2
src/settings.js

@@ -1,8 +1,8 @@
 module.exports = {
   title: '潜山市云数据中心',
   // urls: `http://118.178.139.79:7090`,
-  urls: `http://192.168.101.11:8090`,
-   // urls: `http://192.168.101.243:8090`,
+  // urls: `http://192.168.101.11:8090`,
+   urls: `http://192.168.101.49:8090`,
 
   /**
    * 侧边栏主题 深色主题theme-dark,浅色主题theme-light

+ 184 - 88
src/views/system/time/index.vue

@@ -10,89 +10,126 @@
 			>
 				<area-select type='text' v-model='selectedtwo' :data='$pcaa' :level='3' style="display: flex;line-height: 18px;" @change="onSelectedtwo"></area-select>
 			</el-form-item> -->
-      <el-form-item label="姓名" prop="userName">
-        <el-input v-model="queryParams.userName" placeholder="请输入姓名" clearable size="small" @keyup.enter.native="handleQuery" />
-      </el-form-item>
-      <el-form-item label="身份证号" prop="idCard">
-        <el-input v-model="queryParams.idCard" placeholder="请输入身份证号码" clearable size="small" @keyup.enter.native="handleQuery" />
-      </el-form-item>
-      <el-form-item label="联系号码" prop="phoneNum">
-        <el-input v-model="queryParams.phoneNum" placeholder="请输入联系号码" clearable size="small" @keyup.enter.native="handleQuery" />
-      </el-form-item>
+			<el-row>
+				<el-col :span="8">
+					<el-form-item label="姓名" prop="userName">
+					  <el-input v-model="queryParams.userName" placeholder="请输入姓名" clearable  @keyup.enter.native="handleQuery" />
+					</el-form-item>
+				</el-col>
+				<el-col :span="8">
+					<el-form-item label="身份证号" prop="idCard">
+					  <el-input v-model="queryParams.idCard" placeholder="请输入身份证号码" clearable  @keyup.enter.native="handleQuery" />
+					</el-form-item>
+				</el-col>
+				<el-col :span="8">
+					<el-form-item label="联系号码" prop="phoneNum">
+					  <el-input v-model="queryParams.phoneNum" placeholder="请输入联系号码" clearable  @keyup.enter.native="handleQuery" />
+					</el-form-item>
+				</el-col>
+				<el-col :span="24">
+					<el-row>
+						<el-col :span="8">
+							<el-form-item label="户籍地" prop="villagerGroup">
+							  <el-cascader placeholder="点击选择户籍地" :options="options" filterable @change="chahetwo" :props="optionProps" style="width: 100%;"></el-cascader>
+							</el-form-item>
+						</el-col>
+						<el-col :span="8">
+							<el-form-item label="接种情况" prop="isVaccination">
+							  <el-input v-model="queryParams.isVaccination" placeholder="请输入接种情况" clearable  @keyup.enter.native="handleQuery" />
+							</el-form-item>
+						</el-col>
+						<el-col :span="8">
+							<el-form-item label="疫苗名称" prop="vaccineName">
+							  <!-- <el-input v-model="queryParams.vaccineName" placeholder="请输入疫苗名称" clearable size="small" @keyup.enter.native="handleQuery" /> -->
+							  <el-select v-model="queryParams.vaccineName" placeholder="疫苗名称" clearable >
+							    <el-option v-for="dict in typeOptionsname" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
+							  </el-select>
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-col>
+				
+				<el-col :span="8">
+					<el-form-item label="剂次" prop="jici">
+					  <el-select v-model="queryParams.jici" placeholder="剂次" clearable >
+					    <el-option v-for="dict in typeOptionstimes" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
+					  </el-select>
+					  <!-- <el-input v-model="queryParams.jici" placeholder="请输入剂次" clearable size="small" @keyup.enter.native="handleQuery" /> -->
+					</el-form-item>
+				</el-col>
+				<el-col :span="8">
+					<el-form-item label="接种时间" prop="vaccinationTime">
+					  <el-date-picker
+					    clearable
+					    v-model="queryParams.vaccinationTime"
+					    type="datetime"
+					    value-format="yyyy-MM-dd HH:mm:ss"
+					    format="yyyy-MM-dd HH:mm:ss"
+					    placeholder="选择接种时间"
+						
+					  ></el-date-picker>
+					</el-form-item>
+				</el-col>
+				<el-col :span="8">
+					<el-form-item label="接种地点" prop="vaccinationPlace">
+					  <!-- <el-input v-model="queryParams.vaccinationPlace" placeholder="请输入接种地点" clearable size="small" @keyup.enter.native="handleQuery" /> -->
+					  <el-select v-model="queryParams.vaccinationPlace" placeholder="接种地点" clearable >
+					    <el-option v-for="dict in typeOptionsvaccinatio" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
+					  </el-select>
+					</el-form-item>
+				</el-col>
+				<el-col :span="24">
+					<el-row>
+						<el-col :span="8">
+							<el-form-item
+							        label="应种未种"
+							        prop="shouldBe"
+							      >
+							        <el-radio-group v-model="queryParams.shouldBe">
+							          <el-radio v-for="dict in typeOptionsty" :key="dict.dictValue" :label="dict.dictValue">{{ dict.dictLabel }}</el-radio>
+							        </el-radio-group>
+							        <!-- <el-input
+												v-model="queryParams.shouldBe"
+												placeholder="请输入应种未种
+							"
+												clearable
+												size="small"
+												@keyup.enter.native="handleQuery"
+											/> -->
+							      </el-form-item>
+						</el-col>
+						<el-col :span="8">
+							<el-form-item label="进度" prop="progress">
+							  <!-- <el-input v-model="queryParams.progress" placeholder="请输入进度" clearable size="small" @keyup.enter.native="handleQuery" /> -->
+							  <el-select v-model="queryParams.progress" placeholder="进度" clearable >
+							    <el-option v-for="dict in statusOptionstue" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
+							  </el-select>
+							</el-form-item>
+						</el-col>
+						<el-col :span="8" style="text-align: center;">
+							<el-form-item>
+							  <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+							  <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+							</el-form-item>
+						</el-col>
+					</el-row>
+				</el-col>
+				
+			</el-row>
+
       <!-- <el-form-item
       	label="现居住地省市区镇"
       	prop="region"
       >
       	<area-select type='text' v-model='selectedtwo' :data='$pcaa' :level='2' style="display: flex;line-height: 18px;" @change="onSelectedtwo"></area-select>
       </el-form-item> -->
-      <el-form-item label="户籍地" prop="villagerGroup">
-        <el-cascader placeholder="点击选择户籍地" :options="options" filterable @change="chahetwo" :props="optionProps" style="width: 100%;"></el-cascader>
-      </el-form-item>
-      <el-form-item label="接种情况" prop="isVaccination">
-        <el-input v-model="queryParams.isVaccination" placeholder="请输入接种情况" clearable size="small" @keyup.enter.native="handleQuery" />
-      </el-form-item>
-      <el-form-item label="疫苗名称" prop="vaccineName">
-        <!-- <el-input v-model="queryParams.vaccineName" placeholder="请输入疫苗名称" clearable size="small" @keyup.enter.native="handleQuery" /> -->
-        <el-select v-model="queryParams.vaccineName" placeholder="疫苗名称" clearable size="small">
-          <el-option v-for="dict in typeOptionsname" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
-        </el-select>
-      </el-form-item>
-      <el-form-item label="剂次" prop="jici">
-        <el-select v-model="queryParams.jici" placeholder="剂次" clearable size="small">
-          <el-option v-for="dict in typeOptionstimes" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
-        </el-select>
-        <!-- <el-input v-model="queryParams.jici" placeholder="请输入剂次" clearable size="small" @keyup.enter.native="handleQuery" /> -->
-      </el-form-item>
-      <el-form-item label="接种时间" prop="vaccinationTime">
-        <el-date-picker
-          clearable
-          size="small"
-          v-model="queryParams.vaccinationTime"
-          type="datetime"
-          value-format="yyyy-MM-dd HH:mm:ss"
-          format="yyyy-MM-dd HH:mm:ss"
-          placeholder="选择接种时间"
-        ></el-date-picker>
-      </el-form-item>
-      <el-form-item label="接种地点" prop="vaccinationPlace">
-        <!-- <el-input v-model="queryParams.vaccinationPlace" placeholder="请输入接种地点" clearable size="small" @keyup.enter.native="handleQuery" /> -->
-        <el-select v-model="queryParams.vaccinationPlace" placeholder="接种地点" clearable size="small">
-          <el-option v-for="dict in typeOptionsvaccinatio" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
-        </el-select>
-      </el-form-item>
-      <el-form-item
-        label="应种未种
-"
-        prop="shouldBe"
-      >
-        <el-radio-group v-model="queryParams.shouldBe">
-          <el-radio v-for="dict in typeOptionsty" :key="dict.dictValue" :label="dict.dictValue">{{ dict.dictLabel }}</el-radio>
-        </el-radio-group>
-        <!-- <el-input
-					v-model="queryParams.shouldBe"
-					placeholder="请输入应种未种
-"
-					clearable
-					size="small"
-					@keyup.enter.native="handleQuery"
-				/> -->
-      </el-form-item>
-      <el-form-item label="进度" prop="progress">
-        <!-- <el-input v-model="queryParams.progress" placeholder="请输入进度" clearable size="small" @keyup.enter.native="handleQuery" /> -->
-        <el-select v-model="queryParams.progress" placeholder="进度" clearable size="small" style="width: 240px">
-          <el-option v-for="dict in statusOptionstue" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
-        </el-select>
-      </el-form-item>
       <!-- <el-form-item label="状态" prop="status">
 				<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small"><el-option label="请选择字典生成" value="" /></el-select>
 			</el-form-item> -->
       <!-- <el-form-item label="是否删除" prop="isDel">
 				<el-input v-model="queryParams.isDel" placeholder="请输入是否删除" clearable size="small" @keyup.enter.native="handleQuery" />
 			</el-form-item> -->
-      <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-      </el-form-item>
+      
     </el-form>
 
     <el-row :gutter="10" class="mb8">
@@ -229,7 +266,7 @@
             <el-form-item label="乡/村/村组" prop="villagerGroup">
               <!-- <el-input v-model="form.villageTowns" type="textarea" placeholder="请输入内容" /> -->
               <!-- <treeselect v-model="form.parentId" :options="deptOptionstwo" :normalizer="normalizer" :flat="true" :maxHeight="150" @select="djieskle" :multiple=true placeholder="点击选择户籍地" /> -->
-              <el-cascader placeholder="点击选择户籍地" :options="options" :filterable="true" @change="chahe" :props="optionProps" style="width: 100%;"></el-cascader>
+              <el-cascader placeholder="点击选择户籍地" :options="options" :filterable="true" @change="chahe" v-model="form.villagerGroup" :props="optionProps" style="width: 100%;"></el-cascader>
             </el-form-item>
           </el-col>
 
@@ -299,8 +336,9 @@
           <el-col :span="6">
             <el-form-item label="疫苗名称" prop="vaccineName">
               <!-- <el-input v-model="form.vaccineName" placeholder="请输入疫苗名称" /> -->
-              <el-select v-model="form.vaccineName" placeholder="疫苗名称" clearable :disabled="naneme">
-                <el-option v-for="dict in typeOptionsname" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
+              <el-select v-model="form.vaccineName" placeholder="疫苗名称" clearable :disabled="naneme" @change="changeheu">
+                <el-option v-for="dict in typeOptionsname" :key="dict.dictValue" :label="dict.dictLabel" :value="{value:dict.dictValue,label:dict.dictLabel}" />
+				<!-- dict.dictValue -->
               </el-select>
             </el-form-item>
           </el-col>
@@ -321,8 +359,8 @@
           <el-col :span="6">
             <el-form-item label="剂次" prop="jici">
               <!-- <el-input v-model="form.jici" placeholder="请输入剂次" /> -->
-              <el-select v-model="form.jici" placeholder="剂次" clearable size="small" :disabled="naneme">
-                <el-option v-for="dict in typeOptionstimes" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
+              <el-select @change="changeheujici" v-model="form.jici" placeholder="剂次" clearable size="small" :disabled="naneme">
+                <el-option v-for="dict in typeOptionstimes" :key="dict.dictValue" :label="dict.dictLabel" :value="{value:dict.dictValue,label:dict.dictLabel}" />
               </el-select>
             </el-form-item>
           </el-col>
@@ -332,7 +370,7 @@
             <el-form-item label="接种地点" prop="vaccinationPlace">
               <!-- <el-input v-model="form.vaccinationPlace" placeholder="请输入接种地点" /> -->
               <el-select :disabled="naneme" v-model="form.vaccinationPlace" placeholder="接种地点" clearable size="small">
-                <el-option v-for="dict in typeOptionsvaccinatio" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
+                <el-option v-for="dict in typeOptionsvaccinatio" :key="dict.dictValue"  :label="dict.dictLabel" :value="dict.dictValue" />
               </el-select>
             </el-form-item>
           </el-col>
@@ -341,7 +379,8 @@
             <el-form-item  label="进度" prop="progress">
               <!-- <el-input v-model="form.progress" placeholder="请输入进度" /> -->
               <el-select v-model="form.progress" placeholder="进度" clearable size="small" :disabled="naneme">
-                <el-option   v-for="dict in statusOptionstue" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
+                <el-option   v-for="dict in statusOptionstue" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictLabel" />
+				<!-- dictValue -->
               </el-select>
             </el-form-item>
           </el-col>
@@ -350,11 +389,11 @@
          <el-col :span="24">
            <el-form-item label="禁忌症" prop="contraindication" class="ehiqya">
              <!-- <el-input v-model="form.contraindication" placeholder="请输入禁忌症" /> -->
-             <el-select :disabled="shouwes"   v-model="form.contraindication" placeholder="禁忌症" clearable style="100%">
+             <el-select  :disabled="shouwes"   v-model="form.contraindication" placeholder="禁忌症" clearable style="100%">
                <el-option v-for="dict in typeOptionscont" :key="dict.dictValue" :label="dict.dictLabel" :value="dict.dictValue" />
              </el-select>
              <div class="jdidur">
-               <el-upload :disabled="shouwes" class="upload-demo" :headers="{Authorization: 'Bearer ' + getToken()}"
+               <el-upload  :disabled="shouwes" class="upload-demo" :headers="{Authorization: 'Bearer ' + getToken()}"
                             :action="process + '/boman-file/upload'" :on-change="handleChangert"
                            :on-success="upImageFn" :on-error="err" :on-remove="reseImage" :file-list="config" :on-preview="handlePictureCardPreview" :before-upload="befors">
                            <el-button size="small" type="primary">点击上传</el-button>
@@ -403,7 +442,7 @@
 </template>
 
 <script>
-import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo, listRoleer } from '@/api/system/time';
+import { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo, listRoleer,idces } from '@/api/system/time';
 import { treeselect } from '@/api/system/dept';
 import Treeselect from '@riophae/vue-treeselect';
 import {
@@ -539,10 +578,7 @@ export default {
     this.getDicts('vaccine_name').then(response => {
       this.typeOptionsname = response.data;
     });
-    // 计次
-    this.getDicts('times_count').then(response => {
-      this.typeOptionstimes = response.data;
-    });
+    
     // 接种地点
     this.getDicts('vaccination_site').then(response => {
       this.typeOptionsvaccinatio = response.data;
@@ -612,11 +648,12 @@ export default {
       // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
       let reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
       if (reg.test(this.form.idCard)) {
-        this.go(this.form.idCard.length);
+		  this.idea()
+        // this.go(this.form.idCard.length);
         // callback()
       } else {
         // callback(new Error('身份证号码不正确'))
-        this.msgSuccess('身份证号码不正确');
+        this.msgInfo('身份证号码不正确');
       }
     },
     // 实现自动生成生日,性别,年龄
@@ -653,6 +690,19 @@ export default {
       // this.$set(this.form.birthday, birthr)
       // this.baseInfo.birthplace = this.area[iden.substring(0,2)];
     },
+	// 请求身份证数据
+	idea(){
+		idces({idCard:this.form.idCard}).then(response => {
+		   console.log(response)
+		   this.form.gender = response.data.gender;
+		   this.form.birthday = response.data.birthday;
+		   if(response.data.userName == null){
+			   this.form.userName = undefined
+		   }else{
+			   this.form.userName = response.data.userName
+		   }
+		});
+	},
     // 取消按钮
     cancel() {
       this.open = false;
@@ -810,6 +860,12 @@ export default {
     handleAdd() {
       this.reset();
       this.open = true;
+	  this.naneme= false,
+	  this.shouwes =false
+	  this.selected = ['安徽省', '安庆市', '潜山市'],
+	  this.form.province = this.selected[0];
+	  this.form.city = this.selected[1];
+	  this.form.region = this.selected[2];
       this.title = '添加疫苗信息';
     },
     /** 修改按钮操作 */
@@ -821,6 +877,20 @@ export default {
         this.selected[0] = response.data.province;
         this.selected[1] = response.data.city;
         this.selected[2] = response.data.region;
+		// if(this.form){
+			if(this.form.isVaccination == '是'){
+			  // 接种疫苗
+			  this.naneme = false,
+			  this.shouwes = true
+			}else{
+			  this.naneme = true,
+			  this.shouwes = false
+			}
+			
+			if(this.form.dictValue !== null && this.form.dictValue !== undefined){
+				this.jicheru(this.form.dictValue)
+			}
+		// }
         // this.heuiq.push()
         this.open = true;
         this.title = '修改疫苗信息';
@@ -879,7 +949,33 @@ export default {
         this.download('/boman-web-core/core/info/export', {
           ...this.queryParams
         }, `post_${new Date().getTime()}.xlsx`)
-    }
+    },
+	// 疫苗名称改变
+	changeheu(data){
+		console.log(data)
+		this.form.vaccineName = this.form.vaccineName.label
+		console.log(this.form.vaccineName)
+		this.jicheru(data.value)
+	},
+	
+	// 剂次
+	jicheru(data){
+		// 计次
+		this.getDicts(data).then(response => {
+		  this.typeOptionstimes = response.data;
+		});
+	},
+	// 剂次改变
+	changeheujici(data){
+		console.log(data)
+		this.form.jici = this.form.jici.label
+		console.log(this.form.jici)
+		if(data.value == this.typeOptionstimes.length){
+			this.form.progress = '已完成'
+		}else{
+			this.form.progress = '未完成'
+		}
+	}
   }
 };
 </script>