فهرست منبع

Merge branch 'dev' of http://39.101.143.165:8090/dong_k/tenant-Platform into dev

祁鹏飞 3 ماه پیش
والد
کامیت
5566b159ae
1فایلهای تغییر یافته به همراه201 افزوده شده و 1 حذف شده
  1. 201 1
      src/views/payCredit/myTask.vue

+ 201 - 1
src/views/payCredit/myTask.vue

@@ -55,6 +55,21 @@
           <el-table-column prop="bankName" label="银行"></el-table-column>
           <el-table-column prop="cardHolderName" label="姓名"></el-table-column>
           <el-table-column prop="bankNum" label="开户行"></el-table-column>
+          <el-table-column label="操作" fixed="right" width="200">
+            <template #default="scope">
+              <el-button link type="primary" size="small" @click="handlePay(scope.row)">付款</el-button>
+              <el-popover ref="RefusePopover" placement="top" width="300" trigger="click" title="驳回理由">
+                <template #reference>
+                  <el-button link type="primary" size="small">驳回</el-button>
+                </template>
+                <el-input style="margin-bottom: 15px" placeholder="请输入" v-model="refuseReason" />
+                <div style="display: flex; align-items: center; justify-content: flex-end">
+                  <el-button size="small" plain @click="refusePopoverCancel">取消</el-button>
+                  <el-button size="small" type="primary" @click="refusePopoverConfirm(scope.row)">确定</el-button>
+                </div>
+              </el-popover>
+            </template>
+          </el-table-column>
         </el-table>
         <div class="pagination">
           <el-pagination v-model:current-page="pages" v-model:page-size="size" :page-sizes="[10, 20, 30, 40]"
@@ -195,11 +210,66 @@
         </div>
       </el-tab-pane>
     </el-tabs>
+    <el-dialog :close-on-click-modal="false" v-model="drawShow" width="800" title="提现付款">
+      <el-form :model="drawForm" ref="DrawRef" :rules="drawRules" label-width="120">
+        <el-form-item prop="voucherId" label="凭证号">
+          <el-input placeholder="请填写" v-model="drawForm.voucherId" />
+        </el-form-item>
+        <el-form-item prop="picId" label="上传凭证资料" class="upload-btn">
+          <img style="display: block; width: 150px; height: 150px" v-if="fileUrl" :src="fileUrl">
+          <el-upload class="upload-demo" v-else :auto-upload="false" action="#" drag :show-file-list="false"
+            accept=".png, .jpg, .jpeg" @change="uploadImage">
+            <el-button size="large" icon="Plus" />
+          </el-upload>
+        </el-form-item>
+        <el-form-item prop="accountName" label="付款账户">
+          <el-input placeholder="请填入" v-model="drawForm.accountName" @click="payAccount" />
+        </el-form-item>
+      </el-form>
+      <template #footer>
+        <el-popconfirm class="box-item" title="确定放弃付款?" placement="top" @confirm="handleConfirm">
+          <template #reference>
+            <el-button plain>退回任务</el-button>
+          </template>
+        </el-popconfirm>
+        <el-button class="border-[#0083FF] color-[#0083FF]" plain @click="handleCancelVerifyAmount">取消</el-button>
+        <el-button type="primary" @click="handleVerifyAmount">确定</el-button>
+      </template>
+    </el-dialog>
+    <el-dialog :close-on-click-modal="false" v-model="payAccountShow" title="付款账户" width="800">
+      <el-row :gutter="20">
+        <el-col :span="8">
+          <el-input prefix-icon="search" placeholder="请输入" v-model="account"></el-input>
+        </el-col>
+        <el-col :span="16">
+          <el-button type="primary" @click="accountSearch">查询</el-button>
+        </el-col>
+      </el-row>
+      <el-table ref="AccountRef" row-key="id" style="margin: 24px 0; max-height: 400px" @select="handleSelect"
+        :data="accountData">
+        <el-table-column type="selection" width="80"></el-table-column>
+        <!-- <el-table-column prop="bankCardNum" label="账户名称"></el-table-column> -->
+        <el-table-column prop="bankCardNum" label="银行卡号"></el-table-column>
+        <el-table-column prop="bankNum" label="开户行"></el-table-column>
+        <el-table-column prop="bankCardNum" label="开户行号"></el-table-column>
+      </el-table>
+      <div class="pagination">
+        <el-pagination v-model:current-page="pageNo" v-model:page-size="pageSize" :page-sizes="[10, 20, 30, 40]"
+          layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handlepageSizeChange"
+          @current-change="handlepageNoChange"></el-pagination>
+      </div>
+      <template #footer>
+        <el-button class="border-[#0083FF] color-[#0083FF]" plain @click="handleAccountCancel">取消</el-button>
+        <el-button type="primary" @click="handleAccountSubmit">确定</el-button>
+      </template>
+    </el-dialog>
   </PageMain>
 </template>
 
 <script setup lang="ts">
 import api from '@/api'
