gaoshp
2024-01-05 b5db49ce1e4c678ce4a7120928811a9621128b8e
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
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
<!-- 机床报警 -->
<template>
  <el-dialog
    title=""
    :close-on-click-modal="false"
    width="80%"
    class="alarmmodal"
    :show-close="false"
    :visible.sync="visible">
    <el-row>
      <el-col :span="12">
        <ul class="alarmtype">
          <li v-for="(item, index) in alarmtypelist" :key="index" @click="alarmtype(item.icolor,item.spanname)">
            <div v-if="item.divcolor == 'aa'">
              <i class="clamping" v-if="item.icolor == 'one'">{{ item.iname }}</i>
              <i class="orange" v-if="item.icolor == 'two'">{{ item.iname }}</i>
              <i class="cyan" v-if="item.icolor == 'three'">{{ item.iname }}</i>
              <i class="meired" v-if="item.icolor == 'four'">{{ item.iname }}</i>
              <i class="red" v-if="item.icolor == 'five'">{{ item.iname }}</i>
              <i class="orangeyellow" v-if="item.icolor == 'six'">{{ item.iname }}</i>
              <i class="gray" v-if="item.icolor == 'seven'">{{ item.iname }}</i>
              <span>{{ item.spanname }}</span>
            </div>
            <div class="clamping" v-if="item.divcolor == 'one'">
              <i class="clamping" v-if="item.icolor == 'one'">{{ item.iname }}</i>
              <i class="orange" v-if="item.icolor == 'two'">{{ item.iname }}</i>
              <i class="cyan" v-if="item.icolor == 'three'">{{ item.iname }}</i>
              <i class="meired" v-if="item.icolor == 'four'">{{ item.iname }}</i>
              <i class="red" v-if="item.icolor == 'five'">{{ item.iname }}</i>
              <i class="orangeyellow" v-if="item.icolor == 'six'">{{ item.iname }}</i>
              <i class="gray" v-if="item.icolor == 'seven'">{{ item.iname }}</i>
              <span>{{ item.spanname }}</span>
            </div>
            <div class="orange" v-if="item.divcolor == 'two'">
              <i class="clamping" v-if="item.icolor == 'one'">{{ item.iname }}</i>
              <i class="orange" v-if="item.icolor == 'two'">{{ item.iname }}</i>
              <i class="cyan" v-if="item.icolor == 'three'">{{ item.iname }}</i>
              <i class="meired" v-if="item.icolor == 'four'">{{ item.iname }}</i>
              <i class="red" v-if="item.icolor == 'five'">{{ item.iname }}</i>
              <i class="orangeyellow" v-if="item.icolor == 'six'">{{ item.iname }}</i>
              <i class="gray" v-if="item.icolor == 'seven'">{{ item.iname }}</i>
              <span>{{ item.spanname }}</span>
            </div>
            <div class="cyan" v-if="item.divcolor == 'three'">
              <i class="clamping" v-if="item.icolor == 'one'">{{ item.iname }}</i>
              <i class="orange" v-if="item.icolor == 'two'">{{ item.iname }}</i>
              <i class="cyan" v-if="item.icolor == 'three'">{{ item.iname }}</i>
              <i class="meired" v-if="item.icolor == 'four'">{{ item.iname }}</i>
              <i class="red" v-if="item.icolor == 'five'">{{ item.iname }}</i>
              <i class="orangeyellow" v-if="item.icolor == 'six'">{{ item.iname }}</i>
              <i class="gray" v-if="item.icolor == 'seven'">{{ item.iname }}</i>
              <span>{{ item.spanname }}</span>
            </div>
            <div class="meired" v-if="item.divcolor == 'four'">
              <i class="clamping" v-if="item.icolor == 'one'">{{ item.iname }}</i>
              <i class="orange" v-if="item.icolor == 'two'">{{ item.iname }}</i>
              <i class="cyan" v-if="item.icolor == 'three'">{{ item.iname }}</i>
              <i class="meired" v-if="item.icolor == 'four'">{{ item.iname }}</i>
              <i class="red" v-if="item.icolor == 'five'">{{ item.iname }}</i>
              <i class="orangeyellow" v-if="item.icolor == 'six'">{{ item.iname }}</i>
              <i class="gray" v-if="item.icolor == 'seven'">{{ item.iname }}</i>
              <span>{{ item.spanname }}</span>
            </div>
            <div class="red" v-if="item.divcolor == 'five'">
              <i class="clamping" v-if="item.icolor == 'one'">{{ item.iname }}</i>
              <i class="orange" v-if="item.icolor == 'two'">{{ item.iname }}</i>
              <i class="cyan" v-if="item.icolor == 'three'">{{ item.iname }}</i>
              <i class="meired" v-if="item.icolor == 'four'">{{ item.iname }}</i>
              <i class="red" v-if="item.icolor == 'five'">{{ item.iname }}</i>
              <i class="orangeyellow" v-if="item.icolor == 'six'">{{ item.iname }}</i>
              <i class="gray" v-if="item.icolor == 'seven'">{{ item.iname }}</i>
              <span>{{ item.spanname }}</span>
            </div>
            <div class="orangeyellow" v-if="item.divcolor == 'six'">
              <i class="clamping" v-if="item.icolor == 'one'">{{ item.iname }}</i>
              <i class="orange" v-if="item.icolor == 'two'">{{ item.iname }}</i>
              <i class="cyan" v-if="item.icolor == 'three'">{{ item.iname }}</i>
              <i class="meired" v-if="item.icolor == 'four'">{{ item.iname }}</i>
              <i class="red" v-if="item.icolor == 'five'">{{ item.iname }}</i>
              <i class="orangeyellow" v-if="item.icolor == 'six'">{{ item.iname }}</i>
              <i class="gray" v-if="item.icolor == 'seven'">{{ item.iname }}</i>
              <span>{{ item.spanname }}</span>
            </div>
            <div class="gray" v-if="item.divcolor == 'seven'">
              <i class="clamping" v-if="item.icolor == 'one'">{{ item.iname }}</i>
              <i class="orange" v-if="item.icolor == 'two'">{{ item.iname }}</i>
              <i class="cyan" v-if="item.icolor == 'three'">{{ item.iname }}</i>
              <i class="meired" v-if="item.icolor == 'four'">{{ item.iname }}</i>
              <i class="red" v-if="item.icolor == 'five'">{{ item.iname }}</i>
              <i class="orangeyellow" v-if="item.icolor == 'six'">{{ item.iname }}</i>
              <i class="gray" v-if="item.icolor == 'seven'">{{ item.iname }}</i>
              <span>{{ item.spanname }}</span>
            </div>
          </li>
        </ul>
      </el-col>
      <el-col :span="12">
        <ul class="alarminformation">
          <li class="margintop5"><p>机床名称:</p><span>{{ machineName }}</span></li>
          <li><p>刀具:</p><span>{{ toolName }}</span></li>
          <li><p>程序运行时间:</p><span>{{ var2 }}</span></li>
          <li><p>完工检数:</p><span>{{ cycleCount }}</span></li>
          <li><p>日利用率:</p><span>{{ utilizationDaily }}%</span></li>
          <li class="textarearemark margintop5">
            <el-input type="textarea" v-model="alarmHandleResult" class="textareas" placeholder="请输入处理结果"></el-input>
          </li>
        </ul>
      </el-col>
    </el-row>
 
    <span slot="footer" class="dialog-footer">
      <el-button @click="visible = false">关闭</el-button>
      <el-button type="primary" @click="confirm()">确认</el-button>
    </span>
  </el-dialog>
