ソースを参照

Merge branch 'master' of http://git.minpay.cc/SupplyChain/front

guolufei123 4 年 前
コミット
b0d568bf4e
34 ファイル変更1206 行追加231 行削除
  1. 11 0
      front-vue/src/api/common/companyHandler.js
  2. 34 0
      front-vue/src/api/system/user.js
  3. 1 1
      front-vue/src/permission.js
  4. 20 0
      front-vue/src/router/index.js
  5. 5 5
      front-vue/src/views/approval/approval/deal.vue
  6. 29 6
      front-vue/src/views/service/bill/addBill.vue
  7. 29 6
      front-vue/src/views/service/bill/billAdd.vue
  8. 1 1
      front-vue/src/views/service/bill/billDetail.vue
  9. 29 6
      front-vue/src/views/service/bill/billEdit.vue
  10. 1 0
      front-vue/src/views/service/contract/addContract.vue
  11. 3 3
      front-vue/src/views/service/contract/detailContract.vue
  12. 1 0
      front-vue/src/views/service/contract/editContract.vue
  13. 66 29
      front-vue/src/views/service/credit/credit.vue
  14. 30 5
      front-vue/src/views/service/credit/creditSeal.vue
  15. 22 14
      front-vue/src/views/service/credit/goFinance.vue
  16. 5 5
      front-vue/src/views/service/creditLine/addCreditLine.vue
  17. 18 6
      front-vue/src/views/service/creditLine/creditLine.vue
  18. 12 4
      front-vue/src/views/service/creditLine/detailCreditLine.vue
  19. 8 8
      front-vue/src/views/service/creditLine/editCreditLine.vue
  20. 6 1
      front-vue/src/views/service/creditLine/supplierCreditLine.vue
  21. 20 5
      front-vue/src/views/service/financeProduct/addFinanceProduct.vue
  22. 4 4
      front-vue/src/views/service/financeProduct/detailFinanceProduct.vue
  23. 19 5
      front-vue/src/views/service/financeProduct/editFinanceProduct.vue
  24. 8 7
      front-vue/src/views/service/financeRecord/addFinanceRecord.vue
  25. 1 1
      front-vue/src/views/service/financeRecord/approvalRecordDetail.vue
  26. 6 4
      front-vue/src/views/service/financeRecord/detailFinanceRecord.vue
  27. 13 13
      front-vue/src/views/service/financeRecord/financeRecord.vue
  28. 63 36
      front-vue/src/views/service/financeRecord/recordSeal.vue
  29. 2 0
      front-vue/src/views/service/invoice/invoice.vue
  30. 5 0
      front-vue/src/views/service/repayment/detailRepayment.vue
  31. 45 23
      front-vue/src/views/system/company/certification.vue
  32. 26 10
      front-vue/src/views/system/fundSide/fundSide.vue
  33. 368 0
      front-vue/src/views/system/user/detail.vue
  34. 295 23
      front-vue/src/views/system/user/index.vue

+ 11 - 0
front-vue/src/api/common/companyHandler.js

@@ -0,0 +1,11 @@
+import request from '@/utils/request'
+
+// 查询当前用户是否是经办人
+export function listCompanyHandler() {
+  return request({
+    url: '/sc-service/companyHandler/list',
+    method: 'get',
+  })
+}
+
+

+ 34 - 0
front-vue/src/api/system/user.js

@@ -109,6 +109,22 @@ export function uploadAvatar(data) {
   })
 }
 
+// 经办人申请变更
+export function handlerChange(data) {
+  return request({
+    url: '/system/ownUser/handlerChange',
+    method: 'post',
+    data: data
+  })
+}
+//经办人确认变更
+export function confirmChange(userId) {
+  return request({
+    url: '/system/ownUser/confirmChange/'+ userId,
+    method: 'post',
+
+  })
+}
 //查询员工姓名
 export function nameList(userId) {
   return request({
@@ -117,6 +133,14 @@ export function nameList(userId) {
 
   })
 }
+//查询经办人变更图片
+export function getFund(userId) {
+  return request({
+    url: '/system/ownUser/details/'+ userId,
+    method: 'get',
+
+  })
+}
 //变更管理员角色
 export function adminChange(userId) {
   return request({
@@ -149,3 +173,13 @@ export function companyList(userId) {
     method: 'get'
   })
 }
+
+// 根据手机号获取用户姓名
+export function selectNormalUser(userName) {
+  const query = {userName : userName}
+  return request({
+    url: '/system/user/selectNormalUser',
+    method: 'get',
+    params: query
+  })
+}

+ 1 - 1
front-vue/src/permission.js

@@ -49,7 +49,7 @@ router.beforeEach((to, from, next) => {
         })
           .catch(err => {
             store.dispatch('FedLogOut').then(() => {
-              Message.error(err)
+              // Message.error(err)
               next({ path: '/' })
             })
           })

+ 20 - 0
front-vue/src/router/index.js

@@ -108,6 +108,13 @@ export const constantRoutes = [
         component: (resolve) => require(['@/views/system/user/profile/index'], resolve),
         name: 'Profile',
         meta: { title: '个人中心', icon: 'user' }
+      },
+      //确认经办人变更
+      {
+        path: 'detail/:userId',
+        name: 'handlerChange',
+        component: (resolve) => require(['@/views/system/user/detail'], resolve),
+        meta: { title: '经办人变更'}
       }
     ]
   },
@@ -405,6 +412,19 @@ export const constantRoutes = [
       },
     ]
   },
+  {
+    path: '/approval',
+    component: Layout,
+    hidden: true,
+    children: [
+      {
+        path: 'deal',
+        component: (resolve) => require(['@/views/approval/approval/deal'], resolve),
+        name: 'openDeal',
+        meta: { title: '审批',noCache: true }
+      },
+    ]
+  },
   //核心企业融信开立审批专用
   {
     path: '/credit/approvalCreditDetail/:zfiId',

+ 5 - 5
front-vue/src/views/approval/approval/deal.vue

@@ -17,11 +17,11 @@ export default {
         };
     },
     created() {
-        const processId = this.$route.params && this.$route.params.processId;
-        const nodeId = this.$route.params && this.$route.params.nodeId;
-        const taskId = this.$route.params && this.$route.params.taskId;
-        const instId = this.$route.params && this.$route.params.instId;
-        this.wordUrl = window.location.protocol+'//'+window.location.host+'/flowablePc/#/openDeal?instId='+ instId + '&processId=' + processId + '&nodeId=' + nodeId + '&taskId=' + taskId + '&token=' + getToken();
+        const processId = this.$route.query && this.$route.query.processId;
+        const nodeId = this.$route.query && this.$route.query.nodeId;
+        const taskId = this.$route.query && this.$route.query.taskId;
+        const instId = this.$route.query && this.$route.query.instId;
+        this.wordUrl = window.location.protocol+'//'+window.location.host+':8080/flowablePc/#/openDeal?instId='+ instId + '&processId=' + processId + '&nodeId=' + nodeId + '&taskId=' + taskId + '&token=' + getToken();
         // this.wordUrl = 'http://localhost:8080/flowablePc/#/openDeal?instId='+ instId + '&processId=' + processId + '&nodeId=' + nodeId + '&taskId=' + taskId + '&token' + getToken();
         this.iframeShow = true
     },

+ 29 - 6
front-vue/src/views/service/bill/addBill.vue

@@ -31,6 +31,7 @@
           <el-form-item label="账款名称" prop="zbiName">
             <el-input
               v-model="form.zbiName"
+              clearable
               placeholder="请输入账款名称"
               maxlength="20"
               style="width: 300px"
@@ -77,6 +78,7 @@
             <el-date-picker
               style="width: 300px"
               v-model="form.zbiDate"
+              clearable
               value-format="yyyy-MM-dd"
               type="date"
               placeholder="选择日期"
@@ -97,6 +99,7 @@
             <el-date-picker
               style="width: 300px"
               v-model="form.zbiPayDate"
+              clearable
               value-format="yyyy-MM-dd"
               type="date"
               placeholder="选择日期"
@@ -162,6 +165,7 @@
           <el-form-item label="合同编号" prop="zbiContractNo">
             <el-input
               v-model="form.zbiContractNo"
+              clearable
               placeholder="请输入合同编号"
               maxlength="20"
               style="width: 300px"
@@ -170,6 +174,7 @@
           <el-form-item label="账款服务">
             <el-input
               v-model="form.zbiService"
+              clearable
               placeholder="请输入账款服务"
               maxlength="20"
               style="width: 300px"
@@ -178,6 +183,7 @@
           <el-form-item label="配送订单">
             <el-input
               v-model="form.zbiOrderNo"
+              clearable
               placeholder="请输入配送订单"
               maxlength="20"
               style="width: 300px"
@@ -186,6 +192,7 @@
           <el-form-item label="配送企业">
             <el-input
               v-model="form.zbiDistributor"
+              clearable
               placeholder="请输入配送企业"
               maxlength="20"
               style="width: 300px"
@@ -461,7 +468,7 @@
           action=""
           ref="contractUpload"
           list-type="picture-card"
-          accept=".jpg,.jpeg,.png,.tif"
+          accept=".jpg,.jpeg,.png"
           :before-upload="beforeUpload"
           :on-preview="invoicePictureCardPreview"
           :before-remove="beforeRemove"
@@ -490,7 +497,7 @@
           action=""
           ref="logisticsUpload"
           list-type="picture-card"
-          accept=".jpg,.jpeg,.png,.tif"
+          accept=".jpg,.jpeg,.png"
           :before-upload="beforeUpload"
           :on-preview="invoicePictureCardPreview"
           :before-remove="beforeRemove"
@@ -519,7 +526,7 @@
           action=""
           ref="otherUpload"
           list-type="picture-card"
-          accept=".jpg,.jpeg,.png,.tif"
+          accept=".jpg,.jpeg,.png"
           :before-upload="beforeUpload"
           :on-preview="invoicePictureCardPreview"
           :before-remove="beforeRemove"
@@ -601,6 +608,11 @@ export default {
             message: "账款名称不能为空",
             trigger: ["blur", "change"],
           },
+          {
+            pattern: /^[\u4E00-\u9FA5A-Za-z0-9]+$/,
+            message: "账款名称只能包含中文、英文、数字",
+            trigger: ["blur", "change"],
+          },
         ],
         zbiPayerId: [
           {
@@ -837,6 +849,9 @@ export default {
           loading.close();
         })
         .catch(() => {
+          let uid = fileObj.uid // 关键作用代码,去除文件列表失败文件
+          let idx = this.$refs.upload.uploadFiles.findIndex(item => item.uid === uid) // 关键作用代码,去除文件列表失败文件(uploadFiles为el-upload中的ref值)
+          this.$refs.upload.uploadFiles.splice(idx, 1) // 关键作用代码,去除文件列表失败文件
           loading.close();
         });
     },
@@ -845,11 +860,10 @@ export default {
       const extension = testmsg === 'jpg';            
       const extension2 = testmsg === 'jpeg';
       const extension3 = testmsg === 'png';
-      const extension4 = testmsg === 'tif';
-      if(!extension && !extension2 && !extension3 && !extension4){
+      if(!extension && !extension2 && !extension3){
         this.$message.warning(`请选择图片`);
       }
-      return extension || extension2 || extension3 || extension4;
+      return extension || extension2 || extension3;
     },
     //上传前校验
     beforeAvatarUpload(file) {
@@ -896,6 +910,9 @@ export default {
           loading.close();
         })
         .catch(() => {
+          let uid = fileObj.uid // 关键作用代码,去除文件列表失败文件
+          let idx = this.$refs.contractUpload.uploadFiles.findIndex(item => item.uid === uid) // 关键作用代码,去除文件列表失败文件(uploadFiles为el-upload中的ref值)
+          this.$refs.contractUpload.uploadFiles.splice(idx, 1) // 关键作用代码,去除文件列表失败文件
           loading.close();
         });
     },
@@ -919,6 +936,9 @@ export default {
           loading.close();
         })
         .catch(() => {
+          let uid = fileObj.uid // 关键作用代码,去除文件列表失败文件
+          let idx = this.$refs.logisticsUpload.uploadFiles.findIndex(item => item.uid === uid) // 关键作用代码,去除文件列表失败文件(uploadFiles为el-upload中的ref值)
+          this.$refs.logisticsUpload.uploadFiles.splice(idx, 1) // 关键作用代码,去除文件列表失败文
           loading.close();
         });
     },
@@ -942,6 +962,9 @@ export default {
           loading.close();
         })
         .catch(() => {
+          let uid = fileObj.uid // 关键作用代码,去除文件列表失败文件
+          let idx = this.$refs.otherUpload.uploadFiles.findIndex(item => item.uid === uid) // 关键作用代码,去除文件列表失败文件(uploadFiles为el-upload中的ref值)
+          this.$refs.otherUpload.uploadFiles.splice(idx, 1) // 关键作用代码,去除文件列表失败文件
           loading.close();
         });
     },

+ 29 - 6
front-vue/src/views/service/bill/billAdd.vue

@@ -31,6 +31,7 @@
           <el-form-item label="账款名称" prop="zbiName">
             <el-input
               v-model="form.zbiName"
+              clearable
               placeholder="请输入账款名称"
               maxlength="20"
               style="width: 300px"
@@ -77,6 +78,7 @@
             <el-date-picker
               style="width: 300px"
               v-model="form.zbiDate"
+              clearable
               value-format="yyyy-MM-dd"
               type="date"
               placeholder="选择日期"
@@ -97,6 +99,7 @@
             <el-date-picker
               style="width: 300px"
               v-model="form.zbiPayDate"
+              clearable
               value-format="yyyy-MM-dd"
               type="date"
               placeholder="选择日期"
