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 |  158 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 151 insertions(+), 7 deletions(-)

diff --git a/src/views/mdc/configuration.vue b/src/views/mdc/configuration.vue
index 5d11ceb..8a93091 100644
--- a/src/views/mdc/configuration.vue
+++ b/src/views/mdc/configuration.vue
@@ -1,21 +1,165 @@
 <!--
  * @Date: 2024-04-09 22:11:21
  * @LastEditors: Sneed
- * @LastEditTime: 2024-04-09 22:15:27
+ * @LastEditTime: 2024-04-18 00:00:27
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/mdc/configuration.vue
+ * 搴旂敤璁剧疆
 -->
 <template>
-    <div>
-        搴旂敤璁剧疆
-    </div>
+    <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