Просмотр исходного кода

Merge branch 'dev' of http://www.baoxianzhanggui.com:8090/sxzgd/vue-insagent-pc into dev

lihongxiao 2 лет назад
Родитель
Сommit
d887410626

+ 1 - 1
index.html

@@ -3,7 +3,7 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width,initial-scale=1.0">
-    <script src="//at.alicdn.com/t/c/font_4439599_klkdwsasxxc.js"></script>
+    <script src="//at.alicdn.com/t/c/font_4439599_dea56hl0hs4.js"></script>
     <title>管理平台</title>
   </head>
   <body style="margin: 0;">

+ 43 - 0
src/http/moudules/dept.js

@@ -212,6 +212,49 @@ export const withdraw = (data) => {
     })
 }
 
+// 绑卡
+export const insert = (data) => {
+    return axios({
+        url: '/userBank/insert',
+        method: 'post',
+        data
+    })
+}
+
+// 解绑
+export const unbind = (data) => {
+    return axios({
+        url: '/userBank/unbind',
+        method: 'post',
+        data
+    })
+}
+// 可用银行卡
+export const queryUsableCard = (data) => {
+    return axios({
+        url: '/userBank/queryUsableCard',
+        method: 'post',
+        data
+    })
+}
+// 重新绑定
+export const rebind = (data) => {
+    return axios({
+        url: '/userBank/rebind',
+        method: 'post',
+        data
+    })
+}
+
+// 轨迹
+export const getUserBankCardHistoryList = (data) => {
+    return axios({
+        url: '/userBank/getUserBankCardHistoryList',
+        method: 'post',
+        data
+    })
+}
+
 //获取树结构
 export const sysDeptInternalAgentFindTree = (params) => {
     return axios({

+ 49 - 1
src/views/Core/KtCommonTable.vue

@@ -36,7 +36,7 @@
               fontWeight: '900',
               color: '#606266',
             }"
-            style="width: 55%"
+            style="width: 70%"
           >
             <el-table-column
               type="index"
@@ -51,6 +51,29 @@
             </el-table-column>
             <el-table-column prop="bankNumber" label="银行卡号" style="flex: 1">
             </el-table-column>
+            <el-table-column prop="auditStatus" label="审核状态" style="flex: 1">
+              <template slot-scope="scope1">
+                <span>{{ scope1.row.auditStatus == 0 ? '未审核' : scope1.row.auditStatus == '1' ? '审核通过' : scope1.row.auditStatus == '2' ? '审核驳回' : scope1.row.auditStatus }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column prop="delFlag" label="是否解绑" style="flex: 1">
+              <template slot-scope="scope1">
+                <el-row>
+                  <el-col :span="8">
+                    <span style="margin-right: 20px;">{{ scope1.row.delFlag == '0' ? '未解绑' : '已解绑' }}</span>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-button v-if="scope1.row.delFlag == '0'" type="text" size="mini" @click="handleBreak(scope.$index, scope.row, scope1.$index, scope1.row)">解绑</el-button>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-button v-if="scope1.row.delFlag == '1'" type="text" size="mini" @click="handleRebind(scope.$index, scope.row, scope1.$index, scope1.row)">重绑</el-button>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-button type="text" size="mini" @click="handleTimeLine(scope.$index, scope.row, scope1.$index, scope1.row)">轨迹</el-button>
+                  </el-col>
+                </el-row>
+              </template>
+            </el-table-column>
           </el-table>
         </template>
       </el-table-column>
@@ -640,6 +663,31 @@ export default {
       });
       // this.$emit('findLeftTreeData')
     },
+    handleBreak: function (index, row, i, r) {
+      this.$emit("handleBreak", {
+        index: index,
+        row: row,
+        i: i,
+        r: r
+      })
+    },
+    
+    handleTimeLine: function (index, row, i, r) {
+      this.$emit("handleTimeLine", {
+        index: index,
+        row: row,
+        i: i,
+        r: r
+      })
+    },
+    handleRebind: function (index, row, i, r) {
+      this.$emit("handleRebind", {
+        index: index,
+        row: row,
+        i: i,
+        r: r
+      })
+    },
     // 删除
     handleDelete: function (index, row) {
       let _keyName = "id";

+ 146 - 6
src/views/FinancialManagement/AcountWithdrawal/AcountBalance.vue

@@ -35,10 +35,10 @@
       </div>
       <kt-common-table :showBatchDelete="false" :showSysUserAccountCardList="true" :showBatchPrint="false"
         :showOperation="true" :data="pageResult" :columns="columns" @findPage="queryBalance" :isshowpagination="true"
-        button2Name="提现" button2Background="#409eff" @handleButton2="withdrawButton">
+        button2Name="提现" button3Name="绑卡" button2Background="#409eff" button3Background="#409eff" @handleButton2="withdrawButton" @handleButton3="withdrawButton2" @handleBreak="handleBreak" @handleTimeLine="handleTimeLine" @handleRebind="handleRebind">
       </kt-common-table>
     </SplitArea>
-    </Split>
+    <!-- </Split> -->
     <div class="popupBox">
       <el-dialog :visible.sync="dialogVisible" title="提现" @close="dialogVisible = false" width="40%">
         <el-form ref="form" :model="withdrawForm" label-width="100px">
@@ -64,6 +64,37 @@
           <el-button size="small" type="primary" @click="handleConfirm">确 定</el-button>
         </span>
       </el-dialog>
+
+      <el-dialog :visible.sync="dialogVisible1" title="绑卡" @close="dialogVisible1 = false" width="40%">
+        <el-form ref="form" :model="addCard" label-width="100px">
+          <el-form-item label="银行卡号">
+            <el-input v-model="addCard.bankNumber" placeholder="请输入银行卡号" style="width: 300px;"></el-input>
+          </el-form-item>
+          <el-form-item label="开户行">
+            <el-input v-model="addCard.bankAccount" placeholder="请输入开户行" style="width: 300px;"></el-input>
+          </el-form-item>
+          <el-form-item label="开户行地址">
+            <el-input v-model="addCard.bankAddress" placeholder="请输入开户行地址" style="width: 300px;"></el-input>
+          </el-form-item>
+        </el-form>
+        <span slot="footer" class="dialog-footer">
+          <el-button size="small" @click="dialogVisible1 = false">取 消</el-button>
+          <el-button size="small" type="primary" @click="handleConfirm1">确 定</el-button>
+        </span>
+      </el-dialog>
+
+      <el-dialog :visible.sync="dialogVisibleLine" title="轨迹" @close="dialogVisibleLine = false" width="30%">
+        <el-steps direction="vertical">
+          <el-step :title="item.title" v-for="(item, index) in timeLine" :key="index">
+            <template slot="description">
+              <div class="tab-panecent1">
+                <div>时间: {{ item.createTime }}</div>
+                <div>创建人: {{ item.creator }}</div>
+              </div>
+            </template>
+            </el-step>
+          </el-steps>
+      </el-dialog>
     </div>
   </div>
 </template>
@@ -79,6 +110,14 @@ export default {
   },
   data() {
     return {
+      // 轨迹
+      dialogVisibleLine: false,
+      timeLine: [],
+      // 绑卡
+      dialogVisible1: false,
+      addCard: {
+        userId: "",
+      },
       withdrawForm: {
         userId: "",
         amountStatus: "",
@@ -217,6 +256,75 @@ export default {
   },
 
   methods: {
+    // 轨迹
+    handleTimeLine({index, row, i, r}) {
+      this.dialogVisibleLine = true
+      this.$api.dept.getUserBankCardHistoryList({
+        bankNumber: r.bankNumber
+      }).then((res) => {
+        res.data.forEach(val => {
+          if (val.type == 'add') {
+            val.title = '绑定银行卡'
+          }
+          if (val.type == 'unbind') {
+            val.title = '解绑'
+          }
+          if (val.type == 'pass') {
+            val.title = '审核通过'
+          }
+          if (val.type == 'refuse') {
+            val.title = '审核驳回'
+          }
+          if (val.type == 'rebind') {
+            val.title = '重新绑定'
+          }
+        })
+        this.timeLine = res.data
+      })
+    },
+    // 解绑
+    handleBreak({index, row, i, r}) {
+      this.$api.dept.unbind({
+        id: r.id,
+        delFlag: '1',
+        bankNumber: r.bankNumber
+      }).then((res) => {
+        if (res.code == 200) {
+          this.queryBalance();
+          this.$message.success(res.msg)
+        } else {
+          this.$message.error(res.msg)
+        }
+      })
+    },
+    // 重新绑定
+    handleRebind({index, row, i, r}) {
+      this.$api.dept.rebind({
+        id: r.id,
+        delFlag: '0',
+        bankNumber: r.bankNumber
+      }).then((res) => {
+        if (res.code == 200) {
+          this.queryBalance();
+          this.$message.success(res.msg)
+        } else {
+          this.$message.error(res.msg)
+        }
+      })
+    },
+    // 绑卡
+    handleConfirm1() {
+      this.addCard.isDefault = '0'
+      this.$api.dept.insert(this.addCard).then((res) => {
+        if (res.code == 200) {
+          this.queryBalance();
+          this.$message.success(res.msg)
+          this.dialogVisible1 = false
+        } else {
+          this.$message.error(res.msg)
+        }
+      })
+    },
     //弹窗是否出现
     showDialog() {
       this.dialogVisible = !this.dialogVisible;
@@ -247,9 +355,21 @@ export default {
     withdrawButton({ index, row }) {
       this.sysUserAccountCardList = [];
       this.withdrawForm.userId = row.userId;
-      this.sysUserAccountCardList = row.sysUserAccountCardList;
+      // this.sysUserAccountCardList = row.sysUserAccountCardList;
+      this.$api.dept.queryUsableCard({
+        userId: row.userId
+      }).then((res) => {
+        this.sysUserAccountCardList = res.data;
+      })
       this.dialogVisible = !this.dialogVisible;
     },
+    // 绑卡
+    withdrawButton2({index, row}) {
+      this.addCard = {}
+      this.addCard.userId = row.userId;
+      this.addCard.userName = row.name
+      this.dialogVisible1 = true
+    },
     //联级选择器触发事件
     handleChange(val) {
       if (val.length !== 0) {
@@ -275,8 +395,14 @@ export default {
         })
         .then((res) => {
           if (res.code == 200) {
-            this.pageResult = res.data;
-            console.log(this.pageResult);
+            let resData = {
+              content: res.data.records,
+              pageNum: res.data.current,
+              pageSize: res.data.size,
+              totalPages: res.data.pages,
+              totalSize: res.data.total,
+            }
+            this.pageResult = resData;
           }
         });
     },
@@ -312,7 +438,7 @@ export default {
 };
 </script>
 
-<style scoped>
+<style scoped lang="scss">
 /* 顶部查询条件样式Start */
 .queryFrom {
   background: #f2f7fc;
@@ -348,4 +474,18 @@ export default {
 .el-cascader {
   width: 100%;
 }
+.el-steps {
+  >>> .el-step__head.is-wait {
+    color: var(--themeColor);
+    border-color: var(--themeColor);
+  }
+  >>> .el-step__title.is-wait {
+    color: var(--themeColor);
+    font-weight: 700;
+  }
+  >>> .el-step__description.is-wait {
+    color: #606266;
+    margin-bottom: 10px;
+  }
+}
 </style>

+ 1 - 0
src/views/FinancialManagement/AcountWithdrawal/WithdrawalReview2.vue

@@ -68,6 +68,7 @@ export default {
                 { prop: "bankNumber", label: "卡号" },
                 { prop: "bankAccount", label: "银行" },
                 { prop: "bankAddress", label: "开户行" },
+                { prop: "auditTime", label: "审核时间" },
                 { prop: "auditStatus", label: "状态",formatter:this.statusFormatter },
                 // { prop: "remark", label: "驳回原因" },
             ],

+ 1 - 0
src/views/FinancialManagement/AcountWithdrawal/WithdrawalReview3.vue

@@ -68,6 +68,7 @@ export default {
                 { prop: "bankNumber", label: "卡号" },
                 { prop: "bankAccount", label: "银行" },
                 { prop: "bankAddress", label: "开户行" },
+                { prop: "auditTime", label: "审核时间" },
                 { prop: "auditStatus", label: "状态",formatter:this.statusFormatter },
                 { prop: "remark", label: "驳回原因" },
             ],

+ 5 - 1
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/InvoicedAndSettled.vue

@@ -77,7 +77,7 @@
           </el-form>
           <span slot="footer" class="dialog-footer">
           <el-button  size="small" @click="dialogVisiblebalance = false">取消</el-button>
-          <el-button type="primary" size="small" @click="balanceSumbit">确实</el-button>
+          <el-button type="primary" size="small" @click="balanceSumbit">确定</el-button>
         </span>
       </el-dialog>
 
@@ -435,6 +435,10 @@ export default {
             });
         },
         balanceSumbit() {
+            if (!this.form.settlementAmount || this.form.settlementAmount <= 0) {
+                this.$message.error('请输入金额')
+                return
+            }
             this.$api.task
                 .batchBxBalance({...this.openBalanceDetail,
                 otherFeevalue:this.formDetail.otherFeevalue,

+ 4 - 0
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/InvoicingUnsettled.vue

@@ -563,6 +563,10 @@ export default {
       this.dialogVisible=false
     }, 
     balanceSumbit() {
+      if (!this.form.settlementAmount || this.form.settlementAmount <= 0) {
+        this.$message.error('请输入金额')
+        return
+      }
       this.$api.task
         .batchBxBalance({...this.openBalanceDetail,
           otherFeevalue:this.formDetail.otherFeevalue,

+ 4 - 0
src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/InvoicedAndSettled.vue

@@ -409,6 +409,10 @@ export default {
             });
         },
         balanceSumbit() {
+            if (!this.form.settlementAmount || this.form.settlementAmount <= 0) {
+                this.$message.error('请输入金额')
+                return
+            }
             this.$api.task
                 .batchBxBalance({...this.openBalanceDetail,
                 otherFeevalue:this.formDetail.otherFeevalue,

+ 4 - 0
src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/InvoicingUnsettled.vue

@@ -531,6 +531,10 @@ export default {
         },
 
         balanceSumbit() {
+            if (!this.form.settlementAmount || this.form.settlementAmount <= 0) {
+                this.$message.error('请输入金额')
+                return
+            }
             this.$api.task
                 // .batchBxBalance({
                 .noBatchBxBalance({

+ 54 - 27
src/views/FinancialManagement/CarInsurance/PlatformSettlement/NonVehicleBalance.vue

@@ -308,40 +308,61 @@
             <el-input v-model="formDataListAdd.noPremium" class="inputType" size="small"></el-input>
           </el-form-item>
         </el-col>
-<!--        <el-col :span="8">-->
-<!--          <el-form-item label="交强手续费比例">-->
-<!--            <el-input v-model="formDataListAdd.jqSuperviseCostsProportion" class="inputType" size="small"></el-input>-->
-<!--          </el-form-item>-->
-<!--        </el-col>-->
-<!--        <el-col :span="8">-->
-<!--          <el-form-item label="商业手续费比例">-->
-<!--            <el-input v-model="formDataListAdd.sySuperviseCostsProportion" class="inputType" size="small"></el-input>-->
-<!--          </el-form-item>-->
-<!--        </el-col>-->
-<!--        <el-col :span="8">-->
-<!--          <el-form-item label="非车手续费比例">-->
-<!--            <el-input v-model="formDataListAdd.noSuperviseCostsProportion" class="inputType" size="small"></el-input>-->
-<!--          </el-form-item>-->
-<!--        </el-col>-->
+        <el-col :span="8">
+          <el-form-item label="交强手续费比例">
+            <el-input v-model="formDataListAdd.jqSuperviseCostsProportion" class="inputType" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="商业手续费比例">
+            <el-input v-model="formDataListAdd.sySuperviseCostsProportion" class="inputType" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="非车手续费比例">
+            <el-input v-model="formDataListAdd.noSuperviseCostsProportion" class="inputType" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+
+        <el-col :span="8">
+          <el-form-item label="交强跟单比例">
+            <el-input v-model="formDataListAdd.jqOtherCostsProportion" class="inputType" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="商业跟单比例">
+            <el-input v-model="formDataListAdd.syOtherCostsProportion" class="inputType" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="非车跟单比例">
+            <el-input v-model="formDataListAdd.noOtherCostsProportion" class="inputType" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="交强应收比例">
+            <el-input v-model="formDataListAdd.jqReceivableProportion" class="inputType" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="商业应收比例">
+            <el-input v-model="formDataListAdd.syReceivableProportion" class="inputType" size="small"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label="非车应收比例">
+            <el-input v-model="formDataListAdd.noReceivableProportion" class="inputType" size="small"></el-input>
+          </el-form-item>
+        </el-col>
 
-<!--        <el-col :span="8">-->
-<!--          <el-form-item label="交强跟单比例">-->
-<!--            <el-input v-model="formDataListAdd.jqOtherCostsProportion" class="inputType" size="small"></el-input>-->
-<!--          </el-form-item>-->
-<!--        </el-col>-->
-<!--        <el-col :span="8">-->
-<!--          <el-form-item label="商业跟单比例">-->
-<!--            <el-input v-model="formDataListAdd.syOtherCostsProportion" class="inputType" size="small"></el-input>-->
-<!--          </el-form-item>-->
-<!--        </el-col>-->
         <el-col :span="8">
-          <el-form-item label="跟单金额">
+          <el-form-item label="跟单金额" prop="otherFeevalue">
             <el-input v-model="formDataListAdd.otherFeevalue" class="inputType" size="small"></el-input>
           </el-form-item>
         </el-col>
 
         <el-col :span="8">
-          <el-form-item label="手续费金额">
+          <el-form-item label="手续费金额" prop="commissionFeevalue">
             <el-input v-model="formDataListAdd.commissionFeevalue" class="inputType" size="small"></el-input>
           </el-form-item>
         </el-col>
@@ -830,6 +851,12 @@ export default {
         receivableAmount: [
           { required: true, message: '请输入应收金额', trigger: 'blur' },
         ],
+        otherFeevalue: [
+          { required: true, message: '请输入跟单金额', trigger: 'blur' },
+        ],
+        commissionFeevalue: [
+          { required: true, message: '请输入手续费金额', trigger: 'blur' },
+        ],
       },
     };
   },

+ 15 - 10
src/views/Letter/Wallet/BankCard.vue

@@ -28,7 +28,7 @@
                 <span>储蓄卡</span>
               </div>
             </div>
-            <img src="../../../../static/bankdel.png" mode="" style="width: 24px;height: 24px;" @click="bankdel(item.id)"
+            <img src="../../../../static/bankdel.png" mode="" style="width: 24px;height: 24px;" @click="bankdel(item)"
               v-loading.fullscreen.lock="Loading">
           </div>
           <div class="bank flex j-s a-c">
@@ -41,7 +41,7 @@
       </template>
       <template v-if="bankType == 1">
         <div class="bankdata flex f-c j-s" :style="{ background: item.stylelist.background }"
-          v-for="(item, index) in cardPackList2" :key="index">
+          v-for="(item, index) in cardPackList2" :key="index" v-show="item.delFlag == '0'">
           <img class="Backgroundimage" src="../../../../static/bankLogo/img1.png" alt="">
           <div class="flex j-s a-start">
             <div class="flex">
@@ -53,7 +53,7 @@
                 <span>储蓄卡</span>
               </div>
             </div>
-            <img src="../../../../static/bankdel.png" mode="" style="width: 24px;height: 24px;" @click="bankdel(item.id)"
+            <img src="../../../../static/bankdel.png" mode="" style="width: 24px;height: 24px;" @click="bankdel(item)"
               v-loading.fullscreen.lock="Loading">
           </div>
           <div class="bank flex j-s a-c">
@@ -78,8 +78,8 @@
                 <span>储蓄卡</span>
               </div>
             </div>
-            <img src="../../../../static/bankdel.png" mode="" style="width: 24px;height: 24px;" @click="bankdel(item.id)"
-              v-loading.fullscreen.lock="Loading">
+            <!-- <img src="../../../../static/bankdel.png" mode="" style="width: 24px;height: 24px;" @click="bankdel(item)"
+              v-loading.fullscreen.lock="Loading"> -->
           </div>
           <div class="bank flex j-s a-c">
             <div>****</div>
@@ -299,19 +299,24 @@ export default {
         }
       });
     },
-    bankdel(id) {
-      this.$confirm('是否删除银行卡?', '提示', {
+    bankdel(item) {
+      this.$confirm('是否解绑银行卡?', '提示', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
         this.loading = true;
-        this.$api.letter.Bankdelete(id).then((res) => {
+        // this.$api.letter.Bankdelete(id).then((res) => {
+          this.$api.dept.unbind({
+            id: item.id,
+            delFlag: '1',
+            bankNumber: item.bankNumber
+          }).then((res) => {
           if (res.code == '200') {
             this.banklist();
             this.$message({
               type: 'success',
-              message: '删除成功!'
+              message: res.msg
             });
             this.loading = false;
           } else {
@@ -324,7 +329,7 @@ export default {
       }).catch(() => {
         this.$message({
           type: 'info',
-          message: '已取消删除'
+          message: '已取消解绑'
         });
       });
 

+ 2 - 1
src/views/Letter/Wallet/FundsWallet.vue

@@ -223,7 +223,8 @@ export default {
     instantWithdrawal() {
       this.extract=null
       this.$api.letter.getUserBankList({
-        auditStatus: '1'
+        auditStatus: '1',
+        delFlag: '0'
       }).then((res) => {
         if (res.code == '200' && res.data.length) {
           this.bankList.map(val => {

+ 3 - 0
src/views/Task/daikeComponents/KtLetter.vue

@@ -2832,6 +2832,9 @@ export default {
         jqOtherCostsProportion: '',
         syOtherCostsProportion: '',
         noOtherCostsProportion: '',
+        jqReceivableProportion: '',
+        syReceivableProportion: '',
+        noReceivableProportion: '',
       },
       watermarkedImage: '',
       redictInfoMsg: [],