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 |  127 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 122 insertions(+), 5 deletions(-)

diff --git a/src/views/mdc/configuration.vue b/src/views/mdc/configuration.vue
index 6f343dc..8a93091 100644
--- a/src/views/mdc/configuration.vue
+++ b/src/views/mdc/configuration.vue
@@ -1,7 +1,7 @@
 <!--
  * @Date: 2024-04-09 22:11:21
  * @LastEditors: Sneed
- * @LastEditTime: 2024-04-16 00:00:46
+ * @LastEditTime: 2024-04-18 00:00:27
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/mdc/configuration.vue
  * 搴旂敤璁剧疆
 -->
@@ -13,13 +13,50 @@
                     <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>
@@ -28,15 +65,95 @@
 
 <script>
 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 {
-            radio: ''
+            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>
 

--
Gitblit v1.9.3