@@ -162,6 +165,7 @@
           <el-form-item label="合同编号" prop="zbiContractNo">
             <el-input
               v-model="form.zbiContractNo"
+              clearable
               placeholder="请输入合同编号"
               maxlength="20"
               style="width: 300px"
@@ -170,6 +174,7 @@
           <el-form-item label="账款服务">
             <el-input
               v-model="form.zbiService"
+              clearable
               placeholder="请输入账款服务"
               maxlength="20"
               style="width: 300px"
@@ -178,6 +183,7 @@
           <el-form-item label="配送订单">
             <el-input
               v-model="form.zbiOrderNo"
+              clearable
               placeholder="请输入配送订单"
               maxlength="20"
               style="width: 300px"
@@ -186,6 +192,7 @@
           <el-form-item label="配送企业">
             <el-input
               v-model="form.zbiDistributor"
+              clearable
               placeholder="请输入配送企业"
               maxlength="20"
               style="width: 300px"
@@ -461,7 +468,7 @@
           action=""
           ref="contractUpload"
           list-type="picture-card"
-          accept=".jpg,.jpeg,.png,.tif"
+          accept=".jpg,.jpeg,.png"
           :before-upload="beforeUpload"
           :on-preview="invoicePictureCardPreview"
           :before-remove="beforeRemove"
@@ -490,7 +497,7 @@
           action=""
           ref="logisticsUpload"
           list-type="picture-card"
-          accept=".jpg,.jpeg,.png,.tif"
+          accept=".jpg,.jpeg,.png"
           :before-upload="beforeUpload"
           :on-preview="invoicePictureCardPreview"
           :before-remove="beforeRemove"
@@ -519,7 +526,7 @@
           action=""
           ref="otherUpload"
           list-type="picture-card"
-          accept=".jpg,.jpeg,.png,.tif"
+          accept=".jpg,.jpeg,.png"
           :before-upload="beforeUpload"
           :on-preview="invoicePictureCardPreview"
           :before-remove="beforeRemove"
@@ -585,6 +592,11 @@ export default {
             message: "账款名称不能为空",
             trigger: ["blur", "change"],
           },
+          {
+            pattern: /^[\u4E00-\u9FA5A-Za-z0-9]+$/,
+            message: "账款名称只能包含中文、英文、数字",
+            trigger: ["blur", "change"],
+          },
         ],
         zbiPayerId: [
           {
@@ -830,6 +842,9 @@ export default {
           loading.close();
         })
         .catch(() => {
+          let uid = fileObj.uid // 关键作用代码,去除文件列表失败文件
+          let idx = this.$refs.upload.uploadFiles.findIndex(item => item.uid === uid) // 关键作用代码,去除文件列表失败文件(uploadFiles为el-upload中的ref值)
+          this.$refs.upload.uploadFiles.splice(idx, 1) // 关键作用代码,去除文件列表失败文件
           loading.close();
         });
     },
@@ -838,11 +853,10 @@ export default {
       const extension = testmsg === 'jpg';            
       const extension2 = testmsg === 'jpeg';
       const extension3 = testmsg === 'png';
-      const extension4 = testmsg === 'tif';
-      if(!extension && !extension2 && !extension3 && !extension4){
+      if(!extension && !extension2 && !extension3){
         this.$message.warning(`请选择图片格式文件`);
       }
-      return extension || extension2 || extension3 || extension4;
+      return extension || extension2 || extension3;
     },
     //上传前校验
     beforeAvatarUpload(file) {
@@ -889,6 +903,9 @@ export default {
           loading.close();
         })
         .catch(() => {
+          let uid = fileObj.uid // 关键作用代码,去除文件列表失败文件
+          let idx = this.$refs.contractUpload.uploadFiles.findIndex(item => item.uid === uid) // 关键作用代码,去除文件列表失败文件(uploadFiles为el-upload中的ref值)
+          this.$refs.contractUpload.uploadFiles.splice(idx, 1) // 关键作用代码,去除文件列表失败文件
           loading.close();
         });
     },
@@ -912,6 +929,9 @@ export default {
           loading.close();
         })
         .catch(() => {
+          let uid = fileObj.uid // 关键作用代码,去除文件列表失败文件
+          let idx = this.$refs.logisticsUpload.uploadFiles.findIndex(item => item.uid === uid) // 关键作用代码,去除文件列表失败文件(uploadFiles为el-upload中的ref值)
+          this.$refs.logisticsUpload.uploadFiles.splice(idx, 1) // 关键作用代码,去除文件列表失败文
           loading.close();
         });
     },
@@ -935,6 +955,9 @@ export default {
           loading.close();
         })
         .catch(() => {
+          let uid = fileObj.uid // 关键作用代码,去除文件列表失败文件
+          let idx = this.$refs.otherUpload.uploadFiles.findIndex(item => item.uid === uid) // 关键作用代码,去除文件列表失败文件(uploadFiles为el-upload中的ref值)
+          this.$refs.otherUpload.uploadFiles.splice(idx, 1) // 关键作用代码,去除文件列表失败文件
           loading.close();
         });
     },

+ 1 - 1
front-vue/src/views/service/bill/billDetail.vue

@@ -277,7 +277,7 @@
     </el-dialog>
 
     <div style="text-align: center">
-      <el-button type="primary" @click="submit()">关闭</el-button>
+      <el-button type="primary" @click="submit()">取消</el-button>
     </div>
   </div>
 </template>

+ 29 - 6
front-vue/src/views/service/bill/billEdit.vue

@@ -41,6 +41,7 @@
           <el-form-item label="账款名称" prop="zbiName">
             <el-input
               v-model="form.zbiName"
+              clearable
               placeholder="请输入账款名称"
               maxlength="20"
               style="width: 300px"
@@ -103,6 +104,7 @@
             <el-date-picker
               style="width: 300px"
               v-model="form.zbiDate"
+              clearable
               value-format="yyyy-MM-dd"
               type="date"
               placeholder="选择日期"
@@ -123,6 +125,7 @@
             <el-date-picker
               style="width: 300px"
               v-model="form.zbiPayDate"
+              clearable
               value-format="yyyy-MM-dd"
               type="date"
               placeholder="选择日期"
@@ -204,6 +207,7 @@
           <el-form-item label="合同编号" prop="zbiContractNo">
             <el-input
               v-model="form.zbiContractNo"
+              clearable
               placeholder="请输入合同编号"
               maxlength="20"
               style="width: 300px"
@@ -212,6 +216,7 @@
           <el-form-item label="账款服务">
             <el-input
               v-model="form.zbiService"
+              clearable
               placeholder="请输入账款服务"
               maxlength="20"
               style="width: 300px"
@@ -220,6 +225,7 @@
           <el-form-item label="配送订单">
             <el-input
               v-model="form.zbiOrderNo"
+              clearable
               placeholder="请输入配送订单"
               maxlength="20"
               style="width: 300px"
@@ -228,6 +234,7 @@
           <el-form-item label="配送企业">
             <el-input
               v-model="form.zbiDistributor"
+              clearable
               placeholder="请输入配送企业"
               maxlength="20"
               style="width: 300px"
@@ -507,7 +514,7 @@
           action=""
           ref="contractUpload"
           list-type="picture-card"
-          accept=".jpg,.jpeg,.png,.tif"
+          accept=".jpg,.jpeg,.png"
           :before-upload="beforeUpload"
           :on-preview="invoicePictureCardPreview"
           :before-remove="beforeRemove"
@@ -536,7 +543,7 @@
           action=""
           ref="logisticsUpload"
           list-type="picture-card"
-          accept=".jpg,.jpeg,.png,.tif"
+          accept=".jpg,.jpeg,.png"
           :before-upload="beforeUpload"
           :on-preview="invoicePictureCardPreview"
           :before-remove="beforeRemove"
@@ -565,7 +572,7 @@
           action=""
           ref="otherUpload"
           list-type="picture-card"
-          accept=".jpg,.jpeg,.png,.tif"
+          accept=".jpg,.jpeg,.png"
           :before-upload="beforeUpload"
           :on-preview="invoicePictureCardPreview"
           :before-remove="beforeRemove"
@@ -631,6 +638,11 @@ export default {
             message: "账款名称不能为空",
             trigger: ["blur", "change"],
           },
+          {
+            pattern: /^[\u4E00-\u9FA5A-Za-z0-9]+$/,
+            message: "账款名称只能包含中文、英文、数字",
+            trigger: ["blur", "change"],
+          },
         ],
         zbiPayerId: [
           {
@@ -911,6 +923,9 @@ export default {
           loading.close();
         })
         .catch(() => {
+          let uid = fileObj.uid // 关键作用代码,去除文件列表失败文件
+          let idx = this.$refs.upload.uploadFiles.findIndex(item => item.uid === uid) // 关键作用代码,去除文件列表失败文件(uploadFiles为el-upload中的ref值)
+          this.$refs.upload.uploadFiles.splice(idx, 1) // 关键作用代码,去除文件列表失败文件
           loading.close();
         });
     },
@@ -919,11 +934,10 @@ export default {
       const extension = testmsg === 'jpg';            
       const extension2 = testmsg === 'jpeg';
       const extension3 = testmsg === 'png';
-      const extension4 = testmsg === 'tif';
-      if(!extension && !extension2 && !extension3 && !extension4){
+      if(!extension && !extension2 && !extension3){
         this.$message.warning(`请选择图片格式文件`);
       }
-      return extension || extension2 || extension3 || extension4;
+      return extension || extension2 || extension3;
     },
     //上传前校验
     beforeAvatarUpload(file) {
@@ -970,6 +984,9 @@ export default {
           loading.close();
         })
         .catch(() => {
+          let uid = fileObj.uid // 关键作用代码,去除文件列表失败文件
+          let idx = this.$refs.contractUpload.uploadFiles.findIndex(item => item.uid === uid) // 关键作用代码,去除文件列表失败文件(uploadFiles为el-upload中的ref值)
+          this.$refs.contractUpload.uploadFiles.splice(idx, 1) // 关键作用代码,去除文件列表失败文件
           loading.close();
         });
     },
@@ -993,6 +1010,9 @@ export default {
           loading.close();
         })
         .catch(() => {
+          let uid = fileObj.uid // 关键作用代码,去除文件列表失败文件
+          let idx = this.$refs.logisticsUpload.uploadFiles.findIndex(item => item.uid === uid) // 关键作用代码,去除文件列表失败文件(uploadFiles为el-upload中的ref值)
+          this.$refs.logisticsUpload.uploadFiles.splice(idx, 1) // 关键作用代码,去除文件列表失败文件
           loading.close();
         });
     },
@@ -1016,6 +1036,9 @@ export default {
           loading.close();
         })
         .catch(() => {
+          let uid = fileObj.uid // 关键作用代码,去除文件列表失败文件
+          let idx = this.$refs.otherUpload.uploadFiles.findIndex(item => item.uid === uid) // 关键作用代码,去除文件列表失败文件(uploadFiles为el-upload中的ref值)
+          this.$refs.otherUpload.uploadFiles.splice(idx, 1) // 关键作用代码,去除文件列表失败文件
           loading.close();
         });
     },

+ 1 - 0
front-vue/src/views/service/contract/addContract.vue

@@ -20,6 +20,7 @@
           >
             <el-input
               v-model="form.zfcName"
+              clearable
               placeholder="请输入合同模板名称"
               maxlength="20"
             /> </el-form-item

+ 3 - 3
front-vue/src/views/service/contract/detailContract.vue

@@ -174,10 +174,10 @@
 
     </el-form>
     <!-- 保存 -->
-    <!-- <div class="footer" style="margin-top: 260px; float: right">
+    <div class="footer" style="margin-top: 100px; float: right">
       <el-button type="info" @click="cancel">取消</el-button>
-      <el-button type="success" @click="submitForm">提交</el-button>
-    </div> -->
+      <!-- <el-button type="success" @click="submitForm">提交</el-button> -->
+    </div>
   </div>
 </template>
 

+ 1 - 0
front-vue/src/views/service/contract/editContract.vue

@@ -20,6 +20,7 @@
           >
             <el-input
               v-model="form.zfcName"
+              clearable
               placeholder="请输入合同模板名称"
               maxlength="20"
             /> </el-form-item

+ 66 - 29
front-vue/src/views/service/credit/credit.vue

@@ -1676,6 +1676,7 @@
 import { listCredit, coreApproval, confirmationApproval, informationApproval,approval,openApproval, getUser } from "@/api/service/credit/credit";
 import {creditRefuse,creditDel} from "@/api/service/credit/creditHandle";
 import Editor from '@/components/Editor';
