fix: repair remaining admin selects

This commit is contained in:
hy 2026-04-24 14:11:38 +08:00
parent 3a3c5a4bf9
commit 4470a95a91
16 changed files with 229 additions and 336 deletions

View File

@ -17,7 +17,6 @@ import {
Modal, Modal,
Pagination, Pagination,
Select, Select,
SelectOption,
Space, Space,
Table, Table,
TextArea, TextArea,
@ -250,19 +249,13 @@ function handleDelete(record: LegacyVersionDescriptionItem) {
> >
<Form layout="vertical"> <Form layout="vertical">
<FormItem label="语言"> <FormItem label="语言">
<Select option-label-prop="label" <Select
option-label-prop="label"
v-model:value="form.language" v-model:value="form.language"
:disabled="submitLoading || Boolean(form.id)" :disabled="submitLoading || Boolean(form.id)"
:options="LANGUAGE_OPTIONS.map((item) => ({ label: item.name, value: item.value }))"
placeholder="请选择语言" placeholder="请选择语言"
> />
<SelectOption
v-for="item in LANGUAGE_OPTIONS"
:key="item.value"
:value="item.value"
:label="`${item.name}`">
{{ item.name }}
</SelectOption>
</Select>
</FormItem> </FormItem>
<FormItem label="更新描述"> <FormItem label="更新描述">
<TextArea <TextArea

View File

@ -14,7 +14,6 @@ import {
Input, Input,
Modal, Modal,
Select, Select,
SelectOption,
message, message,
} from 'antdv-next'; } from 'antdv-next';
@ -204,36 +203,24 @@ async function handleSubmit() {
> >
<Form :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }" layout="horizontal"> <Form :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }" layout="horizontal">
<FormItem label="平台"> <FormItem label="平台">
<Select option-label-prop="label" <Select
option-label-prop="label"
v-model:value="form.platform" v-model:value="form.platform"
:disabled="loading || !isAdd" :disabled="loading || !isAdd"
:options="PLATFORM_ORIGINS.map((item) => ({ label: item.name, value: item.value }))"
placeholder="请选择平台" placeholder="请选择平台"
@change="handlePlatformChange" @change="handlePlatformChange"
> />
<SelectOption
v-for="item in PLATFORM_ORIGINS"
:key="item.value"
:value="item.value"
:label="`${item.name}`">
{{ item.name }}
</SelectOption>
</Select>
</FormItem> </FormItem>
<FormItem label="渠道"> <FormItem label="渠道">
<Select option-label-prop="label" <Select
option-label-prop="label"
v-model:value="form.channel" v-model:value="form.channel"
:disabled="loading || !isAdd" :disabled="loading || !isAdd"
:options="(selectedPlatform?.channels || []).map((item) => ({ label: item.name, value: item.value }))"
placeholder="请选择渠道" placeholder="请选择渠道"
> />
<SelectOption
v-for="item in selectedPlatform?.channels || []"
:key="item.value"
:value="item.value"
:label="`${item.name}`">
{{ item.name }}
</SelectOption>
</Select>
</FormItem> </FormItem>
<FormItem label="版本号"> <FormItem label="版本号">
@ -254,31 +241,51 @@ async function handleSubmit() {
</FormItem> </FormItem>
<FormItem label="强更"> <FormItem label="强更">
<Select option-label-prop="label" v-model:value="form.forceUpdate" :disabled="loading"> <Select
<SelectOption :value="false" label="否"></SelectOption> option-label-prop="label"
<SelectOption :value="true" label="是"></SelectOption> v-model:value="form.forceUpdate"
</Select> :disabled="loading"
:options="[
{ label: '否', value: false as any },
{ label: '是', value: true as any },
]"
/>
</FormItem> </FormItem>
<FormItem label="app类型"> <FormItem label="app类型">
<Select option-label-prop="label" v-model:value="form.appType" :disabled="loading"> <Select
<SelectOption value="CHAT" label="语聊">语聊</SelectOption> option-label-prop="label"
<SelectOption value="WORSHIP" label="朝拜">朝拜</SelectOption> v-model:value="form.appType"
</Select> :disabled="loading"
:options="[
{ label: '语聊', value: 'CHAT' },
{ label: '朝拜', value: 'WORSHIP' },
]"
/>
</FormItem> </FormItem>
<FormItem label="审核中"> <FormItem label="审核中">
<Select option-label-prop="label" v-model:value="form.review" :disabled="loading"> <Select
<SelectOption :value="false" label="否"></SelectOption> option-label-prop="label"
<SelectOption :value="true" label="是"></SelectOption> v-model:value="form.review"
</Select> :disabled="loading"
:options="[
{ label: '否', value: false as any },
{ label: '是', value: true as any },
]"
/>
</FormItem> </FormItem>
<FormItem label="补丁"> <FormItem label="补丁">
<Select option-label-prop="label" v-model:value="form.patch" :disabled="loading"> <Select
<SelectOption :value="false" label="否"></SelectOption> option-label-prop="label"
<SelectOption :value="true" label="是"></SelectOption> v-model:value="form.patch"
</Select> :disabled="loading"
:options="[
{ label: '否', value: false as any },
{ label: '是', value: true as any },
]"
/>
</FormItem> </FormItem>
<FormItem label="安装包大小"> <FormItem label="安装包大小">