+import { ElMessage } from 'element-plus'
+let AccountRef = ref()
 
 
 let activeName = ref('0')
@@ -213,7 +283,12 @@ const handleClick = (e) => {
   console.log()
   pages.value = 1
   size.value = 10
-  queryInfo.value = {}
+  queryInfo.value = {
+    salesman: '',
+    attrType: '',
+    createTimeStart: '',
+    createTimeEnd: ''
+  }
   activeName.value = e.props.name
   console.log(activeName.value)
   initData(activeName.value)
@@ -231,6 +306,131 @@ let total3 = ref(0)
 
 let pages = ref(1)
 let size = ref(10)
+//上传凭证资料
+let fileUrl = ref('')
+const uploadImage = (file) => {
+  let files = file.raw;
+  const params = new FormData(); // 声明formData数据类型
+  params.append("file", files);
+  api.areaApi.fileUpload(params).then((res: any) => {
+    // IDCardFrontName.value = res.data.fileName;
+    fileUrl.value = res.data.downloadUrl;
+    drawForm.value.picId = res.data.id
+  })
+}
+let payAccountShow = ref(false)
+// 体现付款
+let drawShow = ref(false)
+let drawForm = ref({
+  id: '',
+  voucherId: '',
+  picId: '',
+  accountId: '',
+  accountName: ''
+})
+let drawRules = ref({
+  voucherId: [{ required: true, trigger: "blur", message: "请输入" }],
+  picId: [{ required: true, trigger: "change", message: "请输入" }]
+})
+const handlePay = (row) => {
+  drawForm.value = {
+    voucherId: '',
+    picId: '',
+    accountId: '',
+    accountName: ''
+  }
+  drawShow.value = true
+  drawForm.value.id = row.id
+}
+const payAccount = () => {
+  payAccountShow.value = true
+  initAccount();
+}
+let account = ref('')
+let accountData = ref([])
+let total = ref(0)
+let pageNo = ref(1)
+let pageSize = ref(10)
+const handlepageSizeChange = (size) => {
+  pageSize.value = size
+}
+const handlepageNoChange = (page) => {
+  pageNo.value = page
+}
+
+const initAccount = () => {
+  api.financeApi.cardList({
+    accountName: account.value,
+    pageNo: pageNo.value,
+    pageSize: pageSize.value
+  }).then((res: any) => {
+    accountData.value = res.data.records
+    total.value = res.data.total
+  })
+}
+const accountSearch = () => {
+  pageNo.value = 1
+  pageSize.value = 10
+  initAccount();
+}
+let selectItem = ref(null)
+const handleSelect = (val, row) => {
+  selectItem.value = row
+  console.log(row)
+  if (val.length > 1) {
+    AccountRef.value.clearSelection()
+    AccountRef.value.toggleRowSelection(row);
+  }
+}
+const handleAccountCancel = () => {
+  selectItem.value = null
+  payAccountShow.value = false
+}
+const handleAccountSubmit = () => {
+  payAccountShow.value = false
+  drawForm.value.accountName = selectItem.value.bankCardNum
+  drawForm.value.accountId = selectItem.value.accountId
+}
+const handleCancelVerifyAmount = () => {
+  drawForm.value = {
+    voucherId: '',
+    picId: '',
+    accountId: '',
+    accountName: ''
+  }
+  drawShow.value = false
+}
+const handleVerifyAmount = () => {
+  api.financeApi.verifyAmount({
+    id: drawForm.value.id,
+    voucherId: drawForm.value.voucherId,
+    picId: drawForm.value.picId,
+    accountId: drawForm.value.accountId,
+  }).then((res: any) => {
+    if (res.code == 200) {
+      ElMessage({
+        message: res.msg,
+        type: 'success'
+      })
+      drawShow.value = false
+      initData(activeName.value)
+    }
+  })
+}
+
+
+const handleConfirm = () => {
+  api.financeApi.amountAuditCancel(drawForm.value.id).then((res: any) => {
+    if (res.code == 200) {
+      ElMessage({
+        message: res.msg,
+        type: 'success'
+      })
+      initData(activeName.value)
+    }
+    drawShow.value = false
+  })
+}
 const handleSizeChange = (size) => {
   size.value = size
   initData(activeName.value)