Sfoglia il codice sorgente

fix(资方管理):资方管理bug修复

sufan 2 settimane fa
parent
commit
6b387f879f

+ 7 - 0
src/router/moudules/monitorManage.js

@@ -19,6 +19,13 @@ export default {
       component: () => import('@/views/monitorManage/bindAccount/index.vue'),
       meta: { title: '绑定账号监测' },
       hidden: false
+    },
+    {
+      path: '/blacklist',
+      name: 'Blacklist',
+      component: () => import('@/views/monitorManage/blacklist/index.vue'),
+      meta: { title: '黑名单' },
+      hidden: false
     }
   ]
 }

+ 68 - 4
src/styles/iconfont/iconfont.css

@@ -1,8 +1,8 @@
 @font-face {
-  font-family: "iconfont"; /* Project id 4329826 */
-  src: url('//at.alicdn.com/t/c/font_4329826_71fx3suziol.woff2?t=1713756203611') format('woff2'),
-       url('//at.alicdn.com/t/c/font_4329826_71fx3suziol.woff?t=1713756203611') format('woff'),
-       url('//at.alicdn.com/t/c/font_4329826_71fx3suziol.ttf?t=1713756203611') format('truetype');
+  font-family: "iconfont"; /* Project id 4737986 */
+  src: url('//at.alicdn.com/t/c/font_4737986_u7jpat1l7jd.woff2?t=1730962132287') format('woff2'),
+       url('//at.alicdn.com/t/c/font_4737986_u7jpat1l7jd.woff?t=1730962132287') format('woff'),
+       url('//at.alicdn.com/t/c/font_4737986_u7jpat1l7jd.ttf?t=1730962132287') format('truetype');
 }
 
 .iconfont {
@@ -13,6 +13,70 @@
   -moz-osx-font-smoothing: grayscale;
 }
 
+.icon-huanbang:before {
+  content: "\e603";
+}
+
+.icon-jiebang:before {
+  content: "\e612";
+}
+
+.icon-change:before {
+  content: "\e602";
+}
+
+.icon-a-Union1:before {
+  content: "\e69a";
+}
+
+.icon-a-Union4:before {
+  content: "\e69b";
+}
+
+.icon-a-Union3:before {
+  content: "\e696";
+}
+
+.icon-Union:before {
+  content: "\e697";
+}
+
+.icon-a-Union2:before {
+  content: "\e699";
+}
+
+.icon-31huiyuan:before {
+  content: "\e601";
+}
+
+.icon-jiaoyijilu:before {
+  content: "\e637";
+}
+
+.icon-jihuo:before {
+  content: "\e62b";
+}
+
+.icon-shanchu1:before {
+  content: "\e686";
+}
+
+.icon-finish:before {
+  content: "\e65f";
+}
+
+.icon-tixian1:before {
+  content: "\e688";
+}
+
+.icon-zhuanzhang1:before {
+  content: "\e663";
+}
+
+.icon-tixian:before {
+  content: "\e64a";
+}
+
 .icon-chuzhengxiazai:before {
   content: "\e695";
 }

+ 2 - 2
src/views/capitalManage/components/LettersInfo.vue

@@ -42,7 +42,7 @@
             needy: true,
             digitsNo: 2
           }"
-          :disabled="disabled"
+          :disabled="disabled || !isM1AOrM1B"
           placeholder="请输入融资利率"
           :is-unit="true"
           unit-name="%"
@@ -118,7 +118,7 @@
           placeholder="请选择还款方式"
           clearable
           style="width: 100%"
-          :disabled="disabled"
+          :disabled="disabled || isM1AOrM1B"
         >
           <el-option
             v-for="item in constant.payBackMethod"

+ 12 - 4
src/views/capitalManage/components/RateConfig.vue

