From e88e654fe1e1065532e6e8911571166d5c118df1 Mon Sep 17 00:00:00 2001 From: 13937891274 <kxc0822> Date: 星期一, 08 八月 2022 11:41:41 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/facilityManagement/deviceType/component/Dailog.vue | 109 +++++++++++++++++++++++++++++------------------------- 1 files changed, 58 insertions(+), 51 deletions(-) diff --git a/src/views/facilityManagement/deviceType/component/Dailog.vue b/src/views/facilityManagement/deviceType/component/Dailog.vue index b87da7f..576135f 100644 --- a/src/views/facilityManagement/deviceType/component/Dailog.vue +++ b/src/views/facilityManagement/deviceType/component/Dailog.vue @@ -1,10 +1,10 @@ <template> - <el-dialog v-model="dialogVisible" :fullscreen="full" :title="titles" width="50%" draggable> + <el-dialog v-model="dialogVisible" :fullscreen="full" @close="resetForm(ruleFormRef)" :title="titles" width="50%" draggable> <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> - <el-form :model="form" :disabled="disabled" label-width="120px"> + <el-form :model="form" :disabled="disabled" ref="ruleFormRef" :rules="rules" label-width="120px"> <el-row> <el-col :span="11"> - <el-form-item label="是否为设备内容" size="default"> + <el-form-item label="是否为设备内容" size="default" prop="isContent"> <el-select v-model="form.isContent" placeholder="请选择" style="width: 100%"> <el-option label="是" value="1" /> <el-option label="否" value="2" /> @@ -12,44 +12,46 @@ </el-form-item> </el-col> <el-col :span="11" :offset="2"> - <el-form-item label="父级编号" size="default"> - <el-tree-select check-strictly="true" v-model="form.parentId" :data="data" :props="propst" class="w100" placeholder="请选择" /> + <el-form-item label="父级编号" size="default" prop="parentId"> + <el-tree-select clearable check-strictly="true" v-model="form.parentId" :data="data" :props="propst" class="w100" placeholder="请选择" /> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="11"> - <el-form-item label="类别名称" size="default"> + <el-form-item label="类别名称" size="default" prop="typeName"> <el-input v-model="form.typeName" /> </el-form-item> </el-col> <el-col :span="11" :offset="2"> - <el-form-item label="排列序列" size="default"> - <el-input v-model="form.sortNum" /> + <el-form-item label="排列序列" size="default" prop="sortNum"> + <el-input v-model.number="form.sortNum" /> </el-form-item> </el-col> </el-row> </el-form> <template #footer> <span class="dialog-footer"> - <el-button @click="resetForm">关闭</el-button> - <el-button type="primary" @click="submitForm">确定</el-button> + <el-button @click="resetForm(ruleFormRef)">关闭</el-button> + <el-button type="primary" @click="submitForm(ruleFormRef)">确定</el-button> </span> </template> </el-dialog> </template> <script lang="ts"> -import { defineComponent, ref } from 'vue'; +import { defineComponent, ref, reactive } from 'vue'; +import type { FormInstance, FormRules } from 'element-plus'; import { FullScreen } from '@element-plus/icons-vue'; import { facilityManagementApi } from '/@/api/facilityManagement'; import { ElMessage } from 'element-plus'; +import { type } from 'os'; export default defineComponent({ setup(prpos, { emit }) { const dialogVisible = ref(false); const form = ref({ isContent: '', ////是否为设备内容 1:是 2:否 typeName: '', ////类别名称 - parentId: 0, ////父级ID,如果没有父级,为0 + parentId: "", ////父级ID,如果没有父级,为0 isCheck: 0, ////是否检测 1:是 2:否 isVisit: 0, ////是否巡检 1:是 2:否 sortNum: '', //排列序列 @@ -67,7 +69,7 @@ } else if (title == '修改') { detail(id); } else if (title == '添加') { - // detail(id); + form.value.parentId=id } }; const detail = (id: number) => { @@ -107,46 +109,49 @@ children: 'childList', value: 'id', }; - const submitForm = () => { - facilityManagementApi() - .getequipmentTypeMngAddOrUpdate(form.value) - .then((res) => { - if (res.data.code == 200) { - dialogVisible.value = false; - ElMessage({ - showClose: true, - message: res.data.msg, - type: 'success', + const ruleFormRef = ref<FormInstance>(); + const rules = reactive<FormRules>({ + isContent: [{ required: true, message: '是否为设备内容不能为空', trigger: 'change' }], + parentId: [], + typeName: [{ required: true, message: '类别名称不能为空', trigger: 'change' }], + sortNum: [ + { required: true, message: '排列序列不能为空', trigger: 'change' }, + { type: 'number', message: '请输入数字!', trigger: 'change' }, + ], + }); + const submitForm = async (formEl: FormInstance | undefined) => { + if (!formEl) return; + await formEl.validate((valid, fields) => { + if (valid) { + facilityManagementApi() + .getequipmentTypeMngAddOrUpdate(form.value) + .then((res) => { + if (res.data.code == 200) { + dialogVisible.value = false; + ElMessage({ + showClose: true, + message: res.data.msg, + type: 'success', + }); + emit('onAdd'); + formEl.resetFields(); + } else { + ElMessage({ + showClose: true, + message: res.data.msg, + type: 'error', + }); + } }); - emit('onAdd'); - } else { - ElMessage({ - showClose: true, - message: res.data.msg, - type: 'error', - }); - } - }); - form.value = { - isContent: '', ////是否为设备内容 1:是 2:否 - typeName: '', ////类别名称 - parentId: 0, ////父级ID,如果没有父级,为0 - isCheck: 0, ////是否检测 1:是 2:否 - isVisit: 0, ////是否巡检 1:是 2:否 - sortNum: '', //排列序列 - id: '', //设备类型ID ,更新时必填 - }; + } else { + console.log('error submit!', fields); + } + }); }; - const resetForm = () => { - form.value = { - isContent: '', ////是否为设备内容 1:是 2:否 - typeName: '', ////类别名称 - parentId: 0, ////父级ID,如果没有父级,为0 - isCheck: 0, ////是否检测 1:是 2:否 - isVisit: 0, ////是否巡检 1:是 2:否 - sortNum: '', //排列序列 - id: '', //设备类型ID ,更新时必填 - }; + const resetForm = (formEl: FormInstance | undefined) => { + if (!formEl) return; + formEl.resetFields(); + dialogVisible.value = false; }; //全屏 const full = ref(false); @@ -159,6 +164,8 @@ }; return { detail, + rules, + ruleFormRef, listApi, propst, submitForm, -- Gitblit v1.9.2