View File

@ -28,7 +28,6 @@ import {
Modal, Modal,
Pagination, Pagination,
Select, Select,
SelectOption,
Switch, Switch,
Table, Table,
Tag, Tag,
@ -236,26 +235,28 @@ loadData(true);
option-label-prop="label" option-label-prop="label"
v-model:value="query.shelfStatus" v-model:value="query.shelfStatus"
allow-clear allow-clear
:options="[
{ label: '上架', value: 1 },
{ label: '下架', value: 0 },
]"
placeholder="状态" placeholder="状态"
style="width: 140px" style="width: 140px"
@change="loadData(true)" @change="loadData(true)"
> />
<SelectOption :value="1" label="上架">上架</SelectOption>
<SelectOption :value="0" label="下架">下架</SelectOption>
</Select>
</InlineFilterField> </InlineFilterField>
<InlineFilterField label="KTV"> <InlineFilterField label="KTV">
<Select <Select
option-label-prop="label" option-label-prop="label"
v-model:value="query.ktvStatus" v-model:value="query.ktvStatus"
allow-clear allow-clear
:options="[
{ label: '是', value: 1 },
{ label: '否', value: 0 },
]"
placeholder="KTV表情" placeholder="KTV表情"
style="width: 140px" style="width: 140px"
@change="loadData(true)" @change="loadData(true)"
> />
<SelectOption :value="1" label="是"></SelectOption>
<SelectOption :value="0" label="否"></SelectOption>
</Select>
</InlineFilterField> </InlineFilterField>
<InlineFilterField label="分组Code" :label-width="88"> <InlineFilterField label="分组Code" :label-width="88">
<Input <Input
@ -380,17 +381,25 @@ loadData(true);
</div> </div>
<div class="form-item"> <div class="form-item">
<label class="form-label">/下架</label> <label class="form-label">/下架</label>
<Select option-label-prop="label" v-model:value="form.shelfStatus"> <Select
<SelectOption :value="1" label="上架">上架</SelectOption> option-label-prop="label"
<SelectOption :value="0" label="下架">下架</SelectOption> v-model:value="form.shelfStatus"
</Select> :options="[
{ label: '上架', value: 1 },
{ label: '下架', value: 0 },
]"
/>
</div> </div>
<div class="form-item"> <div class="form-item">
<label class="form-label">ktv表情</label> <label class="form-label">ktv表情</label>
<Select option-label-prop="label" v-model:value="form.ktvStatus"> <Select
<SelectOption :value="1" label="是"></SelectOption> option-label-prop="label"
<SelectOption :value="0" label="否"></SelectOption> v-model:value="form.ktvStatus"
</Select> :options="[
{ label: '是', value: 1 },
{ label: '否', value: 0 },
]"
/>
</div> </div>
<div class="form-item"> <div class="form-item">
<label class="form-label">权重</label> <label class="form-label">权重</label>

