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 |  201 +++++++++++++++++++++++++++++++++-----------------
 1 files changed, 133 insertions(+), 68 deletions(-)

diff --git a/src/views/mdc/configuration.vue b/src/views/mdc/configuration.vue
index e70cb85..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-14 10:31:10
+ * @LastEditTime: 2024-04-18 00:00:27
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/mdc/configuration.vue
  * 搴旂敤璁剧疆
 -->
@@ -10,77 +10,53 @@
         <el-card shadow="never">
             <el-tabs :tab-position="'left'" class="demo-tabs">
                 <el-tab-pane label="瀹炴椂鐪嬫澘鏌ヨ缁勮缃�">
-                    <el-row>
-                        <el-col :span="4">
-                            椤甸潰鎺掑垪鏂瑰紡
-                        </el-col>
-                        <el-col :span="20">
-                            <el-radio-group v-model="radio">
-                                <el-radio :value="1">鍏呮弧灞忓箷</el-radio>
-                                <el-radio :value="2">璁剧疆琛屽垪</el-radio>
-                            </el-radio-group>
-                        </el-col>
-                        <el-col :span="4">
-                            璁剧疆琛屾暟
-                        </el-col>
-                        <el-col :span="20">
-                            <el-input-number v-model="num" :min="1" :max="10" @change="handleChange" />
-                        </el-col>
-                        <el-col :span="4">
-                            璁剧疆鍒楁暟
-                        </el-col>
-                        <el-col :span="20">
-                            <el-input-number v-model="num" :min="1" :max="10" @change="handleChange" />
-                        </el-col>
-                        <el-col>
-                            涓嬮潰闄堝垪鎷ユ湁鏍囩鐨勬墍鏈夊伐浣嶇粍锛岃閫夋嫨闇�瑕佸湪瀹炴椂鐪嬫澘椤甸潰鏌ヨ鐨勭粍锛屽苟璁惧畾涓�涓粯璁ょ粍
-                            濡傛灉鏈厤缃煡璇㈢粍锛屽疄鏃跺伐鍐甸〉闈㈤粯璁ゆ煡璇㈡墍鏈夊伐浣�
-                        </el-col>
-                        <el-col>
-                            鏌旀�т骇绾�
-                        </el-col>
-                        <el-col>
-                            <el-card style="max-width: 480px">
-                                <template #header>
-                                <div class="card-header">
-                                    <span>鍗冩枃绉戞妧</span>
-                                </div>
-                                </template>
-                                <p>鎵�鏈夌殑> 鍗冩枃绉戞妧</p>
-                            </el-card>
-                        </el-col>
-
-                        <el-col>
-                            杞﹂棿
-                        </el-col>
-                        <el-col>
-                            <el-card style="max-width: 480px">
-                                <template #header>
-                                <div class="card-header">
-                                    <span>鍗冩枃绉戞妧</span>
-                                </div>
-                                </template>
-                                <p>鎵�鏈夌殑> 鍗冩枃绉戞妧</p>
-                            </el-card>
-                            <el-card style="max-width: 480px">
-                                <template #header>
-                                <div class="card-header">
-                                    <span>鍗冩枃绉戞妧</span>
-                                </div>
-                                </template>
-                                <p>鎵�鏈夌殑> 鍗冩枃绉戞妧</p>
-                            </el-card>
-                        </el-col>
-                    </el-row>
+                    <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>
@@ -88,13 +64,102 @@
 </template>
 
 <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 {
-            
+            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></style>
\ No newline at end of file
+<style lang="scss" scoped>
+.label {
+    display: flex;
+    align-items: center;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3