| | |
| | | |
| | | </template> |
| | | <template #default="scope"> |
| | | <el-select :disabled="!scope.row.status" v-model="scope.row[item.prop]" |
| | | @change="change($event, scope.row, scope.$index, item)" placeholder="" size="small" |
| | | v-if="item.type === 'option'"> |
| | | <el-select :disabled="!scope.row.status || (item.disabledFn && item.disabledFn(scope.row))" |
| | | v-model="scope.row[item.prop]" @change="change($event, scope.row, scope.$index, item)" |
| | | placeholder="" size="small" v-if="item.type === 'option'"> |
| | | <el-option v-for="item in item.options" :key="item.value || item" :label="(item?.label || item)" |
| | | :value="(item.value || item)" /> |
| | | </el-select> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import addOptions from './addOptions' |
| | | export default { |
| | | name: 'CollDialog', |
| | | emits: ['success', 'closed'], |
| | | mixins: [addOptions], |
| | | props: { |
| | | option: { |
| | | type: Object |
| | |
| | | const label = options.find(v => v.value === e).label |
| | | this.tabledata[index].dpLabel = label |
| | | this.tabledata[index].dpName = e |
| | | this.tabledata[index].paramChartType = 'distribute' |
| | | } else if (prop === 'dpCategory' && e === 'Other') { |
| | | this.tabledata[index].dpLabel = '' |
| | | this.tabledata[index].dpName = '' |
| | | } |
| | | // 点位分类为非其他时 过程参数展示方式为分布图 |
| | | }, |
| | | changeType(val) { |
| | | if (this.tabledata.length > 0) { |
| | |
| | | }).then(() => { |
| | | try { |
| | | this.cols = JSON.parse(this.typeList.find(v => v.id === val).dpHeadFull) |
| | | this.addOptions() |
| | | this.addOptions(this.cols) |
| | | this.tabledata = [] |
| | | } catch (error) { |
| | | this.cols = [] |
| | |
| | | } else { |
| | | try { |
| | | this.cols = JSON.parse(this.typeList.find(v => v.id === val).dpHeadFull) |
| | | this.addOptions() |
| | | this.addOptions(this.cols) |
| | | |
| | | } catch (error) { |
| | | this.cols = [] |
| | |
| | | }) |
| | | |
| | | }, |
| | | addOptions() { |
| | | if (this.cols.filter(v => v.prop === 'isProcessParam').length === 0) { |
| | | this.cols.unshift( |
| | | { |
| | | label: "过程参数", |
| | | prop: "isProcessParam", |
| | | isRequired: true, |
| | | type: 'boolean', |
| | | } |
| | | ) |
| | | } |
| | | if (this.cols.filter(v => v.prop === 'dpLabel').length === 0) { |
| | | this.cols.unshift( |
| | | { |
| | | label: "显示名称", |
| | | prop: "dpLabel", |
| | | isRequired: true, |
| | | } |
| | | ) |
| | | } |
| | | if (this.cols.filter(v => v.prop === 'dpCategory').length === 0) { |
| | | this.cols.unshift( |
| | | { |
| | | label: "点位分类", |
| | | prop: "dpCategory", |
| | | isRequired: true, |
| | | type: 'option', |
| | | options: [{ |
| | | label: '程序名', |
| | | value: 'ProgName' |
| | | }, { |
| | | label: '程序内容', |
| | | value: 'ProgContent' |
| | | }, { |
| | | label: '刀具号', |
| | | value: 'ToolNo' |
| | | }, { |
| | | label: '状态', |
| | | value: 'DeviceStatus' |
| | | }, { |
| | | label: '产量', |
| | | value: 'Output' |
| | | }, { |
| | | label: '告警', |
| | | value: 'Alarm' |
| | | }, { |
| | | label: '其他', |
| | | value: 'Other' |
| | | }] |
| | | } |
| | | ) |
| | | } |
| | | }, |
| | | // addOptions() { |
| | | // if (this.cols.filter(v => v.prop === 'isProcessParam').length === 0) { |
| | | // this.cols.unshift( |
| | | // { |
| | | // label: "过程参数", |
| | | // prop: "isProcessParam", |
| | | // isRequired: true, |
| | | // type: 'boolean', |
| | | // } |
| | | // ) |
| | | // } |
| | | // if (this.cols.filter(v => v.prop === 'dpLabel').length === 0) { |
| | | // this.cols.unshift( |
| | | // { |
| | | // label: "显示名称", |
| | | // prop: "dpLabel", |
| | | // isRequired: true, |
| | | // } |
| | | // ) |
| | | // } |
| | | // if (this.cols.filter(v => v.prop === 'dpCategory').length === 0) { |
| | | // this.cols.unshift( |
| | | // { |
| | | // label: "点位分类", |
| | | // prop: "dpCategory", |
| | | // isRequired: true, |
| | | // type: 'option', |
| | | // options: [{ |
| | | // label: '程序名', |
| | | // value: 'ProgName' |
| | | // }, { |
| | | // label: '程序内容', |
| | | // value: 'ProgContent' |
| | | // }, { |
| | | // label: '刀具号', |
| | | // value: 'ToolNo' |
| | | // }, { |
| | | // label: '状态', |
| | | // value: 'DeviceStatus' |
| | | // }, { |
| | | // label: '产量', |
| | | // value: 'Output' |
| | | // }, { |
| | | // label: '告警', |
| | | // value: 'Alarm' |
| | | // }, { |
| | | // label: '其他', |
| | | // value: 'Other' |
| | | // }] |
| | | // } |
| | | // ) |
| | | // } |
| | | // }, |
| | | getList(params) { |
| | | this.$HTTP.get(`/api/blade-cps/workstation/listDatapointsByWorkstationId`, {}, { params }).then(res => { |
| | | try { |
| | | this.cols = JSON.parse(res.data.dpHead) |
| | | this.addOptions() |
| | | this.addOptions(this.cols) |
| | | } catch (error) { |
| | | this.cols = [] |
| | | } |
| | |
| | | }) |
| | | }, |
| | | table_edit(row) { |
| | | console.log('bianji', row) |
| | | row.status = '1' |
| | | }, |
| | | del(index) { |