Compare commits

...

2 Commits

Author SHA1 Message Date
1378012178@qq.com 7aa15bbbae Merge branch 'master' of http://47.115.223.229:8888/yangjun/hldy_vue 2025-03-17 13:55:41 +08:00
1378012178@qq.com e8044d1d3e 1、服务指令自动生成代码调整
2、增加服务类别、服务类型、指令标签列合并(合并有顺序:服务类别 -> 服务类型 -> 指令标签)
2025-03-17 13:55:31 +08:00
6 changed files with 194 additions and 166 deletions

View File

@ -61,7 +61,7 @@ const confirmLoading = ref<boolean>(false);
const validatorRules = reactive({ const validatorRules = reactive({
categoryName: [{ required: true, message: '请输入服务类别名称!' },], categoryName: [{ required: true, message: '请输入服务类别名称!' },],
sort: [{ required: true, message: '请输入排序!' }, { pattern: /^-?\d+$/, message: '请输入整数!' },], sort: [{ required: true, message: '请输入排序!' }, { pattern: /^-?\d+$/, message: '请输入整数!' },],
izEnabled: [{ required: true, message: '是否启用!' },], izEnabled: [{ required: true, message: '请选择是否启用!' },],
}); });
const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: false }); const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: false });

View File

@ -6,132 +6,151 @@ import { getWeekMonthQuarterYear } from '/@/utils';
//列表数据 //列表数据
export const columns: BasicColumn[] = [ export const columns: BasicColumn[] = [
{ {
title: '服务类别id', title: '服务类别',
align: "center", align: 'center',
sorter: true, dataIndex: 'categoryId_dictText',
dataIndex: 'categoryId_dictText' customCell: (record, index, column) => {
if (record.categoryRowSpan != null) {
return { rowSpan: record.categoryRowSpan };
}
},
}, },
{ {
title: '服务类型id', title: '服务类型',
align: "center", align: 'center',
sorter: true, dataIndex: 'typeId_dictText',
dataIndex: 'typeId_dictText' customCell: (record, index, column) => {
if (record.typeRowSpan != null) {
return { rowSpan: record.typeRowSpan };
}
},
}, },
{ {
title: '指令标签id', title: '指令标签',
align: "center", align: 'center',
dataIndex: 'instructionTagId_dictText' dataIndex: 'instructionTagId_dictText',
width: 100,
customCell: (record, index, column) => {
if (record.instructionRowSpan != null) {
return { rowSpan: record.instructionRowSpan };
}
},
}, },
{ {
title: '服务指令名称', title: '服务指令名称',
align: "center", align: 'center',
dataIndex: 'directiveName' dataIndex: 'directiveName',
}, },
{ {
title: '收费价格', title: '收费价格',
align: "center", align: 'center',
dataIndex: 'tollPrice' dataIndex: 'tollPrice',
width: 100,
},
// {
// title: '提成价格',
// align: "center",
// dataIndex: 'comPrice'
// },
{
title: '医保报销',
align: 'center',
dataIndex: 'izReimbursement_dictText',
width: 100,
}, },
{ {
title: '提成价格', title: '机构优惠',
align: "center", align: 'center',
dataIndex: 'comPrice' dataIndex: 'izPreferential_dictText',
}, width: 100,
{
title: '是否参与医保报销 0不报销 1报销',
align: "center",
dataIndex: 'izReimbursement_dictText'
},
{
title: '是否参与机构优惠 0不参与 1参与',
align: "center",
dataIndex: 'izPreferential_dictText'
}, },
{ {
title: '收费频次', title: '收费频次',
align: "center", align: 'center',
dataIndex: 'chargingFrequency_dictText' dataIndex: 'chargingFrequency_dictText',
}, },
{ {
title: '周期类型', title: '周期类型',
align: "center", align: 'center',
dataIndex: 'cycleType_dictText' dataIndex: 'cycleType_dictText',
},
{
title: '排序',
align: "center",
sorter: true,
dataIndex: 'sort'
},
{
title: '服务说明',
align: "center",
dataIndex: 'serviceContent'
}, },
// {
// title: '排序',
// align: "center",
// sorter: true,
// dataIndex: 'sort'
// },
// {
// title: '服务说明',
// align: "center",
// dataIndex: 'serviceContent'
// },
{ {
title: '服务时长(分钟)', title: '服务时长(分钟)',
align: "center", align: 'center',
dataIndex: 'serviceDuration' dataIndex: 'serviceDuration',
width: 135,
}, },
{ {
title: '是否启用', title: '是否启用',
align: "center", align: 'center',
dataIndex: 'izEnabled_dictText' dataIndex: 'izEnabled_dictText',
}, width: 100,
{
title: '创建人',
align: "center",
dataIndex: 'createBy'
},
{
title: '创建日期',
align: "center",
sorter: true,
dataIndex: 'createTime'
},
{
title: '更新人',
align: "center",
dataIndex: 'updateBy'
},
{
title: '更新日期',
align: "center",
sorter: true,
dataIndex: 'updateTime'
},
{
title: '语音文件',
align: "center",
dataIndex: 'mp3File',
},
{
title: '视频文件',
align: "center",
dataIndex: 'mp4File',
}, },
// {
// title: '语音文件',
// align: "center",
// dataIndex: 'mp3File',
// },
// {
// title: '视频文件',
// align: "center",
// dataIndex: 'mp4File',
// },
// {
// title: '创建人',
// align: "center",
// dataIndex: 'createBy'
// },
// {
// title: '创建日期',
// align: "center",
// sorter: true,
// dataIndex: 'createTime'
// },
// {
// title: '更新人',
// align: "center",
// dataIndex: 'updateBy'
// },
// {
// title: '更新日期',
// align: "center",
// sorter: true,
// dataIndex: 'updateTime'
// },
]; ];
// 高级查询数据 // 高级查询数据
export const superQuerySchema = { export const superQuerySchema = {
categoryId: {title: '服务类别id',order: 0,view: 'list', type: 'string',dictCode: '',}, categoryId: { title: '服务类别id', order: 0, view: 'list', type: 'string', dictCode: '' },
typeId: {title: '服务类型id',order: 1,view: 'list', type: 'string',dictCode: '',}, typeId: { title: '服务类型id', order: 1, view: 'list', type: 'string', dictCode: '' },
instructionTagId: {title: '指令标签id',order: 2,view: 'list', type: 'string',dictCode: 'instruction_tag',}, instructionTagId: { title: '指令标签id', order: 2, view: 'list', type: 'string', dictCode: 'instruction_tag' },
directiveName: {title: '服务指令名称',order: 3,view: 'text', type: 'string',}, directiveName: { title: '服务指令名称', order: 3, view: 'text', type: 'string' },
tollPrice: {title: '收费价格',order: 4,view: 'number', type: 'number',}, tollPrice: { title: '收费价格', order: 4, view: 'number', type: 'number' },
comPrice: {title: '提成价格',order: 5,view: 'number', type: 'number',}, comPrice: { title: '提成价格', order: 5, view: 'number', type: 'number' },
izReimbursement: {title: '是否参与医保报销 0不报销 1报销',order: 6,view: 'radio', type: 'string',dictCode: '',}, izReimbursement: { title: '医保报销', order: 6, view: 'radio', type: 'string', dictCode: '' },
izPreferential: {title: '是否参与机构优惠 0不参与 1参与',order: 7,view: 'radio', type: 'string',dictCode: '',}, izPreferential: { title: '机构优惠', order: 7, view: 'radio', type: 'string', dictCode: '' },
chargingFrequency: {title: '收费频次',order: 8,view: 'list', type: 'string',dictCode: '',}, chargingFrequency: { title: '收费频次', order: 8, view: 'list', type: 'string', dictCode: '' },
cycleType: {title: '周期类型',order: 9,view: 'list', type: 'string',dictCode: '',}, cycleType: { title: '周期类型', order: 9, view: 'list', type: 'string', dictCode: '' },
sort: {title: '排序',order: 10,view: 'number', type: 'number',}, sort: { title: '排序', order: 10, view: 'number', type: 'number' },
serviceContent: {title: '服务说明',order: 11,view: 'textarea', type: 'string',}, serviceContent: { title: '服务说明', order: 11, view: 'textarea', type: 'string' },
serviceDuration: {title: '服务时长(分钟)',order: 12,view: 'text', type: 'string',}, serviceDuration: { title: '服务时长(分钟)', order: 12, view: 'text', type: 'string' },
izEnabled: {title: '是否启用',order: 13,view: 'radio', type: 'string',dictCode: '',}, izEnabled: { title: '是否启用', order: 13, view: 'radio', type: 'string', dictCode: '' },
createBy: {title: '创建人',order: 14,view: 'text', type: 'string',}, createBy: { title: '创建人', order: 14, view: 'text', type: 'string' },
createTime: {title: '创建日期',order: 15,view: 'datetime', type: 'string',}, createTime: { title: '创建日期', order: 15, view: 'datetime', type: 'string' },
updateBy: {title: '更新人',order: 16,view: 'text', type: 'string',}, updateBy: { title: '更新人', order: 16, view: 'text', type: 'string' },
updateTime: {title: '更新日期',order: 17,view: 'datetime', type: 'string',}, updateTime: { title: '更新日期', order: 17, view: 'datetime', type: 'string' },
mp3File: {title: '语音文件',order: 18,view: 'file', type: 'string',}, mp3File: { title: '语音文件', order: 18, view: 'file', type: 'string' },
mp4File: {title: '视频文件',order: 19,view: 'file', type: 'string',}, mp4File: { title: '视频文件', order: 19, view: 'file', type: 'string' },
}; };

