1、调整仓库类护理矩阵编排接口:插入服务指令

2、调整仓库类护理矩阵编排接口:变更服务指令
3、调整仓库类护理矩阵编排接口:移除服务指令
4、调整仓库类护理矩阵编排接口:查询服务指令矩阵数据
5、解决供应商申请提交后看不到数据问题
6、服务指令包增加超时时长字段
7、调整服务指令包主界面、引用指令包界面样式,解决内容过多时显示被遮挡问题
This commit is contained in:
1378012178@qq.com 2026-01-19 16:47:46 +08:00
parent dc1bb6a2b4
commit 255445feb5
7 changed files with 202 additions and 157 deletions

View File

@ -24,13 +24,13 @@
</a-row> </a-row>
</a-form> </a-form>
</div> </div>
<a-row style="margin-top: -5px;"> <div style="height: calc(100vh - 200px); overflow-y: auto; overflow-x: hidden; margin-top: -5px;">
<a-col v-for="directive of tableData.records" :key="directive.id" :xs="24" :sm="24" :md="12" :lg="12" :xl="8" :xxl="6" style="padding: 5px 14px 0 0;height: 200px;"> <a-row>
<a-card <a-col v-for="(directive, index) of tableData.records" :key="directive.id" :xs="24" :sm="24" :md="12" :lg="12"
:class="['card-3d']" :xl="8" :xxl="6" style="padding: 5px 14px 0 0;height: 200px;"
:headStyle="{ height: '60px', padding: '0 24px',border:'0px' }" :style="{ marginTop: index >= 4 ? '60px' : '' }">
@mouseenter="directive.id" <a-card :class="['card-3d']" :headStyle="{ height: '60px', padding: '0 24px', border: '0px' }"
@mouseleave="directive.id" > @mouseenter="directive.id" @mouseleave="directive.id">
<template #title> <template #title>
<a-row> <a-row>
<a-col> <a-col>
@ -41,60 +41,23 @@
<div style="margin-top: -30px;"> <div style="margin-top: -30px;">
<a-divider style="margin: 0 0 10px 0 " /> <a-divider style="margin: 0 0 10px 0 " />
<p>服务时长{{ directive.totalDuration }} 分钟</p> <p>服务时长{{ directive.totalDuration }} 分钟</p>
<p style="margin-top: -10px;">超时时长{{ directive.timeoutDuration }} 分钟</p>
<p style="margin-top: -10px;">创建时间{{ directive.createTime.substring(0, 10) }}</p> <p style="margin-top: -10px;">创建时间{{ directive.createTime.substring(0, 10) }}</p>
<p style="margin-top: -10px;" class="text-ellipsis" :title="directive.description">说明{{directive.description}}</p> <p style="margin-top: -10px;" class="text-ellipsis" :title="directive.description">
说明{{ directive.description }}
</p>
<div style="float:left;margin-top: 20px;"> <div style="float:left;margin-top: 20px;">
<a-button type="dashed" size="small" @click="packageEdit(directive)">编辑</a-button> <a-button type="dashed" size="small" @click="packageEdit(directive)">编辑</a-button>
</div> </div>
<div style="float:right;margin-top: 20px;"> <div style="float:right;margin-top: 20px;">
<a-switch style="margin-left:10px" :checked="directive.izEnabled == 'Y'" @change="handleChangeIzEnabled(directive)" checked-children="" un-checked-children="" /> <a-switch style="margin-left:10px" :checked="directive.izEnabled == 'Y'"
@change="handleChangeIzEnabled(directive)" checked-children="启" un-checked-children="停" />
</div> </div>
</div> </div>
</a-card> </a-card>
<!-- <a-row class="cardDivClass">
<a-col :span="24">
<a-row style="padding: 10px">
<a-col :span="12">
<img src="/src/assets/images/logo.png" style="width: 25px;height:25px;" />
</a-col>
<a-col :span="12" style="text-align: right;position:relative;">
<div class="iconEditClass">
<a @click="packageEdit(directive)"> <img src="/src/assets/iot/a4.png" style="width: 15px;height:15px;margin-top:-3px" /></a>
</div>
<span>
<a-switch :checked="directive.izEnabled == '0'" @change="handleChangeIzEnabled(directive)" checked-children="" un-checked-children="" />
</span>
</a-col> </a-col>
</a-row> </a-row>
</a-col>
<a-col :span="24" >
<a-popover :title="directive.packageName">
<template #content>
<div style="min-width: 240px;">
<div style="max-width: 400px;line-height:30px;padding:5px;border-radius:5px;margin:5px;background:#f5f5f5;" v-for="(item,index) in directive.directives">{{ item.directiveName }}</div>
<div style="max-width: 400px;line-height:30px;padding:5px;border-radius:5px;margin:5px;background:#f5f5f5;color:red;" v-if="directive.directives.length==0">未配置</div>
</div> </div>
</template>
<span class="titleOne ellipsis-two-lines">{{ directive.packageName }}</span>
</a-popover>
</a-col>
<a-col :span="24">
<span class="titleOne ellipsis-two-lines" style="font-size: 14px;">
服务时长{{directive.totalDuration}} 分钟
</span>
</a-col>
<a-col :span="24">
<a-divider style="margin: 10px 0 5px 0;"/>
</a-col>
<a-col :span="12" style="padding: 0px 10px">
{{ directive.createBy_dictText }}
</a-col>
<a-col :span="12" style="text-align: right;padding: 0px 10px;">
{{ directive.createTime.substring(0,10) }}
</a-col>
</a-row> -->
</a-col>
</a-row>
<div <div
style="float:right;bottom: 20px;z-index: 999;padding: 8px 16px;border-radius: 4px;display: flex;align-items: center;"> style="float:right;bottom: 20px;z-index: 999;padding: 8px 16px;border-radius: 4px;display: flex;align-items: center;">
<span style="margin-right: 10px;"> {{ tableData.total }} 条数据</span> <span style="margin-right: 10px;"> {{ tableData.total }} 条数据</span>
@ -239,6 +202,7 @@ onMounted(() => {
width: 100%; width: 100%;
} }
} }
.bjclass { .bjclass {
text-align: center; text-align: center;
margin-top: 14px; margin-top: 14px;
@ -248,41 +212,65 @@ onMounted(() => {
background: linear-gradient(to bottom, #fff, #efe9e9); background: linear-gradient(to bottom, #fff, #efe9e9);
margin-left: 9px; margin-left: 9px;
} }
.titleOne { .titleOne {
text-align: center; text-align: center;
font-size: 16px; font-size: 16px;
font-weight: 600; font-weight: 600;
} }
.ellipsis-two-lines { .ellipsis-two-lines {
display: -webkit-box; display: -webkit-box;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
-webkit-line-clamp: 1; /* 限制文本为2行 */ -webkit-line-clamp: 1;
/* 限制文本为2行 */
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.cardDivClass { .cardDivClass {
transition: all 0.3s ease; transition: all 0.3s ease;
position: relative; position: relative;
padding: 5px;background-color: white;border-radius: 8px;height: 180px; padding: 5px;
background-color: white;
border-radius: 8px;
height: 180px;
box-shadow: 4px 4px 6px rgba(0, 0, 0, 0.1); box-shadow: 4px 4px 6px rgba(0, 0, 0, 0.1);
} }
.cardDivClass:hover { .cardDivClass:hover {
padding: 5px;background-color: #f4fcff;border-radius: 8px;height: 180px; padding: 5px;
background-color: #f4fcff;
border-radius: 8px;
height: 180px;
box-shadow: box-shadow:
0 0 0 1px #59bffe, /* 描边 */ 0 0 0 1px #59bffe,
0 4px 8px rgba(0, 0, 0, 0.1); /* 阴影 */ /* 描边 */
transform: translate(-2px , -2px); /* 轻微上浮效果 */ 0 4px 8px rgba(0, 0, 0, 0.1);
/* 阴影 */
transform: translate(-2px, -2px);
/* 轻微上浮效果 */
} }
.iconEditClass { .iconEditClass {
position:absolute;top:0;right:54px;background: #dfdfdf;border-radius:50%;width: 25px;height: 25px;display:flex;justify-content: center;align-items: center;align-items: center; position: absolute;
top: 0;
right: 54px;
background: #dfdfdf;
border-radius: 50%;
width: 25px;
height: 25px;
display: flex;
justify-content: center;
align-items: center;
align-items: center;
} }
/* 基础卡片样式 */ /* 基础卡片样式 */
.card-3d { .card-3d {
border-radius: 8px; border-radius: 8px;
border: 1px solid #f0f0f0; /* 边框增强立体感 */ border: 1px solid #f0f0f0;
/* 边框增强立体感 */
background: white; background: white;
position: relative; position: relative;
} }
@ -291,9 +279,11 @@ onMounted(() => {
.card-3d:hover { .card-3d:hover {
border: 1px solid #1890ff; border: 1px solid #1890ff;
} }
.text-ellipsis { .text-ellipsis {
display: -webkit-box; display: -webkit-box;
-webkit-line-clamp: 1; /* 限制显示的行数 */ -webkit-line-clamp: 1;
/* 限制显示的行数 */
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;

View File

@ -60,6 +60,12 @@ export const columns: BasicColumn[] = [
dataIndex: 'serviceDuration', dataIndex: 'serviceDuration',
width: 90, width: 90,
}, },
{
title: '超时时长',
align: 'center',
dataIndex: 'timeoutDuration',
width: 90,
},
]; ];
export const selectedColumns: BasicColumn[] = [ export const selectedColumns: BasicColumn[] = [
@ -129,6 +135,12 @@ export const selectedColumns: BasicColumn[] = [
dataIndex: 'serviceDuration', dataIndex: 'serviceDuration',
width: 90, width: 90,
}, },
{
title: '超时时长',
align: 'center',
dataIndex: 'timeoutDuration',
width: 90,
},
{ {
title: '操作', title: '操作',
key: 'action', key: 'action',

View File

@ -233,7 +233,6 @@ const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
beforeFetch: async (params) => { beforeFetch: async (params) => {
params.column = 'createTime'; params.column = 'createTime';
params.order = 'desc'; params.order = 'desc';
params.cycleType = '1,2';
params.izEnabled = 'Y'; params.izEnabled = 'Y';
let rangerQuery = await setRangeQuery(); let rangerQuery = await setRangeQuery();
return Object.assign(params, rangerQuery); return Object.assign(params, rangerQuery);

View File

@ -83,20 +83,27 @@
</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.izEnabled" id="DirectivePackageForm-izEnabled" <a-form-item label="超时时长" v-bind="validateInfos.timeoutDuration"
name="izEnabled"> id="DirectivePackageForm-timeoutDuration" name="timeoutDuration">
<j-dict-select-tag type='list' v-model:value="formData.izEnabled" dictCode="iz_enabled" <a-input-number v-model:value="formData.timeoutDuration" :min="1" :step="5" addon-after="分钟"
placeholder="是否启用" allow-clear /> placeholder="请输入超时时长(分钟)" allow-clear @keydown="onDurationKeydown" :disabled="disabled" />
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-row> <a-row>
<a-col :span="24">
<a-form-item label="是否启用" v-bind="validateInfos.izEnabled" id="DirectivePackageForm-izEnabled"
name="izEnabled" :labelCol="labelCol2" :wrapperCol="wrapperCol2">
<j-dict-select-tag type='list' v-model:value="formData.izEnabled" dictCode="iz_enabled"
placeholder="是否启用" allow-clear />
</a-form-item>
</a-col>
<a-col :span="24"> <a-col :span="24">
<a-form-item label="说明" v-bind="validateInfos.description" id="DirectivePackageForm-description" <a-form-item label="说明" v-bind="validateInfos.description" id="DirectivePackageForm-description"
name="description" :labelCol="labelCol2" :wrapperCol="wrapperCol2"> name="description" :labelCol="labelCol2" :wrapperCol="wrapperCol2">
<a-textarea v-model:value="formData.description" :maxlength="200" :autosize="{ minRows: 5 }" <a-textarea v-model:value="formData.description" :maxlength="200" :autosize="{ minRows: 3 }"
:showCount="true" placeholder="请输入说明" /> :showCount="true" placeholder="请输入说明" />
</a-form-item> </a-form-item>
</a-col> </a-col>
@ -138,11 +145,12 @@ const formData = reactive<Record<string, any>>({
endTimeStr: '', endTimeStr: '',
instructionTagId: '', instructionTagId: '',
totalDuration: 0, totalDuration: 0,
timeoutDuration: 0,
}); });
const { createMessage } = useMessage(); const { createMessage } = useMessage();
const labelCol = ref<any>({ xs: { span: 24 }, sm: { span: 6 } }); const labelCol = ref<any>({ xs: { span: 24 }, sm: { span: 5 } });
const wrapperCol = ref<any>({ xs: { span: 24 }, sm: { span: 16 } }); const wrapperCol = ref<any>({ xs: { span: 24 }, sm: { span: 16 } });
const labelCol2 = ref<any>({ xs: { span: 24 }, sm: { span: 2 } }); const labelCol2 = ref<any>({ xs: { span: 24 }, sm: { span: 3 } });
const wrapperCol2 = ref<any>({ xs: { span: 24 }, sm: { span: 21 } }); const wrapperCol2 = ref<any>({ xs: { span: 24 }, sm: { span: 21 } });
const confirmLoading = ref<boolean>(false); const confirmLoading = ref<boolean>(false);
// //

View File

@ -55,6 +55,7 @@
directive.typeId_dictText }} directive.typeId_dictText }}
</p> </p>
<p style="margin-top: -10px;">服务时长{{ directive.serviceDuration }}分钟</p> <p style="margin-top: -10px;">服务时长{{ directive.serviceDuration }}分钟</p>
<p style="margin-top: -10px;">超时时长{{ directive.timeoutDuration }}分钟</p>
<div style="float:left;margin-top: 20px;"> <div style="float:left;margin-top: 20px;">
</div> </div>
<div style="float:right;margin-top: 20px;"> <div style="float:right;margin-top: 20px;">

View File

@ -4,7 +4,7 @@
<div class="jeecg-basic-table-form-container"> <div class="jeecg-basic-table-form-container">
<a-form ref="formRef" :model="searchForm" :label-col="labelCol" :wrapper-col="wrapperCol"> <a-form ref="formRef" :model="searchForm" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="14"> <a-col :span="8">
<a-form-item name="packageName"> <a-form-item name="packageName">
<template #label><span title="服务指令包名称">服务指令包</span></template> <template #label><span title="服务指令包名称">服务指令包</span></template>
<a-input v-model:value="searchForm.packageName" allow-clear /> <a-input v-model:value="searchForm.packageName" allow-clear />
@ -22,14 +22,12 @@
</a-row> </a-row>
</a-form> </a-form>
</div> </div>
<a-row > <a-row style="margin-top: -5px;margin-bottom: 44px;">
<a-col v-for="directive of tableData.records" :key="directive.id" :xs="24" :sm="24" :md="12" :lg="12" :xl="8" :xxl="6" style="padding: 5px 14px 0 0;height: 200px;"> <a-col v-for="(directive, index) of tableData.records" :key="directive.id" :xs="24" :sm="24" :md="12" :lg="12"
:xl="8" :xxl="6" style="padding: 5px 14px 0 0;height: 200px;" :style="{ marginTop: index >= 4 ? '60px' : '' }">
<div @click="handlePackageClick(directive)" :class="{ 'selected': selectedDirective.id === directive.id }"> <div @click="handlePackageClick(directive)" :class="{ 'selected': selectedDirective.id === directive.id }">
<a-card <a-card :class="['card-3d']" :headStyle="{ height: '60px', padding: '0 24px', border: '0px' }"
:class="['card-3d']" @mouseenter="directive.id" @mouseleave="directive.id">
:headStyle="{ height: '60px', padding: '0 24px',border:'0px' }"
@mouseenter="directive.id"
@mouseleave="directive.id" >
<template #title> <template #title>
<a-row> <a-row>
<a-col> <a-col>
@ -42,37 +40,43 @@
<a-popover :title="directive.packageName"> <a-popover :title="directive.packageName">
<template #content> <template #content>
<div style="min-width: 240px;"> <div style="min-width: 240px;">
<div style="max-width: 400px;line-height:30px;padding:5px;border-radius:5px;margin:5px;background:#f5f5f5;" v-for="(item,index) in directive.directives">{{ item.directiveName }}</div> <div
<div style="max-width: 400px;line-height:30px;padding:5px;border-radius:5px;margin:5px;background:#f5f5f5;color:red;" v-if="directive.directives.length==0">未配置</div> style="max-width: 400px;line-height:30px;padding:5px;border-radius:5px;margin:5px;background:#f5f5f5;"
v-for="(item, index) in directive.directives">{{ item.directiveName }}</div>
<div
style="max-width: 400px;line-height:30px;padding:5px;border-radius:5px;margin:5px;background:#f5f5f5;color:red;"
v-if="directive.directives.length == 0">未配置</div>
</div> </div>
</template> </template>
<p>服务时长{{ directive.totalDuration }} 分钟</p> <p>服务时长{{ directive.totalDuration }} 分钟</p>
<p style="margin-top: -10px;">超时时长{{ directive.timeoutDuration }} 分钟</p>
<p style="margin-top: -10px;">创建时间{{ directive.createTime.substring(0, 10) }}</p> <p style="margin-top: -10px;">创建时间{{ directive.createTime.substring(0, 10) }}</p>
<p style="margin-top: -10px;" class="text-ellipsis" :title="directive.description">说明{{directive.description}}</p> <p style="margin-top: -10px;" class="text-ellipsis" :title="directive.description">
说明{{ directive.description }}</p>
</a-popover> </a-popover>
<div style="float:left;margin-top: 20px;"> <div style="float:left;margin-top: 20px;">
<a-popover :title="directive.packageName"> <a-popover :title="directive.packageName">
<template #content> <template #content>
<div style="min-width: 240px;"> <div style="min-width: 240px;">
<div style="max-width: 400px;line-height:30px;padding:5px;border-radius:5px;margin:5px;background:#f5f5f5;" v-for="(item,index) in directive.directives">{{ item.directiveName }}</div> <div
<div style="max-width: 400px;line-height:30px;padding:5px;border-radius:5px;margin:5px;background:#f5f5f5;color:red;" v-if="directive.directives.length==0">未配置</div> style="max-width: 400px;line-height:30px;padding:5px;border-radius:5px;margin:5px;background:#f5f5f5;"
v-for="(item, index) in directive.directives">{{ item.directiveName }}</div>
<div
style="max-width: 400px;line-height:30px;padding:5px;border-radius:5px;margin:5px;background:#f5f5f5;color:red;"
v-if="directive.directives.length == 0">未配置</div>
</div> </div>
</template> </template>
<a-button type="dashed" size="small">指令详情</a-button> <a-button type="dashed" size="small">指令详情</a-button>
</a-popover> </a-popover>
</div> </div>
<div style="float:right;margin-top: 20px;"> <div style="float:right;margin-top: 20px;">
<a-switch style="margin-left:10px" :checked="directive.izEnabled == 'Y'" disabled checked-children="" un-checked-children="" /> <a-switch style="margin-left:10px" :checked="directive.izEnabled == 'Y'" disabled checked-children=""
un-checked-children="停" />
</div> </div>
</div> </div>
</a-card> </a-card>
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
</div> </div>
</template> </template>
@ -93,7 +97,7 @@ const labelCol = reactive({
xs: 24, xs: 24,
sm: 4, sm: 4,
xl: 9, xl: 9,
xxl: 9 xxl: 5
}); });
const wrapperCol = reactive({ const wrapperCol = reactive({
xs: 24, xs: 24,
@ -331,30 +335,51 @@ defineExpose({
font-size: 16px; font-size: 16px;
font-weight: 600; font-weight: 600;
} }
.cardDivClass { .cardDivClass {
transition: all 0.3s ease; transition: all 0.3s ease;
position: relative; position: relative;
padding: 5px;background-color: white;border-radius: 8px;height: 180px; padding: 5px;
background-color: white;
border-radius: 8px;
height: 180px;
box-shadow: 4px 4px 6px rgba(0, 0, 0, 0.1); box-shadow: 4px 4px 6px rgba(0, 0, 0, 0.1);
} }
.cardDivClass:hover { .cardDivClass:hover {
padding: 5px;background-color: #f4fcff;border-radius: 8px;height: 180px; padding: 5px;
background-color: #f4fcff;
border-radius: 8px;
height: 180px;
box-shadow: box-shadow:
0 0 0 2px #d3d3d3, /* 描边 */ 0 0 0 2px #d3d3d3,
0 4px 8px rgba(0, 0, 0, 0.1); /* 阴影 */ /* 描边 */
transform: translate(-2px , -2px); /* 轻微上浮效果 */ 0 4px 8px rgba(0, 0, 0, 0.1);
/* 阴影 */
transform: translate(-2px, -2px);
/* 轻微上浮效果 */
} }
.iconEditClass { .iconEditClass {
position:absolute;top:0;right:54px;background: #dfdfdf;border-radius:50%;width: 25px;height: 25px;display:flex;justify-content: center;align-items: center;align-items: center; position: absolute;
top: 0;
right: 54px;
background: #dfdfdf;
border-radius: 50%;
width: 25px;
height: 25px;
display: flex;
justify-content: center;
align-items: center;
align-items: center;
} }
/* 基础卡片样式 */ /* 基础卡片样式 */
.card-3d { .card-3d {
border-radius: 8px; border-radius: 8px;
border: 1px solid #f0f0f0; /* 边框增强立体感 */ border: 1px solid #f0f0f0;
/* 边框增强立体感 */
background: white; background: white;
position: relative; position: relative;
} }
@ -363,9 +388,11 @@ defineExpose({
.card-3d:hover { .card-3d:hover {
border: 1px solid #1890ff; border: 1px solid #1890ff;
} }
.text-ellipsis { .text-ellipsis {
display: -webkit-box; display: -webkit-box;
-webkit-line-clamp: 1; /* 限制显示的行数 */ -webkit-line-clamp: 1;
/* 限制显示的行数 */
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;

View File

@ -71,6 +71,13 @@
:showCount="true" :disabled="!!formData.id"></a-input> :showCount="true" :disabled="!!formData.id"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12">
<a-form-item label="服务时长" v-bind="validateInfos.serviceDuration"
id="ConfigServiceDirectiveForm-serviceDuration" name="serviceDuration">
<a-input-number v-model:value="formData.serviceDuration" :min="5" :max="55" :step="5" addon-after="分钟"
placeholder="请输入服务时长(分钟)" allow-clear @keydown="onDurationKeydown" :disabled="disabled" />
</a-form-item>
</a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="收费价格(元)" v-bind="validateInfos.tollPrice" id="ConfigServiceDirectiveForm-tollPrice" <a-form-item label="收费价格(元)" v-bind="validateInfos.tollPrice" id="ConfigServiceDirectiveForm-tollPrice"
name="tollPrice"> name="tollPrice">
@ -85,6 +92,13 @@
placeholder="请选择指令类型" allowClear @upDictCode="upCycleTypeDictCode" :disabled="!!formData.id" /> placeholder="请选择指令类型" allowClear @upDictCode="upCycleTypeDictCode" :disabled="!!formData.id" />
</a-form-item> </a-form-item>
</a-col> --> </a-col> -->
<a-col :span="12">
<a-form-item label="超时时长" v-bind="validateInfos.timeoutDuration"
id="ConfigServiceDirectiveForm-timeoutDuration" name="timeoutDuration">
<a-input-number v-model:value="formData.timeoutDuration" :min="0" :max="55" :step="5" addon-after="分钟"
placeholder="请输入超时时长(分钟)" allow-clear @keydown="onDurationKeydown" :disabled="disabled" />
</a-form-item>
</a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="提成价格(元)" v-bind="validateInfos.comPrice" id="ConfigServiceDirectiveForm-comPrice" <a-form-item label="提成价格(元)" v-bind="validateInfos.comPrice" id="ConfigServiceDirectiveForm-comPrice"
name="comPrice"> name="comPrice">
@ -99,13 +113,6 @@
placeholder="请选择是否启用"  allowClear :disabled="disabled" /> placeholder="请选择是否启用"  allowClear :disabled="disabled" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12">
<a-form-item label="服务时长" v-bind="validateInfos.serviceDuration"
id="ConfigServiceDirectiveForm-serviceDuration" name="serviceDuration">
<a-input-number v-model:value="formData.serviceDuration" :min="5" :max="55" :step="5" addon-after="分钟"
placeholder="请输入服务时长(分钟)" allow-clear @keydown="onDurationKeydown" :disabled="disabled" />
</a-form-item>
</a-col>
</a-row> </a-row>
<a-row style="padding: 20px;"> <a-row style="padding: 20px;">
<a-col :span="6"> <a-col :span="6">
@ -292,6 +299,7 @@ const formData = reactive<Record<string, any>>({
sort: 99, sort: 99,
serviceContent: '', serviceContent: '',
serviceDuration: '5', serviceDuration: '5',
timeoutDuration: '0',
status: '', status: '',
izEnabled: 'Y', izEnabled: 'Y',
createBy: '', createBy: '',