Преглед изворни кода

1.产品管理车险新车规则维护单位值切换为字典查询
2.封装人员管理影像组件
3.人员管理下后线人员、代理人管理模块增加影像资料逻辑、页面修改

haizhouwang пре 2 година
родитељ
комит
c160e79eb8

+ 349 - 0
src/components/PeopleImage/index.vue

@@ -0,0 +1,349 @@
+<template>
+  <div>
+    <div class="imageLibraryItem">
+      <el-row class="imageLibraryItemTitle">
+        <label @click="pic1Control = !pic1Control"> 身份证照片 </label>
+      </el-row>
+      <el-row class="imageLibraryItemBody" v-show="pic1Control">
+        <el-form-item label="身份证正面:" style="width: 50%">
+          <el-upload
+            class="avatar-uploader"
+            action=""
+            name="SFZ_01"
+            :show-file-list="false"
+            :http-request="httpRequest"
+            :before-upload="beforeAvatarUpload"
+            :on-preview="handlePictureCardPreview"
+          >
+            <img v-if="dataForm.SFZ_01" :src="dataForm.SFZ_01" class="avatar" />
+            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+            <span class="slot" v-show="carfrontImg" @click.stop>
+              <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(dataForm.SFZ_01)"></i>
+            </span>
+          </el-upload>
+        </el-form-item>
+
+        <el-form-item label="身份证反面:" style="width: 50%">
+          <el-upload
+            class="avatar-uploader"
+            action=""
+            name="SFZ_02"
+            :show-file-list="false"
+            :http-request="httpRequest"
+            :before-upload="beforeAvatarUpload"
+          >
+            <img v-if="dataForm.SFZ_02" :src="dataForm.SFZ_02" class="avatar" />
+            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+            <span class="slot" v-show="carfrontImg" @click.stop>
+              <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(dataForm.SFZ_02)"></i>
+            </span>
+          </el-upload>
+        </el-form-item>
+      </el-row>
+    </div>
+
+    <div class="imageLibraryItem">
+      <el-row class="imageLibraryItemTitle">
+        <label @click="pic3Control = !pic3Control"> 展业资格证 </label>
+      </el-row>
+      <el-row class="imageLibraryItemBody" v-show="pic3Control">
+        <el-form-item label="资格证照片:" style="width: 50%">
+          <el-upload
+            class="avatar-uploader"
+            action=""
+            name="Z6Z_00"
+            :show-file-list="false"
+            :http-request="httpRequest"
+            :before-upload="beforeAvatarUpload"
+          >
+            <img v-if="dataForm.Z6Z_00" :src="dataForm.Z6Z_00" class="avatar" />
+            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+            <span class="slot" v-show="carfrontImg" @click.stop>
+              <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(dataForm.Z6Z_00)"></i>
+            </span>
+          </el-upload>
+        </el-form-item>
+      </el-row>
+    </div>
+
+    <div class="imageLibraryItem">
+      <el-row class="imageLibraryItemTitle">
+        <label @click="pic4Control = !pic4Control"> 劳动合同 </label>
+      </el-row>
+      <el-row class="imageLibraryItemBody" v-show="pic4Control">
+        <el-form-item label="劳动合同照片:" style="width: 50%">
+          <el-upload
+            class="avatar-uploader"
+            action=""
+            name="LD_00"
+            :show-file-list="false"
+            :http-request="httpRequest"
+            :before-upload="beforeAvatarUpload"
+          >
+            <img v-if="dataForm.LD_00" :src="dataForm.LD_00" class="avatar" />
+            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+            <span class="slot" v-show="carfrontImg" @click.stop>
+              <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(dataForm.LD_00)"></i>
+            </span>
+          </el-upload>
+        </el-form-item>
+      </el-row>
+    </div>
+
+    <div class="imageLibraryItem">
+      <el-row class="imageLibraryItemTitle">
+        <label @click="pic5Control = !pic5Control"> 应聘表 </label>
+      </el-row>
+      <el-row class="imageLibraryItemBody" v-show="pic5Control">
+        <el-form-item label="应聘表照片:" style="width: 50%">
+          <el-upload
+            class="avatar-uploader"
+            action=""
+            name="YP_00"
+            :show-file-list="false"
+            :http-request="httpRequest"
+            :before-upload="beforeAvatarUpload"
+          >
+            <img v-if="dataForm.YP_00" :src="dataForm.YP_00" class="avatar" />
+            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+            <span class="slot" v-show="carfrontImg" @click.stop>
+              <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(dataForm.YP_00)"></i>
+            </span>
+          </el-upload>
+        </el-form-item>
+      </el-row>
+    </div>
+    <div class="imageLibraryItem">
+      <el-row class="imageLibraryItemTitle">
+        <label @click="pic6Control = !pic6Control"> 定薪表 </label>
+      </el-row>
+      <el-row class="imageLibraryItemBody" v-show="pic6Control">
+        <el-form-item label="定薪表照片:" style="width: 50%">
+          <el-upload
+            class="avatar-uploader"
+            action=""
+            name="DX_00"
+            :show-file-list="false"
+            :http-request="httpRequest"
+            :before-upload="beforeAvatarUpload"
+          >
+            <img v-if="dataForm.DX_00" :src="dataForm.DX_00" class="avatar" />
+            <i v-else class="el-icon-plus avatar-uploader-icon"></i>
+            <span class="slot" v-show="carfrontImg" @click.stop>
+              <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(dataForm.DX_00)"></i>
+            </span>
+          </el-upload>
+        </el-form-item>
+      </el-row>
+    </div>
+    <el-image-viewer v-if="showViewer" :on-close="closeViewer" :z-index="9999" :url-list="[ProViewImg]" />
+  </div>
+</template>
+<script>
+export default {
+  name: "PeopleImage",
+  props: {
+    //影像参数
+    dataForm: {
+      type: Object,
+      default: () => {
+        return {};
+      },
+    },
+    //新增编辑影像参数
+    imagesIdList: {
+      type: Array,
+      default: () => {
+        return [];
+      },
+    },
+    //影像资料显示隐藏
+    dialogVisible:{
+      type: Boolean,
+      default: () => {
+        return false;
+      },
+    },
+    //影像资料预览状态
+    carfrontImg:{
+      type: Boolean,
+      default: () => {
+        return false;
+      },
+    }
+  },
+  components: {
+    "el-image-viewer": () =>
+      import("element-ui/packages/image/src/image-viewer")
+  },
+  data() {
+    return {
+      // 控制影像
+      pic1Control: false,
+      pic3Control: false,
+      pic4Control: false,
+      pic5Control: false,
+      pic6Control: false,
+      showViewer: false,
+    };
+  },
+  watch:{
+    dialogVisible(n,o){
+      this.pic1Control= o
+      this.pic3Control= o
+      this.pic4Control= o
+      this.pic5Control= o
+      this.pic6Control= o
+    }
+  },
+  created() {
+    console.log(this.dataForm)
+  },
+  methods: {
+    //预览图片
+    handlePictureCardPreview(img) {
+      console.log(img)
+      if(!img){
+        this.$message.error('暂无照片')
+        return 
+      }
+      this.ProViewImg = img;
+      this.showViewer = true;
+    },
+    // 关闭查看器
+    closeViewer() {
+      this.showViewer = false;
+    },
+    // 上传图片的方法Start
+    beforeAvatarUpload(file) {
+      console.log(file);
+      const isJPG = file.type === "image/jpeg" || file.type === "image/png";
+      const isLt2M = file.size / 1024 / 1024 < 2;
+      if (!isJPG) {
+        this.$message.error("上传图片只能是 JPG 或者 PNG 格式!");
+      }
+      if (!isLt2M) {
+        this.$message.error("上传图片大小不能超过 2MB!");
+      }
+      return isJPG && isLt2M;
+    },
+    //上传影像
+    httpRequest(options) {
+      console.log(options);
+      let file = options.file;
+      let filename = options.filename;
+      let reader = new FileReader();
+      if (file) {
+        reader.readAsDataURL(file);
+      }
+      reader.onload = () => {
+        let base64Str = reader.result;
+        this.dataForm[options.filename] = base64Str;
+      };
+      console.log(this.dataForm)
+      const params = new FormData(); // 声明formData数据类型
+      params.append("multipartFile", file);
+      params.append("type", "personnel");
+      this.$api.letter.uploadFile(params).then(res => {
+        console.log(res)
+        if (res.code == "200") {
+          if (this.imagesIdList.some(v => v.type == filename)) {
+            this.imagesIdList.map(val => {
+              if (val.type == filename) {
+                val.imageId = res.data.id;
+              }
+            })
+          } else {
+            this.imagesIdList.push({
+              imageId: res.data.id,
+              type: filename,
+            })
+          }
+          console.log(this.imagesIdList)
+        }
+      });
+    },
+  },
+};
+</script>
+<style scoped>
+/* 上传图片样式Start */
+.avatar-uploader .el-upload {
+  border: 1px dashed #d9d9d9;
+  border-radius: 6px;
+  cursor: pointer;
+  position: relative;
+  overflow: hidden;
+}
+.avatar-uploader .el-upload:hover {
+  border-color: #409eff;
+}
+.avatar-uploader-icon {
+  font-size: 28px;
+  color: #8c939d;
+  width: 100px;
+  height: 100px;
+  line-height: 100px;
+  text-align: center;
+  border: 1px dashed #d9d9d9;
+}
+.avatar {
+  border: 1px dashed #d9d9d9;
+  padding: 5px;
+  border-radius: 6px;
+  width: 100px;
+  height: 100px;
+  display: block;
+}
+.imageLibraryItem {
+  margin-bottom: 10px;
+}
+.imageLibraryItem .imageLibraryItemTitle {
+  display: block;
+  height: 40px;
+  line-height: 40px;
+  width: 100%;
+  background: #f3f3f3;
+  border: 1px solid #dddddd;
+}
+.imageLibraryItem .imageLibraryItemTitle label {
+  margin: 0px 15px;
+  font-weight: bold;
+}
+.imageLibraryItem .imageLibraryItemBody {
+  width: 100%;
+  border: 1px solid #ddd;
+  padding: 15px;
+  border-top: none;
+}
+/* 上传图片样式End */
+.slot {
+  position: absolute;
+  width: 100%;
+  height: 100%;
+  left: 0;
+  top: 0;
+  cursor: default;
+  text-align: center;
+  color: #fff;
+  opacity: 0;
+  font-size: 20px;
+  background-color: rgba(0, 0, 0, 0.5);
+  transition: opacity 0.3s;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+.slot>i {
+  margin: 10px;
+  color: #fff;
+  font-size: 25px;
+  font-weight: bold;
+  cursor: pointer;
+}
+
+.slot:hover {
+  opacity: 1;
+}
+
+</style>

+ 361 - 141
src/views/PeopleManage/Agent/AgentExamine.vue

@@ -25,17 +25,32 @@
               <el-row>
                 <el-col :span="5">
                   <el-form-item label="工号">
-                    <el-input clearable size="small" placeholder="工号" v-model="queryFrom.userId"></el-input>
+                    <el-input
+                      clearable
+                      size="small"
+                      placeholder="工号"
+                      v-model="queryFrom.userId"
+                    ></el-input>
                   </el-form-item>
                 </el-col>
                 <el-col :span="5">
                   <el-form-item label="姓名">
-                    <el-input clearable size="small" placeholder="姓名" v-model="queryFrom.name"></el-input>
+                    <el-input
+                      clearable
+                      size="small"
+                      placeholder="姓名"
+                      v-model="queryFrom.name"
+                    ></el-input>
                   </el-form-item>
                 </el-col>
                 <el-col :span="5">
                   <el-form-item label="手机号">
-                    <el-input clearable size="small" placeholder="手机号" v-model="queryFrom.mobile"></el-input>
+                    <el-input
+                      clearable
+                      size="small"
+                      placeholder="手机号"
+                      v-model="queryFrom.mobile"
+                    ></el-input>
                   </el-form-item>
                 </el-col>
                 <!-- <el-col :span="5">
@@ -52,7 +67,12 @@
                 </el-col>-->
                 <el-col :span="4">
                   <el-form-item label>
-                    <el-button size="small" type="primary" @click="queryStaffInfo">查询</el-button>
+                    <el-button
+                      size="small"
+                      type="primary"
+                      @click="queryStaffInfo"
+                      >查询</el-button
+                    >
                   </el-form-item>
                 </el-col>
               </el-row>
@@ -73,23 +93,44 @@
       </Split>
     </el-main>
 
-    <el-dialog :title="dialogTitle" width="60%" :visible.sync="dialogVisible" :close-on-click-modal="false"
-      :before-close="handleDialogBefore" @close="closeDialog" v-dialogDrag>
+    <el-dialog
+      :title="dialogTitle"
+      width="60%"
+      :visible.sync="dialogVisible"
+      :close-on-click-modal="false"
+      :before-close="handleDialogBefore"
+      @close="closeDialog"
+      v-dialogDrag
+    >
       <el-tabs v-model="activeName">
         <el-tab-pane label="基本信息" name="1">
-          <el-form :model="formData" disabled ref="formData" :inline="true" @keyup.enter.native="nextStep()"
-            label-width="130px" size="small">
+          <el-form
+            :model="formData"
+            disabled
+            ref="formData"
+            :inline="true"
+            @keyup.enter.native="nextStep()"
+            label-width="130px"
+            size="small"
+          >
             <el-row>
               <el-col :span="8">
                 <el-form-item label="机构名称" prop="deptId">
-                  <el-cascader style="width:200px" :options="ztreeNodes" v-model="formData.deptId" clearable
-                    :show-all-levels="false" :props="{
+                  <el-cascader
+                    style="width: 200px"
+                    :options="ztreeNodes"
+                    v-model="formData.deptId"
+                    clearable
+                    :show-all-levels="false"
+                    :props="{
                       value: 'id',
                       label: 'name',
                       checkStrictly: true,
-                    }" @change="handleChange">
-                  </el-cascader>
-                </el-form-item></el-col>
+                    }"
+                    @change="handleChange"
+                  >
+                  </el-cascader> </el-form-item
+              ></el-col>
               <el-col :span="8">
                 <el-form-item label="员工工号" prop="id">
                   <el-input v-model="formData.id" disabled></el-input>
