gaoshp
2024-11-19 f29900986f01cf5d39b5755cec674825cef27961
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
<!--
 * @Date: 2024-04-09 22:11:21
 * @LastEditors: lzhe lzhe@example.com
 * @LastEditTime: 2024-11-08 10:38:02
 * @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="实时看板查询组设置" v-if="$route.query.isShowSearch == 1">
                    <Board />
                </el-tab-pane>
                <el-tab-pane label="状态和绩效时间设置" v-if="$route.query.isShowSearch != 1">
                    <Status />
                </el-tab-pane>
                <el-tab-pane label="效率统计设置" v-if="false">
                    <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 && scope.row.collectType > 7"
                                    @click="edit(scope.row)">编辑</el-button>
                            </template>
                        </el-table-column>
                    </scFormTable>
                </el-tab-pane> -->
            </el-tabs>
        </el-card>
    </el-main>
</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/smis/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/smis/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>