@@ -118,10 +118,11 @@ export default {
         },
         {
           label: '操作',
-          render: (h, row) => {
+          render: (h, row, index) => {
             const btnList = [
               {
-                msg: '删除'
+                msg: '删除',
+                category: 'delete'
               }
             ]
             const options = btnList.map(item => {
@@ -129,7 +130,7 @@ export default {
                 <el-button
                   type='text'
                   onClick={() => {
-                    this.handlerOperate(item.category, row)
+                    this.handlerOperate(item.category, row, index)
                   }}
                 >
                   {item.msg}
@@ -187,7 +188,7 @@ export default {
         this.companyList = data
       })
     },
-    handlerOperate(type) {
+    handlerOperate(type, row, index) {
       if (type === 'add') {
         const obj = {
           enterpriseName: '',
@@ -201,6 +202,8 @@ export default {
         this.$nextTick(() => {
           this.getComprehensiveQuotation()
         })
+      } else if (type === 'delete') {
+        this.tableData.splice(index, 1)
       }
     },
     companyChange(row, index) {
@@ -235,6 +238,11 @@ export default {
         if (type === 'temp') {
           resolve(this.tableData)
         } else {
+          if (!this.tableData.length) {
+            this.$message.warning('请添加授信基本信息')
+            reject()
+            return
+          }
           for (let i = 0; i < this.tableData.length; i++) {
             const { enterpriseName, managementRate, technologyServiceRate } =
               this.tableData[i]

+ 1 - 1
src/views/capitalManage/mainContent.vue

@@ -47,7 +47,7 @@
           </div>
           <div class="leftBtn">
             <el-button type="primary" @click="fetchData">查询</el-button>
-            <el-button type="primary" @click="fetchData('update')">实时更新</el-button>
+            <el-button v-if="activeName === 'all'" type="primary" @click="fetchData('update')">实时更新</el-button>
           </div>
         </div>
       </div>

+ 174 - 23
src/views/monitorManage/bindAccount/mainContent.vue

@@ -7,14 +7,14 @@
           <el-input
             v-model="search.keyword"
             style="width: 250px"
-            placeholder="请输入资方名称 /授信编号"
+            placeholder="请输入店铺ID/店铺名称"
             clearable
           />
         </div>
         <div>
           <el-select
             v-model="search.capitalStatus"
-            placeholder="请选择资方状态"
+            placeholder="请选择平台"
             clearable
             style="width: 100%"
           >
@@ -28,24 +28,20 @@
           </el-select>
         </div>
         <div>
-          <el-date-picker
-            v-model="search.creditStartDate"
-            type="date"
-            placeholder="请选择授信生效日"
-            value-format="yyyy-MM-dd"
-            clearable
-          >
-          </el-date-picker>
-        </div>
-        <div>
-          <el-date-picker
-            v-model="search.creditEndDate"
-            type="date"
-            placeholder="请选择授信到期"
-            value-format="yyyy-MM-dd"
+          <el-select
+            v-model="search.capitalStatus"
+            placeholder="请选择账号绑定状态"
             clearable
+            style="width: 100%"
           >
-          </el-date-picker>
+            <el-option
+              v-for="item in constant.capitalStatus"
+              :key="item.code"
+              :label="item.name"
+              :value="item.code"
+            >
+            </el-option>
+          </el-select>
         </div>
         <div class="leftBtn">
           <el-button type="primary" @click="fetchData">查询</el-button>
@@ -64,7 +60,80 @@
         height: 'calc(100vh - 410px)'
       }"
     />
+    <cy-dialog ref="editStatus" title="修正账户绑定状态" width="800px">
+      <el-form
+        ref="editRuleForm"
+        :model="editRuleForm"
+        :rules="editRules"
+        label-position="top"
+        label-width="150px"
+        class="rule-form-orange"
+      >
+        <el-form-item label="账户绑定状态" prop="payBackMethod" style="width: 100%">
+          <el-select
+            v-model="editRuleForm.payBackMethod"
+            placeholder="请选择账户绑定状态"
+            clearable
+            style="width: 100%"
+            :disabled="disabled"
+          >
+            <el-option
+              v-for="item in constant.payBackMethod"
+              :key="item.code"
+              :label="item.name"
+              :value="item.code"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="备注" prop="donorAccountName" style="width: 100%">
+          <el-input v-model="editRuleForm.donorAccountName" placeholder="请输入备注" />
+        </el-form-item>
+
+      </el-form>
+      <div class="submit-btn">
+        <el-button @click="$refs.editStatus.show = false">关闭</el-button>
+        <el-button type="primary" @click="submit('submit')">确定</el-button>
+      </div>
+    </cy-dialog>
+    <cy-dialog ref="changeBind" title="换绑账号" width="800px">
+      <el-form
+        ref="changeRuleForm"
+        :model="changeRuleForm"
+        :rules="changeRules"
+        label-position="top"
+        label-width="150px"
+        class="rule-form-orange"
+      >
+        <el-form-item label="换绑账号" prop="payBackMethod" style="width: 100%">
+          <el-select
+            v-model="editRuleForm.payBackMethod"
+            placeholder="请选择换绑账号"
+            clearable
+            style="width: 100%"
+            :disabled="disabled"
+          >
+            <el-option
+              v-for="item in constant.payBackMethod"
+              :key="item.code"
+              :label="item.name"
+              :value="item.code"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="换绑账户名称" prop="donorAccountName" style="width: 100%">
+          <el-input v-model="editRuleForm.donorAccountName" placeholder="请输入换绑账户名称" />
+        </el-form-item>
+
+      </el-form>
+      <div class="submit-btn">
+        <el-button @click="$refs.changeBind.show = false">关闭</el-button>
+        <el-button type="primary" @click="submit('submit')">确定</el-button>
+      </div>
+    </cy-dialog>
   </div>
+
 </template>
 
 <script>
@@ -74,7 +143,7 @@ export default {
     return {
       search: {},
       total: 0,
-      tableData: [],
+      tableData: [{ capitalName: '11111' }],
       columns: [
         {
           label: '序号',
@@ -127,17 +196,99 @@ export default {
         },
         {
           label: '操作',
-          prop: 'capitalName',
-          showTooltip: true
+          render: (h, row) => {
+            const btnList = [
+              {
+                msg: '刷新账户绑定状态 ',
+                icon: 'iconfont icon-shuaxin',
+                power: '',
+                tabPower: [],
+                rowPower: [],
+                category: 'updateBind'
+              },
+              {
+                msg: '换绑',
+                icon: 'iconfont icon-huanbang',
+                power: '',
+                tabPower: [],
+                rowPower: [],
+                category: 'changeBind'
+              },
+              {
+                msg: '解绑',
+                icon: 'iconfont icon-jiebang',
+                power: '',
+                tabPower: [],
+                rowPower: [],
+                category: 'unbind'
+              },
+              {
+                msg: '修正绑定状态',
+                icon: 'iconfont icon-xiugai',
+                power: '',
+                tabPower: [],
+                rowPower: [],
+                category: 'editStatus'
+              }
+            ]
+            const options = btnList.map(item => {
+              //  this.tablePower({ item, tab: this.activeName, row }) &&
+              return (
+                <el-tooltip class='item' effect='dark' content={item.msg} placement='top'>
+                  <span class='table-icon-box' v-power={item.power}>
+                    <i class={item.icon} onClick={() => { this.handlerOperate(item.category, row) }}></i>
+                  </span>
+                </el-tooltip>
+              )
+            })
+            return <div>{ options }</div>
+          },
+          width: 160
         }
-      ]
+      ],
+      editRuleForm: {},
+      editRules: {},
+      changeRuleForm: {},
+      changeRules: {}
     }
   },
   computed: {
-    ...mapGetters(['constant'])
+    ...mapGetters(['constant']),
+    tablePower() {
+      return ({ item, tab, row }) => {
+        const { tabPower, rowPower } = item
+        if (rowPower && rowPower.length) {
+          if (tabPower.includes(tab) && rowPower.includes(row.capitalStatus)) {
+            return true
+          }
+        } else {
+          if (tabPower.includes(tab)) {
+            return true
+          }
+        }
+      }
+    }
   },
   created() {
     this.$store.dispatch('getConstant', ['capitalStatus'])
+  },
+  methods: {
+    handlerOperate(type, row) {
+      if (type === 'editStatus' || type === 'changeBind') {
+        this.$refs[type].show = true
+      }
+      if (type === 'unbind') {
+        this.unBind()
+      }
+    },
+    unBind() {
+      this.$confirm('解绑后,将不能收到该店铺的回款,确认操作吗?', '解绑账号', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消'
+      }).then(() => {
+
+      })
+    }
   }
 }
 </script>

+ 23 - 0
src/views/monitorManage/blacklist/index.vue

@@ -0,0 +1,23 @@
+<template>
+  <div class="bind-account">
+    <router-view />
+    <template v-if="!$route.params.id">
+      <main-content></main-content>
+    </template>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'SupplierManage',
+  components: {
+    MainContent: () => import('./mainContent')
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.bind-account {
+
+}
+</style>

+ 15 - 0
src/views/monitorManage/blacklist/mainContent.vue

@@ -0,0 +1,15 @@
+<template>
+  <div>
+    31231231
+  </div>
+</template>
+
+<script>
+export default {
+
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>