+import {listCompanyHandler} from "@/api/common/companyHandler";
 import Cookies from 'js-cookie'
 export default {
   name: "invoice",
@@ -2107,9 +2108,21 @@ export default {
     },
     //签收
     handleSignFor(row){
-        const zfiId = row.zfiId || this.ids
-        Cookies.set("/credit/signFor/"+zfiId + "/", this.$route.fullPath)
-        this.$router.push({ path: "/credit/signFor/"+zfiId + "/" });
+        //查询当前用户是否为经办人
+        listCompanyHandler().then((response) => {
+           if(false == response.data){
+              this.$message({
+                  message: "此操作需经办人权限,请确认您是否是经办人",
+                  type: 'warning'
+              });
+              return false;
+           }else{
+              const zfiId = row.zfiId || this.ids
+              Cookies.set("/credit/signFor/"+zfiId + "/", this.$route.fullPath)
+              this.$router.push({ path: "/credit/signFor/"+zfiId + "/" });
+           }
+        });
+        
     },
     //去融资
     handleGoFinance(row){
@@ -2119,9 +2132,22 @@ export default {
     },
     //盖章
     seal(row){
-        const zfiId = row.zfiId || this.ids
-        Cookies.set("/credit/creditSeal/"+zfiId + "/", this.$route.fullPath)
-        this.$router.push({ path: "/credit/creditSeal/"+zfiId + "/" });
+         //查询当前用户是否为经办人
+        listCompanyHandler().then((response) => {
+           if(false == response.data){
+              this.$message({
+                  message: "此操作需经办人权限,请确认您是否是经办人",
+                  type: 'warning'
+              });
+              return false;
+           }else{
+              const zfiId = row.zfiId || this.ids
+              Cookies.set("/credit/creditSeal/"+zfiId + "/", this.$route.fullPath)
+              this.$router.push({ path: "/credit/creditSeal/"+zfiId + "/" });
+           }
+
+        }); 
+        
     },
     /**核心开立审批按钮操作*/
     handleExam(row){
@@ -2296,29 +2322,40 @@ export default {
     },
     //拒签
     handleRefuse(row){
-      const zfiNumber = row.zfiNumber ;
-      this.$confirm('是否拒签融信编号为"' + zfiNumber + '"的数据项?', "警告",{
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          //拒签
-          return creditRefuse(row); 
-        }).then(() => {
-          this.getList();
-          this.getListSign();
-          this.getListFinancing();
-          this.getListOpening();
-          this.getListFinanced();
-          this.getListInvalid();
-          this.msgSuccess("拒签成功");
-        })
-        .catch(() => {
-          this.$message({
-            type: "warning",
-            message: "已取消",
-           
-          });
+         //查询当前用户是否为经办人
+        listCompanyHandler().then((response) => {
+           if(false == response.data){
+              this.$message({
+                  message: "此操作需经办人权限,请确认您是否是经办人",
+                  type: 'warning'
+              });
+              return false;
+           }else{
+                const zfiNumber = row.zfiNumber ;
+                this.$confirm('是否拒签融信编号为"' + zfiNumber + '"的数据项?', "警告",{
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning"
+                  }).then(function() {
+                    //拒签
+                    return creditRefuse(row); 
+                  }).then(() => {
+                    this.getList();
+                    this.getListSign();
+                    this.getListFinancing();
+                    this.getListOpening();
+                    this.getListFinanced();
+                    this.getListInvalid();
+                    this.msgSuccess("拒签成功");
+                  })
+                  .catch(() => {
+                    this.$message({
+                      type: "warning",
+                      message: "已取消",
+                    
+                    });
+                  });
+           }
         });
     },
     //删除

+ 30 - 5
front-vue/src/views/service/credit/creditSeal.vue

@@ -149,6 +149,16 @@
                     </template>
                 </el-table-column>
         </el-table>
+        <el-divider content-position="left">盖章附件</el-divider>
+        <el-row>
+            <img    style="width:50px;height:50px;"
+                    :key="dict.pfiFileId"
+                    src="../../../assets/images/pdf.png"
+                    v-for="dict in creditSealList"
+                    @click="handlePreview(dict)"
+                    :title="dict.pfiFileName"
+                >
+        </el-row>
         <div class="footer" style="float: right;
             margin-bottom:2px;">
             <el-button type="success" @click="getContractFile">预览文件</el-button>
@@ -189,7 +199,6 @@
                     </el-form-item>
 
             </el-form>
-
             <div slot="footer" class="dialog-footer">
                 <el-button type="primary" @click="checkCode">确定</el-button>
                 <el-button @click="cancelMessage">取 消</el-button>
@@ -209,7 +218,7 @@
 <script>
 import {getCreditDetail,getFile} from "@/api/service/credit/credit";
 import {accAdd} from "@/utils/calculation";
-import {getContractFile,sealRefuse} from "@/api/service/credit/creditHandle";
+import {getContractFile,sealRefuse,getCreditSealFile} from "@/api/service/credit/creditHandle";
 import {sendMessage,checkCode,faceAuth,checkFaceAuth,contractSigning} from "@/api/service/credit/message";
 import pdfShow from "./pdfShow";
 import {getToken} from "@/utils/auth";
@@ -285,7 +294,9 @@ export default {
             //平台审批状态
             zfiPlatformStatus:'',
             //融信状态
-            zfiStatus:''
+            zfiStatus:'',
+            //盖章文件
+            creditSealList:[]
         };
     },
     activated() {
@@ -340,7 +351,7 @@ export default {
                  //附件
                  this.getFile(this.payList);
              }
-
+             this.getCreditSealFile();
         })
     },
     methods: {
@@ -509,6 +520,11 @@ export default {
                 if(this.pdfFileList.length > 0 ){
                         this.pdfShowDialog = true;
 
+                }else{
+                      this.$message({
+                        message: '文件不存在!',
+                        type: 'warning'
+                      });
                 }
             });
     },
@@ -779,7 +795,16 @@ export default {
                     });
             }
         });
-    }
+    },
+    //获取盖章文件
+    getCreditSealFile(){
+        getCreditSealFile(this.form).then((response) => {
+                if(response.data.list){
+                    this.creditSealList = response.data.list;
+                }
+            });
+    },
+    
     }
 };
 </script>

+ 22 - 14
front-vue/src/views/service/credit/goFinance.vue

@@ -23,8 +23,8 @@
             </el-form-item>
           </el-col>
           <el-col :span="8">
-            <el-form-item label="融资账户:" prop="zfrCollectionAccount" v-if="this.form.zfpcrLoantype != '0'">
-              <el-input v-model="form.zfrCollectionAccount" placeholder="请输入融资账户" style="width: 284px;"/>
+            <el-form-item label="融资账户:" prop="zfrCollectionAccount">
+              <el-input v-model="form.zfrCollectionAccount" placeholder="请输入融资账户" style="width: 284px;" :readonly="readonly"/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -146,7 +146,7 @@
 </template>
 
 <script>
-import {addRecord,listBillInf} from "@/api/service/financeRecord/record";
+import {addRecord,listBillInf,listAccInf} from "@/api/service/financeRecord/record";
 import { listFinanceInf } from "@/api/common/financeInf";
 import { getFile } from "@/api/service/credit/credit";
 import {getToken} from "@/utils/auth";
@@ -156,6 +156,8 @@ export default {
   },
   data() {
     return {
+      //融资账户是够编辑
+      readonly:false,
       labelPosition: 'top',
       // 遮罩层
       loading: true,
@@ -323,17 +325,23 @@ export default {
         this.loading = false;
       }).then(() =>{
         var queryParamsFile = {};
-            queryParamsFile.ticketList = this.billInfList;
-            getFile(queryParamsFile).then((response) => {
-                if(response.data){
-                    //获取发票文件
-                     this.invoiceFileList = response.data.invoiceFileList;
-                    //获取合同文件
-                     this.contractFileList = response.data.contractFileList;
-                    //获取其他文件
-                    this.otherFileList = response.data.otherFileList;
-                }
-            });
+        queryParamsFile.ticketList = this.billInfList;
+        getFile(queryParamsFile).then((response) => {
+            if(response.data){
+                //获取发票文件
+                  this.invoiceFileList = response.data.invoiceFileList;
+                //获取合同文件
+                  this.contractFileList = response.data.contractFileList;
+                //获取其他文件
+                this.otherFileList = response.data.otherFileList;
+            }
+        });
+        if(item.zfpcrLoanType == '0'){
+          listAccInf(item.zfiProductId).then((response) => {
+            this.$set(this.form, "zfrCollectionAccount", response.msg);
+            this.readonly = true
+          })
+        }
       })
       }
     },

+ 5 - 5
front-vue/src/views/service/creditLine/addCreditLine.vue

@@ -46,7 +46,7 @@
         <el-col :span="8">
           <el-form-item label="授信额度:" prop="zfpcrAmount">
             <!-- <el-tooltip class="item" effect="light" :content= "zfpcrAmountFormat" placement="top-start"> -->
-            <el-input v-model="form.zfpcrAmount" @input.native="changeRate($event,form.zfpcrAmount)" placeholder="请输入授信额度"  style="width:284px" maxlength="13">
+            <el-input v-model="form.zfpcrAmount" @input.native="changeRate($event,form.zfpcrAmount)" clearable placeholder="请输入授信额度"  style="width:284px" maxlength="13">
               <template slot="append">元</template>
             </el-input>
             <!-- </el-tooltip> -->
@@ -54,7 +54,7 @@
         </el-col>
         <el-col :span="8">
           <el-form-item label="利率:" prop="zfpcrRate">
-          <el-input v-model="form.zfpcrRate" placeholder="请输入利率" style="width:284px" maxlength="4">
+          <el-input v-model="form.zfpcrRate" clearable placeholder="请输入利率" style="width:284px" maxlength="4">
             <template slot="append">%起</template>
           </el-input>
         </el-form-item>
@@ -85,7 +85,7 @@
         </el-col>
         <el-col :span="8">
           <el-form-item label="融资网点:" prop="zfpcrAddress">
-            <el-input v-model="form.zfpcrAddress" placeholder="请输入融资网点" style="width:284px" maxlength="25"/>
+            <el-input v-model="form.zfpcrAddress" clearable placeholder="请输入融资网点" style="width:284px" maxlength="25"/>
           </el-form-item>
         </el-col>
         <el-col :span="8">
@@ -99,7 +99,7 @@
       <el-row>
         <el-col :span="8">
           <el-form-item label="平台服务费收取费率:" prop="zfpcrChargeRate" label-width="139px" v-if="this.form.zfpcrCharge == '1'">
-            <el-input v-model="form.zfpcrChargeRate" placeholder="请输入平台服务费收取费率" style="width:284px" maxlength="4">
+            <el-input v-model="form.zfpcrChargeRate" clearable placeholder="请输入平台服务费收取费率" style="width:284px" maxlength="4">
               <template slot="append">%</template>
             </el-input>
         </el-form-item>
@@ -121,7 +121,7 @@
         </el-col>
         <el-col :span="8">
           <el-form-item label="核心企业还款账户开户行:" prop="zfpcrAccountBank" label-width="142px">
-            <el-input v-model="form.zfpcrAccountBank" placeholder="请输入核心企业还款账户开户行" style="width:284px" maxlength="30">
+            <el-input v-model="form.zfpcrAccountBank" clearable placeholder="请输入核心企业还款账户开户行" style="width:284px" maxlength="30">
             </el-input>
           </el-form-item>
         </el-col>

+ 18 - 6
front-vue/src/views/service/creditLine/creditLine.vue

@@ -110,13 +110,15 @@
         </template>
       </el-table-column>
       <el-table-column label="资金方" align="center" prop="rzScyName" show-overflow-tooltip v-if="uncheckList.rzScyName" />
+      <el-table-column label="授信类型" :formatter="typeFormat" align="center" prop="zfpType" show-overflow-tooltip v-if="uncheckList.zfpType" />
       <el-table-column label="融资产品" align="center" prop="zfpName" v-if="uncheckList.zfpName" show-overflow-tooltip/>
       <el-table-column label="企业名称" align="center" prop="scyName" v-if="uncheckList.scyName" show-overflow-tooltip/>
       <el-table-column label="企业代码" align="center" prop="scySocialCode" v-if="uncheckList.scySocialCode" show-overflow-tooltip/>
       <el-table-column label="授信额度" :formatter="moneyFormat"  align="center" prop="zfpcrAmount" show-overflow-tooltip v-if="uncheckList.zfpcrAmount" width="120"/>
       <el-table-column label="利率(%)" align="center" prop="zfpcrRate" v-if="uncheckList.zfpcrRate" width="120" />
-      <el-table-column label="已分割额度" :formatter="moneyFormat"  align="center" prop="zfpcrDivisionAmount" v-if="uncheckList.zfpcrDivisionAmount" width="120"/>
+      <!-- <el-table-column label="已分割额度" :formatter="moneyFormat"  align="center" prop="zfpcrDivisionAmount" v-if="uncheckList.zfpcrDivisionAmount" width="120"/> -->
       <el-table-column label="已使用额度" :formatter="moneyFormat"  align="center" prop="zfiAmount" v-if="uncheckList.zfiAmount" width="120"/>
+      <el-table-column label="已分配额度" :formatter="moneyFormat"  align="center" prop="supplierAmount" v-if="uncheckList.supplierAmount" width="120"/>
       <el-table-column label="可用额度" :formatter="moneyFormat"  align="center" prop="usableAmount" v-if="uncheckList.usableAmount && (this.companyType == '00' || this.companyType == '03')" width="120"/>
       <el-table-column label="开始日期" align="center" prop="zfpcrStartDate" v-if="uncheckList.zfpcrStartDate" show-overflow-tooltip/>
       <el-table-column label="结束日期" align="center" prop="zfpcrEndDate" v-if="uncheckList.zfpcrEndDate" show-overflow-tooltip/>
@@ -263,6 +265,10 @@ export default {
           value: "资金方"
         },
         {
+          label: "zfpType",
+          value: "授信类型"
+        },
+        {
           label: "zfpName",
           value: "融资产品"
         },
@@ -282,16 +288,19 @@ export default {
           label: "zfpcrRate",
           value: "利率"
         },
-
-        {
-          label: "zfpcrDivisionAmount",
-          value: "已分割额度"
-        },
+        // {
+        //   label: "zfpcrDivisionAmount",
+        //   value: "已分割额度"
+        // },
         {
           label: "zfiAmount",
           value: "已使用额度"
         },
         {
+          label: "supplierAmount",
+          value: "已分配额度"
+        },
+        {
           label: "usableAmount",
           value: "可用额度"
         },
