feat: 新增导入字段,显示实名认证策略字段
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 4m9s

This commit is contained in:
sexygoat
2026-04-17 18:40:54 +08:00
parent 90b13eb5ec
commit b48d6a1894
16 changed files with 267 additions and 130 deletions

View File

@@ -104,7 +104,7 @@
label: '到期计时基准',
formatter: (_, data) => {
if (!data.expiry_base) return '--'
return data.expiry_base === 'from_activation' ? '实名后开始计时' : '购买即开始计时'
return data.expiry_base === 'from_activation' ? '实名激活时起算' : '购买时起算'
}
},
{

View File

@@ -47,35 +47,36 @@
<ElDialog
v-model="dialogVisible"
:title="dialogType === 'add' ? '新增套餐' : '编辑套餐'"
width="45%"
width="50%"
:close-on-click-modal="false"
@closed="handleDialogClosed"
>
<ElForm ref="formRef" :model="form" :rules="rules" label-width="120px">
<ElRow :gutter="20">
<ElCol :span="24">
<ElCol :span="12">
<ElFormItem label="套餐编码" prop="package_code">
<div style="display: flex; gap: 8px">
<ElInput
v-model="form.package_code"
placeholder="请输入套餐编码或点击生成"
:disabled="dialogType === 'edit'"
clearable
/>
<ElButton v-if="dialogType === 'add'" @click="handleGeneratePackageCode">
生成编码
</ElButton>
</div>
<ElInput
v-model="form.package_code"
placeholder="请输入套餐编码或点击生成"
:disabled="dialogType === 'edit'"
clearable
>
<template #append>
<ElButton v-if="dialogType === 'add'" @click="handleGeneratePackageCode"
>生成编码</ElButton
>
</template>
</ElInput>
</ElFormItem>
</ElCol>
</ElRow>
<ElRow :gutter="20">
<ElCol :span="12">
<ElFormItem label="套餐名称" prop="package_name">
<ElInput v-model="form.package_name" placeholder="请输入套餐名称" clearable />
</ElFormItem>
</ElCol>
</ElRow>
<ElRow :gutter="20">
<ElCol :span="12">
<ElFormItem label="所属系列" prop="series_id">
<ElSelect
@@ -248,8 +249,8 @@
style="width: 100%"
clearable
>
<ElOption label="实名后开始计时" value="from_activation" />
<ElOption label="购买即开始计时" value="from_purchase" />
<ElOption label="实名激活时起算" value="from_activation" />
<ElOption label="购买时起算" value="from_purchase" />
</ElSelect>
</ElFormItem>
</ElCol>

View File

@@ -48,25 +48,23 @@
<ElDialog
v-model="dialogVisible"
:title="dialogType === 'add' ? '新增套餐系列' : '编辑套餐系列'"
width="45%"
width="30%"
:close-on-click-modal="false"
>
<ElForm ref="formRef" :model="form" :rules="rules" label-width="120px">
<ElFormItem label="系列编码" prop="series_code">
<div style="display: flex; gap: 8px">
<ElInput
v-model="form.series_code"
placeholder="请输入系列编码或点击生成"
:disabled="dialogType === 'edit'"
clearable
style="flex: 1"
/>
<CodeGeneratorButton
v-if="dialogType === 'add'"
code-type="series"
@generated="handleCodeGenerated"
/>
</div>
<ElInput
v-model="form.series_code"
placeholder="请输入系列编码或点击生成"
:disabled="dialogType === 'edit'"
clearable
>
<template #append>
<ElButton v-if="dialogType === 'add'" @click="handleGenerateSeriesCode"
>生成编码</ElButton
>
</template>
</ElInput>
</ElFormItem>
<ElFormItem label="系列名称" prop="series_name">
<ElInput v-model="form.series_name" placeholder="请输入系列名称" clearable />
@@ -383,7 +381,7 @@
import type { SearchFormItem } from '@/types'
import { useCheckedColumns } from '@/composables/useCheckedColumns'
import { useAuth } from '@/composables/useAuth'
import CodeGeneratorButton from '@/components/business/CodeGeneratorButton.vue'
import { generateSeriesCode } from '@/utils/codeGenerator'
import { formatDateTime } from '@/utils/business/format'
import {
CommonStatus,
@@ -872,12 +870,13 @@
}
// 处理编码生成
const handleCodeGenerated = (code: string) => {
form.series_code = code
const handleGenerateSeriesCode = () => {
form.series_code = generateSeriesCode()
// 清除该字段的验证错误提示
nextTick(() => {
formRef.value?.clearValidate('series_code')
})
ElMessage.success('编码生成成功')
}
// 删除套餐系列

View File

@@ -209,7 +209,7 @@
<ElDialog
v-model="dialogVisible"
:title="dialogType === 'add' ? '新增代理系列授权' : '编辑代理系列授权'"
width="45%"
width="40%"
:close-on-click-modal="false"
@closed="handleDialogClosed"
>