From 2af6a1003a5a6870c5ad14c7b2b74994c136ca88 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期五, 17 一月 2025 14:25:04 +0800
Subject: [PATCH] 财务付款
---
src/pages/reimbursement/payment.vue | 98 ++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 89 insertions(+), 9 deletions(-)
diff --git a/src/pages/reimbursement/payment.vue b/src/pages/reimbursement/payment.vue
index 6371490..09a78d6 100644
--- a/src/pages/reimbursement/payment.vue
+++ b/src/pages/reimbursement/payment.vue
@@ -22,13 +22,14 @@
<up-input v-model="state.publicJob.planMoney" border="none" placeholder="璇峰~鍐欓噾棰�"
type="digit"></up-input>
</up-form-item>
- <up-form-item label="绉戠洰" prop="rewardContent" :borderBottom='false' ref="item1">
+ <up-form-item label="绉戠洰" prop="rewardContent" required :borderBottom='false' ref="item1"
+ @click='openKemuPicker'>
<up-input v-model="state.publicJob.rewardContent" border="none" placeholder="璇风偣鍑婚�夋嫨绉戠洰"
readonly></up-input>
</up-form-item>
- <up-form-item label="鎽樿" prop="planContent" :borderBottom='false' ref="item1">
+ <up-form-item label="鎽樿" prop="planContent" required :borderBottom='false' ref="item1">
<view class="c-p-b-20">
- <up-textarea v-model="state.publicJob.planContent" border="none" readonly
+ <up-textarea v-model="state.publicJob.planContent" border="none"
placeholder="璇峰~鍐欐憳瑕�"></up-textarea>
</view>
</up-form-item>
@@ -52,6 +53,11 @@
鏈笂浼犻檮浠�
</view>
</up-form-item>
+ <up-form-item label="璐︽埛绫诲瀷" prop="firmAccountId" required :borderBottom='false' ref="item1"
+ @click='openzhanghuPickerType'>
+ <up-input v-model="state.publicJob.accountType" border="none" placeholder="璇风偣鍑婚�夋嫨璐︽埛绫诲瀷"
+ readonly></up-input>
+ </up-form-item>
<up-form-item label="璐︽埛" prop="firmAccountId" required :borderBottom='false' ref="item1"
@click='openzhanghuPicker'>
<up-input v-model="state.publicJob.firmAccountName" border="none" placeholder="璇风偣鍑婚�夋嫨璐︽埛"
@@ -70,7 +76,14 @@
</view>
<u-picker :show="zhanghuPicker" :columns="zhanghuList" keyName="accountName" @cancel='openzhanghuPicker'
- :defaultIndex='defaultIndex' @confirm='confirmzhanghuPicker'></u-picker>
+ :defaultIndex='defaultIndexAccount' @confirm='confirmzhanghuPicker'></u-picker>
+
+ <u-picker :show="zhanghuPickerType" :columns="state.zhanghuListType" @cancel='openzhanghuPickerType'
+ @confirm='confirmzhanghuPickerType'></u-picker>
+
+ <u-picker :show="kemuPicker" :columns="kemuList" keyName="subjectName" @cancel='openKemuPicker'
+ :defaultIndex='defaultIndex' @confirm='confirmKemuPicker'></u-picker>
+
</view>
</template>
@@ -103,6 +116,12 @@
let leibie = '璐圭敤鎶ラ攢'
let zhanghuPicker = ref(false)
let zhanghuList = ref()
+ let allZhanghuList = ref()
+ let zhanghuPickerType = ref(false)
+ let kemuList = ref()
+ let kemuPicker = ref(false)
+ let defaultIndex = ref([6])
+ let defaultIndexAccount = ref([0])
let state = reactive({
publicJob: {
departmentId: '', //閮ㄩ棬Id
@@ -115,17 +134,34 @@
planContent: '', //鎽樿
houbufapiaoStatus: 'You', //鏈夋棤鍙戠エ
workPlanAttachments: [], //闄勪欢&鍙戠エ
- firmAccountId: ''
+ firmAccountId: '',
+ accountType: ''
},
invoice: [],
- file: []
+ file: [],
+ zhanghuListType: []
})
let rules = {
+ accountType: {
+ required: true,
+ message: '璐︽埛绫诲瀷涓嶈兘涓虹┖',
+ trigger: ['blur', 'change']
+ },
firmAccountId: {
required: true,
message: '璐︽埛涓嶈兘涓虹┖',
trigger: ['blur', 'change']
},
+ planContent: {
+ required: true,
+ message: '鎽樿涓嶈兘涓虹┖',
+ trigger: ['blur', 'change']
+ },
+ rewardContent:{
+ required: true,
+ message: '绉戠洰涓嶈兘涓虹┖',
+ trigger: ['blur', 'change']
+ }
}
onLoad((options) => {
let data = $db.get('userInfo').userCompany
@@ -133,8 +169,18 @@
detailId.value = options.detailId
getRolePlaneList()
$api.GetFirmAccountList().then(res => {
- zhanghuList = [res.data]
+ res.data.forEach(item => {
+ state.zhanghuListType.push(item.accountType)
+ })
+ state.zhanghuListType = [Array.from(new Set(state.zhanghuListType))]
+ allZhanghuList = res.data
})
+
+ $api.getKeMuList().then(res => {
+ kemuList = [res.data]
+
+ })
+
})
const formRef = ref(null);
@@ -164,12 +210,31 @@
}
const confirmzhanghuPicker = (arr) => {
+ defaultIndexAccount = arr.indexs
state.publicJob.firmAccountId = String(arr.value[0].keyid)
state.publicJob.firmAccountName = arr.value[0].accountName
openzhanghuPicker()
}
+ const confirmzhanghuPickerType = (arr) => {
+ defaultIndexAccount = [0]
+ state.publicJob.accountType = arr.value[0]
+ openzhanghuPickerType()
+ }
const openzhanghuPicker = () => {
+ if (!state.publicJob.accountType) {
+ return $util.showToast({
+ title: '璇峰厛閫夋嫨璐︽埛绫诲瀷锛�'
+ })
+ }
+ zhanghuList = allZhanghuList.filter(item => {
+ return item.accountType == state.publicJob.accountType
+ })
+ zhanghuList = [zhanghuList]
+ console.log(zhanghuList);
zhanghuPicker.value = !zhanghuPicker.value
+ }
+ const openzhanghuPickerType = () => {
+ zhanghuPickerType.value = !zhanghuPickerType.value
}
const getRolePlaneList = () => {
let getList = null
@@ -181,6 +246,10 @@
$api.caiWuGetPlanInfo(detailId.value).then(res => {
state.publicJob = res.data
state.publicJob.planStartTime = $util.formatDate(state.publicJob.planStartTime)
+ let index = kemuList[0].findIndex(item => {
+ return item.keyid == state.publicJob.rewardResult
+ })
+ defaultIndex = [index]
state.publicJob.workPlanAttachments.forEach(item => {
if (item.attachmentType == 1) {
state.invoice.push(item.planAttachment)
@@ -189,6 +258,15 @@
}
})
})
+ }
+ const confirmKemuPicker = (arr) => {
+ console.log('----', arr);
+ state.publicJob.rewardResult = String(arr.value[0].keyid)
+ state.publicJob.rewardContent = arr.value[0].subjectName
+ openKemuPicker()
+ }
+ const openKemuPicker = () => {
+ kemuPicker.value = !kemuPicker.value
}
const saveOrder = (approvalStatus) => {
isLoading.value = true
@@ -199,8 +277,10 @@
// functionOrder = $api.BaoxiaoPlan
// }
let obj = {
- oA_WorkPlanId: state.publicJob.keyid,
- firmAccountId: state.publicJob.firmAccountId
+ keyid: state.publicJob.keyid,
+ firmAccountId: state.publicJob.firmAccountId,
+ planContent: state.publicJob.planContent,
+ accountType: state.publicJob.accountType
}
formRef.value.validate().then(res => {
$api.caiWuApprovalPlan(obj).then(res => {
--
Gitblit v1.9.1