@@ -470,6 +479,9 @@ export default {
     statusFormat(row, column) {
       return this.selectDictLabel(this.statusOptions, row.zfpcrStatus);
     },
+    typeFormat(row, column) {
+      return this.selectDictLabel(this.typeOptions, row.zfpType);
+    },
     /** 新增按钮操作 */
     handleAdd() {
       Cookies.set("/creditLine/addCreditLine/", this.$route.fullPath)

+ 12 - 4
front-vue/src/views/service/creditLine/detailCreditLine.vue

@@ -258,10 +258,11 @@
         <el-button size="mini" type="primary" @click="closeTicket">确认</el-button>
       </span>
     </el-dialog>
-      <!-- <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="cancel">取 消</el-button>
-      </div> -->
+      <div class="footer" style="margin-top: 100px; float: right">
+      <el-button type="info" @click="cancel">取消</el-button>
+      <!-- <el-button type="success" @click="submitForm"
+        >提交</el-button> -->
+    </div>
   </div>
 </template>
 
@@ -581,6 +582,13 @@ export default {
       }
       this.open = false;
     },
+     // 取消按钮
+    cancel() {
+      // this.reset();
+      this.$store.dispatch("tagsView/delView", this.$route);
+      this.$router.go(-1);
+      this.open = false;
+    },
     /** 清空选择发票信息 */
     deleteTicekt() {
       this.ticketList = []

+ 8 - 8
front-vue/src/views/service/creditLine/editCreditLine.vue

@@ -45,21 +45,21 @@
       <el-row>
         <el-col :span="8">
           <el-form-item label="原授信额度:" prop="zfpcrOldAmount" >
-            <el-input v-model="form.zfpcrOldAmount"   style="width:284px" disabled>
+            <el-input v-model="form.zfpcrOldAmount" clearable  style="width:284px" disabled>
               <template slot="append">元</template>
             </el-input>
           </el-form-item>
         </el-col>
         <el-col :span="8">
           <el-form-item label="已用授信额度:" prop="zfiAmount" >
-            <el-input v-model="form.zfiAmount"   style="width:284px" disabled>
+            <el-input v-model="form.zfiAmount" clearable  style="width:284px" disabled>
               <template slot="append">元</template>
             </el-input>
           </el-form-item>
         </el-col>
         <el-col :span="8">
           <el-form-item label="剩余授信额度:" prop="usableAmount" >
-            <el-input v-model="form.usableAmount"   style="width:284px" disabled>
+            <el-input v-model="form.usableAmount" clearable  style="width:284px" disabled>
               <template slot="append">元</template>
             </el-input>
           </el-form-item>
@@ -69,7 +69,7 @@
         <el-col :span="8">
           <el-form-item label="授信额度:" prop="zfpcrAmount">
             <!-- <el-tooltip class="item" effect="light" :content= "zfpcrAmountFormat" placement="top-start"> -->
-            <el-input v-model="form.zfpcrAmount" @input.native="changeRate($event,form.zfpcrAmount)" placeholder="请输入授信额度"  style="width:284px" maxlength="13">
+            <el-input v-model="form.zfpcrAmount" @input.native="changeRate($event,form.zfpcrAmount)" clearable placeholder="请输入授信额度"  style="width:284px" maxlength="13">
               <template slot="append">元</template>
             </el-input>
             <!-- </el-tooltip> -->
@@ -77,7 +77,7 @@
         </el-col>
         <el-col :span="8">
           <el-form-item label="利率:" prop="zfpcrRate">
-          <el-input v-model="form.zfpcrRate" placeholder="请输入利率" style="width:284px">
+          <el-input v-model="form.zfpcrRate" clearable placeholder="请输入利率" style="width:284px">
             <template slot="append">%起</template>
           </el-input>
         </el-form-item>
@@ -108,7 +108,7 @@
         </el-col>
         <el-col :span="8">
           <el-form-item label="融资网点:" prop="zfpcrAddress">
-            <el-input v-model="form.zfpcrAddress" placeholder="请输入融资网点" style="width:284px" maxlength="25"/>
+            <el-input v-model="form.zfpcrAddress" clearable placeholder="请输入融资网点" style="width:284px" maxlength="25"/>
           </el-form-item>
         </el-col>
         <el-col :span="8">
@@ -122,7 +122,7 @@
       <el-row>
         <el-col :span="8">
           <el-form-item label="平台服务费收取费率:" prop="zfpcrChargeRate" label-width="139px" v-if="this.form.zfpcrCharge == '1'">
-          <el-input v-model="form.zfpcrChargeRate" placeholder="请输入平台服务费收取费率" style="width:284px">
+          <el-input v-model="form.zfpcrChargeRate" clearable placeholder="请输入平台服务费收取费率" style="width:284px">
             <template slot="append">%</template>
           </el-input>
         </el-form-item>
@@ -144,7 +144,7 @@
         </el-col>
         <el-col :span="8">
           <el-form-item label="核心企业还款账户开户行:" prop="zfpcrAccountBank" label-width="142px">
-            <el-input v-model="form.zfpcrAccountBank" placeholder="请输入核心企业还款账户开户行" style="width:284px" maxlength="30">
+            <el-input v-model="form.zfpcrAccountBank" clearable placeholder="请输入核心企业还款账户开户行" style="width:284px" maxlength="30">
             </el-input>
           </el-form-item>
         </el-col>

+ 6 - 1
front-vue/src/views/service/creditLine/supplierCreditLine.vue

@@ -298,7 +298,12 @@ export default {
           { required: true, message: "企业统一代码不能为空", trigger: ["blur", "change"] }
         ],
         zfsqAccount: [
-          { required: true, message: "还款账户不能为空", trigger: ["blur", "change"] }
+          { required: true, message: "还款账户不能为空", trigger: ["blur", "change"] },
+          {
+            pattern: /^[0-9]\d*$/,
+            message: "请输入正确的还款账户",
+            trigger: "change",
+          },
         ],
         zfsqAccountBank: [
           { required: true, message: "还款账户开户行不能为空", trigger: ["blur", "change"] }

+ 20 - 5
front-vue/src/views/service/financeProduct/addFinanceProduct.vue

@@ -6,7 +6,7 @@
           <el-input v-model="form.zfpNumber" placeholder="请输入融资产品编号" />
         </el-form-item> -->
         <el-form-item label="融资产品名称:" prop="zfpName" style="margin-left: 5%">
-          <el-input v-model="form.zfpName" placeholder="请输入融资产品名称" maxlength="20"/>
+          <el-input v-model="form.zfpName" placeholder="请输入融资产品名称" maxlength="20" clearable/>
         </el-form-item>
         <el-form-item label="资金方:" prop="zfpManagementId" style="margin-left: 5%">
            <el-select
@@ -35,10 +35,10 @@
          <el-divider content-position="left">平台参数</el-divider>
 
         <el-form-item label="最小融资金额(元):" prop="zfpMinimumAmount" style="margin-left: 5%">
-          <el-input v-model="form.zfpMinimumAmount" @input.native="changeRate($event,form.zfpMinimumAmount)" placeholder="请输入最小融资金额" maxlength="10"/>
+          <el-input v-model="form.zfpMinimumAmount" @input.native="changeRate($event,form.zfpMinimumAmount)" clearable placeholder="请输入最小融资金额" maxlength="10"/>
         </el-form-item>
          <el-form-item label="最短融资账期:" prop="zfpShortestPeriod" style="margin-left: 5%">
-          <el-input v-model="form.zfpShortestPeriod" placeholder="最短14天" maxlength="2"/>
+          <el-input v-model="form.zfpShortestPeriod" clearable placeholder="最短14天" maxlength="2"/>
         </el-form-item>
         <el-form-item label="服务费是否可退:" style="margin-left: 6%">
           <el-radio v-model="form.zfpCharge" label="0">否</el-radio>
@@ -90,7 +90,7 @@
           <el-radio v-model="form.zfpPart" label="1">是</el-radio>
         </el-form-item>
         <el-form-item label="资方融资费率(%):" prop="zfpRate" style="margin-left: 5%">
-          <el-input v-model="form.zfpRate" @input.native="inputRate($event,form.zfpRate)" @change="changeVal(form.zfpRate)"  placeholder="请输入资方融资费率" maxlength="5"/>
+          <el-input v-model="form.zfpRate" @input.native="inputRate($event,form.zfpRate)" clearable placeholder="请输入资方融资费率" maxlength="5"/>
         </el-form-item>
         <el-form-item label="融资到期方式:" prop="zfpExpire" style="margin-left: 5%">
           <el-select
@@ -124,7 +124,7 @@
           </el-select>
         </el-form-item>
         <el-form-item label="资方返佣费率(%):" prop="zfpProfitRate" style="margin-left: 5%" v-if="form.zfpProfit== '1'">
-          <el-input v-model="form.zfpProfitRate" @input.native="inputRates($event,form.zfpProfitRate)" @change="changeVal(form.zfpProfitRate)" placeholder="请输入资方返佣费率"  maxlength="5"/>
+          <el-input v-model="form.zfpProfitRate" @input.native="inputRates($event,form.zfpProfitRate)" clearable placeholder="请输入资方返佣费率"  maxlength="5"/>
         </el-form-item>
         <el-form-item label="是否需平台审批:" style="margin-left: 5%">
           <el-radio v-model="form.zfpPlatform" label="0">否</el-radio>
@@ -134,6 +134,7 @@
           <el-select
           style="width: 95%;"
             v-model="form.zfpAuthType"
+            clearable
             placeholder="请选择签署意愿类型"
             size="small">
             <el-option
@@ -340,6 +341,20 @@ export default {
             trigger: ["blur", "change"],
           },
         ],
+        zfpRate:[
+          {
+            pattern: /^100$|^(\d|[1-9]\d)(\.\d{1,2})*$/,
+            message: "资方融资费率在0-100之内",
+            trigger: ["blur", "change"],
+          },
+        ],
+        zfpProfitRate:[
+          {
+            pattern: /^100$|^(\d|[1-9]\d)(\.\d{1,2})*$/,
+            message: "资方返佣费率在0-100之内",
+            trigger: ["blur", "change"],
+          },
+        ],
       },
     };
   },

+ 4 - 4
front-vue/src/views/service/financeProduct/detailFinanceProduct.vue

@@ -238,11 +238,11 @@
       </span>
     </el-dialog>
     <!-- 保存 -->
-    <!-- <div class="footer" style="margin-top: 260px; float: right">
+    <div class="footer" style="margin-top: 100px; float: right">
       <el-button type="info" @click="cancel">取消</el-button>
-      <el-button type="success" @click="submitForm"
-        >提交</el-button>
-    </div> -->
+      <!-- <el-button type="success" @click="submitForm"
+        >提交</el-button> -->
+    </div>
   </div>
 </template>
 

+ 19 - 5
front-vue/src/views/service/financeProduct/editFinanceProduct.vue

@@ -15,7 +15,7 @@
           <el-input v-model="form.zfpNumber" placeholder="请输入融资产品编号" />
         </el-form-item> -->
         <el-form-item label="融资产品名称:" prop="zfpName" style="margin-left: 5%">
-          <el-input v-model="form.zfpName" placeholder="请输入融资产品名称" maxlength="20" :disabled="disabled" />
+          <el-input v-model="form.zfpName" placeholder="请输入融资产品名称" maxlength="20" clearable :disabled="disabled" />
         </el-form-item>
         <el-form-item label="资金方:" prop="zfpManagementId" style="margin-left: 5%">
            <el-select
@@ -44,10 +44,10 @@
          <el-divider content-position="left">平台参数</el-divider>
 
         <el-form-item label="最小融资金额(元):" prop="zfpMinimumAmount" style="margin-left: 5%">
-          <el-input v-model="form.zfpMinimumAmount" placeholder="请输入最小融资金额" @input.native="changeRate($event,form.zfpMinimumAmount)" maxlength="10" :disabled="disabled" />
+          <el-input v-model="form.zfpMinimumAmount" placeholder="请输入最小融资金额" @input.native="changeRate($event,form.zfpMinimumAmount)" clearable maxlength="10" :disabled="disabled" />
         </el-form-item>
          <el-form-item label="最短融资账期:" prop="zfpShortestPeriod" style="margin-left: 5%">
-          <el-input v-model="form.zfpShortestPeriod" placeholder="最短14天" maxlength="2" :disabled="disabled"/>
+          <el-input v-model="form.zfpShortestPeriod" placeholder="最短14天" maxlength="2" clearable :disabled="disabled"/>
         </el-form-item>
         <el-form-item label="服务费是否可退:" style="margin-left: 6%">
           <el-radio v-model="form.zfpCharge" label="0" :disabled="disabled">否</el-radio>
@@ -100,7 +100,7 @@
           <el-radio v-model="form.zfpPart" label="1">是</el-radio>
         </el-form-item>
         <el-form-item label="资方融资费率(%):" prop="zfpRate" style="margin-left: 11%">
-          <el-input v-model="form.zfpRate" @input.native="inputRate($event,form.zfpRate)" @change="changeVal(form.zfpRate)" placeholder="请输入资方融资费率" maxlength="5"/>
+          <el-input v-model="form.zfpRate" @input.native="inputRate($event,form.zfpRate)" clearable placeholder="请输入资方融资费率" maxlength="5"/>
         </el-form-item>
         <el-form-item label="融资到期方式:" prop="zfpExpire" style="margin-left: 6%">
           <el-select
@@ -133,7 +133,7 @@
           </el-select>
         </el-form-item>
         <el-form-item label="资方返佣费率(%):" prop="zfpProfitRate" style="margin-left: 5%" v-if="form.zfpProfit== '1' ">
-          <el-input v-model="form.zfpProfitRate" @input.native="inputRates($event,form.zfpProfitRate)" @change="changeVal(form.zfpProfitRate)" placeholder="请输入资方返佣费率" maxlength="5" />
+          <el-input v-model="form.zfpProfitRate" @input.native="inputRates($event,form.zfpProfitRate)" clearable placeholder="请输入资方返佣费率" maxlength="5" />
         </el-form-item>
         <el-form-item label="是否需平台审批:" style="margin-left: 5%">
           <el-radio v-model="form.zfpPlatform" label="0">否</el-radio>