View File

@ -18,7 +18,6 @@ import {
Modal, Modal,
Pagination, Pagination,
Select, Select,
SelectOption,
Space, Space,
Table, Table,
Tag, Tag,
@ -149,20 +148,14 @@ function resolveApprovalUser(record: Record<string, any>) {
<div class="toolbar"> <div class="toolbar">
<Space wrap> <Space wrap>
<Select option-label-prop="label" <Select
option-label-prop="label"
v-model:value="query.violationType" v-model:value="query.violationType"
allow-clear allow-clear
:options="APPROVAL_TYPE_OPTIONS.map((item) => ({ label: item.label, value: item.value }))"
placeholder="审批类型" placeholder="审批类型"
style="width: 240px" style="width: 240px"
> />
<SelectOption
v-for="item in APPROVAL_TYPE_OPTIONS"
:key="item.value"
:value="item.value"
:label="`${item.label}`">
{{ item.label }}
</SelectOption>
</Select>
<DateRangePicker <DateRangePicker
v-model:value="rangeDate" v-model:value="rangeDate"
show-time show-time

View File

@ -31,7 +31,6 @@ import {
Modal, Modal,
Pagination, Pagination,
Select, Select,
SelectOption,
Space, Space,
Table, Table,
Tag, Tag,
@ -460,19 +459,13 @@ loadData(true);
<div class="form-item"> <div class="form-item">
<label class="form-label">数据类型</label> <label class="form-label">数据类型</label>
<Select option-label-prop="label" <Select
option-label-prop="label"
v-model:value="form.dataType" v-model:value="form.dataType"
:options="ENUM_CONFIG_DATA_TYPES.map((item) => ({ label: item.name, value: item.value }))"
placeholder="请选择数据类型" placeholder="请选择数据类型"
@change="handleDataTypeChange" @change="handleDataTypeChange"
> />
<SelectOption
v-for="item in ENUM_CONFIG_DATA_TYPES"
:key="item.value"
:value="item.value"
:label="`${item.name}`">
{{ item.name }}
</SelectOption>
</Select>
</div> </div>
<div class="form-item"> <div class="form-item">
@ -502,23 +495,25 @@ loadData(true);
<div class="form-item"> <div class="form-item">
<label class="form-label">操作状态</label> <label class="form-label">操作状态</label>
<Select option-label-prop="label" v-model:value="form.inoperable" placeholder="请选择操作状态"> <Select
<SelectOption option-label-prop="label"
v-for="item in ENUM_CONFIG_OPERATES" v-model:value="form.inoperable"
:key="String(item.value)" :options="ENUM_CONFIG_OPERATES.map((item) => ({ label: item.name, value: item.value as any }))"
:value="item.value" placeholder="请选择操作状态"
:label="`${item.name}`"> />
{{ item.name }}
</SelectOption>
</Select>
</div> </div>
<div class="form-item"> <div class="form-item">
<label class="form-label">返回APP</label> <label class="form-label">返回APP</label>
<Select option-label-prop="label" v-model:value="form.returnApp" placeholder="请选择是否返回APP"> <Select
<SelectOption :value="true" label="是"></SelectOption> option-label-prop="label"
<SelectOption :value="false" label="否"></SelectOption> v-model:value="form.returnApp"
</Select> :options="[
{ label: '是', value: true as any },
{ label: '否', value: false as any },
]"
placeholder="请选择是否返回APP"
/>
</div> </div>
</div> </div>
</Modal> </Modal>

View File

@ -25,7 +25,6 @@ import {
Card, Card,
Modal, Modal,
Select, Select,
SelectOption,
Table, Table,
message, message,
} from 'antdv-next'; } from 'antdv-next';
@ -302,46 +301,34 @@ loadData();
<div class="form-grid"> <div class="form-grid">
<div class="form-item"> <div class="form-item">
<label class="form-label">平台</label> <label class="form-label">平台</label>
<Select option-label-prop="label" v-model:value="form.platform" placeholder="支付平台"> <Select
<SelectOption option-label-prop="label"
v-for="item in PLATFORM_ORIGINS_V2" v-model:value="form.platform"
:key="item.value" :options="PLATFORM_ORIGINS_V2.map((item) => ({ label: item.name, value: item.value }))"
:value="item.value" placeholder="支付平台"
:label="`${item.name}`"> />
{{ item.name }}
</SelectOption>
</Select>
</div> </div>
<div class="form-item"> <div class="form-item">
<label class="form-label">区域</label> <label class="form-label">区域</label>
<Select option-label-prop="label" <Select
option-label-prop="label"
v-model:value="form.regionList" v-model:value="form.regionList"
:loading="regionLoading" :loading="regionLoading"
:options="regions.map((item) => ({ label: item.regionName, value: item.id }))"
mode="multiple" mode="multiple"
placeholder="请选择区域" placeholder="请选择区域"
> />
<SelectOption
v-for="item in regions"
:key="item.id"
:value="item.id"
:label="`${item.regionName}`">
{{ item.regionName }}
</SelectOption>
</Select>
</div> </div>
<div class="form-item"> <div class="form-item">
<label class="form-label">状态</label> <label class="form-label">状态</label>
<Select option-label-prop="label" v-model:value="form.showcase" placeholder="状态"> <Select
<SelectOption option-label-prop="label"
v-for="item in PRODUCT_SHOWCASE_OPTIONS" v-model:value="form.showcase"
:key="String(item.value)" :options="PRODUCT_SHOWCASE_OPTIONS.map((item) => ({ label: item.name, value: item.value as any }))"
:value="item.value" placeholder="状态"
:label="`${item.name}`"> />
{{ item.name }}
</SelectOption>
</Select>
</div> </div>
<div class="form-item"> <div class="form-item">

View File

@ -18,7 +18,6 @@ import {
InputNumber, InputNumber,
Modal, Modal,
Select, Select,
SelectOption,
Space, Space,
message, message,
} from 'antdv-next'; } from 'antdv-next';
@ -195,21 +194,21 @@ async function handleSubmit() {
<Input v-model:value="form.description" /> <Input v-model:value="form.description" />
</FormItem> </FormItem>
<FormItem label="语言"> <FormItem label="语言">
<Select option-label-prop="children" v-model:value="form.languageType"> <Select
<SelectOption option-label-prop="label"
v-for="item in LANGUAGE_OPTIONS" v-model:value="form.languageType"
:key="item.value" :options="LANGUAGE_OPTIONS.map((item) => ({ label: item.name, value: item.value }))"
:value="item.value" />
>
{{ item.name }}
</SelectOption>
</Select>
</FormItem> </FormItem>
<FormItem label="状态"> <FormItem label="状态">
<Select option-label-prop="children" v-model:value="form.del"> <Select
<SelectOption :value="false">上架</SelectOption> option-label-prop="label"
<SelectOption :value="true">下架</SelectOption> v-model:value="form.del"
</Select> :options="[
{ label: '上架', value: false as any },
{ label: '下架', value: true as any },
]"
/>
</FormItem> </FormItem>
<FormItem label="排序"> <FormItem label="排序">
<InputNumber <InputNumber

