1、订单和用户相关模块开发联调

This commit is contained in:
cuiyouliang 2025-06-23 17:07:24 +08:00
parent f40a0310c7
commit 2bf1d34559
7 changed files with 163 additions and 133 deletions

View File

@ -220,7 +220,7 @@ export const dynamicRoutes: RouteRecordRaw[] = [
path: '/aftersale', path: '/aftersale',
component: Layout, component: Layout,
hidden: true, hidden: true,
// permissions: ['oms:aftersale:query'], permissions: ['oms:aftersale:query'],
children: [ children: [
{ {
path: 'detail', path: 'detail',

View File

@ -131,7 +131,6 @@ import { getConfigKey2 } from '@/api/system/config';
export default { export default {
name: 'OmsAftersaleDetail', name: 'OmsAftersaleDetail',
dicts: ['oms_order_status', 'oms_pay_type', 'oms_aftersale_type', 'oms_aftersale_status'],
data() { data() {
return { return {
products: [], products: [],
@ -143,34 +142,46 @@ export default {
experssList: [], experssList: [],
open: false, open: false,
refundInfoDetail: {}, refundInfoDetail: {},
aliLogisticsInfoList: [] aliLogisticsInfoList: [],
orderSaleStatusMap: [],
orderTypeMap: [],
orderAfterSaleMap: [],
orderAftersaleMap: []
}; };
}, },
created() { async created() {
this.getExpressData(); this.getExpressData();
const { id } = this.$route.query; const { id } = this.$route.query;
this.queryDetail(id).then((expressNo) => { this.queryDetail(id).then((expressNo) => {
// this.getLogistic(expressNo) // this.getLogistic(expressNo)
}); });
const orderSaleStatusMap = await this.getDictionaryByKey('oms_order_status');
const orderTypeMap = await this.getDictionaryByKey('oms_order_type');
const orderAfterSaleMap = await this.getDictionaryByKey('oms_aftersale_type');
const orderAftersaleMap = await this.getDictionaryByKey('oms_aftersale_status');
this.orderSaleStatusMap = orderSaleStatusMap;
this.orderTypeMap = orderTypeMap;
this.orderAfterSaleMap = orderAfterSaleMap;
this.orderAftersaleMap = orderAftersaleMap;
}, },
computed: { computed: {
orderStatusMap() { orderStatusMap() {
const obj = this.dict.type.oms_order_status.map((item) => [item.value, item.label]); const obj = this.orderSaleStatusMap.map((item) => [item.value, item.label]);
const map = new Map(obj); const map = new Map(obj);
return map; return map;
}, },
payTypeMap() { payTypeMap() {
const obj = this.dict.type.oms_pay_type.map((item) => [item.value, item.label]); const obj = this.orderTypeMap.map((item) => [item.value, item.label]);
const map = new Map(obj); const map = new Map(obj);
return map; return map;
}, },
aftersaleTypeMap() { aftersaleTypeMap() {
const obj = this.dict.type.oms_aftersale_type.map((item) => [item.value, item.label]); const obj = this.orderAfterSaleMap.map((item) => [item.value, item.label]);
const map = new Map(obj); const map = new Map(obj);
return map; return map;
}, },
aftersaleStatusMap() { aftersaleStatusMap() {
const obj = this.dict.type.oms_aftersale_status.map((item) => [item.value, item.label]); const obj = this.orderAftersaleMap.map((item) => [item.value, item.label]);
const map = new Map(obj); const map = new Map(obj);
return map; return map;
}, },

View File

@ -79,7 +79,7 @@
{{ scope.row.orderSn }} {{ scope.row.orderSn }}
<el-link @click="copy(scope.row.orderSn)" :underline="false"><i class="el-icon-document-copy el-icon--right"></i></el-link> <el-link @click="copy(scope.row.orderSn)" :underline="false"><i class="el-icon-document-copy el-icon--right"></i></el-link>
</div> </div>
<el-button size="small" text type="primary" @click="handleDetail(scope.row.orderId)" v-hasPermi="['oms:aftersale:query']" <el-button size="small" text type="primary" @click="handleDetail(scope.row.id)" v-hasPermi="['oms:aftersale:query']"
>详情 >详情
</el-button> </el-button>
<el-button size="small" text type="primary" @click="showLog(scope.row.orderId)" v-hasPermi="['oms:aftersale:log']">日志 </el-button> <el-button size="small" text type="primary" @click="showLog(scope.row.orderId)" v-hasPermi="['oms:aftersale:log']">日志 </el-button>

View File

@ -115,15 +115,18 @@
</template> </template>
</el-table-column>--> </el-table-column>-->
<el-table-column label="核销码" width="130"> <el-table-column label="核销码" width="130">
<el-image src="" style="width: 100px; height: 100px" /> <template v-slot="scope">
{{ scope.row.code }}
<!-- <el-image :src="scope.row.code" style="width: 100px; height: 100px" />-->
</template>
</el-table-column> </el-table-column>
<el-table-column label="商品规格" prop="productList" width="280"> <el-table-column label="商品规格" prop="productList" width="280">
<template v-slot="scope"> <template v-slot="scope">
<div v-for="item in scope.row.productList" class="product-container"> <div v-for="item in scope.row.productList" class="product-container">
<el-popover placement="right" trigger="hover"> <el-popover placement="right" trigger="hover">
<el-image :src="item.pic" style="width: 350px; height: 350px" /> <el-image v-if="item.pic" :src="item.pic" style="width: 350px; height: 350px" />
<template v-slot:reference> <template v-slot:reference>
<el-image class="small-img product-item" :src="item.pic" style="width: 40px; height: 40px" /> <el-image v-if="item.pic" class="small-img product-item" :src="item.pic" style="width: 40px; height: 40px" />
</template> </template>
</el-popover> </el-popover>
<div class="product-item" style="margin-left: 5px"> <div class="product-item" style="margin-left: 5px">
@ -282,8 +285,8 @@
<el-card> <el-card>
<h4>{{ getLogEvent(item.status) }}</h4> <h4>{{ getLogEvent(item.status) }}</h4>
<br /> <br />
<h4>操作人{{ item.operName }}</h4> <h4>操作人{{ item.operateMan }}</h4>
<h4>操作时间{{ item.operTime }}</h4> <h4>操作时间{{ item.createTime || item.updateTime }}</h4>
<br v-if="item.note" /> <br v-if="item.note" />
<h4 v-if="item.note">备注{{ item.note }}</h4> <h4 v-if="item.note">备注{{ item.note }}</h4>
</el-card> </el-card>
@ -334,7 +337,6 @@ import { useUserStore } from '@/store/modules/user';
export default { export default {
name: 'OmsOrder', name: 'OmsOrder',
dicts: ['oms_order_status', 'oms_pay_type'],
components: { components: {
AddressSelector AddressSelector
}, },
@ -652,13 +654,20 @@ export default {
oInput.remove(); oInput.remove();
}, },
handleDelivery(row) { handleDelivery(row) {
this.deliveryObj.form.codeValue = row.id; this.deliveryObj.form.codeValue = row.code;
this.deliveryObj.open = true; this.deliveryObj.open = true;
}, },
submitDelivery() { submitDelivery() {
if (!this.deliveryObj.form.codeValue) {
return this.$modal.msgError('当前订单无核销码!');
}
this.$refs['deliveryForm'].validate((valid) => { this.$refs['deliveryForm'].validate((valid) => {
if (valid) { if (valid) {
deliverProduct(this.deliveryObj.form).then((resp) => { const params = {
codeValue: this.deliveryObj.form.codeValue,
usedMerchantId: this.deliveryObj.form.usedMerchantId
};
deliverProduct(params).then((resp) => {
this.$modal.msgSuccess('核销成功'); this.$modal.msgSuccess('核销成功');
this.cancelDelivery(); this.cancelDelivery();
this.getList(); this.getList();

View File

@ -57,8 +57,12 @@
<el-table-column label="租户编号" align="center" prop="tenantId" /> <el-table-column label="租户编号" align="center" prop="tenantId" />
<el-table-column label="联系人" align="center" prop="contactUserName" /> <el-table-column label="联系人" align="center" prop="contactUserName" />
<el-table-column label="联系电话" align="center" prop="contactPhone" /> <el-table-column label="联系电话" align="center" prop="contactPhone" />
<el-table-column label="身份证号" align="center" prop="idCard" />
<el-table-column label="银行卡号" align="center" prop="bankCard" />
<el-table-column label="企业名称" align="center" prop="companyName" /> <el-table-column label="企业名称" align="center" prop="companyName" />
<el-table-column label="社会信用代码" align="center" prop="licenseNumber" /> <el-table-column label="社会信用代码" align="center" prop="licenseNumber" />
<el-table-column label="营业执照" align="center" prop="businessLicense" />
<el-table-column label="邀请人" align="center" prop="businessLicense" />
<el-table-column label="过期时间" align="center" prop="expireTime" width="180"> <el-table-column label="过期时间" align="center" prop="expireTime" width="180">
<template #default="scope"> <template #default="scope">
<span>{{ proxy.parseTime(scope.row.expireTime, '{y}-{m}-{d}') }}</span> <span>{{ proxy.parseTime(scope.row.expireTime, '{y}-{m}-{d}') }}</span>

View File

@ -121,7 +121,7 @@
<el-button size="small" text type="primary" @click="showBlackListInfoModal(scope.row)">黑名单 </el-button> <el-button size="small" text type="primary" @click="showBlackListInfoModal(scope.row)">黑名单 </el-button>
<el-button size="small" text type="primary" @click="handleUserDelete(scope.row)">删除 </el-button> <el-button size="small" text type="primary" @click="handleUserDelete(scope.row)">删除 </el-button>
<el-button size="small" text type="primary" @click="goWithdrawInfoPage(scope.row)">提现记录 </el-button> <el-button size="small" text type="primary" @click="goWithdrawInfoPage(scope.row)">提现记录 </el-button>
<el-button size="small" text type="primary" @click="showWithdrawInfoModal(scope.row, true)">充值记录 </el-button> <el-button size="small" text type="primary" @click="showChargeInfoModal(scope.row, true)">充值记录 </el-button>
<!-- <el-button size="small" text type="primary" @click="showStatistics(scope.row.id)" v-hasPermi="['ums:member:statistics']">查看数据 </el-button> <!-- <el-button size="small" text type="primary" @click="showStatistics(scope.row.id)" v-hasPermi="['ums:member:statistics']">查看数据 </el-button>
<el-button size="small" text type="primary" @click="goOrder(scope.row.phoneEncrypted)">查看下单</el-button> <el-button size="small" text type="primary" @click="goOrder(scope.row.phoneEncrypted)">查看下单</el-button>
<el-button size="small" text type="primary" @click="goCart(scope.row.phoneEncrypted)">查看购物车</el-button>--> <el-button size="small" text type="primary" @click="goCart(scope.row.phoneEncrypted)">查看购物车</el-button>-->
@ -214,34 +214,34 @@
/> />
</el-dialog> </el-dialog>
<!--会员提现记录--> <!--会员充值记录-->
<el-dialog title="会员提现记录" v-model="userWithdrawInfoModalVisible" width="1200px" append-to-body> <el-dialog title="会员充值记录" v-model="userChargeInfoModalVisible" width="1200px" append-to-body>
<el-table v-loading="userWithdrawInfoTableLoading" :data="userWithdrawInfo.data" border empty-text="暂无数据"> <el-table v-loading="userChargeInfoTableLoading" :data="userChargedrawInfo.data" border empty-text="暂无数据">
<el-table-column label="申请人" prop="createBy" /> <el-table-column label="充值人" prop="createBy" />
<el-table-column label="申请时间" prop="createTime" /> <el-table-column label="充值时间" prop="createTime" />
<el-table-column label="提现码" prop="code" /> <!-- <el-table-column label="提现码" prop="code" />-->
<el-table-column label="提现金额" prop="money"> <el-table-column label="充值金额" prop="money">
<template v-slot="scope"> {{ scope.row.money || '0.00' }} </template> <template v-slot="scope"> {{ scope.row.money || '0.00' }} </template>
</el-table-column> </el-table-column>
<el-table-column label="手续费" prop="fee"> <el-table-column label="手续费" prop="fee">
<template v-slot="scope"> {{ scope.row.fee || '0.00' }} </template> <template v-slot="scope"> {{ scope.row.fee || '0.00' }} </template>
</el-table-column> </el-table-column>
<el-table-column label="实际到账金额" prop="actualMoney"> <el-table-column label="实际充值金额" prop="actualMoney">
<template v-slot="scope"> {{ scope.row.actualMoney || '0.00' }} </template> <template v-slot="scope"> {{ scope.row.actualMoney || '0.00' }} </template>
</el-table-column> </el-table-column>
<el-table-column label="提现方式" prop="method"> <!-- <el-table-column label="充值方式" prop="method">
<template v-slot="scope"> <template v-slot="scope">
{{ getEmulistLabelById(scope.row.method, userWithdrawMethodMap) }} {{ getEmulistLabelById(scope.row.method, userWithdrawMethodMap) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="提现类型" prop="type"> <el-table-column label="充值类型" prop="type">
<template v-slot="scope"> <template v-slot="scope">
{{ getEmulistLabelById(scope.row.type, userWithdrawTypeMap) }} {{ getEmulistLabelById(scope.row.type, userWithdrawTypeMap) }}
</template> </template>
</el-table-column> </el-table-column>-->
<el-table-column label="提现状态" prop="status"> <!-- <el-table-column label="提现状态" prop="status">
<template v-slot="scope"> <template v-slot="scope">
{{ getEmulistLabelById(scope.row.status, userWithdrawStatusMap) }} {{ getEmulistLabelById(scope.row.status, userWithdrawStatusMap) }}
</template> </template>
@ -250,21 +250,18 @@
<template v-slot="scope"> <template v-slot="scope">
{{ getEmulistLabelById(scope.row.auditStatus, userWithdrawAuditMap) }} {{ getEmulistLabelById(scope.row.auditStatus, userWithdrawAuditMap) }}
</template> </template>
</el-table-column> </el-table-column>-->
<el-table-column label="审核人" prop="auditBy" width="100" /> <!-- <el-table-column label="审核人" prop="auditBy" width="100" />
<el-table-column label="审核时间" prop="auditTime" width="100" /> <el-table-column label="审核时间" prop="auditTime" width="100" />-->
<el-table-column label="操作" class-name="small-padding fixed-width" fixed="right" width="80">
<el-button size="small" text type="primary">审批</el-button>
</el-table-column>
</el-table> </el-table>
<pagination <pagination
v-if="userWithdrawInfo.total" v-if="userChargedrawInfo.total"
:total="userWithdrawInfo.total" :total="userChargedrawInfo.total"
v-model:page="withdrawDataParams.current" v-model:page="chargeDataParams.current"
v-model:limit="withdrawDataParams.size" v-model:limit="chargeDataParams.size"
@pagination=" @pagination="
() => { () => {
showWithdrawInfoModal(userWithdrawInfo.record); showChargeInfoModal(userChargedrawInfo.record);
} }
" "
/> />
@ -724,6 +721,7 @@ export default {
}; };
}, },
async created() { async created() {
console.log('11111111111111111111111111111111111111');
this.show = true; this.show = true;
this.getList(); this.getList();
const userSexMap = await this.getDictionaryByKey('sys_user_sex'); const userSexMap = await this.getDictionaryByKey('sys_user_sex');
@ -988,36 +986,36 @@ export default {
const id = row.id; const id = row.id;
this.$router.push({ path: '/member/withdraw', query: { id } }); this.$router.push({ path: '/member/withdraw', query: { id } });
}, },
// //
showWithdrawInfoModal(record, isFirst) { showChargeInfoModal(record, isFirst) {
const { id } = this.userWithdrawInfo.record || {}; const { id } = this.userChargedrawInfo.record || {};
const reqParams = { const reqParams = {
...this.withdrawDataParams, ...this.chargeDataParams,
memberId: record.id ? record.id : id memberId: record.id ? record.id : id
}; };
this.userWithdrawInfoTableLoading = true; this.userChargeInfoTableLoading = true;
if (isFirst) { /* if (isFirst) {
// //
this.getWithdrawEmu(); this.getWithdrawEmu();
} }*/
getUserWithdrawList(reqParams) getUserChargeList(reqParams)
.then((response) => { .then((response) => {
const { records = [], total = 0 } = response.data || {}; const { records = [], total = 0 } = response.data || {};
if (isFirst) { if (isFirst) {
this.userWithdrawInfoModalVisible = true; this.userChargeInfoModalVisible = true;
} }
this.userWithdrawInfo = { this.userChargedrawInfo = {
total: total, total: total,
data: records || [], data: records || [],
record: record record: record
}; };
this.userWithdrawInfoTableLoading = false; this.userChargeInfoTableLoading = false;
}) })
.catch(() => { .catch(() => {
this.userWithdrawInfoTableLoading = false; this.userChargeInfoTableLoading = false;
}); });
}, },
async getWithdrawEmu() { /* async getWithdrawEmu() {
const userWithdrawMethodMap = await this.getDictionaryByKey('ums_withdraw_method'); const userWithdrawMethodMap = await this.getDictionaryByKey('ums_withdraw_method');
const userWithdrawTypeMap = await this.getDictionaryByKey('ums_withdraw_type'); const userWithdrawTypeMap = await this.getDictionaryByKey('ums_withdraw_type');
const userWithdrawStatusMap = await this.getDictionaryByKey('ums_withdraw_status'); const userWithdrawStatusMap = await this.getDictionaryByKey('ums_withdraw_status');
@ -1027,7 +1025,7 @@ export default {
this.userWithdrawTypeMap = userWithdrawTypeMap; this.userWithdrawTypeMap = userWithdrawTypeMap;
this.userWithdrawStatusMap = userWithdrawStatusMap; this.userWithdrawStatusMap = userWithdrawStatusMap;
this.userWithdrawAuditMap = userWithdrawAuditMap; this.userWithdrawAuditMap = userWithdrawAuditMap;
}, },*/
// //
showUserBannedInfoModal(record, isFirst) { showUserBannedInfoModal(record, isFirst) {
const { id } = this.userBannedInfo.record || {}; const { id } = this.userBannedInfo.record || {};

View File

@ -1,84 +1,91 @@
<template> <template>
<el-card> <div>
<el-table v-loading="userWithdrawInfoTableLoading" :data="userWithdrawInfo.data" border empty-text="暂无数据"> <el-card>
<el-table-column label="申请人" prop="createBy" /> <el-table v-loading="userWithdrawInfoTableLoading" :data="userWithdrawInfo.data" border empty-text="暂无数据">
<el-table-column label="申请时间" prop="createTime" /> <el-table-column label="申请人" prop="createBy" />
<el-table-column label="提现码" prop="code" /> <el-table-column label="申请时间" prop="createTime" />
<el-table-column label="提现金额" prop="money"> <el-table-column label="提现码" prop="code" />
<template v-slot="scope"> {{ scope.row.money || '0.00' }} </template> <el-table-column label="提现金额" prop="money">
</el-table-column> <template v-slot="scope"> {{ scope.row.money || '0.00' }} </template>
<el-table-column label="手续费" prop="fee"> </el-table-column>
<template v-slot="scope"> {{ scope.row.fee || '0.00' }} </template> <el-table-column label="手续费" prop="fee">
</el-table-column> <template v-slot="scope"> {{ scope.row.fee || '0.00' }} </template>
</el-table-column>
<el-table-column label="实际到账金额" prop="actualMoney"> <el-table-column label="实际到账金额" prop="actualMoney">
<template v-slot="scope"> {{ scope.row.actualMoney || '0.00' }} </template> <template v-slot="scope"> {{ scope.row.actualMoney || '0.00' }} </template>
</el-table-column> </el-table-column>
<el-table-column label="提现方式" prop="method"> <el-table-column label="提现方式" prop="method">
<template v-slot="scope"> <template v-slot="scope">
{{ getEmulistLabelById(scope.row.method, userWithdrawMethodMap) }} {{ getEmulistLabelById(scope.row.method, userWithdrawMethodMap) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="提现类型" prop="type"> <el-table-column label="提现类型" prop="type">
<template v-slot="scope"> <template v-slot="scope">
{{ getEmulistLabelById(scope.row.type, userWithdrawTypeMap) }} {{ getEmulistLabelById(scope.row.type, userWithdrawTypeMap) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="提现状态" prop="status"> <el-table-column label="提现状态" prop="status">
<template v-slot="scope"> <template v-slot="scope">
{{ getEmulistLabelById(scope.row.status, userWithdrawStatusMap) }} {{ getEmulistLabelById(scope.row.status, userWithdrawStatusMap) }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审批状态" prop="auditStatus"> <el-table-column label="审批状态" prop="auditStatus">
<template v-slot="scope"> <template v-slot="scope">
{{ getEmulistLabelById(scope.row.auditStatus, userWithdrawAuditMap) }} {{ getEmulistLabelById(scope.row.auditStatus, userWithdrawAuditMap) }}
</template> <el-tooltip v-if="scope.row.auditStatus == '2'" :content="scope.row.auditStatus == '2' ? scope.row.auditReason : null" placement="top">
</el-table-column> <el-icon>
<el-table-column label="审核人" prop="auditBy" width="100" /> <question-filled />
<el-table-column label="审核时间" prop="auditTime" width="100" /> </el-icon>
<el-table-column label="操作" fixed="right" width="80"> </el-tooltip>
<template v-slot="scope"> </template>
<el-button v-if="scope.row.auditStatus == '0'" size="small" text type="primary" @click="showAuditModal(scope.row)">审批</el-button> </el-table-column>
</template> <el-table-column label="审核人" prop="auditBy" width="100" />
</el-table-column> <el-table-column label="审核时间" prop="auditTime" width="100" />
</el-table> <el-table-column label="操作" fixed="right" width="80">
<pagination <template v-slot="scope">
v-if="userWithdrawInfo.total" <el-button v-if="scope.row.auditStatus == '0'" size="small" text type="primary" @click="showAuditModal(scope.row)">审批</el-button>
:total="userWithdrawInfo.total" </template>
v-model:page="withdrawDataParams.current" </el-table-column>
v-model:limit="withdrawDataParams.size" </el-table>
@pagination=" <pagination
() => { v-if="userWithdrawInfo.total"
showWithdrawInfoList(userWithdrawInfo.record); :total="userWithdrawInfo.total"
} v-model:page="withdrawDataParams.current"
" v-model:limit="withdrawDataParams.size"
/> @pagination="
</el-card> () => {
<!-- 提现审核--> showWithdrawInfoList(userWithdrawInfo.record);
<el-dialog title="提现审核" v-model="auditFormOpen" width="500px" append-to-body> }
<el-row> "
<el-col :span="4">审核结果</el-col> />
<el-col :span="20"> </el-card>
<el-select v-model="auditStatus" size="small"> <!-- 提现审核-->
<el-option v-show="item.value != '0'" v-for="item in userWithdrawAuditMap" :value="item.value" :label="item.label" /> <el-dialog title="提现审核" v-model="auditFormOpen" width="500px" append-to-body>
</el-select> <el-row>
</el-col> <el-col :span="4">审核结果</el-col>
</el-row> <el-col :span="20">
<el-row v-if="auditStatus == '2'" class="mt2"> <el-select v-model="auditStatus" size="small">
<el-col :span="4">拒绝原因</el-col> <el-option v-show="item.value != '0'" v-for="item in userWithdrawAuditMap" :value="item.value" :label="item.label" />
<el-col :span="20"> </el-select>
<el-input v-model="auditReason" type="textarea" :rows="3"></el-input> </el-col>
</el-col> </el-row>
</el-row> <el-row v-if="auditStatus == '2'" class="mt2">
<el-row class="mt6"> <el-col :span="4">拒绝原因</el-col>
<el-col :span="12"></el-col> <el-col :span="20">
<el-col :span="12"> <el-input v-model="auditReason" type="textarea" :rows="3"></el-input>
<el-button type="default" size="small" @click="resetAuditForm">取消</el-button> </el-col>
<el-button type="primary" size="small" @click="confirmSubmitAudit">确认</el-button> </el-row>
</el-col> <el-row class="mt6">
</el-row> <el-col :span="12"></el-col>
</el-dialog> <el-col :span="12">
<el-button type="default" size="small" @click="resetAuditForm">取消</el-button>
<el-button type="primary" size="small" @click="confirmSubmitAudit">确认</el-button>
</el-col>
</el-row>
</el-dialog>
</div>
</template> </template>
<script> <script>
@ -147,6 +154,7 @@ export default {
.then(() => { .then(() => {
this.$modal.msgSuccess('审核成功'); this.$modal.msgSuccess('审核成功');
this.pageInit(); this.pageInit();
this.resetAuditForm();
}) })
.catch(() => { .catch(() => {
this.$modal.msgError('审核失败'); this.$modal.msgError('审核失败');