@@ -346,6 +346,20 @@ export default {
             trigger: ["blur", "change"],
           },
         ],
+        zfpRate:[
+          {
+            pattern: /^100$|^(\d|[1-9]\d)(\.\d{1,2})*$/,
+            message: "资方融资费率在0-100之内",
+            trigger: ["blur", "change"],
+          },
+        ],
+        zfpProfitRate:[
+          {
+            pattern: /^100$|^(\d|[1-9]\d)(\.\d{1,2})*$/,
+            message: "资方返佣费率在0-100之内",
+            trigger: ["blur", "change"],
+          },
+        ],
       },
     };
   },

+ 8 - 7
front-vue/src/views/service/financeRecord/addFinanceRecord.vue

@@ -19,43 +19,43 @@
           </el-col>
           <el-col :span="8">
             <el-form-item label="融资金额:" prop="zfrAmount">
-              <el-input v-model="form.zfrAmount" placeholder="请输入融资金额"  style="width: 284px;" readonly>
+              <el-input v-model="form.zfrAmount"  placeholder="请输入融资金额"  style="width: 284px;" readonly>
               <template slot="append">元</template>
               </el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="融资账户:" prop="zfrCollectionAccount">
-              <el-input v-model="form.zfrCollectionAccount" placeholder="请输入融资账户" style="width: 284px;" maxlength="25" :readonly="readonly"/>
+              <el-input v-model="form.zfrCollectionAccount" clearable placeholder="请输入融资账户" style="width: 284px;" maxlength="25" :readonly="readonly"/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="8">
             <el-form-item label="承诺还款日" prop="zfrRepaymentDate" v-if="false">
-              <el-input v-model="form.zfrRepaymentDate" placeholder="请输入承诺还款日" style="width: 284px;"/> 
+              <el-input v-model="form.zfrRepaymentDate" clearable placeholder="请输入承诺还款日" style="width: 284px;"/> 
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="融资利率" prop="zfrRate" v-if="false">
-              <el-input v-model="form.zfrRate" placeholder="请输入融资利率" style="width: 284px;"/>
+              <el-input v-model="form.zfrRate" clearable placeholder="请输入融资利率" style="width: 284px;"/>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="融资放款方式" prop="zfpcrLoanType" label-width="90px" v-if="false">
-              <el-input v-model="form.zfpcrLoanType" placeholder="请输入融资账户" style="width: 284px;"/>
+              <el-input v-model="form.zfpcrLoanType" clearable placeholder="请输入融资账户" style="width: 284px;"/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="8">
             <el-form-item label="融资产品" prop="zfiProductId" v-if="false">
-              <el-input v-model="form.zfiProductId" placeholder="请输入融资产品" style="width: 284px;"/> 
+              <el-input v-model="form.zfiProductId" clearable placeholder="请输入融资产品" style="width: 284px;"/> 
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="平台服务费收取费率" prop="zfpcrChargeRate" v-if="false">
-              <el-input v-model="form.zfpcrChargeRate" placeholder="请输入平台服务费收取费率" style="width: 284px;"/> 
+              <el-input v-model="form.zfpcrChargeRate" clearable placeholder="请输入平台服务费收取费率" style="width: 284px;"/> 
             </el-form-item>
           </el-col>
         </el-row>
@@ -144,6 +144,7 @@ export default {
   },
   data() {
     return {
+      //融资账户是够编辑
       readonly:false,
       labelPosition: 'top',
       // 遮罩层

+ 1 - 1
front-vue/src/views/service/financeRecord/approvalRecordDetail.vue

@@ -128,7 +128,7 @@
                   >
           </el-row>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <!-- <el-button type="primary" @click="submitForm">确 定</el-button> -->
         <!-- <el-button @click="cancel">取 消</el-button> -->
       </div>
       <!--预览-->

+ 6 - 4
front-vue/src/views/service/financeRecord/detailFinanceRecord.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="app-container">
     <!-- 添加或修改融资记录对话框 -->
-    <span style="float: right; margin-right: 125px;">创建人{{ user }}</span>
+    <span style="float: right; margin-right: 125px;">创建人:{{ user }}</span>
         <span style="float: right; margin-right: 125px;">创建时间:{{ time }}</span>
         <span style="float: right; margin-right: 125px;">融资编号:{{ number }}</span>
       <el-form ref="form" label-position="top" :model="form" :rules="rules" label-width="80px">
@@ -129,9 +129,9 @@
                       :title="dict.pfiFileName"
                   >
           </el-row>
-      <div slot="footer" class="dialog-footer">
+      <div slot="footer" class="dialog-footer" style="margin-top: 100px; float: right">
         <!-- <el-button type="primary" @click="submitForm">确 定</el-button> -->
-        <!-- <el-button @click="cancel">取 消</el-button> -->
+        <el-button @click="cancel">取 消</el-button>
       </div>
       <!--预览-->
       <el-dialog  :visible.sync="openFile" width="1000px" append-to-body>
@@ -269,8 +269,10 @@ export default {
     },
     // 取消按钮
     cancel() {
-      this.open = false;
       this.reset();
+      this.$store.dispatch("tagsView/delView", this.$route);
+      this.$router.go(-1);
+      this.open = false;
     },
     // 表单重置
     reset() {

+ 13 - 13
front-vue/src/views/service/financeRecord/financeRecord.vue

@@ -66,14 +66,14 @@
         <el-table-column label="融资方" align="center" prop="supplierScyName" width="180" :show-overflow-tooltip="true" v-if="uncheckList.supplierScyName && this.companyType == '01'"/>
         <el-table-column label="开立方" align="center" prop="coreScyName" width="100" :show-overflow-tooltip="true" v-if="uncheckList.coreScyName"/>
         <el-table-column label="融资金额" :formatter="moneyFormat" align="center" prop="zfrAmount" :show-overflow-tooltip="true" v-if="uncheckList.zfrAmount"/>
-        <el-table-column label="融资利率(%)" align="center" prop="zfrRate" width="100" v-if="uncheckList.zfrRate"/>
+        <el-table-column label="融资利率(%)" align="center" prop="zfrRate" width="100" :show-overflow-tooltip="true" v-if="uncheckList.zfrRate"/>
         <el-table-column label="经办人" align="center" prop="nickName" width="100" :show-overflow-tooltip="true" v-if="uncheckList.nickName"/>
         <el-table-column label="承诺还款时间" align="center" prop="zfrExpireDate" width="180" :show-overflow-tooltip="true" v-if="uncheckList.zfrExpireDate"/>
         <el-table-column label="融资申请日期" align="center" prop="zfrApplyDate" width="180" :show-overflow-tooltip="true" v-if="uncheckList.zfrApplyDate"/>
         <el-table-column label="实际放款金额" :formatter="moneyFormat" align="center" prop="zfrLoanAmount" width="180" :show-overflow-tooltip="true" v-if="uncheckList.zfrLoanAmount"/>
         <el-table-column label="融资放款日期" align="center" prop="zfrLoanDate" width="180" :show-overflow-tooltip="true" v-if="uncheckList.zfrLoanDate"/>
-        <el-table-column label="融资状态" :formatter="statusFormat" align="center"  prop="zfrStatus" v-if="uncheckList.zfrStatus"/>
-        <el-table-column label="审批状态" :formatter="approveFormat" align="center"  prop="zfrApproveStt" v-if="uncheckList.zfrApproveStt && this.companyType == '02'"/>
+        <el-table-column label="融资状态" :formatter="statusFormat" align="center"  prop="zfrStatus" :show-overflow-tooltip="true" v-if="uncheckList.zfrStatus"/>
+        <el-table-column label="审批状态" :formatter="approveFormat" align="center"  prop="zfrApproveStt" :show-overflow-tooltip="true" v-if="uncheckList.zfrApproveStt && this.companyType == '02'"/>
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200">
           <template slot-scope="scope">
             <el-button
@@ -186,19 +186,19 @@
             <span>{{(queryParamsIng.pageNum - 1) * queryParamsIng.pageSize +scope.$index + 1}}</span>
           </template>
         </el-table-column>
-        <el-table-column label="融信编号" align="center" prop="zfiNumner" width="180" :show-overflow-tooltip="true" v-if="uncheckList.zfiNumner  && (this.companyType == '00' || this.companyType == '02')"/>
+       <el-table-column label="融信编号" align="center" prop="zfiNumner" width="180" :show-overflow-tooltip="true" v-if="uncheckList.zfiNumner  && (this.companyType == '00' || this.companyType == '02')"/>
         <el-table-column label="融资编号" align="center" prop="zfrNumber" width="180" :show-overflow-tooltip="true" v-if="uncheckList.zfrNumber"/>
         <el-table-column label="融资方" align="center" prop="supplierScyName" width="180" :show-overflow-tooltip="true" v-if="uncheckList.supplierScyName && this.companyType == '01'"/>
         <el-table-column label="开立方" align="center" prop="coreScyName" width="100" :show-overflow-tooltip="true" v-if="uncheckList.coreScyName"/>
         <el-table-column label="融资金额" :formatter="moneyFormat" align="center" prop="zfrAmount" :show-overflow-tooltip="true" v-if="uncheckList.zfrAmount"/>
-        <el-table-column label="融资利率(%)" align="center" prop="zfrRate" width="100" v-if="uncheckList.zfrRate"/>
+        <el-table-column label="融资利率(%)" align="center" prop="zfrRate" width="100" :show-overflow-tooltip="true" v-if="uncheckList.zfrRate"/>
         <el-table-column label="经办人" align="center" prop="nickName" width="100" :show-overflow-tooltip="true" v-if="uncheckList.nickName"/>
         <el-table-column label="承诺还款时间" align="center" prop="zfrExpireDate" width="180" :show-overflow-tooltip="true" v-if="uncheckList.zfrExpireDate"/>
         <el-table-column label="融资申请日期" align="center" prop="zfrApplyDate" width="180" :show-overflow-tooltip="true" v-if="uncheckList.zfrApplyDate"/>
         <el-table-column label="实际放款金额" :formatter="moneyFormat" align="center" prop="zfrLoanAmount" width="180" :show-overflow-tooltip="true" v-if="uncheckList.zfrLoanAmount"/>
         <el-table-column label="融资放款日期" align="center" prop="zfrLoanDate" width="180" :show-overflow-tooltip="true" v-if="uncheckList.zfrLoanDate"/>
-        <el-table-column label="融资状态" :formatter="statusFormat" align="center"  prop="zfrStatus" v-if="uncheckList.zfrStatus"/>
-        <el-table-column label="审批状态" :formatter="approveFormat" align="center"  prop="zfrApproveStt" v-if="uncheckList.zfrApproveStt && this.companyType == '02'"/>
+        <el-table-column label="融资状态" :formatter="statusFormat" align="center"  prop="zfrStatus" :show-overflow-tooltip="true" v-if="uncheckList.zfrStatus"/>
+        <el-table-column label="审批状态" :formatter="approveFormat" align="center"  prop="zfrApproveStt" :show-overflow-tooltip="true" v-if="uncheckList.zfrApproveStt && this.companyType == '02'"/>
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200">
           <template slot-scope="scope">
             <el-button
@@ -304,14 +304,14 @@
         <el-table-column label="融资方" align="center" prop="supplierScyName" width="180" :show-overflow-tooltip="true" v-if="uncheckList.supplierScyName && this.companyType == '01'"/>
         <el-table-column label="开立方" align="center" prop="coreScyName" width="100" :show-overflow-tooltip="true" v-if="uncheckList.coreScyName"/>
         <el-table-column label="融资金额" :formatter="moneyFormat" align="center" prop="zfrAmount" :show-overflow-tooltip="true" v-if="uncheckList.zfrAmount"/>
-        <el-table-column label="融资利率(%)" align="center" prop="zfrRate" width="100" v-if="uncheckList.zfrRate"/>
+        <el-table-column label="融资利率(%)" align="center" prop="zfrRate" width="100" :show-overflow-tooltip="true" v-if="uncheckList.zfrRate"/>
         <el-table-column label="经办人" align="center" prop="nickName" width="100" :show-overflow-tooltip="true" v-if="uncheckList.nickName"/>
         <el-table-column label="承诺还款时间" align="center" prop="zfrExpireDate" width="180" :show-overflow-tooltip="true" v-if="uncheckList.zfrExpireDate"/>
         <el-table-column label="融资申请日期" align="center" prop="zfrApplyDate" width="180" :show-overflow-tooltip="true" v-if="uncheckList.zfrApplyDate"/>
         <el-table-column label="实际放款金额" :formatter="moneyFormat" align="center" prop="zfrLoanAmount" width="180" :show-overflow-tooltip="true" v-if="uncheckList.zfrLoanAmount"/>
         <el-table-column label="融资放款日期" align="center" prop="zfrLoanDate" width="180" :show-overflow-tooltip="true" v-if="uncheckList.zfrLoanDate"/>
-        <el-table-column label="融资状态" :formatter="statusFormat" align="center"  prop="zfrStatus" v-if="uncheckList.zfrStatus"/>
-        <el-table-column label="审批状态" :formatter="approveFormat" align="center"  prop="zfrApproveStt" v-if="uncheckList.zfrApproveStt && this.companyType == '02'"/>
+        <el-table-column label="融资状态" :formatter="statusFormat" align="center"  prop="zfrStatus" :show-overflow-tooltip="true" v-if="uncheckList.zfrStatus"/>
+        <el-table-column label="审批状态" :formatter="approveFormat" align="center"  prop="zfrApproveStt" :show-overflow-tooltip="true" v-if="uncheckList.zfrApproveStt && this.companyType == '02'"/>
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200">
           <template slot-scope="scope">
             <el-button
@@ -402,14 +402,14 @@
         <el-table-column label="融资方" align="center" prop="supplierScyName" width="180" :show-overflow-tooltip="true" v-if="uncheckList.supplierScyName && this.companyType == '01'"/>
         <el-table-column label="开立方" align="center" prop="coreScyName" width="100" :show-overflow-tooltip="true" v-if="uncheckList.coreScyName"/>
         <el-table-column label="融资金额" :formatter="moneyFormat" align="center" prop="zfrAmount" :show-overflow-tooltip="true" v-if="uncheckList.zfrAmount"/>
-        <el-table-column label="融资利率(%)" align="center" prop="zfrRate" width="100" v-if="uncheckList.zfrRate"/>
+        <el-table-column label="融资利率(%)" align="center" prop="zfrRate" width="100" :show-overflow-tooltip="true" v-if="uncheckList.zfrRate"/>
         <el-table-column label="经办人" align="center" prop="nickName" width="100" :show-overflow-tooltip="true" v-if="uncheckList.nickName"/>
         <el-table-column label="承诺还款时间" align="center" prop="zfrExpireDate" width="180" :show-overflow-tooltip="true" v-if="uncheckList.zfrExpireDate"/>
         <el-table-column label="融资申请日期" align="center" prop="zfrApplyDate" width="180" :show-overflow-tooltip="true" v-if="uncheckList.zfrApplyDate"/>
         <el-table-column label="实际放款金额" :formatter="moneyFormat" align="center" prop="zfrLoanAmount" width="180" :show-overflow-tooltip="true" v-if="uncheckList.zfrLoanAmount"/>
         <el-table-column label="融资放款日期" align="center" prop="zfrLoanDate" width="180" :show-overflow-tooltip="true" v-if="uncheckList.zfrLoanDate"/>
-        <el-table-column label="融资状态" :formatter="statusFormat" align="center"  prop="zfrStatus" v-if="uncheckList.zfrStatus"/>
-        <el-table-column label="审批状态" :formatter="approveFormat" align="center"  prop="zfrApproveStt" v-if="uncheckList.zfrApproveStt && this.companyType == '02'"/>
+        <el-table-column label="融资状态" :formatter="statusFormat" align="center"  prop="zfrStatus" :show-overflow-tooltip="true" v-if="uncheckList.zfrStatus"/>
+        <el-table-column label="审批状态" :formatter="approveFormat" align="center"  prop="zfrApproveStt" :show-overflow-tooltip="true" v-if="uncheckList.zfrApproveStt && this.companyType == '02'"/>
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200">
           <template slot-scope="scope">
             <el-button

+ 63 - 36
front-vue/src/views/service/financeRecord/recordSeal.vue

@@ -25,7 +25,7 @@
                 </el-form-item>
             </el-col>
             <el-col :span="8">
-                <el-form-item label="融资账户" prop="zfrCollectionAccount" v-if="this.form.zfpcrLoantype != '0'" >
+                <el-form-item label="融资账户" prop="zfrCollectionAccount" >
                 <el-input v-model="form.zfrCollectionAccount" placeholder="请输入融资账户" style="width: 284px;" disabled/>
                 </el-form-item>
             </el-col>
@@ -116,10 +116,20 @@
                 </template>
             </el-table-column>
           </el-table>
+        <el-divider content-position="left">盖章附件</el-divider>
+            <el-row>
+                <img   style="width:50px;height:50px;"
+                    :key="dict.pfiFileId"
+                    src="../../../assets/images/pdf.png"
+                    v-for="dict in recordSealList"
+                    @click="handlePreview(dict)"
+                    :title="dict.pfiFileName"
+                >
+            </el-row>
         <div class="footer" style="float: right;
             margin-bottom:2px;">
             <el-button type="success" @click="getContractFile">预览文件</el-button>
-            <el-button type="primary" @click="selectType">签署</el-button>
+            <el-button type="primary" @click="selectType">盖章</el-button>
             <el-button @click="cancel">取消</el-button>
         </div>
         <el-dialog
@@ -175,8 +185,11 @@
   </div>
 </template>
 <script>
-import {getRecord,updateRecord ,listBillInf,getContractFile,contractSigning,updateChargeStatus,listChargeStatus} from "@/api/service/financeRecord/record";
+import { getRecord,updateRecord ,listBillInf,getContractFile,
+         contractSigning,updateChargeStatus,listChargeStatus,
+         listAccInf,getRecordSealFile} from "@/api/service/financeRecord/record";
 import { listFinanceInf } from "@/api/common/financeInf";
+import { listCompanyHandler } from "@/api/common/companyHandler";
 import {getCreditDetail,getFile} from "@/api/service/credit/credit";
 import {accAdd} from "@/utils/calculation";
 import {sendMessage,checkCode,faceAuth,checkFaceAuth} from "@/api/service/credit/message";
@@ -230,8 +243,8 @@ export default {
             invoiceFileList:[],
             //其他文件
             otherFileList:[],
-
-
+            //盖章文件
+            recordSealList:[],
             //融信编号数据
             financeInfList: [],
             //应收账款
@@ -312,8 +325,8 @@ export default {
             }).then(() =>{ 
                 this.form = response.data;
                 this.$set(this.form, "zfrRepaymentDate", this.parseTime(new Date(response.data.zfrRepaymentDate),'{y}-{m}-{d}'));
-                
             })
+            this.getRecordSealFile()
         });
     },
     methods: {
@@ -416,6 +429,14 @@ export default {
       }
       this.openFile = true;
     },