View File

@ -27,7 +27,6 @@ import {
Modal, Modal,
Pagination, Pagination,
Select, Select,
SelectOption,
Space, Space,
Table, Table,
Tag, Tag,
@ -358,59 +357,44 @@ watch(
></SysOriginSelect> ></SysOriginSelect>
</FormItem> </FormItem>
<FormItem v-if="!form.id" label="等级Key"> <FormItem v-if="!form.id" label="等级Key">
<Select option-label-prop="children" v-model:value="form.levelKey"> <Select
<SelectOption option-label-prop="label"
v-for="item in FAMILY_LEVEL_OPTIONS" v-model:value="form.levelKey"
:key="item.value" :options="FAMILY_LEVEL_OPTIONS.map((item) => ({ label: item.name, value: item.value }))"
:value="item.value" />
>
{{ item.name }}
</SelectOption>
</Select>
</FormItem> </FormItem>
<FormItem label="等级类型"> <FormItem label="等级类型">
<Select option-label-prop="children" v-model:value="form.levelType"> <Select
<SelectOption option-label-prop="label"
v-for="item in FAMILY_TYPE_OPTIONS" v-model:value="form.levelType"
:key="item.value" :options="FAMILY_TYPE_OPTIONS.map((item) => ({ label: item.name, value: item.value }))"
:value="item.value" />
>
{{ item.name }}
</SelectOption>
</Select>
</FormItem> </FormItem>
<FormItem label="头像框"> <FormItem label="头像框">
<Select option-label-prop="children" v-model:value="form.avatarFrameId" allow-clear> <Select
<SelectOption option-label-prop="label"
v-for="item in avatarFrameOptions" v-model:value="form.avatarFrameId"
:key="item.id" allow-clear
:value="item.id" :options="avatarFrameOptions.map((item) => ({ label: item.name || item.id, value: item.id }))"
> />
{{ item.name || item.id }}
</SelectOption>
</Select>
</FormItem> </FormItem>
<FormItem label="徽章"> <FormItem label="徽章">
<Select option-label-prop="children" v-model:value="form.badgeId"> <Select
<SelectOption option-label-prop="label"
v-for="item in badgeOptions" v-model:value="form.badgeId"
:key="item.id" :options="badgeOptions.map((item) => ({ label: item.name || item.id, value: item.id }))"
:value="item.id" />
>
{{ item.name || item.id }}
</SelectOption>
</Select>
</FormItem> </FormItem>
<FormItem label="礼物"> <FormItem label="礼物">
<Select option-label-prop="children" v-model:value="form.giftId" allow-clear> <Select
<SelectOption option-label-prop="label"
v-for="item in giftOptions" v-model:value="form.giftId"
:key="item.id" allow-clear
:value="item.id" :options="giftOptions.map((item) => ({
> label: item.giftCode ? `${item.giftCode} - ${item.giftName}` : item.giftName || item.id,
{{ item.giftCode ? `${item.giftCode} - ${item.giftName}` : item.giftName || item.id }} value: item.id,
</SelectOption> }))"
</Select> />
</FormItem> </FormItem>
<FormItem label="贡献值"> <FormItem label="贡献值">
<InputNumber <InputNumber