@@ -102,7 +143,10 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="身份证号" prop="identity">
-                  <el-input v-model="formData.identity" :maxlength="18"></el-input>
+                  <el-input
+                    v-model="formData.identity"
+                    :maxlength="18"
+                  ></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
@@ -112,56 +156,108 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="密码" prop="password">
-                  <el-input style="width:200px" v-model="formData.password" autocomplete="new-password"
-                    show-password></el-input>
+                  <el-input
+                    style="width: 200px"
+                    v-model="formData.password"
+                    autocomplete="new-password"
+                    show-password
+                  ></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="状态" prop="status">
-                  <el-select style="width:200px" v-model="formData.status" placeholder="请选择">
-                    <el-option v-for="val in user_statusoptions" :label="val.label" :value="val.value"
-                      :key="val.id"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    v-model="formData.status"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="val in user_statusoptions"
+                      :label="val.label"
+                      :value="val.value"
+                      :key="val.id"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="角色" prop="roleId">
-                  <el-select style="width:200px" v-model="formData.roleId" placeholder="请选择" disabled>
-                    <el-option v-for="val in roles" :label="val.name" :value="val.id + ''" :key="val.id"></el-option>
+                  <el-select
+                    style="width: 200px"
+                    v-model="formData.roleId"
+                    placeholder="请选择"
+                    disabled
+                  >
+                    <el-option
+                      v-for="val in roles"
+                      :label="val.name"
+                      :value="val.id + ''"
+                      :key="val.id"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
             </el-row>
           </el-form>
-          <div style="text-align: right;">
-            <el-button size="small" type="primary" @click="nextStep">下一步</el-button>
+          <div style="text-align: right">
+            <el-button size="small" type="primary" @click="nextStep('2')"
+              >下一步</el-button
+            >
           </div>
         </el-tab-pane>
         <el-tab-pane label="详细信息" name="2">
-          <el-form :rules="formDataRules" :model="formDataDetail" ref="formDataDetail" :inline="true"
-            @keyup.enter.native="submitForml('提交审核')" label-width="130px" size="small">
+          <el-form
+            :rules="formDataRules"
+            :model="formDataDetail"
+            ref="formDataDetail"
+            :inline="true"
+            @keyup.enter.native="submitForml('提交审核')"
+            label-width="130px"
+            size="small"
+          >
             <el-row>
               <el-col :span="8">
                 <el-form-item label="开户账号" prop="accountno">