+    //获取盖章文件
+    getRecordSealFile(){
+      getRecordSealFile(this.form).then((response) => {
+        if(response.data.list){
+          this.recordSealList = response.data.list;
+        }
+      });
+    },
     //应收账款合计
     allAmount() {
       var strarr = [0.00];
@@ -543,39 +564,45 @@ export default {
     },
     //选择类型
     selectType(){
-        var zfrId= this.zfrId
-        listChargeStatus(zfrId).then((response) => {
-            const zciStatus = response.data[0].zciStatus;
-            if(response.data){
-                if(response.data[0].zciStatus == '00'){
-                    this.$confirm(
-                        '请缴纳手续费'+ this.needPay + '元',
-                        "警告",
-                        {
-                        confirmButtonText: "去缴费",
-                        cancelButtonText: "取消",
-                        type: "warning",
-                        }
-                    ).then(function () {
-                        return updateChargeStatus(zfrId);
-                        }).then(() =>{
-                        //选择签署意愿
-                        if(this.zfpAuthType == "00"){
-                                this.confirmIsShow = true;
-                        }else{
-                            this.checking();
-                        }
-                    })
-                }else{
-                    //选择签署意愿
-                        if(this.zfpAuthType == "00"){
-                                this.confirmIsShow = true;
+        listCompanyHandler().then((response) => {
+            if(response.data == true){
+                var zfrId= this.zfrId
+                listChargeStatus(zfrId).then((response) => {
+                    if(response.data[0]){
+                        if(response.data[0].zciStatus == '00'){
+                            this.$confirm(
+                                '请缴纳手续费'+ this.needPay + '元',
+                                "警告",
+                                {
+                                confirmButtonText: "去缴费",
+                                cancelButtonText: "取消",
+                                type: "warning",
+                                }
+                            ).then(function () {
+                                return updateChargeStatus(zfrId);
+                                }).then(() =>{
+                                //选择签署意愿
+                                if(this.zfpAuthType == "00"){
+                                        this.confirmIsShow = true;
+                                }else{
+                                    this.checking();
+                                }
+                            })
                         }else{
-                            this.checking();
+                            //选择签署意愿
+                                if(this.zfpAuthType == "00"){
+                                        this.confirmIsShow = true;
+                                }else{
+                                    this.checking();
+                                }
                         }
-                }
+                    }
+                });
+            }else{
+                this.$message.error('此操作需经办人权限,请确认您是否是经办人');
             }
-        });
+        })
+        
         
     },
     //文件下载

+ 2 - 0
front-vue/src/views/service/invoice/invoice.vue

@@ -342,6 +342,8 @@ export default {
             this.form = response.data[0];
             this.form.ziiAmount = this.amtFormat(this.form.ziiAmount);
             this.form.ziiTotalAmount = this.amtFormat(this.form.ziiTotalAmount);
+            //格式化发票类型
+            this.form.ziiType = this.selectDictLabel(this.typeOptions, this.form.ziiType);
           }
       });
      

+ 5 - 0
front-vue/src/views/service/repayment/detailRepayment.vue

@@ -107,6 +107,11 @@
       <el-table-column label="收款金额" align="center" prop="zfrLoanAmount" :show-overflow-tooltip="true" />
       </el-table>
     </el-form>
+    <div class="footer" style="margin-top: 100px; float: right">
+      <el-button type="info" @click="cancel">取消</el-button>
+      <!-- <el-button type="success" @click="submitForm"
+        >提交</el-button> -->
+    </div>
   </div>
 </template>
 

+ 45 - 23
front-vue/src/views/system/company/certification.vue

@@ -69,6 +69,7 @@
                 :on-preview="handlePictureCardPreview"
                 :on-remove="beforeRemove"
                 :on-change="dealImgChange"
+                :before-upload="beforeAvatarUpload"
                 multiple
                 :limit="1"
                 :on-exceed="handleExceed"
@@ -253,6 +254,7 @@
                   :http-request="fsfzzRequest"
                   :on-preview="fsfzzPictureCardPreview"
                   :on-remove="fsfzzRemove"
+                  :before-upload="beforeAvatarUpload"
                   multiple
                   :limit="1"
                   :on-exceed="fsfzzExceed"
@@ -287,6 +289,7 @@
                   :http-request="fsfzfRequest"
                   :on-preview="fsfzfPictureCardPreview"
                   :on-remove="fsfzfRemove"
+                  :before-upload="beforeAvatarUpload"
                   multiple
                   :limit="1"
                   :on-exceed="fsfzfExceed"
@@ -362,6 +365,7 @@
                   :http-request="jsfzzRequest"
                   :on-preview="jsfzzPictureCardPreview"
                   :on-remove="jsfzzRemove"
+                  :before-upload="beforeAvatarUpload"
                   multiple
                   :limit="1"
                   :on-exceed="jsfzzExceed"
@@ -396,6 +400,7 @@
                   :http-request="jsfzfRequest"
                   :on-preview="jsfzfPictureCardPreview"
                   :on-remove="jsfzfRemove"
+                  :before-upload="beforeAvatarUpload"
                   multiple
                   :limit="1"
                   :on-exceed="jsfzfExceed"
@@ -523,6 +528,7 @@
               :http-request="frsqsRequest"
               :on-preview="frsqsPictureCardPreview"
               :on-remove="frsqsRemove"
+              :before-upload="beforeAvatarUpload"
               multiple
               :limit="1"
               :on-exceed="frsqsExceed"
@@ -561,6 +567,7 @@
               :http-request="szzssqRequest"
               :on-preview="szzssqPictureCardPreview"
               :on-remove="szzssqRemove"
+              :before-upload="beforeAvatarUpload"
               multiple
               :limit="1"
               :on-exceed="szzssqExceed"
@@ -597,6 +604,7 @@
                 :http-request="qtfjRequest"
                 :on-preview="qtfjPictureCardPreview"
                 :on-remove="qtfjRemove"
+                :before-upload="beforeAvatarUpload"
                 multiple
                 :limit="1"
                 :on-exceed="qtfjExceed"
@@ -1365,15 +1373,23 @@ export default {
     qtfjUpload() {
       this.$refs.qtfjload.submit();
     },
+         //上传前校验
+    beforeAvatarUpload(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;
+    },
 
     //营业执照上传
     yyzzRequest(param) {
       let fileObj = param.file; // 相当于input里取得的files
-      const isLt2M = fileObj.size / 1024 / 1024 < 2;
-      if (!isLt2M) {
-        this.$message.error("上传图片大小不能超过 2MB!");
-        loading.close();
-      }
       let fd = new FormData(); // FormData 对象
       fd.append("file", fileObj); // 文件对象
       const loading = this.$loading({
@@ -1410,16 +1426,13 @@ export default {
             loading.close();
           }, 2000);
         }
-      });
+      }).catch((response) => {
+              loading.close();
+            });
     },
     //法人身份证正面ocr识别
     fsfzzRequest(param) {
       let fileObj = param.file; // 相当于input里取得的files
-      const isLt2M = fileObj.size / 1024 / 1024 < 2;
-      if (!isLt2M) {
-        this.$message.error("上传图片大小不能超过 2MB!");
-        loading.close();
-      }
       let fd = new FormData(); // FormData 对象
       fd.append("file", fileObj); // 文件对象
       fd.append("fileType", "00"); // 文件类型
@@ -1438,7 +1451,9 @@ export default {
             loading.close();
           }, 2000);
         }
-      });
+      }).catch((response) => {
+              loading.close();
+            });
     },
     //法人身份证反面
     fsfzfRequest(param) {
@@ -1462,16 +1477,13 @@ export default {
             loading.close();
           }, 2000);
         }
-      });
+      }).catch((response) => {
+              loading.close();
+            });
     },
     //经办人身份证正面
     jsfzzRequest(param) {
       let fileObj = param.file; // 相当于input里取得的files
-      const isLt2M = fileObj.size / 1024 / 1024 < 2;
-      if (!isLt2M) {
-        this.$message.error("上传图片大小不能超过 2MB!");
-        loading.close();
-      }
       let fd = new FormData(); // FormData 对象
       fd.append("file", fileObj); // 文件对象
       fd.append("fileType", "01"); // 文件类型
@@ -1490,7 +1502,9 @@ export default {
             loading.close();
           }, 2000);
         }