View File

@ -7,30 +7,35 @@
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :lg="6"> <a-col :lg="6">
<a-form-item name="categoryId"> <a-form-item name="categoryId">
<template #label><span title="服务类别id">服务类别</span></template> <template #label><span title="服务类别">服务类别</span></template>
<a-input placeholder="请输入服务类别id" v-model:value="queryParam.categoryId" allow-clear></a-input> <j-dict-select-tag type="list" v-model:value="queryParam.categoryId"
:dictCode="`config_service_category,category_name,id,del_flag = 0 and iz_enabled = 0`"
placeholder="请选择服务类别" allow-clear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :lg="6"> <a-col :lg="6">
<a-form-item name="typeId"> <a-form-item name="typeId">
<template #label><span title="服务类型id">服务类型</span></template> <template #label><span title="服务类型id">服务类型</span></template>
<a-input placeholder="请输入服务类型id" v-model:value="queryParam.typeId" allow-clear></a-input> <j-dict-select-tag type="list" v-model:value="queryParam.typeId"
:dictCode="`config_service_type,type_name,id,del_flag = 0 and iz_enabled = 0`" placeholder="请选择服务类型"
allowClear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<template v-if="toggleSearchStatus"> <template v-if="toggleSearchStatus">
<a-col :lg="6"> <a-col :lg="6">
<a-form-item name="instructionTagId"> <a-form-item name="instructionTagId">
<template #label><span title="指令标签id">指令标签</span></template> <template #label><span title="指令标签id">指令标签</span></template>
<a-input placeholder="请输入指令标签id" v-model:value="queryParam.instructionTagId" allow-clear></a-input> <j-dict-select-tag v-model:value="queryParam.instructionTagId" dictCode="instruction_tag"
placeholder="请选择指令标签" allowClear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :lg="6"> <a-col :lg="6">
<a-form-item name="directiveName"> <a-form-item name="directiveName">
<template #label><span title="服务指令名称">服务指令</span></template> <template #label><span title="服务指令名称">服务指令</span></template>
<JInput v-model:value="queryParam.directiveName" /> <JInput v-model:value="queryParam.directiveName" placeholder="请输入服务指令名称" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :lg="6"> <!-- <a-col :lg="6">
<a-form-item name="tollPrice"> <a-form-item name="tollPrice">
<template #label><span title="收费价格">收费价格</span></template> <template #label><span title="收费价格">收费价格</span></template>
<JRangeNumber v-model:value="queryParam.tollPrice" class="query-group-cust"></JRangeNumber> <JRangeNumber v-model:value="queryParam.tollPrice" class="query-group-cust"></JRangeNumber>
@ -41,35 +46,33 @@
<template #label><span title="提成价格">提成价格</span></template> <template #label><span title="提成价格">提成价格</span></template>
<JRangeNumber v-model:value="queryParam.comPrice" class="query-group-cust"></JRangeNumber> <JRangeNumber v-model:value="queryParam.comPrice" class="query-group-cust"></JRangeNumber>
</a-form-item> </a-form-item>
</a-col> </a-col> -->
<a-col :lg="6"> <a-col :lg="6">
<a-form-item name="izReimbursement"> <a-form-item name="izReimbursement">
<template #label><span title="医保报销">医保报销</span></template> <template #label><span title="医保报销">医保报销</span></template>
<a-select v-model:value="queryParam.izReimbursement" placeholder="请选择" allowClear> <j-dict-select-tag type='list' v-model:value="queryParam.izReimbursement" dictCode="med_ins_reimb"
<a-select-option :value="0">不报销</a-select-option> placeholder="请选择医保报销" allowClear />
<a-select-option :value="1">报销</a-select-option>
</a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :lg="6"> <a-col :lg="6">
<a-form-item name="izPreferential"> <a-form-item name="izPreferential">
<template #label><span title="机构优惠">机构优惠</span></template> <template #label><span title="机构优惠">机构优惠</span></template>
<a-select v-model:value="queryParam.izEizPreferentialnabled" placeholder="请选择" allowClear> <j-dict-select-tag type='list' v-model:value="queryParam.izPreferential"
<a-select-option :value="0">不参与</a-select-option> dictCode="institutional_discount" placeholder="请选择机构优惠" allowClear />
<a-select-option :value="1">参与</a-select-option>
</a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :lg="6"> <a-col :lg="6">
<a-form-item name="chargingFrequency"> <a-form-item name="chargingFrequency">
<template #label><span title="收费频次">收费频次</span></template> <template #label><span title="收费频次">收费频次</span></template>
<a-input placeholder="请输入收费频次" v-model:value="queryParam.chargingFrequency" allow-clear></a-input> <j-dict-select-tag type="list" v-model:value="queryParam.chargingFrequency" dictCode="billing_frequency"
placeholder="请选择收费频次" allowClear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :lg="6"> <a-col :lg="6">
<a-form-item name="cycleType"> <a-form-item name="cycleType">
<template #label><span title="周期类型">周期类型</span></template> <template #label><span title="周期类型">周期类型</span></template>
<a-input placeholder="请输入周期类型" v-model:value="queryParam.cycleType" allow-clear></a-input> <j-dict-select-tag type="list" v-model:value="queryParam.cycleType" dictCode="period_type"
placeholder="请选择周期类型" allowClear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :lg="6"> <a-col :lg="6">
@ -106,10 +109,10 @@
preIcon="ant-design:plus-outlined"> 服务类型</a-button> preIcon="ant-design:plus-outlined"> 服务类型</a-button>
<a-button type="primary" v-auth="'serviceDirective:config_service_directive:add'" @click="handleAdd" <a-button type="primary" v-auth="'serviceDirective:config_service_directive:add'" @click="handleAdd"
preIcon="ant-design:plus-outlined"> 新增</a-button> preIcon="ant-design:plus-outlined"> 新增</a-button>
<a-button type="primary" v-auth="'serviceDirective:config_service_directive:exportXls'" <!-- <a-button type="primary" v-auth="'serviceDirective:config_service_directive:exportXls'"
preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button> preIcon="ant-design:export-outlined" @click="onExportXls"> 导出</a-button>
<j-upload-button type="primary" v-auth="'serviceDirective:config_service_directive:importExcel'" <j-upload-button type="primary" v-auth="'serviceDirective:config_service_directive:importExcel'"
preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button> preIcon="ant-design:import-outlined" @click="onImportXls">导入</j-upload-button> -->
<a-dropdown v-if="selectedRowKeys.length > 0"> <a-dropdown v-if="selectedRowKeys.length > 0">
<template #overlay> <template #overlay>
<a-menu> <a-menu>
@ -124,7 +127,7 @@
</a-button> </a-button>
</a-dropdown> </a-dropdown>
<!-- 高级查询 --> <!-- 高级查询 -->
<super-query :config="superQueryConfig" @search="handleSuperQuery" /> <!-- <super-query :config="superQueryConfig" @search="handleSuperQuery" /> -->
</template> </template>
<!--操作栏--> <!--操作栏-->
<template #action="{ record }"> <template #action="{ record }">
@ -200,6 +203,8 @@ const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
fixed: 'right', fixed: 'right',
}, },
beforeFetch: async (params) => { beforeFetch: async (params) => {
params.column = 'categoryId,typeId,instructionTagId'
params.order = 'asc,asc,asc'
let rangerQuery = await setRangeQuery(); let rangerQuery = await setRangeQuery();
return Object.assign(params, rangerQuery); return Object.assign(params, rangerQuery);
}, },

