From 167f3ab4bcf3810433554c1cddb8ec270b930ea3 Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期二, 04 十一月 2025 22:12:37 +0800
Subject: [PATCH] 修改所有工位不能提交
---
src/views/console/workstation/index.vue | 263 +++++++++++++++++++++++++++++-----------------------
1 files changed, 147 insertions(+), 116 deletions(-)
diff --git a/src/views/console/workstation/index.vue b/src/views/console/workstation/index.vue
index d6efba6..0c45c6a 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>
@@ -45,11 +44,15 @@
<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"></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="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">
@@ -72,12 +75,21 @@
</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 v-if="!previewData.avatar" :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>
@@ -94,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">
@@ -115,83 +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"
+ <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">閰嶇疆宸ヤ綅閲囬泦</el-button>
+ 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">淇敼DMP閰嶇疆</el-button>
+ 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"
- width="120" />
- <el-table-column label="宸ヤ綅鍙橀噺鍚嶇О" prop="dataItem"
- width="120">
- <template #default="scope">
- <el-input :disabled="!editFlag"
- v-model="scope.row.dataItem"></el-input>
- </template>
- </el-table-column>
- <el-table-column label="鏁版嵁鏍囩" prop="description"
- width="150">
- <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"
- width="150">
- <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>
@@ -209,7 +177,7 @@
<el-col :span="8">
{{ info.properties }}
</el-col>
- <el-col :span="4">
+ <!-- <el-col :span="4">
绋嬪簭浼犺緭鏂瑰紡
</el-col>
<el-col :span="8">
@@ -223,7 +191,7 @@
</el-col>
<el-col :span="4">
宸ヤ綔鍙�
- </el-col>
+ </el-col> -->
<el-col :span="8">
<ul class="workbench">
<li v-for="item in workbenchVOList" :key="item.sort">
@@ -247,26 +215,26 @@
<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"
- :default-expanded-keys="[1]" :render-content="renderContent"
+ :default-expanded-keys="['1']" :render-content="renderContent"
@node-click="groupClick"></el-tree>
</el-main>
</el-container>
</el-aside>
<el-container>
<el-main class="" v-show="addGroupShow">
- <el-form v-show="treeCheckedNode.id == 1" :model="form" :rules="rules" ref="dialogForm"
+ <el-form v-if="treeCheckedNode.id == 1" :model="form" :rules="rules" ref="dialogForm"
label-width="200px" label-position="left">
- <el-form-item label="浜х嚎鏍囩" prop="groupTag">
+ <!-- <el-form-item label="浜х嚎鏍囩" prop="groupTag">
<el-select v-model="form.groupTag" clearable placeholder="浜х嚎鏍囩"
style="width: 240px">
<el-option v-for="item in beltline_type" :key="item.dictKey"
:label="item.dictValue" :value="item.dictKey" />
</el-select>
- </el-form-item>
+ </el-form-item> -->
<el-form-item label="浜х嚎鍚嶇О" prop="name">
<el-input style="width: 240px" v-model="form.name" clearable
placeholder="浜х嚎鍚嶇О"></el-input>
@@ -280,8 +248,8 @@
</el-form-item>
</el-form>
<el-form
- v-show="group_tag.map(item => item.dictKey).includes(treeCheckedNode.groupTag) || beltline_type.map(item => item.dictKey).includes(treeCheckedNode.groupTag) || treeCheckedNode.id == 101"
- :model="form" :rules="rules" ref="dialogForm" label-width="200px"
+ v-if="group_tag.map(item => item.dictKey).includes(treeCheckedNode.groupTag) || beltline_type.map(item => item.dictKey).includes(treeCheckedNode.groupTag) || treeCheckedNode.id == 101"
+ :model="form" :rules="rules" ref="dialogForm1" label-width="200px"
label-position="left">
<el-form-item label="宸ヤ綅缁勬爣绛�" prop="groupTag">
<el-select v-model="form.groupTag" clearable placeholder="宸ヤ綅缁勬爣绛�"
@@ -306,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">
@@ -318,7 +293,7 @@
<li>澶囨敞: {{ treeCheckedNode.remark }}</li>
</ul>
<el-form
- v-show="beltline_type.map(item => item.dictKey).includes(treeCheckedNode.groupTag)"
+ v-if="beltline_type.map(item => item.dictKey).includes(treeCheckedNode.groupTag)"
:model="form" :rules="rules" ref="dialogForm" label-width="200px"
label-position="left">
<el-form-item label="浜х嚎鏍囩" prop="groupTag">
@@ -340,7 +315,7 @@
placeholder="澶囨敞"></el-input>
</el-form-item>
</el-form>
- <el-form v-show="group_tag.map(item => item.dictKey).includes(treeCheckedNode.groupTag)"
+ <el-form v-if="group_tag.map(item => item.dictKey).includes(treeCheckedNode.groupTag)"
:model="form" :rules="rules" ref="dialogForm" label-width="200px"
label-position="left">
<el-form-item label="宸ヤ綅缁勬爣绛�" prop="groupTag">
@@ -374,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: [],
@@ -423,7 +404,7 @@
previewData: {},
// --------
form: {
- groupTag: '',
+ groupTag: 'beltline',
name: '',
sort: '',
remark: ''
@@ -463,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,
@@ -492,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) {
+ this.$TOOL.downFile(res.data.link,res.data.originalName);
+ }
+ })
+ },
+ // 鏁版嵁鐐圭紪杈�
+ 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', {
@@ -535,9 +555,9 @@
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
+ let parent = res.data.filter(item => item.parentId == 0)[0]
+ parent && (this.treeCheckedNode = parent)
+ parent && (this.treeCheckKey = parent.id)
}
// })
@@ -579,13 +599,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)
})
},
@@ -598,7 +616,13 @@
},
addChild() {
this.addGroupShow = true
- this.$refs.dialogForm.resetFields()
+ this.$nextTick(() => {
+ Object.keys(this.form).forEach(key => {
+ this.form[key] = ''
+ })
+ // this.$refs.dialogForm.resetFields()
+ })
+
},
groupClick(node) {
this.treeCheckedNode = node
@@ -608,7 +632,6 @@
},
rowClick(data) {
this.previewData = data
- console.log(data, '>>>>>>>>>>>')
if (!data.id) {
Object.keys(this.basic).forEach(key => {
this.basic[key] = '-'
@@ -620,21 +643,29 @@
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,
@@ -647,7 +678,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])
@@ -664,7 +694,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()
})
},
@@ -672,13 +702,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 => {
+ this.$HTTP.post('/api/smis/workstation-wcs/save', this.workbenchVOList).then(res => {
this.editFlag = false
+ this.showTable = true
})
},
}
--
Gitblit v1.9.3