View File

@ -14,7 +14,6 @@ import {
Input, Input,
Modal, Modal,
Select, Select,
SelectOption,
message, message,
} from 'antdv-next'; } from 'antdv-next';
@ -100,28 +99,20 @@ async function handleSubmit() {
> >
<Form layout="vertical"> <Form layout="vertical">
<FormItem label="类型"> <FormItem label="类型">
<Select option-label-prop="label" v-model:value="formData.type" placeholder="请选择"> <Select
<SelectOption option-label-prop="label"
v-for="item in BEAN_OPERATION_TYPE_OPTIONS" v-model:value="formData.type"
:key="item.value" :options="BEAN_OPERATION_TYPE_OPTIONS.map((item) => ({ label: item.name, value: item.value }))"
:label="item.name" placeholder="请选择"
:value="item.value" />
>
{{ item.name }}
</SelectOption>
</Select>
</FormItem> </FormItem>
<FormItem label="原因"> <FormItem label="原因">
<Select option-label-prop="label" v-model:value="formData.reason" placeholder="请选择"> <Select
<SelectOption option-label-prop="label"
v-for="item in getReasonOptions()" v-model:value="formData.reason"
:key="item.value" :options="getReasonOptions().map((item) => ({ label: item.name, value: item.value }))"
:label="item.name" placeholder="请选择"
:value="item.value" />
>
{{ item.name }}
</SelectOption>
</Select>
</FormItem> </FormItem>
<FormItem label="豆子"> <FormItem label="豆子">
<Input <Input

View File

@ -17,7 +17,6 @@ import {
DateRangePicker, DateRangePicker,
Pagination, Pagination,
Select, Select,
SelectOption,
Table, Table,
Tag, Tag,
} from 'antdv-next'; } from 'antdv-next';
@ -132,39 +131,28 @@ if (!props.userId && sysOriginOptions.length > 0) {
:options="sysOriginOptions" :options="sysOriginOptions"
></SysOriginSelect> ></SysOriginSelect>
<Select option-label-prop="label" <Select
option-label-prop="label"
v-model:value="query.type" v-model:value="query.type"
allow-clear allow-clear
:options="INCOME_EXPENSE_OPTIONS.map((item) => ({ label: item.name, value: item.value }))"
placeholder="类型" placeholder="类型"
style="width: 120px" style="width: 120px"
@change="handleSearch" @change="handleSearch"
> />
<SelectOption <Select
v-for="item in INCOME_EXPENSE_OPTIONS" option-label-prop="label"
:key="item.value"
:label="item.name"
:value="item.value"
>
{{ item.name }}
</SelectOption>
</Select>
<Select option-label-prop="label"
v-model:value="query.origin" v-model:value="query.origin"
allow-clear allow-clear
:options="BEAN_ORIGIN_OPTIONS.map((item) => ({
label: `${item.name} / ${item.value}`,
value: item.value,
}))"
placeholder="来源" placeholder="来源"
show-search show-search
style="width: 160px" style="width: 160px"
@change="handleSearch" @change="handleSearch"
> />
<SelectOption
v-for="item in BEAN_ORIGIN_OPTIONS"
:key="item.value"
:label="`${item.name} / ${item.value}`"
:value="item.value"
>
{{ item.name }} / {{ item.value }}
</SelectOption>
</Select>
<AccountInput <AccountInput
v-if="!userId" v-if="!userId"
v-model:value="query.userId" v-model:value="query.userId"

