24282 4 månader sedan
förälder
incheckning
77ef10b447

+ 9 - 0
jy-business/src/main/java/com/jy/business/payment/controller/PaymentRequestsController.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jy.business.payment.model.dto.PaymentRequestsDto;
 import com.jy.business.payment.model.dto.PaymentRequestsSelectDto;
 import com.jy.business.payment.model.entity.PaymentRemit;
+import com.jy.business.payment.model.entity.PaymentRequests;
 import com.jy.business.payment.model.vo.PaymentRemitExportVo;
 import com.jy.business.payment.model.vo.PaymentRequestsExportVo;
 import com.jy.business.payment.model.vo.PaymentRequestsVo;
@@ -128,4 +129,12 @@ public class PaymentRequestsController {
         paymentRequestsService.retrieve(dto);
     }
 
+    /**
+     * 收款账号列表
+     */
+    @GetMapping("/getReceiveCountList")
+    public List<PaymentRequests> getReceiveCountList() {
+        return paymentRequestsService.getReceiveCountList();
+    }
+
 }

+ 23 - 0
jy-business/src/main/java/com/jy/business/payment/dao/PaymentRequestsDao.java

@@ -18,6 +18,8 @@ import com.jy.system.service.AuthService;
 import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 @Service
 public class PaymentRequestsDao extends BaseDao<PaymentRequestsMapper, PaymentRequests> {
 
@@ -143,4 +145,25 @@ public class PaymentRequestsDao extends BaseDao<PaymentRequestsMapper, PaymentRe
                 .page(dto.getPage());
     }
 
+    public List<PaymentRequests> getReceiveCountList(Long userId) {
+        PaymentRequestsTable pr = PaymentRequestsTable.pr;
+
+        return sql(PaymentRequests.class)
+                .distinct()
+                .select(
+                        pr.accountName,
+                        pr.account,
+                        pr.depositBank,
+                        pr.correspondentNumber
+                )
+                .from(pr)
+                .where(
+                        pr.createUser.eq(userId)
+                )
+                .orderBy(
+                        pr.id.desc()
+                )
+                .list();
+    }
+
 }

+ 3 - 0
jy-business/src/main/java/com/jy/business/payment/service/PaymentRequestsService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jy.business.payment.model.dto.PaymentRequestsDto;
 import com.jy.business.payment.model.dto.PaymentRequestsSelectDto;
 import com.jy.business.payment.model.entity.PaymentRemit;
+import com.jy.business.payment.model.entity.PaymentRequests;
 import com.jy.business.payment.model.vo.PaymentRequestsVo;
 import com.jy.flow.model.dto.RetrieveDto;
 
@@ -59,4 +60,6 @@ public interface PaymentRequestsService {
      */
     void retrieve(RetrieveDto dto);
 
+    List<PaymentRequests> getReceiveCountList();
+
 }

+ 7 - 0
jy-business/src/main/java/com/jy/business/payment/service/impl/PaymentRequestsServiceImpl.java

@@ -19,6 +19,7 @@ import com.jy.flow.service.ExecuteService;
 import com.jy.flow.utils.FlowUtil;
 import com.jy.framework.model.constants.CommonConstant;
 import com.jy.framework.model.constants.FlowConstant;
+import com.jy.framework.satoken.LoginContext;
 import com.jy.framework.utils.AssertUtil;
 import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
@@ -148,4 +149,10 @@ public class PaymentRequestsServiceImpl implements PaymentRequestsService {
         executeService.retrieveByBusinessId(dto.getBusinessId());
     }
 
+    @Override
+    public List<PaymentRequests> getReceiveCountList() {
+        Long userId = LoginContext.getUserId();
+        return paymentRequestsDao.getReceiveCountList(userId);
+    }
+
 }

+ 1 - 1
jy-ui/src/api/business/capital/transactions.ts

@@ -1,6 +1,6 @@
 import request from '@/utils/request'
 import { PageType, StrAnyObj } from '@/typings'
