This commit is contained in:
shijing 2024-04-28 17:05:27 +08:00
commit 6e7e535cfc
3 changed files with 191 additions and 124 deletions

View File

@ -105,3 +105,16 @@ export const iMEnum = new EnumFactory({
20: '单开为开/都停为停',
30: '都开为开/单停为停',
}, parseInt)
export const mpointTypeEnum = new EnumFactory({
10: '自动采集',
20: '计算测点',
30: '手动录入',
}, parseInt)
export const mpointGatherStateEnum = new EnumFactory({
"0": { text: '正常', type: 'success' },
"-1": { text: '错误', type: 'danger' },
"-2": { text: '无', type: 'info' },
}, parseInt)

View File

@ -8,18 +8,22 @@
<el-button type="primary" @click="batchUpdate" v-auth="'mpoint.update'">批量修改</el-button>
</div>
<div class="right-panel">
<el-select v-model="query.enabled" placeholder="是否启用" @change="handleQuery" clearable>
<el-select v-model="query.enabled" placeholder="是否启用" @change="handleQuery" clearable style="width:100px">
<el-option v-for="e in boolEnum.values" :key="e.key" :value="e.key"
:label="e.text"></el-option>
</el-select>
<el-select v-model="query.is_auto" placeholder="是否自采" @change="handleQuery" clearable>
<el-option v-for="e in boolEnum.values" :key="e.key" :value="e.key"
<el-select v-model="query.type" placeholder="测点类型" @change="handleQuery" clearable style="width:100px">
<el-option v-for="e in mpointTypeEnum.values" :key="e.key" :value="e.key"
:label="e.text"></el-option>
</el-select>
<el-select v-model="query.val_type" placeholder="值类型" @change="handleQuery" clearable>
<el-select v-model="query.val_type" placeholder="值类型" @change="handleQuery" clearable style="width:100px">
<el-option v-for="e in valTypeEnum.values" :key="e.key" :value="e.key"
:label="e.text"></el-option>
</el-select>
<el-select v-model="query.need_display" placeholder="是否展示" @change="handleQuery" clearable style="width:100px">
<el-option v-for="e in boolEnum.values" :key="e.key" :value="e.key"
:label="e.text"></el-option>
</el-select>
<el-input
v-model="query.search"
placeholder="名称/代号"
@ -36,8 +40,9 @@
<el-main class="nopadding">
<scTable ref="table" :apiObj="apiObj" row-key="id" remoteSort @selection-change="selectionChange">
<el-table-column type="selection" width="50" />
<el-table-column label="名称" prop="name" width="360" show-overflow-tooltip sortable></el-table-column>
<el-table-column label="代号" prop="code" width="130" show-overflow-tooltip></el-table-column>
<el-table-column label="名称" prop="name" width="200" show-overflow-tooltip sortable></el-table-column>
<el-table-column label="别名" prop="nickname" width="120" show-overflow-tooltip sortable></el-table-column>
<el-table-column label="代号" prop="code" width="130" show-overflow-tooltip sortable></el-table-column>
<el-table-column label="是否启用" width="80">
<template #default="scope">
<el-icon v-if="scope.row.enabled" color="green"
@ -46,28 +51,35 @@
<el-icon v-else color="red"><CircleCloseFilled /></el-icon>
</template>
</el-table-column>
<el-table-column label="自动采集" width="80">
<el-table-column label="采集状态" show-overflow-tooltip>
<template #default="scope">
<el-icon v-if="scope.row.is_auto" color="green"
<el-tag :type="mpointGatherStateEnum[scope.row.gather_state]?.type">{{
mpointGatherStateEnum[scope.row.gather_state]?.text }}</el-tag>
</template>
</el-table-column>
<el-table-column label="测点类型" width="80">
<template #default="scope">{{mpointTypeEnum[scope.row.type]?.text}}
</template>
</el-table-column>
<el-table-column label="采集间隔(s)" prop="interval" width="100"></el-table-column>
<el-table-column label="值类型" prop="val_type" width="80">
<template #default="scope">{{valTypeEnum[scope.row.val_type]?.text}}
</template>
</el-table-column>
<el-table-column label="单位" prop="unit" width="80"></el-table-column>
<el-table-column label="计量物料" prop="material_name" width="100"></el-table-column>
<el-table-column label="所属工段" prop="mgroup_name" width="100"></el-table-column>
<el-table-column label="是否展示" width="80">
<template #default="scope">
<el-icon v-if="scope.row.need_display" color="green"
><CircleCheckFilled
/></el-icon>
<el-icon v-else color="red"><CircleCloseFilled /></el-icon>
</template>
</el-table-column>
<el-table-column label="采集间隔(s)" prop="interval" width="100"></el-table-column>
<el-table-column label="值类型" prop="val_type" width="80"></el-table-column>
<el-table-column label="单位" prop="unit" width="80"></el-table-column>
<el-table-column label="计量物料" prop="material_name" width="100"></el-table-column>
<el-table-column label="所属工段" prop="mgroup_name" width="100"></el-table-column>
<el-table-column label="最近记录" show-overflow-tooltip width="180">
<template #default="scope">
<div v-if="scope.row.last_data">
<div>{{scope.row.last_data.last_val}}</div>
<div>{{scope.row.last_data.last_timex}}</div>
</div>
</template>
<el-table-column label="报告排序" prop="report_sortstr" width="100" sortable>
</el-table-column>
<el-table-column label="创建时间" prop="create_time" show-overflow-tooltip sortable width="160"></el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="140">
<template #default="scope">
@ -100,7 +112,7 @@
</template>
<script>
import saveDialog from "./mpoint_form.vue";
import { valTypeEnum, boolEnum } from "@/utils/enum.js";
import { valTypeEnum, boolEnum, mpointTypeEnum, mpointGatherStateEnum } from "@/utils/enum.js";
export default {
name: "rparty",
components: {
@ -110,6 +122,8 @@ export default {
return {
valTypeEnum,
boolEnum,
mpointTypeEnum,
mpointGatherStateEnum,
logShow:false,
dialog: {
save: false,

View File

@ -16,6 +16,31 @@
label-width="90px"
>
<el-row>
<el-col :md="12" :sm="24">
<el-form-item label="测点类型">
<el-select
v-model="form.type"
style="width: 100%"
>
<el-option
v-for="e in mpointTypeEnum.values"
:key="e.key"
:value="e.key"
:label="e.text"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="6" :sm="24">
<el-form-item label="是否启用">
<el-switch v-model="form.enabled" />
</el-form-item>
</el-col>
<el-col :md="6" :sm="24">
<el-form-item label="是否展示">
<el-switch v-model="form.need_display" />
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="名称" prop="name">
<el-input
@ -24,6 +49,14 @@
></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="别名" prop="nickname">
<el-input
v-model="form.nickname"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="测点编号" prop="code">
<el-input
@ -55,23 +88,6 @@
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="所监测设备">
<el-select
v-model="form.ep_monitored"
placeholder="所监测设备"
clearable
style="width: 100%"
>
<el-option
v-for="item in epOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="所属设备">
<el-select
@ -89,79 +105,6 @@
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="计量物料">
<el-select
v-model="form.material"
placeholder="计量物料"
clearable
style="width: 100%"
>
<el-option
v-for="item in materials"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="是否启用">
<el-switch v-model="form.enabled" />
</el-form-item>
</el-col>
<el-col :md="24" :sm="24">
<el-form-item label="计算公式">
<el-input
v-model="form.formula"
clearable
></el-input>
</el-form-item>
</el-col>
<!-- <el-col :md="12" :sm="24">
<el-form-item label="调用方法">
<el-input v-model="form.func_on_change" clearable></el-input>
</el-form-item>
</el-col> -->
<el-col :md="12" :sm="24">
<el-form-item label="自动采集">
<el-switch v-model="form.is_auto" />
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="采集间隔(s)" label-width="90">
<el-input-number
v-model="form.interval"
></el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="是否可手动录入" label-width="110">
<el-switch v-model="form.can_manual" />
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item
label="是否表示所监测设备的运行状态"
label-width="220"
>
<el-switch
v-model="form.is_rep_ep_running_state"
/>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item
label="状态量基准值"
label-width="100"
>
<el-input-number
v-model="form.ep_base_val1"
:precision="3"
></el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item
label="所属工段"
@ -184,7 +127,113 @@
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="计量物料">
<el-select
v-model="form.material"
placeholder="计量物料"
clearable
style="width: 100%"
>
<el-option
v-for="item in materials"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="24" :sm="24">
<el-form-item label="计算公式">
<el-input
v-model="form.formula"
clearable
></el-input>
</el-form-item>
</el-col>
<!-- <el-col :md="12" :sm="24">
<el-form-item label="调用方法">
<el-input v-model="form.func_on_change" clearable></el-input>
</el-form-item>
</el-col> -->
<el-col :md="12" :sm="24">
<el-form-item label="采集间隔(s)" label-width="90">
<el-input-number
v-model="form.interval"
></el-input-number>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="报告排序" prop="report_sortstr">
<el-input
v-model="form.report_sortstr"
clearable
></el-input>
</el-form-item>
</el-col>
<el-divider/>
<el-col :md="12" :sm="24">
<el-form-item label="所监测设备">
<el-select
v-model="form.ep_monitored"
placeholder="所监测设备"
clearable
style="width: 100%"
>
<el-option
v-for="item in epOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item
label="是否表示所监测设备的运行状态"
label-width="220"
>
<el-switch
v-model="form.is_rep_ep_running_state"
/>
</el-form-item>
</el-col>
<el-col :md="8" :sm="24">
<el-form-item
label="状态量基准值"
label-width="100"
>
<el-input-number
v-model="form.ep_rs_val"
:precision="3"
></el-input-number>
</el-form-item>
</el-col>
<el-col :md="16" :sm="24">
<el-form-item
label="状态量表达式"
label-width="100"
>
<el-input
v-model="form.ep_rs_expr"
clearable
></el-input>
</el-form-item>
</el-col>
<el-divider/>
<el-col :md="12" :sm="24">
<el-form-item
label="是否代表所分配工段数据"
label-width="220"
>
<el-switch
v-model="form.is_rep_mgroup"
/>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item
label="累计量工段分配"
label-width="120"
@ -254,12 +303,13 @@
</template>
<script>
import { valTypeEnum } from "@/utils/enum.js";
import { valTypeEnum, mpointTypeEnum } from "@/utils/enum.js";
export default {
emits: ["success", "closed"],
data() {
return {
valTypeEnum,
mpointTypeEnum,
loading: false,
mode: "add",
titleMap: {
@ -268,7 +318,7 @@ export default {
show: "查看",
},
form: {
is_auto: true,
type: 10,
belong_dept: null,
mgroup: null,
mgroups_allocate: [],
@ -290,13 +340,11 @@ export default {
mgroupOptions: [],
epOptions: [],
materials: [],
monitoredOptions: [],
};
},
mounted() {
this.getMgroup();
this.getEquipment();
this.getMonitored();
this.getMaterial();
},
methods: {
@ -316,14 +364,6 @@ export default {
this.epOptions = res;
});
},
//
getMonitored() {
this.$API.em.equipment.list
.req({ page: 0, type: 20 })
.then((res) => {
this.monitoredOptions = res;
});
},
//
getMaterial() {
this.$API.mtm.material.list