View File

@ -6,23 +6,26 @@
name="ConfigServiceDirectiveForm"> name="ConfigServiceDirectiveForm">
<a-row> <a-row>
<a-col :span="24"> <a-col :span="24">
<a-form-item label="服务类别id" v-bind="validateInfos.categoryId" id="ConfigServiceDirectiveForm-categoryId" <a-form-item label="服务类别" v-bind="validateInfos.categoryId" id="ConfigServiceDirectiveForm-categoryId"
name="categoryId"> name="categoryId">
<j-dict-select-tag v-model:value="formData.categoryId" dictCode="" placeholder="请选择服务类别id" <j-dict-select-tag type="list" v-model:value="formData.categoryId"
allow-clear /> :dictCode="`config_service_category,category_name,id,del_flag = 0 and iz_enabled = 0`"
placeholder="请选择服务类别" allow-clear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-item label="服务类型id" v-bind="validateInfos.typeId" id="ConfigServiceDirectiveForm-typeId" <a-form-item label="服务类型" v-bind="validateInfos.typeId" id="ConfigServiceDirectiveForm-typeId"
name="typeId"> name="typeId">
<j-dict-select-tag v-model:value="formData.typeId" dictCode="" placeholder="请选择服务类型id" allow-clear /> <j-dict-select-tag type="list" v-model:value="formData.typeId"
:dictCode="`config_service_type,type_name,id,del_flag = 0 and iz_enabled = 0`" placeholder="请选择服务类型"
allowClear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-item label="指令标签id" v-bind="validateInfos.instructionTagId" <a-form-item label="指令标签" v-bind="validateInfos.instructionTagId"
id="ConfigServiceDirectiveForm-instructionTagId" name="instructionTagId"> id="ConfigServiceDirectiveForm-instructionTagId" name="instructionTagId">
<j-dict-select-tag v-model:value="formData.instructionTagId" dictCode="instruction_tag" <j-dict-select-tag v-model:value="formData.instructionTagId" dictCode="instruction_tag"
placeholder="请选择指令标签id" allow-clear /> placeholder="请选择指令标签" allowClear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
@ -44,30 +47,31 @@
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-item label="是否参与医保报销 0不报销 1报销" v-bind="validateInfos.izReimbursement" <a-form-item label="医保报销" v-bind="validateInfos.izReimbursement"
id="ConfigServiceDirectiveForm-izReimbursement" name="izReimbursement"> id="ConfigServiceDirectiveForm-izReimbursement" name="izReimbursement">
<j-dict-select-tag type='radio' v-model:value="formData.izReimbursement" dictCode="" <j-dict-select-tag type='radio' v-model:value="formData.izReimbursement" dictCode="med_ins_reimb"
placeholder="请选择是否参与医保报销 0不报销 1报销" allow-clear /> allowClear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-item label="是否参与机构优惠 0不参与 1参与" v-bind="validateInfos.izPreferential" <a-form-item label="机构优惠" v-bind="validateInfos.izPreferential"
id="ConfigServiceDirectiveForm-izPreferential" name="izPreferential"> id="ConfigServiceDirectiveForm-izPreferential" name="izPreferential">
<j-dict-select-tag type='radio' v-model:value="formData.izPreferential" dictCode="" <j-dict-select-tag type='radio' v-model:value="formData.izPreferential"
placeholder="请选择是否参与机构优惠 0不参与 1参与" allow-clear /> dictCode="institutional_discount" allowClear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-item label="收费频次" v-bind="validateInfos.chargingFrequency" <a-form-item label="收费频次" v-bind="validateInfos.chargingFrequency"
id="ConfigServiceDirectiveForm-chargingFrequency" name="chargingFrequency"> id="ConfigServiceDirectiveForm-chargingFrequency" name="chargingFrequency">
<j-dict-select-tag v-model:value="formData.chargingFrequency" dictCode="" placeholder="请选择收费频次" <j-dict-select-tag type="list" v-model:value="formData.chargingFrequency" dictCode="billing_frequency"
allow-clear /> placeholder="请选择收费频次" allowClear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-item label="周期类型" v-bind="validateInfos.cycleType" id="ConfigServiceDirectiveForm-cycleType" <a-form-item label="周期类型" v-bind="validateInfos.cycleType" id="ConfigServiceDirectiveForm-cycleType"
name="cycleType"> name="cycleType">
<j-dict-select-tag v-model:value="formData.cycleType" dictCode="" placeholder="请选择周期类型" allow-clear /> <j-dict-select-tag type="list" v-model:value="formData.cycleType" dictCode="period_type"
placeholder="请选择周期类型" allowClear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
@ -94,6 +98,18 @@
placeholder="请选择是否启用"  allowClear /> placeholder="请选择是否启用"  allowClear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="24">
<a-form-item label="语音文件" v-bind="validateInfos.mp3File" id="ConfigServiceDirectiveForm-mp3File"
name="mp3File">
<j-upload v-model:value="formData.mp3File" accept="audio/*"></j-upload>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="视频文件" v-bind="validateInfos.mp4File" id="ConfigServiceDirectiveForm-mp4File"
name="mp4File">
<j-upload v-model:value="formData.mp4File" accept="video/*"></j-upload>
</a-form-item>
</a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-item label="创建人" v-bind="validateInfos.createBy" id="ConfigServiceDirectiveForm-createBy" <a-form-item label="创建人" v-bind="validateInfos.createBy" id="ConfigServiceDirectiveForm-createBy"
name="createBy"> name="createBy">
@ -120,18 +136,6 @@
value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" disabled allow-clear /> value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%" disabled allow-clear />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="24">
<a-form-item label="语音文件" v-bind="validateInfos.mp3File" id="ConfigServiceDirectiveForm-mp3File"
name="mp3File">
<j-upload v-model:value="formData.mp3File"></j-upload>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="视频文件" v-bind="validateInfos.mp4File" id="ConfigServiceDirectiveForm-mp4File"
name="mp4File">
<j-upload v-model:value="formData.mp4File"></j-upload>
</a-form-item>
</a-col>
</a-row> </a-row>
</a-form> </a-form>
</template> </template>
@ -172,7 +176,7 @@ const formData = reactive<Record<string, any>>({
sort: 99, sort: 99,
serviceContent: '', serviceContent: '',
serviceDuration: '', serviceDuration: '',
izEnabled: '', izEnabled: '0',
createBy: '', createBy: '',
createTime: '', createTime: '',
updateBy: '', updateBy: '',
@ -186,19 +190,19 @@ const wrapperCol = ref<any>({ xs: { span: 24 }, sm: { span: 16 } });
const confirmLoading = ref<boolean>(false); const confirmLoading = ref<boolean>(false);
// //
const validatorRules = reactive({ const validatorRules = reactive({
categoryId: [{ required: true, message: '请输入服务类别id!' },], categoryId: [{ required: true, message: '请选择服务类别!' },],
typeId: [{ required: true, message: '请输入服务类型id!' },], typeId: [{ required: true, message: '请选择服务类型!' },],
instructionTagId: [{ required: true, message: '请输入指令标签id!' },], instructionTagId: [{ required: true, message: '请选择指令标签!' },],
directiveName: [{ required: true, message: '请输入服务指令名称!' },], directiveName: [{ required: true, message: '请输入服务指令名称!' },],
tollPrice: [{ required: true, message: '请输入收费价格!' }, { pattern: /^(([1-9][0-9]*)|([0]\.\d{0,2}|[1-9][0-9]*\.\d{0,2}))$/, message: '请输入正确的金额!' },], tollPrice: [{ required: true, message: '请输入收费价格!' }, { pattern: /^(([0-9]*)|([0]\.\d{0,2}|[1-9][0-9]*\.\d{0,2}))$/, message: '请输入正确的金额!' },],
comPrice: [{ required: false }, { pattern: /^(([1-9][0-9]*)|([0]\.\d{0,2}|[1-9][0-9]*\.\d{0,2}))$/, message: '请输入正确的金额!' },], comPrice: [{ required: false }, { pattern: /^(([0-9]*)|([0]\.\d{0,2}|[1-9][0-9]*\.\d{0,2}))$/, message: '请输入正确的金额!' },],
izReimbursement: [{ required: true, message: '请输入是否参与医保报销 0不报销 1报销!' },], izReimbursement: [{ required: true, message: '请选择是否参与医保报销!' },],
izPreferential: [{ required: true, message: '请输入是否参与机构优惠 0不参与 1参与!' },], izPreferential: [{ required: true, message: '请选择是否参与机构优惠!' },],
chargingFrequency: [{ required: true, message: '请输入收费频次!' },], chargingFrequency: [{ required: true, message: '请选择收费频次!' },],
cycleType: [{ required: true, message: '请输入周期类型!' },], cycleType: [{ required: true, message: '请选择周期类型!' },],
sort: [{ required: true, message: '请输入排序!' },], sort: [{ required: true, message: '请输入排序!' },],
serviceDuration: [{ required: true, message: '请输入服务时长(分钟)!' }, { pattern: /^-?\d+$/, message: '请输入整数!' },], serviceDuration: [{ required: true, message: '请输入服务时长(分钟)!' }, { pattern: /^-?\d+$/, message: '请输入整数!' },],
izEnabled: [{ required: true, message: '是否启用!' },], izEnabled: [{ required: true, message: '请选择是否启用!' },],
}); });
const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: false }); const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: false });

