This commit is contained in:
shijing 2024-04-10 17:20:52 +08:00
commit 43ecf55818
4 changed files with 103 additions and 24 deletions

View File

@ -93,6 +93,14 @@ export default {
data); data);
} }
}, },
kingSync:{
name: "同步亚控测点",
req: async function(data){
return await http.post(
`${config.API_URL}/enm/mpoint/king_sync/`,
data);
}
}
}, },
enstat: { enstat: {
name: "测点原始记录", name: "测点原始记录",

View File

@ -86,3 +86,15 @@ export const eqTypeEnum = new EnumFactory({
40: { text: '监测设备', type: 'danger' }, 40: { text: '监测设备', type: 'danger' },
50: { text: '监控设备', type: 'info' }, 50: { text: '监控设备', type: 'info' },
}, parseInt) }, parseInt)
export const valTypeEnum = new EnumFactory({
'int': '整型',
'float': '浮点型',
'str': '字符串型',
'bool': '布尔型',
})
export const boolEnum = new EnumFactory({
true: '是',
false: '否',
})

View File

@ -1,12 +1,30 @@
<template> <template>
<el-container> <el-container>
<el-header> <el-header>
<div class="left-panel"> <div class="left-panel">
<el-button type="primary" icon="el-icon-plus" @click="table_add" v-auth="'mpoint.create'">新增</el-button>
<el-button type="warning" @click="king_sync" v-auth="'mpoint.create'">同步亚控测点</el-button>
<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-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"
:label="e.text"></el-option>
</el-select>
<el-select v-model="query.val_type" placeholder="值类型" @change="handleQuery" clearable>
<el-option v-for="e in valTypeEnum.values" :key="e.key" :value="e.key"
:label="e.text"></el-option>
</el-select>
<el-input <el-input
v-model="query.search" v-model="query.search"
placeholder="名称" placeholder="名称/代号"
style="width:200px"
clearable clearable
style="margin-right: 5px;"
></el-input> ></el-input>
<el-button <el-button
type="primary" type="primary"
@ -14,18 +32,34 @@
@click="handleQuery" @click="handleQuery"
></el-button> ></el-button>
</div> </div>
<div class="right-panel">
<el-button type="primary" icon="el-icon-plus" @click="table_add" v-auth="'mpoint.create'"></el-button>
</div>
</el-header> </el-header>
<el-main class="nopadding"> <el-main class="nopadding">
<scTable ref="table" :apiObj="apiObj" row-key="id" @selection-change="selectionChange" hidePagination> <scTable ref="table" :apiObj="apiObj" row-key="id" remoteSort @selection-change="selectionChange">
<el-table-column label="#" type="index" width="50"></el-table-column> <el-table-column type="selection" width="50" />
<el-table-column label="名称" prop="name" min-width="100"></el-table-column> <el-table-column label="名称" prop="name" width="360" show-overflow-tooltip sortable></el-table-column>
<el-table-column label="计量物料" prop="material_name" min-width="150"></el-table-column> <el-table-column label="代号" prop="code" width="130" show-overflow-tooltip></el-table-column>
<el-table-column label="所属部门" prop="belong_dept_name" min-width="150"></el-table-column> <el-table-column label="是否启用" width="80">
<el-table-column label="所属工段" prop="mgroup_name" min-width="150"></el-table-column> <template #default="scope">
<el-table-column label="创建时间" prop="create_time" min-width="150"></el-table-column> <el-icon v-if="scope.row.enabled" color="green"
><CircleCheckFilled
/></el-icon>
<el-icon v-else color="red"><CircleCloseFilled /></el-icon>
</template>
</el-table-column>
<el-table-column label="自动采集" width="80">
<template #default="scope">
<el-icon v-if="scope.row.is_auto" 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"></el-table-column>
<el-table-column label="单位" prop="unit"></el-table-column>
<el-table-column label="计量物料" prop="material_name"></el-table-column>
<el-table-column label="所属工段" prop="mgroup_name"></el-table-column>
<el-table-column label="创建时间" prop="create_time" sortable></el-table-column>
<el-table-column label="操作" fixed="right" align="center" width="140"> <el-table-column label="操作" fixed="right" align="center" width="140">
<template #default="scope"> <template #default="scope">
<el-button link size="small" @click="table_edit(scope.row)" v-auth="'mpoint.update'" type="primary">编辑</el-button> <el-button link size="small" @click="table_edit(scope.row)" v-auth="'mpoint.update'" type="primary">编辑</el-button>
@ -57,6 +91,7 @@
</template> </template>
<script> <script>
import saveDialog from "./mpoint_form.vue"; import saveDialog from "./mpoint_form.vue";
import { valTypeEnum, boolEnum } from "@/utils/enum.js";
export default { export default {
name: "rparty", name: "rparty",
components: { components: {
@ -64,6 +99,8 @@ export default {
}, },
data() { data() {
return { return {
valTypeEnum,
boolEnum,
logShow:false, logShow:false,
dialog: { dialog: {
save: false, save: false,
@ -71,7 +108,7 @@ export default {
}, },
apiObj: this.$API.enm.mpoint.list, apiObj: this.$API.enm.mpoint.list,
query: {}, query: {},
selection: [], selection: []
}; };
}, },
methods: { methods: {
@ -103,7 +140,7 @@ export default {
// //
table_del(row) { table_del(row) {
var id = row.id; var id = row.id;
this.$API.mtm.team.delete.req(id).then(res=>{ this.$API.enm.mpoint.delete.req(id).then(res=>{
if(res.err_msg){ if(res.err_msg){
this.$message.error(res.err_msg) this.$message.error(res.err_msg)
}else{ }else{
@ -112,7 +149,14 @@ export default {
} }
}) })
}, },
king_sync() {
const loading = this.$loading({text: '正在同步亚控测点...'});
this.$API.enm.mpoint.kingSync.req().then(res=>{
this.$refs.table.refresh();
}).finally(()=>{
loading.close()
})
},
// //
handleSaveSuccess(data, mode) { handleSaveSuccess(data, mode) {
this.$refs.table.refresh(); this.$refs.table.refresh();
@ -123,6 +167,9 @@ export default {
resetQuery() { resetQuery() {
this.query = {}; this.query = {};
}, },
selectionChange(rows){
console.log('m', rows)
}
}, },
}; };
</script> </script>

View File

@ -82,21 +82,31 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="24" :sm="24">
<el-form-item label="工段数据">
<el-switch v-model="form.is_all"/>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="计算公式"> <el-form-item label="计算公式">
<el-input v-model="form.formula" clearable></el-input> <el-input v-model="form.formula" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="8" :sm="24">
<el-form-item label="是否启用">
<el-switch v-model="form.enabled"/>
</el-form-item>
</el-col>
<el-col :md="8" :sm="24">
<el-form-item label="自动采集"> <el-form-item label="自动采集">
<el-switch v-model="form.is_auto"/> <el-switch v-model="form.is_auto"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="8" :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="工段数据">
<el-switch v-model="form.is_all"/>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="所属工段" prop="mgroup"> <el-form-item label="所属工段" prop="mgroup">
<el-select <el-select
@ -186,6 +196,8 @@ export default {
belong_dept:null, belong_dept:null,
mgroup:null, mgroup:null,
mgroups_allocate:[], mgroups_allocate:[],
interval: 10,
func_on_change: ''
}, },
rules: { rules: {
name: [{required: true, message: '请输入测点名称'}], name: [{required: true, message: '请输入测点名称'}],
@ -230,7 +242,7 @@ export default {
}, },
// //
getMaterial(){ getMaterial(){
this.$API.mtm.material.list.req({page:0}).then(res=>{ this.$API.mtm.material.list.req({page:0, type__in:"0, 30"}).then(res=>{
this.materials = res; this.materials = res;
}) })
}, },