fix: resolve admin acceptance defects

This commit is contained in:
richjohnrambo
2026-10-16 10:14:41 +08:00
parent c6ec45cccf
commit 2b3d855bcc
39 changed files with 1079 additions and 204 deletions
+38 -32
View File
@@ -175,23 +175,32 @@
<n-spin :show="relatedLoading">
<n-form label-placement="left" label-width="110">
<template v-if="relatedType === 'payment'">
<n-alert v-if="paymentForm.id" type="info" :show-icon="false">
当前默认显示脱敏资料;留空保存不会覆盖原敏感字段或收款码。
<n-button
v-if="hasPermission(['/appMember/sensitive'])"
text
type="primary"
@click="openSensitive('payment', paymentForm.id)"
>授权查看明文</n-button>
</n-alert>
<n-form-item label="开户人"
><n-input v-model:value="paymentForm.holder" placeholder="请输入开户人"
><n-input v-model:value="paymentForm.holder" :placeholder="paymentForm.holderMask || '留空不修改'"
/></n-form-item>
<n-form-item label="身份证号"
><n-input v-model:value="paymentForm.identityNo" :placeholder="paymentForm.identityNoMask || '留空不修改'"
/></n-form-item>
<n-form-item label="开户银行"
><n-input v-model:value="paymentForm.bankName" placeholder="请输入开户银行"
/></n-form-item>
<n-form-item label="开户电话"
><n-input v-model:value="paymentForm.mobile" placeholder="请输入开户电话"
><n-input v-model:value="paymentForm.mobile" :placeholder="paymentForm.mobileMask || '留空不修改'"
/></n-form-item>
<n-form-item label="银行卡号"
><n-input v-model:value="paymentForm.bankAccount" placeholder="请输入银行卡号"
><n-input v-model:value="paymentForm.bankAccount" :placeholder="paymentForm.accountNoMask || '留空不修改'"
/></n-form-item>
<n-form-item label="数字钱包"
><n-input v-model:value="paymentForm.digitalWallet" placeholder="请输入数字钱包"
/></n-form-item>
<n-form-item label="云闪付账号"
><n-input v-model:value="paymentForm.unionPayAccount" placeholder="请输入云闪付账号"
><n-input v-model:value="paymentForm.digitalWallet" :placeholder="paymentForm.digitalRmbCodeMask || '留空不修改'"
/></n-form-item>
<n-form-item label="收款码">
<n-grid :cols="2" :x-gap="16">
@@ -743,14 +752,20 @@
memberId,
id: bank?.id || 0,
holder: '',
holderMask: bank?.holderMask || '',
identityNo: '',
identityNoMask: bank?.identityNoMask || '',
bankName: bank?.bankName || '',
mobile: '',
mobileMask: bank?.mobileMask || '',
bankAccount: '',
accountNoMask: bank?.accountNoMask || '',
digitalWallet: '',
unionPayAccount: '',
alipayQrCode: '',
wechatQrCode: '',
records: { 1: bank, 2: byType(2), 3: byType(3), 4: byType(4), 5: byType(5) },
digitalRmbCodeMask: bank?.digitalRmbCodeMask || '',
alipayQrCode: bank?.alipayQrUrl || '',
wechatQrCode: bank?.wechatQrUrl || '',
alipayQrAttachmentId: bank?.alipayQrAttachmentId || 0,
wechatQrAttachmentId: bank?.wechatQrAttachmentId || 0,
});
} else {
const row = relatedRows.value.find((item) => item.isDefault === 1) || relatedRows.value[0];
@@ -811,32 +826,23 @@
relatedSaving.value = true;
try {
if (relatedType.value === 'payment') {
const common = {
await PaymentEdit({
id: paymentForm.id,
memberId: paymentForm.memberId,
accountType: 1,
bankName: paymentForm.bankName,
holder: paymentForm.holder,
identityNo: paymentForm.identityNo,
mobile: paymentForm.mobile,
accountNo: paymentForm.bankAccount,
digitalRmbCode: paymentForm.digitalWallet,
alipayQrUrl: paymentForm.alipayQrCode,
wechatQrUrl: paymentForm.wechatQrCode,
alipayQrAttachmentId: paymentForm.alipayQrAttachmentId,
wechatQrAttachmentId: paymentForm.wechatQrAttachmentId,
verifyStatus: 1,
isDefault: 1,
};
const accounts = [
{ type: 1, value: paymentForm.bankAccount, bankName: paymentForm.bankName },
{ type: 2, value: paymentForm.digitalWallet, bankName: '' },
{ type: 3, value: paymentForm.unionPayAccount, bankName: '' },
{ type: 4, value: paymentForm.alipayQrCode, bankName: '' },
{ type: 5, value: paymentForm.wechatQrCode, bankName: '' },
];
for (const account of accounts) {
const old = paymentForm.records?.[account.type];
if (account.value || old?.id)
await PaymentEdit({
...common,
id: old?.id || 0,
accountType: account.type,
accountNo: account.value,
bankName: account.bankName,
isDefault: account.type === 1 ? 1 : 2,
});
}
});
} else {
const regionChanged = addressForm.region !== addressForm.originalRegion;
await AddressEdit({
+27 -2
View File
@@ -76,7 +76,7 @@
import { usePermission } from '@/hooks/web/usePermission';
import { useDictStore } from '@/store/modules/dict';
import { adaTableScrollX } from '@/utils/hotgo';
import { Delete, Edit, List, View } from '@/api/taskHall';
import { Delete, Edit, List, Status, View } from '@/api/taskHall';
import { columns, loadOptions } from './model';
const message = useMessage();
@@ -100,7 +100,7 @@
};
const actionColumn = reactive({
width: 180,
width: 260,
title: '操作',
key: 'action',
fixed: 'right',
@@ -114,6 +114,12 @@
auth: ['/taskHall/view'],
onClick: () => openEdit(row),
},
{
label: row.publishStatus === 3 ? '下线' : '发布',
type: row.publishStatus === 3 ? 'warning' : 'success',
auth: ['/taskHall/status'],
onClick: () => changeStatus(row),
},
{
label: '删除',
type: 'error',
@@ -237,6 +243,25 @@
});
}
function changeStatus(row) {
const publish = row.publishStatus !== 3;
dialog.warning({
title: publish ? '发布任务大厅' : '下线任务大厅',
content: `确定${publish ? '发布' : '下线'}“${row.name}”吗?`,
positiveText: '确定',
negativeText: '取消',
onPositiveClick: async () => {
await Status({
id: row.id,
version: row.version,
publishStatus: publish ? 3 : 4,
});
message.success(`${publish ? '发布' : '下线'}成功`);
reload();
},
});
}
onMounted(loadOptions);
</script>
+14 -1
View File
@@ -1,3 +1,5 @@
import { h } from 'vue';
import { NTag } from 'naive-ui';
import { renderImage } from '@/utils';
import { useDictStore } from '@/store/modules/dict';
@@ -14,7 +16,18 @@ export const columns = [
render: (row) => `${((row.commissionRate || 0) / 100).toFixed(2)}%`,
},
{ title: '简介', key: 'summary', width: 260, ellipsis: { tooltip: true } },
{
title: '状态',
key: 'publishStatus',
width: 100,
render: (row) =>
h(
NTag,
{ type: dict.getType('bizPublishStatus', row.publishStatus), bordered: false },
{ default: () => dict.getLabel('bizPublishStatus', row.publishStatus) || '-' }
),
},
{ title: '创建时间', key: 'createdAt', width: 180 },
];
export const loadOptions = () => dict.loadOptions(['memberLevelOption']);
export const loadOptions = () => dict.loadOptions(['memberLevelOption', 'bizPublishStatus']);
@@ -62,6 +62,11 @@
</template>
</n-result>
</n-spin>
<template #action>
<n-space justify="end">
<n-button :disabled="importing" @click="showImport = false">取消</n-button>
</n-space>
</template>
</n-modal>
<n-modal v-model:show="showDetail" preset="card" title="地址详情" class="detail-modal">