-import download from "@/utils/download";
+import download from '@/utils/download'
 
 // 资金流水分页
 export function getPageApi(params: StrAnyObj): Promise<PageType<StrAnyObj>> {

+ 1 - 1
jy-ui/src/api/business/contract/detail.ts

@@ -24,4 +24,4 @@ export function editApi(data: StrAnyObj): Promise<void> {
 // 合同明细删除
 export function deleteApi(data: StrAnyObj): Promise<void> {
   return request.post('/contractDetail/delete', data)
-}
+}

+ 1 - 1
jy-ui/src/api/business/contract/info.ts

@@ -29,4 +29,4 @@ export function editApi(data: StrAnyObj): Promise<void> {
 // 合同删除
 export function deleteApi(data: StrAnyObj): Promise<void> {
   return request.post('/contractInfo/delete', data)
-}
+}

+ 9 - 5
jy-ui/src/api/business/payment/requests.ts

@@ -37,18 +37,22 @@ export function remitApi(data: StrAnyObj): Promise<PageType<StrAnyObj>> {
   return request.post('/paymentRequests/remit', data)
 }
 
-
 // 取回流程
 export function retrieveApi(data: StrAnyObj): Promise<void> {
-  return request.post(`/paymentRequests/retrieve`,data)
+  return request.post(`/paymentRequests/retrieve`, data)
 }
 
 // 下载excel
 export function excelExportApi(params: StrAnyObj): Promise<void> {
-  return download.get(`/paymentRequests/excelExport`,params)
+  return download.get(`/paymentRequests/excelExport`, params)
 }
 
 // 下载excel
 export function remitExcelExportApi(params: StrAnyObj): Promise<void> {
-  return download.get(`/paymentRequests/remitExcelExport`,params)
-}
+  return download.get(`/paymentRequests/remitExcelExport`, params)
+}
+
+// 获取收款账号列表
+export function getReceiveCountListApi(): Promise<any[]> {
+  return request.get(`/paymentRequests/getReceiveCountList`)
+}

+ 3 - 3
jy-ui/src/components/AForm/type.ts

