Compare commits
No commits in common. "5aafefda2651b75afe068f0d2f17e5870a3d6889" and "3d24159743da8f7906437c675d69b521991cb40d" have entirely different histories.
5aafefda26
...
3d24159743
4
.env.dev
4
.env.dev
@ -5,9 +5,9 @@ ENV = 'development'
|
|||||||
VUE_APP_TITLE = 芋道管理系统
|
VUE_APP_TITLE = 芋道管理系统
|
||||||
|
|
||||||
# 芋道管理系统/开发环境
|
# 芋道管理系统/开发环境
|
||||||
VUE_APP_BASE_API = 'http://192.168.1.49:48080'
|
# VUE_APP_BASE_API = 'http://192.168.1.49:48080'
|
||||||
# VUE_APP_BASE_API = 'http://192.168.1.8:48080'
|
# VUE_APP_BASE_API = 'http://192.168.1.8:48080'
|
||||||
# VUE_APP_BASE_API = 'http://192.168.0.33:48080'
|
VUE_APP_BASE_API = 'http://192.168.0.33:48080'
|
||||||
# VUE_APP_BASE_API = 'http://192.168.1.188:48080'
|
# VUE_APP_BASE_API = 'http://192.168.1.188:48080'
|
||||||
|
|
||||||
# 路由懒加载
|
# 路由懒加载
|
||||||
|
@ -1,54 +0,0 @@
|
|||||||
import request from '@/utils/request'
|
|
||||||
|
|
||||||
// 创建设备与分组绑定
|
|
||||||
export function createEquipmentBindGroup(data) {
|
|
||||||
return request({
|
|
||||||
url: '/base/equipment-bind-group/create',
|
|
||||||
method: 'post',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新设备与分组绑定
|
|
||||||
export function updateEquipmentBindGroup(data) {
|
|
||||||
return request({
|
|
||||||
url: '/base/equipment-bind-group/update',
|
|
||||||
method: 'put',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 删除设备与分组绑定
|
|
||||||
export function deleteEquipmentBindGroup(id) {
|
|
||||||
return request({
|
|
||||||
url: '/base/equipment-bind-group/delete?id=' + id,
|
|
||||||
method: 'delete'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得设备与分组绑定
|
|
||||||
export function getEquipmentBindGroup(id) {
|
|
||||||
return request({
|
|
||||||
url: '/base/equipment-bind-group/get?id=' + id,
|
|
||||||
method: 'get'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获得设备与分组绑定分页
|
|
||||||
export function getEquipmentBindGroupPage(query) {
|
|
||||||
return request({
|
|
||||||
url: '/base/equipment-bind-group/page',
|
|
||||||
method: 'get',
|
|
||||||
params: query
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出设备与分组绑定 Excel
|
|
||||||
export function exportEquipmentBindGroupExcel(query) {
|
|
||||||
return request({
|
|
||||||
url: '/base/equipment-bind-group/export-excel',
|
|
||||||
method: 'get',
|
|
||||||
params: query,
|
|
||||||
responseType: 'blob'
|
|
||||||
})
|
|
||||||
}
|
|
@ -53,12 +53,7 @@
|
|||||||
:action="col.url"
|
:action="col.url"
|
||||||
:on-success="handleUploadSuccess"
|
:on-success="handleUploadSuccess"
|
||||||
v-bind="col.bind">
|
v-bind="col.bind">
|
||||||
<el-button
|
<el-button size="small" type="primary" :disabled="col.bind?.disabled || false">点击上传</el-button>
|
||||||
size="small"
|
|
||||||
type="primary"
|
|
||||||
:disabled="col.bind?.disabled || false">
|
|
||||||
点击上传
|
|
||||||
</el-button>
|
|
||||||
<div class="el-upload__tip" slot="tip" v-if="col.uploadTips">
|
<div class="el-upload__tip" slot="tip" v-if="col.uploadTips">
|
||||||
{{ col.uploadTips || '只能上传jpg/png文件,大小不超过2MB' }}
|
{{ col.uploadTips || '只能上传jpg/png文件,大小不超过2MB' }}
|
||||||
</div>
|
</div>
|
||||||
@ -114,7 +109,6 @@ export default {
|
|||||||
formLoading: true,
|
formLoading: true,
|
||||||
optionListOf: {},
|
optionListOf: {},
|
||||||
uploadedFileList: [],
|
uploadedFileList: [],
|
||||||
dataLoaded: false,
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -126,8 +120,6 @@ export default {
|
|||||||
},
|
},
|
||||||
form: {
|
form: {
|
||||||
get() {
|
get() {
|
||||||
// if (this.dataLoaded) return this.dataForm;
|
|
||||||
// else return {}
|
|
||||||
return this.dataForm;
|
return this.dataForm;
|
||||||
},
|
},
|
||||||
set(val) {
|
set(val) {
|
||||||
@ -165,7 +157,7 @@ export default {
|
|||||||
return response.data;
|
return response.data;
|
||||||
},
|
},
|
||||||
async handleOptions(trigger = 'monuted') {
|
async handleOptions(trigger = 'monuted') {
|
||||||
console.log('[dialogForm:handleOptions]');
|
// console.log("[dialogForm:handleOptions]")
|
||||||
const promiseList = [];
|
const promiseList = [];
|
||||||
this.rows.forEach((cols) => {
|
this.rows.forEach((cols) => {
|
||||||
cols.forEach((opt) => {
|
cols.forEach((opt) => {
|
||||||
@ -177,36 +169,6 @@ export default {
|
|||||||
if (opt.options) {
|
if (opt.options) {
|
||||||
this.$set(this.optionListOf, opt.prop, opt.options);
|
this.$set(this.optionListOf, opt.prop, opt.options);
|
||||||
} else if (opt.url) {
|
} else if (opt.url) {
|
||||||
// 如果有 depends,则暂时先不获取,注册一个watcher
|
|
||||||
if (opt.depends) {
|
|
||||||
console.log('[handleOptions] setting watch');
|
|
||||||
this.$watch(
|
|
||||||
() => this.form[opt.depends],
|
|
||||||
(id) => {
|
|
||||||
console.log('<', opt.depends, '>', 'changed', id);
|
|
||||||
if (id == null) return;
|
|
||||||
// 清空原有选项
|
|
||||||
this.form[opt.prop] = null;
|
|
||||||
// 获取新的选项
|
|
||||||
this.$axios({
|
|
||||||
url: `${opt.url}?id=${id}`,
|
|
||||||
}).then((res) => {
|
|
||||||
this.$set(
|
|
||||||
this.optionListOf,
|
|
||||||
opt.prop,
|
|
||||||
res.data.map((item) => ({
|
|
||||||
label: item[opt.labelKey ?? 'name'],
|
|
||||||
value: item[opt.valueKey ?? 'id'],
|
|
||||||
}))
|
|
||||||
);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
{
|
|
||||||
immediate: true,
|
|
||||||
}
|
|
||||||
);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// 如果是下拉框,或者新增模式下的输入框,才去请求
|
// 如果是下拉框,或者新增模式下的输入框,才去请求
|
||||||
if (opt.select || (opt.input && !this.form?.id)) {
|
if (opt.select || (opt.input && !this.form?.id)) {
|
||||||
promiseList.push(async () => {
|
promiseList.push(async () => {
|
||||||
@ -229,7 +191,6 @@ export default {
|
|||||||
}))
|
}))
|
||||||
);
|
);
|
||||||
} else if (opt.input) {
|
} else if (opt.input) {
|
||||||
console.log('setting code: ', response.data)
|
|
||||||
// 处理输入框数据
|
// 处理输入框数据
|
||||||
this.form[opt.prop] = response.data;
|
this.form[opt.prop] = response.data;
|
||||||
}
|
}
|
||||||
@ -239,8 +200,6 @@ export default {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log('[dialogForm:handleOptions] done!');
|
|
||||||
|
|
||||||
// 如果是 watch 触发的,不需要执行进一步的请求
|
// 如果是 watch 触发的,不需要执行进一步的请求
|
||||||
if (trigger == 'watch') {
|
if (trigger == 'watch') {
|
||||||
this.formLoading = false;
|
this.formLoading = false;
|
||||||
@ -249,7 +208,6 @@ export default {
|
|||||||
try {
|
try {
|
||||||
await Promise.all(promiseList.map((fn) => fn()));
|
await Promise.all(promiseList.map((fn) => fn()));
|
||||||
this.formLoading = false;
|
this.formLoading = false;
|
||||||
this.dataLoaded = true;
|
|
||||||
// console.log("[dialogForm:handleOptions:optionListOf]", this.optionListOf)
|
// console.log("[dialogForm:handleOptions:optionListOf]", this.optionListOf)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log('[dialogForm:handleOptions:error]', error);
|
console.log('[dialogForm:handleOptions:error]', error);
|
||||||
@ -258,16 +216,10 @@ export default {
|
|||||||
if (!promiseList.length) this.formLoading = false;
|
if (!promiseList.length) this.formLoading = false;
|
||||||
},
|
},
|
||||||
// 上传成功的特殊处理
|
// 上传成功的特殊处理
|
||||||
beforeUpload() {},
|
beforeUpload(){},
|
||||||
// 上传前的验证规则可通过 bind 属性传入
|
// 上传前的验证规则可通过 bind 属性传入
|
||||||
handleUploadSuccess(response, file, fileList) {
|
handleUploadSuccess(response, file, fileList) {
|
||||||
console.log(
|
console.log('[dialogForm:handleUploadSuccess]', response, file, fileList, this.form);
|
||||||
'[dialogForm:handleUploadSuccess]',
|
|
||||||
response,
|
|
||||||
file,
|
|
||||||
fileList,
|
|
||||||
this.form
|
|
||||||
);
|
|
||||||
// 保存原始文件名
|
// 保存原始文件名
|
||||||
if ('fileNames' in this.form) this.form.fileNames.push(file.name);
|
if ('fileNames' in this.form) this.form.fileNames.push(file.name);
|
||||||
// 保存完整地址
|
// 保存完整地址
|
||||||
|
@ -88,10 +88,7 @@ export const DICT_TYPE = {
|
|||||||
PRODUCT_TYPE: 'product_type',
|
PRODUCT_TYPE: 'product_type',
|
||||||
|
|
||||||
// ============== ENERGY - 能源模块 =============
|
// ============== ENERGY - 能源模块 =============
|
||||||
ENERGY_UNIT: 'energy_unit',
|
ENERGY_UNIT: 'energy_unit'
|
||||||
|
|
||||||
// ============== ENERGY - 能源模块 =============
|
|
||||||
EQU_ALARM_LEVEL: 'equ_alarm_level'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,330 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="app-container">
|
|
||||||
<!-- 搜索工作栏 -->
|
|
||||||
<SearchBar
|
|
||||||
:formConfigs="searchBarFormConfig"
|
|
||||||
ref="search-bar"
|
|
||||||
@headBtnClick="handleSearchBarBtnClick" />
|
|
||||||
|
|
||||||
<!-- 列表 -->
|
|
||||||
<base-table
|
|
||||||
:table-props="tableProps"
|
|
||||||
:page="queryParams.pageNo"
|
|
||||||
:limit="queryParams.pageSize"
|
|
||||||
:table-data="list"
|
|
||||||
@emitFun="handleEmitFun">
|
|
||||||
<method-btn
|
|
||||||
v-if="tableBtn.length"
|
|
||||||
slot="handleBtn"
|
|
||||||
label="操作"
|
|
||||||
:method-list="tableBtn"
|
|
||||||
@clickBtn="handleTableBtnClick" />
|
|
||||||
</base-table>
|
|
||||||
|
|
||||||
<!-- 分页组件 -->
|
|
||||||
<pagination
|
|
||||||
v-show="total > 0"
|
|
||||||
:total="total"
|
|
||||||
:page.sync="queryParams.pageNo"
|
|
||||||
:limit.sync="queryParams.pageSize"
|
|
||||||
@pagination="getList" />
|
|
||||||
|
|
||||||
<!-- 对话框(添加 / 修改) -->
|
|
||||||
<base-dialog
|
|
||||||
:dialogTitle="title"
|
|
||||||
:dialogVisible="open"
|
|
||||||
width="700px"
|
|
||||||
@close="cancel"
|
|
||||||
@cancel="cancel"
|
|
||||||
@confirm="submitForm">
|
|
||||||
<DialogForm v-if="open" ref="form" :dataForm="form" :rows="rows" />
|
|
||||||
</base-dialog>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import {
|
|
||||||
createEquipmentBindGroup,
|
|
||||||
updateEquipmentBindGroup,
|
|
||||||
deleteEquipmentBindGroup,
|
|
||||||
getEquipmentBindGroup,
|
|
||||||
getEquipmentBindGroupPage,
|
|
||||||
exportEquipmentBindGroupExcel,
|
|
||||||
} from '@/api/base/equipmentBindGroup';
|
|
||||||
|
|
||||||
import { getEquipmentGroupPage } from '@/api/base/equipmentGroup';
|
|
||||||
import moment from 'moment';
|
|
||||||
import basicPageMixin from '@/mixins/lb/basicPageMixin';
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'EquipmentBindGroup',
|
|
||||||
components: {},
|
|
||||||
mixins: [basicPageMixin],
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
searchBarKeys: ['groupId', 'equipmentName'],
|
|
||||||
tableBtn: [
|
|
||||||
this.$auth.hasPermi('base:equipment-bind-group:update')
|
|
||||||
? {
|
|
||||||
type: 'edit',
|
|
||||||
btnName: '修改',
|
|
||||||
}
|
|
||||||
: undefined,
|
|
||||||
this.$auth.hasPermi('base:equipment-bind-group:delete')
|
|
||||||
? {
|
|
||||||
type: 'delete',
|
|
||||||
btnName: '删除',
|
|
||||||
}
|
|
||||||
: undefined,
|
|
||||||
].filter((v) => v),
|
|
||||||
tableProps: [
|
|
||||||
{
|
|
||||||
prop: 'createTime',
|
|
||||||
label: '添加时间',
|
|
||||||
fixed: true,
|
|
||||||
width: 180,
|
|
||||||
filter: (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'),
|
|
||||||
},
|
|
||||||
{ prop: 'equipmentName', label: '设备', align: 'center' },
|
|
||||||
{ prop: 'groupName', label: '分组', align: 'center' },
|
|
||||||
{
|
|
||||||
_action: 'equipment-bind-group-show-alert',
|
|
||||||
label: '分组报警',
|
|
||||||
align: 'center',
|
|
||||||
subcomponent: {
|
|
||||||
props: ['injectData'],
|
|
||||||
render: function (h) {
|
|
||||||
const _this = this;
|
|
||||||
return h(
|
|
||||||
'el-button',
|
|
||||||
{
|
|
||||||
props: { type: 'text', size: 'mini' },
|
|
||||||
on: {
|
|
||||||
click: function () {
|
|
||||||
console.log('inejctdata', _this.injectData);
|
|
||||||
_this.$emit('emitData', {
|
|
||||||
action: _this.injectData._action,
|
|
||||||
value: _this.injectData,
|
|
||||||
});
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'查看报警'
|
|
||||||
);
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
],
|
|
||||||
searchBarFormConfig: [
|
|
||||||
{
|
|
||||||
type: 'select',
|
|
||||||
label: '分组',
|
|
||||||
placeholder: '请选择分组',
|
|
||||||
param: 'groupId',
|
|
||||||
filterable: true,
|
|
||||||
selectOptions: [],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'input',
|
|
||||||
label: '设备',
|
|
||||||
placeholder: '请输入设备',
|
|
||||||
param: 'equipmentName',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'button',
|
|
||||||
btnName: '查询',
|
|
||||||
name: 'search',
|
|
||||||
color: 'primary',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'separate',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: this.$auth.hasPermi('base:equipment-bind-group:create')
|
|
||||||
? 'button'
|
|
||||||
: '',
|
|
||||||
btnName: '新增',
|
|
||||||
name: 'add',
|
|
||||||
plain: true,
|
|
||||||
color: 'success',
|
|
||||||
},
|
|
||||||
// {
|
|
||||||
// type: this.$auth.hasPermi('base:equipment-group:export') ? 'button' : '',
|
|
||||||
// btnName: '导出',
|
|
||||||
// name: 'export',
|
|
||||||
// color: 'warning',
|
|
||||||
// },
|
|
||||||
],
|
|
||||||
rows: [
|
|
||||||
[
|
|
||||||
{
|
|
||||||
select: true,
|
|
||||||
label: '设备',
|
|
||||||
url: '/base/equipment/page?pageNo=1&pageSize=100',
|
|
||||||
prop: 'equipmentId',
|
|
||||||
rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
[
|
|
||||||
{
|
|
||||||
select: true,
|
|
||||||
label: '报警分组',
|
|
||||||
url: '/base/equipment-group/listAll', // 根据产线获取
|
|
||||||
// depends: '__product_line', // 依赖产线获取数据
|
|
||||||
// depends: 'productionLineId',
|
|
||||||
prop: 'groupId',
|
|
||||||
rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
],
|
|
||||||
// 是否显示弹出层
|
|
||||||
open: false,
|
|
||||||
// 查询参数
|
|
||||||
queryParams: {
|
|
||||||
pageNo: 1,
|
|
||||||
pageSize: 10,
|
|
||||||
equipmentName: null,
|
|
||||||
groupId: null,
|
|
||||||
},
|
|
||||||
// 表单参数
|
|
||||||
form: {},
|
|
||||||
// 表单校验
|
|
||||||
rules: {},
|
|
||||||
};
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
this.getList();
|
|
||||||
getEquipmentGroupPage({ pageNo: 1, pageSize: 100 }).then((res) => {
|
|
||||||
this.searchBarFormConfig[0].selectOptions = res.data.list;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
/** 覆盖 handleEmitFun 的默认实现 */
|
|
||||||
handleEmitFun({ action, value }) {
|
|
||||||
const {
|
|
||||||
groupId: equipmentGroupId,
|
|
||||||
groupName: equipmentGroupName,
|
|
||||||
groupCode: equipmentGroupCode,
|
|
||||||
} = value;
|
|
||||||
switch (action) {
|
|
||||||
case 'equipment-bind-group-show-alert':
|
|
||||||
// this.$router.push({ path: '/equipment/base/equipment-group-alarm' });
|
|
||||||
this.$router.push({
|
|
||||||
name: 'EquipmentGroupAlarm',
|
|
||||||
params: {
|
|
||||||
equipmentGroupId,
|
|
||||||
equipmentGroupCode,
|
|
||||||
equipmentGroupName,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
/** 查询列表 */
|
|
||||||
getList() {
|
|
||||||
this.loading = true;
|
|
||||||
_// 执行查询
|
|
||||||
getEquipmentBindGroupPage(this.queryParams).then((response) => {
|
|
||||||
this.list = response.data.list;
|
|
||||||
this.total = response.data.total;
|
|
||||||
this.loading = false;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/** 取消按钮 */
|
|
||||||
cancel() {
|
|
||||||
this.open = false;
|
|
||||||
this.reset();
|
|
||||||
},
|
|
||||||
/** 表单重置 */
|
|
||||||
reset() {
|
|
||||||
this.form = {
|
|
||||||
id: undefined,
|
|
||||||
equipmentId: undefined,
|
|
||||||
groupId: undefined,
|
|
||||||
};
|
|
||||||
this.resetForm('form');
|
|
||||||
},
|
|
||||||
/** 搜索按钮操作 */
|
|
||||||
handleQuery() {
|
|
||||||
this.queryParams.pageNo = 1;
|
|
||||||
this.getList();
|
|
||||||
},
|
|
||||||
/** 重置按钮操作 */
|
|
||||||
resetQuery() {
|
|
||||||
this.resetForm('queryForm');
|
|
||||||
this.handleQuery();
|
|
||||||
},
|
|
||||||
/** 新增按钮操作 */
|
|
||||||
handleAdd() {
|
|
||||||
this.reset();
|
|
||||||
this.open = true;
|
|
||||||
this.title = '添加设备与分组绑定';
|
|
||||||
},
|
|
||||||
/** 修改按钮操作 */
|
|
||||||
handleUpdate(row) {
|
|
||||||
this.reset();
|
|
||||||
const id = row.id;
|
|
||||||
getEquipmentBindGroup(id).then((response) => {
|
|
||||||
this.form = response.data;
|
|
||||||
this.open = true;
|
|
||||||
this.title = '修改设备与分组绑定';
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/** 提交按钮 */
|
|
||||||
submitForm() {
|
|
||||||
this.$refs['form'].validate((valid) => {
|
|
||||||
if (!valid) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// 修改的提交
|
|
||||||
if (this.form.id != null) {
|
|
||||||
updateEquipmentBindGroup(this.form).then((response) => {
|
|
||||||
this.$modal.msgSuccess('修改成功');
|
|
||||||
this.open = false;
|
|
||||||
this.getList();
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// 添加的提交
|
|
||||||
createEquipmentBindGroup(this.form).then((response) => {
|
|
||||||
this.$modal.msgSuccess('新增成功');
|
|
||||||
this.open = false;
|
|
||||||
this.getList();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/** 删除按钮操作 */
|
|
||||||
handleDelete(row) {
|
|
||||||
const id = row.id;
|
|
||||||
this.$modal
|
|
||||||
.confirm('是否确认删除设备与分组绑定编号为"' + id + '"的数据项?')
|
|
||||||
.then(function () {
|
|
||||||
return deleteEquipmentBindGroup(id);
|
|
||||||
})
|
|
||||||
.then(() => {
|
|
||||||
this.getList();
|
|
||||||
this.$modal.msgSuccess('删除成功');
|
|
||||||
})
|
|
||||||
.catch(() => {});
|
|
||||||
},
|
|
||||||
/** 导出按钮操作 */
|
|
||||||
handleExport() {
|
|
||||||
// 处理查询参数
|
|
||||||
let params = { ...this.queryParams };
|
|
||||||
params.pageNo = undefined;
|
|
||||||
params.pageSize = undefined;
|
|
||||||
this.$modal
|
|
||||||
.confirm('是否确认导出所有设备与分组绑定数据项?')
|
|
||||||
.then(() => {
|
|
||||||
this.exportLoading = true;
|
|
||||||
return exportEquipmentBindGroupExcel(params);
|
|
||||||
})
|
|
||||||
.then((response) => {
|
|
||||||
this.$download.excel(response, '设备与分组绑定.xls');
|
|
||||||
this.exportLoading = false;
|
|
||||||
})
|
|
||||||
.catch(() => {});
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
</script>
|
|
@ -1,357 +1,253 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<!-- 搜索工作栏 -->
|
|
||||||
<SearchBar
|
|
||||||
:formConfigs="searchBarFormConfig"
|
|
||||||
ref="search-bar"
|
|
||||||
@headBtnClick="handleSearchBarBtnClick" />
|
|
||||||
|
|
||||||
<!-- 列表 -->
|
<!-- 搜索工作栏 -->
|
||||||
<base-table
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
:table-props="tableProps"
|
<el-form-item label="工段ID" prop="workshopSectionId">
|
||||||
:page="queryParams.pageNo"
|
<el-input v-model="queryParams.workshopSectionId" placeholder="请输入工段ID" clearable @keyup.enter.native="handleQuery"/>
|
||||||
:limit="queryParams.pageSize"
|
</el-form-item>
|
||||||
:table-data="list"
|
<el-form-item label="设备ID" prop="equipmentId">
|
||||||
@emitFun="handleEmitFun">
|
<el-input v-model="queryParams.equipmentId" placeholder="请输入设备ID" clearable @keyup.enter.native="handleQuery"/>
|
||||||
<method-btn
|
</el-form-item>
|
||||||
v-if="tableBtn.length"
|
<el-form-item>
|
||||||
slot="handleBtn"
|
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||||
label="操作"
|
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||||
:method-list="tableBtn"
|
</el-form-item>
|
||||||
@clickBtn="handleTableBtnClick" />
|
</el-form>
|
||||||
</base-table>
|
|
||||||
|
|
||||||
<!-- 分页组件 -->
|
<!-- 操作工具栏 -->
|
||||||
<pagination
|
<el-row :gutter="10" class="mb8">
|
||||||
v-show="total > 0"
|
<el-col :span="1.5">
|
||||||
:total="total"
|
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
|
||||||
:page.sync="queryParams.pageNo"
|
v-hasPermi="['base:equipment-bind-section:create']">新增</el-button>
|
||||||
:limit.sync="queryParams.pageSize"
|
</el-col>
|
||||||
@pagination="getList" />
|
<el-col :span="1.5">
|
||||||
|
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
|
||||||
|
v-hasPermi="['base:equipment-bind-section:export']">导出</el-button>
|
||||||
|
</el-col>
|
||||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
<!-- 对话框(添加 / 修改) -->
|
<!-- 列表 -->
|
||||||
<base-dialog
|
<el-table v-loading="loading" :data="list">
|
||||||
:dialogTitle="title"
|
<el-table-column label="ID" align="center" prop="id" />
|
||||||
:dialogVisible="open"
|
<el-table-column label="工段ID" align="center" prop="workshopSectionId" />
|
||||||
width="700px"
|
<el-table-column label="设备ID" align="center" prop="equipmentId" />
|
||||||
@close="cancel"
|
<el-table-column label="排序" align="center" prop="sort" />
|
||||||
@cancel="cancel"
|
<el-table-column label="产线数据类型 0.无类型 1.进口计数 2.出口计数" align="center" prop="lineDataType">
|
||||||
@confirm="submitForm">
|
<template v-slot="scope">
|
||||||
<DialogForm v-if="open" ref="form" :dataForm="form" :rows="rows" />
|
<dict-tag :type="DICT_TYPE.EQU_DATA_TYPE" :value="scope.row.lineDataType" />
|
||||||
</base-dialog>
|
</template>
|
||||||
</div>
|
</el-table-column>
|
||||||
|
<el-table-column label="工段数据类型 0.无类型 1.进口计数 2.出口计数" align="center" prop="sectionDataType">
|
||||||
|
<template v-slot="scope">
|
||||||
|
<dict-tag :type="DICT_TYPE.EQU_DATA_TYPE" :value="scope.row.sectionDataType" />
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="备注" align="center" prop="remark" />
|
||||||
|
<el-table-column label="版本号" align="center" prop="version" />
|
||||||
|
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||||
|
<template v-slot="scope">
|
||||||
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
|
<template v-slot="scope">
|
||||||
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||||
|
v-hasPermi="['base:equipment-bind-section:update']">修改</el-button>
|
||||||
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
||||||
|
v-hasPermi="['base:equipment-bind-section:delete']">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<!-- 分页组件 -->
|
||||||
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList"/>
|
||||||
|
|
||||||
|
<!-- 对话框(添加 / 修改) -->
|
||||||
|
<el-dialog :title="title" :visible.sync="open" width="500px" v-dialogDrag append-to-body>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
|
<el-form-item label="工段ID" prop="workshopSectionId">
|
||||||
|
<el-input v-model="form.workshopSectionId" placeholder="请输入工段ID" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="设备ID" prop="equipmentId">
|
||||||
|
<el-input v-model="form.equipmentId" placeholder="请输入设备ID" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="排序" prop="sort">
|
||||||
|
<el-input v-model="form.sort" placeholder="请输入排序" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="产线数据类型 0.无类型 1.进口计数 2.出口计数" prop="lineDataType">
|
||||||
|
<el-select v-model="form.lineDataType" placeholder="请选择产线数据类型 0.无类型 1.进口计数 2.出口计数">
|
||||||
|
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.EQU_DATA_TYPE)"
|
||||||
|
:key="dict.value" :label="dict.label" :value="dict.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="工段数据类型 0.无类型 1.进口计数 2.出口计数" prop="sectionDataType">
|
||||||
|
<el-select v-model="form.sectionDataType" placeholder="请选择工段数据类型 0.无类型 1.进口计数 2.出口计数">
|
||||||
|
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.EQU_DATA_TYPE)"
|
||||||
|
:key="dict.value" :label="dict.label" :value="dict.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="form.remark" placeholder="请输入备注" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="版本号" prop="version">
|
||||||
|
<el-input v-model="form.version" placeholder="请输入版本号" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {
|
import { createEquipmentBindSection, updateEquipmentBindSection, deleteEquipmentBindSection, getEquipmentBindSection, getEquipmentBindSectionPage, exportEquipmentBindSectionExcel } from "@/api/base/equipmentBindSection";
|
||||||
createEquipmentBindSection,
|
|
||||||
updateEquipmentBindSection,
|
|
||||||
deleteEquipmentBindSection,
|
|
||||||
getEquipmentBindSection,
|
|
||||||
getEquipmentBindSectionPage,
|
|
||||||
exportEquipmentBindSectionExcel,
|
|
||||||
} from '@/api/base/equipmentBindSection';
|
|
||||||
import moment from 'moment';
|
|
||||||
import basicPageMixin from '@/mixins/lb/basicPageMixin';
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'EquipmentBindSection',
|
name: "EquipmentBindSection",
|
||||||
components: {},
|
components: {
|
||||||
mixins: [basicPageMixin],
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
searchBarKeys: ['workshopSectionId', 'equipmentName'],
|
// 遮罩层
|
||||||
tableBtn: [
|
loading: true,
|
||||||
this.$auth.hasPermi('base:equipment-bind-section:update')
|
// 导出遮罩层
|
||||||
? {
|
exportLoading: false,
|
||||||
type: 'edit',
|
// 显示搜索条件
|
||||||
btnName: '修改',
|
showSearch: true,
|
||||||
}
|
// 总条数
|
||||||
: undefined,
|
total: 0,
|
||||||
this.$auth.hasPermi('base:equipment-bind-section:delete')
|
// 工段设备绑定列表
|
||||||
? {
|
list: [],
|
||||||
type: 'delete',
|
// 弹出层标题
|
||||||
btnName: '删除',
|
title: "",
|
||||||
}
|
// 是否显示弹出层
|
||||||
: undefined,
|
open: false,
|
||||||
].filter((v) => v),
|
// 查询参数
|
||||||
tableProps: [
|
queryParams: {
|
||||||
{
|
pageNo: 1,
|
||||||
prop: 'createTime',
|
pageSize: 10,
|
||||||
label: '添加时间',
|
workshopSectionId: null,
|
||||||
fixed: true,
|
equipmentId: null,
|
||||||
width: 180,
|
},
|
||||||
filter: (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'),
|
// 表单参数
|
||||||
},
|
form: {},
|
||||||
{ prop: 'productionLine', label: '产线名称', align: 'center' },
|
// 表单校验
|
||||||
{ prop: 'workshopSection', label: '工段名称', align: 'center' },
|
rules: {
|
||||||
{ prop: 'equipment', label: '设备名称', align: 'center' },
|
workshopSectionId: [{ required: true, message: "工段ID不能为空", trigger: "blur" }],
|
||||||
{ prop: 'sort', label: '工段中排序', align: 'center' },
|
equipmentId: [{ required: true, message: "设备ID不能为空", trigger: "blur" }],
|
||||||
{
|
}
|
||||||
prop: 'lineDataType',
|
};
|
||||||
label: '产线数据类型',
|
},
|
||||||
align: 'center',
|
created() {
|
||||||
filter: (val) =>
|
this.getList();
|
||||||
val != null ? ['无类型', '进口计数', '出口计数'][val] : '-',
|
},
|
||||||
},
|
methods: {
|
||||||
{
|
/** 查询列表 */
|
||||||
prop: 'sectionDataType',
|
getList() {
|
||||||
label: '工段数据类型',
|
this.loading = true;
|
||||||
align: 'center',
|
// 执行查询
|
||||||
filter: (val) =>
|
getEquipmentBindSectionPage(this.queryParams).then(response => {
|
||||||
val != null ? ['无类型', '进口计数', '出口计数'][val] : '-',
|
this.list = response.data.list;
|
||||||
},
|
this.total = response.data.total;
|
||||||
// {
|
this.loading = false;
|
||||||
// action: 'show-alert',
|
});
|
||||||
// label: '报警',
|
},
|
||||||
// align: 'center',
|
/** 取消按钮 */
|
||||||
// subcomponent: {
|
cancel() {
|
||||||
// props: ['injectData'],
|
this.open = false;
|
||||||
// render: function (h) {
|
this.reset();
|
||||||
// const _this = this;
|
},
|
||||||
// return h(
|
/** 表单重置 */
|
||||||
// 'el-button',
|
reset() {
|
||||||
// {
|
this.form = {
|
||||||
// props: { type: 'text', size: 'mini' },
|
id: undefined,
|
||||||
// on: {
|
workshopSectionId: undefined,
|
||||||
// click: function () {
|
equipmentId: undefined,
|
||||||
// console.log('inejctdata', _this.injectData);
|
sort: undefined,
|
||||||
// _this.$emit('emitData', {
|
lineDataType: undefined,
|
||||||
// action: _this.injectData.action,
|
sectionDataType: undefined,
|
||||||
// value: _this.injectData.id,
|
remark: undefined,
|
||||||
// });
|
version: undefined,
|
||||||
// },
|
};
|
||||||
// },
|
this.resetForm("form");
|
||||||
// },
|
},
|
||||||
// '查看报警'
|
/** 搜索按钮操作 */
|
||||||
// );
|
handleQuery() {
|
||||||
// },
|
this.queryParams.pageNo = 1;
|
||||||
// },
|
this.getList();
|
||||||
// },
|
},
|
||||||
],
|
/** 重置按钮操作 */
|
||||||
searchBarFormConfig: [
|
resetQuery() {
|
||||||
{
|
this.resetForm("queryForm");
|
||||||
type: 'select',
|
this.handleQuery();
|
||||||
label: '工段',
|
},
|
||||||
placeholder: '请选择工段',
|
/** 新增按钮操作 */
|
||||||
param: 'workshopSectionId',
|
handleAdd() {
|
||||||
},
|
this.reset();
|
||||||
{
|
this.open = true;
|
||||||
type: 'input',
|
this.title = "添加工段设备绑定";
|
||||||
label: '设备',
|
},
|
||||||
placeholder: '请输入设备',
|
/** 修改按钮操作 */
|
||||||
param: 'equipmentName',
|
handleUpdate(row) {
|
||||||
},
|
this.reset();
|
||||||
{
|
const id = row.id;
|
||||||
type: 'button',
|
getEquipmentBindSection(id).then(response => {
|
||||||
btnName: '查询',
|
this.form = response.data;
|
||||||
name: 'search',
|
this.open = true;
|
||||||
color: 'primary',
|
this.title = "修改工段设备绑定";
|
||||||
},
|
});
|
||||||
{
|
},
|
||||||
type: 'separate',
|
/** 提交按钮 */
|
||||||
},
|
submitForm() {
|
||||||
{
|
this.$refs["form"].validate(valid => {
|
||||||
type: this.$auth.hasPermi('base:equipment-bind-section:create')
|
if (!valid) {
|
||||||
? 'button'
|
return;
|
||||||
: '',
|
}
|
||||||
btnName: '新增',
|
// 修改的提交
|
||||||
name: 'add',
|
if (this.form.id != null) {
|
||||||
plain: true,
|
updateEquipmentBindSection(this.form).then(response => {
|
||||||
color: 'success',
|
this.$modal.msgSuccess("修改成功");
|
||||||
},
|
this.open = false;
|
||||||
// {
|
this.getList();
|
||||||
// type: this.$auth.hasPermi('base:equipment-group:export') ? 'button' : '',
|
});
|
||||||
// btnName: '导出',
|
return;
|
||||||
// name: 'export',
|
}
|
||||||
// color: 'warning',
|
// 添加的提交
|
||||||
// },
|
createEquipmentBindSection(this.form).then(response => {
|
||||||
],
|
this.$modal.msgSuccess("新增成功");
|
||||||
rows: [
|
this.open = false;
|
||||||
[
|
this.getList();
|
||||||
{
|
});
|
||||||
select: true,
|
});
|
||||||
label: '产线',
|
},
|
||||||
url: '/base/production-line/listAll',
|
/** 删除按钮操作 */
|
||||||
// prop: '__product_line', // __开头代表不传递给服务器
|
handleDelete(row) {
|
||||||
prop: 'productionLineId', // 编辑接口返回的产线id,所以不能使用上面那种形式
|
const id = row.id;
|
||||||
rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
this.$modal.confirm('是否确认删除工段设备绑定编号为"' + id + '"的数据项?').then(function() {
|
||||||
},
|
return deleteEquipmentBindSection(id);
|
||||||
{
|
}).then(() => {
|
||||||
select: true,
|
this.getList();
|
||||||
label: '工段',
|
this.$modal.msgSuccess("删除成功");
|
||||||
url: '/base/workshop-section/listByParentId', // 根据产线获取
|
}).catch(() => {});
|
||||||
// depends: '__product_line', // 依赖产线获取数据
|
},
|
||||||
depends: 'productionLineId',
|
/** 导出按钮操作 */
|
||||||
prop: 'workshopSectionId',
|
handleExport() {
|
||||||
rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
// 处理查询参数
|
||||||
},
|
let params = {...this.queryParams};
|
||||||
],
|
params.pageNo = undefined;
|
||||||
[
|
params.pageSize = undefined;
|
||||||
{
|
this.$modal.confirm('是否确认导出所有工段设备绑定数据项?').then(() => {
|
||||||
select: true,
|
this.exportLoading = true;
|
||||||
label: '设备',
|
return exportEquipmentBindSectionExcel(params);
|
||||||
url: '/base/equipment/page?pageNo=1&pageSize=100',
|
}).then(response => {
|
||||||
prop: 'equipmentId',
|
this.$download.excel(response, '工段设备绑定.xls');
|
||||||
rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
this.exportLoading = false;
|
||||||
},
|
}).catch(() => {});
|
||||||
{
|
}
|
||||||
input: true,
|
}
|
||||||
label: '工段排序',
|
|
||||||
prop: 'sort',
|
|
||||||
// url: '/base/equipment-group/getCode',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
[
|
|
||||||
{
|
|
||||||
select: true,
|
|
||||||
label: '产线数据类型',
|
|
||||||
options: [
|
|
||||||
{ label: '无类型', value: 0 },
|
|
||||||
{ label: '进口统计', value: 1 },
|
|
||||||
{ label: '出口统计', value: 2 },
|
|
||||||
],
|
|
||||||
prop: 'lineDataType',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
select: true,
|
|
||||||
label: '工段数据类型',
|
|
||||||
options: [
|
|
||||||
{ label: '无类型', value: 0 },
|
|
||||||
{ label: '进口统计', value: 1 },
|
|
||||||
{ label: '出口统计', value: 2 },
|
|
||||||
],
|
|
||||||
prop: 'sectionDataType',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
],
|
|
||||||
// 是否显示弹出层
|
|
||||||
open: false,
|
|
||||||
// 查询参数
|
|
||||||
queryParams: {
|
|
||||||
pageNo: 1,
|
|
||||||
pageSize: 10,
|
|
||||||
workshopSectionId: null,
|
|
||||||
equipmentId: null,
|
|
||||||
},
|
|
||||||
// 表单参数
|
|
||||||
form: {},
|
|
||||||
};
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
this.getList();
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
/** 查询列表 */
|
|
||||||
getList() {
|
|
||||||
this.loading = true;
|
|
||||||
// 执行查询
|
|
||||||
getEquipmentBindSectionPage(this.queryParams).then((response) => {
|
|
||||||
this.list = response.data.list;
|
|
||||||
this.total = response.data.total;
|
|
||||||
this.loading = false;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/** 取消按钮 */
|
|
||||||
cancel() {
|
|
||||||
this.open = false;
|
|
||||||
this.reset();
|
|
||||||
},
|
|
||||||
/** 表单重置 */
|
|
||||||
reset() {
|
|
||||||
this.form = {
|
|
||||||
id: undefined,
|
|
||||||
workshopSectionId: undefined,
|
|
||||||
equipmentId: undefined,
|
|
||||||
sort: undefined,
|
|
||||||
lineDataType: undefined,
|
|
||||||
sectionDataType: undefined,
|
|
||||||
remark: undefined,
|
|
||||||
version: undefined,
|
|
||||||
};
|
|
||||||
this.resetForm('form');
|
|
||||||
},
|
|
||||||
/** 搜索按钮操作 */
|
|
||||||
handleQuery() {
|
|
||||||
this.queryParams.pageNo = 1;
|
|
||||||
this.getList();
|
|
||||||
},
|
|
||||||
/** 重置按钮操作 */
|
|
||||||
resetQuery() {
|
|
||||||
this.resetForm('queryForm');
|
|
||||||
this.handleQuery();
|
|
||||||
},
|
|
||||||
/** 新增按钮操作 */
|
|
||||||
handleAdd() {
|
|
||||||
this.reset();
|
|
||||||
this.open = true;
|
|
||||||
this.title = '添加工段设备绑定';
|
|
||||||
},
|
|
||||||
/** 修改按钮操作 */
|
|
||||||
handleUpdate(row) {
|
|
||||||
this.reset();
|
|
||||||
const id = row.id;
|
|
||||||
getEquipmentBindSection(id).then((response) => {
|
|
||||||
this.form = response.data;
|
|
||||||
this.open = true;
|
|
||||||
this.title = '修改工段设备绑定';
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/** 提交按钮 */
|
|
||||||
submitForm() {
|
|
||||||
this.$refs['form'].validate((valid) => {
|
|
||||||
if (!valid) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// 修改的提交
|
|
||||||
if (this.form.id != null) {
|
|
||||||
updateEquipmentBindSection(this.form).then((response) => {
|
|
||||||
this.$modal.msgSuccess('修改成功');
|
|
||||||
this.open = false;
|
|
||||||
this.getList();
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// 添加的提交
|
|
||||||
createEquipmentBindSection(this.form).then((response) => {
|
|
||||||
this.$modal.msgSuccess('新增成功');
|
|
||||||
this.open = false;
|
|
||||||
this.getList();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/** 删除按钮操作 */
|
|
||||||
handleDelete(row) {
|
|
||||||
const id = row.id;
|
|
||||||
this.$modal
|
|
||||||
.confirm('是否确认删除工段设备绑定编号为"' + id + '"的数据项?')
|
|
||||||
.then(function () {
|
|
||||||
return deleteEquipmentBindSection(id);
|
|
||||||
})
|
|
||||||
.then(() => {
|
|
||||||
this.getList();
|
|
||||||
this.$modal.msgSuccess('删除成功');
|
|
||||||
})
|
|
||||||
.catch(() => {});
|
|
||||||
},
|
|
||||||
/** 导出按钮操作 */
|
|
||||||
handleExport() {
|
|
||||||
// 处理查询参数
|
|
||||||
let params = { ...this.queryParams };
|
|
||||||
params.pageNo = undefined;
|
|
||||||
params.pageSize = undefined;
|
|
||||||
this.$modal
|
|
||||||
.confirm('是否确认导出所有工段设备绑定数据项?')
|
|
||||||
.then(() => {
|
|
||||||
this.exportLoading = true;
|
|
||||||
return exportEquipmentBindSectionExcel(params);
|
|
||||||
})
|
|
||||||
.then((response) => {
|
|
||||||
this.$download.excel(response, '工段设备绑定.xls');
|
|
||||||
this.exportLoading = false;
|
|
||||||
})
|
|
||||||
.catch(() => {});
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -33,12 +33,13 @@
|
|||||||
<base-dialog
|
<base-dialog
|
||||||
:dialogTitle="title"
|
:dialogTitle="title"
|
||||||
:dialogVisible="open"
|
:dialogVisible="open"
|
||||||
width="500px"
|
width="500px"
|
||||||
@close="cancel"
|
@close="cancel"
|
||||||
@cancel="cancel"
|
@cancel="cancel"
|
||||||
@confirm="submitForm">
|
@confirm="submitForm">
|
||||||
<DialogForm v-if="open" ref="form" :dataForm="form" :rows="rows" />
|
<DialogForm v-if="open" ref="form" :dataForm="form" :rows="rows" />
|
||||||
</base-dialog>
|
</base-dialog>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -88,7 +89,7 @@ export default {
|
|||||||
{ prop: 'code', label: '检测分组编码', align: 'center' },
|
{ prop: 'code', label: '检测分组编码', align: 'center' },
|
||||||
{ prop: 'remark', label: '备注', align: 'center' },
|
{ prop: 'remark', label: '备注', align: 'center' },
|
||||||
{
|
{
|
||||||
_action: 'equipment-group-show-alert',
|
action: 'show-alert',
|
||||||
label: '报警',
|
label: '报警',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
subcomponent: {
|
subcomponent: {
|
||||||
@ -103,9 +104,8 @@ export default {
|
|||||||
click: function () {
|
click: function () {
|
||||||
console.log('inejctdata', _this.injectData);
|
console.log('inejctdata', _this.injectData);
|
||||||
_this.$emit('emitData', {
|
_this.$emit('emitData', {
|
||||||
action: _this.injectData._action,
|
action: _this.injectData.action,
|
||||||
// value: _this.injectData.id,
|
value: _this.injectData.id,
|
||||||
value: _this.injectData,
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -203,27 +203,6 @@ export default {
|
|||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
/** 覆盖 handleEmitFun 的默认实现 */
|
|
||||||
handleEmitFun({ action, value }) {
|
|
||||||
const {
|
|
||||||
id: equipmentGroupId,
|
|
||||||
name: equipmentGroupName,
|
|
||||||
code: equipmentGroupCode,
|
|
||||||
} = value;
|
|
||||||
switch (action) {
|
|
||||||
case 'equipment-group-show-alert':
|
|
||||||
// this.$router.push({ path: '/equipment/base/equipment-group-alarm' });
|
|
||||||
this.$router.push({
|
|
||||||
name: 'EquipmentGroupAlarm',
|
|
||||||
params: {
|
|
||||||
equipmentGroupId,
|
|
||||||
equipmentGroupCode,
|
|
||||||
equipmentGroupName,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
/** 查询列表 */
|
/** 查询列表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
|
@ -1,354 +1,246 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<!-- 搜索工作栏 -->
|
|
||||||
<SearchBar
|
|
||||||
:formConfigs="searchBarFormConfig"
|
|
||||||
ref="search-bar"
|
|
||||||
@headBtnClick="handleSearchBarBtnClick" />
|
|
||||||
|
|
||||||
<!-- 列表 -->
|
<!-- 搜索工作栏 -->
|
||||||
<base-table
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||||
:table-props="tableProps"
|
<el-form-item label="设备分组ID,关联base_equipment_group" prop="equipmentGroupId">
|
||||||
:page="queryParams.pageNo"
|
<el-input v-model="queryParams.equipmentGroupId" placeholder="请输入设备分组ID,关联base_equipment_group" clearable @keyup.enter.native="handleQuery"/>
|
||||||
:limit="queryParams.pageSize"
|
</el-form-item>
|
||||||
:table-data="list"
|
<el-form-item>
|
||||||
@emitFun="handleEmitFun">
|
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
|
||||||
<method-btn
|
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
|
||||||
v-if="tableBtn.length"
|
</el-form-item>
|
||||||
slot="handleBtn"
|
</el-form>
|
||||||
label="操作"
|
|
||||||
:method-list="tableBtn"
|
|
||||||
@clickBtn="handleTableBtnClick" />
|
|
||||||
</base-table>
|
|
||||||
|
|
||||||
<!-- 分页组件 -->
|
<!-- 操作工具栏 -->
|
||||||
<pagination
|
<el-row :gutter="10" class="mb8">
|
||||||
v-show="total > 0"
|
<el-col :span="1.5">
|
||||||
:total="total"
|
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
|
||||||
:page.sync="queryParams.pageNo"
|
v-hasPermi="['base:equipment-group-alarm:create']">新增</el-button>
|
||||||
:limit.sync="queryParams.pageSize"
|
</el-col>
|
||||||
@pagination="getList" />
|
<el-col :span="1.5">
|
||||||
|
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
|
||||||
|
v-hasPermi="['base:equipment-group-alarm:export']">导出</el-button>
|
||||||
|
</el-col>
|
||||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
<!-- 对话框(添加 / 修改) -->
|
<!-- 列表 -->
|
||||||
<base-dialog
|
<el-table v-loading="loading" :data="list">
|
||||||
:dialogTitle="title"
|
<el-table-column label="ID" align="center" prop="id" />
|
||||||
:dialogVisible="open"
|
<el-table-column label="设备分组ID,关联base_equipment_group" align="center" prop="equipmentGroupId" />
|
||||||
width="736px"
|
<el-table-column label="编码" align="center" prop="code" />
|
||||||
@close="cancel"
|
<el-table-column label="报警类型:1.字符型,2.布尔型" align="center" prop="type" />
|
||||||
@cancel="cancel"
|
<el-table-column label="报警级别 字典表关联label_value" align="center" prop="grade">
|
||||||
@confirm="submitForm">
|
<template v-slot="scope">
|
||||||
<DialogForm v-if="open" ref="form" :dataForm="form" :rows="rows" />
|
<dict-tag :type="DICT_TYPE.EQU_ALARM_LEVEL" :value="scope.row.grade" />
|
||||||
</base-dialog>
|
</template>
|
||||||
</div>
|
</el-table-column>
|
||||||
|
<el-table-column label="字符型用 对应到设备实际的报警编码 布尔型不用填写" align="center" prop="alarmCode" />
|
||||||
|
<el-table-column label="报警内容 该条报警具体的解释" align="center" prop="alarmContent" />
|
||||||
|
<el-table-column label="关联编码,对应到plc_param_name的编码,用于链接数采" align="center" prop="plcParamName" />
|
||||||
|
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
|
||||||
|
<template v-slot="scope">
|
||||||
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
|
<template v-slot="scope">
|
||||||
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||||
|
v-hasPermi="['base:equipment-group-alarm:update']">修改</el-button>
|
||||||
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
||||||
|
v-hasPermi="['base:equipment-group-alarm:delete']">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<!-- 分页组件 -->
|
||||||
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList"/>
|
||||||
|
|
||||||
|
<!-- 对话框(添加 / 修改) -->
|
||||||
|
<el-dialog :title="title" :visible.sync="open" width="500px" v-dialogDrag append-to-body>
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
|
<el-form-item label="设备分组ID,关联base_equipment_group" prop="equipmentGroupId">
|
||||||
|
<el-input v-model="form.equipmentGroupId" placeholder="请输入设备分组ID,关联base_equipment_group" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="编码" prop="code">
|
||||||
|
<el-input v-model="form.code" placeholder="请输入编码" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="报警类型:1.字符型,2.布尔型" prop="type">
|
||||||
|
<el-select v-model="form.type" placeholder="请选择报警类型:1.字符型,2.布尔型">
|
||||||
|
<el-option label="请选择字典生成" value="" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="报警级别 字典表关联label_value" prop="grade">
|
||||||
|
<el-select v-model="form.grade" placeholder="请选择报警级别 字典表关联label_value">
|
||||||
|
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.EQU_ALARM_LEVEL)"
|
||||||
|
:key="dict.value" :label="dict.label" :value="dict.value" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="字符型用 对应到设备实际的报警编码 布尔型不用填写" prop="alarmCode">
|
||||||
|
<el-input v-model="form.alarmCode" placeholder="请输入字符型用 对应到设备实际的报警编码 布尔型不用填写" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="报警内容 该条报警具体的解释" prop="alarmContent">
|
||||||
|
<el-input v-model="form.alarmContent" placeholder="请输入报警内容 该条报警具体的解释" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="关联编码,对应到plc_param_name的编码,用于链接数采" prop="plcParamName">
|
||||||
|
<el-input v-model="form.plcParamName" placeholder="请输入关联编码,对应到plc_param_name的编码,用于链接数采" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {
|
import { createEquipmentGroupAlarm, updateEquipmentGroupAlarm, deleteEquipmentGroupAlarm, getEquipmentGroupAlarm, getEquipmentGroupAlarmPage, exportEquipmentGroupAlarmExcel } from "@/api/base/equipmentGroupAlarm";
|
||||||
createEquipmentGroupAlarm,
|
|
||||||
updateEquipmentGroupAlarm,
|
|
||||||
deleteEquipmentGroupAlarm,
|
|
||||||
getEquipmentGroupAlarm,
|
|
||||||
getEquipmentGroupAlarmPage,
|
|
||||||
exportEquipmentGroupAlarmExcel,
|
|
||||||
} from '@/api/base/equipmentGroupAlarm';
|
|
||||||
import basicPageMixin from '@/mixins/lb/basicPageMixin';
|
|
||||||
import moment from 'moment';
|
|
||||||
import { publicFormatter } from '@/utils/dict';
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'EquipmentGroupAlarm',
|
name: "EquipmentGroupAlarm",
|
||||||
components: {},
|
components: {
|
||||||
mixins: [basicPageMixin],
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
searchBarKeys: [''],
|
// 遮罩层
|
||||||
tableBtn: [
|
loading: true,
|
||||||
this.$auth.hasPermi('base:equipment-group-alarm:update')
|
// 导出遮罩层
|
||||||
? {
|
exportLoading: false,
|
||||||
type: 'edit',
|
// 显示搜索条件
|
||||||
btnName: '修改',
|
showSearch: true,
|
||||||
}
|
// 总条数
|
||||||
: undefined,
|
total: 0,
|
||||||
this.$auth.hasPermi('base:equipment-group-alarm:delete')
|
// 设备分组报警明细列表
|
||||||
? {
|
list: [],
|
||||||
type: 'delete',
|
// 弹出层标题
|
||||||
btnName: '删除',
|
title: "",
|
||||||
}
|
// 是否显示弹出层
|
||||||
: undefined,
|
open: false,
|
||||||
].filter((v) => v),
|
// 查询参数
|
||||||
tableProps: [
|
queryParams: {
|
||||||
{
|
pageNo: 1,
|
||||||
prop: 'createTime',
|
pageSize: 10,
|
||||||
label: '添加时间',
|
equipmentGroupId: null,
|
||||||
fixed: true,
|
},
|
||||||
width: 180,
|
// 表单参数
|
||||||
filter: (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'),
|
form: {},
|
||||||
},
|
// 表单校验
|
||||||
{ prop: 'code', label: '报警编码', align: 'center' },
|
rules: {
|
||||||
{ prop: 'type', label: '报警类型', align: 'center' },
|
equipmentGroupId: [{ required: true, message: "设备分组ID,关联base_equipment_group不能为空", trigger: "blur" }],
|
||||||
{
|
type: [{ required: true, message: "报警类型:1.字符型,2.布尔型不能为空", trigger: "change" }],
|
||||||
prop: 'grade',
|
alarmContent: [{ required: true, message: "报警内容 该条报警具体的解释不能为空", trigger: "blur" }],
|
||||||
label: '报警级别',
|
plcParamName: [{ required: true, message: "关联编码,对应到plc_param_name的编码,用于链接数采不能为空", trigger: "blur" }],
|
||||||
align: 'center',
|
}
|
||||||
filter: publicFormatter(this.DICT_TYPE.EQU_ALARM_LEVEL),
|
};
|
||||||
},
|
},
|
||||||
{ prop: 'alarmCode', label: '设备报警编码', align: 'center' },
|
created() {
|
||||||
{ prop: 'plcParamName', label: '参数列名', align: 'center' },
|
this.getList();
|
||||||
{ prop: 'alarmContent', label: '报警内容', align: 'center' },
|
},
|
||||||
],
|
methods: {
|
||||||
searchBarFormConfig: [
|
/** 查询列表 */
|
||||||
{
|
getList() {
|
||||||
type: 'input',
|
this.loading = true;
|
||||||
label: '设备分组编码',
|
// 执行查询
|
||||||
placeholder: '/',
|
getEquipmentGroupAlarmPage(this.queryParams).then(response => {
|
||||||
param: 'equipmentGroupCode',
|
this.list = response.data.list;
|
||||||
defaultSelect: null,
|
this.total = response.data.total;
|
||||||
disabled: true,
|
this.loading = false;
|
||||||
},
|
});
|
||||||
{
|
},
|
||||||
type: 'input',
|
/** 取消按钮 */
|
||||||
label: '设备分组名称',
|
cancel() {
|
||||||
placeholder: '/',
|
this.open = false;
|
||||||
param: 'equipmentGroupName',
|
this.reset();
|
||||||
defaultSelect: null,
|
},
|
||||||
disabled: true,
|
/** 表单重置 */
|
||||||
},
|
reset() {
|
||||||
{
|
this.form = {
|
||||||
type: this.$auth.hasPermi('base:equipment-group-alarm:create')
|
id: undefined,
|
||||||
? 'button'
|
equipmentGroupId: undefined,
|
||||||
: '',
|
code: undefined,
|
||||||
btnName: '新增',
|
type: undefined,
|
||||||
name: 'add',
|
grade: undefined,
|
||||||
plain: true,
|
alarmCode: undefined,
|
||||||
color: 'success',
|
alarmContent: undefined,
|
||||||
},
|
plcParamName: undefined,
|
||||||
],
|
};
|
||||||
rows: [
|
this.resetForm("form");
|
||||||
[
|
},
|
||||||
{
|
/** 搜索按钮操作 */
|
||||||
input: true,
|
handleQuery() {
|
||||||
label: '报警编码', // 自动生成
|
this.queryParams.pageNo = 1;
|
||||||
prop: 'code',
|
this.getList();
|
||||||
url: '/base/equipment-group-alarm/getCode',
|
},
|
||||||
rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
/** 重置按钮操作 */
|
||||||
},
|
resetQuery() {
|
||||||
{
|
this.resetForm("queryForm");
|
||||||
select: true,
|
this.handleQuery();
|
||||||
label: '报警类型', // 固定选项
|
},
|
||||||
prop: 'type',
|
/** 新增按钮操作 */
|
||||||
options: [
|
handleAdd() {
|
||||||
{ label: '布尔型', value: 2 },
|
this.reset();
|
||||||
{ label: '字符型', value: 1 },
|
this.open = true;
|
||||||
],
|
this.title = "添加设备分组报警明细";
|
||||||
rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
},
|
||||||
},
|
/** 修改按钮操作 */
|
||||||
],
|
handleUpdate(row) {
|
||||||
[
|
this.reset();
|
||||||
{
|
const id = row.id;
|
||||||
select: true,
|
getEquipmentGroupAlarm(id).then(response => {
|
||||||
label: '报警级别', // 字典
|
this.form = response.data;
|
||||||
prop: 'grade',
|
this.open = true;
|
||||||
options: this.getDictDatas(this.DICT_TYPE.EQU_ALARM_LEVEL),
|
this.title = "修改设备分组报警明细";
|
||||||
},
|
});
|
||||||
{
|
},
|
||||||
input: true,
|
/** 提交按钮 */
|
||||||
label: '设备报警编码', // 对应到设备实际的报警编码
|
submitForm() {
|
||||||
prop: 'alarmCode',
|
this.$refs["form"].validate(valid => {
|
||||||
},
|
if (!valid) {
|
||||||
],
|
return;
|
||||||
[
|
}
|
||||||
{
|
// 修改的提交
|
||||||
input: true,
|
if (this.form.id != null) {
|
||||||
label: '参数列名', // 在实时数据库的列名
|
updateEquipmentGroupAlarm(this.form).then(response => {
|
||||||
prop: 'plcParamName',
|
this.$modal.msgSuccess("修改成功");
|
||||||
rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
this.open = false;
|
||||||
},
|
this.getList();
|
||||||
{
|
});
|
||||||
input: true,
|
return;
|
||||||
label: '报警内容',
|
}
|
||||||
prop: 'alarmContent',
|
// 添加的提交
|
||||||
rules: [{ required: true, message: '不能为空', trigger: 'blur' }],
|
createEquipmentGroupAlarm(this.form).then(response => {
|
||||||
},
|
this.$modal.msgSuccess("新增成功");
|
||||||
],
|
this.open = false;
|
||||||
],
|
this.getList();
|
||||||
// 是否显示弹出层
|
});
|
||||||
open: false,
|
});
|
||||||
// 查询参数
|
},
|
||||||
queryParams: {
|
/** 删除按钮操作 */
|
||||||
pageNo: 1,
|
handleDelete(row) {
|
||||||
pageSize: 10,
|
const id = row.id;
|
||||||
equipmentGroupId: null,
|
this.$modal.confirm('是否确认删除设备分组报警明细编号为"' + id + '"的数据项?').then(function() {
|
||||||
},
|
return deleteEquipmentGroupAlarm(id);
|
||||||
// 表单参数
|
}).then(() => {
|
||||||
form: {
|
this.getList();
|
||||||
id: undefined,
|
this.$modal.msgSuccess("删除成功");
|
||||||
equipmentGroupId: undefined,
|
}).catch(() => {});
|
||||||
code: undefined,
|
},
|
||||||
type: undefined,
|
/** 导出按钮操作 */
|
||||||
grade: undefined,
|
handleExport() {
|
||||||
alarmCode: undefined,
|
// 处理查询参数
|
||||||
alarmContent: undefined,
|
let params = {...this.queryParams};
|
||||||
plcParamName: undefined,
|
params.pageNo = undefined;
|
||||||
},
|
params.pageSize = undefined;
|
||||||
// // 表单校验
|
this.$modal.confirm('是否确认导出所有设备分组报警明细数据项?').then(() => {
|
||||||
// rules: {
|
this.exportLoading = true;
|
||||||
// equipmentGroupId: [{ required: true, message: "设备分组ID,关联base_equipment_group不能为空", trigger: "blur" }],
|
return exportEquipmentGroupAlarmExcel(params);
|
||||||
// type: [{ required: true, message: "报警类型:1.字符型,2.布尔型不能为空", trigger: "change" }],
|
}).then(response => {
|
||||||
// alarmContent: [{ required: true, message: "报警内容 该条报警具体的解释不能为空", trigger: "blur" }],
|
this.$download.excel(response, '设备分组报警明细.xls');
|
||||||
// plcParamName: [{ required: true, message: "关联编码,对应到plc_param_name的编码,用于链接数采不能为空", trigger: "blur" }],
|
this.exportLoading = false;
|
||||||
// }
|
}).catch(() => {});
|
||||||
};
|
}
|
||||||
},
|
}
|
||||||
// watch: {
|
|
||||||
// $route(value) {
|
|
||||||
// console.log('new route info', value)
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// created() {
|
|
||||||
// this.getList();
|
|
||||||
// },
|
|
||||||
activated() {
|
|
||||||
// 设置顶部搜索栏信息
|
|
||||||
const { equipmentGroupName, equipmentGroupCode, equipmentGroupId } =
|
|
||||||
this.$route.params;
|
|
||||||
this.setSearchBarFormValue('equipmentGroupName', equipmentGroupName);
|
|
||||||
this.setSearchBarFormValue('equipmentGroupCode', equipmentGroupCode);
|
|
||||||
this.queryParams.equipmentGroupId = equipmentGroupId;
|
|
||||||
// if (!equipmentGroupId) this.getList(); // 拦截
|
|
||||||
this.getList();
|
|
||||||
},
|
|
||||||
deactivated() {
|
|
||||||
this.setSearchBarFormValue('equipmentGroupName', null);
|
|
||||||
this.setSearchBarFormValue('equipmentGroupCode', null);
|
|
||||||
this.queryParams.equipmentGroupId = null;
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
/** 设置 searchBarForm 的默认值 - 用得比较少 */
|
|
||||||
setSearchBarFormValue(param, value) {
|
|
||||||
this.searchBarFormConfig.forEach((config) => {
|
|
||||||
if (config.param == param) {
|
|
||||||
config.defaultSelect = value;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/** 查询列表 */
|
|
||||||
getList() {
|
|
||||||
this.loading = true;
|
|
||||||
// 执行查询
|
|
||||||
getEquipmentGroupAlarmPage(this.queryParams).then((response) => {
|
|
||||||
this.list = response.data.list;
|
|
||||||
this.total = response.data.total;
|
|
||||||
this.loading = false;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/** 取消按钮 */
|
|
||||||
cancel() {
|
|
||||||
this.open = false;
|
|
||||||
this.reset();
|
|
||||||
},
|
|
||||||
/** 表单重置 */
|
|
||||||
reset() {
|
|
||||||
this.form = {
|
|
||||||
id: undefined,
|
|
||||||
equipmentGroupId: undefined,
|
|
||||||
code: undefined,
|
|
||||||
type: undefined,
|
|
||||||
grade: undefined,
|
|
||||||
alarmCode: undefined,
|
|
||||||
alarmContent: undefined,
|
|
||||||
plcParamName: undefined,
|
|
||||||
};
|
|
||||||
this.resetForm('form');
|
|
||||||
},
|
|
||||||
/** 搜索按钮操作 */
|
|
||||||
handleQuery() {
|
|
||||||
this.queryParams.pageNo = 1;
|
|
||||||
this.getList();
|
|
||||||
},
|
|
||||||
/** 重置按钮操作 */
|
|
||||||
resetQuery() {
|
|
||||||
this.resetForm('queryForm');
|
|
||||||
this.handleQuery();
|
|
||||||
},
|
|
||||||
/** 新增按钮操作 */
|
|
||||||
handleAdd() {
|
|
||||||
if (this.queryParams.equipmentGroupId == null)
|
|
||||||
return this.$message.error('没有检测到设备分组信息');
|
|
||||||
this.reset();
|
|
||||||
this.open = true;
|
|
||||||
this.title = '添加设备分组报警明细';
|
|
||||||
},
|
|
||||||
/** 修改按钮操作 */
|
|
||||||
handleUpdate(row) {
|
|
||||||
this.reset();
|
|
||||||
const id = row.id;
|
|
||||||
getEquipmentGroupAlarm(id).then((response) => {
|
|
||||||
this.form = response.data;
|
|
||||||
this.open = true;
|
|
||||||
this.title = '修改设备分组报警明细';
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/** 提交按钮 */
|
|
||||||
submitForm() {
|
|
||||||
this.$refs['form'].validate((valid) => {
|
|
||||||
if (!valid) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// 修改的提交
|
|
||||||
if (this.form.id != null) {
|
|
||||||
updateEquipmentGroupAlarm({
|
|
||||||
...this.form,
|
|
||||||
equipmentGroupId: this.queryParams.equipmentGroupId,
|
|
||||||
}).then((response) => {
|
|
||||||
this.$modal.msgSuccess('修改成功');
|
|
||||||
this.open = false;
|
|
||||||
this.getList();
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// 添加的提交
|
|
||||||
createEquipmentGroupAlarm({
|
|
||||||
...this.form,
|
|
||||||
equipmentGroupId: this.queryParams.equipmentGroupId,
|
|
||||||
}).then((response) => {
|
|
||||||
this.$modal.msgSuccess('新增成功');
|
|
||||||
this.open = false;
|
|
||||||
this.getList();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
},
|
|
||||||
/** 删除按钮操作 */
|
|
||||||
handleDelete(row) {
|
|
||||||
const id = row.id;
|
|
||||||
this.$modal
|
|
||||||
.confirm('是否确认删除设备分组报警明细编号为"' + id + '"的数据项?')
|
|
||||||
.then(function () {
|
|
||||||
return deleteEquipmentGroupAlarm(id);
|
|
||||||
})
|
|
||||||
.then(() => {
|
|
||||||
this.getList();
|
|
||||||
this.$modal.msgSuccess('删除成功');
|
|
||||||
})
|
|
||||||
.catch(() => {});
|
|
||||||
},
|
|
||||||
/** 导出按钮操作 */
|
|
||||||
handleExport() {
|
|
||||||
// 处理查询参数
|
|
||||||
let params = { ...this.queryParams };
|
|
||||||
params.pageNo = undefined;
|
|
||||||
params.pageSize = undefined;
|
|
||||||
this.$modal
|
|
||||||
.confirm('是否确认导出所有设备分组报警明细数据项?')
|
|
||||||
.then(() => {
|
|
||||||
this.exportLoading = true;
|
|
||||||
return exportEquipmentGroupAlarmExcel(params);
|
|
||||||
})
|
|
||||||
.then((response) => {
|
|
||||||
this.$download.excel(response, '设备分组报警明细.xls');
|
|
||||||
this.exportLoading = false;
|
|
||||||
})
|
|
||||||
.catch(() => {});
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
Loading…
Reference in New Issue
Block a user