View File

@ -24,7 +24,6 @@ import {
Radio, Radio,
RadioGroup, RadioGroup,
Select, Select,
SelectOption,
Space, Space,
Tabs, Tabs,
TabPane, TabPane,
@ -560,34 +559,26 @@ async function handleSubmit() {
:key="`condition-${index}`" :key="`condition-${index}`"
class="condition-row" class="condition-row"
> >
<Select option-label-prop="label" <Select
option-label-prop="label"
v-model:value="item.conditionType" v-model:value="item.conditionType"
:options="PET_UNLOCK_CONDITION_OPTIONS.map((option) => ({
label: option.name,
value: option.value,
}))"
placeholder="类型" placeholder="类型"
style="width: 220px" style="width: 220px"
> />
<SelectOption <Select
v-for="option in PET_UNLOCK_CONDITION_OPTIONS" option-label-prop="label"
:key="option.value"
:label="option.name"
:value="option.value"
>
{{ option.name }}
</SelectOption>
</Select>
<Select option-label-prop="label"
v-model:value="item.unit" v-model:value="item.unit"
:options="UNIT_CONDITION_OPTIONS.map((option) => ({
label: option.name,
value: option.value,
}))"
placeholder="条件" placeholder="条件"
style="width: 140px" style="width: 140px"
> />
<SelectOption
v-for="option in UNIT_CONDITION_OPTIONS"
:key="option.value"
:label="option.name"
:value="option.value"
>
{{ option.name }}
</SelectOption>
</Select>
<InputNumber <InputNumber
v-model:value="item.quantity" v-model:value="item.quantity"
:max="999999" :max="999999"