-      });
+      }).catch((response) => {
+              loading.close();
+            });
     },
     //经办人身份证反面
     jsfzfRequest(param) {
@@ -1514,7 +1528,9 @@ export default {
             loading.close();
           }, 2000);
         }
-      });
+      }).catch((response) => {
+              loading.close();
+            });
     },
     //法人授权书
     frsqsRequest(param) {
@@ -1538,7 +1554,9 @@ export default {
             loading.close();
           }, 2000);
         }
-      });
+      }).catch((response) => {
+              loading.close();
+            });
     },
     //数字证书授权
     szzssqRequest(param) {
@@ -1562,7 +1580,9 @@ export default {
             loading.close();
           }, 2000);
         }
-      });
+      }).catch((response) => {
+              loading.close();
+            });
     },
     //其他附件
     qtfjRequest(param) {
@@ -1586,7 +1606,9 @@ export default {
             loading.close();
           }, 2000);
         }
-      });
+      }).catch((response) => {
+              loading.close();
+            });
     },
     // 取消按钮
     cancel() {

+ 26 - 10
front-vue/src/views/system/fundSide/fundSide.vue

@@ -286,25 +286,26 @@
             :on-preview="handlePictureCardPreview"
             :on-remove="beforeRemove"
             :on-change="dealImgChange"
+            :before-upload="beforeAvatarUpload"
             multiple
             :limit="20"
             :on-exceed="handleExceed"
             list-type="picture-card"
             :file-list="sfzList"
-            :auto-upload="false"
+            :auto-upload="true"
           >
             <el-button slot="trigger" size="small" type="primary"
               >点击选择</el-button
             >
           </el-upload>
         </el-form-item>
-        <el-button
+        <!-- <el-button
           style="margin-left: 10px"
           size="small"
           type="success"
           @click="submitUpload"
           >上传到服务器</el-button
-        >
+        > -->
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -342,7 +343,7 @@ export default {
       sfzVisible: false,
       showBtnImg: false,
       noneBtnImg: false,
-      limitCountImg: 1,
+      limitCountImg: 20,
       // id隐藏
       isShow: false,
       // 遮罩层
@@ -645,6 +646,19 @@ export default {
         }
       });
     },
+     //上传前校验
+    beforeAvatarUpload(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;
+    },
     //状态变更
     handleStatusChange(row) {
       let text = row.scyStatus === "00" ? "启用" : "停用";
@@ -664,14 +678,14 @@ export default {
         });
     },
     //文件移除提示
-    beforeRemove(file, byzList) {
-      for (let i = 0; i < this.byzList.length; i++) {
-        if (file.uid == this.byzList[i].uid) {
-          this.byzList.splice(i, 1);
+    beforeRemove(file, sfzList) {
+      for (let i = 0; i < this.sfzList.length; i++) {
+        if (file.uid == this.sfzList[i].uid) {
+          this.sfzList.splice(i, 1);
           break;
         }
       }
-      this.byzBtnImg = byzList.length >= this.limitCountImg;
+      this.noneBtnImg = sfzList.length >= this.limitCountImg;
     },
     handleExceed(file, sfzList) {
       this.$message.warning(`当前限制选择 20 个文件`);
@@ -710,7 +724,9 @@ export default {
             loading.close();
           }, 2000);
         }
-      });
+      }).catch((response) => {
+              loading.close();
+            });
     },
   },
 };

+ 368 - 0
front-vue/src/views/system/user/detail.vue

@@ -0,0 +1,368 @@
+<template>
+  <div class="app-container">
+    <el-card class="box-card" style="margin: 0.6%">
+      <div slot="header" class="clearfix">
+        <span style="color: #666ee8; font-weight: bold"
+          >安心签开户及管理授权书(模板)</span
+        >
+      </div>
+      <div class="text item" style="margin-bottom: 20px">
+        <el-form ref="contract" label-width="auto" :inline="true"> </el-form>
+        <el-upload
+          ref="upload"
+          class="upload-demo"
+          :class="{ uoloadSty: showBtnImg, disUoloadSty: noneBtnImg }"
+          action=""
+          accept=".jpg, .jpeg, .png, .JPG, .JPEG, .PNG"
+          :on-preview="handlePictureCardPreview"
+          :on-remove="beforeRemove"
+          :on-change="dealImgChange"
+          multiple
+          :limit="1"
+          :on-exceed="handleExceed"
+          list-type="picture-card"
+          :file-list="sfzList"
+          :auto-upload="false"
+        >
+        </el-upload>
+        <el-button type="primary" @click="handleDown()" style="width: 100%"
+          >下载图片</el-button
+        >
+      </div>
+    </el-card>
+    <el-card class="box-card" style="margin: 0.6%">
+      <div slot="header" class="clearfix">
+        <span style="color: #666ee8; font-weight: bold"
+          >安心签用户信息变更申请表</span
+        >
+      </div>
+      <div class="text item" style="margin-bottom: 20px">
+        <el-form ref="logistics" label-width="auto" :inline="true"> </el-form>
+        <el-upload
+          ref="upload"
+          class="upload-demo"
+          :class="{ fsfzzUoload: showsBtnImg, Uoloadfsfzz: nonesBtnImg }"
+          action=""
+          accept=".jpg, .jpeg, .png, .JPG, .JPEG, .PNG"
+          :on-preview="sqsPictureCardPreview"
+          :on-remove="beforeRemove"
+          :on-change="dealImgChange"
+          multiple
+          :limit="1"
+          :on-exceed="sqsExceed"
+          list-type="picture-card"
+          :file-list="sqsList"
+          :auto-upload="true"
+        >
+        </el-upload>
+        <el-button type="primary" @click="handleDowns()" style="width: 100%"
+          >下载图片</el-button
+        >
+      </div>
+    </el-card>
+    <!-- 查看图片 -->
+    <el-dialog :visible.sync="sfzVisible">
+      <img width="100%" :src="sfzImageUrl" alt="" />
+    </el-dialog>
+    <el-dialog :visible.sync="sqsVisible">
+      <img width="100%" :src="sqsImageUrl" alt="" />
+    </el-dialog>
+    <div style="text-align: center">
+      <el-button type="primary" @click="submit()">确认</el-button>
+        <el-button @click="cancel">关闭</el-button>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getFund,confirmChange} from "@/api/system/user";
+import { uploadFileNew } from "@/api/common/file";
+import { getToken } from "@/utils/auth";
+
+export default {
+  name: "billEdit",
+  components: {},
+  data() {
+    return {
+      //图片预览
+      sfzImageUrl: "",
+      sfzVisible: false,
+      sqsImageUrl: "",
+      sqsVisible: false,
+      showBtnImg: false,
+      noneBtnImg: false,
+      showsBtnImg: false,
+      nonesBtnImg: false,
+
+      sfzList: [],
+      sqsList: [],
+
+      limitCountImg: 1,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 是否显示弹出层
+      open: false,
+      uploadOpen: false,
+      // 查询参数
+      queryParams: {},
+      // 表单参数
+      form: {},
+      //类型
+      type: "00",
+      //合同附件
+      contractList: [],
+      //物流附件
+      logisticsList: [],
+      //其他附件
+      otherList: [],
+      //发票列表
+      fileList: [],
+      //全选状态
+      checkAll: false,
+      //全选状态
+      isIndeterminate: false,
+      //选中值
+      checkedInvoice: [],
+      //发票对象
+      invoice: {},
+      //合计金额
+      totalPrice: 0,
+      //验证结果
+      checkSttOptions: [],
+      //图片路径
+      invoiceImageUrl: null,
+      //图片显示
+      invoiceVisible: false,
+      //等待框
+      fullscreenLoading: false,
+      //链属企业
+      companyRelList: [],
+      //链属企业
+      company: {},
+    };
+  },
+  created() {
+    const userId = this.$route.params && this.$route.params.userId;
+    getFund(userId).then((response) => {
+      console.log(response);
+      if (response.data.data && response.data.data.length != 0) {
+        this.sfzList.push({
+          uid: response.data.data[0].uid,
+          url: response.data.data[0].url + "/" + getToken(),
+          fileUrl: response.data.data[0].fileUrl,
+        });
+        this.sqsList.push({
+          uid: response.data.data[0].fileId,
+          url: response.data.data[0].pfiUrl + "/" + getToken(),
+          fileUrl: response.data.data[0].fileUrl,
+        });
+
+        this.noneBtnImg = true;
+        this.nonesBtnImg = true;
+      }
+    });
+  },
+  activated() {},
+  methods: {
+    //查询往来账款详情
+    getDetail(zbiId) {
+      const loading = this.$loading({
+        lock: true,
+        text: "Loading",
+        spinner: "el-icon-loading",
+        background: "rgba(0, 0, 0, 0.7)",
+      });
+      getBill(zbiId)
+        .then((response) => {
+          this.form = response.data;
+          if (this.form.zbiPayerId == this.company.scyId) {
+            this.type = "00";
+          } else {
+            this.type = "01";
+          }
+          loading.close();
+        })
+        .catch(() => {
+          loading.close();
+        });
+    },
+    //上传前校验
+    beforeAvatarUpload(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;
+    },
+    //文件移除提示
+    beforeRemove(file, sfzList) {
+      for (let i = 0; i < this.sfzList.length; i++) {
+        if (file.uid == this.sfzList[i].uid) {
+          this.sfzList.splice(i, 1);
+          break;
+        }
+      }
+      this.noneBtnImg = sfzList.length >= this.limitCountImg;
+    },
+    sqsRemove(file, sqsList) {
+      for (let i = 0; i < this.sqsList.length; i++) {
+        if (file.uid == this.sqsList[i].uid) {
+          this.sqsList.splice(i, 1);
+          break;
+        }
+      }
+      this.nonesBtnImg = sqsList.length >= this.limitCountImg;
+    },
+    handleExceed(file, sfzList) {
+      this.$message.warning(`当前限制选择 1 个文件`);
+    },
+    sqsExceed(file, sqsList) {
+      this.$message.warning(`当前限制选择 1 个文件`);
+    },
+    //图片预览
+    handlePictureCardPreview(file) {
+      this.sfzImageUrl = file.url;
+      this.sfzVisible = true;
+    },
+    sqsPictureCardPreview(file) {
+      this.sqsImageUrl = file.url;
+      this.sqsVisible = true;
+    },
+    dealImgChange(file, sfzList) {
+      this.noneBtnImg = sfzList.length >= this.limitCountImg;
+    },
+    dealImgChange(file, sqsList) {
+      this.nonesBtnImg = sqsList.length >= this.limitCountImg;
+    },
+    //上传
+    // submitUpload() {
+    //   this.$refs.upload.submit();
+    // },
+    // sqsUpload() {
+    //   this.$refs.upload.submit();
+    // },
+    //手动上传文件触发
+    sfzRequest(param) {
+      let fileObj = param.file; // 相当于input里取得的files
+      let fd = new FormData(); // FormData 对象
+      fd.append("file", fileObj); // 文件对象
+      fd.append("fileType", "00"); //文件类型
+      const loading = this.$loading({
+        lock: true,
+        text: "Loading",
+        spinner: "el-icon-loading",
+        background: "rgba(0, 0, 0, 0.7)",
+      });
+      uploadFileNew(fd).then((response) => {
+        if (response) {
+          this.sfzList.push({
+            uid: response.fileId,
+            url: response.url + "/" + getToken(),
+          });
+          setTimeout(() => {
+            loading.close();
+          }, 2000);
+        }
+      });
+    },
+    sqsRequest(param) {
+      let fileObj = param.file; // 相当于input里取得的files
+      let fd = new FormData(); // FormData 对象
+      fd.append("file", fileObj); // 文件对象
+      fd.append("fileType", "00"); //文件类型
+      const loading = this.$loading({
+        lock: true,
+        text: "Loading",
+        spinner: "el-icon-loading",
+        background: "rgba(0, 0, 0, 0.7)",
+      });
+      uploadFileNew(fd).then((response) => {
+        if (response) {
+          this.sqsList.push({
+            uid: response.fileId,
+            url: response.url + "/" + getToken(),
+          });
+          setTimeout(() => {
+            loading.close();
+          }, 2000);
+        }
+      });
+    },
+    //授权书
+    handleDown() {
+       const userId = this.$route.params && this.$route.params.userId;
+       this.queryParams.userId = userId;
+      this.download(
+        "system_cc/ownUser/jpgAuthorization",{
+             ...this.queryParams
+        },
+        `安心签用户信息变更申请表.jpg`
+      );
+    },
+    handleDowns() {
+       const userId = this.$route.params && this.$route.params.userId;
+       this.queryParams.userId = userId;
+      console.log(this.queryParams.userId)
+        this.download(
+        "system_cc/ownUser/jpgApply",{
+             ...this.queryParams
+        },
+        `安心签用户信息变更申请表.jpg`
+      );
+    },
+        // 取消按钮
+    cancel() {
+      this.$store.dispatch("tagsView/delView", this.$route);
+      this.$router.go(-1);
+    },
+          /** 确认变更经办人 */
+    submit() {
+       const userId = this.$route.params && this.$route.params.userId;
+            const loading = this.$loading({
+              lock: true,
+              text: "Loading",
+              spinner: "el-icon-loading",
+              background: "rgba(0, 0, 0, 0.7)",
+            });
+            confirmChange(userId)
+              .then((response) => {
+                loading.close();
+                this.msgSuccess("变更成功");
+                this.$store.dispatch("tagsView/delView", this.$route);
+                this.$router.go(-1);
+              })
+              .catch((response) => {
+                loading.close();
+              });
+    },
+  },
+};
+</script>
+<style>
+.uoloadSty .el-upload--picture-card {
+  width: 110px;
+  height: 110px;
+  line-height: 110px;
+}
+.disUoloadSty .el-upload--picture-card {
+  display: none;
+}
+
+.fsfzzUoload .el-upload--picture-card {
+  width: 110px;
+  height: 110px;
+  line-height: 110px;
+}
+.Uoloadfsfzz .el-upload--picture-card {
+  display: none;
+}
+</style>