-                  <el-input disabled v-model="formDataDetail.accountno"></el-input>
+                  <el-input
+                    disabled
+                    v-model="formDataDetail.accountno"
+                  ></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="开户行" prop="bankName">
-                  <el-input disabled v-model="formDataDetail.bankName"></el-input>
+                  <el-input
+                    disabled
+                    v-model="formDataDetail.bankName"
+                  ></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="性别" prop="sex">
-                  <el-select disabled style="width:200px" v-model="formDataDetail.sex" placeholder="请选择">
-                    <el-option v-for="val in sexoptions" :label="val.label" :value="val.value" :key="val.id"></el-option>
+                  <el-select
+                    disabled
+                    style="width: 200px"
+                    v-model="formDataDetail.sex"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="val in sexoptions"
+                      :label="val.label"
+                      :value="val.value"
+                      :key="val.id"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="出生日期" prop="birthday">
-                  <el-date-picker disabled style="width:200px" v-model="formDataDetail.birthday" type="date"
-                    placeholder="选择日期">
+                  <el-date-picker
+                    disabled
+                    style="width: 200px"
+                    v-model="formDataDetail.birthday"
+                    type="date"
+                    placeholder="选择日期"
+                  >
                   </el-date-picker>
                 </el-form-item>
               </el-col>
@@ -172,7 +268,12 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="婚姻状况" prop="maritalStatus">
-                  <el-select disabled v-model="formDataDetail.maritalStatus" placeholder="请选择婚姻状况" style="width:200px">
+                  <el-select
+                    disabled
+                    v-model="formDataDetail.maritalStatus"
+                    placeholder="请选择婚姻状况"
+                    style="width: 200px"
+                  >
                     <el-option label="未婚" value="未婚"></el-option>
                     <el-option label="已婚" value="已婚"></el-option>
                     <el-option label="离异" value="离异"></el-option>
@@ -182,15 +283,29 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="民族" prop="nations">
-                  <el-select disabled style="width:200px" v-model="formDataDetail.nations" placeholder="请选择民族">
-                    <el-option :label="national" :value="national" v-for="national in nationalList"
-                      :key="national"></el-option>
+                  <el-select
+                    disabled
+                    style="width: 200px"
+                    v-model="formDataDetail.nations"
+                    placeholder="请选择民族"
+                  >
+                    <el-option
+                      :label="national"
+                      :value="national"
+                      v-for="national in nationalList"
+                      :key="national"
+                    ></el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="政治面貌" prop="politicsStatus">
-                  <el-select disabled style="width:200px" v-model="formDataDetail.politicsStatus" placeholder="请选择">
+                  <el-select
+                    disabled
+                    style="width: 200px"
+                    v-model="formDataDetail.politicsStatus"
+                    placeholder="请选择"
+                  >
                     <el-option label="群众" value="群众"></el-option>
                     <el-option label="共青团员" value="共青团员"></el-option>
                     <el-option label="中共党员" value="中共党员"></el-option>
@@ -199,7 +314,12 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="健康状况" prop="health">
-                  <el-select disabled style="width:200px" v-model="formDataDetail.health" placeholder="请选择">
+                  <el-select
+                    disabled
+                    style="width: 200px"
+                    v-model="formDataDetail.health"
+                    placeholder="请选择"
+                  >
                     <el-option label="健康" value="健康"></el-option>
                     <el-option label="亚健康" value="亚健康"></el-option>
                     <el-option label="疾病" value="疾病"></el-option>
@@ -208,18 +328,29 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="邮政编码" prop="postalCode">
-                  <el-input disabled v-model="formDataDetail.postalCode"></el-input>
+                  <el-input
+                    disabled
+                    v-model="formDataDetail.postalCode"
+                  ></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="居住地址" prop="address">
-                  <el-input disabled v-model="formDataDetail.address"></el-input>
+                  <el-input
+                    disabled
+                    v-model="formDataDetail.address"
+                  ></el-input>
                 </el-form-item>
               </el-col>
 
               <el-col :span="8">
                 <el-form-item label="血型" prop="bloodType">
-                  <el-select disabled style="width:200px" v-model="formDataDetail.bloodType" placeholder="请选择">
+                  <el-select
+                    disabled
+                    style="width: 200px"
+                    v-model="formDataDetail.bloodType"
+                    placeholder="请选择"
+                  >
                     <el-option label="A型" value="A型"></el-option>
                     <el-option label="B型" value="B型"></el-option>
                     <el-option label="O型" value="O型"></el-option>
@@ -229,7 +360,12 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="学历" prop="education">
-                  <el-select disabled style="width:200px" v-model="formDataDetail.education" placeholder="请选择">
+                  <el-select
+                    disabled
+                    style="width: 200px"
+                    v-model="formDataDetail.education"
+                    placeholder="请选择"
+                  >
                     <el-option label="小学" value="小学"></el-option>
                     <el-option label="初中" value="初中"></el-option>
                     <el-option label="高中" value="高中"></el-option>
@@ -247,79 +383,125 @@
               </el-col>
               <el-col :span="8">
                 <el-form-item label="毕业时间" prop="graduationTime">
-                  <el-date-picker disabled style="width:200px" v-model="formDataDetail.graduationTime" type="date"
-                    placeholder="选择日期">
+                  <el-date-picker
+                    disabled
+                    style="width: 200px"
+                    v-model="formDataDetail.graduationTime"
+                    type="date"
+                    placeholder="选择日期"
+                  >
                   </el-date-picker>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="原工作单位" prop="formerEmployer">
-                  <el-input disabled v-model="formDataDetail.formerEmployer"></el-input>
+                  <el-input
+                    disabled
+                    v-model="formDataDetail.formerEmployer"
+                  ></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="入司时间" prop="entryTime">
-                  <el-date-picker disabled style="width:200px" v-model="formDataDetail.entryTime" type="date"
-                    placeholder="选择日期">
+                  <el-date-picker
+                    disabled
+                    style="width: 200px"
+                    v-model="formDataDetail.entryTime"
+                    type="date"
+                    placeholder="选择日期"
+                  >
                   </el-date-picker>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
-                <el-form-item label="代理人资格证号" prop="agentQualificationCode">
-                  <el-input disabled v-model="formDataDetail.agentQualificationCode"></el-input>
+                <el-form-item
+                  label="代理人资格证号"
+                  prop="agentQualificationCode"
+                >
+                  <el-input
+                    disabled
+                    v-model="formDataDetail.agentQualificationCode"
+                  ></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
                 <el-form-item label="紧急联系人电话" prop="emergencyContactTel">
-                  <el-input disabled v-model="formDataDetail.emergencyContactTel"></el-input>
+                  <el-input
+                    disabled
+                    v-model="formDataDetail.emergencyContactTel"
+                  ></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="8">
-                <el-form-item label="紧急联系人姓名" prop="emergencyContactName">
-                  <el-input disabled v-model="formDataDetail.emergencyContactName"></el-input>
+                <el-form-item
+                  label="紧急联系人姓名"
+                  prop="emergencyContactName"
+                >
+                  <el-input
+                    disabled
+                    v-model="formDataDetail.emergencyContactName"
+                  ></el-input>
                 </el-form-item>
               </el-col>
               <el-col :span="22">
-            <el-form-item label="备注" prop="remark">
-            <el-input
-            style="width: 30vw;"
-              v-model="formDataDetail.remark"
-              type="textarea"
-              :autosize="{ minRows: 4, maxRows: 6 }"
-              placeholder="请输入内容"
-              prop="remark"
-              maxlength="200"
-              show-word-limit
-            ></el-input>
-          </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-      <div style="text-align: right;">
-        <el-button
-          size="mini"
-          type="primary"
-          style="background-color: #0ec216; border: 1px solid #0ec216"
-          @click="submitForm(1)"
-          >审核通过</el-button
-        >
-        <el-button
-          size="mini"
-          type="danger"
-          style="background-color: #de504c; border: 1px solid #de504c"
-          @click="submitForm(2)"
-          >审核驳回</el-button
-        >
-        <el-button
-          size="small"
-          type="primary"
-          @click="closeDialog"
-          >取消</el-button
-        >
-      </div>
+                <el-form-item label="备注" prop="remark">
+                  <el-input
+                    style="width: 30vw"
+                    v-model="formDataDetail.remark"
+                    type="textarea"
+                    :autosize="{ minRows: 4, maxRows: 6 }"
+                    placeholder="请输入内容"
+                    prop="remark"
+                    maxlength="200"
+                    show-word-limit
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </el-form>
+          <div style="text-align: right">
+            <el-button size="small" type="primary" @click="nextStep('1')"
+              >上一步</el-button
+            >
+            <el-button size="small" type="primary" @click="nextStep('3')"
+              >下一步</el-button
+            >
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="影像资料" name="3">
+          <el-form
+            :model="formDataDetail"
+            ref="formDataDetail"
+            :inline="true"
+            label-width="130px"
+            size="small"
+          >
+            <peopleImage :dataForm="dataForm" :carfrontImg="true" :dialogVisible="dialogVisible"></peopleImage>
+          </el-form>
+          <div style="text-align: right">
+            <el-button size="small" type="primary" @click="nextStep('2')"
+              >上一步</el-button
+            >
+            <el-button
+              size="mini"
+              type="primary"
+              style="background-color: #0ec216; border: 1px solid #0ec216"
+              @click="submitForm(1)"
+              >审核通过</el-button
+            >
+            <el-button
+              size="mini"
+              type="danger"
+              style="background-color: #de504c; border: 1px solid #de504c"
+              @click="submitForm(2)"
+              >审核驳回</el-button
+            >
+            <el-button size="small" type="primary" @click="closeDialog"
+              >取消</el-button
+            >
+          </div>
         </el-tab-pane>
       </el-tabs>
