From dcf9c9e0410fe1186239e3f8d6f7bdc789c08010 Mon Sep 17 00:00:00 2001 From: lzhe <lzhe@example.com> Date: 星期三, 05 六月 2024 18:00:39 +0800 Subject: [PATCH] 1 --- src/views/mdc/configuration.vue | 151 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 146 insertions(+), 5 deletions(-) diff --git a/src/views/mdc/configuration.vue b/src/views/mdc/configuration.vue index b45fff0..8a93091 100644 --- a/src/views/mdc/configuration.vue +++ b/src/views/mdc/configuration.vue @@ -1,24 +1,165 @@ <!-- * @Date: 2024-04-09 22:11:21 * @LastEditors: Sneed - * @LastEditTime: 2024-04-13 22:15:00 + * @LastEditTime: 2024-04-18 00:00:27 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/mdc/configuration.vue * 搴旂敤璁剧疆 --> <template> <el-main> <el-card shadow="never"> - 搴旂敤璁剧疆 + <el-tabs :tab-position="'left'" class="demo-tabs"> + <el-tab-pane label="瀹炴椂鐪嬫澘鏌ヨ缁勮缃�"> + <Board /> + </el-tab-pane> + <el-tab-pane label="鐘舵�佸拰缁╂晥鏃堕棿璁剧疆"> + <Status /> + </el-tab-pane> + <el-tab-pane label="鏁堢巼缁熻璁剧疆"> + <Efficiency /> + </el-tab-pane> + <el-tab-pane label="閲囬泦鏁版嵁鏍囩璁剧疆"> + <scFormTable ref="table1" v-model="Tabledata" stripe hideDelete :addTemplate="addTemplate"> + <el-table-column label="鏁版嵁鏍囩" prop="usageName"> + <template #default="scope"> + <el-input v-if="scope.row.isEdit" v-model="scope.row.usageName"></el-input> + <span v-else>{{ scope.row.usageName }}</span> + </template> + </el-table-column> + <el-table-column label="鏁版嵁鏍囩鏍囪瘑" prop="usageCode"> + <template #default="scope"> + <el-input v-if="scope.row.isEdit" v-model="scope.row.usageCode"></el-input> + <span v-else>{{ scope.row.usageCode }}</span> + </template> + </el-table-column> + <el-table-column label="璁$畻鏂规硶" prop="dataTypeDesc"> + <template #default="scope"> + <el-select v-if="scope.row.isEdit" v-model="scope.row.collectType" style="width: 100%;" + @change="update(scope.row)"> + <el-option v-for="(item, index) in options" :key="index" :label="item.label" + :value="item.value"></el-option> + </el-select> + <span v-else>{{ scope.row.dataTypeDesc }}</span> + </template> + </el-table-column> + <el-table-column label="鑴夊啿璁℃暟鍊嶇巼" prop="value"> + <template #default="scope"> + <el-input-number v-if="scope.row.isEdit && scope.row.collectType == 9" :min="1" + :max="10" /> + <span>{{ scope?.row?.parameter?.value }}</span> + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" prop="state"> + <template #default="scope"> + <el-button v-show="!scope.row.id || scope.row.isEdit" + @click="add(scope.row)">淇濆瓨</el-button> + <el-button v-show="!scope.row.isEdit" @click="edit(scope.row)">缂栬緫</el-button> + </template> + </el-table-column> + </scFormTable> + </el-tab-pane> + </el-tabs> </el-card> </el-main> </template> <script> - export default { - +import Board from './configComp/Board.vue' +import Status from './configComp/Status.vue' +import Efficiency from './configComp/Efficiency.vue' +export default { + components: { + Board, + Status, + Efficiency + }, + data() { + return { + Tabledata: [], + addTemplate: { + collectType: '', + dataTypeDesc: '', + id: null, + parameter: { + value: '' + }, + usageCode: '', + usageName: '', + isEdit: true, + }, + options: [{ + label: '宸�艰绠�', + value: 8 + }, { + label: '鑴夊啿璁$畻', + value: 9 + }] + } + }, + created() { + this.getList() + }, + methods: { + getList() { + this.$HTTP.get('/api/blade-cps/workstation-wcs-usage/list').then(res => { + if (res.code === 200) { + this.Tabledata = res.data.map(item => { + return { + ...item, + parameter: item.parameter ? JSON.parse(item.parameter) : null + } + }) + } + }) + }, + edit(row) { + row.isEdit = true + }, + update(row) { + row.dataTypeDesc = this.options.find(item => item.value === row.collectType)?.label + if (row.collectType === 9) { + row.parameter = { value: 0 } + } else { + row.parameter = null + } + }, + add(row) { + let url = '/api/blade-cps/workstation-wcs-usage' + let data = { + ...row + } + if (row.id) { + try { + delete data.isEdit + } catch (error) { + + } + if (data.parameter) data.parameter = JSON.stringify(row.parameter) + this.$HTTP.post(url, data).then(res => { + if (res.code === 200) { + this.getList() + } + }) + } else { + this.$HTTP.post(url, data).then(res => { + if (res.code === 200) { + this.getList() + } + }) + } + // + // collectType + // usageCode + // usageName + + } } +} </script> <style lang="scss" scoped> - +.label { + display: flex; + align-items: center; +} </style> \ No newline at end of file -- Gitblit v1.9.3