From 0cbc8a23790c0f33274dc06de9f42ed6372a62c7 Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期六, 27 四月 2024 20:51:02 +0800
Subject: [PATCH] UPDATE
---
src/views/console/workstation/index.vue | 364 +++++++++++++++++++++++++++++++++++++++------------
1 files changed, 277 insertions(+), 87 deletions(-)
diff --git a/src/views/console/workstation/index.vue b/src/views/console/workstation/index.vue
index 4c73802..cbc45db 100644
--- a/src/views/console/workstation/index.vue
+++ b/src/views/console/workstation/index.vue
@@ -11,7 +11,7 @@
:current-node-key="treeCheckKey" :highlight-current="true"
:expand-on-click-node="false" :check-on-click-node="true"
:default-expanded-keys="[1]" :render-content="renderContent"
- :filter-node-method="groupFilterNode" @node-click="groupClick1"></el-tree>
+ @node-click="groupClick1"></el-tree>
</el-main>
</el-container>
</el-aside>
@@ -19,7 +19,7 @@
<el-header>
<div class="left-panel">
<el-button @click="table_add" type="primary" icon="el-icon-plus"></el-button>
- <el-button type="danger" plain icon="el-icon-delete"></el-button>
+ <el-button type="danger" plain icon="el-icon-delete" @click="batchDel"></el-button>
<!-- <el-button type="primary" plain>瀵煎叆</el-button>
<el-button type="primary" plain>鎵归噺鎿嶄綔</el-button> -->
</div>
@@ -35,73 +35,203 @@
<el-option v-for="item in status" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
- <el-input v-model="keyWord" style="width: 240px" placeholder="璇疯緭鍏ュ伐浣嶅悕绉�/缂栧彿" clearable></el-input>
+ <el-input v-model="keyWord" style="width: 240px" placeholder="璇疯緭鍏ュ伐浣嶅悕绉�/缂栧彿"
+ clearable></el-input>
<el-button @click="search" type="primary" icon="el-icon-search"></el-button>
</div>
</div>
</el-header>
<el-main class="nopadding">
- <div style="display: flex">
- <scTable highlight-current-row @dataChange="dataChange" @row-click="rowClick" ref="table" :params="params" :apiObj="apiObj"
- @selection-change="selectionChange" stripe>
- <el-table-column type="selection" width="50"></el-table-column>
- <el-table-column label="宸ヤ綅缂栧彿" prop="code" width="120"
- sortable='custom'></el-table-column>
- <el-table-column label="宸ヤ綅鍚嶇О" prop="name" width="120"
- sortable='custom'></el-table-column>
- <el-table-column label="宸ヤ綅绫诲瀷" prop="type" width="120"
- sortable='custom'></el-table-column>
- <el-table-column label="宸ヤ綅鏃ュ巻" prop="calendarName" width="120"
- sortable='custom'></el-table-column>
- <el-table-column label="鎿嶄綔" fixed="right" align="right" width="160">
- <template #default="scope">
- <el-button-group>
- <el-button text type="primary" size="small"
- @click="table_edit(scope.row, scope.$index)">缂栬緫</el-button>
- <el-popconfirm title="纭畾鍒犻櫎鍚楋紵"
- @confirm="table_del(scope.row, scope.$index, '0')">
- <template #reference>
- <el-button text type="primary" size="small">鍒犻櫎</el-button>
- </template>
- </el-popconfirm>
- <el-popconfirm title="纭畾鍋滅敤鍚楋紵"
+ <div style="display: flex">
+ <scTable highlight-current-row @dataChange="dataChange" @row-click="rowClick"
+ ref="table" :params="params" :apiObj="apiObj"
+ @selection-change="selectionChange" stripe>
+ <el-table-column type="selection" width="50"></el-table-column>
+ <el-table-column label="宸ヤ綅缂栧彿" prop="code" width="120"></el-table-column>
+ <el-table-column label="宸ヤ綅鍚嶇О" prop="name" width="120"></el-table-column>
+ <el-table-column label="宸ヤ綅绫诲瀷" prop="type" width="120"></el-table-column>
+ <el-table-column label="宸ヤ綅鏃ュ巻" prop="calendarName" width="120"></el-table-column>
+ <el-table-column label="鎿嶄綔" fixed="right" align="right" width="160">
+ <template #default="scope">
+ <el-button-group>
+ <el-button text type="primary" size="small"
+ @click="table_edit(scope.row, scope.$index)">缂栬緫</el-button>
+ <el-popconfirm title="纭畾鍒犻櫎鍚楋紵"
+ @confirm="table_del(scope.row, scope.$index, '0')">
+ <template #reference>
+ <el-button text type="primary" size="small">鍒犻櫎</el-button>
+ </template>
+ </el-popconfirm>
+ <!-- <el-popconfirm title="纭畾鍋滅敤鍚楋紵"
@confirm="table_del(scope.row, scope.$index,'1')">
<template #reference>
<el-button text type="primary" size="small">鍋滅敤</el-button>
</template>
- </el-popconfirm>
- </el-button-group>
- </template>
- </el-table-column>
- </scTable>
- <div style="margin-left: 14px" v-if="Object.keys(previewData).length > 0">
- <div class="header">
- <p class="preview-title">宸ヤ綅淇℃伅</p>
- <div class="preview-content">
- <div class="img">
- <img :src="machinePng" alt="">
+ </el-popconfirm> -->
+ </el-button-group>
+ </template>
+ </el-table-column>
+ </scTable>
+ <div style="margin-left: 14px" v-if="Object.keys(previewData).length > 0">
+ <div class="header">
+ <p class="preview-title">宸ヤ綅淇℃伅</p>
+ <div class="preview-content">
+ <div class="img">
+ <img :src="machinePng" alt="">
+ </div>
+ <ul>
+ <li>宸ヤ綅缂栧彿 {{ previewData.code }}</li>
+ <li>宸ヤ綅缁� {{ previewData.groupName }}</li>
+ <li>宸ヤ綅鍚嶇О {{ previewData.name }}</li>
+ <li>宸ヤ綅绫诲瀷 {{ types.find(v => v.value == previewData.type)?.label }}
+ </li>
+ <li>宸ヤ綅鏃ュ巻 {{ previewData.calendarName }}</li>
+ <li>鐘舵�� {{ previewData.status ? '鍚敤' : '绂佺敤' }}</li>
+ </ul>
</div>
- <ul>
- <li>宸ヤ綅缂栧彿 {{previewData.code}}</li>
- <li>宸ヤ綅缁� {{previewData.groupName}}</li>
- <li>宸ヤ綅鍚嶇О {{previewData.name}}</li>
- <li>宸ヤ綅绫诲瀷 {{previewData.type}}</li>
- <li>宸ヤ綅鏃ュ巻 {{previewData.calendarName}}</li>
- <li>鐘舵�� {{previewData.status}}</li>
- </ul>
+ <el-tabs tab-position="top" class="custom-tabs" v-model="normal">
+ <el-tab-pane label="鏈哄櫒淇℃伅" name="1">
+ <el-container>
+ <el-header>鍩虹鏁版嵁</el-header>
+ <el-main>
+ <el-row>
+ <el-col :span="4">
+ 鏈哄櫒缂栧彿
+ </el-col>
+ <el-col :span="8">
+ {{ basic.machineCode }}
+ </el-col>
+ <el-col :span="4">
+ 鏈哄櫒鍚嶇О
+ </el-col>
+ <el-col :span="8">
+ {{ basic.machineName }}
+ </el-col>
+ <el-col :span="4">
+ 鏈哄櫒鍝佺墝
+ </el-col>
+ <el-col :span="8">
+ {{ basic.machineBrand }}
+ </el-col>
+ <el-col :span="4">
+ 椹卞姩鍚嶇О
+ </el-col>
+ <el-col :span="8">
+ {{ basic.typeName }}
+ </el-col>
+ </el-row>
+ </el-main>
+ </el-container>
+ <el-container>
+ <el-header>
+ <span>閲囬泦淇℃伅</span>
+ <el-button @click="editFlag = !editFlag"
+ style="margin-left: auto;" text type="primary"
+ size="small">閰嶇疆宸ヤ綅閲囬泦</el-button>
+ <el-button v-show="editFlag" @click="saveInfo" text
+ type="primary" size="small">淇濆瓨</el-button>
+ <el-button text type="primary"
+ size="small">淇敼DMP閰嶇疆</el-button>
+ </el-header>
+ <el-main>
+ <el-table :data="list" height="200px">
+ <el-table-column label="閲囬泦鍙橀噺鍚嶇О" prop="name" />
+ <el-table-column label="宸ヤ綅鍙橀噺鍚嶇О" prop="dataItem">
+ <template #default="scope">
+ <el-input :disabled="!editFlag"
+ v-model="scope.row.dataItem"></el-input>
+ </template>
+ </el-table-column>
+ <el-table-column label="鏁版嵁鏍囩" prop="description">
+ <template #default="scope">
+ <el-select :disabled="!editFlag"
+ v-model="scope.row.description">
+ <el-option
+ v-for="item in workstation_param_type"
+ :key="item.dictKey"
+ :label="item.dictValue"
+ :value="item.dictKey - 0" />
+ </el-select>
+ <!-- {{ dmp_data_type.find(v => v.dictKey == scope.row.wcsDataType)?.dictValue }} -->
+ </template>
+ </el-table-column>
+ <el-table-column label="鏁版嵁绫诲埆" prop="wcsDataType">
+ <template #default="scope">
+ <el-select disabled
+ v-model="scope.row.wcsDataType">
+ <el-option v-for="item in dmp_data_type"
+ :key="item.dictKey"
+ :label="item.dictValue"
+ :value="item.dictKey - 0" />
+ </el-select>
+ <!-- {{ dmp_data_type.find(v => v.dictKey == scope.row.wcsDataType)?.dictValue }} -->
+ </template>
+ </el-table-column>
+ <el-table-column label="澶у睆" prop="bigScreen">
+ <template #default="scope">
+ <el-checkbox :disabled="!editFlag"
+ v-model="scope.row.bigScreen" />
+ </template>
+ </el-table-column>
+ <el-table-column label="瀹炴椂鏁版嵁" prop="realTimeData">
+ <template #default="scope">
+ <el-checkbox :disabled="!editFlag"
+ v-model="scope.row.realTimeData" />
+ </template>
+ </el-table-column>
+ <el-table-column label="杩囩▼鍙傛暟" prop="processParameter">
+ <template #default="scope">
+ <el-checkbox :disabled="!editFlag"
+ v-model="scope.row.processParameter" />
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-main>
+ </el-container>
+ </el-tab-pane>
+ <el-tab-pane label="鎵╁睍淇℃伅" name="2">
+ <el-row>
+ <el-col :span="4">
+ 宸ョ
+ </el-col>
+ <el-col :span="8">
+ {{ info.deviceType }}
+ </el-col>
+ <el-col :span="4">
+ 鍔犲伐灞炴��
+ </el-col>
+ <el-col :span="8">
+ {{ info.properties }}
+ </el-col>
+ <el-col :span="4">
+ 绋嬪簭浼犺緭鏂瑰紡
+ </el-col>
+ <el-col :span="8">
+ {{ info.transmissionMode }}
+ </el-col>
+ <el-col :span="4">
+ FTP鐩綍
+ </el-col>
+ <el-col :span="8">
+ {{ info.ftpCatalogue }}
+ </el-col>
+ <el-col :span="4">
+ 宸ヤ綔鍙�
+ </el-col>
+ <el-col :span="8">
+ <ul class="workbench">
+ <li v-for="item in workbenchVOList" :key="item.sort">
+ {{ `銆�${item.sort}銆慲 }}{{ item.name }}
+ </li>
+ </ul>
+ </el-col>
+ </el-row>
+ </el-tab-pane>
+ </el-tabs>
</div>
- <el-tabs tab-position="top" class="custom-tabs" v-model="normal">
- <el-tab-pane label="鏈哄櫒淇℃伅" name="1">
- 鏈哄櫒淇℃伅
- </el-tab-pane>
- <el-tab-pane label="鎵╁睍淇℃伅" name="2">
- 鎵╁睍淇℃伅
- </el-tab-pane>
- </el-tabs>
</div>
</div>
- </div>
-
+
</el-main>
</el-container>
</el-container>
@@ -116,7 +246,7 @@
:current-node-key="treeCheckKey" :highlight-current="true"
:expand-on-click-node="false" :check-on-click-node="true"
:default-expanded-keys="[1]" :render-content="renderContent"
- :filter-node-method="groupFilterNode" @node-click="groupClick"></el-tree>
+ @node-click="groupClick"></el-tree>
</el-main>
</el-container>
</el-aside>
@@ -237,7 +367,7 @@
</el-tabs>
</el-card>
- <Dialog ref="dialog"></Dialog>
+ <Dialog ref="dialog" @success="success" :option="{ types, status, group }"></Dialog>
</el-main>
</template>
@@ -263,29 +393,25 @@
params: {},
keyWord: '',
type: '',
- statu: '1',
+ statu: 1,
types: [
{
- label: '鎵�鏈�',
- value: ''
- },
- {
label: '鏈哄櫒',
- value: '0'
+ value: 0
},
{
label: '浜哄伐',
- value: '1'
+ value: 1
},
],
status: [
{
label: '鍚敤',
- value: '1'
+ value: 1
},
{
label: '鍋滅敤',
- value: '0'
+ value: 0
}
],
previewData: {},
@@ -305,7 +431,25 @@
treeCheckKey: [],
beltline_type: [],
group_tag: [],
- addGroupShow: false
+ dmp_data_type: [],
+ workstation_param_type: [],
+ addGroupShow: false,
+ selection: [],
+ list: [],
+ basic: {
+ machineCode: '-',
+ machineName: '-',
+ machineBrand: '-',
+ typeName: '-',
+ },
+ info: {
+ deviceType: '-',
+ properties: '-',
+ transmissionMode: '-',
+ ftpCatalogue: '-',
+ },
+ workbenchVOList: [],
+ editFlag: false
}
},
watch: {
@@ -359,7 +503,16 @@
this.$API.system.dic.getDic.get({ code: 'group_tag' }).then(res => {
this.group_tag = res.data
})
+ this.$API.system.dic.getDic.get({ code: 'dmp_data_type' }).then(res => {
+ this.dmp_data_type = res.data
+ })
+ this.$API.system.dic.getDic.get({ code: 'workstation_param_type' }).then(res => {
+ this.workstation_param_type = res.data
+ })
+ },
+ success() {
+ this.search()
},
async queryList(flag) {
this.showGrouploading = true
@@ -441,18 +594,38 @@
this.addGroupShow = true
this.$refs.dialogForm.resetFields()
},
- groupFilterNode() {
-
- },
groupClick(node) {
this.treeCheckedNode = node
},
- search () {
+ search() {
this.groupClick1(this.treeCheckedNode)
},
- rowClick (data) {
+ rowClick(data) {
this.previewData = data
- console.log(data)
+ console.log(data, '>>>>>>>>>>>')
+ if (!data.id) {
+ Object.keys(this.basic).forEach(key => {
+ this.basic[key] = '-'
+ })
+ Object.keys(this.info).forEach(key => {
+ this.info[key] = '-'
+ })
+ this.list = []
+ this.workbenchVOList = []
+ return
+ }
+ this.$HTTP.get(`/api/blade-cps/workstation/listDmpVariablesByWorkstationId?workstationId=${data.id}`).then(res => {
+ this.list = res?.data?.dmpVariablesVOList
+ Object.keys(this.basic).forEach(key => {
+ this.basic[key] = res?.data?.[key] || '-'
+ })
+ })
+ this.$HTTP.get(`/api/blade-cps/workstation-workbench/listWorkbench?workstationId=${data.id}`).then(res => {
+ Object.keys(this.info).forEach(key => {
+ this.info[key] = res?.data?.[key] || '-'
+ })
+ this.workbenchVOList = res?.data?.workstationList || []
+ })
},
groupClick1(data) {
console.log('-------', data)
@@ -465,33 +638,41 @@
this.$refs.table.reload(params)
},
- dataChange (res,data) {
-
+ dataChange(res, data) {
+
if (data.length > 0) {
console.log(data[0], '>>>>>>>>')
this.$refs.table.setCurrentRow(data[0])
this.previewData = data[0]
- }else {
+ this.rowClick(data[0])
+ } else {
this.$refs.table.setCurrentRow()
this.previewData = {}
+ this.rowClick({})
}
},
table_add() {
this.$refs.dialog.open()
},
table_edit(row) {
- if (row.isSet) {
- row.isSet = false
- } else {
- row.isSet = true
- }
+ this.$refs.dialog.open('edit', row)
},
- table_del(row, index,type) {
- this.$API.workstation.deleteWork.delete({
- type,
- workstationIds:row.id
- }).then(() => {
+ table_del(row, index, type) {
+ this.$HTTP.delete(`/api/blade-cps/workstation?type=0&workstationIds=${row.id}`).then(res => {
this.search()
+ })
+ },
+ selectionChange(selection) {
+ this.selection = selection
+ },
+ batchDel() {
+ this.$HTTP.delete(`/api/blade-cps/workstation?type=0&workstationIds=${this.selection.map(item => item.id).join(',')}`).then(res => {
+ this.search()
+ })
+ },
+ saveInfo() {
+ this.$HTTP.post('/api/blade-cps/workstation-wcs/save', this.workbenchVOList).then(res => {
+ this.editFlag = false
})
},
}
@@ -503,22 +684,27 @@
list-style: none;
font-size: 14px;
}
+
.preview-title {
padding: 12px;
margin-bottom: 14px;
font-size: 16px;
}
+
.preview-content {
font-size: 14px;
display: flex;
align-items: center;
+
.img {
width: 30%;
}
+
ul {
list-style: none;
display: flex;
flex-wrap: wrap;
+
li {
width: 50%;
flex: 1 0 auto;
@@ -526,4 +712,8 @@
}
}
}
+
+.workbench {
+ list-style: none;
+}
</style>
--
Gitblit v1.9.3