View File

@ -11,7 +11,6 @@ import {
Input, Input,
Pagination, Pagination,
Select, Select,
SelectOption,
Tag, Tag,
} from 'antdv-next'; } from 'antdv-next';
@ -91,22 +90,15 @@ function selectRecord(record: Record<string, any>) {
> >
<div class="selector-layout"> <div class="selector-layout">
<div class="selector-toolbar"> <div class="selector-toolbar">
<Select option-label-prop="label" <Select
option-label-prop="label"
v-model:value="query.shelfStatus" v-model:value="query.shelfStatus"
allow-clear allow-clear
:options="PRODUCT_SHOWCASE_OPTIONS.map((item) => ({ label: item.name, value: item.value as any }))"
placeholder="上/下架" placeholder="上/下架"
style="width: 140px" style="width: 140px"
@change="handleSearch" @change="handleSearch"
> />
<SelectOption
v-for="item in PRODUCT_SHOWCASE_OPTIONS"
:key="String(item.value)"
:label="item.name"
:value="item.value"
>
{{ item.name }}
</SelectOption>
</Select>
<Input <Input
v-model:value="query.id" v-model:value="query.id"
allow-clear allow-clear

View File

@ -33,7 +33,6 @@ import {
RadioGroup, RadioGroup,
Row, Row,
Select, Select,
SelectOption,
Space, Space,
Spin, Spin,
Tag, Tag,
@ -318,21 +317,18 @@ loadResources();
<Input v-model:value="form.router" :disabled="saving" placeholder="请输入菜单路由" /> <Input v-model:value="form.router" :disabled="saving" placeholder="请输入菜单路由" />
</FormItem> </FormItem>
<FormItem v-if="isMenuTypeToMenu" label="对应资源"> <FormItem v-if="isMenuTypeToMenu" label="对应资源">
<Select option-label-prop="children" <Select
option-label-prop="label"
v-model:value="form.resourceIds" v-model:value="form.resourceIds"
:disabled="saving" :disabled="saving"
:loading="resourcesLoading" :loading="resourcesLoading"
:options="resources.map((item) => ({
label: `${item.resourceName}${item.perm}`,
value: item.id,
}))"
mode="multiple" mode="multiple"
placeholder="请选择资源" placeholder="请选择资源"
> />
<SelectOption
v-for="item in resources"
:key="item.id"
:value="item.id"
>
{{ item.resourceName }}{{ item.perm }}
</SelectOption>
</Select>
</FormItem> </FormItem>
<FormItem label="修改时间"> <FormItem label="修改时间">
{{ selectedNode?.updateTime ? formatDate(selectedNode.updateTime) : '-' }} {{ selectedNode?.updateTime ? formatDate(selectedNode.updateTime) : '-' }}

View File

