From 3931e2728f618d0090f129b2665bc1285c4440c3 Mon Sep 17 00:00:00 2001 From: gaoshp <291585735@qq.com> Date: 星期日, 03 十一月 2024 17:27:32 +0800 Subject: [PATCH] update --- src/views/console/workstation/index.vue | 245 +++++++++++++++++++++++++++++------------------- 1 files changed, 147 insertions(+), 98 deletions(-) diff --git a/src/views/console/workstation/index.vue b/src/views/console/workstation/index.vue index 1ef24d4..733ae1b 100644 --- a/src/views/console/workstation/index.vue +++ b/src/views/console/workstation/index.vue @@ -7,11 +7,10 @@ <el-aside width="200px" v-loading="showGrouploading"> <el-container> <el-main class="nopadding"> - <el-tree ref="group" class="menu" node-key="id" :data="group" - :current-node-key="treeCheckKey" :highlight-current="true" - :expand-on-click-node="false" :check-on-click-node="true" - :default-expanded-keys="[1]" :render-content="renderContent" - @node-click="groupClick1"></el-tree> + <el-tree :expand-on-click-node="false" ref="group" class="menu" node-key="id" + :data="group" :current-node-key="treeCheckKey" :highlight-current="true" + :check-on-click-node="true" :default-expanded-keys="[1]" + :render-content="renderContent" @node-click="groupClick1"></el-tree> </el-main> </el-container> </el-aside> @@ -26,12 +25,12 @@ <div class="right-panel"> <div class="right-panel-search"> <span>绫诲瀷</span> - <el-select v-model="type" style="width: 240px"> + <el-select v-model="type" style="width: 240px" clearable> <el-option v-for="item in types" :key="item.value" :label="item.label" :value="item.value" /> </el-select> <span>鐘舵��</span> - <el-select v-model="statu" style="width: 240px"> + <el-select v-model="statu" style="width: 240px" clearable> <el-option v-for="item in status" :key="item.value" :label="item.label" :value="item.value" /> </el-select> @@ -45,16 +44,16 @@ <div style="display: flex"> <scTable highlight-current-row @dataChange="dataChange" @row-click="rowClick" ref="table" :params="params" :apiObj="apiObj" - @selection-change="selectionChange" stripe> + @selection-change="selectionChange" stripe v-show="showTable"> <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="宸ヤ綅缂栧彿" 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"> + <template #default="scope"> + <span>{{ scope.row.type == '0' ? '鏈哄櫒' : '浜哄伐' }}</span> + </template> + </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> @@ -76,12 +75,23 @@ </template> </el-table-column> </scTable> - <div style="margin-left: 14px" v-if="Object.keys(previewData).length > 0"> + <div :style="{ + 'max-width': showTable ? '50%' : '100%', 'margin-left': '14px', + flex: '1 1 auto' + }" v-if="Object.keys(previewData).length > 0"> <div class="header"> + <el-icon @click="showTable = !showTable" + style="font-size: 20px;cursor: pointer;margin-top: 10px;"> + <el-icon-arrow-left v-show="showTable" /> + <el-icon-arrow-right v-show="!showTable" /> + </el-icon> <p class="preview-title">宸ヤ綅淇℃伅</p> <div class="preview-content"> <div class="img"> - <img :src="machinePng" alt=""> + <img style="width: 148px;height: 148px;" v-if="!previewData.avatar" + :src="machinePng" alt=""> + <scUpload v-else disabled v-model="previewData.avatar" title="宸ヤ綅鍥剧墖"> + </scUpload> </div> <ul> <li>宸ヤ綅缂栧彿 {{ previewData.code }}</li> @@ -96,7 +106,9 @@ <el-tabs tab-position="top" class="custom-tabs" v-model="normal"> <el-tab-pane label="鏈哄櫒淇℃伅" name="1"> <el-container> - <el-header>鍩虹鏁版嵁</el-header> + <el-header> + <h2>鍩虹鏁版嵁</h2> + </el-header> <el-main> <el-row> <el-col :span="4"> @@ -117,64 +129,37 @@ <el-col :span="8"> {{ basic.machineBrand }} </el-col> - <el-col :span="4"> + <!-- <el-col :span="4"> 椹卞姩鍚嶇О </el-col> <el-col :span="8"> {{ basic.typeName }} - </el-col> + </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 style="justify-content: flex-start;"> + <h2>閲囬泦淇℃伅</h2> + <!-- <el-button v-show="list.length > 0" + @click="() => { editFlag = !editFlag; showTable = !editFlag }" + style="margin-left: auto;" text type="primary" + size="small">{{ editFlag ? '鍙栨秷' : '閰嶇疆宸ヤ綅閲囬泦' + }}</el-button> + <el-button v-show="editFlag" @click="saveInfo" text + type="primary" size="small">淇濆瓨</el-button> --> + <!-- <el-button text type="primary" size="small" + @click="editDMP">淇敼DMP閰嶇疆</el-button> --> + <el-button @click="getExport" style="margin-left: 12px" text + type="primary" size="small">瀵煎嚭</el-button> + <el-button @click="editCollection" text type="primary" + style="margin-left: 0px;" size="small">鏁版嵁鐐圭紪杈�</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-table :data="list" height="200px"> + </el-table> --> + <CollTable ref="collTable" :info="previewData"></CollTable> </el-main> </el-container> </el-tab-pane> @@ -210,7 +195,7 @@ <el-col :span="8"> <ul class="workbench"> <li v-for="item in workbenchVOList" :key="item.sort"> - {{`銆�${item.sort}銆慲}}{{item.name}} + {{ `銆�${item.sort}銆慲 }}{{ item.name }} </li> </ul> </el-col> @@ -230,7 +215,7 @@ <el-container> <el-aside width="200px" v-loading="showGrouploading"> <el-container> - <el-main class="nopadding"> + <el-main class="nopadding" style="overflow: hidden;"> <el-tree ref="group" class="menu" node-key="id" :data="group" :current-node-key="treeCheckKey" :highlight-current="true" :expand-on-click-node="false" :check-on-click-node="true" @@ -289,9 +274,16 @@ <el-header v-show="!addGroupShow"> <div class="left-panel"> <el-button @click="addChild" type="primary" plain>鏂板涓嬬骇</el-button> - <el-button @click="deleteWorkGroup" + <el-popconfirm width="220" cancel-button-text="鍙栨秷" confirm-button-text="鍒犻櫎" + title="鍒犻櫎浼氬皢宸ヤ綅缁勪笅鐨勫伐浣嶇Щ鍔ㄥ埌榛樿缁勪腑锛岃纭鏄惁鍒犻櫎锛�" @confirm="deleteWorkGroup"> + <template #reference> + <el-button v-show="!['1', '101'].includes(treeCheckedNode.id)" type="danger" + plain>鍒犻櫎</el-button> + </template> + </el-popconfirm> + <!-- <el-button @click="deleteWorkGroup" v-show="!['1', '101'].includes(treeCheckedNode.id)" type="danger" - plain>鍒犻櫎</el-button> + plain>鍒犻櫎</el-button> --> </div> </el-header> <el-main class="" v-show="!addGroupShow"> @@ -357,20 +349,26 @@ </el-tabs> </el-card> <Dialog ref="dialog" @success="success" :option="{ types, status, group }"></Dialog> + <CollDialog ref="CollDialog" @success="successColl" :option="{ previewData }"></CollDialog> </el-main> </template> <script> import pmsPng from '@/assets/pms.png' import Dialog from './Dialog.vue' -import machinePng from '@/assets/machine.png' +import CollDialog from './CollDialog.vue' +import CollTable from './CollTable.vue' +import machinePng from '@/assets/machine1.jpg' export default { name: 'system', components: { - Dialog + Dialog, + CollDialog, + CollTable }, data() { return { + showTable: true, machinePng, showGrouploading: false, options: [], @@ -446,7 +444,6 @@ handler(val) { this.queryList().then(() => { if (val == 1) { - console.log('>>>>>>>>>>>>>>', this.treeCheckedNode) this.apiObj = this.$API.workstation.getList this.params = { groupId: this.treeCheckedNode.id, @@ -475,6 +472,46 @@ this.queryList() }, methods: { + // 鏁版嵁鐐瑰鍑� + getExport() { + this.$HTTP.get(`/api/smis/workstation/export-dp?` + this.$TOOL.qsStringify({ + workstationId: this.previewData.id + })).then(res => { + if (res.code == 200) { + window.open(res.data.link) + } + }) + }, + // 鏁版嵁鐐圭紪杈� + editCollection() { + this.$refs.CollDialog.open('edit', this.previewData) + }, + successColl() { + this.$refs.collTable.refresh() + }, + handleSelectionChange(val) { + val.forEach(v => { + v.bigScreen = true + v.realTimeData = true + v.processParameter = true + }) + this.list.forEach(v => { + if (val.filter(item => v.id === item.id).length == 0) { + v.bigScreen = false + v.realTimeData = false + v.processParameter = false + } + }) + }, + editDMP() { + this.$HTTP.get(`/api/blade-system/param/detail?paramKey=system.dmp.url`).then(res => { + if (res.success) { + window.open(res.data.paramValue) + } else { + this.$message.error(res.msg) + } + }) + }, renderContent(h, { data }) { let img = data.groupTag == 'fms_beltline' return h('span', { @@ -514,13 +551,15 @@ this.showGrouploading = false // this.$nextTick(() => { if (!flag) { + debugger let parent = res.data.filter(item => item.parentId == 0)[0] this.treeCheckedNode = parent this.treeCheckKey = parent.id } else { - let parent = res.data.filter(item => item.id == this.treeCheckedNode.id)[0] - this.treeCheckedNode = parent - this.treeCheckKey = parent.id + debugger + let parent = res.data.filter(item => item.parentId == 0)[0] + parent && (this.treeCheckedNode = parent) + parent && (this.treeCheckKey = parent.id) } // }) @@ -562,13 +601,11 @@ groupCategory: this.treeCheckedNode.groupCategory }, this.form) return this.$API.workstation.saveWorkstationGroup.post(data).then(res => { - console.log(res) this.queryList(true) }) } let data = Object.assign({}, this.treeCheckedNode, this.form) this.$API.workstation.saveWorkstationGroup.put(data).then(res => { - console.log(res) this.queryList(true) }) }, @@ -591,29 +628,40 @@ }, rowClick(data) { this.previewData = 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 || [] - }) + console.log(data, '>>>>>>>>>>>') + + + // data.machineId && this.$HTTP.get(`/api/smis/workstation/listDmpVariablesByMachineId?machineId=${data.machineId}`).then(res => { + // this.list = res?.data + // // Object.keys(this.basic).forEach(key => { + // // this.basic[key] = res?.data?.[key] || '-' + // // }) + // }) + // this.$HTTP.get(`/api/smis/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/smis/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) var params = { groupId: data.id, keyWord: this.keyWord, @@ -626,7 +674,6 @@ dataChange(res, data) { if (data.length > 0) { - console.log(data[0], '>>>>>>>>') this.$refs.table.setCurrentRow(data[0]) this.previewData = data[0] this.rowClick(data[0]) @@ -643,7 +690,7 @@ this.$refs.dialog.open('edit', row) }, table_del(row, index, type) { - this.$HTTP.delete(`/api/blade-cps/workstation?type=0&workstationIds=${row.id}`).then(res => { + this.$HTTP.delete(`/api/smis/workstation?type=0&workstationIds=${row.id}`).then(res => { this.search() }) }, @@ -651,13 +698,14 @@ this.selection = selection }, batchDel() { - this.$HTTP.delete(`/api/blade-cps/workstation?type=0&workstationIds=${this.selection.map(item => item.id).join(',')}`).then(res => { + this.$HTTP.delete(`/api/smis/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 => { + saveInfo() { + this.$HTTP.post('/api/smis/workstation-wcs/save', this.workbenchVOList).then(res => { this.editFlag = false + this.showTable = true }) }, } @@ -697,6 +745,7 @@ } } } + .workbench { list-style: none; } -- Gitblit v1.9.3