yangys
2025-11-20 fe25b9d9dc98187a0b885631bc39dfd5daa15163
src/views/console/workstation/index.vue
@@ -9,7 +9,7 @@
                        <el-main class="nopadding">
                           <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]"
                              :check-on-click-node="true" :default-expanded-keys="['1']"
                              :render-content="renderContent" @node-click="groupClick1"></el-tree>
                        </el-main>
                     </el-container>
@@ -53,6 +53,11 @@
                                    <span>{{ scope.row.type == '0' ? '机器' : '人工' }}</span>
                                 </template>
                              </el-table-column>
                              <el-table-column label="状态" prop="status" width="70">
                                 <template #default="scope">
                                    <span>{{ scope.row.status == 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">
@@ -88,7 +93,8 @@
                                 <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>
@@ -138,7 +144,7 @@
                                          </el-main>
                                       </el-container>
                                       <el-container>
                                          <el-header>
                                          <el-header style="justify-content: flex-start;">
                                             <h2>采集信息</h2>
                                             <!-- <el-button v-show="list.length > 0"
                                                @click="() => { editFlag = !editFlag; showTable = !editFlag }"
@@ -149,10 +155,10 @@
                                                type="primary" size="small">保存</el-button> -->
                                             <!-- <el-button text type="primary" size="small"
                                                @click="editDMP">修改DMP配置</el-button> -->
                                             <el-button style="margin-left: auto;" @click="getExport"
                                                text type="primary" size="small">导出</el-button>
                                             <el-button @click="getExport" style="margin-left: 12px" text
                                                type="primary" size="small">导出</el-button>
                                             <el-button @click="editCollection" text type="primary"
                                                size="small">数据点编辑</el-button>
                                                style="margin-left: 0px;" size="small">数据点编辑</el-button>
                                          </el-header>
                                          <el-main>
@@ -176,7 +182,7 @@
                                          <el-col :span="8">
                                             {{ info.properties }}
                                          </el-col>
                                          <el-col :span="4">
                                          <!-- <el-col :span="4">
                                             程序传输方式
                                          </el-col>
                                          <el-col :span="8">
@@ -190,7 +196,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">
@@ -214,26 +220,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>
@@ -247,8 +253,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="工位组标签"
@@ -273,9 +279,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">
@@ -285,7 +298,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">
@@ -307,7 +320,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">
@@ -350,7 +363,7 @@
import Dialog from './Dialog.vue'
import CollDialog from './CollDialog.vue'
import CollTable from './CollTable.vue'
import machinePng from '@/assets/machine.png'
import machinePng from '@/assets/machine1.jpg'
export default {
   name: 'system',
   components: {
@@ -372,7 +385,7 @@
         params: {},
         keyWord: '',
         type: '',
         statu: 1,
         statu: undefined,
         types: [
            {
               label: '机器',
@@ -396,7 +409,7 @@
         previewData: {},
         // --------
         form: {
            groupTag: '',
            groupTag: 'beltline',
            name: '',
            sort: '',
            remark: ''
@@ -466,11 +479,11 @@
   methods: {
      // 数据点导出
      getExport() {
         this.$HTTP.get(`/api/blade-cps/workstation/export-dp?` + this.$TOOL.qsStringify({
         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)
               this.$TOOL.downFile(res.data.link,res.data.originalName);
            }
         })
      },
@@ -543,12 +556,10 @@
               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 {
                  debugger
                  let parent = res.data.filter(item => item.parentId == 0)[0]
                  parent && (this.treeCheckedNode = parent)
                  parent && (this.treeCheckKey = parent.id)
@@ -610,7 +621,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
@@ -632,24 +649,26 @@
            return
         }
         console.log(data, '>>>>>>>>>>>')
         data.machineId && this.$HTTP.get(`/api/blade-cps/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/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 || []
         })
         // 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) {
         var params = {
@@ -680,7 +699,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()
         })
      },
@@ -688,12 +707,12 @@
         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
         })