综合服务完善
This commit is contained in:
1 parent
0ebd6737fe
commit
2dbce0a362
7 files changed
+109
-25
No files matched your search
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
<el-col :span="24" class="mb20">
|
<el-col :span="24" class="mb20">
|
||||||
<el-form-item label="图片" prop="picUrl">
|
<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-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
@@ -59,6 +59,8 @@ import { useDict } from '/@/hooks/dict';
|
|||||||
import { useMessage } from "/@/hooks/message";
|
import { useMessage } from "/@/hooks/message";
|
||||||
import { getObj, addObj, putObj } from '/@/api/integrated/feedback'
|
import { getObj, addObj, putObj } from '/@/api/integrated/feedback'
|
||||||
import { rule } from '/@/utils/validate';
|
import { rule } from '/@/utils/validate';
|
||||||
|
import UploadImage from '/@/components/Upload/Image.vue';
|
||||||
|
|
||||||
const emit = defineEmits(['refresh']);
|
const emit = defineEmits(['refresh']);
|
||||||
|
|
||||||
// 定义变量内容
|
// 定义变量内容
|
||||||
|
|||||||
@@ -46,7 +46,11 @@
|
|||||||
<el-table-column type="selection" width="40" align="center" />
|
<el-table-column type="selection" width="40" align="center" />
|
||||||
<el-table-column type="index" label="#" width="40" />
|
<el-table-column type="index" label="#" width="40" />
|
||||||
<el-table-column prop="title" label="标题" show-overflow-tooltip/>
|
<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>
|
<el-table-column prop="status" label="状态" show-overflow-tooltip>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<dict-tag :options="maintenance_status" :value="scope.row.status"></dict-tag>
|
<dict-tag :options="maintenance_status" :value="scope.row.status"></dict-tag>
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24" class="mb20">
|
<el-col :span="24" class="mb20">
|
||||||
<el-form-item label="图片" prop="picUrl">
|
<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-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
|
|||||||
@@ -1,72 +1,113 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog :title="form.id ? '编辑' : '新增'" v-model="visible"
|
<el-dialog :title="form.id ? '编辑' : '新增'" v-model="visible"
|
||||||
:close-on-click-modal="false" draggable>
|
:close-on-click-modal="false" draggable width="800px">
|
||||||
<el-form ref="dataFormRef" :model="form" :rules="dataRules" formDialogRef label-width="90px" v-loading="loading">
|
<el-form ref="dataFormRef" :model="form" :rules="dataRules" formDialogRef label-width="130px" v-loading="loading">
|
||||||
<el-row :gutter="24">
|
<el-row :gutter="24">
|
||||||
<el-col :span="12" class="mb20">
|
<el-col :span="12" class="mb20">
|
||||||
<el-form-item label="摆放形式名称" prop="layoutName">
|
<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-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="12" class="mb20">
|
<el-col :span="12" class="mb20">
|
||||||
<el-form-item label="摆放形式编码" prop="layoutCode">
|
<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-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="12" class="mb20">
|
<el-col :span="24" class="mb20">
|
||||||
<el-form-item label="摆放形式描述" prop="description">
|
<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-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="12" class="mb20">
|
<el-col :span="12" class="mb20">
|
||||||
<el-form-item label="最小容纳人数" prop="capacityMin">
|
<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-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="12" class="mb20">
|
<el-col :span="12" class="mb20">
|
||||||
<el-form-item label="最大容纳人数" prop="capacityMax">
|
<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-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="12" class="mb20">
|
<el-col :span="24" class="mb20">
|
||||||
<el-form-item label="摆放形式示意图" prop="layoutImage">
|
<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-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="12" class="mb20">
|
<el-col :span="12" class="mb20">
|
||||||
<el-form-item label="布置所需时间(分钟)" prop="setupTime">
|
<el-form-item label="布置所需时间" prop="setupTime">
|
||||||
<el-input v-model="form.setupTime" placeholder="请输入布置所需时间(分钟)"/>
|
<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-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="12" class="mb20">
|
<el-col :span="12" class="mb20">
|
||||||
<el-form-item label="是否可用" prop="isAvailable">
|
<el-form-item label="是否可用" prop="isAvailable">
|
||||||
<el-radio-group v-model="form.isAvailable">
|
<el-radio-group v-model="form.isAvailable">
|
||||||
<el-radio value="0">可用</el-radio>
|
<el-radio label="0">可用</el-radio>
|
||||||
<el-radio value="1">不可用</el-radio>
|
<el-radio label="1">不可用</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="12" class="mb20">
|
<el-col :span="12" class="mb20">
|
||||||
<el-form-item label="排序" prop="sortOrder">
|
<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-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="12" class="mb20">
|
<el-col :span="24" class="mb20">
|
||||||
<el-form-item label="备注" prop="remark">
|
<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-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
<span class="dialog-footer">
|
<span class="dialog-footer">
|
||||||
@@ -82,6 +123,8 @@ import { useDict } from '/@/hooks/dict';
|
|||||||
import { useMessage } from "/@/hooks/message";
|
import { useMessage } from "/@/hooks/message";
|
||||||
import { getObj, addObj, putObj } from '/@/api/integrated/meetingDeskLayout'
|
import { getObj, addObj, putObj } from '/@/api/integrated/meetingDeskLayout'
|
||||||
import { rule } from '/@/utils/validate';
|
import { rule } from '/@/utils/validate';
|
||||||
|
import UploadImage from '/@/components/Upload/Image.vue';
|
||||||
|
|
||||||
const emit = defineEmits(['refresh']);
|
const emit = defineEmits(['refresh']);
|
||||||
|
|
||||||
// 定义变量内容
|
// 定义变量内容
|
||||||
@@ -97,18 +140,21 @@ const form = reactive({
|
|||||||
layoutName: '',
|
layoutName: '',
|
||||||
layoutCode: '',
|
layoutCode: '',
|
||||||
description: '',
|
description: '',
|
||||||
capacityMin: '',
|
capacityMin: null as number | null,
|
||||||
capacityMax: '',
|
capacityMax: null as number | null,
|
||||||
layoutImage: '',
|
layoutImage: '',
|
||||||
setupTime: '',
|
setupTime: null as number | null,
|
||||||
isAvailable: '0', // 默认可用
|
isAvailable: '0', // 默认可用
|
||||||
sortOrder: '',
|
sortOrder: 0 as number,
|
||||||
remark: '',
|
remark: '',
|
||||||
});
|
});
|
||||||
|
|
||||||
// 定义校验规则
|
// 定义校验规则
|
||||||
const dataRules = ref({
|
const dataRules = ref({
|
||||||
layoutName: [{required: true, message: '摆放形式名称不能为空', trigger: 'blur'}],
|
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) {
|
if (id) {
|
||||||
form.id = id
|
form.id = id
|
||||||
getmeetingDeskLayoutData(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 = '';
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -163,3 +219,22 @@ defineExpose({
|
|||||||
openDialog
|
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