|
|
@@ -1,84 +1,36 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
- <el-form-item label="ID" prop="typeId">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.typeId"
|
|
|
- placeholder="请输入ID"
|
|
|
- clearable
|
|
|
- @keyup.enter="handleQuery"
|
|
|
- />
|
|
|
+ <el-form-item label="设备类型" prop="typeId">
|
|
|
+ <el-select
|
|
|
+ v-model="queryParams.typeId"
|
|
|
+ placeholder="请选择类型"
|
|
|
+ clearable
|
|
|
+ @change="handleQuery"
|
|
|
+ style="width: 200px"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in typeOptions"
|
|
|
+ :key="item.typeId"
|
|
|
+ :label="item.typeName"
|
|
|
+ :value="item.typeId">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="参数编码" prop="paraCode">
|
|
|
<el-input
|
|
|
- v-model="queryParams.paraCode"
|
|
|
- placeholder="请输入参数编码"
|
|
|
- clearable
|
|
|
- @keyup.enter="handleQuery"
|
|
|
+ v-model="queryParams.paraCode"
|
|
|
+ placeholder="请输入参数编码"
|
|
|
+ clearable
|
|
|
+ @keyup.enter="handleQuery"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="参数名称" prop="paraName">
|
|
|
<el-input
|
|
|
- v-model="queryParams.paraName"
|
|
|
- placeholder="请输入参数名称"
|
|
|
- clearable
|
|
|
- @keyup.enter="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="设定值表达式" prop="paraSet">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.paraSet"
|
|
|
- placeholder="请输入设定值表达式"
|
|
|
- clearable
|
|
|
- @keyup.enter="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="实际值表达式" prop="paraAct">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.paraAct"
|
|
|
- placeholder="请输入实际值表达式"
|
|
|
- clearable
|
|
|
- @keyup.enter="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="创建人" prop="createdBy">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.createdBy"
|
|
|
- placeholder="请输入创建人"
|
|
|
- clearable
|
|
|
- @keyup.enter="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="创建时间" prop="createdTime">
|
|
|
- <el-date-picker clearable
|
|
|
- v-model="queryParams.createdTime"
|
|
|
- type="date"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
- placeholder="请选择创建时间">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="更新人" prop="updatedBy">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.updatedBy"
|
|
|
- placeholder="请输入更新人"
|
|
|
- clearable
|
|
|
- @keyup.enter="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="更新时间" prop="updatedTime">
|
|
|
- <el-date-picker clearable
|
|
|
- v-model="queryParams.updatedTime"
|
|
|
- type="date"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
- placeholder="请选择更新时间">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="备注" prop="remark">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.remark"
|
|
|
- placeholder="请输入备注"
|
|
|
- clearable
|
|
|
- @keyup.enter="handleQuery"
|
|
|
+ v-model="queryParams.paraName"
|
|
|
+ placeholder="请输入参数名称"
|
|
|
+ clearable
|
|
|
+ @keyup.enter="handleQuery"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
@@ -90,124 +42,112 @@
|
|
|
<el-row :gutter="10" class="mb8">
|
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
|
- type="primary"
|
|
|
- plain
|
|
|
- icon="Plus"
|
|
|
- @click="handleAdd"
|
|
|
- v-hasPermi="['dye:process:add']"
|
|
|
- >新增</el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button
|
|
|
- type="success"
|
|
|
- plain
|
|
|
- icon="Edit"
|
|
|
- :disabled="single"
|
|
|
- @click="handleUpdate"
|
|
|
- v-hasPermi="['dye:process:edit']"
|
|
|
- >修改</el-button>
|
|
|
+ type="primary"
|
|
|
+ plain
|
|
|
+ icon="Plus"
|
|
|
+ @click="handleAdd"
|
|
|
+ v-hasPermi="['dye:process:remove']"
|
|
|
+ >新增
|
|
|
+ </el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
|
- type="danger"
|
|
|
- plain
|
|
|
- icon="Delete"
|
|
|
- :disabled="multiple"
|
|
|
- @click="handleDelete"
|
|
|
- v-hasPermi="['dye:process:remove']"
|
|
|
- >删除</el-button>
|
|
|
+ type="success"
|
|
|
+ plain
|
|
|
+ icon="Edit"
|
|
|
+ :disabled="single"
|
|
|
+ @click="handleUpdate"
|
|
|
+ v-hasPermi="['dye:process:remove']"
|
|
|
+ >修改
|
|
|
+ </el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
|
<el-button
|
|
|
- type="warning"
|
|
|
- plain
|
|
|
- icon="Download"
|
|
|
- @click="handleExport"
|
|
|
- v-hasPermi="['dye:process:export']"
|
|
|
- >导出</el-button>
|
|
|
+ type="danger"
|
|
|
+ plain
|
|
|
+ icon="Delete"
|
|
|
+ :disabled="multiple"
|
|
|
+ @click="handleDelete"
|
|
|
+ v-hasPermi="['dye:process:remove']"
|
|
|
+ >删除
|
|
|
+ </el-button>
|
|
|
</el-col>
|
|
|
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
</el-row>
|
|
|
|
|
|
<el-table v-loading="loading" :data="processList" @selection-change="handleSelectionChange">
|
|
|
- <el-table-column type="selection" width="55" align="center" />
|
|
|
- <el-table-column label="参数ID" align="center" prop="tpId" />
|
|
|
- <el-table-column label="ID" align="center" prop="typeId" />
|
|
|
- <el-table-column label="参数编码" align="center" prop="paraCode" />
|
|
|
- <el-table-column label="参数名称" align="center" prop="paraName" />
|
|
|
- <el-table-column label="设定值表达式" align="center" prop="paraSet" />
|
|
|
- <el-table-column label="实际值表达式" align="center" prop="paraAct" />
|
|
|
- <el-table-column label="创建人" align="center" prop="createdBy" />
|
|
|
- <el-table-column label="创建时间" align="center" prop="createdTime" width="180">
|
|
|
+ <el-table-column type="selection" width="55" align="center"/>
|
|
|
+ <el-table-column label="设备类型" align="center">
|
|
|
+ <template #default="scope">
|
|
|
+ <span>{{ getTypeName(scope.row.typeId) }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="参数编码" align="center" prop="paraCode"/>
|
|
|
+ <el-table-column label="参数名称" align="center" prop="paraName"/>
|
|
|
+ <el-table-column label="设定值表达式" align="center" prop="paraSet"/>
|
|
|
+ <el-table-column label="设定值系数" align="center" prop="coeffSet"/>
|
|
|
+ <el-table-column label="实际值表达式" align="center" prop="paraAct"/>
|
|
|
+ <el-table-column label="实际值系数" align="center" prop="coeffAct"/>
|
|
|
+ <el-table-column label="有效值范围" align="center" prop="validRange">
|
|
|
<template #default="scope">
|
|
|
- <span>{{ parseTime(scope.row.createdTime, '{y}-{m}-{d}') }}</span>
|
|
|
+ <el-input
|
|
|
+ v-model="scope.row.validRange"
|
|
|
+ placeholder="例:10-100 或 1.5-2.5"
|
|
|
+ @blur="handleValidRangeChange(scope.row)"
|
|
|
+ @keyup.enter="handleValidRangeChange(scope.row)"
|
|
|
+ />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="更新人" align="center" prop="updatedBy" />
|
|
|
- <el-table-column label="更新时间" align="center" prop="updatedTime" width="180">
|
|
|
+ <el-table-column label="是否告警" align="center" prop="updatedBy">
|
|
|
<template #default="scope">
|
|
|
- <span>{{ parseTime(scope.row.updatedTime, '{y}-{m}-{d}') }}</span>
|
|
|
+ <el-switch
|
|
|
+ v-model="scope.row.updatedBy"
|
|
|
+ :active-value="'1'"
|
|
|
+ :inactive-value="'0'"
|
|
|
+ @change="handleAlarmChange(scope.row)"
|
|
|
+ />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="备注" align="center" prop="remark" />
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
<template #default="scope">
|
|
|
- <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['dye:process:edit']">修改</el-button>
|
|
|
- <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['dye:process:remove']">删除</el-button>
|
|
|
+ <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"
|
|
|
+ v-hasPermi="['dye:process:remove']">修改
|
|
|
+ </el-button>
|
|
|
+ <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)"
|
|
|
+ v-hasPermi="['dye:process:remove']">删除
|
|
|
+ </el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
-
|
|
|
+
|
|
|
<pagination
|
|
|
- v-show="total>0"
|
|
|
- :total="total"
|
|
|
- v-model:page="queryParams.pageNum"
|
|
|
- v-model:limit="queryParams.pageSize"
|
|
|
- @pagination="getList"
|
|
|
+ v-show="total>0"
|
|
|
+ :total="total"
|
|
|
+ v-model:page="queryParams.pageNum"
|
|
|
+ v-model:limit="queryParams.pageSize"
|
|
|
+ @pagination="getList"
|
|
|
/>
|
|
|
|
|
|
<!-- 添加或修改染整线设备类型工艺参数对话框 -->
|
|
|
<el-dialog :title="title" v-model="open" width="500px" append-to-body>
|
|
|
<el-form ref="processRef" :model="form" :rules="rules" label-width="80px">
|
|
|
- <el-form-item label="ID" prop="typeId">
|
|
|
- <el-input v-model="form.typeId" placeholder="请输入ID" />
|
|
|
- </el-form-item>
|
|
|
<el-form-item label="参数编码" prop="paraCode">
|
|
|
- <el-input v-model="form.paraCode" placeholder="请输入参数编码" />
|
|
|
+ <el-input v-model="form.paraCode" placeholder="请输入参数编码"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="参数名称" prop="paraName">
|
|
|
- <el-input v-model="form.paraName" placeholder="请输入参数名称" />
|
|
|
+ <el-input v-model="form.paraName" placeholder="请输入参数名称"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="设定值表达式" prop="paraSet">
|
|
|
- <el-input v-model="form.paraSet" placeholder="请输入设定值表达式" />
|
|
|
+ <el-input v-model="form.paraSet" placeholder="请输入设定值表达式"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="实际值表达式" prop="paraAct">
|
|
|
- <el-input v-model="form.paraAct" placeholder="请输入实际值表达式" />
|
|
|
+ <el-form-item label="设定值系数" prop="coeffSet">
|
|
|
+ <el-input v-model="form.coeffSet" placeholder="请输入设定值系数"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="创建人" prop="createdBy">
|
|
|
- <el-input v-model="form.createdBy" placeholder="请输入创建人" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="创建时间" prop="createdTime">
|
|
|
- <el-date-picker clearable
|
|
|
- v-model="form.createdTime"
|
|
|
- type="date"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
- placeholder="请选择创建时间">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="更新人" prop="updatedBy">
|
|
|
- <el-input v-model="form.updatedBy" placeholder="请输入更新人" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="更新时间" prop="updatedTime">
|
|
|
- <el-date-picker clearable
|
|
|
- v-model="form.updatedTime"
|
|
|
- type="date"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
- placeholder="请选择更新时间">
|
|
|
- </el-date-picker>
|
|
|
+ <el-form-item label="实际值表达式" prop="paraAct">
|
|
|
+ <el-input v-model="form.paraAct" placeholder="请输入实际值表达式"/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="备注" prop="remark">
|
|
|
- <el-input v-model="form.remark" placeholder="请输入备注" />
|
|
|
+ <el-form-item label="实际值系数" prop="coeffAct">
|
|
|
+ <el-input v-model="form.coeffAct" placeholder="请输入实际값系数"/>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
|
@@ -221,11 +161,13 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup name="Process">
|
|
|
-import { listProcess, getProcess, delProcess, addProcess, updateProcess } from "@/api/dye/process";
|
|
|
+import {addProcess, delProcess, getProcess, listProcess, updateProcess} from "@/api/dye/process";
|
|
|
+import {listType} from "@/api/dye/type";
|
|
|
|
|
|
-const { proxy } = getCurrentInstance();
|
|
|
+const {proxy} = getCurrentInstance();
|
|
|
|
|
|
const processList = ref([]);
|
|
|
+const typeOptions = ref([]);
|
|
|
const open = ref(false);
|
|
|
const loading = ref(true);
|
|
|
const showSearch = ref(true);
|
|
|
@@ -239,23 +181,24 @@ const data = reactive({
|
|
|
form: {},
|
|
|
queryParams: {
|
|
|
pageNum: 1,
|
|
|
- pageSize: 10,
|
|
|
+ pageSize: 20,
|
|
|
typeId: null,
|
|
|
paraCode: null,
|
|
|
paraName: null,
|
|
|
- paraSet: null,
|
|
|
- paraAct: null,
|
|
|
- createdBy: null,
|
|
|
- createdTime: null,
|
|
|
- updatedBy: null,
|
|
|
- updatedTime: null,
|
|
|
remark: null
|
|
|
},
|
|
|
rules: {
|
|
|
+ validRange: [
|
|
|
+ {
|
|
|
+ pattern: /^\d+(\.\d+)?-\d+(\.\d+)?$/,
|
|
|
+ message: '请输入正确格式的数值范围,例如:10-100 或 1.5-2.5',
|
|
|
+ trigger: 'blur'
|
|
|
+ }
|
|
|
+ ]
|
|
|
}
|
|
|
});
|
|
|
|
|
|
-const { queryParams, form, rules } = toRefs(data);
|
|
|
+const {queryParams, form, rules} = toRefs(data);
|
|
|
|
|
|
/** 查询染整线设备类型工艺参数列表 */
|
|
|
function getList() {
|
|
|
@@ -267,6 +210,20 @@ function getList() {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+/** 查询类型选项 */
|
|
|
+function getTypeOptions() {
|
|
|
+ listType().then(response => {
|
|
|
+ typeOptions.value = response.rows;
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+/** 根据类型ID获取类型名称 */
|
|
|
+function getTypeName(typeId) {
|
|
|
+ if (!typeId) return '';
|
|
|
+ const type = typeOptions.value.find(item => item.typeId === typeId);
|
|
|
+ return type ? type.typeName : '';
|
|
|
+}
|
|
|
+
|
|
|
// 取消按钮
|
|
|
function cancel() {
|
|
|
open.value = false;
|
|
|
@@ -281,7 +238,10 @@ function reset() {
|
|
|
paraCode: null,
|
|
|
paraName: null,
|
|
|
paraSet: null,
|
|
|
+ coeffSet: null,
|
|
|
paraAct: null,
|
|
|
+ coeffAct: null,
|
|
|
+ validRange: null,
|
|
|
createdBy: null,
|
|
|
createdTime: null,
|
|
|
updatedBy: null,
|
|
|
@@ -352,12 +312,45 @@ function submitForm() {
|
|
|
/** 删除按钮操作 */
|
|
|
function handleDelete(row) {
|
|
|
const _tpIds = row.tpId || ids.value;
|
|
|
- proxy.$modal.confirm('是否确认删除染整线设备类型工艺参数编号为"' + _tpIds + '"的数据项?').then(function() {
|
|
|
+ proxy.$modal.confirm('是否确认删除染整线设备类型工艺参数编号为"' + _tpIds + '"的数据项?').then(function () {
|
|
|
return delProcess(_tpIds);
|
|
|
}).then(() => {
|
|
|
getList();
|
|
|
proxy.$modal.msgSuccess("删除成功");
|
|
|
- }).catch(() => {});
|
|
|
+ }).catch(() => {
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * 处理有效值范围变更
|
|
|
+ */
|
|
|
+function handleValidRangeChange(row) {
|
|
|
+ // 验证输入格式
|
|
|
+ if (row.validRange && !/^\d+(\.\d+)?-\d+(\.\d+)?$/.test(row.validRange)) {
|
|
|
+ proxy.$modal.msgError("请输入正确格式的数值范围,例如:10-100 或 1.5-2.5");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 更新数据
|
|
|
+ updateProcess(row).then(response => {
|
|
|
+ proxy.$modal.msgSuccess("更新成功");
|
|
|
+ getList();
|
|
|
+ }).catch(error => {
|
|
|
+ proxy.$modal.msgError("更新失败");
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+ * 处理告警开关变更
|
|
|
+ */
|
|
|
+function handleAlarmChange(row) {
|
|
|
+ // 更新数据
|
|
|
+ updateProcess(row).then(response => {
|
|
|
+ proxy.$modal.msgSuccess("更新成功");
|
|
|
+ getList();
|
|
|
+ }).catch(error => {
|
|
|
+ proxy.$modal.msgError("更新失败");
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
/** 导出按钮操作 */
|
|
|
@@ -367,5 +360,6 @@ function handleExport() {
|
|
|
}, `process_${new Date().getTime()}.xlsx`)
|
|
|
}
|
|
|
|
|
|
+getTypeOptions();
|
|
|
getList();
|
|
|
</script>
|