- ServiceItemEdit.vue:新增「服务承诺」区块(协办部门/经办人/办理时段/跑动次数/快递/收费) - ServiceItemList.vue:列表新增承诺时限、跑动次数两列 - SvcItemSaveRequest 类型补 7 字段,去掉原来的 & Record<string,any> 兜底 - .gitignore 忽略 vite.config.ts.timestamp-* 临时文件
This commit is contained in:
@@ -25,13 +25,20 @@ const saveRules = {
|
||||
title: [{ required: true, message: "请填写红色星号内容!", trigger: "blur" }],
|
||||
};
|
||||
|
||||
const form = ref<SvcItemSaveRequest & Record<string, any>>({
|
||||
const form = ref<SvcItemSaveRequest>({
|
||||
siteCode: "",
|
||||
itemCode: "",
|
||||
title: "",
|
||||
handleMode: 1,
|
||||
onlineFlag: 1,
|
||||
sortNo: 0,
|
||||
coopDepts: "",
|
||||
handlerName: "",
|
||||
handleTimeDesc: "",
|
||||
runCount: undefined,
|
||||
expressFlag: undefined,
|
||||
feeDesc: "",
|
||||
feeBasis: "",
|
||||
});
|
||||
const objects = ref<{ dictKey: string; dictName: string }[]>([]);
|
||||
const categories = ref<{ dictKey: string; dictName: string }[]>([]);
|
||||
@@ -225,6 +232,7 @@ onMounted(loadAll);
|
||||
<Col span="8">
|
||||
<FormItem label="承诺时限">
|
||||
<Input v-model="form.promiseTimeLimit" :maxlength="64" />
|
||||
<div class="tip">建议填纯数字(天),详情页会用它推算预计完成日期</div>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="8">
|
||||
@@ -239,6 +247,53 @@ onMounted(loadAll);
|
||||
</Col>
|
||||
</Row>
|
||||
|
||||
<div class="section-title">
|
||||
<span>服务承诺</span><span class="new-tag">新增</span>
|
||||
</div>
|
||||
<Row :gutter="16">
|
||||
<Col span="12">
|
||||
<FormItem label="协办部门">
|
||||
<Input v-model="form.coopDepts" :maxlength="500" placeholder="多个部门用顿号分隔" />
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="12">
|
||||
<FormItem label="经办人员">
|
||||
<Input v-model="form.handlerName" :maxlength="64" />
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="12">
|
||||
<FormItem label="办理时间(时段)">
|
||||
<Input v-model="form.handleTimeDesc" :maxlength="200" placeholder="工作日 08:00–11:45" />
|
||||
<div class="tip">区别于办理时限,指窗口办公时段</div>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="12">
|
||||
<FormItem label="跑现场次数">
|
||||
<InputNumber v-model="form.runCount" :min="0" style="width: 100%" />
|
||||
<div class="tip">0 = 零跑动</div>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="12">
|
||||
<FormItem label="是否快递送达">
|
||||
<Select v-model="form.expressFlag" clearable>
|
||||
<Option :value="0">否</Option>
|
||||
<Option :value="1">是(到付)</Option>
|
||||
<Option :value="2">是(学校承担)</Option>
|
||||
</Select>
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="12">
|
||||
<FormItem label="收费标准">
|
||||
<Input v-model="form.feeDesc" :maxlength="200" />
|
||||
</FormItem>
|
||||
</Col>
|
||||
<Col span="12">
|
||||
<FormItem label="收费依据">
|
||||
<Input v-model="form.feeBasis" :maxlength="200" />
|
||||
</FormItem>
|
||||
</Col>
|
||||
</Row>
|
||||
|
||||
<Divider orientation="left">在线办理绑定</Divider>
|
||||
<Row :gutter="16">
|
||||
<Col span="12">
|
||||
@@ -346,6 +401,26 @@ onMounted(loadAll);
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.section-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin: 24px 0 16px;
|
||||
padding-bottom: 8px;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
color: #17233d;
|
||||
border-bottom: 1px solid #e8eaec;
|
||||
}
|
||||
.new-tag {
|
||||
padding: 0 8px;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
line-height: 18px;
|
||||
color: #808695;
|
||||
border: 1px solid #dcdee2;
|
||||
border-radius: 9px;
|
||||
}
|
||||
.flow-select {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
|
||||
Reference in New Issue
Block a user