Browse Source

Merge branch 'lihuilin/feature-20250923114949-现金' into milestone-20250913-现金管理

lihuilin/feature-20250923114949-现金
lihuilin 1 month ago
parent
commit
76fcd7f4f2
  1. 13
      src/views/moneyManage/executor/executor.vue
  2. 50
      src/views/moneyManage/refundDetail/refundCharge.vue
  3. 44
      src/views/moneyManage/refundDetail/refundFinance.vue
  4. 47
      src/views/moneyManage/refundDetail/refundHeader.vue
  5. 48
      src/views/moneyManage/refundDetail/refundService.vue

13
src/views/moneyManage/executor/executor.vue

@ -19,7 +19,7 @@
</div> </div>
<div class="search"> <div class="search">
<el-text size="large" style="width:4vw;">退款币种</el-text> <el-text size="large" style="width:4vw;">退款币种</el-text>
<el-select v-model="searchForm.payType" style="width:9vw;" clearable>
<el-select v-model="searchForm.refundCurrency" style="width:9vw;" clearable>
<el-option v-for="item in currencies" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in currencies" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</div> </div>
@ -293,11 +293,12 @@ const getRefund = async function () {
// 3032 // 3032
// 4041退 // 4041退
paymentCurrency: searchForm.value.paymentCurrency, paymentCurrency: searchForm.value.paymentCurrency,
payType: searchForm.value.payType,
startTime: dateRange.value && dateRange.value[0] ? dayjs(dateRange.value[0]).format('YYYY-MM-DD HH:mm:ss') : "",
endtime: dateRange.value && dateRange.value[1] ? dayjs(dateRange.value[1]).format('YYYY-MM-DD HH:mm:ss') : "",
refundCurrency: searchForm.value.refundCurrency,
sTime: dateRange.value && dateRange.value[0] ? dayjs(dateRange.value[0]).format('YYYY-MM-DD HH:mm:ss') : "",
eTime: dateRange.value && dateRange.value[1] ? dayjs(dateRange.value[1]).format('YYYY-MM-DD HH:mm:ss') : "",
adminId: adminData.value.id, adminId: adminData.value.id,
account: adminData.value.account
account: adminData.value.account,
refundChannels:searchForm.value.refundChannels
} }
} }
@ -654,7 +655,7 @@ const disabledDate = (time) => {
const reset = function () { const reset = function () {
searchForm.value = { searchForm.value = {
jwcode: '', jwcode: '',
market: [],
markets: [],
statuses: [] statuses: []
} }
dateRange.value = [] dateRange.value = []

50
src/views/moneyManage/refundDetail/refundCharge.vue

@ -112,8 +112,8 @@
</el-select> </el-select>
</div> </div>
<div class="top-item"> <div class="top-item">
<el-text style="width:4vw;" size="small">退款备注</el-text>
<el-input v-model="auditRow.refundReason" placeholder="请输入退款备注" size="small" style="width:10vw;"
<el-text style="width:4vw;" size="small">退款理由</el-text>
<el-input v-model="auditRow.refundReason" size="small" style="width:10vw;"
:rows="3" maxlength="100" show-word-limit type="textarea" disabled /> :rows="3" maxlength="100" show-word-limit type="textarea" disabled />
</div> </div>
</div> </div>
@ -237,10 +237,9 @@
</div> </div>
</template> </template>
<template #icon> <template #icon>
<img v-if="currentStep === 12" src="@/assets/images/已驳回.png" alt="已驳回">
<img v-else-if="currentStep === 2" src="@/assets/images/待审核.png" alt="待审核">
<img v-else-if="currentStep > 2 && currentStep < 7" src="@/assets/images/已审核.png" alt="已审核">
<img v-else src="@/assets/images/还没传到.png" alt="未开始">
<img v-if="currentStep === 2" src="@/assets/images/已驳回.png" alt="已驳回">
<img v-else-if="currentStep === 1" src="@/assets/images/待审核.png" alt="待审核">
<img v-else-if="currentStep > 2" src="@/assets/images/已审核.png" alt="已审核">
</template> </template>
</el-step> </el-step>
@ -251,10 +250,10 @@
</div> </div>
</template> </template>
<template #icon> <template #icon>
<img v-if="currentStep === 22" src="@/assets/images/已驳回.png" alt="已驳回">
<img v-if="currentStep === 4" src="@/assets/images/已驳回.png" alt="已驳回">
<img v-else-if="currentStep === 3" src="@/assets/images/待审核.png" alt="待审核"> <img v-else-if="currentStep === 3" src="@/assets/images/待审核.png" alt="待审核">
<img v-else-if="currentStep > 3 && currentStep < 7" src="@/assets/images/已审核.png" alt="已审核">
<img v-else src="@/assets/images/还没传到.png" alt="未开始">
<img v-else-if="currentStep > 3 && currentStep != 4" src="@/assets/images/已审核.png" alt="已审核">
<img v-else-if="currentStep < 3" src="@/assets/images/还没传到.png" alt="未开始">
</template> </template>
</el-step> </el-step>
@ -265,10 +264,10 @@
</div> </div>
</template> </template>
<template #icon> <template #icon>
<img v-if="currentStep === 32" src="@/assets/images/已驳回.png" alt="已驳回">
<img v-else-if="currentStep === 4" src="@/assets/images/待审核.png" alt="待审核">
<img v-else-if="currentStep > 4 && currentStep < 7" src="@/assets/images/已审核.png" alt="已审核">
<img v-else src="@/assets/images/还没传到.png" alt="未开始">
<img v-if="currentStep === 6" src="@/assets/images/已驳回.png" alt="已驳回">
<img v-else-if="currentStep === 5" src="@/assets/images/待审核.png" alt="待审核">
<img v-else-if="currentStep > 5 && currentStep != 6" src="@/assets/images/已审核.png" alt="已审核">
<img v-else-if="currentStep < 5" src="@/assets/images/还没传到.png" alt="未开始">
</template> </template>
</el-step> </el-step>
@ -279,9 +278,9 @@
</div> </div>
</template> </template>
<template #icon> <template #icon>
<img v-if="currentStep === 5" src="@/assets/images/待审核.png" alt="待处理">
<img v-else-if="currentStep === 6" src="@/assets/images/已审核.png" alt="已完成">
<img v-else src="@/assets/images/还没传到.png" alt="未开始">
<img v-if="currentStep === 7" src="@/assets/images/待审核.png" alt="待处理">
<img v-else-if="currentStep === 8" src="@/assets/images/已审核.png" alt="已完成">
<img v-else-if="currentStep < 7" src="@/assets/images/还没传到.png" alt="未开始">
</template> </template>
</el-step> </el-step>
</el-steps> </el-steps>
@ -332,14 +331,14 @@ const headFinance = ref('')// 总部财务
const executor = ref('')// const executor = ref('')//
const uploadRef = ref(null) const uploadRef = ref(null)
const statusStepMap = { const statusStepMap = {
10: [2, false],
12: [12, true],
10: [1, false],
12: [2, true],
20: [3, false], 20: [3, false],
22: [22, true],
30: [4, false],
32: [32, true],
40: [5, false],
41: [6, false]
22: [4, true],
30: [5, false],
32: [6, true],
40: [7, false],
41: [8, false]
} }
const currencies = ref([ const currencies = ref([
{ {
@ -528,17 +527,16 @@ const handleReject = async function () {
}) })
if (result.code === 200) { if (result.code === 200) {
ElMessage.success('审核驳回') ElMessage.success('审核驳回')
showAudit.value = false
getRefund() getRefund()
addForm.value.remark = '' addForm.value.remark = ''
showReject.value = false
showAudit2.value = false
} }
} catch (error) { } catch (error) {
ElMessage.error(error.message || '审核失败') ElMessage.error(error.message || '审核失败')
} }
} }
const showStep = function (row) { const showStep = function (row) {
if (!hasMenuPermission(menuTree.value, permissionMapping.refundFinanceProgShow)) {
if (!hasMenuPermission(menuTree.value, permissionMapping.refundChargeProgShow)) {
ElMessage.error('无此权限') ElMessage.error('无此权限')
return return
} }

44
src/views/moneyManage/refundDetail/refundFinance.vue

@ -61,7 +61,6 @@
<el-table-column prop="jwcode" label="Homily ID" width="120" fixed="left" /> <el-table-column prop="jwcode" label="Homily ID" width="120" fixed="left" />
<el-table-column prop="name" label="姓名" width="120" fixed="left" show-overflow-tooltip /> <el-table-column prop="name" label="姓名" width="120" fixed="left" show-overflow-tooltip />
<el-table-column prop="marketName" label="所属地区" width="120" /> <el-table-column prop="marketName" label="所属地区" width="120" />
<el-table-column prop="activity" label="活动名称" width="120px" show-overflow-tooltip />
<el-table-column prop="goodsName" label="产品名称" width="130" show-overflow-tooltip /> <el-table-column prop="goodsName" label="产品名称" width="130" show-overflow-tooltip />
<el-table-column prop="goodNum" label="产品数量" width="120" /> <el-table-column prop="goodNum" label="产品数量" width="120" />
<el-table-column prop="refundModel" label="退款方式" width="120"> <el-table-column prop="refundModel" label="退款方式" width="120">
@ -112,7 +111,7 @@
</el-select> </el-select>
</div> </div>
<div class="top-item"> <div class="top-item">
<el-text style="width:4vw;" size="small">退款备注</el-text>
<el-text style="width:4vw;" size="small">退款理由</el-text>
<el-input v-model="auditRow.refundReason" size="small" style="width:10vw;" :rows="3" maxlength="100" <el-input v-model="auditRow.refundReason" size="small" style="width:10vw;" :rows="3" maxlength="100"
show-word-limit type="textarea" disabled /> show-word-limit type="textarea" disabled />
</div> </div>
@ -237,10 +236,9 @@
</div> </div>
</template> </template>
<template #icon> <template #icon>
<img v-if="currentStep === 12" src="@/assets/images/已驳回.png" alt="已驳回">
<img v-else-if="currentStep === 2" src="@/assets/images/待审核.png" alt="待审核">
<img v-else-if="currentStep > 2 && currentStep < 7" src="@/assets/images/已审核.png" alt="已审核">
<img v-else src="@/assets/images/还没传到.png" alt="未开始">
<img v-if="currentStep === 2" src="@/assets/images/已驳回.png" alt="已驳回">
<img v-else-if="currentStep === 1" src="@/assets/images/待审核.png" alt="待审核">
<img v-else-if="currentStep > 2" src="@/assets/images/已审核.png" alt="已审核">
</template> </template>
</el-step> </el-step>
@ -251,10 +249,10 @@
</div> </div>
</template> </template>
<template #icon> <template #icon>
<img v-if="currentStep === 22" src="@/assets/images/已驳回.png" alt="已驳回">
<img v-if="currentStep === 4" src="@/assets/images/已驳回.png" alt="已驳回">
<img v-else-if="currentStep === 3" src="@/assets/images/待审核.png" alt="待审核"> <img v-else-if="currentStep === 3" src="@/assets/images/待审核.png" alt="待审核">
<img v-else-if="currentStep > 3 && currentStep < 7" src="@/assets/images/已审核.png" alt="已审核">
<img v-else src="@/assets/images/还没传到.png" alt="未开始">
<img v-else-if="currentStep > 3 && currentStep != 4" src="@/assets/images/已审核.png" alt="已审核">
<img v-else-if="currentStep < 3" src="@/assets/images/还没传到.png" alt="未开始">
</template> </template>
</el-step> </el-step>
@ -265,10 +263,10 @@
</div> </div>
</template> </template>
<template #icon> <template #icon>
<img v-if="currentStep === 32" src="@/assets/images/已驳回.png" alt="已驳回">
<img v-else-if="currentStep === 4" src="@/assets/images/待审核.png" alt="待审核">
<img v-else-if="currentStep > 4 && currentStep < 7" src="@/assets/images/已审核.png" alt="已审核">
<img v-else src="@/assets/images/还没传到.png" alt="未开始">
<img v-if="currentStep === 6" src="@/assets/images/已驳回.png" alt="已驳回">
<img v-else-if="currentStep === 5" src="@/assets/images/待审核.png" alt="待审核">
<img v-else-if="currentStep > 5 && currentStep != 6" src="@/assets/images/已审核.png" alt="已审核">
<img v-else-if="currentStep < 5" src="@/assets/images/还没传到.png" alt="未开始">
</template> </template>
</el-step> </el-step>
@ -279,9 +277,9 @@
</div> </div>
</template> </template>
<template #icon> <template #icon>
<img v-if="currentStep === 5" src="@/assets/images/待审核.png" alt="待处理">
<img v-else-if="currentStep === 6" src="@/assets/images/已审核.png" alt="已完成">
<img v-else src="@/assets/images/还没传到.png" alt="未开始">
<img v-if="currentStep === 7" src="@/assets/images/待审核.png" alt="待处理">
<img v-else-if="currentStep === 8" src="@/assets/images/已审核.png" alt="已完成">
<img v-else-if="currentStep < 7" src="@/assets/images/还没传到.png" alt="未开始">
</template> </template>
</el-step> </el-step>
</el-steps> </el-steps>
@ -397,14 +395,14 @@ const payments = ref([{
} }
]) ])
const statusStepMap = { const statusStepMap = {
10: [2, false],
12: [12, true],
10: [1, false],
12: [2, true],
20: [3, false], 20: [3, false],
22: [22, true],
30: [4, false],
32: [32, true],
40: [5, false],
41: [6, false]
22: [4, true],
30: [5, false],
32: [6, true],
40: [7, false],
41: [8, false]
} }
const statusList = ref(['待审核','审核通过','已驳回','退款成功']) const statusList = ref(['待审核','审核通过','已驳回','退款成功'])
// //

47
src/views/moneyManage/refundDetail/refundHeader.vue

@ -112,8 +112,8 @@
</el-select> </el-select>
</div> </div>
<div class="top-item"> <div class="top-item">
<el-text style="width:4vw;" size="small">退款备注</el-text>
<el-input v-model="auditRow.refundReason" placeholder="请输入退款备注" size="small" style="width:10vw;"
<el-text style="width:4vw;" size="small">退款理由</el-text>
<el-input v-model="auditRow.refundReason" size="small" style="width:10vw;"
:rows="3" maxlength="100" show-word-limit type="textarea" disabled /> :rows="3" maxlength="100" show-word-limit type="textarea" disabled />
</div> </div>
</div> </div>
@ -247,10 +247,9 @@
</div> </div>
</template> </template>
<template #icon> <template #icon>
<img v-if="currentStep === 12" src="@/assets/images/已驳回.png" alt="已驳回">
<img v-else-if="currentStep === 2" src="@/assets/images/待审核.png" alt="待审核">
<img v-else-if="currentStep > 2 && currentStep < 7" src="@/assets/images/已审核.png" alt="已审核">
<img v-else src="@/assets/images/还没传到.png" alt="未开始">
<img v-if="currentStep === 2" src="@/assets/images/已驳回.png" alt="已驳回">
<img v-else-if="currentStep === 1" src="@/assets/images/待审核.png" alt="待审核">
<img v-else-if="currentStep > 2" src="@/assets/images/已审核.png" alt="已审核">
</template> </template>
</el-step> </el-step>
@ -261,10 +260,10 @@
</div> </div>
</template> </template>
<template #icon> <template #icon>
<img v-if="currentStep === 22" src="@/assets/images/已驳回.png" alt="已驳回">
<img v-if="currentStep === 4" src="@/assets/images/已驳回.png" alt="已驳回">
<img v-else-if="currentStep === 3" src="@/assets/images/待审核.png" alt="待审核"> <img v-else-if="currentStep === 3" src="@/assets/images/待审核.png" alt="待审核">
<img v-else-if="currentStep > 3 && currentStep < 7" src="@/assets/images/已审核.png" alt="已审核">
<img v-else src="@/assets/images/还没传到.png" alt="未开始">
<img v-else-if="currentStep > 3 && currentStep != 4" src="@/assets/images/已审核.png" alt="已审核">
<img v-else-if="currentStep < 3" src="@/assets/images/还没传到.png" alt="未开始">
</template> </template>
</el-step> </el-step>
@ -275,10 +274,10 @@
</div> </div>
</template> </template>
<template #icon> <template #icon>
<img v-if="currentStep === 32" src="@/assets/images/已驳回.png" alt="已驳回">
<img v-else-if="currentStep === 4" src="@/assets/images/待审核.png" alt="待审核">
<img v-else-if="currentStep > 4 && currentStep < 7" src="@/assets/images/已审核.png" alt="已审核">
<img v-else src="@/assets/images/还没传到.png" alt="未开始">
<img v-if="currentStep === 6" src="@/assets/images/已驳回.png" alt="已驳回">
<img v-else-if="currentStep === 5" src="@/assets/images/待审核.png" alt="待审核">
<img v-else-if="currentStep > 5 && currentStep != 6" src="@/assets/images/已审核.png" alt="已审核">
<img v-else-if="currentStep < 5" src="@/assets/images/还没传到.png" alt="未开始">
</template> </template>
</el-step> </el-step>
@ -289,9 +288,9 @@
</div> </div>
</template> </template>
<template #icon> <template #icon>
<img v-if="currentStep === 5" src="@/assets/images/待审核.png" alt="待处理">
<img v-else-if="currentStep === 6" src="@/assets/images/已审核.png" alt="已完成">
<img v-else src="@/assets/images/还没传到.png" alt="未开始">
<img v-if="currentStep === 7" src="@/assets/images/待审核.png" alt="待处理">
<img v-else-if="currentStep === 8" src="@/assets/images/已审核.png" alt="已完成">
<img v-else-if="currentStep < 7" src="@/assets/images/还没传到.png" alt="未开始">
</template> </template>
</el-step> </el-step>
</el-steps> </el-steps>
@ -344,14 +343,14 @@ const areaCharge = ref('')// 地区负责人
const headFinance = ref('')// const headFinance = ref('')//
const executor = ref('')// const executor = ref('')//
const statusStepMap = { const statusStepMap = {
10: [2, false],
12: [12, true],
10: [1, false],
12: [2, true],
20: [3, false], 20: [3, false],
22: [22, true],
30: [4, false],
32: [32, true],
40: [5, false],
41: [6, false]
22: [4, true],
30: [5, false],
32: [6, true],
40: [7, false],
41: [8, false]
} }
const currencies = ref([ const currencies = ref([
{ {
@ -624,7 +623,7 @@ const reset = function () {
getRefund() getRefund()
} }
const showStep = function (row) { const showStep = function (row) {
if (!hasMenuPermission(menuTree.value, permissionMapping.refundFinanceProgShow)) {
if (!hasMenuPermission(menuTree.value, permissionMapping.refundHeaderProgShow)) {
ElMessage.error('无此权限') ElMessage.error('无此权限')
return return
} }

48
src/views/moneyManage/refundDetail/refundService.vue

@ -22,7 +22,7 @@
<div class="item1"> <div class="item1">
<el-text size="large" style="width:4vw;" multiple>订单状态</el-text> <el-text size="large" style="width:4vw;" multiple>订单状态</el-text>
<el-select v-model="searchForm.statuses" style="width:9vw;" clearable> <el-select v-model="searchForm.statuses" style="width:9vw;" clearable>
<el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value" />
<el-option v-for="item in statusList" :key="item" :label="item" :value="item" />
</el-select> </el-select>
</div> </div>
</div> </div>
@ -246,28 +246,7 @@ const uploadRef = ref(null)
const showBack = ref(false) const showBack = ref(false)
const showError = ref(false) const showError = ref(false)
const isKF = adminData.value.adminName.includes('客服') const isKF = adminData.value.adminName.includes('客服')
const statusList = ref([
{
value:'submitted',
label:'已提交',
},
{
value: 'back',
label: '已撤回',
},
{
value: 'pending',
label: '审核中'
},
{
value: 'completed',
label: '已退款'
},
{
value:'rejected',
label:'已驳回'
}
])
const statusList = ref(['已提交', '已撤回', '进行中','已退款','已驳回'])
// //
const getRefund = async function () { const getRefund = async function () {
if (!hasMenuPermission(menuTree.value, permissionMapping.refundServiceShow)) { if (!hasMenuPermission(menuTree.value, permissionMapping.refundServiceShow)) {
@ -275,16 +254,17 @@ const getRefund = async function () {
return return
} }
try { try {
if (searchForm.value.statuses === 'submitted') {
searchForm.value.statuses = [10]
} else if (searchForm.value.statuses === 'back') {
searchForm.value.statuses = [11]
} else if (searchForm.value.statuses === 'pending') {
searchForm.value.statuses = [20,30,40]
} else if(searchForm.value.statuses === 'completed') {
searchForm.value.statuses = [41]
} else if(searchForm.value.statuses === 'rejected') {
searchForm.value.statuses = [12,22,32]
const statusParam = ref([])
if (searchForm.value.statuses === '已提交') {
statusParam.value = [10]
} else if (searchForm.value.statuses === '已撤回') {
statusParam.value = [11]
} else if (searchForm.value.statuses === '进行中') {
statusParam.value = [20,30,40]
} else if(searchForm.value.statuses === '已退款') {
statusParam.value = [41]
} else if(searchForm.value.statuses === '已驳回') {
statusParam.value = [12,22,32]
} }
const params = { const params = {
pageNum: pagination.value.pageNum, pageNum: pagination.value.pageNum,
@ -294,7 +274,7 @@ const getRefund = async function () {
name: searchForm.value.name,// name: searchForm.value.name,//
markets: searchForm.value.market,// markets: searchForm.value.market,//
goodsNames: searchForm.value.goodsName,// goodsNames: searchForm.value.goodsName,//
statuses: searchForm.value.statuses,//1012
statuses: statusParam.value,//1012
// 2022 // 2022
// 3032 // 3032
// 4041退 // 4041退

Loading…
Cancel
Save