-
     </el-dialog>
   </div>
 </template>
@@ -327,15 +509,17 @@
 <script>
 import tree from "@/components/ztree.vue"; // 机构树组件
 import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
+import peopleImage from "@/components/PeopleImage/index.vue"; //影像组件
 
 export default {
   components: {
     tree,
-    KtCommonTable
+    KtCommonTable,
+    peopleImage,
   },
   data() {
     return {
-      activeName: '1',
+      activeName: "1",
       //56个民族
       nationalList: [
         "汉族",
@@ -398,15 +582,17 @@ export default {
       pageData: {
         pageNum: 1,
         pageSize: 20,
-        deptId:JSON.parse(localStorage.getItem('user_data')).deptId  ,
+        deptId: JSON.parse(localStorage.getItem("user_data")).deptId,
         userId: "",
         realName: "",
-        mobile: ""
+        mobile: "",
       },
       formData: {},
       roles: [],
       formDataRules: {
-        remark: [{ required: true, message: "请填写驳回原因", trigger: "blur" }]
+        remark: [
+          { required: true, message: "请填写驳回原因", trigger: "blur" },
+        ],
       },
       formDataDetail: {},
       filterObject: {},
@@ -418,17 +604,17 @@ export default {
       ztreeObj: null,
       ztreeSetting: {
         check: {
-          enable: false
+          enable: false,
         },
         data: {
           simpleData: {
             enable: true,
-            pIdKey: "parentId"
-          }
+            pIdKey: "parentId",
+          },
         },
         view: {
-          showIcon: false
-        }
+          showIcon: false,
+        },
       },
       ztreeNodes: [],
       currentTreeNode: null,
@@ -446,7 +632,7 @@ export default {
           prop: "pdeptName",
           label: "机构名称",
           minWidth: 120,
-          sortable: false
+          sortable: false,
         },
 
         { prop: "deptName", label: "部门名称", minWidth: 80, sortable: false },
@@ -457,33 +643,46 @@ export default {
           prop: "sex",
           label: "性别",
           minWidth: 50,
-          sortable: false
+          sortable: false,
         },
         { prop: "mobile", label: "联系电话", minWidth: 100, sortable: false },
         {
           prop: "roleId",
           label: "角色",
           minWidth: 80,
-          sortable: false
+          sortable: false,
         },
         {
           prop: "status",
           label: "状态",
           minWidth: 50,
-          sortable: false
-        }
+          sortable: false,
+        },
       ],
       dialogTitle: "",
       dialogVisible: false, // 新增编辑界面是否显示
       departmentList: [], // 选中公司的所有部门的集合
       deptInfo: {}, //选中机构的基本信息
-      sexoptions: JSON.parse(localStorage.getItem('sexOptions')) ,
-      user_statusoptions: JSON.parse(localStorage.getItem('user_statusoptions')) ,
-      option: [] //机构列表
+      sexoptions: JSON.parse(localStorage.getItem("sexOptions")),
+      user_statusoptions: JSON.parse(
+        localStorage.getItem("user_statusoptions")
+      ),
+      option: [], //机构列表
+      //影像资料
+      dataForm: {
+        SFZ_01: "",
+        SFZ_02: "",
+        Z6Z_00: "",
+        LD_00: "",
+        YP_00: "",
+        DX_00: "",
+      },
+      //影像上传列表
+      imagesIdList:[],
     };
   },
   created() {
-    this.$api.role.findAll().then(res => {
+    this.$api.role.findAll().then((res) => {
       this.roles = res.data;
     });
     this.findLeftTreeData(); // 获取机构树的数据
@@ -515,16 +714,16 @@ export default {
       );
       this.rightSplitWidth = 100 - this.leftSplitWidth;
     },
-    findLeftTreeData: function() {
-      this.$api.dept.findDeptTree().then(res => {
+    findLeftTreeData: function () {
+      this.$api.dept.findDeptTree().then((res) => {
         this.ztreeNodes = res.data;
       });
     },
-    onZTreeClick: function(evt, treeId, treeNode) {
+    onZTreeClick: function (evt, treeId, treeNode) {
       // 点击事件
       this.currentTreeNode = evt;
       this.pageData.deptId = this.currentTreeNode.id;
-      this.pageData.pageNum =1;
+      this.pageData.pageNum = 1;
       this.findPage();
       this.formData.deptId = [];
       this.platform(treeId);
@@ -550,26 +749,28 @@ export default {
         name: this.pageData.realName,
         userId: this.pageData.userId,
         status: "2",
-        roleId: "20"
+        roleId: "20",
       };
       this.$api.user
         .findPage({
           dto,
           pageNum: this.pageData.pageNum,
-          pageSize: this.pageData.pageSize
+          pageSize: this.pageData.pageSize,
         })
-        .then(res => {
-          res.data.content.forEach(val => {
+        .then((res) => {
+          res.data.content.forEach((val) => {
             if (val.sex && val.sex !== "" && val.sex !== null) {
-              val.sex = this.sexoptions.find(ele => ele.value == val.sex).label;
+              val.sex = this.sexoptions.find(
+                (ele) => ele.value == val.sex
+              ).label;
             }
             if (val.status && val.status !== "" && val.status !== null) {
               val.status = this.user_statusoptions.find(
-                ele => ele.value == val.status
+                (ele) => ele.value == val.status
               ).label;
             }
             if (val.roleId && val.roleId !== "" && val.roleId !== null) {
-              val.roleId = this.roles.find(ele => ele.id == val.roleId).name;
+              val.roleId = this.roles.find((ele) => ele.id == val.roleId).name;
             }
           });
           this.pageResult = res.data;
@@ -587,19 +788,19 @@ export default {
       //--数据字典--
       this.$api.dict
         .findByLableName(typeName)
-        .then(response => {
+        .then((response) => {
           this[typeName + "options"] = response.data; // 把获取到的数据赋给this.data
         })
-        .catch(error => {
+        .catch((error) => {
           this[typeName + "options"] = [];
         });
     },
-       // 下一步
-       nextStep() {
+    // 下一步
+    nextStep(num) {
       this.$refs.formData.validate((valid) => {
         if (valid) {
-          this.activeName = '2'
-          // this.formData.deptIdCom= this.formData.deptId 
+          this.activeName = num;
+          // this.formData.deptIdCom= this.formData.deptId
           // this.formData.deptId =  this.formData.deptId.at(-1);
           // if (this.formData.referrerId) {
           //   this.formData.referrerName = this.recommenderOptions.find(val => this.formData.referrerId == val.id).name
@@ -617,16 +818,32 @@ export default {
           // });
         }
       });
-  },
-  handleTableEdit(params){
+    },
+    handleTableEdit(params) {
+      this.dataForm = {
+        SFZ_01: "",
+        SFZ_02: "",
+        Z6Z_00: "",
+        LD_00: "",
+        YP_00: "",
+        DX_00: "",
+      }
       this.$api.user.getUserDatail(params.row.userId).then((res) => {
-        if(res.code==200){
-          res.data.sysUser.status += ''
-        this.formData = res.data.sysUser
-        this.formDataDetail = res.data.sysUserInfo?res.data.sysUserInfo:{}
-        this.formData.password = ''
+        if (res.code == 200) {
+          res.data.sysUser.status += "";
+          this.formData = res.data.sysUser;
+          if(res.data.esmUserImageVo.length > 0) {
+            res.data.esmUserImageVo.forEach(item=>{
+              item.path = process.env.BASE_URL + item.path
+              this.dataForm[item.type]=item.path
+            })
+          }
+          this.formDataDetail = res.data.sysUserInfo
+            ? res.data.sysUserInfo
+            : {};
+          this.formData.password = "";
         }
-      })
+      });
       this.dialogTitle = "审核代理人";
       this.dialogVisible = true;
     },
@@ -638,26 +855,29 @@ export default {
     },
     submitForm(type) {
       if (type == 1) {
-        this.$api.user.getApprovalPass(this.formData.id).then(result => {
+        this.$api.user.getApprovalPass(this.formData.id).then((result) => {
           if (result.code == 200 && result.data) {
             this.$message({
               message: "审核已通过",
-              type: "success"
+              type: "success",
             });
             this.findPage();
             this.dialogVisible = false;
           }
         });
       } else {
-        this.$refs.formDataDetail.validate(valid => {
+        this.$refs.formDataDetail.validate((valid) => {
           if (valid) {
             this.$api.user
-              .getApprovalNotPass({ userId: this.formData.id,reason:this.formDataDetail.remark })
-              .then(result => {
+              .getApprovalNotPass({
+                userId: this.formData.id,
+                reason: this.formDataDetail.remark,
+              })
+              .then((result) => {
                 if (result.code == 200 && result.data) {
                   this.$message({
                     message: "审核已驳回",
-                    type: "success"
+                    type: "success",
                   });
                   this.findPage();
                   this.dialogVisible = false;
@@ -666,8 +886,8 @@ export default {
           }
         });
       }
-    }
-  }
+    },
+  },
 };
 </script>
 

+ 47 - 4
src/views/PeopleManage/Agent/AgentManage.vue

@@ -263,10 +263,20 @@
               </el-col>
             </el-row>
           </el-form>
+          <div style="text-align: right;">
+            <el-button size="small" type="primary" @click="activeName = '1'">上一步</el-button>
+            <el-button size="small" type="primary" @click="activeName = '3'">下一步</el-button>
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="影像资料" name="3">
+          <el-form :model="formDataDetail" ref="formDataDetail" :inline="true"
+           label-width="130px" size="small">
+           <peopleImage :dataForm="dataForm" :imagesIdList="imagesIdList" :dialogVisible="dialogVisible"></peopleImage>
+          </el-form>
           <div style="text-align: right;">
             <el-button size="small" type="primary" style="background-color: #ffc000; border: 1px solid #ffc000"
               @click="closeDialog">取消</el-button>
-            <el-button size="small" type="primary" @click="activeName = '1'">上一步</el-button>
+            <el-button size="small" type="primary" @click="activeName = '2'">上一步</el-button>
             <el-button size="small" type="primary" @click="submitForm">提交</el-button>
           </div>
         </el-tab-pane>
@@ -281,12 +291,14 @@
 import KtButton from "@/views/Core/KtButton"; // 按钮权限组件
 import tree from "@/components/ztree.vue"; // 机构树组件
 import templateTable from '../../../components/TemplateTable/index.vue'
+import peopleImage from '@/components/PeopleImage/index.vue'
 import { validateSfz } from "../../../utils/validate.js";
 export default {
   components: {
     KtButton,
     tree,
-    templateTable
+    templateTable,
+    peopleImage
   },
   data() {
     return {
@@ -351,6 +363,17 @@ export default {
         "赫哲族",
         "珞巴族",
       ],
+      //影像资料
+      dataForm: {
+        SFZ_01: "",
+        SFZ_02: "",
+        Z6Z_00: "",
+        LD_00: "",
+        YP_00: "",
+        DX_00: "",
+      },
+      //影像上传列表
+      imagesIdList:[],
       formList: [
         {
           label: "工号",
@@ -636,13 +659,33 @@ export default {
     handleSearchList(data) {
       this.findPage(data)
     },
+    //编辑
     async handleTableEdit(params) {
+      this.dataForm = {
+        SFZ_01: "",
+        SFZ_02: "",
+        Z6Z_00: "",
+        LD_00: "",
+        YP_00: "",
+        DX_00: "",
+      };
+      this.imagesIdList = [];
       this.activeName = '1'
       let res = await this.$api.user.getUserDatail(params.userId)
       if (res.code == 200) {
         this.$api.user.selectfindByreferrerId({ deptId: res.data.deptId }).then((res) => {
           this.recommenderOptions = res.data
         });
+        if(res.data.esmUserImageVo.length > 0) {
+          this.imagesIdList = res.data.esmUserImageVo.map(item=>{
+            item.path = process.env.BASE_URL + item.path
+            this.dataForm[item.type]=item.path
+            return {
+              imageId:item.imageId,
+              type:item.type
+            }
+          })
+        }
         res.data.sysUser.status += ''
         this.formData = res.data.sysUser
         this.formDataDetail = res.data.sysUserInfo?res.data.sysUserInfo:{}
@@ -737,7 +780,7 @@ export default {
                 if(!this.formDataDetail.password){
                   this.formDataDetail.password=this.formDataDetail.mobile+'@2023'
                 }
-                this.$api.user.saveUserInfo({ sysUser: this.formData, sysUserInfo: this.formDataDetail }).then((res) => {
+                this.$api.user.saveUserInfo({esmUserImageVo:this.imagesIdList, sysUser: this.formData, sysUserInfo: this.formDataDetail }).then((res) => {
                   if (res.code == 200) {
                     this.$message({
                       message: "保存成功",
@@ -757,7 +800,7 @@ export default {
                 });
               }
               else{
-                this.$api.user.updateUserInfo(this.formData.id,{ sysUser: this.formData, sysUserInfo: this.formDataDetail }).then((res) => {
+                this.$api.user.updateUserInfo(this.formData.id,{esmUserImageVo:this.imagesIdList,sysUser: this.formData, sysUserInfo: this.formDataDetail }).then((res) => {
                   if (res.code == 200) {
                     this.$message({
                       message: "编辑成功",

+ 46 - 20
src/views/PeopleManage/Staff/StaffExamine.vue

@@ -66,7 +66,7 @@
       :before-close="handleDialogBefore" @close="closeDialog" v-dialogDrag>
       <el-tabs v-model="activeName" >
         <el-tab-pane label="基本信息" name="1">
-          <el-form :model="formData" disabled ref="formData" :inline="true" @keyup.enter.native="nextStep()"
+          <el-form :model="formData" disabled ref="formData" :inline="true" @keyup.enter.native="nextStep('1')"
             label-width="130px" size="small">
             <el-row>
               <el-col :span="8">
@@ -123,7 +123,7 @@
             </el-row>
           </el-form>
           <div style="text-align: right;">
-            <el-button size="small" type="primary" @click="nextStep">下一步</el-button>
+            <el-button size="small" type="primary" @click="nextStep('2')">下一步</el-button>
           </div>
         </el-tab-pane>
         <el-tab-pane label="详细信息" name="2">
@@ -277,12 +277,26 @@
               </el-col>
             </el-row>
           </el-form>
+          <div style="text-align: right;">
+            <div style="text-align: right;">
+              <el-button size="small" type="primary" @click="nextStep('1')">上一步</el-button>
+              <el-button size="small" type="primary" @click="nextStep('3')">下一步</el-button>
+            </div>
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="影像资料" name="3">
+          <el-form :model="formDataDetail" ref="formDataDetail" :inline="true"
+           label-width="130px" size="small">
+           <peopleImage :dataForm="dataForm" :dialogVisible="dialogVisible" :carfrontImg="true"></peopleImage>
+          </el-form>
           <div style="text-align: right;">
             <el-button size="mini" type="primary" style="background-color: #0ec216; border: 1px solid #0ec216"
               @click="submitForm(1)">审核通过</el-button>
             <el-button size="mini" type="danger" style="background-color: #de504c; border: 1px solid #de504c"
               @click="submitForm(2)">审核驳回</el-button>
             <el-button size="small" type="primary" @click="closeDialog">取消</el-button>
+            <div style="text-align: right;">
+            </div>
           </div>
         </el-tab-pane>
       </el-tabs>
@@ -296,11 +310,14 @@
 <script>
 import tree from "@/components/ztree.vue"; // 机构树组件
 import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
+import peopleImage from '@/components/PeopleImage/index.vue' //影像组件
+
 
 export default {
   components: {
     tree,
     KtCommonTable,
+    peopleImage
   },
   data() {
     return {
@@ -364,6 +381,15 @@ export default {
         "赫哲族",
         "珞巴族",
       ],
+      //影像资料
+      dataForm: {
+        SFZ_01: "",
+        SFZ_02: "",
+        Z6Z_00: "",
+        LD_00: "",
+        YP_00: "",
+        DX_00: "",
+      },
       pageData: {
         pageNum: 1,
         pageSize: 20,
@@ -464,26 +490,10 @@ export default {
   },
   methods: {
     // 下一步
-    nextStep() {
+    nextStep(num) {
       this.$refs.formData.validate((valid) => {
         if (valid) {
-          this.activeName = '2'
-          // this.formData.deptIdCom= this.formData.deptId 
-          // this.formData.deptId =  this.formData.deptId.at(-1);
-          // if (this.formData.referrerId) {
-          //   this.formData.referrerName = this.recommenderOptions.find(val => this.formData.referrerId == val.id).name
-          // }
-          // this.$api.user.saveOrUpdate(this.formData).then((res) => {
-          //   if (res.code == 200) {
-          //   this.activeName='2'
-          //   this.basicInformation=res.data
-          //   } else {
-          //     this.$message({
-          //       message: `操作失败,请重新添加,(${res.msg})`,
-          //       type: "error",
-          //     });
-          //   }
-          // });
+          this.activeName = num
         }
       });
     },
@@ -584,10 +594,25 @@ export default {
           this[typeName + "options"] = [];
         });
     },
+    //审核按钮事件
     handleTableEdit(params) {
+      this.dataForm = {
+        SFZ_01: "",
+        SFZ_02: "",
+        Z6Z_00: "",
+        LD_00: "",
+        YP_00: "",
+        DX_00: "",
+      };
       this.$api.user.getUserDatail(params.row.userId).then((res) => {
         if (res.code == 200) {
           res.data.sysUser.status += ''
+          if(res.data.esmUserImageVo.length > 0) {
+            res.data.esmUserImageVo.forEach(item=>{
+              item.path = process.env.BASE_URL + item.path
+              this.dataForm[item.type]=item.path
+            })
+          }
           this.formData = res.data.sysUser
           this.formDataDetail = res.data.sysUserInfo ? res.data.sysUserInfo : {}
           this.formData.password = ''
@@ -602,6 +627,7 @@ export default {
         this.formData.deptId = val.at(-1);
       }
     },
+    //审核提交
     submitForm(type) {
       if (type == 1) {
         this.$api.user.getApprovalPass(this.formData.id).then(result => {

+ 46 - 3
src/views/PeopleManage/Staff/StaffManage.vue

@@ -325,10 +325,20 @@
               </el-col>
             </el-row>
           </el-form>
+          <div style="text-align: right;">
+            <el-button size="small" type="primary" @click="activeName = '1'">上一步</el-button>
+            <el-button size="small" type="primary" @click="activeName = '3'">下一步</el-button>
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="影像资料" name="3">
+          <el-form :model="formDataDetail" ref="formDataDetail" :inline="true"
+           label-width="130px" size="small">
+           <peopleImage :dataForm="dataForm" :imagesIdList="imagesIdList" :dialogVisible="dialogVisible"></peopleImage>
+          </el-form>
           <div style="text-align: right;">
             <el-button size="small" type="primary" style="background-color: #ffc000; border: 1px solid #ffc000"
               @click="closeDialog">取消</el-button>
-            <el-button size="small" type="primary" @click="activeName = '1'">上一步</el-button>
+            <el-button size="small" type="primary" @click="activeName = '2'">上一步</el-button>
             <el-button size="small" type="primary" @click="submitForm">提交</el-button>
           </div>
         </el-tab-pane>
@@ -344,12 +354,14 @@ import KtButton from "@/views/Core/KtButton"; // 按钮权限组件
 import tree from "@/components/ztree.vue"; // 机构树组件
 import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
 import { validateSfz } from "../../../utils/validate.js";
+import peopleImage from '@/components/PeopleImage/index.vue' //影像组件
 
 export default {
   components: {
     KtButton,
     tree,
     KtCommonTable,
+    peopleImage
   },
   data() {
     return {
@@ -530,6 +542,17 @@ export default {
       user_statusoptions: JSON.parse(localStorage.getItem('user_statusoptions')) ,
       roles: JSON.parse(localStorage.getItem('find_all')) ,
       option: [], //机构列表
+      //影像资料
+      dataForm: {
+        SFZ_01: "",
+        SFZ_02: "",
+        Z6Z_00: "",
+        LD_00: "",
+        YP_00: "",
+        DX_00: "",
+      },
+      //影像上传列表
+      imagesIdList:[],
     };
   },
   created() {
@@ -684,12 +707,32 @@ export default {
       // });
       // return p;
     },
+    //编辑人员
     async handleTableEdit(params) {
+      this.dataForm = {
+        SFZ_01: "",
+        SFZ_02: "",
+        Z6Z_00: "",
+        LD_00: "",
+        YP_00: "",
+        DX_00: "",
+      };
+      this.imagesIdList = [];
       this.activeName = '1'
       let res = await this.$api.user.getUserDatail(params.row.userId)
       if (res.code == 200) {
         res.data.sysUser.status += ''
         this.formData = res.data.sysUser
+        if(res.data.esmUserImageVo.length > 0) {
+          this.imagesIdList = res.data.esmUserImageVo.map(item=>{
+            item.path = process.env.BASE_URL + item.path
+            this.dataForm[item.type]=item.path
+            return {
+              imageId:item.imageId,
+              type:item.type
+            }
+          })
+        }
         this.formDataDetail = res.data.sysUserInfo?res.data.sysUserInfo:{}
         this.formData.password = ''
         this.dialogTitle = "编辑后线人员";
@@ -796,7 +839,7 @@ export default {
               //   return false
               // }
               if (this.dialogTitle == '新增后线人员') {
-                this.$api.user.saveUserInfo({ sysUser: this.formData, sysUserInfo: this.formDataDetail }).then((res) => {
+                this.$api.user.saveUserInfo({esmUserImageVo:this.imagesIdList, sysUser: this.formData, sysUserInfo: this.formDataDetail }).then((res) => {
                   if (res.code == 200) {
                     this.$message({
                       message: "保存成功",
@@ -815,7 +858,7 @@ export default {
                 });
               }
               else{
-                this.$api.user.updateUserInfo(this.formData.id,{ sysUser: this.formData, sysUserInfo: this.formDataDetail }).then((res) => {
+                this.$api.user.updateUserInfo(this.formData.id,{ esmUserImageVo:this.imagesIdList,sysUser: this.formData, sysUserInfo: this.formDataDetail }).then((res) => {
                   if (res.code == 200) {
                     this.$message({
                       message: "编辑成功",

+ 360 - 249
src/views/ProductManage/Newcarrule/MaintenanceRule.vue

@@ -1,283 +1,394 @@
 <template>
-    <div>
-      <el-main ref="elMain" style="padding: 0px;">
-        <!-- 工具区域Start -->
-        <el-row style="margin: 0px 20px;">
-          <kt-button style="background-color: #52C578;border:#52C578;margin-left: 15px;margin-bottom: 20px;"
-            icon="fa fa-plus" label="添加" type="primary" perms="sys:dept:add" @click="handleAddjudgeRule" />
+  <div>
+    <el-main ref="elMain" style="padding: 0px">
+      <!-- 工具区域Start -->
+      <el-row style="margin: 0px 20px">
+        <kt-button
+          style="
+            background-color: #52c578;
+            border: #52c578;
+            margin-left: 15px;
+            margin-bottom: 20px;
+          "
+          icon="fa fa-plus"
+          label="添加"
+          type="primary"
+          perms="sys:dept:add"
+          @click="handleAddjudgeRule"
+        />
+      </el-row>
+      <kt-common-table
+        permsEdit="judgeRule:judgeRule:edit"
+        permsDelete="judgeRule:judgeRule:delete"
+        :data="pageResult"
+        :columns="columns"
+        editButtonName="编辑"
+        deleteButtonName="删除"
+        :showBatchDelete="true"
+        @findPage="findPage"
+        @handleEdit="handleTableEdit"
+        @handleDeleteFlag="handleTableDeleteFlag"
+      >
+      </kt-common-table>
+    </el-main>
+
+    <!-- 新增对话框 -->
+    <el-dialog
+      :title="dialogTitle"
+      v-dialogDrag
+      :visible.sync="judgeRuleDialogVisible"
+      width="800px"
+      @open="closeDialog"
+    >
+      <el-form
+        :model="dataForm"
+        :rules="dataFormRules"
+        ref="dataForm"
+        @keyup.enter.native="submitForm"
+        label-width="100px"
+        size="small"
+      >
+        <el-row>
+          <el-col :span="20">
+            <el-form-item label="归属保司" prop="companyId">
+              <el-select
+                v-model="dataForm.companyId"
+                placeholder="请选择归属保司"
+                filterable
+              >
+                <el-option
+                  v-for="item in prodInsurance"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="10">
+            <el-form-item label="单位" prop="unitTypeCode">
+              <el-select
+                v-model="dataForm.unitTypeCode"
+                placeholder="请选择单位"
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="(item, index) in unitTypeData"
+                  :key="index"
+                  :label="item.dictTag"
+                  :value="item.dictTag"
+                ></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="10" :offset="2">
+            <el-form-item label="单位值" prop="unitTypeValue">
+              <el-input
+                type="number"
+                @change="judgValue"
+                v-model="dataForm.unitTypeValue"
+                placeholder="请输入单位值"
+              ></el-input>
+            </el-form-item>
+          </el-col>
         </el-row>
-        <kt-common-table permsEdit="judgeRule:judgeRule:edit" permsDelete="judgeRule:judgeRule:delete" :data="pageResult"
-          :columns="columns" editButtonName="编辑" deleteButtonName="删除" :showBatchDelete="true" @findPage="findPage"
-          @handleEdit="handleTableEdit" @handleDeleteFlag="handleTableDeleteFlag">
-        </kt-common-table>
-      </el-main>
-  
-      <!-- 新增对话框 -->
-      <el-dialog :title="dialogTitle" v-dialogDrag :visible.sync="judgeRuleDialogVisible" width="800px" @open="closeDialog">
-        <el-form :model="dataForm" :rules="dataFormRules" ref="dataForm" @keyup.enter.native="submitForm"
-          label-width="100px" size="small">
-          <el-row>
-            <el-col :span="20">
-              <el-form-item label="归属保司" prop="companyId">
-                <el-select v-model="dataForm.companyId" placeholder="请选择归属保司" filterable >
-                  <el-option v-for="item in prodInsurance" :key="item.id" :label="item.name" :value="item.id"></el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :span="10">
-              <el-form-item label="单位" prop="unitTypeCode">
-                <el-select v-model="dataForm.unitTypeCode" placeholder="请选择单位" style="width:100%;">
-                  <el-option label="月" value="月"></el-option>
-                  <el-option label="天" value="天"></el-option>
-                </el-select>
-              </el-form-item>
-            </el-col>
-            <el-col :span="10" :offset="2">
-              <el-form-item label="单位值" prop="unitTypeValue">
-                <el-input type="number" @change="judgValue" v-model="dataForm.unitTypeValue" placeholder="请输入单位值"></el-input>
-              </el-form-item>
-            </el-col>
-          </el-row>
-        </el-form>
-        <span slot="footer" class="dialog-footer">
-          <el-button size="small" @click="judgeRuleDialogVisible = false">取 消</el-button>
-          <el-button size="small" type="primary" @click="submitForm">确 定</el-button>
-        </span>
-      </el-dialog>
-    </div>
-  </template>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="small" @click="judgeRuleDialogVisible = false"
+          >取 消</el-button
+        >
+        <el-button size="small" type="primary" @click="submitForm"
+          >确 定</el-button
+        >
+      </span>
+    </el-dialog>
+  </div>
+</template>
   <script>
-  import KtButton from "@/views/Core/KtButton";//按钮权限组件
-  import KtCommonTable from "@/views/Core/KtCommonTable.vue";//表格组件
-  export default {
-    components: {
-      KtButton,
-      KtCommonTable
-    },
-    data() {
-      return {
-        // 右侧列表查询数据Start
-        pageResult: {},
-        pageRequest: {  //查询的默认条件
-          pageNum: 1,
-          pageSize: 20,
+import KtButton from "@/views/Core/KtButton"; //按钮权限组件
+import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
+export default {
+  components: {
+    KtButton,
+    KtCommonTable,
+  },
+  data() {
+    return {
+      // 右侧列表查询数据Start
+      pageResult: {},
+      pageRequest: {
+        //查询的默认条件
+        pageNum: 1,
+        pageSize: 20,
+      },
+      columns: [
+        // 数据列
+        {
+          prop: "companyName",
+          label: "保险公司名称",
+          minWidth: 80,
+          sortable: false,
         },
-        columns: [ // 数据列
-          { prop: "companyName", label: "保险公司名称", minWidth: 80, sortable: false },
-          { prop: "unitTypeCode", label: "新车判断单位", minWidth: 80, sortable: false },
-          { prop: "unitTypeValue", label: "新车判断单位值", minWidth: 80, sortable: false },
-        ],
-        // 产品字段
-        dataForm: {
-          companyId: "",//保险公司名称
-          unitTypeCode: "",//新车判断单位
-          unitTypeValue: "",//新车判断单位值
+        {
+          prop: "unitTypeCode",
+          label: "新车判断单位",
+          minWidth: 80,
+          sortable: false,
         },
-        dataFormRules: {
-          companyId: [{ required: true, message: "请选择保险公司", trigger: "blur" }],
-          unitTypeCode: [{ required: true, message: "新车判断单位不能为空", trigger: "blur" }],
-          unitTypeValue: [{ required: true, message: "新车判断单位值不能为空", trigger: "blur" }]
+        {
+          prop: "unitTypeValue",
+          label: "新车判断单位值",
+          minWidth: 80,
+          sortable: false,
         },
-        judgeRuleDialogVisible: false, //控制产品对话框
-        operType: "ADD", //'ADD','EDIT'
-        dialogTitle: "新增",
-        prodInsurance: [], //归属保司字典
-        id: "",
-      };
-    },
-    created() {
+      ],
+      // 产品字段
+      dataForm: {
+        companyId: "", //保险公司名称
+        unitTypeCode: "", //新车判断单位
+        unitTypeValue: "", //新车判断单位值
+      },
+      dataFormRules: {
+        companyId: [
+          { required: true, message: "请选择保险公司", trigger: "blur" },
+        ],
+        unitTypeCode: [
+          { required: true, message: "新车判断单位不能为空", trigger: "blur" },
+        ],
+        unitTypeValue: [
+          {
+            required: true,
+            message: "新车判断单位值不能为空",
+            trigger: "blur",
+          },
+        ],
+      },
+      judgeRuleDialogVisible: false, //控制产品对话框
+      operType: "ADD", //'ADD','EDIT'
+      dialogTitle: "新增",
+      prodInsurance: [], //归属保司字典
+      id: "",
+      unitTypeData: [], //新车判断单位字典数据
+    };
+  },
+  created() {
+    this.dictList();
+  },
+  watch: {},
+  methods: {
+    /**
+     * 获取系统字典
+     */
+    dictList(data) {
+      this.$api.dict
+        .dictList()
+        .then((res) => {
+          //获取新车判断单位字典数据
+          let dataArr = res.filter((item) => {
+            return item.dictType == "newCarJudgingUnit";
+          });
+          dataArr.length > 0 ? (this.unitTypeData = dataArr[0].ddList) : "";
+        })
+        .then(data != null ? data.callback : "");
     },
-    watch: {
-  
+    /**
+     * 判断修改单位值
+     */
+    judgValue(e) {
+      if (e < 1 && e != "") {
+        this.$message({
+          message: "单位值不能小于等于0",
+          type: "error",
+        });
+        this.dataForm.unitTypeValue = "";
+      }
     },
-    methods: {
-      /**
-       * 判断修改单位值
-       */
-      judgValue(e){
-        if(e<1&&e!=''){
-          this.$message({
-            message: '单位值不能小于等于0',
-            type: 'error'
-          })
-          this.dataForm.unitTypeValue=''
+    /**
+     * 字典归属保司数据
+     */
+    insCompanyquery() {
+      return new Promise((resolve, reject) => {
+        if (this.prodInsurance.length > 0) {
+          resolve();
+          return;
         }
-      },
-      /**
-       * 字典归属保司数据
-       */
-      insCompanyquery() {
-        return new Promise ((resolve,reject)=>{
-          if(this.prodInsurance.length>0){
-            resolve()
-            return
-          }
-          this.$api.insCompany.gainTopList("1").then(res => {
-            this.prodInsurance = res.data;
-            resolve()
-          })
-        })
-      },
-      /**
-       * 列表编辑按钮
-       */
-      handleTableEdit({ row, index }) {
-        this.operType = "EDIT";//'ADD','EDIT'
-        this.dialogTitle = "编辑";
-        this.dataForm = {
-          companyId: row.companyId,
-          unitTypeCode: row.unitTypeCode,
-          unitTypeValue: row.unitTypeValue,
-        };
-        this.id = row.id;
-        this.judgeRuleDialogVisible = true;
-      },
-      /**
-       * 列表删除按钮
-      **/
-      handleTableDeleteFlag(data) {
-        this.$confirm('此操作将删除该数据, 是否继续?', '提示', {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
-          type: 'warning'
-        }).then(() => {
-          this.$api.judgerule.deleteJudgeRule(data.row.id).then((res)=>{
-            if(res.code==200){
+        this.$api.insCompany.gainTopList("1").then((res) => {
+          this.prodInsurance = res.data;
+          resolve();
+        });
+      });
+    },
+    /**
+     * 列表编辑按钮
+     */
+    handleTableEdit({ row, index }) {
+      this.operType = "EDIT"; //'ADD','EDIT'
+      this.dialogTitle = "编辑";
+      this.dataForm = {
+        companyId: row.companyId,
+        unitTypeCode: row.unitTypeCode,
+        unitTypeValue: row.unitTypeValue,
+      };
+      this.id = row.id;
+      this.judgeRuleDialogVisible = true;
+    },
+    /**
+     * 列表删除按钮
+     **/
+    handleTableDeleteFlag(data) {
+      this.$confirm("此操作将删除该数据, 是否继续?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          this.$api.judgerule.deleteJudgeRule(data.row.id).then((res) => {
+            if (res.code == 200) {
               this.$message({
-                type: 'success',
-                message: '删除成功!'
+                type: "success",
+                message: "删除成功!",
               });
               this.findPage();
-            }else{
+            } else {
               this.$message({
-                type: 'warning',
-                message: res.msg
+                type: "warning",
+                message: res.msg,
               });
             }
-          })
-        }).catch(() => {
+          });
+        })
+        .catch(() => {
           this.$message({
-            type: 'info',
-            message: '已取消删除'
-          });          
+            type: "info",
+            message: "已取消删除",
+          });
         });
-      },
-      /**
-       * 新增按钮
-       */
-      handleAddjudgeRule() {
-        this.operType = "ADD";//'ADD','EDIT'
-        this.dialogTitle = "新增";
-        this.judgeRuleDialogVisible = true;
-      },
-      /**
-       * 获取列表数据
-       */
-      findPage(data) {
-        this.insCompanyquery().then(()=>{
-          if (data && data.pageRequest) {
+    },
+    /**
+     * 新增按钮
+     */
+    handleAddjudgeRule() {
+      this.operType = "ADD"; //'ADD','EDIT'
+      this.dialogTitle = "新增";
+      this.judgeRuleDialogVisible = true;
+    },
+    /**
+     * 获取列表数据
+     */
+    findPage(data) {
+      this.insCompanyquery().then(() => {
+        if (data && data.pageRequest) {
           this.pageRequest.pageNum = data.pageRequest.pageNum;
           this.pageRequest.pageSize = data.pageRequest.pageSize;
         }
-        this.$api.judgerule.findJudgeRulePage(this.pageRequest).then((res) => {
-          /**
-           * 当页数大于1时,点击删除按钮删除当前页最后一条时让当前页数见一在重新请求数据strat 
-           */
-          if(res.data.content.length == 0&&this.pageRequest.pageNum>1) {
-            this.pageRequest.pageNum = this.pageRequest.pageNum-1
-            this.findPage()
-          }
-          /**
-           * 当页数大于1时,点击删除按钮删除当前页最后一条时让当前页数见一在重新请求数据end
-           */
-          res.data.content.forEach(item=>{ //保险公司id跟名称转换
-            let filterData = this.prodInsurance.filter(filItem=>{
-              return item.companyId == filItem.id
-            })
-            if(filterData.length){
-              item.companyName = filterData[0].name
-            }else{
-              item.companyName = item.companyId
+        this.$api.judgerule
+          .findJudgeRulePage(this.pageRequest)
+          .then((res) => {
+            if (res.code == 200) {
+              /**
+               * 当页数大于1时,点击删除按钮删除当前页最后一条时让当前页数见一在重新请求数据strat
+               */
+              if (
+                res.data.content.length == 0 &&
+                this.pageRequest.pageNum > 1
+              ) {
+                this.pageRequest.pageNum = this.pageRequest.pageNum - 1;
+                this.findPage();
+              }
+              /**
+               * 当页数大于1时,点击删除按钮删除当前页最后一条时让当前页数见一在重新请求数据end
+               */
+              res.data.content.forEach((item) => {
+                //保险公司id跟名称转换
+                let filterData = this.prodInsurance.filter((filItem) => {
+                  return item.companyId == filItem.id;
+                });
+                if (filterData.length) {
+                  item.companyName = filterData[0].name;
+                } else {
+                  item.companyName = item.companyId;
+                }
+              });
+              this.pageResult = res.data;
             }
           })
-          this.pageResult = res.data;
-          
-          }).then(data != null ? data.callback : '')
-        })
-        
-      },
-      /**
-       * 弹框显示
-       */
-      closeDialog() {
-        if (this.operType == "ADD") {
-          for (let key in this.dataForm) {
-            this.dataForm[key] = "";
-          }
+          .then(data != null ? data.callback : "");
+      });
+    },
+    /**
+     * 弹框显示
+     */
+    closeDialog() {
+      if (this.operType == "ADD") {
+        for (let key in this.dataForm) {
+          this.dataForm[key] = "";
         }
-      },
-      /**
-       * 提交数据
-       */
-      submitForm() {
-        this.$refs.dataForm.validate((valid) => {
-          if (valid) {
-            if (this.operType == 'ADD') { //新增
-              this.$api.judgerule.addJudgeRule(this.dataForm).then((res) => {
-                if (res.code == 200) {
-                  this.$message({
-                    message: '操作成功',
-                    type: 'success'
-                  })
-                  this.findPage();
-                  this.judgeRuleDialogVisible = false;
-                } else {
-                  this.$message({
-                    message: '操作失败',
-                    type: 'error'
-                  })
-                }
-              })
-            } else { //编辑
-              this.$api.judgerule.editJudgeRule(this.id, this.dataForm).then((res) => {
+      }
+    },
+    /**
+     * 提交数据
+     */
+    submitForm() {
+      this.$refs.dataForm.validate((valid) => {
+        if (valid) {
+          if (this.operType == "ADD") {
+            //新增
+            this.$api.judgerule.addJudgeRule(this.dataForm).then((res) => {
+              if (res.code == 200) {
+                this.$message({
+                  message: "操作成功",
+                  type: "success",
+                });
+                this.findPage();
+                this.judgeRuleDialogVisible = false;
+              } else {
+                this.$message({
+                  message: "操作失败",
+                  type: "error",
+                });
+              }
+            });
+          } else {
+            //编辑
+            this.$api.judgerule
+              .editJudgeRule(this.id, this.dataForm)
+              .then((res) => {
                 if (res.code == 200) {
                   this.$message({
-                    message: '修改成功',
-                    type: 'success'
-                  })
+                    message: "修改成功",
+                    type: "success",
+                  });
                   this.findPage();
                   this.judgeRuleDialogVisible = false;
                 } else {
                   this.$message({
-                    message: '操作失败',
-                    type: 'error'
-                  })
+                    message: "操作失败",
+                    type: "error",
+                  });
                 }
-              })
-            }
-  
-  
+              });
           }
-        })
-      },
-    }
-  }
-  </script>
+        }
+      });
+    },
+  },
+};
+</script>
   
   <style scoped>
-  /* 顶部查询条件样式Start */
-  .queryFrom .el-row {
-    margin: 10px 0px;
-  }
-  
-  .queryFrom .el-form-item {
-    margin-bottom: 0px;
-  }
-  
-  .queryFrom .queryButton .el-form-item__content {
-    margin-left: 40px !important;
-  }
-  
-  /* 顶部查询条件样式End */
-  </style>
+/* 顶部查询条件样式Start */
+.queryFrom .el-row {
+  margin: 10px 0px;
+}
+
+.queryFrom .el-form-item {
+  margin-bottom: 0px;
+}
+
+.queryFrom .queryButton .el-form-item__content {
+  margin-left: 40px !important;
+}
+
+/* 顶部查询条件样式End */
+</style>