Browse Source

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

zhangyong/milestone-20250913-现金管理
lihuilin 1 month ago
parent
commit
cbf21d4d92
  1. 138
      src/views/moneyManage/executor/executor.vue
  2. 274
      src/views/moneyManage/refundDetail/refundCharge.vue
  3. 215
      src/views/moneyManage/refundDetail/refundFinance.vue
  4. 229
      src/views/moneyManage/refundDetail/refundHeader.vue
  5. 133
      src/views/moneyManage/refundDetail/refundService.vue

138
src/views/moneyManage/executor/executor.vue

@ -15,12 +15,12 @@
</div>
<div class="search">
<el-text size="large" style="width:4vw;">产品名称</el-text>
<el-input v-model="searchForm.goodsName" placeholder="请输入产品名称" style="width:9vw;" clearable />
<el-cascader v-model="searchForm.goodsName" :options="productList" style="width: 10vw;" />
</div>
<div class="search">
<el-text size="large" style="width:4vw;">退款币种</el-text>
<el-select v-model="searchForm.payType" style="width:9vw;">
<el-option v-for="item in payments" :key="item" :label="item" :value="item" />
<el-option v-for="item in currencies" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</div>
</div>
@ -287,8 +287,9 @@ const submitRefund = async function () {
refundCurrency: editForm.value.refundCurrency,
refundAmount: editForm.value.refundAmount,
refundChannels: editForm.value.refundChannels,
status: 41
status: 41,
auditId: editRow.value.auditId,
executor: adminData.value.account
}
const result = await API({
url: '/Money/executor',
@ -387,6 +388,7 @@ const channelOptions = ref([{
label: 'Ipay88-Link平台'
}
])
const currencies = ref([
{
value: '新币',
@ -453,7 +455,135 @@ const customUpload = async (options) => {
ElMessage.error(`上传失败: ${error.msg || error.message || '网络异常'}`)
}
}
const productList = [
{
"value": "金币产品",
"label": "金币产品",
"children": [
{
"value": "金币充值",
"label": "金币充值",
}
]
},
{
"value": "软件产品",
"label": "软件产品",
"children": [
{
"value": "美股",
"label": "美股",
"children": [
{
"value": "美股软件",
"label": "美股软件"
}
]
},
{
"value": "港股",
"label": "港股",
"children": [
{
"value": "港股软件",
"label": "港股软件"
}
]
},
{
"value": "A股",
"label": "A股",
"children": [
{
"value": "A股软件",
"label": "A股软件"
}
]
},
{
"value": "新加坡股",
"label": "新加坡股",
"children": [
{
"value": "新加坡股软件",
"label": "新加坡股软件"
}
]
},
{
"value": "马股",
"label": "马股",
"children": [
{
"value": "马股软件",
"label": "马股软件"
}
]
},
{
"value": "日本股",
"label": "日本股",
"children": [
{
"value": "日本股软件",
"label": "日本股软件"
}
]
},
{
"value": "泰股",
"label": "泰股",
"children": [
{
"value": "泰股软件",
"label": "泰股软件"
}
]
},
{
"value": "越南股",
"label": "越南股",
"children": [
{
"value": "越南股软件",
"label": "越南股软件"
}
]
},
{
"value": "印尼股",
"label": "印尼股",
"children": [
{
"value": "印尼股软件",
"label": "印尼股软件"
}
]
},
{
"value": "韩国股",
"label": "韩国股",
"children": [
{
"value": "韩国股软件",
"label": "韩国股软件"
}
]
},
{
"value": "台湾股",
"label": "台湾股",
"children": [
{
"value": "台湾股软件",
"label": "台湾股软件"
}
]
}
]
},
]
onMounted(() => {
console.log('???????????????????', adminData.value)
getRefund()

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

@ -16,7 +16,7 @@
</div>
<div class="item1">
<el-text size="large" style="width:4vw;">产品名称</el-text>
<el-input v-model="searchForm.goodsName" placeholder="请输入产品名称" style="width:9vw;" clearable />
<el-cascader v-model="searchForm.goodsName" :options="productList" style="width: 10vw;" />
</div>
<div class="item1">
<el-text size="large" style="width:4vw;">订单状态</el-text>
@ -35,7 +35,8 @@
<div class="item2">
<el-text size="large" style="width:4vw;">支付方式</el-text>
<el-select v-model="searchForm.payType" style="width:9vw;">
<el-option v-for="item in channelOptions" :key="item.value" :label="item.label" :value="item.value" />
<el-option v-for="item in channelOptions" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</div>
<div class="item2" style="width: 28.5vw;">
@ -58,7 +59,7 @@
<el-table-column type="index" label="序号" width="60" fixed="left" />
<el-table-column prop="name" label="Homily ID" width="120" fixed="left" />
<el-table-column prop="jwcode" label="姓名" width="120" fixed="left" show-overflow-tooltip />
<el-table-column prop="marketName" label="所属地区" width="120" />
<el-table-column prop="market" label="所属地区" width="120" />
<el-table-column prop="goodsName" label="产品名称" width="120" />
<el-table-column prop="goodNum" label="产品数量" width="120" />
<el-table-column prop="refundType" label="退款方式" width="120">
@ -66,22 +67,22 @@
{{ scope.row.refundType === 1 ? '部分退款' : '全部退款' }}
</template>
</el-table-column>
<el-table-column prop="submitterName" label="提交人" width="120" />
<el-table-column prop="areaServise" label="提交人" width="120" />
<el-table-column prop="refundReason" label="退款理由" width="120" />
<el-table-column prop="remark" label="备注" width="150" show-overflow-tooltip />
<el-table-column prop="status" label="订单状态" width="120">
<template #default="scope">
{{
[20,30, 40].includes(scope.row.status) ? '审核中' :
[22,32].includes(scope.row.status) ? '审核驳回' :
scope.row.status === 41 ? '退款完成' : scope.row.status
[20, 30, 40].includes(scope.row.status) ? '审核中' :
[22, 32].includes(scope.row.status) ? '审核驳回' :
scope.row.status === 41 ? '退款完成' : scope.row.status
}}
</template>
</el-table-column>
<el-table-column prop="operation" label="操作" fixed="right" width="100px" >
<el-table-column prop="operation" label="操作" fixed="right" width="100px">
<template #default="scope">
<div class="operation">
<el-button v-if="scope.row.status === 20" type="primary" text @click="showAudit(scope.row)">
<el-button v-if="scope.row.status === 20" type="primary" text @click="showAudit(scope.row)">
审核
</el-button>
<el-button v-else type="primary" text @click="showStep(scope.row)">
@ -145,7 +146,8 @@
</div>
<div class="center-item">
<el-text style="width:4vw;">转账凭证</el-text>
<img v-if="auditRow.voucher" :src="auditRow.voucher" style="width: 100%; height: 100%; object-fit: cover;">
<img v-if="auditRow.voucher" :src="auditRow.voucher"
style="width: 100%; height: 100%; object-fit: cover;">
<div v-else>
无转账凭证
</div>
@ -220,7 +222,7 @@
<el-step title="提交人">
<template #title>
<div>提交人<br>你是死的</div>
<div>提交人<br>{{ submitterName }}</div>
</template>
<template #icon>
<img v-if="currentStep === 1" src="@/assets/images/待审核.png" alt="步骤图标"
@ -230,7 +232,10 @@
</template>
</el-step>
<el-step title="地区财务">
<el-step>
<template #title>
<div>地区财务<br>{{ areaFinance }}</div>
</template>
<template #icon>
<img v-if="currentStep < 2" src="@/assets/images/还没传到.png" alt="步骤图标"
style="width: 30px; height: 30px;">
@ -241,7 +246,10 @@
</template>
</el-step>
<el-step title="地区负责人">
<el-step>
<template #title>
<div>地区负责人<br>{{ areaCharge }}</div>
</template>
<template #icon>
<img v-if="currentStep < 3" src="@/assets/images/还没传到.png" alt="步骤图标"
style="width: 30px; height: 30px;">
@ -252,7 +260,10 @@
</template>
</el-step>
<el-step title="总部财务">
<el-step>
<template #title>
<div>总部财务<br>{{ headFinance }}</div>
</template>
<template #icon>
<img v-if="currentStep < 4" src="@/assets/images/还没传到.png" alt="步骤图标"
style="width: 30px; height: 30px;">
@ -263,7 +274,10 @@
</template>
</el-step>
<el-step title="指定执行人">
<el-step>
<template #title>
<div>指定执行人<br>{{ executor }}</div>
</template>
<template #icon>
<img v-if="currentStep < 5" src="@/assets/images/还没传到.png" alt="步骤图标"
style="width: 30px; height: 30px;">
@ -294,7 +308,7 @@ import { permissionMapping, findMenuById, hasMenuPermission } from "@/utils/menu
const currentStep = ref(0)//
const searchForm = ref({
jwcode: '',
markets:[]
markets: []
})
const addForm = ref({
remark: ''
@ -310,6 +324,11 @@ const pagination = ref({
const showAudit2 = ref(false)
const tableData = ref([])
const showSteps = ref(false)
const submitterName = ref('')//
const areaFinance = ref('')//
const areaCharge = ref('')//
const headFinance = ref('')//
const executor = ref('')//
const uploadRef = ref(null)
const currencies = ref([
{
@ -399,22 +418,22 @@ const channelOptions = ref([{
}
])
const statusList = ref([
{
value: 20,
label: '待审核',
},
{
value: '审核通过',
label: '审核通过'
},
{
value: '审核驳回',
label: '审核驳回'
},
{
value: 41,
label: '退款完成'
}
{
value: 20,
label: '待审核',
},
{
value: '审核通过',
label: '审核通过'
},
{
value: '审核驳回',
label: '审核驳回'
},
{
value: 41,
label: '退款完成'
}
])
//
const getRefund = async function () {
@ -423,11 +442,11 @@ const getRefund = async function () {
return
}
try {
searchForm.value.statuses = [20,22,30,32,40,41] //
if(searchForm.value.statuses === '审核通过'){
statuses = [30,40]
}else if(searchForm.value.statuses === '审核驳回'){
statuses = [22,32]
searchForm.value.statuses = [20, 22, 30, 32, 40, 41] //
if (searchForm.value.statuses === '审核通过') {
statuses = [30, 40]
} else if (searchForm.value.statuses === '审核驳回') {
statuses = [22, 32]
}
const params = {
pageNum: pagination.value.pageNum,
@ -471,7 +490,8 @@ const handlePass = async function () {
id: auditRow.value.id,
status: 30,
rejectReason: addForm.value.remark,
adminId: adminData.value.id
areaCharge: adminData.value.adminName,
auditId: auditRow.value.auditId
}
const result = await API({
url: '/Money/review',
@ -497,7 +517,8 @@ const handleReject = async function () {
id: auditRow.value.id,
status: 22,
rejectReason: addForm.value.remark,
adminId: adminData.value.id
areaCharge: adminData.value.adminName,
auditId: auditRow.value.auditId
}
const result = await API({
url: '/Money/review',
@ -514,24 +535,168 @@ const handleReject = async function () {
}
const showStep = function (row) {
if (!hasMenuPermission(menuTree.value, permissionMapping.refundChargeProgShow)) {
ElMessage.error('无此权限')
return
}
if (row.areaService !== null || row.areaService !== '') {
currentStep.value = 1
}
if (row.areaFinance !== null || row.areaFinance !== '') {
currentStep.value = 2
}
if (row.areaCharge !== null || row.areaCharge !== '') {
currentStep.value = 3
ElMessage.error('无此权限');
return;
}
if (row.headFinance !== null || row.headFinance !== '') {
currentStep.value = 4
console.log("row", row)
currentStep.value = 1;
if (row.status === 41) {
executor.value = row.executorName
currentStep.value = 6;
} else {
if (row.areaServise !== null && row.areaServise !== '') {
submitterName.value = row.areaServise
console.log(submitterName.value)
currentStep.value = 2;
}
if (row.areaFinance !== null && row.areaFinance !== '') {
areaFinance.value = row.areaFinance
console.log(areaFinance.value)
currentStep.value = 3;
}
if (row.areaCharge !== null && row.areaCharge !== '') {
areaCharge.value = row.areaCharge
console.log(areaCharge.value)
currentStep.value = 4;
}
if (row.headFinance !== null && row.headFinance !== '') {
headFinance.value = row.headFinance
console.log(headFinance.value)
currentStep.value = 5;
}
}
console.log("看看顺序到哪了",currentStep.value)
showSteps.value = true
console.log("当前步骤:", currentStep.value);
showSteps.value = true;
}
const productList = [
{
"value": "金币产品",
"label": "金币产品",
"children": [
{
"value": "金币充值",
"label": "金币充值",
}
]
},
{
"value": "软件产品",
"label": "软件产品",
"children": [
{
"value": "美股",
"label": "美股",
"children": [
{
"value": "美股软件",
"label": "美股软件"
}
]
},
{
"value": "港股",
"label": "港股",
"children": [
{
"value": "港股软件",
"label": "港股软件"
}
]
},
{
"value": "A股",
"label": "A股",
"children": [
{
"value": "A股软件",
"label": "A股软件"
}
]
},
{
"value": "新加坡股",
"label": "新加坡股",
"children": [
{
"value": "新加坡股软件",
"label": "新加坡股软件"
}
]
},
{
"value": "马股",
"label": "马股",
"children": [
{
"value": "马股软件",
"label": "马股软件"
}
]
},
{
"value": "日本股",
"label": "日本股",
"children": [
{
"value": "日本股软件",
"label": "日本股软件"
}
]
},
{
"value": "泰股",
"label": "泰股",
"children": [
{
"value": "泰股软件",
"label": "泰股软件"
}
]
},
{
"value": "越南股",
"label": "越南股",
"children": [
{
"value": "越南股软件",
"label": "越南股软件"
}
]
},
{
"value": "印尼股",
"label": "印尼股",
"children": [
{
"value": "印尼股软件",
"label": "印尼股软件"
}
]
},
{
"value": "韩国股",
"label": "韩国股",
"children": [
{
"value": "韩国股软件",
"label": "韩国股软件"
}
]
},
{
"value": "台湾股",
"label": "台湾股",
"children": [
{
"value": "台湾股软件",
"label": "台湾股软件"
}
]
}
]
},
]
const hideReject = function () {
showReject.value = false
addForm.value.remark = ''
@ -563,6 +728,7 @@ onMounted(() => {
:deep(.el-table__header th) {
background-color: #F3FAFE !important;
}
.condition {
width: 82vw;
display: flex;

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

@ -16,7 +16,7 @@
</div>
<div class="item1">
<el-text size="large" style="width:4vw;">产品名称</el-text>
<el-input v-model="searchForm.goodsName" placeholder="请输入产品名称" style="width:9vw;" clearable />
<el-cascader v-model="searchForm.goodsName" :options="productList" style="width: 10vw;" />
</div>
<div class="item1">
<el-text size="large" style="width:4vw;">订单状态</el-text>
@ -59,7 +59,7 @@
<el-table-column type="index" label="序号" width="60" 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="marketName" label="所属地区" width="120" />
<el-table-column prop="market" label="所属地区" width="120" />
<el-table-column prop="activity" label="活动名称" width="120px" show-overflow-tooltip />
<el-table-column prop="goodsName" label="产品名称" width="120" />
<el-table-column prop="goodNum" label="产品数量" width="120" />
@ -68,7 +68,7 @@
{{ scope.row.refundType === 1 ? '部分退款' : '全部退款' }}
</template>
</el-table-column>
<el-table-column prop="submitterName" label="提交人" width="120" />
<el-table-column prop="areaServise" label="提交人" width="120" />
<el-table-column prop="refundReason" label="退款理由" width="120" />
<el-table-column prop="remark" label="备注" width="150" show-overflow-tooltip />
<el-table-column prop="status" label="订单状态" width="120">
@ -225,7 +225,7 @@
<el-step title="提交人">
<template #title>
<div>提交人<br>你是死的</div>
<div>提交人<br>{{ submitterName }}</div>
</template>
<template #icon>
<img v-if="currentStep === 1" src="@/assets/images/待审核.png" alt="步骤图标"
@ -235,7 +235,10 @@
</template>
</el-step>
<el-step title="地区财务">
<el-step>
<template #title>
<div>地区财务<br>{{ areaFinance }}</div>
</template>
<template #icon>
<img v-if="currentStep < 2" src="@/assets/images/还没传到.png" alt="步骤图标"
style="width: 30px; height: 30px;">
@ -246,7 +249,10 @@
</template>
</el-step>
<el-step title="地区负责人">
<el-step>
<template #title>
<div>地区负责人<br>{{ areaCharge }}</div>
</template>
<template #icon>
<img v-if="currentStep < 3" src="@/assets/images/还没传到.png" alt="步骤图标"
style="width: 30px; height: 30px;">
@ -257,7 +263,10 @@
</template>
</el-step>
<el-step title="总部财务">
<el-step>
<template #title>
<div>总部财务<br>{{ headFinance }}</div>
</template>
<template #icon>
<img v-if="currentStep < 4" src="@/assets/images/还没传到.png" alt="步骤图标"
style="width: 30px; height: 30px;">
@ -268,7 +277,10 @@
</template>
</el-step>
<el-step title="指定执行人">
<el-step>
<template #title>
<div>指定执行人<br>{{ executor }}</div>
</template>
<template #icon>
<img v-if="currentStep < 5" src="@/assets/images/还没传到.png" alt="步骤图标"
style="width: 30px; height: 30px;">
@ -320,6 +332,11 @@ const showAudit = ref(false)
const auditRow = ref({})//
const showSteps = ref(false)
const uploadRef = ref(null)
const submitterName = ref('')//
const areaFinance = ref('')//
const areaCharge = ref('')//
const headFinance = ref('')//
const executor = ref('')//
const payments = ref([{
value: '银行转账',
label: '银行转账'
@ -452,10 +469,11 @@ const handlePass = async function () {
const params = {
id: auditRow.value.id,
status: 20,
adminId: adminData.value.id
areaFinance: adminData.value.adminName,
auditId: auditRow.value.auditId
}
const result = await API({
url: '/Money/finalReview',
url: '/Money/review',
data: params
})
if (result.code === 200) {
@ -478,7 +496,8 @@ const handleReject = async function () {
id: auditRow.value.id,
status: 12,
rejectReason: addForm.value.remark,
adminId: adminData.value.id
areaFinance: adminData.value.adminName,
auditId: auditRow.value.auditId
}
const result = await API({
url: '/Money/finalReview',
@ -580,25 +599,169 @@ const channelOptions = ref([{
label: 'Ipay88-Link平台'
}
])
const productList = [
{
"value": "金币产品",
"label": "金币产品",
"children": [
{
"value": "金币充值",
"label": "金币充值",
}
]
},
{
"value": "软件产品",
"label": "软件产品",
"children": [
{
"value": "美股",
"label": "美股",
"children": [
{
"value": "美股软件",
"label": "美股软件"
}
]
},
{
"value": "港股",
"label": "港股",
"children": [
{
"value": "港股软件",
"label": "港股软件"
}
]
},
{
"value": "A股",
"label": "A股",
"children": [
{
"value": "A股软件",
"label": "A股软件"
}
]
},
{
"value": "新加坡股",
"label": "新加坡股",
"children": [
{
"value": "新加坡股软件",
"label": "新加坡股软件"
}
]
},
{
"value": "马股",
"label": "马股",
"children": [
{
"value": "马股软件",
"label": "马股软件"
}
]
},
{
"value": "日本股",
"label": "日本股",
"children": [
{
"value": "日本股软件",
"label": "日本股软件"
}
]
},
{
"value": "泰股",
"label": "泰股",
"children": [
{
"value": "泰股软件",
"label": "泰股软件"
}
]
},
{
"value": "越南股",
"label": "越南股",
"children": [
{
"value": "越南股软件",
"label": "越南股软件"
}
]
},
{
"value": "印尼股",
"label": "印尼股",
"children": [
{
"value": "印尼股软件",
"label": "印尼股软件"
}
]
},
{
"value": "韩国股",
"label": "韩国股",
"children": [
{
"value": "韩国股软件",
"label": "韩国股软件"
}
]
},
{
"value": "台湾股",
"label": "台湾股",
"children": [
{
"value": "台湾股软件",
"label": "台湾股软件"
}
]
}
]
},
]
const showStep = function (row) {
if (!hasMenuPermission(menuTree.value, permissionMapping.refundFinanceProgShow)) {
ElMessage.error('无此权限')
return
}
if (row.areaService !== null || row.areaService !== '') {
currentStep.value = 1
ElMessage.error('无此权限');
return;
}
if (row.areaFinance !== null || row.areaFinance !== '') {
currentStep.value = 2
}
if (row.areaCharge !== null || row.areaCharge !== '') {
currentStep.value = 3
}
if (row.headFinance !== null || row.headFinance !== '') {
currentStep.value = 4
console.log("row", row)
currentStep.value = 1;
if (row.status === 41) {
executor.value = row.executorName
currentStep.value = 6;
} else {
if (row.areaServise !== null && row.areaServise !== '') {
submitterName.value = row.areaServise
console.log(submitterName.value)
currentStep.value = 2;
}
if (row.areaFinance !== null && row.areaFinance !== '') {
areaFinance.value = row.areaFinance
console.log(areaFinance.value)
currentStep.value = 3;
}
if (row.areaCharge !== null && row.areaCharge !== '') {
areaCharge.value = row.areaCharge
console.log(areaCharge.value)
currentStep.value = 4;
}
if (row.headFinance !== null && row.headFinance !== '') {
headFinance.value = row.headFinance
console.log(headFinance.value)
currentStep.value = 5;
}
}
console.log("看看顺序到哪了",currentStep.value)
showSteps.value = true
console.log("当前步骤:", currentStep.value);
showSteps.value = true;
}
const showAudit2 = function (row) {
auditRow.value = row

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

@ -16,7 +16,7 @@
</div>
<div class="item1">
<el-text size="large" style="width:4vw;">产品名称</el-text>
<el-input v-model="searchForm.goodsName" placeholder="请输入产品名称" style="width:9vw;" clearable />
<el-cascader v-model="searchForm.goodsName" :options="productList" style="width: 10vw;" />
</div>
<div class="item1">
<el-text size="large" style="width:4vw;">订单状态</el-text>
@ -35,7 +35,8 @@
<div class="item2">
<el-text size="large" style="width:4vw;">支付方式</el-text>
<el-select v-model="searchForm.payType" style="width:9vw;">
<el-option v-for="item in channelOptions" :key="item.value" :label="item.label" :value="item.value" />
<el-option v-for="item in channelOptions" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</div>
<div class="item2" style="width: 28.5vw;">
@ -58,7 +59,7 @@
<el-table-column type="index" label="序号" width="60" fixed="left" />
<el-table-column prop="name" label="Homily ID" width="120" fixed="left" />
<el-table-column prop="jwcode" label="姓名" width="120" fixed="left" show-overflow-tooltip />
<el-table-column prop="marketName" label="所属地区" width="120" />
<el-table-column prop="market" label="所属地区" width="120" />
<el-table-column prop="goodsName" label="产品名称" width="120" />
<el-table-column prop="goodNum" label="产品数量" width="120" />
<el-table-column prop="refundType" label="退款方式" width="120">
@ -66,15 +67,15 @@
{{ scope.row.refundType === 1 ? '部分退款' : '全部退款' }}
</template>
</el-table-column>
<el-table-column prop="submitterName" label="提交人" width="120" />
<el-table-column prop="areaServise" label="提交人" width="120" />
<el-table-column prop="refundReason" label="退款理由" width="120" />
<el-table-column prop="remark" label="备注" width="150" show-overflow-tooltip />
<el-table-column prop="status" label="订单状态" width="120">
<template #default="scope">
{{
[30, 40].includes(scope.row.status) ? '审核中' :
scope.row.status === 32 ? '审核驳回' :
scope.row.status === 41 ? '退款完成' : scope.row.status
scope.row.status === 32 ? '审核驳回' :
scope.row.status === 41 ? '退款完成' : scope.row.status
}}
</template>
</el-table-column>
@ -145,7 +146,8 @@
</div>
<div class="center-item">
<el-text style="width:4vw;">转账凭证</el-text>
<img v-if="auditRow.voucher" :src="auditRow.voucher" style="width: 100%; height: 100%; object-fit: cover;">
<img v-if="auditRow.voucher" :src="auditRow.voucher"
style="width: 100%; height: 100%; object-fit: cover;">
<div v-else>
无转账凭证
</div>
@ -230,7 +232,7 @@
<el-step title="提交人">
<template #title>
<div>提交人<br>你是死的</div>
<div>提交人<br>{{ submitterName }}</div>
</template>
<template #icon>
<img v-if="currentStep === 1" src="@/assets/images/待审核.png" alt="步骤图标"
@ -240,7 +242,10 @@
</template>
</el-step>
<el-step title="地区财务">
<el-step>
<template #title>
<div>地区财务<br>{{ areaFinance }}</div>
</template>
<template #icon>
<img v-if="currentStep < 2" src="@/assets/images/还没传到.png" alt="步骤图标"
style="width: 30px; height: 30px;">
@ -251,7 +256,10 @@
</template>
</el-step>
<el-step title="地区负责人">
<el-step>
<template #title>
<div>地区负责人<br>{{ areaCharge }}</div>
</template>
<template #icon>
<img v-if="currentStep < 3" src="@/assets/images/还没传到.png" alt="步骤图标"
style="width: 30px; height: 30px;">
@ -262,7 +270,10 @@
</template>
</el-step>
<el-step title="总部财务">
<el-step>
<template #title>
<div>总部财务<br>{{ headFinance }}</div>
</template>
<template #icon>
<img v-if="currentStep < 4" src="@/assets/images/还没传到.png" alt="步骤图标"
style="width: 30px; height: 30px;">
@ -273,7 +284,10 @@
</template>
</el-step>
<el-step title="指定执行人">
<el-step>
<template #title>
<div>指定执行人<br>{{ executor }}</div>
</template>
<template #icon>
<img v-if="currentStep < 5" src="@/assets/images/还没传到.png" alt="步骤图标"
style="width: 30px; height: 30px;">
@ -323,6 +337,11 @@ const showAudit2 = ref(false)
const tableData = ref([])
const showSteps = ref(false)
const uploadRef = ref(null)
const submitterName = ref('')//
const areaFinance = ref('')//
const areaCharge = ref('')//
const headFinance = ref('')//
const executor = ref('')//
const currencies = ref([
{
value: '新币',
@ -501,10 +520,11 @@ const handlePass = async function () {
id: auditRow.value.id,
executor: addForm.value.executor,
status: 40,
adminId: adminData.value.id
headFinance: adminData.value.adminName,
auditId: auditRow.value.auditId
}
const result = await API({
url: '/Money/review',
url: '/Money/finalReview',
data: params
})
if (result.code === 200) {
@ -527,10 +547,11 @@ const handleReject = async function () {
id: auditRow.value.id,
status: 32,
rejectReason: addForm.value.remark,
adminId: adminData.value.id
headFinance: adminData.value.adminName,
auditId: auditRow.value.auditId
}
const result = await API({
url: '/Money/review',
url: '/Money/finalReview',
data: params
})
if (result.code === 200) {
@ -555,24 +576,168 @@ const reset = function () {
}
const showStep = function (row) {
if (!hasMenuPermission(menuTree.value, permissionMapping.refundHeaderProgShow)) {
ElMessage.error('无此权限')
return
}
if (row.areaService !== null || row.areaService !== '') {
currentStep.value = 1
}
if (row.areaFinance !== null || row.areaFinance !== '') {
currentStep.value = 2
}
if (row.areaCharge !== null || row.areaCharge !== '') {
currentStep.value = 3
ElMessage.error('无此权限');
return;
}
if (row.headFinance !== null || row.headFinance !== '') {
currentStep.value = 4
console.log("row", row)
currentStep.value = 1;
if (row.status === 41) {
executor.value = row.executorName
currentStep.value = 6;
} else {
if (row.areaServise !== null && row.areaServise !== '') {
submitterName.value = row.areaServise
console.log(submitterName.value)
currentStep.value = 2;
}
if (row.areaFinance !== null && row.areaFinance !== '') {
areaFinance.value = row.areaFinance
console.log(areaFinance.value)
currentStep.value = 3;
}
if (row.areaCharge !== null && row.areaCharge !== '') {
areaCharge.value = row.areaCharge
console.log(areaCharge.value)
currentStep.value = 4;
}
if (row.headFinance !== null && row.headFinance !== '') {
headFinance.value = row.headFinance
console.log(headFinance.value)
currentStep.value = 5;
}
}
console.log("看看顺序到哪了",currentStep.value)
showSteps.value = true
console.log("当前步骤:", currentStep.value);
showSteps.value = true;
}
const productList = [
{
"value": "金币产品",
"label": "金币产品",
"children": [
{
"value": "金币充值",
"label": "金币充值",
}
]
},
{
"value": "软件产品",
"label": "软件产品",
"children": [
{
"value": "美股",
"label": "美股",
"children": [
{
"value": "美股软件",
"label": "美股软件"
}
]
},
{
"value": "港股",
"label": "港股",
"children": [
{
"value": "港股软件",
"label": "港股软件"
}
]
},
{
"value": "A股",
"label": "A股",
"children": [
{
"value": "A股软件",
"label": "A股软件"
}
]
},
{
"value": "新加坡股",
"label": "新加坡股",
"children": [
{
"value": "新加坡股软件",
"label": "新加坡股软件"
}
]
},
{
"value": "马股",
"label": "马股",
"children": [
{
"value": "马股软件",
"label": "马股软件"
}
]
},
{
"value": "日本股",
"label": "日本股",
"children": [
{
"value": "日本股软件",
"label": "日本股软件"
}
]
},
{
"value": "泰股",
"label": "泰股",
"children": [
{
"value": "泰股软件",
"label": "泰股软件"
}
]
},
{
"value": "越南股",
"label": "越南股",
"children": [
{
"value": "越南股软件",
"label": "越南股软件"
}
]
},
{
"value": "印尼股",
"label": "印尼股",
"children": [
{
"value": "印尼股软件",
"label": "印尼股软件"
}
]
},
{
"value": "韩国股",
"label": "韩国股",
"children": [
{
"value": "韩国股软件",
"label": "韩国股软件"
}
]
},
{
"value": "台湾股",
"label": "台湾股",
"children": [
{
"value": "台湾股软件",
"label": "台湾股软件"
}
]
}
]
},
]
const showAudit = function (row) {
auditRow.value = row
showAudit2.value = true
@ -589,9 +754,11 @@ onMounted(() => {
:deep(.el-table__body td) {
background-color: #F3FAFE !important;
}
:deep(.el-table__header th) {
background-color: #F3FAFE !important;
}
.condition {
width: 82vw;
display: flex;

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

@ -17,7 +17,7 @@
</div>
<div class="item1">
<el-text size="large" style="width:4vw;">产品名称</el-text>
<el-input v-model="searchForm.goodsName" placeholder="请输入产品名称" style="width:9vw;" clearable />
<el-cascader v-model="searchForm.goodsName" :options="productList" style="width: 10vw;" />
</div>
<div class="item1">
<el-text size="large" style="width:4vw;" multiple>订单状态</el-text>
@ -58,7 +58,7 @@
<el-table-column type="index" label="序号" width="60" 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="marketName" label="所属地区" width="120" />
<el-table-column prop="market" label="所属地区" width="120" />
<el-table-column prop="activity" label="活动名称" width="120px" show-overflow-tooltip />
<el-table-column prop="goodsName" label="产品名称" width="120" />
<el-table-column prop="goodNum" label="产品数量" width="120" />
@ -526,6 +526,135 @@ const channelOptions = ref([{
label: 'Ipay88-Link平台'
}
])
const productList = [
{
"value": "金币产品",
"label": "金币产品",
"children": [
{
"value": "金币充值",
"label": "金币充值",
}
]
},
{
"value": "软件产品",
"label": "软件产品",
"children": [
{
"value": "美股",
"label": "美股",
"children": [
{
"value": "美股软件",
"label": "美股软件"
}
]
},
{
"value": "港股",
"label": "港股",
"children": [
{
"value": "港股软件",
"label": "港股软件"
}
]
},
{
"value": "A股",
"label": "A股",
"children": [
{
"value": "A股软件",
"label": "A股软件"
}
]
},
{
"value": "新加坡股",
"label": "新加坡股",
"children": [
{
"value": "新加坡股软件",
"label": "新加坡股软件"
}
]
},
{
"value": "马股",
"label": "马股",
"children": [
{
"value": "马股软件",
"label": "马股软件"
}
]
},
{
"value": "日本股",
"label": "日本股",
"children": [
{
"value": "日本股软件",
"label": "日本股软件"
}
]
},
{
"value": "泰股",
"label": "泰股",
"children": [
{
"value": "泰股软件",
"label": "泰股软件"
}
]
},
{
"value": "越南股",
"label": "越南股",
"children": [
{
"value": "越南股软件",
"label": "越南股软件"
}
]
},
{
"value": "印尼股",
"label": "印尼股",
"children": [
{
"value": "印尼股软件",
"label": "印尼股软件"
}
]
},
{
"value": "韩国股",
"label": "韩国股",
"children": [
{
"value": "韩国股软件",
"label": "韩国股软件"
}
]
},
{
"value": "台湾股",
"label": "台湾股",
"children": [
{
"value": "台湾股软件",
"label": "台湾股软件"
}
]
}
]
},
]
const reset = function () {
searchForm.value = {
jwcode: ''

Loading…
Cancel
Save