@ -13,7 +13,6 @@ import {
Input, Input,
Modal, Modal,
Select, Select,
SelectOption,
TextArea, TextArea,
message, message,
} from 'antdv-next'; } from 'antdv-next';
@ -149,16 +148,12 @@ function handleDelete(record: Record<string, any>, index: number) {
> >
<Form layout="vertical"> <Form layout="vertical">
<FormItem label="类型"> <FormItem label="类型">
<Select option-label-prop="label" v-model:value="form.type" placeholder="选择类型"> <Select
<SelectOption option-label-prop="label"
v-for="item in TEAM_CONTACT_TYPE_OPTIONS" v-model:value="form.type"
:key="item.value" :options="TEAM_CONTACT_TYPE_OPTIONS.map((item) => ({ label: item.name, value: item.value }))"
:label="item.name" placeholder="选择类型"
:value="item.value" />
>
{{ item.name }}
</SelectOption>
</Select>
</FormItem> </FormItem>
<FormItem label="联系"> <FormItem label="联系">
<Input <Input

View File

@ -19,7 +19,6 @@ import {
Empty, Empty,
Input, Input,
Select, Select,
SelectOption,
Space, Space,
Tag, Tag,
message, message,
@ -526,20 +525,13 @@ onBeforeUnmount(() => {
<template v-else> <template v-else>
<div class="draft-field"> <div class="draft-field">
<label>资源</label> <label>资源</label>
<Select option-label-prop="label" <Select
option-label-prop="label"
v-model:value="draft.content" v-model:value="draft.content"
:options="getOptions(draft.clickType).map((item) => ({ label: item.name, value: item.id }))"
show-search show-search
@change="applySelectedOption" @change="applySelectedOption"
> />
<SelectOption
v-for="item in getOptions(draft.clickType)"
:key="item.id"
:label="item.name"
:value="item.id"
>
{{ item.name }}
</SelectOption>
</Select>
</div> </div>
<div <div
v-if="isCustomize(draft.clickType)" v-if="isCustomize(draft.clickType)"
@ -557,20 +549,16 @@ onBeforeUnmount(() => {
> >
<label>{{ isBadge(draft.clickType) ? '天数' : '数量/天数' }}</label> <label>{{ isBadge(draft.clickType) ? '天数' : '数量/天数' }}</label>
<template v-if="isBadge(draft.clickType)"> <template v-if="isBadge(draft.clickType)">
<Select option-label-prop="label" <Select
option-label-prop="label"
v-model:value="draft.quantity" v-model:value="draft.quantity"
allow-clear allow-clear
:options="TEAM_POLICY_BADGE_DAY_OPTIONS.map((item) => ({
label: item.label,
value: item.value,
}))"
placeholder="0表示永久" placeholder="0表示永久"
> />
<SelectOption
v-for="item in TEAM_POLICY_BADGE_DAY_OPTIONS"
:key="item.value"
:label="item.label"
:value="item.value"
>
{{ item.label }}
</SelectOption>
</Select>
</template> </template>
<template v-else> <template v-else>
<Input <Input

View File

@ -24,7 +24,6 @@ import {
FormItem, FormItem,
Input, Input,
Select, Select,
SelectOption,
Table, Table,
Tag, Tag,
message, message,
@ -355,35 +354,21 @@ watch(
> >
<Form layout="vertical"> <Form layout="vertical">
<FormItem label="区域"> <FormItem label="区域">
<Select option-label-prop="label" <Select
option-label-prop="label"
v-model:value="excelQuery.region" v-model:value="excelQuery.region"
:options="exportRegionOptions.map((item) => ({ label: item.regionName, value: item.id }))"
placeholder="区域" placeholder="区域"
> />
<SelectOption
v-for="item in exportRegionOptions"
:key="item.id"
:label="item.regionName"
:value="item.id"
>
{{ item.regionName }}
</SelectOption>
</Select>
</FormItem> </FormItem>
<FormItem label="状态"> <FormItem label="状态">
<Select option-label-prop="label" <Select
option-label-prop="label"
v-model:value="excelQuery.billStatusList" v-model:value="excelQuery.billStatusList"
:options="TEAM_BILL_STATUS_OPTIONS.map((item) => ({ label: item.name, value: item.value }))"
mode="multiple" mode="multiple"
placeholder="账单状态" placeholder="账单状态"
> />
<SelectOption
v-for="item in TEAM_BILL_STATUS_OPTIONS"
:key="item.value"
:label="item.name"
:value="item.value"
>
{{ item.name }}
</SelectOption>
</Select>
</FormItem> </FormItem>
<FormItem label="时间"> <FormItem label="时间">
<DatePicker <DatePicker