</template>
 
<script>
   import { getMachineList, alarmProcessing } from '@/api/MdcApi'
export default {
     data() {
       return {
         visible: false,
         machineName: '',
         machineId: '',
         toolName: '',
         var2: '',
         cycleCount: '',
         utilizationDaily: '',
         alarmType: '',
         alarmHandleResult: '',
         currentPage: 1,
         alarmtypelist: [
           {
             iname: '1',
             spanname: '装夹',
             icolor: 'one',
             divcolor: 'aa'
           },
           {
             iname: '1',
             spanname: '检测',
             icolor: 'two',
             divcolor: 'aa'
           },
           {
             iname: '1',
             spanname: '刀具',
             icolor: 'three',
             divcolor: 'aa'
           },
           {
             iname: '1',
             spanname: '机床',
             icolor: 'four',
             divcolor: 'aa'
           },
           {
             iname: '1',
             spanname: '故障',
             icolor: 'five',
             divcolor: 'aa'
           },
           {
             iname: '1',
             spanname: '物料',
             icolor: 'six',
             divcolor: 'aa'
           },
           {
             iname: '1',
             spanname: '等待',
             icolor: 'seven',
             divcolor: 'aa'
           }
         ]
       }
     },
  mounted() {},
     methods: {
       init(row) {
         this.machineName = row.name
         this.machineId = row.id
         this.alarmHandleResult = ''
         this.alarmtypelist.map(item => {
           item.divcolor = 'aa'
         })
         this.getMachineDetail()
       },
       getMachineDetail() {
         getMachineList(this.currentPage, this.machineId, 0).then(res => {
           this.toolName = res.status.toolName
           this.var2 = res.status.var2
           this.cycleCount = res.status.cycleCount
           this.utilizationDaily = res.status.utilizationDaily
           this.visible = true
         })
       },
       /* 选择类型*/
       alarmtype(color, name) {
         this.alarmtypelist.map(item => {
           if (item.spanname === name) {
             item.divcolor = color
           } else {
             item.divcolor = 'aa'
           }
         })
       },
       /* 确认按钮 */
       confirm() {
         var booln = false
         this.alarmtypelist.map(item => {
           if (item.divcolor !== 'aa') {
             booln = true
             this.alarmType = item.spanname
           }
         })
         if (!booln) {
           this.$message({
             message: '请选择一项报警类型!',
             type: 'warning'
           })
         } else {
           this.$confirm(`确认提交`, '提示', {
             confirmButtonText: '确定',
             cancelButtonText: '取消',
             type: 'warning'
           }).then(() => {
             alarmProcessing(this.machineId, this.alarmType, this.alarmHandleResult).then(res => {
               if (res.result === 'SUCCESS') {
                 this.$message({
                   message: '处理成功!',
                   type: 'warning'
                 })
                 this.visible = false
                 this.$emit('refreshDataList')
               }
             })
           }).catch(() => {})
         }
       }
     }
}
</script>
<style>
  .alarmtype>li{cursor: pointer;list-style: none;margin-top: 5px;background-color: gainsboro;border-radius: 4px;height: 65px;line-height: 65px;}
  .alarmtype i{width: 10px;height: 100%;display: inline-block;color: transparent;margin-right: 10px;}
  .clamping{background-color: #409EFF;}
  .orange{background-color: coral;}
  .cyan{background-color: #1AE6E6;}
  .meired{background-color: #ff0099;}
  .red{background-color: red;}
  .orangeyellow{background-color: #E6BD1A;}
  .gray{background-color: #858585;}
 
  .alarminformation{margin-left: 10px;}
  .alarminformation>li{list-style: none;margin-top: 2px;padding-left: 10px;padding-right: 10px;background-color:     #858585;height: 53.5px;border-radius: 4px;}
  .alarminformation>li>span{margin-top: -60px;}
  .textarearemark{height: 205px !important;outline: none;padding-top: 10px;background-color: gainsboro !important;}
 
  .alarmmodal .el-dialog__body{padding: 10px;height: 500px;}
  .alarmmodal .el-textarea__inner{height: 185px !important;resize:none;}
  .alarmmodal .el-dialog__header{padding: 10px;}
  .alarmmodal .el-dialog__footer{text-align: center !important;}
</style>