From 555b01ab4b5f4bcae9b3a75b28b9d2c99fefc9ea Mon Sep 17 00:00:00 2001 From: dongyukun <1208714201@qq.com> Date: 星期一, 26 五月 2025 15:40:16 +0800 Subject: [PATCH] 调度建议快照配置 --- /dev/null | 130 ------------------ src/api/model/sche/suggest/snapshotConfig.ts | 2 src/views/model/sche/snapshotConf/configForm.vue | 24 +- src/views/model/sche/snapshotConf/index.vue | 4 src/api/model/sche/suggest/snapshotConfigDet.ts | 2 src/views/model/sche/snapshotConf/det/index.vue | 30 ++-- src/views/model/sche/snapshotConf/det/configDetForm.vue | 174 ++++++++++++++++++++++++ 7 files changed, 205 insertions(+), 161 deletions(-) diff --git a/src/api/model/sche/suggest/snapshotConfig.ts b/src/api/model/sche/suggest/snapshotConfig.ts index 45ac947..6013522 100644 --- a/src/api/model/sche/suggest/snapshotConfig.ts +++ b/src/api/model/sche/suggest/snapshotConfig.ts @@ -22,5 +22,5 @@ // 删除 export const del = (id) => { - return request.delete({ url: '/model/suggest/snapshot/conf-main?id=' + id }) + return request.delete({ url: '/model/suggest/snapshot/conf-main/delete?id=' + id }) } diff --git a/src/api/model/sche/suggest/snapshotConfigDet.ts b/src/api/model/sche/suggest/snapshotConfigDet.ts index d3201db..3a22435 100644 --- a/src/api/model/sche/suggest/snapshotConfigDet.ts +++ b/src/api/model/sche/suggest/snapshotConfigDet.ts @@ -22,5 +22,5 @@ // 删除 export const del = (id) => { - return request.delete({ url: '/model/suggest/snapshot/conf-det?id=' + id }) + return request.delete({ url: '/model/suggest/snapshot/conf-det/delete?id=' + id }) } diff --git a/src/views/model/sche/snapshotConf/configForm.vue b/src/views/model/sche/snapshotConf/configForm.vue index e654de8..ce76930 100644 --- a/src/views/model/sche/snapshotConf/configForm.vue +++ b/src/views/model/sche/snapshotConf/configForm.vue @@ -36,9 +36,9 @@ </Dialog> </template> <script lang="ts" setup> - import * as ChartApi from '@/api/model/mpk/chart' + import * as SnapshotConfigApi from '@/api/model/sche/suggest/snapshotConfig' -defineOptions({ name: 'ChartForm' }) +defineOptions({ name: 'SnapshotConfigForm' }) const { t } = useI18n() // 国际化 const message = useMessage() // 消息弹窗 @@ -49,8 +49,9 @@ const formType = ref('') // 表单的类型:create - 新增;update - 修改 const formData = ref({ id: undefined, - chartName: undefined, - chartCode: undefined, + title: undefined, + modelId: undefined, + scheduleObj: undefined, }) const formRules = reactive({ chartName: [{ required: true, message: '不能为空', trigger: 'blur' }], @@ -68,7 +69,7 @@ if (id) { formLoading.value = true try { - formData.value = await ChartApi.get(id) + formData.value = await SnapshotConfigApi.get(id) } finally { formLoading.value = false } @@ -88,10 +89,10 @@ try { const data = formData.value if (formType.value === 'create') { - await ChartApi.create(data) + await SnapshotConfigApi.create(data) message.success(t('common.createSuccess')) } else { - await ChartApi.update(data) + await SnapshotConfigApi.update(data) message.success(t('common.updateSuccess')) } dialogVisible.value = false @@ -106,12 +107,9 @@ const resetForm = () => { formData.value = { id: undefined, - chartName: undefined, - chartCode: undefined, - paramName: undefined, - paramCode: undefined, - paramValue: undefined, - remark: undefined, + title: undefined, + modelId: undefined, + scheduleObj: undefined, } formRef.value?.resetFields() } diff --git a/src/views/model/sche/snapshotConf/det/ChartParamForm.vue b/src/views/model/sche/snapshotConf/det/ChartParamForm.vue deleted file mode 100644 index 7d27d88..0000000 --- a/src/views/model/sche/snapshotConf/det/ChartParamForm.vue +++ /dev/null @@ -1,130 +0,0 @@ -<template> - <Dialog v-model="dialogVisible" :title="dialogTitle"> - <el-form - ref="formRef" - v-loading="formLoading" - :model="formData" - :rules="formRules" - label-width="80px" - > - <el-row :gutter="20"> - <el-col :span="12"> - <el-form-item label="参数名称" prop="paramName"> - <el-input v-model="formData.paramName" placeholder=""/> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="参数编码" prop="paramCode"> - <el-input v-model="formData.paramCode" placeholder=""/> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="24"> - <el-form-item label="参数值" prop="paramValue"> - <el-input v-model="formData.paramValue" placeholder=""/> - </el-form-item> - </el-col> - </el-row> - <el-row :gutter="20"> - <el-col :span="24"> - <el-form-item label="备注" prop="remark"> - <el-input v-model="formData.remark" type="textarea" :rows="2" placeholder=""/> - </el-form-item> - </el-col> - </el-row> - </el-form> - <template #footer> - <el-button :disabled="formLoading" type="primary" @click="submitForm">确 定</el-button> - <el-button @click="dialogVisible = false">取 消</el-button> - </template> - </Dialog> -</template> -<script lang="ts" setup> - import * as ChartParamApi from '@/api/model/mpk/chartParam' -import {deleteIcon} from "@/api/model/mpk/icon"; - -defineOptions({ name: 'ChartParamForm' }) - -const { t } = useI18n() // 国际化 -const message = useMessage() // 消息弹窗 - -const dialogVisible = ref(false) // 弹窗的是否展示 -const dialogTitle = ref('') // 弹窗的标题 -const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 -const formType = ref('') // 表单的类型:create - 新增;update - 修改 -const formData = ref({ - id: undefined, - chartId: undefined, - paramName: undefined, - paramCode: undefined, - paramValue: undefined, - remark: undefined, -}) -const formRules = reactive({ - paramName: [{ required: true, message: '不能为空', trigger: 'blur' }], - paramCode: [{ required: true, message: '不能为空', trigger: 'blur' }], - paramValue: [{ required: true, message: '不能为空', trigger: 'blur' }] -}) -const formRef = ref() // 表单 Ref - -/** 打开弹窗 */ -const open = async (type: string, id?: string, chartId?: string) => { - dialogVisible.value = true - dialogTitle.value = t('action.' + type) - formType.value = type - resetForm() - if (chartId) { - formData.value.chartId = chartId - } - // 修改时,设置数据 - if (id) { - formLoading.value = true - try { - formData.value = await ChartParamApi.get(id) - } finally { - formLoading.value = false - } - } -} -defineExpose({ open }) // 提供 open 方法,用于打开弹窗 - -/** 提交表单 */ -const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调 -const submitForm = async () => { - // 校验表单 - if (!formRef) return - const valid = await formRef.value.validate() - if (!valid) return - // 提交请求 - formLoading.value = true - try { - const data = formData.value - if (formType.value === 'create') { - await ChartParamApi.create(data) - message.success(t('common.createSuccess')) - } else { - await ChartParamApi.update(data) - message.success(t('common.updateSuccess')) - } - dialogVisible.value = false - // 发送操作成功的事件 - emit('success') - } finally { - formLoading.value = false - } -} - -/** 重置表单 */ -const resetForm = () => { - formData.value = { - id: undefined, - chartCode: undefined, - paramName: undefined, - paramCode: undefined, - paramValue: undefined, - remark: undefined, - } - formRef.value?.resetFields() -} -</script> diff --git a/src/views/model/sche/snapshotConf/det/configDetForm.vue b/src/views/model/sche/snapshotConf/det/configDetForm.vue new file mode 100644 index 0000000..ee9ab76 --- /dev/null +++ b/src/views/model/sche/snapshotConf/det/configDetForm.vue @@ -0,0 +1,174 @@ +<template> + <Dialog v-model="dialogVisible" :title="dialogTitle"> + <el-form + ref="formRef" + v-loading="formLoading" + :model="formData" + :rules="formRules" + label-width="80px" + > + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="数据类型" prop="dataType"> + <el-input v-model="formData.dataType" placeholder=""/> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="数据编号" prop="dataNo"> + <el-input v-model="formData.dataNo" placeholder=""/> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="左侧长度" prop="leftLength"> + <el-input v-model="formData.leftLength" placeholder=""/> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="右侧长度" prop="rightLength"> + <el-input v-model="formData.rightLength" placeholder=""/> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="排序" prop="sort"> + <el-input v-model="formData.sort" placeholder=""/> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="拓展字段1" prop="ext1"> + <el-input v-model="formData.ext1" placeholder=""/> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="拓展字段2" prop="ext2"> + <el-input v-model="formData.ext2" placeholder=""/> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="拓展字段3" prop="ext3"> + <el-input v-model="formData.ext3" placeholder=""/> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="20"> + <el-col :span="12"> + <el-form-item label="拓展字段4" prop="ext4"> + <el-input v-model="formData.ext4" placeholder=""/> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="拓展字段5" prop="ext5"> + <el-input v-model="formData.ext5" placeholder=""/> + </el-form-item> + </el-col> + </el-row> + + </el-form> + <template #footer> + <el-button :disabled="formLoading" type="primary" @click="submitForm">确 定</el-button> + <el-button @click="dialogVisible = false">取 消</el-button> + </template> + </Dialog> +</template> +<script lang="ts" setup> + import * as ConfigDetApi from '@/api/model/sche/suggest/snapshotConfigDet' +import {deleteIcon} from "@/api/model/mpk/icon"; + +defineOptions({ name: 'ConfigDetForm' }) + +const { t } = useI18n() // 国际化 +const message = useMessage() // 消息弹窗 + +const dialogVisible = ref(false) // 弹窗的是否展示 +const dialogTitle = ref('') // 弹窗的标题 +const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 +const formType = ref('') // 表单的类型:create - 新增;update - 修改 +const formData = ref({ + id: undefined, + confId: undefined, + dataType: undefined, + dataNo: undefined, + leftLength: undefined, + rightLength: undefined, + sort: undefined, + ext1: undefined, + ext2: undefined, + ext3: undefined, + ext4: undefined, + ext5: undefined, +}) +const formRules = reactive({ + dataType: [{ required: true, message: '不能为空', trigger: 'blur' }], + dataNo: [{ required: true, message: '不能为空', trigger: 'blur' }], +}) +const formRef = ref() // 表单 Ref + + /** 打开弹窗 */ + const open = async (type: string, id?: string, confId?: string) => { + dialogVisible.value = true + dialogTitle.value = t('action.' + type) + formType.value = type + resetForm() + formData.confId = confId + // 修改时,设置数据 + if (id) { + formLoading.value = true + try { + formData.value = await ConfigDetApi.get(id) + } finally { + formLoading.value = false + } + } + } +defineExpose({ open }) // 提供 open 方法,用于打开弹窗 + +/** 提交表单 */ +const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调 +const submitForm = async () => { + // 校验表单 + if (!formRef) return + const valid = await formRef.value.validate() + if (!valid) return + // 提交请求 + formLoading.value = true + try { + const data = formData.value + if (formType.value === 'create') { + await ConfigDetApi.create(data) + message.success(t('common.createSuccess')) + } else { + await ConfigDetApi.update(data) + message.success(t('common.updateSuccess')) + } + dialogVisible.value = false + // 发送操作成功的事件 + emit('success') + } finally { + formLoading.value = false + } +} + +/** 重置表单 */ +const resetForm = () => { + formData.value = { + id: undefined, + confId: undefined, + dataType: undefined, + dataNo: undefined, + leftLength: undefined, + rightLength: undefined, + sort: undefined, + ext1: undefined, + ext2: undefined, + ext3: undefined, + ext4: undefined, + ext5: undefined, + } + formRef.value?.resetFields() +} +</script> diff --git a/src/views/model/sche/snapshotConf/det/index.vue b/src/views/model/sche/snapshotConf/det/index.vue index e74ffc2..0fad67a 100644 --- a/src/views/model/sche/snapshotConf/det/index.vue +++ b/src/views/model/sche/snapshotConf/det/index.vue @@ -15,10 +15,10 @@ :inline="true" label-width="68px" > - <el-form-item label="参数名称" prop="paramName"> + <el-form-item label="数据编号" prop="dataNo"> <el-input - v-model="queryParams.paramName" - placeholder="请输入参数名称" + v-model="queryParams.dataNo" + placeholder="请输入数据编号" clearable class="!w-240px" /> @@ -97,17 +97,17 @@ </ContentWrap> <!-- 表单弹窗:添加/修改 --> - <ChartParamForm ref="formRef" @success="getList" /> + <ConfigDetForm ref="formRef" @success="getList" /> </el-drawer> </template> <script lang="ts" setup> import {dateFormatter} from '@/utils/formatTime' -import * as ChartParamApi from '@/api/model/mpk/chartParam' -import ChartParamForm from './ChartParamForm.vue' +import * as configDetApi from '@/api/model/sche/suggest/snapshotConfigDet' +import ConfigDetForm from './configDetForm.vue' import type {DrawerProps} from "element-plus"; -defineOptions({name: 'ChartParam'}) +defineOptions({name: 'ConfigDet'}) const message = useMessage() // 消息弹窗 const {t} = useI18n() // 国际化 @@ -119,13 +119,14 @@ const queryParams = reactive({ page: 1, limit: 10, + confId: '', }) const queryFormRef = ref() // 搜索的表单 const getList = async () => { loading.value = true try { - const data = await ChartParamApi.getPage(queryParams) + const data = await configDetApi.getPage(queryParams) list.value = data.list total.value = data.total } finally { @@ -147,7 +148,7 @@ /** 添加/修改操作 */ const formRef = ref() const openForm = (type: string, id?: string) => { - formRef.value.open(type, id, queryParams.chartId) + formRef.value.open(type, id, queryParams.confId) } /** 删除按钮操作 */ @@ -156,7 +157,7 @@ // 删除的二次确认 await message.delConfirm() // 发起删除 - await ChartParamApi.del(id) + await configDetApi.del(id) message.success(t('common.delSuccess')) // 刷新列表 await getList() @@ -165,11 +166,11 @@ } /** 打开弹窗 */ -const open = async (chartId?: string) => { +const open = async (confId?: string) => { resetForm() drawer.value = true - queryParams.chartId = chartId - if (chartId) { + queryParams.confId = confId + if (confId) { getList() } } @@ -177,8 +178,7 @@ /** 重置表单 */ const resetForm = () => { - queryParams.chartId = '' - queryParams.name = '' + queryParams.confId = '' } const handleClose = (done: () => void) => { diff --git a/src/views/model/sche/snapshotConf/index.vue b/src/views/model/sche/snapshotConf/index.vue index 572d2b1..3bbb0b4 100644 --- a/src/views/model/sche/snapshotConf/index.vue +++ b/src/views/model/sche/snapshotConf/index.vue @@ -37,6 +37,7 @@ type="primary" plain @click="openForm('create')" + v-hasPermi="['suggest:snapshot:create']" > <Icon icon="ep:plus" class="mr-5px" /> 新增 @@ -63,6 +64,7 @@ link type="primary" @click="openForm('update', scope.row.id)" + v-hasPermi="['suggest:snapshot:update']" > 编辑 </el-button> @@ -73,7 +75,7 @@ > 参数 </el-button> - <el-button link type="danger" @click="handleDelete(scope.row.id)"> + <el-button link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['suggest:snapshot:delete']"> 删除 </el-button> </div> -- Gitblit v1.9.3