| | |
| | | |
| | | </template> |
| | | <template #default="scope"> |
| | | <el-select :disabled="!scope.row.status" v-model="scope.row[item.prop]" placeholder="" size="small" |
| | | <el-select :disabled="!scope.row.status" v-model="scope.row[item.prop]" |
| | | @change="change($event, scope.row, scope.$index, item.prop)" 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> |
| | | <el-switch :disabled="!scope.row.status" size="small" v-model="scope.row[item.prop]" |
| | | v-else-if="item.type === 'boolean'" /> |
| | | <el-input size="small" v-model="scope.row[item.prop]" placeholder="" |
| | | v-else-if="scope.row.status"></el-input> |
| | | <el-input size="small" v-model="scope.row[item.prop]" placeholder="" v-else-if="scope.row.status" |
| | | :disabled="(item.prop == 'dpLabel' && 'Other' !== scope.row.dpCategory)"></el-input> |
| | | <span v-else>{{ scope.row[item.prop] }}</span> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | |
| | | }, |
| | | methods: { |
| | | change(e, row, index, prop) { |
| | | console.log(e) |
| | | if (prop === 'dpCategory' && e !== 'Other') { |
| | | const label = [{ |
| | | label: '状态', |
| | | value: 'DeviceStatus' |
| | | }, { |
| | | label: '产量', |
| | | value: 'Output' |
| | | }, { |
| | | label: '告警', |
| | | value: 'Alarm' |
| | | }].find(v => v.value === e).label |
| | | this.tabledata[index].dpLabel = label |
| | | } else if (prop === 'dpCategory' && e === 'Other') { |
| | | this.tabledata[index].dpLabel = '' |
| | | } |
| | | }, |
| | | changeType(val) { |
| | | if (this.tabledata.length > 0) { |
| | | this.$confirm(`切换类型将删除所有已配置数据点`, '提示', { |
| | |
| | | |
| | | }, |
| | | addOptions() { |
| | | if (this.cols.filter(v => v.prop === 'dplabel').length === 0) { |
| | | 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", |
| | | prop: "dpLabel", |
| | | isRequired: true, |
| | | } |
| | | ) |
| | |
| | | }, { |
| | | label: '告警', |
| | | value: 'Alarm' |
| | | }, { |
| | | label: '其他', |
| | | value: 'Other' |
| | | }] |
| | | } |
| | | ) |
| | |
| | | <!-- |
| | | * @Date: 2024-10-05 09:51:45 |
| | | * @LastEditors: gaoshp |
| | | * @LastEditTime: 2024-10-08 20:20:28 |
| | | * @LastEditTime: 2024-10-09 20:11:01 |
| | | * @FilePath: /cps-web/src/views/console/workstation/CollTable.vue |
| | | --> |
| | | <template> |
| | |
| | | this.$HTTP.get(`/api/blade-cps/workstation/listDatapointsByWorkstationId`, {}, { params }).then(res => { |
| | | try { |
| | | this.cols = JSON.parse(res.data.dpHead) |
| | | if (this.cols.filter(v => v.prop === 'dplabel').length === 0) { |
| | | 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", |
| | | prop: "dpLabel", |
| | | isRequired: true, |
| | | } |
| | | ) |
| | |
| | | }, { |
| | | label: '告警', |
| | | value: 'Alarm' |
| | | }, { |
| | | label: '其他', |
| | | value: 'Other' |
| | | }] |
| | | } |
| | | ) |