View File

@ -1,5 +1,5 @@
<template> <template>
<j-modal :title="title" :width="width" :visible="visible" @ok="handleOk" :okButtonProps="{ class: { 'jee-hidden': disableSubmit } }" @cancel="handleCancel" cancelText="关闭"> <j-modal :title="title" :width="width" :visible="visible" @ok="handleOk" :okButtonProps="{ class: { 'jee-hidden': disableSubmit } }" @cancel="handleCancel" cancelText="关闭" :maskClosable="false">
<ConfigServiceDirectiveForm ref="registerForm" @ok="submitCallback" :formDisabled="disableSubmit" :formBpm="false"></ConfigServiceDirectiveForm> <ConfigServiceDirectiveForm ref="registerForm" @ok="submitCallback" :formDisabled="disableSubmit" :formBpm="false"></ConfigServiceDirectiveForm>
</j-modal> </j-modal>
</template> </template>

View File

@ -69,10 +69,10 @@ const wrapperCol = ref<any>({ xs: { span: 24 }, sm: { span: 16 } });
const confirmLoading = ref<boolean>(false); const confirmLoading = ref<boolean>(false);
// //
const validatorRules = reactive({ const validatorRules = reactive({
categoryId: [{ required: true, message: '请输入服务类别id!' },], categoryId: [{ required: true, message: '请选择服务类别!' },],
typeName: [{ required: true, message: '请输入服务类型名称!' },], typeName: [{ required: true, message: '请输入服务类型名称!' },],
sort: [{ required: true, message: '请输入排序!' },], sort: [{ required: true, message: '请输入排序!' },],
izEnabled: [{ required: true, message: '是否启用!' },], izEnabled: [{ required: true, message: '请选择是否启用!' },],
}); });
const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: false }); const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: false });