| | |
| | | <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> |
| | |
| | | </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 }" |
| | |
| | | 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" |
| | | size="small">数据点编辑</el-button> |
| | | style="margin-left: 0px;" size="small">数据点编辑</el-button> |
| | | |
| | | </el-header> |
| | | <el-main> |
| | | <el-table :data="list" height="200px" |
| | | @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" |
| | | v-if="editFlag" /> |
| | | <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> |
| | |
| | | <el-col :span="8"> |
| | | {{ info.properties }} |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <!-- <el-col :span="4"> |
| | | 程序传输方式 |
| | | </el-col> |
| | | <el-col :span="8"> |
| | |
| | | </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"> |
| | |
| | | <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" |
| | |
| | | <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"> |
| | |
| | | </el-tabs> |
| | | </el-card> |
| | | <Dialog ref="dialog" @success="success" :option="{ types, status, group }"></Dialog> |
| | | <CollDialog ref="CollDialog" @success="success" :option="{ previewData }"></CollDialog> |
| | | <CollDialog ref="CollDialog" @success="successColl" :option="{ previewData }"></CollDialog> |
| | | </el-main> |
| | | </template> |
| | | |
| | |
| | | import pmsPng from '@/assets/pms.png' |
| | | import Dialog from './Dialog.vue' |
| | | import CollDialog from './CollDialog.vue' |
| | | import machinePng from '@/assets/machine.png' |
| | | import CollTable from './CollTable.vue' |
| | | import machinePng from '@/assets/machine1.jpg' |
| | | export default { |
| | | name: 'system', |
| | | components: { |
| | | Dialog, |
| | | CollDialog |
| | | CollDialog, |
| | | CollTable |
| | | }, |
| | | data() { |
| | | return { |
| | |
| | | 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 => { |
| | |
| | | return |
| | | } |
| | | console.log(data, '>>>>>>>>>>>') |
| | | this.$HTTP.get(`/api/blade-cps/workstation/listDmpVariablesByMachineId?machineId=${data.machineId}`).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 = { |
| | |
| | | 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() |
| | | }) |
| | | }, |
| | |
| | | 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 |
| | | }) |