+ 295 - 23
front-vue/src/views/system/user/index.vue

@@ -230,7 +230,26 @@
                 icon="el-icon-edit"
                 @click="handleChange(scope.row)"
                 v-hasPermi="['system:ownUser:adminChange']"
-                >变更权限</el-button
+                v-if="scope.row.scyStatus=='03'&&scope.row.scyID!='000000'"
+                >变更管理员</el-button
+              >
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-edit"
+                @click="handleHandler(scope.row)"
+                v-hasPermi="['system:ownUser:handlerChange']"
+                 v-if="scope.row.scyStatus!='03'&&scope.row.zhcStatus!='00'"
+                >申请变更经办人</el-button
+              >
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-edit"
+                @click="confirmHandler(scope.row)"
+                v-hasPermi="['system:ownUser:confirmChange']"
+                v-if="scope.row.scyStatus!='03'&&scope.row.zhcStatus=='00'"
+                >确认变更经办人</el-button
               >
               <el-button
                 v-if="scope.row.userId !== 1"
@@ -276,15 +295,28 @@
                             </el-option>
                         </el-select>
                     </el-form-item> -->
-          <el-col :span="12">
-            <el-form-item label="用户姓名" prop="nickName">
-              <el-input
-                v-model="form.nickName"
-                placeholder="请输入用户姓名"
-                maxlength="50"
-              />
-            </el-form-item>
-          </el-col>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="手机号" prop="userName">
+                <el-input
+                  v-model="form.userName"
+                  placeholder="请输入登录手机号"
+                  maxlength="11"
+                  :disabled="isUpdate"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="用户姓名" prop="nickName">
+                <el-input
+                  v-model="form.nickName"
+                  placeholder="请输入用户姓名"
+                  maxlength="50"
+                  :disabled="isName"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
           <!-- <el-col :span="12" v-if="rodeptShow"> -->
           <el-col :span="12">
             <el-form-item label="归属部门" prop="deptId">
@@ -310,18 +342,6 @@
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="手机号" prop="userName">
-              <el-input
-                v-model="form.userName"
-                placeholder="请输入登录手机号"
-                maxlength="11"
-                :disabled="isUpdate"
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
             <el-form-item label="角色" prop="roleIds">
               <el-select v-model="form.roleIds" multiple placeholder="请选择">
                 <el-option
@@ -353,6 +373,69 @@
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
+        <!-- 申请变更经办人-->
+    <el-dialog :title="titles" :visible.sync="imgs" width="700px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+       <el-form-item label="安心签开户及管理授权书(模板)">
+          <el-upload
+            ref="upload"
+            class="upload-demo"
+            :class="{ uoloadSty: showBtnImg, disUoloadSty: noneBtnImg }"
+            action=""
+            accept=".jpg, .jpeg, .png, .JPG, .JPEG, .PNG"
+            :http-request="sfzRequest"
+            :on-preview="handlePictureCardPreview"
+            :on-remove="beforeRemove"
+            :on-change="dealImgChange"
+            multiple
+            :limit="1"
+            :on-exceed="handleExceed"
+            list-type="picture-card"
+            :file-list="sfzList"
+            :auto-upload="true"
+          >
+            <el-button slot="trigger" size="small" type="primary"
+              >点击选择</el-button
+            >
+             <div class="el-upload__tip" slot="tip">
+          <!-- <el-checkbox v-model="upload.updateSupport" />是否更新已经存在的用户数据 -->
+          <el-link type="info" style="font-size:12px" @click="authorizationTemplate">下载模板</el-link>
+        </div>
+          </el-upload>
+        </el-form-item>
+            <el-form-item label="安心签用户信息变更申请表">
+          <el-upload
+            ref="upload"
+            class="upload-demo"
+            :class="{ uoloadSty: showsBtnImg, disUoloadSty: nonesBtnImg }"
+            action=""
+            accept=".jpg, .jpeg, .png, .JPG, .JPEG, .PNG"
+            :http-request="sqsRequest"
+            :on-preview="sqsPictureCardPreview"
+            :on-remove="beforeRemove"
+            :on-change="dealImgChange"
+            multiple
+            :limit="1"
+            :on-exceed="sqsExceed"
+            list-type="picture-card"
+            :file-list="sqsList"
+            :auto-upload="true"
+          >
+            <el-button slot="trigger" size="small" type="primary"
+              >点击选择</el-button
+            >
+             <div class="el-upload__tip" slot="tip">
+          <!-- <el-checkbox v-model="upload.updateSupport" />是否更新已经存在的用户数据 -->
+          <el-link type="info" style="font-size:12px" @click="applicationTemplate">下载模板</el-link>
+        </div>
+          </el-upload>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitImg">确 定</el-button>
+        <el-button @click="cancelImg">取 消</el-button>
+      </div>
+    </el-dialog>
     <!-- 重置密码 -->
     <el-dialog
       :title="title"
@@ -442,19 +525,37 @@ import {
   getRoleDept,
   companyList,
   adminChange,
+  handlerChange,
+  selectNormalUser
 } from "@/api/system/user";
+import { uploadFileNew } from "@/api/common/file";
 import { getToken } from "@/utils/auth";
 import { treeselect } from "@/api/system/dept";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import { columnQuery, columnfilter } from "@/api/common/columnSetting";
 import ColumnSetting from "../../../components/Table/columnSetting.vue";
+import Cookies from 'js-cookie'
 
 export default {
   name: "User",
   components: { Treeselect, ColumnSetting },
   data() {
     return {
+          //图片预览
+      sfzImageUrl: "",
+      sfzVisible: false,
+      sqsImageUrl: "",
+      sqsVisible: false,
+      showBtnImg: false,
+      noneBtnImg: false,
+      showsBtnImg: false,
+      nonesBtnImg: false,
+
+      sfzList: [],
+      sqsList: [],
+
+      limitCountImg: 1,
       //当前登录用户企业id
       signCompanyId: "",
       //姓名
@@ -477,12 +578,15 @@ export default {
       userList: null,
       // 弹出层标题
       title: "",
+      titles: "",
       // 部门树选项
       deptOptions: undefined,
       rodeptOptions: undefined,
       // 是否显示弹出层
       open: false,
+      imgs: false,
       openPassWord: false,
+      isName:false,
       //离职日期
       leave: false,
       // 部门名称
@@ -668,6 +772,7 @@ export default {
     deptName(val) {
       this.$refs.tree.filter(val);
     },
+    'form.userName':'getLoginName'
   },
   created() {
     this.getList();
@@ -714,6 +819,19 @@ export default {
       }
       columnfilter(this.selfDom);
     },
+    getLoginName(item){
+      const userName = item;
+      selectNormalUser(userName).then((response) => {
+        console.log(response,"根据手机号获取用户姓名")
+        if(response.data.length > 0){
+          this.$set(this.form, "nickName", response.data[0].nickName);
+          this.isName = true;
+        }else{
+          this.$set(this.form, "nickName", '');
+          this.isName = false;
+        }
+      });
+    },
     //获取当前用户信息
     getNowUser() {
       getNowUser().then((response) => {
@@ -803,6 +921,11 @@ export default {
       this.openPassWord = false;
       this.reset();
     },
+       // 取消按钮
+    cancelImg() {
+      this.imgs = false;
+      this.reset();
+    },
     // 表单重置
     reset() {
       this.form = {
@@ -824,7 +947,8 @@ export default {
     },
     /** 搜索按钮操作 */
     handleQuery() {
-      this.queryParams.page = 1;
+      this.queryParams.pageNum = 1;
+      this.queryParams.pageSize = 10;
       this.getList();
     },
     /** 重置按钮操作 */
@@ -847,6 +971,104 @@ export default {
       this.single = selection.length != 1;
       this.multiple = !selection.length;
     },
+    //文件移除提示
+    beforeRemove(file, sfzList) {
+      for (let i = 0; i < this.sfzList.length; i++) {
+        if (file.uid == this.sfzList[i].uid) {
+          this.sfzList.splice(i, 1);
+          break;
+        }
+      }
+      this.noneBtnImg = sfzList.length >= this.limitCountImg;
+    },
+    sqsRemove(file, sqsList) {
+      for (let i = 0; i < this.sqsList.length; i++) {
+        if (file.uid == this.sqsList[i].uid) {
+          this.sqsList.splice(i, 1);
+          break;
+        }
+      }
+      this.nonesBtnImg = sqsList.length >= this.limitCountImg;
+    },
+    handleExceed(file, sfzList) {
+      this.$message.warning(`当前限制选择 1 个文件`);
+    },
+    sqsExceed(file, sqsList) {
+      this.$message.warning(`当前限制选择 1 个文件`);
+    },
+    //图片预览
+    handlePictureCardPreview(file) {
+      this.sfzImageUrl = file.url;
+      this.sfzVisible = true;
+    },
+    sqsPictureCardPreview(file) {
+      this.sqsImageUrl = file.url;
+      this.sqsVisible = true;
+    },
+    dealImgChange(file, sfzList) {
+      this.noneBtnImg = sfzList.length >= this.limitCountImg;
+    },
+    dealImgChange(file, sqsList) {
+      this.nonesBtnImg = sqsList.length >= this.limitCountImg;
+    },
+    //上传
+    // submitUpload() {
+    //   this.$refs.upload.submit();
+    // },
+    // sqsUpload() {
+    //   this.$refs.upload.submit();
+    // },
+    //手动上传文件触发
+    sfzRequest(param) {
+      let fileObj = param.file; // 相当于input里取得的files
+      let fd = new FormData(); // FormData 对象
+      fd.append("file", fileObj); // 文件对象
+      fd.append("fileType", "00"); //文件类型
+      const loading = this.$loading({
+        lock: true,
+        text: "Loading",
+        spinner: "el-icon-loading",
+        background: "rgba(0, 0, 0, 0.7)",
+      });
+      uploadFileNew(fd).then((response) => {
+        if (response) {
+          this.sfzList.push({
+            uid: response.fileId,
+            url: response.url + "/" + getToken(),
+          });
+          setTimeout(() => {
+            loading.close();
+          }, 2000);
+        }
+      }).catch((response) => {
+              loading.close();
+            });
+    },
+    sqsRequest(param) {
+      let fileObj = param.file; // 相当于input里取得的files
+      let fd = new FormData(); // FormData 对象
+      fd.append("file", fileObj); // 文件对象
+      fd.append("fileType", "00"); //文件类型
+      const loading = this.$loading({
+        lock: true,
+        text: "Loading",
+        spinner: "el-icon-loading",
+        background: "rgba(0, 0, 0, 0.7)",
+      });
+      uploadFileNew(fd).then((response) => {
+        if (response) {
+          this.sqsList.push({
+            uid: response.fileId,
+            url: response.url + "/" + getToken(),
+          });
+          setTimeout(() => {
+            loading.close();
+          }, 2000);
+        }
+      }).catch((response) => {
+              loading.close();
+            });
+    },
     /** 新增按钮操作 */
     handleAdd() {
       this.roleShow = true;
@@ -856,6 +1078,7 @@ export default {
         this.rodeptShow = true;
       }
       this.isUpdate = false;
+      this.isName = false;
       this.reset();
       this.peoplpeName = false;
       this.getFormTreeselect();
@@ -868,14 +1091,28 @@ export default {
         this.form.password = this.initPassword;
       });
     },
+    /** 申请变更经办人 */
+    handleHandler(row) {
+        const userId = row.userId || this.ids;
+         this.form.userIds = userId;
+        this.imgs = true;
+        this.titles = "申请变更经办人";
+    },
+    /** 确认变更经办人*/
+    confirmHandler(row) {
+      Cookies.set("/user/detail/" + row.userId, this.$route.fullPath)
+      this.$router.push({ path: "/user/detail/" + row.userId });
+    },
     /** 修改按钮操作 */
     handleUpdate(row) {
+      console.log(row)
       if (this.signCompanyId == "000000") {
         this.rodeptShow = false;
       } else if (this.signCompanyId != "000000") {
         this.rodeptShow = true;
       }
       this.isUpdate = true;
+      this.isName = true;
       var self = this;
       this.reset();
       this.peoplpeName = true;
@@ -939,6 +1176,27 @@ export default {
         }
       });
     },
+       /** 申请变更经办人 */
+    submitImg() {
+      this.form.sfzList = this.sfzList
+      this.form.sqsList = this.sqsList
+            const loading = this.$loading({
+              lock: true,
+              text: "Loading",
+              spinner: "el-icon-loading",
+              background: "rgba(0, 0, 0, 0.7)",
+            });
+            handlerChange(this.form)
+              .then((response) => {
+                loading.close();
+                this.msgSuccess("申请成功");
+                this.imgs = false;
+                this.getList();
+              })
+              .catch((response) => {
+                loading.close();
+              });
+    },
     /** 提交按钮 */
     submitForm: function () {
       this.$refs["form"].validate((valid) => {
@@ -1079,6 +1337,20 @@ export default {
         `user_${new Date().getTime()}.xlsx`
       );
     },
+    /** 安心签开户及管理授权书(模板) */
+    authorizationTemplate() {
+      this.download(
+        "system_cc/ownUser/authorization",{},
+        `安心签开户及管理授权书(模板).docx`
+      );
+    },
+     /** 安心签用户信息变更申请表 */
+    applicationTemplate() {
+        this.download(
+        "system_cc/ownUser/apply",{},
+        `安心签用户信息变更申请表.xlsx`
+      );
+    },
     // 文件上传中处理
     handleFileUploadProgress(event, file, fileList) {
       this.upload.isUploading = true;