综合服务完善
This commit is contained in:
1 parent
0ebd6737fe
commit
2dbce0a362
7 files changed
+110
-26
No files matched your search
@@ -11,7 +11,7 @@
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="图片" prop="picUrl">
|
||||
<upload-img v-model="form.picUrl" :disabled="readonly"></upload-img>
|
||||
<upload-image v-model:imageUrl="form.picUrl" :disabled="readonly" :limit="5" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
@@ -59,6 +59,8 @@ import { useDict } from '/@/hooks/dict';
|
||||
import { useMessage } from "/@/hooks/message";
|
||||
import { getObj, addObj, putObj } from '/@/api/integrated/feedback'
|
||||
import { rule } from '/@/utils/validate';
|
||||
import UploadImage from '/@/components/Upload/Image.vue';
|
||||
|
||||
const emit = defineEmits(['refresh']);
|
||||
|
||||
// 定义变量内容
|
||||
|
||||
@@ -46,7 +46,11 @@
|
||||
<el-table-column type="selection" width="40" align="center" />
|
||||
<el-table-column type="index" label="#" width="40" />
|
||||
<el-table-column prop="title" label="标题" show-overflow-tooltip/>
|
||||
<el-table-column prop="picUrl" label="图片" show-overflow-tooltip/>
|
||||
<el-table-column prop="picUrl" label="图片" align="center" width="160px" show-overflow-tooltip>
|
||||
<template #default="scope">
|
||||
<preview-image :src="scope.row.picUrl" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="status" label="状态" show-overflow-tooltip>
|
||||
<template #default="scope">
|
||||
<dict-tag :options="maintenance_status" :value="scope.row.status"></dict-tag>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
</el-col>
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="图片" prop="picUrl">
|
||||
<upload-img v-model="form.picUrl" :disabled="readonly"></upload-img>
|
||||
<upload-img v-model:imageUrl="form.picUrl" :disabled="readonly"></upload-img>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
|
||||
@@ -1,72 +1,113 @@
|
||||
<template>
|
||||
<el-dialog :title="form.id ? '编辑' : '新增'" v-model="visible"
|
||||
:close-on-click-modal="false" draggable>
|
||||
<el-form ref="dataFormRef" :model="form" :rules="dataRules" formDialogRef label-width="90px" v-loading="loading">
|
||||
:close-on-click-modal="false" draggable width="800px">
|
||||
<el-form ref="dataFormRef" :model="form" :rules="dataRules" formDialogRef label-width="130px" v-loading="loading">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12" class="mb20">
|
||||
<el-form-item label="摆放形式名称" prop="layoutName">
|
||||
<el-input v-model="form.layoutName" placeholder="请输入摆放形式名称"/>
|
||||
<el-input v-model="form.layoutName" placeholder="请输入摆放形式名称" clearable/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="mb20">
|
||||
<el-form-item label="摆放形式编码" prop="layoutCode">
|
||||
<el-input v-model="form.layoutCode" placeholder="请输入摆放形式编码"/>
|
||||
<el-input v-model="form.layoutCode" placeholder="请输入摆放形式编码" clearable/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="mb20">
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="摆放形式描述" prop="description">
|
||||
<el-input v-model="form.description" placeholder="请输入摆放形式描述"/>
|
||||
<el-input
|
||||
v-model="form.description"
|
||||
type="textarea"
|
||||
:rows="3"
|
||||
placeholder="请输入摆放形式描述"
|
||||
maxlength="500"
|
||||
show-word-limit
|
||||
clearable/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="mb20">
|
||||
<el-form-item label="最小容纳人数" prop="capacityMin">
|
||||
<el-input v-model="form.capacityMin" placeholder="请输入最小容纳人数"/>
|
||||
<el-input-number
|
||||
v-model="form.capacityMin"
|
||||
:min="1"
|
||||
:max="9999"
|
||||
placeholder="请输入最小容纳人数"
|
||||
controls-position="right"
|
||||
style="width: 100%"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="mb20">
|
||||
<el-form-item label="最大容纳人数" prop="capacityMax">
|
||||
<el-input v-model="form.capacityMax" placeholder="请输入最大容纳人数"/>
|
||||
<el-input-number
|
||||
v-model="form.capacityMax"
|
||||
:min="1"
|
||||
:max="9999"
|
||||
placeholder="请输入最大容纳人数"
|
||||
controls-position="right"
|
||||
style="width: 100%"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="mb20">
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="摆放形式示意图" prop="layoutImage">
|
||||
<el-input v-model="form.layoutImage" placeholder="请输入摆放形式示意图"/>
|
||||
<upload-image v-model="form.layoutImage" :limit="1" />
|
||||
<div class="el-form-item-msg">建议尺寸:800x600px,支持jpg、png格式</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="mb20">
|
||||
<el-form-item label="布置所需时间(分钟)" prop="setupTime">
|
||||
<el-input v-model="form.setupTime" placeholder="请输入布置所需时间(分钟)"/>
|
||||
<el-form-item label="布置所需时间" prop="setupTime">
|
||||
<el-input-number
|
||||
v-model="form.setupTime"
|
||||
:min="0"
|
||||
:max="999"
|
||||
placeholder="请输入布置所需时间"
|
||||
controls-position="right"
|
||||
style="width: 100%">
|
||||
<template #append>分钟</template>
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="mb20">
|
||||
<el-form-item label="是否可用" prop="isAvailable">
|
||||
<el-radio-group v-model="form.isAvailable">
|
||||
<el-radio value="0">可用</el-radio>
|
||||
<el-radio value="1">不可用</el-radio>
|
||||
<el-radio label="0">可用</el-radio>
|
||||
<el-radio label="1">不可用</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="mb20">
|
||||
<el-form-item label="排序" prop="sortOrder">
|
||||
<el-input v-model="form.sortOrder" placeholder="请输入排序"/>
|
||||
<el-input-number
|
||||
v-model="form.sortOrder"
|
||||
:min="0"
|
||||
:max="9999"
|
||||
placeholder="请输入排序"
|
||||
controls-position="right"
|
||||
style="width: 100%"/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="mb20">
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="form.remark" placeholder="请输入备注"/>
|
||||
<el-input
|
||||
v-model="form.remark"
|
||||
type="textarea"
|
||||
:rows="3"
|
||||
placeholder="请输入备注"
|
||||
maxlength="500"
|
||||
show-word-limit
|
||||
clearable/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
@@ -82,6 +123,8 @@ import { useDict } from '/@/hooks/dict';
|
||||
import { useMessage } from "/@/hooks/message";
|
||||
import { getObj, addObj, putObj } from '/@/api/integrated/meetingDeskLayout'
|
||||
import { rule } from '/@/utils/validate';
|
||||
import UploadImage from '/@/components/Upload/Image.vue';
|
||||
|
||||
const emit = defineEmits(['refresh']);
|
||||
|
||||
// 定义变量内容
|
||||
@@ -97,18 +140,21 @@ const form = reactive({
|
||||
layoutName: '',
|
||||
layoutCode: '',
|
||||
description: '',
|
||||
capacityMin: '',
|
||||
capacityMax: '',
|
||||
capacityMin: null as number | null,
|
||||
capacityMax: null as number | null,
|
||||
layoutImage: '',
|
||||
setupTime: '',
|
||||
setupTime: null as number | null,
|
||||
isAvailable: '0', // 默认可用
|
||||
sortOrder: '',
|
||||
sortOrder: 0 as number,
|
||||
remark: '',
|
||||
});
|
||||
|
||||
// 定义校验规则
|
||||
const dataRules = ref({
|
||||
layoutName: [{required: true, message: '摆放形式名称不能为空', trigger: 'blur'}],
|
||||
layoutCode: [{required: true, message: '摆放形式编码不能为空', trigger: 'blur'}],
|
||||
capacityMin: [{required: true, message: '最小容纳人数不能为空', trigger: 'change'}],
|
||||
capacityMax: [{required: true, message: '最大容纳人数不能为空', trigger: 'change'}],
|
||||
})
|
||||
|
||||
// 打开弹窗
|
||||
@@ -125,6 +171,16 @@ const openDialog = (id: string) => {
|
||||
if (id) {
|
||||
form.id = id
|
||||
getmeetingDeskLayoutData(id)
|
||||
} else {
|
||||
// 新增时设置默认值
|
||||
form.isAvailable = '0'; // 默认可用
|
||||
form.sortOrder = 0;
|
||||
form.capacityMin = null;
|
||||
form.capacityMax = null;
|
||||
form.setupTime = null;
|
||||
form.layoutImage = '';
|
||||
form.description = '';
|
||||
form.remark = '';
|
||||
}
|
||||
};
|
||||
|
||||
@@ -162,4 +218,23 @@ const getmeetingDeskLayoutData = (id: string) => {
|
||||
defineExpose({
|
||||
openDialog
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.el-form-item-msg {
|
||||
font-size: 12px;
|
||||
color: #909399;
|
||||
line-height: 1.5;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
:deep(.el-input-number) {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
:deep(.el-textarea) {
|
||||
.el-textarea__inner {
|
||||
font-family: inherit;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -10,3 +10,4 @@ export { default as ProductRankingTable } from './ProductRankingTable.vue';
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -210,3 +210,4 @@ export const SUCCESS_MESSAGES = {
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -199,3 +199,4 @@ export const TABLE_CONFIG = {
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user