This commit is contained in:
helloDy
2024-03-14 20:19:42 +08:00
parent 149ec4c844
commit 67948c10cb
20 changed files with 299 additions and 112 deletions

View File

@@ -7,10 +7,11 @@
<template>
<el-drawer
:visible="visible"
:visible.sync="visible"
:show-close="false"
:wrapper-closable="false"
:wrapper-closable="true"
class="drawer"
:before-close="beforeClose"
custom-class="mes-drawer"
:size="size || '50%'"
@closed="$emit('destroy')">
@@ -43,7 +44,51 @@
:rows="formRows" /> -->
<!-- <el-row v-if="mode.includes('detail')" style="margin-bottom: 24px"> -->
<el-row style="margin-bottom: 24px">
<el-form
ref="form"
:model="dataForm"
label-width="100px"
v-loading="formLoading">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item
label="设备"
prop="equipmentId"
:rules="[{ required: true, message: '设备不能为空', trigger: 'change' }]">
<el-select
:disabled="isdetail"
v-model="dataForm.equipmentId"
placeholder="请选择设备"
@change="$emit('update', dataForm)">
<el-option
v-for="opt in equipmentList"
:key="opt.id"
:label="opt.name"
:value="opt.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="报警分组"
prop="groupId"
:rules="[{ required: true, message: '报警分组不能为空', trigger: 'change' }]">
<el-select
:disabled="isdetail"
v-model="dataForm.groupId"
placeholder="请选择报警分组"
@change="$emit('update', dataForm)">
<el-option
v-for="opt in grouList"
:key="opt.id"
:label="opt.name"
:value="opt.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<!-- <el-row style="margin-bottom: 24px">
<el-col :span="8">
<div
class="title"
@@ -62,7 +107,7 @@
{{ form.code }}
</div>
</el-col>
</el-row>
</el-row> -->
<!-- <el-row v-else style="margin-bottom: 24px" :gutter="20">
<el-form ref="form" :model="form">
<el-col :span="8">
@@ -128,12 +173,11 @@
</section>
</div>
<div class="drawer-body__footer">
<div v-if="!mode.includes('detail')" class="drawer-body__footer">
<el-button style="" @click="handleCancel">取消</el-button>
<el-button
type="primary"
v-if="!mode.includes('detail')"
@click="handleCancel">
@click="handleSave">
确定
</el-button>
</div>
@@ -163,6 +207,8 @@
<script>
import BaseInfoForm from '@/components/DialogForm';
import DialogForm from './dialogForm';
import { getEquipmentList, getgroupAllList } from '@/api/equipment/base/config/config'
import { updateEquipmentBindGroup } from '@/api/base/equipmentBindGroup';
const SmallTitle = {
name: 'SmallTitle',
@@ -191,16 +237,21 @@ const SmallTitle = {
export default {
components: { SmallTitle, DialogForm, BaseInfoForm },
props: ['sections', 'defaultMode', 'dataId', 'size'], // dataId 作为一个通用的存放id的字段
props: ['sections', 'defaultMode', 'dataId', 'size', 'equipmentId', 'id'], // dataId 作为一个通用的存放id的字段
data() {
return {
mode: '',
visible: false,
showForm: false,
isdetail: false,
formLoading: false,
grouList: [],
equipmentList: [],
total: 0,
form: {},
list: [],
attrTitle: '',
dataForm: {},
attrForm: {
id: null,
equipmentGroupId: '',
@@ -325,6 +376,34 @@ export default {
}
},
methods: {
// handleSave() {
// updateEquipmentBindGroup(this.form).then((response) => {
// this.$modal.msgSuccess('修改成功');
// this.open = false;
// this.getList();
// });
// },
async getDict() {
const res = await getEquipmentList({
pageNo: 1,
pageSize: 100,
special: false
})
this.equipmentList = res.data.list
const groupRes = await getgroupAllList()
this.grouList = groupRes.data
},
beforeClose(done) {
if (this.mode.includes('edit')) {
this.$confirm('确认关闭?')
.then(_ => {
done();
})
.catch(_ => {});
} else {
done()
}
},
handleTableBtnClick({ type, data }) {
switch (type) {
case 'edit':
@@ -342,6 +421,16 @@ export default {
init() {
this.visible = true;
// 设备分组传值
// this.dataForm = {
// equipmentId: this.equipmentId,
// groupId: this.dataId
// }
this.getDict()
this.$set(this.dataForm, 'equipmentId', this.equipmentId)
this.$set(this.dataForm, 'groupId', this.dataId)
this.$set(this.dataForm, 'id', this.id)
this.isdetail = this.mode === 'detail' ? true : false
},
async getAttrList() {
@@ -360,9 +449,9 @@ export default {
if (valid) {
const isEdit = !this.mode.includes('detail');
await this.$axios({
url: this.sections[0][isEdit ? 'urlUpdate' : 'urlCreate'],
url: '/base/equipment-bind-group/update',
method: isEdit ? 'put' : 'post',
data: this.form,
data: this.dataForm,
});
this.$modal.msgSuccess(`${isEdit ? '更新' : '创建'}成功`);
this.visible = false;

View File

@@ -48,6 +48,8 @@
size="45%"
:default-mode="editMode"
:data-id="alarmForm.id"
:equipment-id="equipmentId"
:id="id"
:sections="[
{
name: '基本信息',
@@ -220,7 +222,7 @@ export default {
{
select: true,
label: '设备',
url: '/base/core-equipment/page?pageNo=1&pageSize=100',
url: '/base/core-equipment/page?pageNo=1&pageSize=100&special=false',
prop: 'equipmentId',
bind: {
filterable: true,
@@ -266,6 +268,8 @@ export default {
equipmentGroupCode: undefined,
equipmentGroupName: undefined,
},
equipmentId: undefined,
id: undefined,
editVisible: false,
editMode: '',
drawerBaseInfoRows: [
@@ -440,6 +444,8 @@ export default {
this.alarmForm.id = groupId;
this.alarmForm.equipmentGroupCode = groupCode;
this.alarmForm.equipmentGroupName = groupName;
this.equipmentId = equipmentId;
this.id = id;
this.editVisible = true;
this.$nextTick(() => {
this.$refs['drawer'].init();