fix(web-antdv-next): sync remaining upstream fixes
parent
f6a8c6e652
commit
03f167b7d0
|
|
@ -13,6 +13,7 @@ export namespace MemberUserApi {
|
||||||
loginIp: string;
|
loginIp: string;
|
||||||
mark: string;
|
mark: string;
|
||||||
mobile: string;
|
mobile: string;
|
||||||
|
email?: string;
|
||||||
name?: string;
|
name?: string;
|
||||||
nickname?: string;
|
nickname?: string;
|
||||||
registerIp: string;
|
registerIp: string;
|
||||||
|
|
|
||||||
|
|
@ -105,9 +105,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
|
||||||
|
|
||||||
/** 解绑账号 */
|
/** 解绑账号 */
|
||||||
function onUnbind(row: SystemSocialUserApi.SocialUser) {
|
function onUnbind(row: SystemSocialUserApi.SocialUser) {
|
||||||
confirm({
|
confirm(`确定解绑[${getDictLabel(DICT_TYPE.SYSTEM_SOCIAL_TYPE, row.type)}]平台的[${row.openid}]账号吗?`).then(async () => {
|
||||||
content: `确定解绑[${getDictLabel(DICT_TYPE.SYSTEM_SOCIAL_TYPE, row.type)}]平台的[${row.openid}]账号吗?`,
|
|
||||||
}).then(async () => {
|
|
||||||
await socialUnbind({ type: row.type, openid: row.openid });
|
await socialUnbind({ type: row.type, openid: row.openid });
|
||||||
// 提示成功
|
// 提示成功
|
||||||
message.success($t('ui.actionMessage.operationSuccess'));
|
message.success($t('ui.actionMessage.operationSuccess'));
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'systemMessage',
|
fieldName: 'systemMessage',
|
||||||
label: '角色设定',
|
label: '角色设定',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
rows: 4,
|
rows: 4,
|
||||||
placeholder: '请输入角色设定',
|
placeholder: '请输入角色设定',
|
||||||
|
|
@ -41,6 +41,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '温度参数',
|
label: '温度参数',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入温度参数',
|
placeholder: '请输入温度参数',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
min: 0,
|
min: 0,
|
||||||
|
|
@ -53,6 +54,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '回复数 Token 数',
|
label: '回复数 Token 数',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入回复数 Token 数',
|
placeholder: '请输入回复数 Token 数',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 8192,
|
max: 8192,
|
||||||
|
|
@ -64,6 +66,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '上下文数量',
|
label: '上下文数量',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入上下文数量',
|
placeholder: '请输入上下文数量',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 20,
|
max: 20,
|
||||||
|
|
|
||||||
|
|
@ -39,9 +39,7 @@ async function handleUpdatePublicStatusChange(
|
||||||
): Promise<boolean | undefined> {
|
): Promise<boolean | undefined> {
|
||||||
const text = newStatus ? '公开' : '私有';
|
const text = newStatus ? '公开' : '私有';
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`确认要将该图片切换为【${text}】吗?`);
|
||||||
content: `确认要将该图片切换为【${text}】吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'description',
|
fieldName: 'description',
|
||||||
label: '知识库描述',
|
label: '知识库描述',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
rows: 3,
|
rows: 3,
|
||||||
placeholder: '请输入知识库描述',
|
placeholder: '请输入知识库描述',
|
||||||
|
|
@ -52,6 +52,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '检索 topK',
|
label: '检索 topK',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入检索 topK',
|
placeholder: '请输入检索 topK',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 10,
|
max: 10,
|
||||||
|
|
@ -63,6 +64,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '检索相似度阈值',
|
label: '检索相似度阈值',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入检索相似度阈值',
|
placeholder: '请输入检索相似度阈值',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 1,
|
max: 1,
|
||||||
|
|
|
||||||
|
|
@ -77,9 +77,7 @@ async function handleStatusChange(
|
||||||
row: AiKnowledgeDocumentApi.KnowledgeDocument,
|
row: AiKnowledgeDocumentApi.KnowledgeDocument,
|
||||||
): Promise<boolean | undefined> {
|
): Promise<boolean | undefined> {
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`你要将${row.name}的状态切换为【${getDictLabel(DICT_TYPE.COMMON_STATUS, newStatus)}】吗?`);
|
||||||
content: `你要将${row.name}的状态切换为【${getDictLabel(DICT_TYPE.COMMON_STATUS, newStatus)}】吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'description',
|
fieldName: 'description',
|
||||||
label: '知识库描述',
|
label: '知识库描述',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
rows: 3,
|
rows: 3,
|
||||||
placeholder: '请输入知识库描述',
|
placeholder: '请输入知识库描述',
|
||||||
|
|
@ -55,6 +55,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '检索 topK',
|
label: '检索 topK',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入检索 topK',
|
placeholder: '请输入检索 topK',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 10,
|
max: 10,
|
||||||
|
|
@ -66,6 +67,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '检索相似度阈值',
|
label: '检索相似度阈值',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入检索相似度阈值',
|
placeholder: '请输入检索相似度阈值',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 1,
|
max: 1,
|
||||||
|
|
|
||||||
|
|
@ -65,9 +65,7 @@ async function handleStatusChange(
|
||||||
row: AiKnowledgeSegmentApi.KnowledgeSegment,
|
row: AiKnowledgeSegmentApi.KnowledgeSegment,
|
||||||
): Promise<boolean | undefined> {
|
): Promise<boolean | undefined> {
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`你要将片段 ${row.id} 的状态切换为【${getDictLabel(DICT_TYPE.COMMON_STATUS, newStatus)}】吗?`);
|
||||||
content: `你要将片段 ${row.id} 的状态切换为【${getDictLabel(DICT_TYPE.COMMON_STATUS, newStatus)}】吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
fieldName: 'description',
|
fieldName: 'description',
|
||||||
label: '角色描述',
|
label: '角色描述',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
|
@ -88,7 +88,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'systemMessage',
|
fieldName: 'systemMessage',
|
||||||
label: '角色设定',
|
label: '角色设定',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入角色设定',
|
placeholder: '请输入角色设定',
|
||||||
},
|
},
|
||||||
|
|
@ -154,6 +154,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '角色排序',
|
label: '角色排序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入角色排序',
|
placeholder: '请输入角色排序',
|
||||||
},
|
},
|
||||||
dependencies: {
|
dependencies: {
|
||||||
|
|
|
||||||
|
|
@ -84,6 +84,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '模型排序',
|
label: '模型排序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入模型排序',
|
placeholder: '请输入模型排序',
|
||||||
},
|
},
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
|
|
@ -104,6 +105,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '温度参数',
|
label: '温度参数',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入温度参数',
|
placeholder: '请输入温度参数',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 2,
|
max: 2,
|
||||||
|
|
@ -121,6 +123,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '回复数 Token 数',
|
label: '回复数 Token 数',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 8192,
|
max: 8192,
|
||||||
placeholder: '请输入回复数 Token 数',
|
placeholder: '请输入回复数 Token 数',
|
||||||
|
|
@ -138,6 +141,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '上下文数量',
|
label: '上下文数量',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 20,
|
max: 20,
|
||||||
placeholder: '请输入上下文数量',
|
placeholder: '请输入上下文数量',
|
||||||
|
|
|
||||||
|
|
@ -39,9 +39,7 @@ async function handleUpdatePublicStatusChange(
|
||||||
): Promise<boolean | undefined> {
|
): Promise<boolean | undefined> {
|
||||||
const text = newStatus ? '公开' : '私有';
|
const text = newStatus ? '公开' : '私有';
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`确认要将该音乐切换为【${text}】吗?`);
|
||||||
content: `确认要将该音乐切换为【${text}】吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'description',
|
fieldName: 'description',
|
||||||
label: '分类描述',
|
label: '分类描述',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入分类描述',
|
placeholder: '请输入分类描述',
|
||||||
},
|
},
|
||||||
|
|
@ -60,6 +60,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '分类排序',
|
label: '分类排序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
placeholder: '请输入分类排序',
|
placeholder: '请输入分类排序',
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import { BpmProcessInstanceStatus, DICT_TYPE } from '@vben/constants';
|
||||||
import { UndoOutlined, ZoomInOutlined, ZoomOutOutlined } from '@vben/icons';
|
import { UndoOutlined, ZoomInOutlined, ZoomOutOutlined } from '@vben/icons';
|
||||||
import { formatDate, formatPast2 } from '@vben/utils';
|
import { formatDate, formatPast2 } from '@vben/utils';
|
||||||
|
|
||||||
import { Button, Modal, Row, Space, Table } from 'antdv-next';
|
import { Button, Modal, Row, Table } from 'antdv-next';
|
||||||
import BpmnViewer from 'bpmn-js/lib/Viewer';
|
import BpmnViewer from 'bpmn-js/lib/Viewer';
|
||||||
import MoveCanvasModule from 'diagram-js/lib/navigation/movecanvas';
|
import MoveCanvasModule from 'diagram-js/lib/navigation/movecanvas';
|
||||||
|
|
||||||
|
|
@ -13,6 +13,8 @@ import { DictTag } from '#/components/dict-tag';
|
||||||
|
|
||||||
import '../theme/index.scss';
|
import '../theme/index.scss';
|
||||||
|
|
||||||
|
const ButtonGroup = Button.Group;
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
xml: {
|
xml: {
|
||||||
type: String,
|
type: String,
|
||||||
|
|
@ -437,7 +439,7 @@ onBeforeUnmount(() => {
|
||||||
<!-- Zoom:放大、缩小 -->
|
<!-- Zoom:放大、缩小 -->
|
||||||
<div style="position: absolute; top: 0; left: 0; width: 100%">
|
<div style="position: absolute; top: 0; left: 0; width: 100%">
|
||||||
<Row justify="end">
|
<Row justify="end">
|
||||||
<Space key="scale-control">
|
<ButtonGroup key="scale-control">
|
||||||
<Button
|
<Button
|
||||||
:disabled="defaultZoom <= 0.3"
|
:disabled="defaultZoom <= 0.3"
|
||||||
:icon="h(ZoomOutOutlined)"
|
:icon="h(ZoomOutOutlined)"
|
||||||
|
|
@ -452,7 +454,7 @@ onBeforeUnmount(() => {
|
||||||
@click="processZoomIn()"
|
@click="processZoomIn()"
|
||||||
/>
|
/>
|
||||||
<Button :icon="h(UndoOutlined)" @click="processReZoom()" />
|
<Button :icon="h(UndoOutlined)" @click="processReZoom()" />
|
||||||
</Space>
|
</ButtonGroup>
|
||||||
</Row>
|
</Row>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@ const [Grid] = useVbenVxeGrid({
|
||||||
return await getCluePage({
|
return await getCluePage({
|
||||||
pageNo: page.currentPage,
|
pageNo: page.currentPage,
|
||||||
pageSize: page.pageSize,
|
pageSize: page.pageSize,
|
||||||
|
sceneType: 1,
|
||||||
transformStatus: false,
|
transformStatus: false,
|
||||||
...formValues,
|
...formValues,
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -75,9 +75,7 @@ async function handleDeleteContactBusinessList() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`确定要将${checkedRows.value.map((item) => item.name).join(',')}解除关联吗?`);
|
||||||
content: `确定要将${checkedRows.value.map((item) => item.name).join(',')}解除关联吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -118,6 +118,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '产品总金额',
|
label: '产品总金额',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
|
|
@ -130,6 +131,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '整单折扣(%)',
|
label: '整单折扣(%)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
placeholder: '请输入整单折扣',
|
placeholder: '请输入整单折扣',
|
||||||
|
|
@ -141,6 +143,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '折扣后金额',
|
label: '折扣后金额',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { useRoute, useRouter } from 'vue-router';
|
||||||
import { confirm, Page, useVbenModal } from '@vben/common-ui';
|
import { confirm, Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { useTabs } from '@vben/hooks';
|
import { useTabs } from '@vben/hooks';
|
||||||
|
|
||||||
import { Card, message, TabPane, Tabs } from 'antdv-next';
|
import { Card, message, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { getClue, transformClue } from '#/api/crm/clue';
|
import { getClue, transformClue } from '#/api/crm/clue';
|
||||||
import { getOperateLogPage } from '#/api/crm/operateLog';
|
import { getOperateLogPage } from '#/api/crm/operateLog';
|
||||||
|
|
@ -84,9 +84,7 @@ function handleTransfer() {
|
||||||
/** 转化为客户 */
|
/** 转化为客户 */
|
||||||
async function handleTransform(): Promise<boolean | undefined> {
|
async function handleTransform(): Promise<boolean | undefined> {
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm('确定将该线索转化为客户吗?');
|
||||||
content: '确定将该线索转化为客户吗?',
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -146,13 +144,13 @@ onMounted(() => {
|
||||||
</Card>
|
</Card>
|
||||||
<Card class="mt-4 min-h-[60%]">
|
<Card class="mt-4 min-h-[60%]">
|
||||||
<Tabs :tab-bar-gutter="16">
|
<Tabs :tab-bar-gutter="16">
|
||||||
<TabPane tab="跟进记录" key="1" :force-render="true">
|
<Tabs.TabPane tab="跟进记录" key="1" :force-render="true">
|
||||||
<FollowUp :biz-id="clueId" :biz-type="BizTypeEnum.CRM_CLUE" />
|
<FollowUp :biz-id="clueId" :biz-type="BizTypeEnum.CRM_CLUE" />
|
||||||
</TabPane>
|
</Tabs.TabPane>
|
||||||
<TabPane tab="基本信息" key="2" :force-render="true">
|
<Tabs.TabPane tab="基本信息" key="2" :force-render="true">
|
||||||
<Info :clue="clue" />
|
<Info :clue="clue" />
|
||||||
</TabPane>
|
</Tabs.TabPane>
|
||||||
<TabPane tab="团队成员" key="3" :force-render="true">
|
<Tabs.TabPane tab="团队成员" key="3" :force-render="true">
|
||||||
<PermissionList
|
<PermissionList
|
||||||
ref="permissionListRef"
|
ref="permissionListRef"
|
||||||
:biz-id="clueId"
|
:biz-id="clueId"
|
||||||
|
|
@ -160,10 +158,10 @@ onMounted(() => {
|
||||||
:show-action="true"
|
:show-action="true"
|
||||||
@quit-team="handleBack"
|
@quit-team="handleBack"
|
||||||
/>
|
/>
|
||||||
</TabPane>
|
</Tabs.TabPane>
|
||||||
<TabPane tab="操作日志" key="4" :force-render="true">
|
<Tabs.TabPane tab="操作日志" key="4" :force-render="true">
|
||||||
<OperateLog :log-list="logList" />
|
<OperateLog :log-list="logList" />
|
||||||
</TabPane>
|
</Tabs.TabPane>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
</Card>
|
</Card>
|
||||||
</Page>
|
</Page>
|
||||||
|
|
|
||||||
|
|
@ -72,9 +72,7 @@ async function handleDeleteContactBusinessList() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`确定要将${checkedRows.value.map((item) => item.name).join(',')}解除关联吗?`);
|
||||||
content: `确定要将${checkedRows.value.map((item) => item.name).join(',')}解除关联吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ export const schema: VbenFormSchema[] = [
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
fieldName: 'notifyDays',
|
fieldName: 'notifyDays',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 0,
|
precision: 0,
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -181,7 +181,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
rows: 4,
|
rows: 4,
|
||||||
|
|
@ -198,6 +198,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '产品总金额',
|
label: '产品总金额',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
placeholder: '请输入产品总金额',
|
placeholder: '请输入产品总金额',
|
||||||
|
|
@ -209,6 +210,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '整单折扣(%)',
|
label: '整单折扣(%)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
placeholder: '请输入整单折扣',
|
placeholder: '请输入整单折扣',
|
||||||
|
|
@ -220,6 +222,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '折扣后金额',
|
label: '折扣后金额',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { useRoute, useRouter } from 'vue-router';
|
||||||
import { confirm, Page, useVbenModal } from '@vben/common-ui';
|
import { confirm, Page, useVbenModal } from '@vben/common-ui';
|
||||||
import { useTabs } from '@vben/hooks';
|
import { useTabs } from '@vben/hooks';
|
||||||
|
|
||||||
import { Card, message, TabPane, Tabs } from 'antdv-next';
|
import { Card, message, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
getCustomer,
|
getCustomer,
|
||||||
|
|
@ -102,9 +102,7 @@ function handleTransfer() {
|
||||||
/** 锁定客户 */
|
/** 锁定客户 */
|
||||||
async function handleLock(lockStatus: boolean): Promise<boolean | undefined> {
|
async function handleLock(lockStatus: boolean): Promise<boolean | undefined> {
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`确定锁定客户【${customer.value.name}】吗?`);
|
||||||
content: `确定锁定客户【${customer.value.name}】吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -118,9 +116,7 @@ async function handleLock(lockStatus: boolean): Promise<boolean | undefined> {
|
||||||
/** 领取客户 */
|
/** 领取客户 */
|
||||||
async function handleReceive(): Promise<boolean | undefined> {
|
async function handleReceive(): Promise<boolean | undefined> {
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`确定领取客户【${customer.value.name}】吗?`);
|
||||||
content: `确定领取客户【${customer.value.name}】吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -139,9 +135,7 @@ function handleDistributeForm() {
|
||||||
/** 客户放入公海 */
|
/** 客户放入公海 */
|
||||||
async function handlePutPool(): Promise<boolean | undefined> {
|
async function handlePutPool(): Promise<boolean | undefined> {
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`确定将客户【${customer.value.name}】放入公海吗?`);
|
||||||
content: `确定将客户【${customer.value.name}】放入公海吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -156,9 +150,7 @@ async function handlePutPool(): Promise<boolean | undefined> {
|
||||||
async function handleUpdateDealStatus(): Promise<boolean | undefined> {
|
async function handleUpdateDealStatus(): Promise<boolean | undefined> {
|
||||||
const dealStatus = !customer.value.dealStatus;
|
const dealStatus = !customer.value.dealStatus;
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`确定更新成交状态为【${dealStatus ? '已成交' : '未成交'}】吗?`);
|
||||||
content: `确定更新成交状态为【${dealStatus ? '已成交' : '未成交'}】吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -250,20 +242,20 @@ onMounted(() => {
|
||||||
</Card>
|
</Card>
|
||||||
<Card class="mt-4 min-h-[60%]">
|
<Card class="mt-4 min-h-[60%]">
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<TabPane tab="跟进记录" key="1" :force-render="true">
|
<Tabs.TabPane tab="跟进记录" key="1" :force-render="true">
|
||||||
<FollowUp :biz-id="customerId" :biz-type="BizTypeEnum.CRM_CUSTOMER" />
|
<FollowUp :biz-id="customerId" :biz-type="BizTypeEnum.CRM_CUSTOMER" />
|
||||||
</TabPane>
|
</Tabs.TabPane>
|
||||||
<TabPane tab="基本信息" key="2" :force-render="true">
|
<Tabs.TabPane tab="基本信息" key="2" :force-render="true">
|
||||||
<Info :customer="customer" />
|
<Info :customer="customer" />
|
||||||
</TabPane>
|
</Tabs.TabPane>
|
||||||
<TabPane tab="联系人" key="3" :force-render="true">
|
<Tabs.TabPane tab="联系人" key="3" :force-render="true">
|
||||||
<ContactDetailsList
|
<ContactDetailsList
|
||||||
:biz-id="customerId"
|
:biz-id="customerId"
|
||||||
:biz-type="BizTypeEnum.CRM_CUSTOMER"
|
:biz-type="BizTypeEnum.CRM_CUSTOMER"
|
||||||
:customer-id="customerId"
|
:customer-id="customerId"
|
||||||
/>
|
/>
|
||||||
</TabPane>
|
</Tabs.TabPane>
|
||||||
<TabPane tab="团队成员" key="4" :force-render="true">
|
<Tabs.TabPane tab="团队成员" key="4" :force-render="true">
|
||||||
<PermissionList
|
<PermissionList
|
||||||
ref="permissionListRef"
|
ref="permissionListRef"
|
||||||
:biz-id="customerId"
|
:biz-id="customerId"
|
||||||
|
|
@ -271,27 +263,27 @@ onMounted(() => {
|
||||||
:show-action="true"
|
:show-action="true"
|
||||||
@quit-team="handleBack"
|
@quit-team="handleBack"
|
||||||
/>
|
/>
|
||||||
</TabPane>
|
</Tabs.TabPane>
|
||||||
<TabPane tab="商机" key="5" :force-render="true">
|
<Tabs.TabPane tab="商机" key="5" :force-render="true">
|
||||||
<BusinessDetailsList
|
<BusinessDetailsList
|
||||||
:biz-id="customerId"
|
:biz-id="customerId"
|
||||||
:biz-type="BizTypeEnum.CRM_CUSTOMER"
|
:biz-type="BizTypeEnum.CRM_CUSTOMER"
|
||||||
:customer-id="customerId"
|
:customer-id="customerId"
|
||||||
/>
|
/>
|
||||||
</TabPane>
|
</Tabs.TabPane>
|
||||||
<TabPane tab="合同" key="6" :force-render="true">
|
<Tabs.TabPane tab="合同" key="6" :force-render="true">
|
||||||
<ContractDetailsList
|
<ContractDetailsList
|
||||||
:biz-id="customerId"
|
:biz-id="customerId"
|
||||||
:biz-type="BizTypeEnum.CRM_CUSTOMER"
|
:biz-type="BizTypeEnum.CRM_CUSTOMER"
|
||||||
/>
|
/>
|
||||||
</TabPane>
|
</Tabs.TabPane>
|
||||||
<TabPane tab="回款" key="7" :force-render="true">
|
<Tabs.TabPane tab="回款" key="7" :force-render="true">
|
||||||
<ReceivablePlanDetailsList :customer-id="customerId" />
|
<ReceivablePlanDetailsList :customer-id="customerId" />
|
||||||
<ReceivableDetailsList :customer-id="customerId" />
|
<ReceivableDetailsList :customer-id="customerId" />
|
||||||
</TabPane>
|
</Tabs.TabPane>
|
||||||
<TabPane tab="操作日志" key="8" :force-render="true">
|
<Tabs.TabPane tab="操作日志" key="8" :force-render="true">
|
||||||
<OperateLog :log-list="logList" />
|
<OperateLog :log-list="logList" />
|
||||||
</TabPane>
|
</Tabs.TabPane>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
</Card>
|
</Card>
|
||||||
</Page>
|
</Page>
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,7 @@ export function useFormSchema(confType: LimitConfType): VbenFormSchema[] {
|
||||||
: '锁定客户数上限',
|
: '锁定客户数上限',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: `请输入${
|
placeholder: `请输入${
|
||||||
LimitConfType.CUSTOMER_QUANTITY_LIMIT === confType
|
LimitConfType.CUSTOMER_QUANTITY_LIMIT === confType
|
||||||
? '拥有客户数上限'
|
? '拥有客户数上限'
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ export const schema: VbenFormSchema[] = [
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
fieldName: 'contactExpireDays',
|
fieldName: 'contactExpireDays',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 0,
|
precision: 0,
|
||||||
},
|
},
|
||||||
|
|
@ -35,6 +36,7 @@ export const schema: VbenFormSchema[] = [
|
||||||
addonAfter: () => '天未成交',
|
addonAfter: () => '天未成交',
|
||||||
}),
|
}),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 0,
|
precision: 0,
|
||||||
},
|
},
|
||||||
|
|
@ -63,6 +65,7 @@ export const schema: VbenFormSchema[] = [
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
fieldName: 'notifyDays',
|
fieldName: 'notifyDays',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 0,
|
precision: 0,
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -100,9 +100,7 @@ async function handleDelete() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`你要将${checkedRows.value.map((item) => item.nickname).join(',')}移出团队吗?`);
|
||||||
content: `你要将${checkedRows.value.map((item) => item.nickname).join(',')}移出团队吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,6 @@ const [Modal, modalApi] = useVbenModal({
|
||||||
},
|
},
|
||||||
async onOpenChange(isOpen: boolean) {
|
async onOpenChange(isOpen: boolean) {
|
||||||
if (!isOpen) {
|
if (!isOpen) {
|
||||||
await formApi.resetForm();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 加载数据
|
// 加载数据
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '价格(元)',
|
label: '价格(元)',
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
step: 0.1,
|
step: 0.1,
|
||||||
|
|
@ -99,7 +100,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
fieldName: 'description',
|
fieldName: 'description',
|
||||||
label: '产品描述',
|
label: '产品描述',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
|
|
||||||
|
|
@ -141,6 +141,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入回款金额',
|
placeholder: '请输入回款金额',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
|
|
@ -161,7 +162,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
rows: 4,
|
rows: 4,
|
||||||
|
|
|
||||||
|
|
@ -96,6 +96,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入计划回款金额',
|
placeholder: '请输入计划回款金额',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
|
|
@ -119,6 +120,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '提前几天提醒',
|
label: '提前几天提醒',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入提前几天提醒',
|
placeholder: '请输入提前几天提醒',
|
||||||
min: 0,
|
min: 0,
|
||||||
},
|
},
|
||||||
|
|
@ -135,7 +137,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
rows: 4,
|
rows: 4,
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '排序',
|
label: '排序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入排序',
|
placeholder: '请输入排序',
|
||||||
precision: 0,
|
precision: 0,
|
||||||
},
|
},
|
||||||
|
|
@ -81,7 +82,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
rows: 3,
|
rows: 3,
|
||||||
|
|
|
||||||
|
|
@ -67,9 +67,7 @@ async function handleDefaultStatusChange(
|
||||||
): Promise<boolean | undefined> {
|
): Promise<boolean | undefined> {
|
||||||
const text = newStatus ? '设置' : '取消';
|
const text = newStatus ? '设置' : '取消';
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`确认要${text}"${row.name}"默认吗?`);
|
||||||
content: `确认要${text}"${row.name}"默认吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
autoSize: { minRows: 1, maxRows: 1 },
|
autoSize: { minRows: 1, maxRows: 1 },
|
||||||
|
|
@ -132,6 +132,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '合计付款',
|
label: '合计付款',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '合计付款',
|
placeholder: '合计付款',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: erpPriceInputFormatter,
|
formatter: erpPriceInputFormatter,
|
||||||
|
|
@ -143,6 +144,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '优惠金额',
|
label: '优惠金额',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
disabled: formType === 'detail',
|
disabled: formType === 'detail',
|
||||||
placeholder: '请输入优惠金额',
|
placeholder: '请输入优惠金额',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
|
|
@ -154,6 +156,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '实际付款',
|
label: '实际付款',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '实际付款',
|
placeholder: '实际付款',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: erpPriceInputFormatter,
|
formatter: erpPriceInputFormatter,
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
autoSize: { minRows: 1, maxRows: 1 },
|
autoSize: { minRows: 1, maxRows: 1 },
|
||||||
|
|
@ -132,6 +132,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '合计收款',
|
label: '合计收款',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '合计收款',
|
placeholder: '合计收款',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: erpPriceInputFormatter,
|
formatter: erpPriceInputFormatter,
|
||||||
|
|
@ -143,6 +144,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '优惠金额',
|
label: '优惠金额',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
disabled: formType === 'detail',
|
disabled: formType === 'detail',
|
||||||
placeholder: '请输入优惠金额',
|
placeholder: '请输入优惠金额',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
|
|
@ -154,6 +156,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '实际收款',
|
label: '实际收款',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '实际收款',
|
placeholder: '实际收款',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: erpPriceInputFormatter,
|
formatter: erpPriceInputFormatter,
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '显示顺序',
|
label: '显示顺序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
placeholder: '请输入显示顺序',
|
placeholder: '请输入显示顺序',
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '保质期天数',
|
label: '保质期天数',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入保质期天数',
|
placeholder: '请输入保质期天数',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
@ -100,6 +101,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '重量(kg)',
|
label: '重量(kg)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入重量(kg)',
|
placeholder: '请输入重量(kg)',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
@ -108,6 +110,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '采购价格',
|
label: '采购价格',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入采购价格,单位:元',
|
placeholder: '请输入采购价格,单位:元',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
min: 0,
|
min: 0,
|
||||||
|
|
@ -119,6 +122,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '销售价格',
|
label: '销售价格',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入销售价格,单位:元',
|
placeholder: '请输入销售价格,单位:元',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
min: 0,
|
min: 0,
|
||||||
|
|
@ -130,6 +134,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '最低价格',
|
label: '最低价格',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入最低价格,单位:元',
|
placeholder: '请输入最低价格,单位:元',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
min: 0,
|
min: 0,
|
||||||
|
|
@ -139,7 +144,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
autoSize: { minRows: 1, maxRows: 1 },
|
autoSize: { minRows: 1, maxRows: 1 },
|
||||||
|
|
@ -120,6 +120,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '优惠率(%)',
|
label: '优惠率(%)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入优惠率',
|
placeholder: '请输入优惠率',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 100,
|
max: 100,
|
||||||
|
|
@ -132,6 +133,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '付款优惠',
|
label: '付款优惠',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '付款优惠',
|
placeholder: '付款优惠',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: erpPriceInputFormatter,
|
formatter: erpPriceInputFormatter,
|
||||||
|
|
@ -143,6 +145,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '优惠后金额',
|
label: '优惠后金额',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '优惠后金额',
|
placeholder: '优惠后金额',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: erpPriceInputFormatter,
|
formatter: erpPriceInputFormatter,
|
||||||
|
|
@ -163,6 +166,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '其他费用',
|
label: '其他费用',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
disabled: formType === 'detail',
|
disabled: formType === 'detail',
|
||||||
placeholder: '请输入其他费用',
|
placeholder: '请输入其他费用',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
|
|
@ -187,6 +191,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '应付金额',
|
label: '应付金额',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
min: 0,
|
min: 0,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
autoSize: { minRows: 1, maxRows: 1 },
|
autoSize: { minRows: 1, maxRows: 1 },
|
||||||
|
|
@ -106,6 +106,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '优惠率(%)',
|
label: '优惠率(%)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入优惠率',
|
placeholder: '请输入优惠率',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 100,
|
max: 100,
|
||||||
|
|
@ -118,6 +119,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '付款优惠',
|
label: '付款优惠',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '付款优惠',
|
placeholder: '付款优惠',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: erpPriceInputFormatter,
|
formatter: erpPriceInputFormatter,
|
||||||
|
|
@ -129,6 +131,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '优惠后金额',
|
label: '优惠后金额',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '优惠后金额',
|
placeholder: '优惠后金额',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: erpPriceInputFormatter,
|
formatter: erpPriceInputFormatter,
|
||||||
|
|
@ -151,6 +154,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入支付订金',
|
placeholder: '请输入支付订金',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
min: 0,
|
min: 0,
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
autoSize: { minRows: 1, maxRows: 1 },
|
autoSize: { minRows: 1, maxRows: 1 },
|
||||||
|
|
@ -120,6 +120,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '优惠率(%)',
|
label: '优惠率(%)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入优惠率',
|
placeholder: '请输入优惠率',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 100,
|
max: 100,
|
||||||
|
|
@ -132,6 +133,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '退款优惠',
|
label: '退款优惠',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: erpPriceInputFormatter,
|
formatter: erpPriceInputFormatter,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
|
|
@ -142,6 +144,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '优惠后金额',
|
label: '优惠后金额',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '优惠后金额',
|
placeholder: '优惠后金额',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: erpPriceInputFormatter,
|
formatter: erpPriceInputFormatter,
|
||||||
|
|
@ -162,6 +165,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '其他费用',
|
label: '其他费用',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
disabled: formType === 'detail',
|
disabled: formType === 'detail',
|
||||||
placeholder: '请输入其他费用',
|
placeholder: '请输入其他费用',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
|
|
@ -186,6 +190,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '应退金额',
|
label: '应退金额',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
min: 0,
|
min: 0,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '排序',
|
label: '排序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入排序',
|
placeholder: '请输入排序',
|
||||||
},
|
},
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
|
|
@ -99,6 +100,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '税率(%)',
|
label: '税率(%)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入税率',
|
placeholder: '请输入税率',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
|
|
@ -131,7 +133,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
rows: 3,
|
rows: 3,
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '排序',
|
label: '排序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入排序',
|
placeholder: '请输入排序',
|
||||||
precision: 0,
|
precision: 0,
|
||||||
},
|
},
|
||||||
|
|
@ -100,6 +101,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '税率(%)',
|
label: '税率(%)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入税率',
|
placeholder: '请输入税率',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
},
|
},
|
||||||
|
|
@ -132,7 +134,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
rows: 3,
|
rows: 3,
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
autoSize: { minRows: 1, maxRows: 1 },
|
autoSize: { minRows: 1, maxRows: 1 },
|
||||||
|
|
@ -119,6 +119,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '优惠率(%)',
|
label: '优惠率(%)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入优惠率',
|
placeholder: '请输入优惠率',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 100,
|
max: 100,
|
||||||
|
|
@ -131,6 +132,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '付款优惠',
|
label: '付款优惠',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '收款优惠',
|
placeholder: '收款优惠',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: erpPriceInputFormatter,
|
formatter: erpPriceInputFormatter,
|
||||||
|
|
@ -142,6 +144,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '优惠后金额',
|
label: '优惠后金额',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '优惠后金额',
|
placeholder: '优惠后金额',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: erpPriceInputFormatter,
|
formatter: erpPriceInputFormatter,
|
||||||
|
|
@ -164,6 +167,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入收取订金',
|
placeholder: '请输入收取订金',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
min: 0,
|
min: 0,
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
autoSize: { minRows: 1, maxRows: 1 },
|
autoSize: { minRows: 1, maxRows: 1 },
|
||||||
|
|
@ -137,6 +137,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '优惠率(%)',
|
label: '优惠率(%)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入优惠率',
|
placeholder: '请输入优惠率',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 100,
|
max: 100,
|
||||||
|
|
@ -149,6 +150,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '收款优惠',
|
label: '收款优惠',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '付款优惠',
|
placeholder: '付款优惠',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: erpPriceInputFormatter,
|
formatter: erpPriceInputFormatter,
|
||||||
|
|
@ -160,6 +162,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '优惠后金额',
|
label: '优惠后金额',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '优惠后金额',
|
placeholder: '优惠后金额',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: erpPriceInputFormatter,
|
formatter: erpPriceInputFormatter,
|
||||||
|
|
@ -180,6 +183,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '其他费用',
|
label: '其他费用',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
disabled: formType === 'detail',
|
disabled: formType === 'detail',
|
||||||
placeholder: '请输入其他费用',
|
placeholder: '请输入其他费用',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
|
|
@ -207,6 +211,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '应收金额',
|
label: '应收金额',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
min: 0,
|
min: 0,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
|
|
|
||||||
|
|
@ -91,7 +91,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
autoSize: { minRows: 1, maxRows: 1 },
|
autoSize: { minRows: 1, maxRows: 1 },
|
||||||
|
|
@ -133,6 +133,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '优惠率(%)',
|
label: '优惠率(%)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入优惠率',
|
placeholder: '请输入优惠率',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 100,
|
max: 100,
|
||||||
|
|
@ -145,6 +146,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '退款优惠',
|
label: '退款优惠',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: erpPriceInputFormatter,
|
formatter: erpPriceInputFormatter,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
|
|
@ -155,6 +157,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '优惠后金额',
|
label: '优惠后金额',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '优惠后金额',
|
placeholder: '优惠后金额',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
formatter: erpPriceInputFormatter,
|
formatter: erpPriceInputFormatter,
|
||||||
|
|
@ -175,6 +178,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '其他费用',
|
label: '其他费用',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
disabled: formType === 'detail',
|
disabled: formType === 'detail',
|
||||||
placeholder: '请输入其他费用',
|
placeholder: '请输入其他费用',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
|
|
@ -200,6 +204,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
label: '应收金额',
|
label: '应收金额',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
precision: 2,
|
precision: 2,
|
||||||
min: 0,
|
min: 0,
|
||||||
disabled: true,
|
disabled: true,
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
autoSize: { minRows: 1, maxRows: 1 },
|
autoSize: { minRows: 1, maxRows: 1 },
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
autoSize: { minRows: 1, maxRows: 1 },
|
autoSize: { minRows: 1, maxRows: 1 },
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
autoSize: { minRows: 1, maxRows: 1 },
|
autoSize: { minRows: 1, maxRows: 1 },
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ export function useFormSchema(formType: FormType): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
autoSize: { minRows: 1, maxRows: 1 },
|
autoSize: { minRows: 1, maxRows: 1 },
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '仓储费(元)',
|
label: '仓储费(元)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入仓储费,单位:元/天/KG',
|
placeholder: '请输入仓储费,单位:元/天/KG',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
|
|
@ -61,6 +62,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '搬运费(元)',
|
label: '搬运费(元)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入搬运费,单位:元',
|
placeholder: '请输入搬运费,单位:元',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
|
|
@ -79,6 +81,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '排序',
|
label: '排序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入排序',
|
placeholder: '请输入排序',
|
||||||
precision: 0,
|
precision: 0,
|
||||||
},
|
},
|
||||||
|
|
@ -87,7 +90,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -65,9 +65,7 @@ async function handleDefaultStatusChange(
|
||||||
): Promise<boolean | undefined> {
|
): Promise<boolean | undefined> {
|
||||||
const text = newStatus ? '设置' : '取消';
|
const text = newStatus ? '设置' : '取消';
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`确认要${text}"${row.name}"默认吗?`);
|
||||||
content: `确认要${text}"${row.name}"默认吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -42,9 +42,7 @@ function handleDetail(row: InfraApiErrorLogApi.ApiErrorLog) {
|
||||||
|
|
||||||
/** 处理已处理 / 已忽略的操作 */
|
/** 处理已处理 / 已忽略的操作 */
|
||||||
async function handleProcess(id: number, processStatus: number) {
|
async function handleProcess(id: number, processStatus: number) {
|
||||||
await confirm({
|
await confirm(`确认标记为${InfraApiErrorLogProcessStatusEnum.DONE ? '已处理' : '已忽略'}?`);
|
||||||
content: `确认标记为${InfraApiErrorLogProcessStatusEnum.DONE ? '已处理' : '已忽略'}?`,
|
|
||||||
});
|
|
||||||
const hideLoading = message.loading({
|
const hideLoading = message.loading({
|
||||||
content: '正在处理中...',
|
content: '正在处理中...',
|
||||||
duration: 0,
|
duration: 0,
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
},
|
},
|
||||||
|
|
@ -82,6 +82,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '主机端口',
|
label: '主机端口',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
placeholder: '请输入主机端口',
|
placeholder: '请输入主机端口',
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import { DICT_TYPE } from '@vben/constants';
|
||||||
import { getDictOptions } from '@vben/hooks';
|
import { getDictOptions } from '@vben/hooks';
|
||||||
import { formatDateTime } from '@vben/utils';
|
import { formatDateTime } from '@vben/utils';
|
||||||
|
|
||||||
import { Timeline, TimelineItem } from 'antdv-next';
|
import { Timeline } from 'antdv-next';
|
||||||
|
|
||||||
import { CronTab } from '#/components/cron-tab';
|
import { CronTab } from '#/components/cron-tab';
|
||||||
import { DictTag } from '#/components/dict-tag';
|
import { DictTag } from '#/components/dict-tag';
|
||||||
|
|
@ -68,6 +68,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '重试次数',
|
label: '重试次数',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入重试次数。设置为 0 时,不进行重试',
|
placeholder: '请输入重试次数。设置为 0 时,不进行重试',
|
||||||
min: 0,
|
min: 0,
|
||||||
},
|
},
|
||||||
|
|
@ -78,6 +79,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '重试间隔',
|
label: '重试间隔',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入重试间隔,单位:毫秒。设置为 0 时,无需间隔',
|
placeholder: '请输入重试间隔,单位:毫秒。设置为 0 时,无需间隔',
|
||||||
min: 0,
|
min: 0,
|
||||||
},
|
},
|
||||||
|
|
@ -88,6 +90,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '监控超时时间',
|
label: '监控超时时间',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入监控超时时间,单位:毫秒',
|
placeholder: '请输入监控超时时间,单位:毫秒',
|
||||||
min: 0,
|
min: 0,
|
||||||
},
|
},
|
||||||
|
|
@ -236,7 +239,7 @@ export function useDetailSchema(): DescriptionItemSchema[] {
|
||||||
}
|
}
|
||||||
return h(Timeline, {}, () =>
|
return h(Timeline, {}, () =>
|
||||||
val?.map((time: Date) =>
|
val?.map((time: Date) =>
|
||||||
h(TimelineItem, {}, () => formatDateTime(time)),
|
h(Timeline.Item, {}, () => formatDateTime(time)),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '品牌排序',
|
label: '品牌排序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
placeholder: '请输入品牌排序',
|
placeholder: '请输入品牌排序',
|
||||||
},
|
},
|
||||||
|
|
@ -60,7 +61,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'description',
|
fieldName: 'description',
|
||||||
label: '品牌描述',
|
label: '品牌描述',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入品牌描述',
|
placeholder: '请输入品牌描述',
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '分类排序',
|
label: '分类排序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
placeholder: '请输入分类排序',
|
placeholder: '请输入分类排序',
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -65,9 +65,7 @@ async function handleStatusChange(
|
||||||
): Promise<boolean | undefined> {
|
): Promise<boolean | undefined> {
|
||||||
const text = newStatus ? '展示' : '隐藏';
|
const text = newStatus ? '展示' : '隐藏';
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`确认要${text}该评论吗?`);
|
||||||
content: `确认要${text}该评论吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,7 @@ export function useInfoFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'introduction',
|
fieldName: 'introduction',
|
||||||
label: '商品简介',
|
label: '商品简介',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入商品简介',
|
placeholder: '请输入商品简介',
|
||||||
autoSize: { minRows: 2, maxRows: 2 },
|
autoSize: { minRows: 2, maxRows: 2 },
|
||||||
|
|
@ -281,6 +281,7 @@ export function useOtherFormSchema(): VbenFormSchema[] {
|
||||||
label: '商品排序',
|
label: '商品排序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
},
|
},
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
|
|
@ -290,6 +291,7 @@ export function useOtherFormSchema(): VbenFormSchema[] {
|
||||||
label: '赠送积分',
|
label: '赠送积分',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
},
|
},
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
|
|
@ -299,6 +301,7 @@ export function useOtherFormSchema(): VbenFormSchema[] {
|
||||||
label: '虚拟销量',
|
label: '虚拟销量',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
},
|
},
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
|
|
|
||||||
|
|
@ -134,7 +134,6 @@ const [Modal, modalApi] = useVbenModal({
|
||||||
if (!isOpen) {
|
if (!isOpen) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
await formApi.resetForm();
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ import { confirm, DocAlert, Page } from '@vben/common-ui';
|
||||||
import { ProductSpuStatusEnum } from '@vben/constants';
|
import { ProductSpuStatusEnum } from '@vben/constants';
|
||||||
import { downloadFileFromBlobPart } from '@vben/utils';
|
import { downloadFileFromBlobPart } from '@vben/utils';
|
||||||
|
|
||||||
import { message, TabPane, Tabs } from 'antdv-next';
|
import { message, Tabs } from 'antdv-next';
|
||||||
|
|
||||||
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
|
||||||
import {
|
import {
|
||||||
|
|
@ -110,9 +110,7 @@ async function handleStatusChange(
|
||||||
// 二次确认
|
// 二次确认
|
||||||
const text = newStatus ? '上架' : '下架';
|
const text = newStatus ? '上架' : '下架';
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`确认要${text + row.name}吗?`);
|
||||||
content: `确认要${text + row.name}吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -132,9 +130,7 @@ async function handleStatus02Change(row: MallSpuApi.Spu, newStatus: number) {
|
||||||
newStatus === ProductSpuStatusEnum.RECYCLE.status
|
newStatus === ProductSpuStatusEnum.RECYCLE.status
|
||||||
? '加入到回收站'
|
? '加入到回收站'
|
||||||
: '恢复到仓库';
|
: '恢复到仓库';
|
||||||
await confirm({
|
await confirm(`确认要"${row.name}"${text}吗?`);
|
||||||
content: `确认要"${row.name}"${text}吗?`,
|
|
||||||
});
|
|
||||||
const hideLoading = message.loading({
|
const hideLoading = message.loading({
|
||||||
content: `正在${text}中...`,
|
content: `正在${text}中...`,
|
||||||
duration: 0,
|
duration: 0,
|
||||||
|
|
@ -213,7 +209,7 @@ onMounted(async () => {
|
||||||
<Grid>
|
<Grid>
|
||||||
<template #toolbar-actions>
|
<template #toolbar-actions>
|
||||||
<Tabs @change="onChangeTab" class="w-full">
|
<Tabs @change="onChangeTab" class="w-full">
|
||||||
<TabPane
|
<Tabs.TabPane
|
||||||
v-for="item in tabsData"
|
v-for="item in tabsData"
|
||||||
:key="item.type"
|
:key="item.type"
|
||||||
:tab="`${item.name} (${item.count})`"
|
:tab="`${item.name} (${item.count})`"
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '显示顺序',
|
label: '显示顺序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
placeholder: '请输入显示顺序',
|
placeholder: '请输入显示顺序',
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -106,6 +106,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '排序',
|
label: '排序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
placeholder: '请输入排序',
|
placeholder: '请输入排序',
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '排序',
|
label: '排序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
placeholder: '请输入排序',
|
placeholder: '请输入排序',
|
||||||
},
|
},
|
||||||
|
|
@ -81,7 +82,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'memo',
|
fieldName: 'memo',
|
||||||
label: '描述',
|
label: '描述',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
rows: 4,
|
rows: 4,
|
||||||
placeholder: '请输入描述',
|
placeholder: '请输入描述',
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '助力人数',
|
label: '助力人数',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 1,
|
min: 1,
|
||||||
placeholder: '达到该人数才能砍到低价',
|
placeholder: '达到该人数才能砍到低价',
|
||||||
},
|
},
|
||||||
|
|
@ -65,6 +66,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '砍价次数',
|
label: '砍价次数',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 1,
|
min: 1,
|
||||||
placeholder: '最大帮砍次数',
|
placeholder: '最大帮砍次数',
|
||||||
},
|
},
|
||||||
|
|
@ -75,6 +77,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '购买限制',
|
label: '购买限制',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 1,
|
min: 1,
|
||||||
placeholder: '最大购买次数',
|
placeholder: '最大购买次数',
|
||||||
},
|
},
|
||||||
|
|
@ -85,6 +88,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '最小砍价金额(元)',
|
label: '最小砍价金额(元)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
step: 0.01,
|
step: 0.01,
|
||||||
|
|
@ -96,6 +100,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '最大砍价金额(元)',
|
label: '最大砍价金额(元)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
step: 0.01,
|
step: 0.01,
|
||||||
|
|
|
||||||
|
|
@ -55,6 +55,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '拼团人数',
|
label: '拼团人数',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '达到该人数即成团',
|
placeholder: '达到该人数即成团',
|
||||||
min: 2,
|
min: 2,
|
||||||
},
|
},
|
||||||
|
|
@ -65,6 +66,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '限制时长',
|
label: '限制时长',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '限制时长(小时)',
|
placeholder: '限制时长(小时)',
|
||||||
min: 0,
|
min: 0,
|
||||||
},
|
},
|
||||||
|
|
@ -75,6 +77,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '总限购数量',
|
label: '总限购数量',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入总限购数量',
|
placeholder: '请输入总限购数量',
|
||||||
min: 0,
|
min: 0,
|
||||||
},
|
},
|
||||||
|
|
@ -84,6 +87,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '单次限购数量',
|
label: '单次限购数量',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入单次限购数量',
|
placeholder: '请输入单次限购数量',
|
||||||
min: 0,
|
min: 0,
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'description',
|
fieldName: 'description',
|
||||||
label: '优惠券描述',
|
label: '优惠券描述',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入优惠券描述',
|
placeholder: '请输入优惠券描述',
|
||||||
},
|
},
|
||||||
|
|
@ -122,6 +122,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '优惠券面额',
|
label: '优惠券面额',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
placeholder: '请输入优惠金额,单位:元',
|
placeholder: '请输入优惠金额,单位:元',
|
||||||
|
|
@ -139,6 +140,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '优惠券折扣',
|
label: '优惠券折扣',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 1,
|
min: 1,
|
||||||
max: 9.9,
|
max: 9.9,
|
||||||
precision: 1,
|
precision: 1,
|
||||||
|
|
@ -157,6 +159,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '最多优惠',
|
label: '最多优惠',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
placeholder: '请输入最多优惠',
|
placeholder: '请输入最多优惠',
|
||||||
|
|
@ -174,6 +177,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '满多少元可以使用',
|
label: '满多少元可以使用',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
placeholder: '无门槛请设为 0',
|
placeholder: '无门槛请设为 0',
|
||||||
|
|
@ -196,6 +200,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '发放数量',
|
label: '发放数量',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: -1,
|
min: -1,
|
||||||
placeholder: '发放数量,没有之后不能领取或发放,-1 为不限制',
|
placeholder: '发放数量,没有之后不能领取或发放,-1 为不限制',
|
||||||
addonAfter: '张',
|
addonAfter: '张',
|
||||||
|
|
@ -212,6 +217,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '每人限领个数',
|
label: '每人限领个数',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: -1,
|
min: -1,
|
||||||
placeholder: '设置为 -1 时,可无限领取',
|
placeholder: '设置为 -1 时,可无限领取',
|
||||||
addonAfter: '张',
|
addonAfter: '张',
|
||||||
|
|
@ -255,6 +261,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '领取日期',
|
label: '领取日期',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
placeholder: '第 0 为今天生效',
|
placeholder: '第 0 为今天生效',
|
||||||
addonBefore: '第',
|
addonBefore: '第',
|
||||||
|
|
@ -271,6 +278,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
fieldName: 'fixedEndTerm',
|
fieldName: 'fixedEndTerm',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
placeholder: '请输入结束天数',
|
placeholder: '请输入结束天数',
|
||||||
addonBefore: '至',
|
addonBefore: '至',
|
||||||
|
|
|
||||||
|
|
@ -61,9 +61,7 @@ async function handleStatusChange(
|
||||||
row: MallCouponTemplateApi.CouponTemplate,
|
row: MallCouponTemplateApi.CouponTemplate,
|
||||||
): Promise<boolean | undefined> {
|
): Promise<boolean | undefined> {
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`你要将${row.name}的状态切换为【${newStatus === CommonStatusEnum.ENABLE ? '启用' : '停用'}】吗?`);
|
||||||
content: `你要将${row.name}的状态切换为【${newStatus === CommonStatusEnum.ENABLE ? '启用' : '停用'}】吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ import type {
|
||||||
SpuProperty,
|
SpuProperty,
|
||||||
} from '#/views/mall/product/spu/components';
|
} from '#/views/mall/product/spu/components';
|
||||||
|
|
||||||
import { computed, nextTick, ref } from 'vue';
|
import { computed, ref } from 'vue';
|
||||||
|
|
||||||
import { useVbenForm, useVbenModal } from '@vben/common-ui';
|
import { useVbenForm, useVbenModal } from '@vben/common-ui';
|
||||||
import { PromotionDiscountTypeEnum } from '@vben/constants';
|
import { PromotionDiscountTypeEnum } from '@vben/constants';
|
||||||
|
|
@ -213,13 +213,11 @@ function handleSkuDiscountPercentChange(row: SkuExtension) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 重置表单 */
|
/** 重置表单 */
|
||||||
async function resetForm() {
|
function resetForm() {
|
||||||
spuList.value = [];
|
spuList.value = [];
|
||||||
spuPropertyList.value = [];
|
spuPropertyList.value = [];
|
||||||
spuIdList.value = [];
|
spuIdList.value = [];
|
||||||
formData.value = {};
|
formData.value = {};
|
||||||
await nextTick();
|
|
||||||
await formApi.resetForm();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ================= 弹窗相关 =================
|
// ================= 弹窗相关 =================
|
||||||
|
|
@ -264,7 +262,7 @@ const [Modal, modalApi] = useVbenModal({
|
||||||
},
|
},
|
||||||
async onOpenChange(isOpen: boolean) {
|
async onOpenChange(isOpen: boolean) {
|
||||||
if (!isOpen) {
|
if (!isOpen) {
|
||||||
await resetForm();
|
resetForm();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 加载数据
|
// 加载数据
|
||||||
|
|
|
||||||
|
|
@ -125,9 +125,7 @@ async function updateConversationPinnedFn(pinned: boolean) {
|
||||||
/** 删除会话 */
|
/** 删除会话 */
|
||||||
async function deleteConversationFn() {
|
async function deleteConversationFn() {
|
||||||
// 1. 删除会话
|
// 1. 删除会话
|
||||||
confirm({
|
confirm('您确定要删除该会话吗?').then(async () => {
|
||||||
content: '您确定要删除该会话吗?',
|
|
||||||
}).then(async () => {
|
|
||||||
await deleteConversation(rightClickConversation.value.id);
|
await deleteConversation(rightClickConversation.value.id);
|
||||||
// 2. 关闭右键菜单,更新会话列表
|
// 2. 关闭右键菜单,更新会话列表
|
||||||
closeRightMenu();
|
closeRightMenu();
|
||||||
|
|
|
||||||
|
|
@ -169,7 +169,7 @@ async function handleSendMessage(event: any) {
|
||||||
}
|
}
|
||||||
// 1. 校验消息是否为空
|
// 1. 校验消息是否为空
|
||||||
if (isEmpty(unref(message.value)?.trim())) {
|
if (isEmpty(unref(message.value)?.trim())) {
|
||||||
notification.warning({ title: '请输入消息后再发送哦!' });
|
notification.warning({ message: '请输入消息后再发送哦!' });
|
||||||
message.value = '';
|
message.value = '';
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -109,9 +109,9 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '排序',
|
label: '排序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
placeholder: '请输入排序',
|
placeholder: '请输入排序',
|
||||||
class: '!w-full',
|
|
||||||
},
|
},
|
||||||
defaultValue: 0,
|
defaultValue: 0,
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
|
|
@ -119,7 +119,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
rows: 4,
|
rows: 4,
|
||||||
|
|
|
||||||
|
|
@ -99,9 +99,9 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '总限购数量',
|
label: '总限购数量',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入总限购数量',
|
placeholder: '请输入总限购数量',
|
||||||
min: 0,
|
min: 0,
|
||||||
class: 'w-full',
|
|
||||||
},
|
},
|
||||||
rules: z.number().min(0).default(0),
|
rules: z.number().min(0).default(0),
|
||||||
},
|
},
|
||||||
|
|
@ -110,9 +110,9 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '单次限购数量',
|
label: '单次限购数量',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入单次限购数量',
|
placeholder: '请输入单次限购数量',
|
||||||
min: 0,
|
min: 0,
|
||||||
class: 'w-full',
|
|
||||||
},
|
},
|
||||||
rules: z.number().min(0).default(0),
|
rules: z.number().min(0).default(0),
|
||||||
},
|
},
|
||||||
|
|
@ -121,16 +121,16 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '排序',
|
label: '排序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入排序',
|
placeholder: '请输入排序',
|
||||||
min: 0,
|
min: 0,
|
||||||
class: 'w-full',
|
|
||||||
},
|
},
|
||||||
rules: z.number().min(0).default(0),
|
rules: z.number().min(0).default(0),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
rows: 4,
|
rows: 4,
|
||||||
|
|
|
||||||
|
|
@ -62,9 +62,7 @@ async function handleStatusChange(
|
||||||
// 二次确认
|
// 二次确认
|
||||||
const text = row.status === 0 ? '启用' : '停用';
|
const text = row.status === 0 ? '启用' : '停用';
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`确认要${text + row.name}吗?`);
|
||||||
content: `确认要${text + row.name}吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -104,9 +104,7 @@ async function loadProductStatisticsList() {
|
||||||
async function handleExport() {
|
async function handleExport() {
|
||||||
try {
|
try {
|
||||||
// 导出的二次确认
|
// 导出的二次确认
|
||||||
await confirm({
|
await confirm('确认导出商品状况数据吗?');
|
||||||
content: '确认导出商品状况数据吗?',
|
|
||||||
});
|
|
||||||
// 发起导出
|
// 发起导出
|
||||||
exportLoading.value = true;
|
exportLoading.value = true;
|
||||||
const data = await exportProductStatisticsExcel({
|
const data = await exportProductStatisticsExcel({
|
||||||
|
|
@ -121,7 +119,7 @@ async function handleExport() {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<Card variant="borderless" title="商品概况" class="h-full">
|
<Card :bordered="false" title="商品概况" class="h-full">
|
||||||
<template #extra>
|
<template #extra>
|
||||||
<!-- 查询条件 -->
|
<!-- 查询条件 -->
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
|
|
|
||||||
|
|
@ -107,9 +107,7 @@ async function loadTradeStatisticsList() {
|
||||||
async function handleExport() {
|
async function handleExport() {
|
||||||
try {
|
try {
|
||||||
// 导出的二次确认
|
// 导出的二次确认
|
||||||
await confirm({
|
await confirm('确认导出交易状况数据吗?');
|
||||||
content: '确认导出交易状况数据吗?',
|
|
||||||
});
|
|
||||||
// 发起导出
|
// 发起导出
|
||||||
exportLoading.value = true;
|
exportLoading.value = true;
|
||||||
const data = await exportTradeStatisticsExcel({
|
const data = await exportTradeStatisticsExcel({
|
||||||
|
|
@ -124,7 +122,7 @@ async function handleExport() {
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<Card variant="borderless" title="交易状况" class="h-full">
|
<Card :bordered="false" title="交易状况" class="h-full">
|
||||||
<template #extra>
|
<template #extra>
|
||||||
<!-- 查询条件 -->
|
<!-- 查询条件 -->
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-2">
|
||||||
|
|
|
||||||
|
|
@ -89,9 +89,7 @@ async function handleBrokerageEnabledChange(
|
||||||
): Promise<boolean | undefined> {
|
): Promise<boolean | undefined> {
|
||||||
const text = newEnabled ? '开通' : '关闭';
|
const text = newEnabled ? '开通' : '关闭';
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`你要将${row.nickname}的推广资格切换为【${text}】吗?`);
|
||||||
content: `你要将${row.nickname}的推广资格切换为【${text}】吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -63,10 +63,10 @@ export const schema: VbenFormSchema[] = [
|
||||||
label: '满额包邮',
|
label: '满额包邮',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
placeholder: '请输入满额包邮金额',
|
placeholder: '请输入满额包邮金额',
|
||||||
class: 'w-full',
|
|
||||||
},
|
},
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
dependencies: {
|
dependencies: {
|
||||||
|
|
@ -145,10 +145,10 @@ export const schema: VbenFormSchema[] = [
|
||||||
label: '一级返佣比例(%)',
|
label: '一级返佣比例(%)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 100,
|
max: 100,
|
||||||
placeholder: '请输入一级返佣比例',
|
placeholder: '请输入一级返佣比例',
|
||||||
class: 'w-full',
|
|
||||||
},
|
},
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
dependencies: {
|
dependencies: {
|
||||||
|
|
@ -162,10 +162,10 @@ export const schema: VbenFormSchema[] = [
|
||||||
label: '二级返佣比例(%)',
|
label: '二级返佣比例(%)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 100,
|
max: 100,
|
||||||
placeholder: '请输入二级返佣比例',
|
placeholder: '请输入二级返佣比例',
|
||||||
class: 'w-full',
|
|
||||||
},
|
},
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
dependencies: {
|
dependencies: {
|
||||||
|
|
@ -179,9 +179,9 @@ export const schema: VbenFormSchema[] = [
|
||||||
label: '佣金冻结天数',
|
label: '佣金冻结天数',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
placeholder: '请输入佣金冻结天数',
|
placeholder: '请输入佣金冻结天数',
|
||||||
class: 'w-full',
|
|
||||||
},
|
},
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
dependencies: {
|
dependencies: {
|
||||||
|
|
@ -195,10 +195,10 @@ export const schema: VbenFormSchema[] = [
|
||||||
label: '提现最低金额(元)',
|
label: '提现最低金额(元)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
placeholder: '请输入提现最低金额',
|
placeholder: '请输入提现最低金额',
|
||||||
class: 'w-full',
|
|
||||||
},
|
},
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
dependencies: {
|
dependencies: {
|
||||||
|
|
@ -212,11 +212,11 @@ export const schema: VbenFormSchema[] = [
|
||||||
label: '提现手续费(%)',
|
label: '提现手续费(%)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 100,
|
max: 100,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
placeholder: '请输入提现手续费百分比',
|
placeholder: '请输入提现手续费百分比',
|
||||||
class: 'w-full',
|
|
||||||
},
|
},
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
dependencies: {
|
dependencies: {
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '显示顺序',
|
label: '显示顺序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
placeholder: '请输入显示顺序',
|
placeholder: '请输入显示顺序',
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -140,6 +140,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '显示顺序',
|
label: '显示顺序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入显示顺序',
|
placeholder: '请输入显示顺序',
|
||||||
min: 0,
|
min: 0,
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -306,6 +306,7 @@ export function usePriceFormSchema(): VbenFormSchema[] {
|
||||||
label: '订单调价',
|
label: '订单调价',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入订单调价',
|
placeholder: '请输入订单调价',
|
||||||
step: 0.1,
|
step: 0.1,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
|
|
|
||||||
|
|
@ -21,9 +21,9 @@ export const schema: VbenFormSchema[] = [
|
||||||
label: '积分抵扣',
|
label: '积分抵扣',
|
||||||
help: '积分抵用比例(1 积分抵多少金额),单位:元',
|
help: '积分抵用比例(1 积分抵多少金额),单位:元',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
class: 'w-full',
|
|
||||||
placeholder: '请输入积分抵扣单价',
|
placeholder: '请输入积分抵扣单价',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
@ -33,8 +33,8 @@ export const schema: VbenFormSchema[] = [
|
||||||
label: '积分抵扣最大值',
|
label: '积分抵扣最大值',
|
||||||
help: '单次下单积分使用上限,0 不限制',
|
help: '单次下单积分使用上限,0 不限制',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
class: 'w-full',
|
|
||||||
placeholder: '请输入积分抵扣最大值',
|
placeholder: '请输入积分抵扣最大值',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
@ -44,8 +44,8 @@ export const schema: VbenFormSchema[] = [
|
||||||
label: '1 元赠送多少分',
|
label: '1 元赠送多少分',
|
||||||
help: '下单支付金额按比例赠送积分(实际支付 1 元赠送多少积分)',
|
help: '下单支付金额按比例赠送积分(实际支付 1 元赠送多少积分)',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
class: 'w-full',
|
|
||||||
placeholder: '请输入赠送积分比例',
|
placeholder: '请输入赠送积分比例',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '等级',
|
label: '等级',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 0,
|
precision: 0,
|
||||||
placeholder: '请输入等级',
|
placeholder: '请输入等级',
|
||||||
|
|
@ -43,6 +44,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '升级经验',
|
label: '升级经验',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 0,
|
precision: 0,
|
||||||
placeholder: '请输入升级经验',
|
placeholder: '请输入升级经验',
|
||||||
|
|
@ -54,6 +56,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '享受折扣(%)',
|
label: '享受折扣(%)',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 100,
|
max: 100,
|
||||||
precision: 0,
|
precision: 0,
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '签到天数',
|
label: '签到天数',
|
||||||
help: '只允许设置 1-7,默认签到 7 天为一个周期',
|
help: '只允许设置 1-7,默认签到 7 天为一个周期',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 1,
|
min: 1,
|
||||||
max: 7,
|
max: 7,
|
||||||
precision: 0,
|
precision: 0,
|
||||||
|
|
@ -35,6 +36,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
fieldName: 'point',
|
fieldName: 'point',
|
||||||
label: '获得积分',
|
label: '获得积分',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 0,
|
precision: 0,
|
||||||
placeholder: '请输入获得积分',
|
placeholder: '请输入获得积分',
|
||||||
|
|
@ -46,6 +48,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
fieldName: 'experience',
|
fieldName: 'experience',
|
||||||
label: '奖励经验',
|
label: '奖励经验',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 0,
|
precision: 0,
|
||||||
placeholder: '请输入奖励经验',
|
placeholder: '请输入奖励经验',
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,17 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
},
|
},
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
fieldName: 'email',
|
||||||
|
label: '邮箱',
|
||||||
|
component: 'Input',
|
||||||
|
componentProps: {
|
||||||
|
allowClear: true,
|
||||||
|
maxlength: 50,
|
||||||
|
placeholder: '请输入邮箱',
|
||||||
|
},
|
||||||
|
rules: z.string().email('邮箱格式不正确').or(z.literal('')).optional(),
|
||||||
|
},
|
||||||
{
|
{
|
||||||
fieldName: 'status',
|
fieldName: 'status',
|
||||||
label: '状态',
|
label: '状态',
|
||||||
|
|
@ -124,7 +135,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'mark',
|
fieldName: 'mark',
|
||||||
label: '会员备注',
|
label: '会员备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入会员备注',
|
placeholder: '请输入会员备注',
|
||||||
},
|
},
|
||||||
|
|
@ -153,6 +164,15 @@ export function useGridFormSchema(): VbenFormSchema[] {
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
fieldName: 'email',
|
||||||
|
label: '邮箱',
|
||||||
|
component: 'Input',
|
||||||
|
componentProps: {
|
||||||
|
placeholder: '请输入邮箱',
|
||||||
|
allowClear: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
fieldName: 'loginDate',
|
fieldName: 'loginDate',
|
||||||
label: '登录时间',
|
label: '登录时间',
|
||||||
|
|
@ -236,6 +256,11 @@ export function useGridColumns(): VxeTableGridOptions['columns'] {
|
||||||
title: '手机号',
|
title: '手机号',
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
field: 'email',
|
||||||
|
title: '邮箱',
|
||||||
|
minWidth: 180,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
field: 'nickname',
|
field: 'nickname',
|
||||||
title: '昵称',
|
title: '昵称',
|
||||||
|
|
@ -340,7 +365,7 @@ export function useLevelFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'reason',
|
fieldName: 'reason',
|
||||||
label: '修改原因',
|
label: '修改原因',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入修改原因',
|
placeholder: '请输入修改原因',
|
||||||
},
|
},
|
||||||
|
|
@ -396,6 +421,7 @@ export function useBalanceFormSchema(): VbenFormSchema[] {
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
step: 0.1,
|
step: 0.1,
|
||||||
|
|
@ -471,6 +497,7 @@ export function usePointFormSchema(): VbenFormSchema[] {
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 0,
|
precision: 0,
|
||||||
placeholder: '请输入变动积分',
|
placeholder: '请输入变动积分',
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,10 @@ const [Descriptions] = useDescription({
|
||||||
field: 'mobile',
|
field: 'mobile',
|
||||||
label: '手机号',
|
label: '手机号',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
field: 'email',
|
||||||
|
label: '邮箱',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
field: 'sex',
|
field: 'sex',
|
||||||
label: '性别',
|
label: '性别',
|
||||||
|
|
|
||||||
|
|
@ -247,7 +247,7 @@ export function useAppFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
rows: 3,
|
rows: 3,
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
|
|
@ -291,6 +291,7 @@ export function useChannelFormSchema(formType: string = ''): VbenFormSchema[] {
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入渠道费率',
|
placeholder: '请输入渠道费率',
|
||||||
addonAfter: '%',
|
addonAfter: '%',
|
||||||
},
|
},
|
||||||
|
|
@ -381,7 +382,7 @@ export function useChannelFormSchema(formType: string = ''): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
label: '应用私钥',
|
label: '应用私钥',
|
||||||
fieldName: 'config.privateKey',
|
fieldName: 'config.privateKey',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入应用私钥',
|
placeholder: '请输入应用私钥',
|
||||||
|
|
@ -391,7 +392,7 @@ export function useChannelFormSchema(formType: string = ''): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
label: '支付宝公钥',
|
label: '支付宝公钥',
|
||||||
fieldName: 'config.alipayPublicKey',
|
fieldName: 'config.alipayPublicKey',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入支付宝公钥',
|
placeholder: '请输入支付宝公钥',
|
||||||
|
|
|
||||||
|
|
@ -67,9 +67,7 @@ async function handleStatusChange(
|
||||||
): Promise<boolean | undefined> {
|
): Promise<boolean | undefined> {
|
||||||
const text = newStatus === CommonStatusEnum.ENABLE ? '启用' : '停用';
|
const text = newStatus === CommonStatusEnum.ENABLE ? '启用' : '停用';
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`确认要${text + row.name}应用吗?`);
|
||||||
content: `确认要${text + row.name}应用吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 1,
|
min: 1,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
step: 0.01,
|
step: 0.01,
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
rules: z.number().min(0, '支付金额不能小于0'),
|
rules: z.number().min(0, '支付金额不能小于0'),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
step: 0.01,
|
step: 0.01,
|
||||||
|
|
@ -45,6 +46,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
rules: z.number().min(0, '赠送金额不能小于0'),
|
rules: z.number().min(0, '赠送金额不能小于0'),
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
precision: 2,
|
precision: 2,
|
||||||
step: 0.01,
|
step: 0.01,
|
||||||
|
|
|
||||||
|
|
@ -62,6 +62,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '显示顺序',
|
label: '显示顺序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
placeholder: '请输入显示顺序',
|
placeholder: '请输入显示顺序',
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@ export function useTypeFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
},
|
},
|
||||||
|
|
@ -222,6 +222,7 @@ export function useDataFormSchema(): VbenFormSchema[] {
|
||||||
label: '显示排序',
|
label: '显示排序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入显示排序',
|
placeholder: '请输入显示排序',
|
||||||
},
|
},
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
|
|
@ -259,7 +260,7 @@ export function useDataFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -58,6 +58,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: 'SMTP 服务器端口',
|
label: 'SMTP 服务器端口',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入 SMTP 服务器端口',
|
placeholder: '请输入 SMTP 服务器端口',
|
||||||
min: 0,
|
min: 0,
|
||||||
max: 65_535,
|
max: 65_535,
|
||||||
|
|
@ -89,7 +90,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -201,6 +201,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '显示顺序',
|
label: '显示顺序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
placeholder: '请输入显示顺序',
|
placeholder: '请输入显示顺序',
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'description',
|
fieldName: 'description',
|
||||||
label: '应用描述',
|
label: '应用描述',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入应用描述',
|
placeholder: '请输入应用描述',
|
||||||
},
|
},
|
||||||
|
|
@ -74,6 +74,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '访问令牌的有效期',
|
label: '访问令牌的有效期',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入访问令牌的有效期,单位:秒',
|
placeholder: '请输入访问令牌的有效期,单位:秒',
|
||||||
min: 0,
|
min: 0,
|
||||||
},
|
},
|
||||||
|
|
@ -84,6 +85,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '刷新令牌的有效期',
|
label: '刷新令牌的有效期',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入刷新令牌的有效期,单位:秒',
|
placeholder: '请输入刷新令牌的有效期,单位:秒',
|
||||||
min: 0,
|
min: 0,
|
||||||
},
|
},
|
||||||
|
|
@ -161,7 +163,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'additionalInformation',
|
fieldName: 'additionalInformation',
|
||||||
label: '附加信息',
|
label: '附加信息',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入附加信息,JSON 格式数据',
|
placeholder: '请输入附加信息,JSON 格式数据',
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -40,6 +40,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '显示顺序',
|
label: '显示顺序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
placeholder: '请输入显示顺序',
|
placeholder: '请输入显示顺序',
|
||||||
},
|
},
|
||||||
|
|
@ -59,7 +60,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '岗位备注',
|
label: '岗位备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入岗位备注',
|
placeholder: '请输入岗位备注',
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
label: '显示顺序',
|
label: '显示顺序',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
min: 0,
|
min: 0,
|
||||||
placeholder: '请输入显示顺序',
|
placeholder: '请输入显示顺序',
|
||||||
},
|
},
|
||||||
|
|
@ -64,7 +65,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '角色备注',
|
label: '角色备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入角色备注',
|
placeholder: '请输入角色备注',
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'content',
|
fieldName: 'content',
|
||||||
label: '模板内容',
|
label: '模板内容',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入模板内容',
|
placeholder: '请输入模板内容',
|
||||||
rows: 4,
|
rows: 4,
|
||||||
|
|
@ -97,7 +97,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'remark',
|
fieldName: 'remark',
|
||||||
label: '备注',
|
label: '备注',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
placeholder: '请输入备注',
|
placeholder: '请输入备注',
|
||||||
},
|
},
|
||||||
|
|
@ -176,7 +176,7 @@ export function useSendSmsFormSchema(): VbenFormSchema[] {
|
||||||
{
|
{
|
||||||
fieldName: 'content',
|
fieldName: 'content',
|
||||||
label: '模板内容',
|
label: '模板内容',
|
||||||
component: 'TextArea',
|
component: 'Textarea',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
disabled: true,
|
disabled: true,
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -91,6 +91,7 @@ export function useFormSchema(): VbenFormSchema[] {
|
||||||
fieldName: 'accountCount',
|
fieldName: 'accountCount',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
|
class: '!w-full',
|
||||||
placeholder: '请输入账号额度',
|
placeholder: '请输入账号额度',
|
||||||
},
|
},
|
||||||
rules: 'required',
|
rules: 'required',
|
||||||
|
|
|
||||||
|
|
@ -21,10 +21,10 @@ import {
|
||||||
updateUserStatus,
|
updateUserStatus,
|
||||||
} from '#/api/system/user';
|
} from '#/api/system/user';
|
||||||
import { $t } from '#/locales';
|
import { $t } from '#/locales';
|
||||||
|
import { DeptTreeSelect } from '#/views/system/dept/components';
|
||||||
|
|
||||||
import { useGridColumns, useGridFormSchema } from './data';
|
import { useGridColumns, useGridFormSchema } from './data';
|
||||||
import AssignRoleForm from './modules/assign-role-form.vue';
|
import AssignRoleForm from './modules/assign-role-form.vue';
|
||||||
import DeptTree from './modules/dept-tree.vue';
|
|
||||||
import Form from './modules/form.vue';
|
import Form from './modules/form.vue';
|
||||||
import ImportForm from './modules/import-form.vue';
|
import ImportForm from './modules/import-form.vue';
|
||||||
import ResetPasswordForm from './modules/reset-password-form.vue';
|
import ResetPasswordForm from './modules/reset-password-form.vue';
|
||||||
|
|
@ -62,8 +62,8 @@ async function handleExport() {
|
||||||
|
|
||||||
/** 选择部门 */
|
/** 选择部门 */
|
||||||
const searchDeptId = ref<number | undefined>(undefined);
|
const searchDeptId = ref<number | undefined>(undefined);
|
||||||
async function handleDeptSelect(dept: SystemDeptApi.Dept) {
|
async function handleDeptSelect(dept?: SystemDeptApi.Dept) {
|
||||||
searchDeptId.value = dept.id;
|
searchDeptId.value = dept?.id;
|
||||||
handleRefresh();
|
handleRefresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -139,9 +139,7 @@ async function handleStatusChange(
|
||||||
row: SystemUserApi.User,
|
row: SystemUserApi.User,
|
||||||
): Promise<boolean | undefined> {
|
): Promise<boolean | undefined> {
|
||||||
try {
|
try {
|
||||||
await confirm({
|
await confirm(`你要将${row.username}的状态切换为【${getDictLabel(DICT_TYPE.COMMON_STATUS, newStatus)}】吗?`);
|
||||||
content: `你要将${row.username}的状态切换为【${getDictLabel(DICT_TYPE.COMMON_STATUS, newStatus)}】吗?`,
|
|
||||||
});
|
|
||||||
} catch {
|
} catch {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -207,7 +205,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
|
||||||
<div class="flex h-full w-full">
|
<div class="flex h-full w-full">
|
||||||
<!-- 左侧部门树 -->
|
<!-- 左侧部门树 -->
|
||||||
<Card class="mr-4 h-full w-1/6">
|
<Card class="mr-4 h-full w-1/6">
|
||||||
<DeptTree @select="handleDeptSelect" />
|
<DeptTreeSelect @select="handleDeptSelect" />
|
||||||
</Card>
|
</Card>
|
||||||
<!-- 右侧用户列表 -->
|
<!-- 右侧用户列表 -->
|
||||||
<div class="w-5/6">
|
<div class="w-5/6">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue