Tang hace 4 años
padre
commit
f10bbfacbc

+ 10 - 1
src/api/appuser.js

@@ -47,7 +47,16 @@ export default {
             method: 'get',
         })
     },
-    //获取客户端用户详细信息
+
+    //修改用户学校信息
+    editappuserschoolinfo(data) {
+        return request({
+            url: '/app/user/school/info/edit',
+            method: 'post',
+            data
+        })
+    },
+    //获取用户学校信息详细信息
     obtainappuserschoolinfo(data) {
         return request({
             url: `/app/user/school/info/` + data,

+ 4 - 0
src/components/tabberList.vue

@@ -15,6 +15,7 @@
         :key="index"
         :class="item.path === navActive ? 'activeListChildren' : ''"
         @click="changeActive(item)"
+         @contextmenu.prevent="rightBtn(item)"
       >
         {{ item.title }}
         <i
@@ -73,6 +74,9 @@ export default {
     }, 100);
   },
   methods: {
+    rightBtn(option){
+      console.log(option)
+    },
     changeLists() {
       if (this.$refs.barparent.offsetWidth < this.$refs.barparent.scrollWidth) {
         this.showBtn = true;

+ 1 - 1
src/components/userInfoS.vue

@@ -103,7 +103,7 @@
                 <img
                   style="width: 100%"
                   :src="
-                    $methodsTools.splitImgHost(propData.studentCertificateImg)
+                    $methodsTools.splitImgHost(education.studentStatusImg)
                   "
                   alt=""
                 />

+ 2 - 2
src/utils/request.js

@@ -6,8 +6,8 @@ import cookie from '@/utils/cookie'
 
 // axios 配置
 axios.defaults.timeout = 5000; //设置连接超时时间
-axios.defaults.baseURL = "http://192.168.1.222/"; //这是调用数据接口,项目上线的时候修改这个地方就可以了
-// axios.defaults.baseURL = "http://192.168.1.20:9099/"; //这是调用数据接口,项目上线的时候修改这个地方就可以了
+// axios.defaults.baseURL = "http://192.168.1.222/"; //这是调用数据接口,项目上线的时候修改这个地方就可以了
+axios.defaults.baseURL = "http://192.168.1.20:9099/"; //这是调用数据接口,项目上线的时候修改这个地方就可以了
 
 // 也可以这样书写
 const service = axios

+ 572 - 31
src/view/userManagement/personalManagement/index.vue

@@ -14,7 +14,7 @@
         <el-button type="text" @click="addClick(props.scope.row, 0)"
           >修改</el-button
         >
-        <el-button type="text" @click="del(props.scope.row)">删除</el-button>
+        <!-- <el-button type="text" @click="del(props.scope.row)">删除</el-button> -->
       </template>
     </table-list>
     <pagination
@@ -48,57 +48,62 @@
         </div>
       </div>
       <el-row class="contentBox" :span="24">
-        <el-steps :active="1" finish-status="success" align-center>
+        <el-steps :active="activeIndex" finish-status="success" align-center>
           <el-step title="基础信息"></el-step>
           <el-step title="教育信息"></el-step>
         </el-steps>
         <el-form
+          v-show="activeIndex === 0"
           label-position="right"
           label-width="120px"
           :model="poppleData1"
           :rules="rules"
           ref="poppleData1"
+          style="max-height: 680px; overflow: auto; margin: 20px 0px"
         >
-          <el-form-item label="姓名" prop="realname">
-            <el-input v-model="poppleData1.realname"></el-input>
+          <el-form-item label="姓名">
+            <el-input
+              :disabled="true"
+              v-model="poppleData1.realname"
+            ></el-input>
           </el-form-item>
-          <el-form-item label="性别" prop="dictCode">
+          <el-form-item label="性别" prop="sex">
             <el-radio-group v-model="poppleData1.sex">
               <el-radio :label="1">男</el-radio>
               <el-radio :label="2">女</el-radio>
             </el-radio-group>
           </el-form-item>
           <el-form-item label="身份证">
-            <el-input v-model="poppleData1.idCard"></el-input>
+            <el-input v-model="poppleData1.idCard" :disabled="true"></el-input>
           </el-form-item>
-          <el-form-item label="手机号码">
+          <el-form-item label="手机号码" prop="telphone">
             <el-input v-model="poppleData1.telphone"></el-input>
           </el-form-item>
-          <el-form-item label="邮箱">
+          <el-form-item label="邮箱" prop="email">
             <el-input v-model="poppleData1.email"></el-input>
           </el-form-item>
-          <!-- <el-form-item label="政治面貌">
+          <el-form-item label="政治面貌" prop="politic">
             <el-select v-model="poppleData1.politic" placeholder="请选择">
               <el-option
-                v-for="item in options"
+                v-for="item in politic"
                 :key="item.value"
                 :label="item.label"
-                :value="item.value"
+                :value="item.label"
               >
               </el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="婚姻状况">
+          <el-form-item label="婚姻状况" prop="marry">
             <el-select v-model="poppleData1.marry" placeholder="请选择">
               <el-option
-                v-for="item in options"
+                v-for="item in marryList"
                 :key="item.value"
                 :label="item.label"
-                :value="item.value"
+                :value="item.label"
               >
               </el-option>
             </el-select>
-          </el-form-item> -->
+          </el-form-item>
           <el-form-item label="户籍/国籍">
             <v-distpicker
               :province="poppleData1.province"
@@ -113,16 +118,71 @@
               :area="poppleData1.houseDistrict"
             ></v-distpicker>
           </el-form-item>
-          <el-form-item label="出生日期">
+          <el-form-item label="出生日期" prop="userBirth">
             <el-date-picker
               v-model="poppleData1.userBirth"
               type="date"
               placeholder="选择日期"
+              value-format="yyyy-MM-dd"
             >
             </el-date-picker>
           </el-form-item>
-          <el-form-item label="身份证人像面"> 123 </el-form-item>
-          <el-form-item label="身份证国徽面"> 123 </el-form-item>
+          <el-form-item label="身份证人像面">
+            <div class="imgBox">
+              <label class="imgLabel" for="inputs">
+                <div class="msPhoto" v-if="poppleData1.idCardImg1">
+                  <img
+                    :src="$methodsTools.splitImgHost(poppleData1.idCardImg1)"
+                    alt="图片加载失败"
+                  />
+                </div>
+                <div class="imgbbx" v-else>
+                  <p style="margin-top: 49px">点击添加或将文件拖拽到这里上传</p>
+                  <i class="el-icon-plus"></i>
+                  <p style="margin-bottom: 37px">
+                    图片格式:.jpg/.png/jpeg/bmp
+                  </p>
+                </div>
+                <input
+                  id="inputs"
+                  type="file"
+                  ref="file"
+                  :disabled="true"
+                  style="display: none"
+                  @change="getImgFile"
+                />
+              </label>
+              <!-- <p>请上传比例为16:9且小于2m的图片</p> -->
+            </div>
+          </el-form-item>
+          <el-form-item label="身份证国徽面">
+            <div class="imgBox">
+              <label class="imgLabel" for="inputs2">
+                <div class="msPhoto" v-if="poppleData1.idCardImg2">
+                  <img
+                    :src="$methodsTools.splitImgHost(poppleData1.idCardImg2)"
+                    alt="图片加载失败"
+                  />
+                </div>
+                <div class="imgbbx" v-else>
+                  <p style="margin-top: 49px">点击添加或将文件拖拽到这里上传</p>
+                  <i class="el-icon-plus"></i>
+                  <p style="margin-bottom: 37px">
+                    图片格式:.jpg/.png/jpeg/bmp
+                  </p>
+                </div>
+                <input
+                  id="inputs2"
+                  type="file"
+                  :disabled="true"
+                  ref="file2"
+                  style="display: none"
+                  @change="getImgFile2"
+                />
+              </label>
+              <!-- <p>请上传比例为16:9且小于2m的图片</p> -->
+            </div>
+          </el-form-item>
           <el-form-item label="启用状态">
             <el-radio-group v-model="poppleData1.status">
               <el-radio :label="1">启用</el-radio>
@@ -130,10 +190,154 @@
             </el-radio-group>
           </el-form-item>
         </el-form>
+        <el-form
+          v-show="activeIndex === 1"
+          label-position="right"
+          label-width="120px"
+          :model="poppleData2"
+          :rules="rules2"
+          ref="poppleData2"
+          style="max-height: 680px; overflow: auto; margin: 20px 0px"
+        >
+          <el-form-item label="学校名称" prop="schoolName">
+            <el-select v-model="poppleData2.schoolName" placeholder="请选择">
+              <el-option
+                v-for="item in schoolNameList"
+                :key="item.value"
+                :label="item.label"
+                :value="item.label"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="全日制" prop="fullTimeSchool">
+            <el-select
+              v-model="poppleData2.fullTimeSchool"
+              placeholder="请选择"
+            >
+              <el-option
+                v-for="item in fullTimeSchoolList"
+                :key="item.value"
+                :label="item.label"
+                :value="item.label"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="入学时间" prop="admissionTime">
+            <el-date-picker
+              v-model="poppleData2.admissionTime"
+              type="date"
+              placeholder="选择日期"
+              value-format="yyyy-MM-dd"
+            >
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="毕业时间" prop="graduationTime">
+            <el-date-picker
+              v-model="poppleData2.graduationTime"
+              type="date"
+              placeholder="选择日期"
+              value-format="yyyy-MM-dd"
+            >
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="学历" prop="education">
+            <el-select v-model="poppleData2.education" placeholder="请选择">
+              <el-option
+                v-for="item in educationList"
+                :key="item.value"
+                :label="item.label"
+                :value="item.label"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="学位" prop="academicDegree">
+            <el-select
+              v-model="poppleData2.academicDegree"
+              placeholder="请选择"
+            >
+              <el-option
+                v-for="item in academicDegreeList"
+                :key="item.value"
+                :label="item.label"
+                :value="item.label"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="学制" prop="educationalSystem">
+            <el-select
+              v-model="poppleData2.educationalSystem"
+              placeholder="请选择"
+            >
+              <el-option
+                v-for="item in educationalSystemList"
+                :key="item.value"
+                :label="item.label"
+                :value="item.label"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="院系" prop="department">
+            <el-select v-model="poppleData2.department" placeholder="请选择">
+              <el-option
+                v-for="item in departmentList"
+                :key="item.value"
+                :label="item.label"
+                :value="item.label"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="专业" prop="major">
+            <el-input v-model="poppleData2.major"></el-input>
+          </el-form-item>
+          <el-form-item label="班级" prop="grade">
+            <el-input v-model="poppleData2.grade"></el-input>
+          </el-form-item>
+          <el-form-item label="学信网学籍证明">
+            <div class="imgBox">
+              <label class="imgLabel" for="inputsxj">
+                <div class="msPhoto" v-if="poppleData2.studentStatusImg">
+                  <img
+                    :src="
+                      $methodsTools.splitImgHost(poppleData2.studentStatusImg)
+                    "
+                    alt="图片加载失败"
+                  />
+                </div>
+                <div class="imgbbx" v-else>
+                  <p style="margin-top: 49px">点击添加或将文件拖拽到这里上传</p>
+                  <i class="el-icon-plus"></i>
+                  <p style="margin-bottom: 37px">
+                    图片格式:.jpg/.png/jpeg/bmp
+                  </p>
+                </div>
+                <input
+                  id="inputsxj"
+                  type="file"
+                  ref="filexj"
+                  style="display: none"
+                  @change="getImgFilexj"
+                />
+              </label>
+              <p>请上传比例为16:9且小于2m的图片</p>
+            </div>
+          </el-form-item>
+        </el-form>
       </el-row>
       <div slot="footer" class="dialog-footer">
-        <el-button @click="close">关闭</el-button>
-        <el-button type="primary">确定</el-button>
+        <el-button @click="upPage" v-if="activeIndex === 1">上一步</el-button>
+        <el-button
+          type="primary"
+          @click="
+            activeIndex === 0 ? nextPage('poppleData1') : submit('poppleData2')
+          "
+          >{{ activeIndex === 0 ? "下一步" : "提交" }}</el-button
+        >
       </div>
     </el-dialog>
   </div>
@@ -170,6 +374,7 @@ export default {
           title: "未定义",
         },
       },
+      activeIndex: 0,
       tableSet: [
         {
           label: "姓名",
@@ -252,16 +457,78 @@ export default {
       statusPop: 0,
       poppleData1: {},
       poppleData2: {},
-      marryList:{},
+      marryList: [], //婚姻状况
+      politic: [], //政治面貌
+
+      schoolNameList: [], //学校名称
+      fullTimeSchoolList: [], //全日制
+
+      educationList: [], //学历
+      academicDegreeList: [], //学位
+      educationalSystemList: [], //学制
+      departmentList: [], //院系
+      beif: {},
+      rules: {
+        telphone: [
+          { required: true, message: "请输入手机号", trigger: "blur" },
+        ],
+        email: [{ required: true, message: "请输入邮箱", trigger: "blur" }],
+        userBirth: [
+          {
+            type: "string",
+            required: true,
+            message: "请选择出生日期",
+            trigger: "change",
+          },
+        ],
+        sex: [{ required: true, message: "请选择性别", trigger: "change" }],
+      },
+      rules2: {
+        schoolName: [
+          { required: true, message: "请选择学校", trigger: "change" },
+        ],
+        fullTimeSchool: [
+          { required: true, message: "请选择是否全日制", trigger: "change" },
+        ],
+        education: [
+          { required: true, message: "请选择学历", trigger: "change" },
+        ],
+        academicDegree: [
+          { required: true, message: "请选择学位", trigger: "change" },
+        ],
+        educationalSystem: [
+          { required: true, message: "请选择学制", trigger: "change" },
+        ],
+        department: [
+          { required: true, message: "请选择院系", trigger: "change" },
+        ],
+        major: [{ required: true, message: "请输入专业", trigger: "blur" }],
+        grade: [{ required: true, message: "请输入班级", trigger: "blur" }],
+        admissionTime: [
+          {
+            type: "string",
+            required: true,
+            message: "请选择出生日期",
+            trigger: "change",
+          },
+        ],
+        graduationTime: [
+          {
+            type: "string",
+            required: true,
+            message: "请选择出生日期",
+            trigger: "change",
+          },
+        ],
+      },
     };
   },
   mounted() {
     this.search();
-    this.getDictData()
+    this.getDictData();
   },
   methods: {
     search(v) {
-      console.log(v);
       if (v === undefined) {
         v = {
           status: "0,1",
@@ -293,11 +560,73 @@ export default {
     init() {
       this.search();
     },
-    del() {},
-    getDictData(){
-      this.$api.obtaindictdata({dictTypeId:22}).then(res => {
-        this.marryList = res.rows
-      })
+    // del() {},
+    getDictData() {
+      this.$api.obtaindictdata({ dictTypeId: 22 }).then((res) => {
+        var listAry = [];
+        res.rows.forEach((item, index) => {
+          var actliy = { value: item.dictValue, label: item.dictLabel };
+          listAry.push(actliy);
+        });
+        this.marryList = listAry;
+      });
+      this.$api.obtaindictdata({ dictTypeId: 23 }).then((res) => {
+        var listAry = [];
+        res.rows.forEach((item, index) => {
+          var actliy = { value: item.dictValue, label: item.dictLabel };
+          listAry.push(actliy);
+        });
+        this.politic = listAry;
+      });
+
+      this.$api.obtaindictdata({ dictTypeId: 17 }).then((res) => {
+        var listAry = [];
+        res.rows.forEach((item, index) => {
+          var actliy = { value: item.dictValue, label: item.dictLabel };
+          listAry.push(actliy);
+        });
+        this.fullTimeSchoolList = listAry;
+      });
+      this.$api.obtaindictdata({ dictTypeId: 11 }).then((res) => {
+        var listAry = [];
+        res.rows.forEach((item, index) => {
+          var actliy = { value: item.dictValue, label: item.dictLabel };
+          listAry.push(actliy);
+        });
+        this.educationList = listAry;
+      });
+      this.$api.obtaindictdata({ dictTypeId: 19 }).then((res) => {
+        var listAry = [];
+        res.rows.forEach((item, index) => {
+          var actliy = { value: item.dictValue, label: item.dictLabel };
+          listAry.push(actliy);
+        });
+        this.academicDegreeList = listAry;
+      });
+      this.$api.obtaindictdata({ dictTypeId: 21 }).then((res) => {
+        var listAry = [];
+        res.rows.forEach((item, index) => {
+          var actliy = { value: item.dictValue, label: item.dictLabel };
+          listAry.push(actliy);
+        });
+        this.educationalSystemList = listAry;
+      });
+      this.$api.obtaindictdata({ dictTypeId: 20 }).then((res) => {
+        var listAry = [];
+        res.rows.forEach((item, index) => {
+          var actliy = { value: item.dictValue, label: item.dictLabel };
+          listAry.push(actliy);
+        });
+        this.departmentList = listAry;
+      });
+      this.$api.inquireuserschoolList().then((res) => {
+        var listAry = [];
+        res.data.forEach((item, index) => {
+          var actliy = { value: item.id, label: item.schoolName };
+          listAry.push(actliy);
+        });
+        this.schoolNameList = listAry;
+      });
     },
     addClick(v, int) {
       this.statusPop = int;
@@ -309,18 +638,97 @@ export default {
       this.$api.obtainappuserschoolinfo(v.userId).then((res) => {
         if (res.code === 200) {
           this.poppleData2 = res.data;
+          this.beif = JSON.parse(JSON.stringify(res.data));
         }
       });
       this.dialogBox = true;
     },
-    submit() {},
+    async submit(formName) {
+      var self = this;
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          self.submitFormData();
+        } else {
+          self.$message.error("请检查教育信息是否填写完整");
+          return false;
+        }
+      });
+    },
+    nextPage(formName) {
+      var self = this;
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          self.activeIndex = 1;
+        } else {
+          self.$message.error("请检查基础信息是否填写完整");
+          return false;
+        }
+      });
+    },
+    async submitFormData() {
+      var self = this;
+      if (this.poppleData2.studentStatusImg !== this.beif.studentStatusImg) {
+        const awtimg = await this.imgUploadxj(5);
+      }
+      var data1 = {
+        userId: this.poppleData1.userId,
+        sex: this.poppleData1.sex,
+        telphone: this.poppleData1.telphone,
+        email: this.poppleData1.email,
+        politic: this.poppleData1.politic,
+        marry: this.poppleData1.marry,
+        politic: this.poppleData1.politic,
+        userBirth: this.poppleData1.userBirth,
+        houseProvince: this.poppleData1.houseProvince,
+        houseCity: this.poppleData1.houseCity,
+        houseDistrict: this.poppleData1.houseDistrict,
+        province: this.poppleData1.province,
+        city: this.poppleData1.city,
+        district: this.poppleData1.district,
+        status: this.poppleData1.status,
+      };
+      var data2 = {
+        userId: this.poppleData1.userId,
+        schoolName: this.poppleData2.schoolName,
+        fullTimeSchool: this.poppleData2.fullTimeSchool,
+        admissionTime: this.poppleData2.admissionTime,
+        graduationTime: this.poppleData2.graduationTime,
+        education: this.poppleData2.education,
+        academicDegree: this.poppleData2.academicDegree,
+        educationalSystem: this.poppleData2.educationalSystem,
+        department: this.poppleData2.department,
+        major: this.poppleData2.major,
+        grade: this.poppleData2.grade,
+        studentStatusImg: this.poppleData2.studentStatusImg,
+        userSchoolId: this.poppleData2.userSchoolId,
+      };
+      this.$api.editappuser(data1).then((res) => {
+        if (res.code === 200) {
+          self.$api.editappuserschoolinfo(data2).then((resb) => {
+            if (resb.code === 200) {
+              self.$message.success("修改成功");
+              self.dialogBox = false;
+            } else {
+              self.$message.warning("基本信息修改成功,教育信息修改失败");
+            }
+          });
+        } else {
+          self.$message.warning("修改失败");
+        }
+      });
+    },
+    upPage() {
+      this.activeIndex = 0;
+    },
     close() {
       this.$confirm("是否关闭该窗口", "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "warning",
       })
-        .then(() => {})
+        .then(() => {
+          this.dialogBox = false;
+        })
         .catch(() => {});
     },
     handleSizeChange(v) {
@@ -338,6 +746,138 @@ export default {
     getxq(option) {
       this.$refs.studyInfo.getInfos(option);
     },
+    //学籍照片上传
+    imgUploadxj(int) {
+      console.log(int);
+      return new Promise((resolve, reject) => {
+        this.$upload
+          .upload(this.$refs.filexj.files[0], int)
+          .then((res) => {
+            this.$set(this.poppleData2, "studentStatusImg", res);
+            resolve();
+          })
+          .catch((err) => {
+            this.$message.error("图片上传错误");
+          });
+      });
+    },
+    getImgFilexj() {
+      console.log(1);
+      var self = this;
+      var file = this.$refs.filexj.files[0];
+      if (file === undefined) {
+        self.$set(self.poppleData2, "studentStatusImg", "");
+        return;
+      }
+      if (file.size > 2 * 1024 * 1024) {
+        this.$message.error("图片不得大于2MB");
+        return;
+      }
+      var type = this.$refs.filexj.value.toLowerCase().split(".").splice(-1);
+      if (
+        type[0] != "jpg" &&
+        type[0] != "png" &&
+        type[0] != "jpeg" &&
+        type[0] != "bmp"
+      ) {
+        this.$message.error("上传格式需为:.jpg/.png/.jpeg/bmp");
+        this.$refs.filexj.value = "";
+        return;
+      }
+      var reader = new FileReader();
+      reader.readAsDataURL(file);
+      reader.onload = function (ev) {
+        self.$set(self.poppleData2, "studentStatusImg", ev.target.result);
+      };
+    },
+
+    imgUpload(int) {
+      return new Promise((resolve, reject) => {
+        this.$upload
+          .upload(this.$refs.file.files[0], int)
+          .then((res) => {
+            console.log(res);
+            this.$set(this.poppleData2, "studentStatusImg", res);
+            resolve();
+          })
+          .catch((err) => {
+            this.$message.error("图片上传错误");
+          });
+      });
+    },
+    getImgFile() {
+      console.log(1);
+      var self = this;
+      var file = this.$refs.file.files[0];
+      if (file === undefined) {
+        self.$set(self.poppleData2, "studentStatusImg", "");
+        return;
+      }
+      if (file.size > 2 * 1024 * 1024) {
+        this.$message.error("图片不得大于2MB");
+        return;
+      }
+      var type = this.$refs.file.value.toLowerCase().split(".").splice(-1);
+      if (
+        type[0] != "jpg" &&
+        type[0] != "png" &&
+        type[0] != "jpeg" &&
+        type[0] != "bmp"
+      ) {
+        this.$message.error("上传格式需为:.jpg/.png/.jpeg/bmp");
+        this.$refs.file.value = "";
+        return;
+      }
+      var reader = new FileReader();
+      reader.readAsDataURL(file);
+      reader.onload = function (ev) {
+        self.$set(self.poppleData2, "studentStatusImg", ev.target.result);
+      };
+    },
+    //身份证国徽面
+    imgUpload2(int) {
+      return new Promise((resolve, reject) => {
+        this.$upload
+          .upload(this.$refs.file2.files[0], int)
+          .then((res) => {
+            console.log(res);
+            this.$set(this.poppleData1, "idCardImg2", res);
+            resolve();
+          })
+          .catch((err) => {
+            this.$message.error("图片上传错误");
+          });
+      });
+    },
+    getImgFile2() {
+      console.log(2);
+      var self = this;
+      var file = this.$refs.file2.files[0];
+      if (file === undefined) {
+        self.$set(self.poppleData1, "idCardImg2", "");
+        return;
+      }
+      if (file.size > 2 * 1024 * 1024) {
+        this.$message.error("图片不得大于2MB");
+        return;
+      }
+      var type = this.$refs.file2.value.toLowerCase().split(".").splice(-1);
+      if (
+        type[0] != "jpg" &&
+        type[0] != "png" &&
+        type[0] != "jpeg" &&
+        type[0] != "bmp"
+      ) {
+        this.$message.error("上传格式需为:.jpg/.png/.jpeg/bmp");
+        this.$refs.file2.value = "";
+        return;
+      }
+      var reader = new FileReader();
+      reader.readAsDataURL(file);
+      reader.onload = function (ev) {
+        self.$set(self.poppleData1, "idCardImg2", ev.target.result);
+      };
+    },
   },
 };
 </script>
@@ -387,7 +927,7 @@ export default {
   }
 }
 .imgBox {
-  width: 100%;
+  width: 50%;
   // height: 210px;
   border: 1px solid #e2e2e2;
   border-radius: 8px;
@@ -403,6 +943,7 @@ export default {
     font-size: 14px;
     cursor: pointer;
     border-radius: 8px;
+    margin-bottom: 6px;
     .msPhoto {
       display: flex;
       justify-content: center;