@@ -161,11 +161,11 @@ export interface UploadType extends FormCommonType {
   // 是否禁用
   disabled?: boolean | (() => boolean)
   // 提示
-  tip: string
+  tip?: string
   // 最大上传数量
-  limit: number
+  limit?: number
   // 组件宽度
-  width: string
+  width?: string
 }
 
 export interface FormSlotType extends FormCommonType {

+ 62 - 54
jy-ui/src/components/PDF/moneyPDF.vue

@@ -12,7 +12,7 @@
         <div style="border: 1px solid black">
           <div style="display: flex; border-bottom: 1px solid black">
             <div
-                style="
+              style="
                 max-width: 140px;
                 min-width: 140px;
                 border-right: 1px solid black;
@@ -27,7 +27,7 @@
           </div>
           <div style="display: flex; border-bottom: 1px solid black">
             <div
-                style="
+              style="
                 max-width: 140px;
                 min-width: 140px;
                 border-right: 1px solid black;
@@ -41,11 +41,11 @@
             </div>
           </div>
           <div
-              style="display: flex; border-bottom: 1px solid black"
-              v-if="printDetails.type != '3'"
+            style="display: flex; border-bottom: 1px solid black"
+            v-if="printDetails.type != '3'"
           >
             <div
-                style="
+              style="
                 max-width: 140px;
                 min-width: 140px;
                 border-right: 1px solid black;
@@ -59,7 +59,7 @@
             <div style="width: calc(100% - 140px)">
               <div style="border-bottom: 1px solid black; display: flex">
                 <div
-                    style="
+                  style="
                     max-width: 140px;
                     min-width: 140px;
                     padding: 4px 8px;
@@ -70,7 +70,7 @@
                   费用类型
                 </div>
                 <div
-                    style="
+                  style="
                     width: calc(100% - 300px);
                     padding: 4px 8px;
                     border-right: 1px solid black;
@@ -80,7 +80,7 @@
                   款项说明
                 </div>
                 <div
-                    style="
+                  style="
                     width: 60px;
                     padding: 4px 8px;
                     border-right: 1px solid black;
@@ -92,21 +92,21 @@
                 <div style="width: 100px; padding: 4px 8px; text-align: center">付款金额</div>
               </div>
               <template
-                  v-if="
+                v-if="
                   printDetails.paymentRequestsDetailList &&
                   printDetails.paymentRequestsDetailList.length > 0
                 "
               >
                 <div v-for="(item, index) in printDetails.paymentRequestsDetailList" :key="index">
                   <div
-                      :style="
+                    :style="
                       index + 1 !== printDetails.paymentRequestsDetailList.length
                         ? 'border-bottom: 1px solid black;  display: flex'
                         : ' display: flex'
                     "
                   >
                     <div
-                        style="
+                      style="
                         max-width: 140px;
                         min-width: 140px;
                         padding: 4px 8px;
@@ -117,7 +117,7 @@
                       {{ dictValueLabel(item.expenseType, expenseType) }}
                     </div>
                     <div
-                        style="
+                      style="
                         width: calc(100% - 300px);
                         padding: 4px 8px;
                         border-right: 1px solid black;
@@ -128,7 +128,7 @@
                       {{ item.remark }}
                     </div>
                     <div
-                        style="
+                      style="
                         width: 60px;
                         padding: 4px 8px;
                         border-right: 1px solid black;
@@ -148,7 +148,7 @@
           </div>
           <div style="display: flex; border-bottom: 1px solid black" v-else>
             <div
-                style="
+              style="
                 max-width: 140px;
                 min-width: 140px;
                 border-right: 1px solid black;
@@ -162,7 +162,7 @@
             <div style="width: calc(100% - 140px)">
               <div style="border-bottom: 1px solid black; display: flex">
                 <div
-                    style="
+                  style="
                     max-width: 140px;
                     min-width: 140px;
                     padding: 4px 8px;
@@ -173,7 +173,7 @@
                   费用类型
                 </div>
                 <div
-                    style="
+                  style="
                     width: calc(100% - 360px);
                     padding: 4px 8px;
                     border-right: 1px solid black;
@@ -183,7 +183,7 @@
                   款项说明
                 </div>
                 <div
-                    style="
+                  style="
                     width: 60px;
                     padding: 4px 8px;
                     border-right: 1px solid black;
@@ -193,7 +193,7 @@
                   货币
                 </div>
                 <div
-                    style="
+                  style="
                     width: 80px;
                     padding: 4px 8px;
                     border-right: 1px solid black;
@@ -205,21 +205,21 @@
                 <div style="width: 80px; padding: 4px 8px; text-align: center">付款金额</div>
               </div>
               <template
-                  v-if="
+                v-if="
                   printDetails.paymentRequestsDetailList &&
                   printDetails.paymentRequestsDetailList.length > 0
                 "
               >
                 <div v-for="(item, index) in printDetails.paymentRequestsDetailList" :key="index">
                   <div
-                      :style="
+                    :style="
                       index + 1 !== printDetails.paymentRequestsDetailList.length
                         ? 'border-bottom: 1px solid black;  display: flex'
                         : ' display: flex'
                     "
                   >
                     <div
-                        style="
+                      style="
                         max-width: 140px;
                         min-width: 140px;
                         padding: 4px 8px;
@@ -230,7 +230,7 @@
                       {{ dictValueLabel(item.expenseType, expenseType) }}
                     </div>
                     <div
-                        style="
+                      style="
                         width: calc(100% - 360px);
                         padding: 4px 8px;
                         border-right: 1px solid black;
@@ -241,7 +241,7 @@
                       {{ item.remark }}
                     </div>
                     <div
-                        style="
+                      style="
                         width: 60px;
                         padding: 4px 8px;
                         border-right: 1px solid black;
@@ -252,7 +252,7 @@
                       人民币
                     </div>
                     <div
-                        style="
+                      style="
                         width: 80px;
                         padding: 4px 8px;
                         border-right: 1px solid black;
@@ -271,11 +271,11 @@
             </div>
           </div>
           <div
-              style="display: flex; border-bottom: 1px solid black"
-              v-if="printDetails.type !== '3'"
+            style="display: flex; border-bottom: 1px solid black"
+            v-if="printDetails.type !== '3'"
           >
             <div
-                style="
+              style="
                 max-width: 140px;
                 min-width: 140px;
                 border-right: 1px solid black;
@@ -296,7 +296,7 @@
           <div v-else>
             <div style="display: flex; border-bottom: 1px solid black">
               <div
-                  style="
+                style="
                   max-width: 140px;
                   min-width: 140px;
                   border-right: 1px solid black;
@@ -316,7 +316,7 @@
             </div>
             <div style="display: flex; border-bottom: 1px solid black">
               <div
-                  style="
+                style="
                   max-width: 140px;
                   min-width: 140px;
                   border-right: 1px solid black;
@@ -336,7 +336,7 @@
             </div>
             <div style="display: flex; border-bottom: 1px solid black">
               <div
-                  style="
+                style="
                   max-width: 140px;
                   min-width: 140px;
                   border-right: 1px solid black;
@@ -357,7 +357,7 @@
           </div>
           <div style="display: flex; border-bottom: 1px solid black">
             <div
-                style="
+              style="
                 max-width: 140px;
                 min-width: 140px;
                 border-right: 1px solid black;
@@ -372,7 +372,7 @@
           </div>
           <div style="display: flex; border-bottom: 1px solid black">
             <div
-                style="
+              style="
                 max-width: 140px;
                 min-width: 140px;
                 border-right: 1px solid black;
@@ -386,7 +386,7 @@
             <div style="width: calc(100% - 140px)">
               <div style="border-bottom: 1px solid black; display: flex">
                 <div
-                    style="
+                  style="
                     width: 19%;
                     padding: 0 8px;
                     border-right: 1px solid black;
@@ -396,7 +396,7 @@
                   支付方式
                 </div>
                 <div
-                    style="
+                  style="
                     width: 27%;
                     padding: 0 8px;
                     border-right: 1px solid black;
@@ -406,7 +406,7 @@
                   收款方户名
                 </div>
                 <div
-                    style="
+                  style="
                     width: 27%;
                     padding: 0 8px;
                     border-right: 1px solid black;
@@ -419,7 +419,7 @@
               </div>
               <div style="display: flex">
                 <div
-                    style="
+                  style="
                     width: 19%;
                     padding: 0 8px;
                     border-right: 1px solid black;
@@ -430,7 +430,7 @@
                   {{ dictValueLabel(printDetails.payType, payType) }}
                 </div>
                 <div
-                    style="
+                  style="
                     width: 27%;
                     padding: 0 8px;
                     border-right: 1px solid black;
@@ -441,7 +441,7 @@
                   {{ printDetails.accountName }}
                 </div>
                 <div
-                    style="
+                  style="
                     width: 27%;
                     padding: 0 8px;
                     border-right: 1px solid black;
@@ -451,7 +451,15 @@
                 >
                   {{ printDetails.depositBank }}
                 </div>
-                <div style="width: 27%; padding: 0 8px; display: flex; align-items: center; word-break: break-all">
+                <div
+                  style="
+                    width: 27%;
+                    padding: 0 8px;
+                    display: flex;
+                    align-items: center;
+                    word-break: break-all;
+                  "
+                >
                   {{ printDetails.account }}
                 </div>
               </div>
@@ -459,7 +467,7 @@
           </div>
           <div style="display: flex; border-bottom: 1px solid black">
             <div
-                style="
+              style="
                 max-width: 140px;
                 min-width: 140px;
                 border-right: 1px solid black;
@@ -474,7 +482,7 @@
           </div>
           <div style="display: flex">
             <div
-                style="
+              style="
                 max-width: 140px;
                 min-width: 140px;
                 border-right: 1px solid black;
@@ -489,7 +497,7 @@
               <template v-if="recordList && recordList.length > 0">
                 <div v-for="(item, index) in recordList" :key="index">
                   <div
-                      :style="
+                    :style="
                       index + 1 !== recordList.length
                         ? 'border-bottom: 1px solid black; padding: 4px 8px; display: flex'
                         : 'padding: 4px 8px; display: flex'
@@ -518,11 +526,11 @@
 </template>
 
 <script setup>
-import {getDoneListTwoApi} from '@/api/flow/execute'
-import {getDetailApi} from '@/api/business/payment/requests'
-import {getDictByCode} from '@/utils/dict'
-import {getPageApi as getCorporationPageApi} from '@/api/business/corporation/corporation'
-import {useUserStore} from '@/stores/modules/user'
+import { getDoneListTwoApi } from '@/api/flow/execute'
+import { getDetailApi } from '@/api/business/payment/requests'
+import { getDictByCode } from '@/utils/dict'
+import { getPageApi as getCorporationPageApi } from '@/api/business/corporation/corporation'
+import { useUserStore } from '@/stores/modules/user'
 
 const props = defineProps({
   rowData: Object
@@ -567,7 +575,7 @@ function getDictData() {
   getDictByCode('expense_type').then((res) => {
     expenseType.value = res
   })
-  getCorporationPageApi({searchAll: true}).then((res) => {
+  getCorporationPageApi({ searchAll: true }).then((res) => {
     if (res?.records && res.records.length > 0) {
       companyData.value = res.records.map((item) => {
         return {
@@ -585,15 +593,15 @@ getDictData()
 const computeMoney = (label) => {
   let amount = 0
   if (
-      printDetails.value.paymentRequestsDetailList &&
-      printDetails.value.paymentRequestsDetailList.length > 0
+    printDetails.value.paymentRequestsDetailList &&
+    printDetails.value.paymentRequestsDetailList.length > 0
   ) {
     for (let i = 0; i < printDetails.value.paymentRequestsDetailList.length; i++) {
       if (printDetails.value.paymentRequestsDetailList[i][label]) {
         amount = Number(
-            parseFloat(
-                Number(amount) + Number(printDetails.value.paymentRequestsDetailList[i][label])
-            ).toFixed(2)
+          parseFloat(
+            Number(amount) + Number(printDetails.value.paymentRequestsDetailList[i][label])
+          ).toFixed(2)
         )
       }
     }
@@ -702,7 +710,7 @@ const getStatus = (row) => {
 onMounted(() => {
   presentTime.value = formatDate(new Date())
   if (props?.rowData?.id) {
-    getDetailApi({id: props.rowData.id}).then((res) => {
+    getDetailApi({ id: props.rowData.id }).then((res) => {
       printDetails.value = res
     })
     getDoneListTwoApi(props.rowData.id).then((res) => {

+ 1 - 1
jy-ui/src/components/flow/PropertySetting/between.vue

@@ -141,7 +141,7 @@ const config: FormConfigType[] = [
       { key: 'create', label: '创建' },
       { key: 'start', label: '开始' },
       { key: 'assignment', label: '分派' },
-      { key: 'finish', label: '完成' },
+      { key: 'finish', label: '完成' }
     ]
   },
   {

+ 2 - 2
jy-ui/src/components/flow/PropertySetting/skip.vue

@@ -116,9 +116,9 @@ const config: FormConfigType[] = [
 function updateSkipCondition() {
   const value = computedModelValue.value
 
-  let skipCondition = value.conditionType + "|";
+  let skipCondition = value.conditionType + '|'
   if (!/^spel/.test(value.conditionType)) {
-    skipCondition += (value.condition ? value.condition : '') + "|";
+    skipCondition += (value.condition ? value.condition : '') + '|'
   }
   value.skipCondition = skipCondition + (value.conditionValue ? value.conditionValue : '')
 }

+ 23 - 17
jy-ui/src/utils/download.ts

@@ -1,9 +1,15 @@
 import qs from 'qs'
 import router from '@/router'
-import axios, {AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, InternalAxiosRequestConfig} from 'axios'
-import {ElMessage} from 'element-plus'
-import {showFullScreenLoading, tryHideFullScreenLoading} from '@/utils/fullScreen'
-import {getToken} from '@/utils/index'
+import axios, {
+  AxiosError,
+  AxiosInstance,
+  AxiosRequestConfig,
+  AxiosResponse,
+  InternalAxiosRequestConfig
+} from 'axios'
+import { ElMessage } from 'element-plus'
+import { showFullScreenLoading, tryHideFullScreenLoading } from '@/utils/fullScreen'
+import { getToken } from '@/utils/index'
 
 interface CustomAxiosRequestConfig extends InternalAxiosRequestConfig {
   loading?: boolean
@@ -54,15 +60,15 @@ class RequestHttp {
         removePending(config)
         config.loading && tryHideFullScreenLoading()
 
-        const blob = new Blob([data], { type: "application/ms-excel" });
-        const url = window.URL.createObjectURL(blob);
-        const a = document.createElement('a');
-        a.style.display = 'none';
-        a.href = url;
-        a.download = decodeURIComponent(response.headers['download-filename']) || '文件.xlsx';
-        document.body.appendChild(a);
-        a.click();
-        window.URL.revokeObjectURL(url);
+        const blob = new Blob([data], { type: 'application/ms-excel' })
+        const url = window.URL.createObjectURL(blob)
+        const a = document.createElement('a')
+        a.style.display = 'none'
+        a.href = url
+        a.download = decodeURIComponent(response.headers['download-filename']) || '文件.xlsx'
+        document.body.appendChild(a)
+        a.click()
+        window.URL.revokeObjectURL(url)
         return data
       },
       (error: AxiosError) => {
@@ -95,19 +101,19 @@ class RequestHttp {
   }
 
   get<T>(url: string, params?: object, _object = {}): Promise<T> {
-    return this.service.get(url, { params,..._object, responseType: "blob" })
+    return this.service.get(url, { params, ..._object, responseType: 'blob' })
   }
 
   post<T>(url: string, data?: object | string, _object = {}): Promise<T> {
-    return this.service.post(url, data, {..._object, responseType: "blob"})
+    return this.service.post(url, data, { ..._object, responseType: 'blob' })
   }
 
   put<T>(url: string, data?: object | string, _object = {}): Promise<T> {
-    return this.service.put(url, data, {..._object, responseType: "blob"})
+    return this.service.put(url, data, { ..._object, responseType: 'blob' })
   }
 
   delete<T>(url: string, params?: object, _object = {}): Promise<T> {
-    return this.service.delete(url, { params, ..._object, responseType: "blob" })
+    return this.service.delete(url, { params, ..._object, responseType: 'blob' })
   }
 }
 

+ 2 - 2
jy-ui/src/views/business/capital/account/index.vue

@@ -179,10 +179,10 @@ const formConfig: FormConfigType[] = [
     type: 'inputNumber',
     prop: 'amount',
     label: '初始金额',
-    min: 0.00,
+    min: 0.0,
     precision: 2,
     if() {
-        return formData.value.id == null
+      return formData.value.id == null
     },
     rule: [{ required: true, message: '初始金额不能为空', trigger: 'blur' }]
   },

+ 1 - 1
jy-ui/src/views/business/capital/transactions/index.vue

@@ -151,7 +151,7 @@ const columnConfig: ColumnConfigType[] = [
     prop: 'amount',
     label: '支出',
     formatter(row) {
-      return row.type == 1 ? '' :row.amount
+      return row.type == 1 ? '' : row.amount
     },
     width: 80
   },

+ 9 - 3
jy-ui/src/views/business/contract/detail/index.vue

@@ -5,7 +5,13 @@ import { ToolbarConfigType } from '@/components/AToolbar/type'
 import { ColumnConfigType } from '@/components/ATable/type'
 import { StrAnyObj, StrAnyObjArr } from '@/typings'
 import { useHandleData } from '@/utils/useHandleData'
-import { getPageApi, getDetailApi, addApi, editApi, deleteApi } from '@/api/business/contract/detail'
+import {
+  getPageApi,
+  getDetailApi,
+  addApi,
+  editApi,
+  deleteApi
+} from '@/api/business/contract/detail'
 
 const queryRef = ref<InstanceType<typeof AForm>>()
 const formRef = ref<InstanceType<typeof AForm>>()
@@ -86,7 +92,7 @@ const queryConfig: FormConfigType[] = [
     type: 'input',
     prop: 'delFlag',
     label: '逻辑删除标记'
-  },
+  }
 ]
 
 const toolbarConfig: ToolbarConfigType[] = [
@@ -276,7 +282,7 @@ const formConfig: FormConfigType[] = [
     prop: 'delFlag',
     label: '逻辑删除标记',
     rule: [{ required: true, message: '逻辑删除标记不能为空', trigger: 'blur' }]
-  },
+  }
 ]
 
 onMounted(() => {

+ 2 - 5
jy-ui/src/views/business/payment/requests/flowDetail.vue

@@ -53,7 +53,6 @@ const formConfig: FormConfigType[] = [
     type: 'slot',
     prop: 'deptId',
     label: '归属部门',
-    placeholder: props.disabled ? '' : undefined,
     rule: [{ required: true, message: '部门id不能为空', trigger: 'blur' }]
   },
   {
@@ -87,15 +86,13 @@ const formConfig: FormConfigType[] = [
     type: 'slot',
     prop: 'atts',
     label: '上传附件',
-    span: 24,
-    placeholder: props.disabled ? '' : undefined
+    span: 24
   },
   {
     type: 'slot',
     prop: 'detailTable',
     label: '请款明细',
-    span: 24,
-    placeholder: props.disabled ? '' : undefined
+    span: 24
   },
   {
     type: 'input',

+ 57 - 11
jy-ui/src/views/business/payment/requests/index.vue

@@ -12,6 +12,7 @@ import {
   excelExportApi,
   getDetailApi,
   getPageApi,
+  getReceiveCountListApi,
   retrieveApi
 } from '@/api/business/payment/requests'
 import { getPageApi as getCorporationPageApi } from '@/api/business/corporation/corporation'
@@ -42,6 +43,8 @@ const deptIdRef = ref<InstanceType<typeof DeptTreeSelect>>()
 const selectDeptIdRef = ref<InstanceType<typeof DeptTreeSelect>>()
 
 const disabled = ref(false)
+const selectDialogVisible = ref(false)
+const selectList = ref<any[]>([])
 
 const queryConfig: FormConfigType[] = [
   {
@@ -247,7 +250,7 @@ const columnConfig: ColumnConfigType[] = [
     handleConfig: [
       {
         text: '取回',
-        if(row){
+        if(row) {
           return row.approvalStatus == 1
         },
         click(row) {
@@ -385,7 +388,7 @@ const formConfig: FormConfigType[] = [
     }
   },
   {
-    type: 'input',
+    type: 'slot',
     prop: 'accountName',
     label: '户名'
   },
@@ -448,6 +451,12 @@ function getPage() {
   })
 }
 
+function getReceiveCountList() {
+  getReceiveCountListApi().then((resp) => {
+    selectList.value = resp
+  })
+}
+
 function tableSelectionChange(item: StrAnyObjArr) {
   selectKeys.value = item.map((item) => item.id)
 }
@@ -494,15 +503,6 @@ function formClosed() {
   formRef.value?.resetFields()
 }
 
-function handleRemove(idList: string[]) {
-  useHandleData('是否确认删除?', () => {
-    deleteApi({ idList }).then(() => {
-      ElMessage.success('删除成功')
-      getPage()
-    })
-  })
-}
-
 function addPaymentRequestsDetailList() {
   formData.value.paymentRequestsDetailList.push({})
 }
@@ -529,6 +529,7 @@ function updateAmount() {
 
   updateDetailRemark()
 }
+
 const printObj = ref({
   id: 'pdfDom',
   popTitle: '',
@@ -575,6 +576,22 @@ const clickDownload = () => {
       height="200px"
     >
       <a-form ref="formRef" v-model="formData" :config="formConfig" :span="12" :disabled="disabled">
+        <template #accountName>
+          <el-input v-model="formData.accountName" :disabled="disabled" placeholder="请输入户名">
+            <template #append v-if="!disabled">
+              <el-button
+                @click="
+                  () => {
+                    getReceiveCountList()
+                    selectDialogVisible = true
+                  }
+                "
+              >
+                选 择
+              </el-button>
+            </template>
+          </el-input>
+        </template>
         <template #deptId>
           <dept-tree-select ref="deptIdRef" v-model="formData.deptId" :disabled="disabled" />
         </template>
@@ -634,5 +651,34 @@ const clickDownload = () => {
         </div>
       </template>
     </a-dialog>
+
+    <a-dialog v-model="selectDialogVisible" title="选择收款账户" :footer="false" width="1400px">
+      <el-table :data="selectList" style="width: 100%">
+        <el-table-column prop="accountName" label="户名" />
+        <el-table-column prop="account" label="银行账号" />
+        <el-table-column prop="depositBank" label="开户银行" />
+        <el-table-column prop="correspondentNumber" label="联行号/SWIFT Code" />
+        <el-table-column fixed="right" label="操作" width="120">
+          <template #default="scope">
+            <el-button
+              link
+              type="primary"
+              size="small"
+              @click="
+                () => {
+                  formData.accountName = scope.row.accountName
+                  formData.account = scope.row.account
+                  formData.depositBank = scope.row.depositBank
+                  formData.correspondentNumber = scope.row.correspondentNumber
+                  selectDialogVisible = false
+                }
+              "
+            >
+              选择
+            </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </a-dialog>
   </div>
 </template>