This commit is contained in:
2026-05-07 10:27:43 +08:00
parent d615098f50
commit 63e2091cbb
7 changed files with 132 additions and 93 deletions
@@ -319,26 +319,6 @@ layout("/layouts/platform.html"){
</el-form-item>
</el-descriptions-item>
<!-- <el-descriptions-item label="户名">-->
<!-- <el-form-item prop="bankUserName" label="户名">-->
<!-- <el-input v-model="formData.bankUserName" show-word-limit-->
<!-- placeholder="请输入户名"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-descriptions-item>-->
<!-- <el-descriptions-item label="银行账号">-->
<!-- <el-form-item prop="bankCardNumber" label="银行账号">-->
<!-- <el-input v-model="formData.bankCardNumber" show-word-limit-->
<!-- placeholder="请输入银行账号"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-descriptions-item>-->
<!-- <el-descriptions-item label="开户行">-->
<!-- <el-form-item prop="bankOfDeposit" label="开户行">-->
<!-- <el-input v-model="formData.bankOfDeposit" show-word-limit-->
<!-- placeholder="请输入开户行"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-descriptions-item>-->
<el-descriptions-item label="活动名称" v-if="formData.reimburseProject !== 'UNION_REIMBURSE_PROJECT_1'">
<el-form-item label="活动名称" prop="activityName">
<el-input type="text" v-model="formData.activityName" placeholder="请输入活动名称"
@@ -865,6 +845,22 @@ layout("/layouts/platform.html"){
}
})
},
appendCurrentPayerOption() {
if (!this.formData.payer) {
return
}
const exists = this.payerOptions.some((item) => item.id === this.formData.payer)
if (exists) {
return
}
// 远程下拉编辑回显时需要先补齐当前付款人选项,否则 el-select 只能显示已保存的 id。
this.payerOptions.push({
id: this.formData.payer,
userName: this.formData.payerName || "",
loginName: this.formData.payerLoginname || "",
unitName: this.formData.unitName || "暂无"
})
},
createRemoteMethod(options) {
return (keyword) => {
this.selectQueryUser(keyword, options)
@@ -1457,6 +1453,9 @@ layout("/layouts/platform.html"){
this.$axios.post("/platform/unionReimburse/apply/info", {id: this.bizId}).then(async (res) => {
if (res.code === 0) {
this.formData = this.ensureFormData(res.data)
this.appendCurrentPayerOption()
this.getUserBankHistory()
this.reimburseFundSourceChange()
await this.selectQueryUser(this.formData.certifierLoginName, this.userOptions)
this.rebuildInvoiceSummary()
// this.chooseType = this.typeOptions.find(o => o.id === this.formData.type)
@@ -46,13 +46,17 @@ layout("/layouts/platform.html"){
</el-card>
<el-card shadow="never">
<table-tool>
<el-button @click="AllReview" size="small" type="primary">一键审核</el-button>
<el-button @click="AllReview" size="small" type="primary" :loading="formLoading"
:disabled="pageForm.approval">一键审核</el-button>
<el-radio-group v-model="pageForm.approval" size="small" @change="doSearch">
<el-radio-button :label="true">已审核</el-radio-button>
<el-radio-button :label="false">未审核</el-radio-button>
</el-radio-group>
</table-tool>
<el-table :data="tableData" @sort-change="pageOrder" style="width: 100%">
<el-table ref="tableRef" :data="tableData" row-key="id" v-loading="tableLoading"
@selection-change="handleSelectionChange" @sort-change="pageOrder" style="width: 100%">
<el-table-column v-if="!pageForm.approval" type="selection" width="55"
:reserve-selection="true" :selectable="(row) => row.stateId == 2"></el-table-column>
<el-table-column type="index" width="50px" label="序号" :index="indexMethod"></el-table-column>
<el-table-column prop="loginName" label="经办人工号" sortable="custom"></el-table-column>
<el-table-column prop="userName" label="姓名"></el-table-column>
@@ -115,9 +119,9 @@ layout("/layouts/platform.html"){
</el-form>
<el-row type="flex" justify="end">
<el-button @click="$refs.guava.index()" size="small">取消</el-button>
<el-button @click="handleTaskAction(5)" size="small" type="info">退回到发起人</el-button>
<el-button @click="handleTaskAction(4)" size="small" type="danger">拒绝申请</el-button>
<el-button @click="handleTaskAction(3)" size="small" type="primary">同意申请</el-button>
<el-button @click="handleTaskAction(5)" size="small" type="info" :loading="formLoading">退回到发起人</el-button>
<el-button @click="handleTaskAction(4)" size="small" type="danger" :loading="formLoading">拒绝申请</el-button>
<el-button @click="handleTaskAction(3)" size="small" type="primary" :loading="formLoading">同意申请</el-button>
</el-row>
</div>
</union-reimburse-info>
@@ -144,6 +148,7 @@ layout("/layouts/platform.html"){
},
formData: {},
showApprovalForm: false,
multipleSelection: [],
unionOptions: [],
unitOptions: []
}
@@ -161,23 +166,38 @@ layout("/layouts/platform.html"){
})
},
handleSelectionChange(val) {
this.multipleSelection = val
},
AllReview() {
this.$confirm('确定所选申请都已通过线下审核了吗?', '提示', {
if (!this.multipleSelection || this.multipleSelection.length === 0) {
this.$message.warning('请至少选择一条记录进行审核')
return
}
const ids = this.multipleSelection.map((item) => item.id)
this.$confirm('确定所选的 ' + ids.length + ' 条申请都已通过线下审核了吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
const resp = await $.post("/platform/unionReimburse/review/allReview");
if (resp && resp.code === 0) {
this.pageForm.approval = true
this.pageData();
this.$message.success(resp.msg || '一键审核成功')
} else {
this.$message.error(resp.msg || '一键审核失败')
}
}).then(() => {
this.formLoading = true
this.$axios.post("/platform/unionReimburse/review/allReview", {
ids: ids
}).then((res) => {
if (res.code === 0) {
this.multipleSelection = []
this.pageData()
this.$message.success(res.msg || '一键审核成功')
} else {
this.$message.error(res.msg || '一键审核失败')
}
}).finally(() => {
this.formLoading = false
})
}).catch(() => {
// 用户取消操作
});
})
},
openAudit(row) {
@@ -199,8 +219,9 @@ layout("/layouts/platform.html"){
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.formLoading = true
this.$axios.post("/platform/unionReimburse/review/reviewTask", {
data: JSON.stringify({...this.formData}),
data: JSON.stringify(Object.assign({}, this.formData)),
submitType: val
}).then((res) => {
if (res.code === 0) {
@@ -208,6 +229,8 @@ layout("/layouts/platform.html"){
this.$message.success(res.msg)
this.doSearch()
}
}).finally(() => {
this.formLoading = false
})
})
}