From 00c8943add0753245977bdc4eb3dc7d979cf3f45 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期日, 14 一月 2024 17:17:13 +0800
Subject: [PATCH] Merge branch 'master' of http://www.beijingsoft.cn:9090/r/mdc-front

---
 src/container/Map/addMachine.vue                      |  142 +++++---
 src/container/workshop/index.vue                      |   12 
 src/container/maintenance/index.vue                   |   31 +
 src/container/ledger/index.vue                        |   32 +
 src/api/Api.js                                        |   22 +
 src/container/component/index.vue                     |   11 
 src/container/devicemaintenance/Manage-add-update.vue |  135 ++++++++
 src/router/index.js                                   |    5 
 src/container/home/index.vue                          |    4 
 src/container/devicemaintenance/index.vue             |  167 ++++++++++
 src/container/Map/Map.vue                             |   78 ++++
 src/container/workshop/device.vue                     |   33 +
 src/container/deviceType/index.vue                    |    4 
 src/container/maintenance/dailyMAdd.vue               |  237 +++++---------
 14 files changed, 667 insertions(+), 246 deletions(-)

diff --git a/src/api/Api.js b/src/api/Api.js
index 8599214..ec6ecc8 100644
--- a/src/api/Api.js
+++ b/src/api/Api.js
@@ -1,7 +1,7 @@
 /*
  * @Date: 2024-01-10 20:37:45
  * @LastEditors: Sneed
- * @LastEditTime: 2024-01-13 21:27:18
+ * @LastEditTime: 2024-01-14 16:17:20
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/api/Api.js
  */
 import ajax from '@/utils/ajax'
@@ -25,6 +25,10 @@
     accountQuery: {
         url: '/account/remainings',
         method: 'GET'
+    },
+    accountDel: {
+        url: '/account/delete',
+        method: 'POST'
     },
     componentQuery: {
         url: '/component/pageQuery',
@@ -69,6 +73,22 @@
     machineConcern: {
         url: '/machine/concern',
         method: 'POST'
+    },
+    machineQuery: {
+        url: '/machine/pageQuery',
+        method: 'POST'
+    },
+    machineSave: {
+        url: '/machine/save',
+        method: 'POST'
+    },
+    machineUpdate: {
+        url: '/machine/modify',
+        method: 'POST'
+    },
+    userList: {
+        url: '/user/list',
+        method: 'GET'
     }
 }
 // 姝e紡鐜閰嶇疆鍦板潃
diff --git a/src/container/Map/Map.vue b/src/container/Map/Map.vue
index eac3ee5..9680251 100644
--- a/src/container/Map/Map.vue
+++ b/src/container/Map/Map.vue
@@ -1,7 +1,7 @@
 <!--
  * @Date: 2024-01-05 23:47:53
  * @LastEditors: Sneed
- * @LastEditTime: 2024-01-13 23:22:52
+ * @LastEditTime: 2024-01-14 15:07:18
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/Map/Map.vue
 -->
 <template>
@@ -16,13 +16,14 @@
                 <div class="plant-name" v-if="status===2">{{plantName}}</div>
                 <el-input class="plant-name" v-if="status!==2" v-model="plantName" placeholder="璇疯緭鍏ュ巶鍚�"/>
             </div>
-            <div class="table" >
+            <div class="table" :class="$route.name ==='preview' ? 'active' : ''" >
                 <div class="table-action" :style="position" v-show="showAction && status !== 2">
                     <div @click="merge">鍚堝苟</div>
                     <div @click="split">鎷嗗垎</div>
                     <div @click="sign(1)">杩囬亾</div>
                     <div @click="sign(2)">鏈哄簥</div>
                     <div @click="sign(0)">鍙栨秷</div>
+                    <div @click="edit" v-if="showEdit">淇敼鏈哄簥</div>
                     <!-- <div>澧炲姞琛�</div> -->
                     <!-- <div>鍒犻櫎琛�</div> -->
                     <!-- <div>澧炲姞鍒�</div> -->
@@ -70,16 +71,12 @@
                                 </div> -->
                                 <Device v-if="v.id" :id="v.id" style="width: 100%;height: 100%;"></Device>
                             </td>
-                            <!-- <td></td> -->
                         </tr>
-                        <!-- <tr>
-                            <td></td>
-                        </tr> -->
                     </table>
                 </div>
             </div>
         </div>
-        <addMachine :id="id" @setmachineId="setmachineId" v-else @close="close"/>
+        <addMachine :id="id" :machineid="machineid" @setmachineId="setmachineId" v-else @close="close"/>
     </div>
     
 </template>
@@ -114,6 +111,34 @@
         },
         id: {
             type: [Number,String]
+        }
+    },
+    computed: {
+        showEdit() {
+            try {
+                const { x, x1, y, y1 } = this.range
+                if (this.range && x && x1 && y && y1) {
+                    let start = this.map[x][y]
+                    return this.map[x][y].id && (start.rowIndex + start.rowspan -1) === x1 && (start.colIndex + start.colspan -1) === y1
+                }
+            } catch (error) {
+                return false
+            }
+        },
+        machineid () {
+            try {
+                const { x, x1, y, y1 } = this.range
+                if (this.range && x && x1 && y && y1) {
+                    let start = this.map[x][y]
+                     if (this.map[x][y].id && (start.rowIndex + start.rowspan -1) === x1 && (start.colIndex + start.colspan -1) === y1) {
+                        return start.id
+                    } else {
+                        return ''
+                    }
+                }
+            } catch (error) {
+                return ''
+            }
         }
     },
     data() {
@@ -180,6 +205,15 @@
                 if (this.currentMap.length > 0) this.map = this.currentMap
                 this.rows = this.currentMap.length;
                 this.cols = this.currentMap[0].length;
+                if (this.$route.name === 'preview') {
+                    this.$nextTick(() => {
+                            let {width} = document.querySelector('.table div').getBoundingClientRect()
+                            console.log(document.querySelector('.table div').getBoundingClientRect())
+                                // document.querySelector('.table').scrollLeft
+                                // document.querySelector('.table').scrollTo({left: })
+                    })
+                }
+               
             },
             immediate: true
         },
@@ -196,9 +230,8 @@
         try {
             this.height = (document.querySelector('.table').getBoundingClientRect().height - 30) / 20
         } catch (error) {
-            
         }
-        
+        console.log(this.$route.name)
     },
     beforeUpdate() {
         try {
@@ -235,7 +268,8 @@
         },
         contextmenu(e) {
             console.log(e)
-            if(this.status ===2) return 
+            if(this.status ===2) return
+            if (!this.range.x) return
             // if (this.range.x !=='') return 
             e.preventDefault()
             e.stopPropagation()
@@ -359,6 +393,11 @@
         close () {
             this.addStatus = false
         },
+        edit (e) {
+            if(this.status ===2) return 
+            e.stopPropagation()
+            this.addStatus = true
+        },
         setmachineId (id) {
             console.log(id)
             if (!id) return
@@ -373,6 +412,19 @@
 }
 </script>
 <style lang="scss" scoped>
+
+@keyframes move {
+    0% {
+        // left: 100%;
+        // transform: translate(0,0);
+        // scrollTop: 0
+    }
+    100% {
+        // left: 100%;
+        // transform: translate(-100%,0);
+        // scrollTop: 100%
+    }
+}
 .map {
     width: 100%;
     height: 100%;
@@ -413,6 +465,11 @@
     }
 }
 
+.table.active {
+    // position: relative;
+    // left: 100%;
+    // animation: move 6s infinite alternate;
+}
 .table {
     // margin-top: 10px;
     // display: flex;
@@ -421,6 +478,7 @@
     height: 100%;
     position: relative;
     overflow-x: scroll;
+   
     .table-action {
         position: absolute;
         z-index: 999;
diff --git a/src/container/Map/addMachine.vue b/src/container/Map/addMachine.vue
index 1a0c427..6b04565 100644
--- a/src/container/Map/addMachine.vue
+++ b/src/container/Map/addMachine.vue
@@ -1,7 +1,7 @@
 <!--
  * @Date: 2024-01-10 22:28:38
  * @LastEditors: Sneed
- * @LastEditTime: 2024-01-12 21:21:48
+ * @LastEditTime: 2024-01-14 15:04:42
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/Map/addMachine.vue
 -->
 <template>
@@ -11,12 +11,12 @@
             <el-input class="value" v-model="addInfo.name"></el-input>
         </div>
         <div class="map-add-item">
-                <span>鏈哄簥</span>
-                <el-select class="value" v-model="addInfo.id" placeholder="璇烽�夋嫨">
-                    <el-option v-for="item in accountList" :key="item.machineId" :label="item.uuid" :value="item.machineId">
-                    </el-option>
-                </el-select>
-            </div>
+            <span>鏈哄簥</span>
+            <el-select :disabled="!!machineid" class="value" v-model="addInfo.id" placeholder="璇烽�夋嫨">
+                <el-option v-for="item in accountList" :key="item.machineId" :label="item.uuid" :value="item.machineId">
+                </el-option>
+            </el-select>
+        </div>
         <div class="map-add-item">
             <span>IP</span>
             <el-input class="value" v-model="addInfo.ip"></el-input>
@@ -68,10 +68,10 @@
     </div>
 </template>
 <script>
-import { getWsl,getPcl,getRequest } from '@/api/Api'
+import { getWsl, getPcl, getRequest } from '@/api/Api'
 export default {
-    props: ['id'],
-    data () {
+    props: ['id', 'machineid'],
+    data() {
         return {
             shiftTypes: [
                 {
@@ -104,76 +104,112 @@
             },
         }
     },
-    created () {
+    watch: {
+        machineid: {
+            handler(val) {
+                if (val) {
+                    setTimeout(() => {
+                        getRequest('machineQuery', { size: 10, machineId: val }).then(res => {
+                            this.changewsl(res.data.records[0].workshopId)
+                            this.$nextTick(() => {
+                                try {
+                                    Object.keys(this.addInfo).forEach(item => {
+                                        this.addInfo[item] = res.data.records[0][item]
+                                    })
+                                    // this.addInfo.id = res.data.records[0].id
+                                } catch (error) {
+                                    console.error(error)
+                                }
+                            })
+                        })
+                    }, 1000)
+
+                }
+            },
+            immediate: true
+        }
+    },
+    created() {
         getPcl().then(res => {
             this.protocolList = res.data
         })
         getWsl().then(res => {
             this.workshopList = res.data
         })
-        getRequest('accountQuery',{}).then(res => {
+        getRequest('accountQuery', {}).then(res => {
             console.log(res)
             try {
                 this.accountList = res.data
             } catch (error) {
                 this.accountList = []
             }
-            
+
         })
     },
     methods: {
-        saveDevice () {
-            this.$emit('setmachineId',this.addInfo.id)
-            return
-            this.$http.postJson('/machine/save',{
-                ...this.addInfo,
-                plantId: this.id
-            }).then(res => {
-                this.$emit('setmachineId',this.addInfo.id)
-            })
+        saveDevice() {
+            let url = '/machine/save'
+            if (this.machineid) {
+                getRequest('machineUpdate',{
+                    ...this.addInfo,
+                    plantId: this.id
+                }).then(res => {
+                    this.$emit('setmachineId', this.addInfo.id)
+                })
+            } else {
+                getRequest('machineSave',{
+                    ...this.addInfo,
+                    plantId: this.id
+                }).then(res => {
+                    this.$emit('setmachineId', this.addInfo.id)
+                })
+            }
         },
-        changewsl (val) {
-            console.log(val)
+        changewsl(val) {
+            console.log(val, 'changewsl')
             try {
-                this.sectionIds = this.workshopList.find(item => item.id ===val).sections
+                this.sectionIds = this.workshopList.find(item => item.id === val).sections
             } catch (error) {
                 this.sectionIds = []
             }
         },
-        close () {
+        close() {
             this.$emit('close')
         }
     },
 }
 </script>
 <style lang="scss" scoped>
-    .map-add {
-        width: 100%;
-        height: 100%;
-        overflow: auto;
-        position: relative;
-        .map-add-item {
-            margin-top: 24px;
-            display: flex;
-            justify-content: center;
-            align-items: center;
-            span {
-                width: 150px;
-                font-size: 16px;
-                color: #C6DCE0;
-                text-align: right;
-                margin-right: 16px;
-            }
-            .value {
-                width: 400px;
-            }
-        }
-        .map-add-footer {
-            position: absolute;
-            bottom: 0;
+.map-add {
+    width: 100%;
+    height: 100%;
+    overflow: auto;
+    position: relative;
+
+    .map-add-item {
+        margin-top: 24px;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+
+        span {
+            width: 150px;
+            font-size: 16px;
+            color: #C6DCE0;
             text-align: right;
-            padding-right: 30px;
-            width: 100%;
+            margin-right: 16px;
+        }
+
+        .value {
+            width: 400px;
         }
     }
-</style>
\ No newline at end of file
+
+    .map-add-footer {
+        position: absolute;
+        bottom: 0;
+        text-align: right;
+        padding-right: 30px;
+        width: 100%;
+    }
+}</style>
\ No newline at end of file
diff --git a/src/container/component/index.vue b/src/container/component/index.vue
index 88983dc..115b671 100644
--- a/src/container/component/index.vue
+++ b/src/container/component/index.vue
@@ -1,7 +1,7 @@
 <!--
  * @Date: 2024-01-06 17:40:19
  * @LastEditors: Sneed
- * @LastEditTime: 2024-01-13 22:13:05
+ * @LastEditTime: 2024-01-14 15:36:44
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/component/index.vue
 -->
 <template>
@@ -64,7 +64,7 @@
             </template>
             <template slot="columns">
                 <el-table-column
-                    prop="date"
+                    prop="machineId"
                     label="鏈哄簥鍚�"
                     width="180">
                 </el-table-column>
@@ -74,12 +74,15 @@
                     width="180">
                 </el-table-column>
                 <el-table-column
-                    prop="address"
+                    prop="process"
                     label="宸ュ簭鍙�">
                 </el-table-column>
                 <el-table-column
-                    prop="address"
+                    prop="time"
                     label="鍔犲伐鏃堕棿">
+                    <template slot-scope="scope">
+                        <span>{{scope.row.time.slice(0,10)}}</span>
+                    </template>
                 </el-table-column>
             </template>
         </List>
diff --git a/src/container/deviceType/index.vue b/src/container/deviceType/index.vue
index 6879a4e..73332a7 100644
--- a/src/container/deviceType/index.vue
+++ b/src/container/deviceType/index.vue
@@ -1,7 +1,7 @@
 <!--
  * @Date: 2024-01-06 17:40:19
  * @LastEditors: Sneed
- * @LastEditTime: 2024-01-13 11:35:29
+ * @LastEditTime: 2024-01-14 14:12:18
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/deviceType/index.vue
 -->
 <template>
@@ -14,8 +14,6 @@
 					<el-input class="item-value" v-model="queryInfo.name"></el-input>
                     
                 </div>
-               
-                
                 <div class="item">
                     <el-button type="primary" size="small" @click="query">鏌ヨ</el-button>
                 </div>
diff --git a/src/container/devicemaintenance/Manage-add-update.vue b/src/container/devicemaintenance/Manage-add-update.vue
new file mode 100644
index 0000000..f95fc32
--- /dev/null
+++ b/src/container/devicemaintenance/Manage-add-update.vue
@@ -0,0 +1,135 @@
+<template>
+  <div>
+    <el-dialog
+      :title="!dataForm.id ? '鏂板缓' : '缂栬緫'"
+      :close-on-click-modal="false"
+      width="80%"
+      :visible.sync="addVisible">
+      <!-- 娣诲姞鍐呭-->
+      <el-form  :model="dataForm" label-width="100px" ref="dataForm">
+      	<el-row :gutter="20">
+          <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
+            <el-form-item label="鍚嶇О" prop="name">
+              <el-input v-model="dataForm.name" placeholder="鍚嶇О" clearable></el-input>
+            </el-form-item>
+          </el-col>
+          
+        </el-row>
+        
+      </el-form>
+      <!-- 鎸夐挳 -->
+    	<span slot="footer" class="dialog-footer">
+        <el-button size="mini" @click="cancel">鍙栨秷</el-button>
+        <el-button size="mini" type="primary" @click="dataFormSubmit()">淇濆瓨</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import { deviceTypeUpdate,deviceTypeCreate } from '@/api/Api'
+  export default {
+    props: ['addVisible','row'],
+    data() {
+      return {
+        visible: false,
+        dataForm: {
+          id: 0, // title鏄剧ず鏂板杩樻槸淇敼
+          name: ''
+        }
+       
+      }
+    },
+    watch: {
+      addVisible: {
+        handler (val) {
+          if (val) {
+              this.init()
+          }
+        },
+        immediate: true
+      }
+    },
+    created () {
+		console.log('add create');
+      this.init(this.row)
+    },
+    methods: {
+      init(row) {
+        if (this.$refs['dataForm']) {
+          this.$refs['dataForm'].resetFields()
+        }
+        if (row !== undefined) {
+          this.dataForm.id = row.id
+          this.dataForm.name = row.name
+          
+        } else { 
+			this.dataForm.id = '' 
+		}
+      },
+      /* 鏌ヨ浣跨敤閮ㄩ棬*/
+      cancel  () {
+        this.$emit('close')
+      },
+      /* 鎻愪氦*/
+      dataFormSubmit() {
+        if (this.dataForm.id === '') { // 鏂板
+          deviceTypeCreate(this.dataForm).then(res => {
+            this.$message({
+              message: '鏂板鎴愬姛',
+              type: 'success',
+              duration: 1500,
+              onClose: () => {
+                this.$emit('confirm')
+                this.visible = false
+              }
+            })
+          })
+        } else {
+          deviceTypeUpdate(this.dataForm).then(res => {
+            this.$message({
+              message: '淇敼鎴愬姛',
+              type: 'success',
+              duration: 1500,
+              onClose: () => {
+                this.$emit('confirm')
+                this.visible = false
+              }
+            })
+          })
+        }
+      }
+    }
+  }
+</script>
+
+<style lang="scss">
+  .el-form-item__content {
+    .el-select,.el-input {
+      width: 100%;
+    }
+  }
+  .avatar-uploader .el-upload {
+    border: 1px dashed #d9d9d9;
+    border-radius: 6px;
+    cursor: pointer;
+    position: relative;
+    overflow: hidden;
+  }
+  .avatar-uploader .el-upload:hover {
+    border-color: #409EFF;
+  }
+  .avatar-uploader-icon {
+    font-size: 28px;
+    color: #8c939d;
+    width: 178px;
+    height: 178px;
+    line-height: 178px;
+    text-align: center;
+  }
+  .avatar {
+    width: 178px;
+    height: 178px;
+    display: block;
+  }
+</style>
diff --git a/src/container/devicemaintenance/index.vue b/src/container/devicemaintenance/index.vue
new file mode 100644
index 0000000..cbcaba9
--- /dev/null
+++ b/src/container/devicemaintenance/index.vue
@@ -0,0 +1,167 @@
+<!--
+ * @Date: 2024-01-06 17:40:19
+ * @LastEditors: Sneed
+ * @LastEditTime: 2024-01-14 14:11:17
+ * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/devicemaintenance/index.vue
+-->
+<template>
+    <div class="maintenance">
+        <div class="nav">鏈哄簥缁存姢</div>
+        <List ref="list" :url="url">
+            <template slot="search">
+                <div class="item">
+                    <span>鍚嶇О</span>
+					<el-input class="item-value" v-model="queryInfo.name"></el-input>
+                </div>
+                <div class="item">
+                    <el-button type="primary" size="small" @click="query">鏌ヨ</el-button>
+                </div>
+                <div class="item">
+                    <el-button type="primary" size="small" @click="reset">閲嶇疆</el-button>
+                </div>
+            </template>
+			
+			<template slot="table-tool">
+                <el-button type="primary" size="mini" @click="add">娣诲姞璁惧绫诲瀷</el-button>
+            </template>
+			
+            <template slot="columns">
+				<el-table-column
+                    prop="id"
+                    label="ID"
+                    width="180">
+                </el-table-column>
+                <el-table-column
+                    prop="name"
+                    label="鍚嶇О"
+                    width="180">
+                </el-table-column>
+                
+            </template>
+			
+        </List>
+		<manage-add-update v-if="addOrUpdateVisible" :addVisible="addOrUpdateVisible" @close="close" @confirm="confirm"
+             :row="row"></manage-add-update>
+    </div>
+</template>
+<script>
+    import List from '../list/index.vue'
+	import ManageAddUpdate from './Manage-add-update'
+    import { getUrl } from '@/api/Api'
+    export default {
+        components: {
+            List,
+			ManageAddUpdate
+        },
+        data () {
+            return {
+                url: '',
+                queryInfo: {
+                    name: ''
+                },
+				row: {},
+				addOrUpdateVisible: false
+            }
+        },
+        created () {
+            this.url = getUrl('machineQuery')
+        },
+        methods: {
+            reset () {
+                Object.keys(this.queryInfo).forEach(key => {
+                    this.queryInfo[key] = ''
+                })
+            },
+            query () {
+                this.$refs.list.pageQuery(this.queryInfo)
+            },
+			add() {
+				this.row = {id:''}
+				this.addOrUpdateVisible = true
+				
+			},
+			close() {
+				this.addOrUpdateVisible = false
+			},
+			confirm() {
+				this.query()
+				this.close()
+			},
+			addOrUpdateHandle(row) {
+				this.row = row
+				this.addOrUpdateVisible = true
+			}
+            
+        },
+    }
+</script>
+<style lang="scss">
+.maintenance {
+    .item-value {
+        .el-input__inner {
+            background: transparent;
+            border-radius: 2px;
+            border: 1px solid #435F9E;
+        }
+    }
+    .el-button--mini {
+        background: transparent;
+    }
+    .el-button--primary {
+        background-color: transparent;
+    }
+}
+</style>
+<style lang="scss" scoped>
+.maintenance {
+    width: 100%;
+    height: 100%;
+    overflow: hidden;
+    color: #FFF;
+    display: flex;
+    flex-direction: column;
+
+    .nav {
+        padding: 10px 30px;
+    }
+
+    .item {
+        margin-top: 20px;
+        margin-left: 50px;
+        display: flex;
+        align-items: center;
+
+        span {
+            width: 120px;
+            font-size: 16px;
+            font-family: PingFangSC, PingFang SC;
+            color: #C6DCE0;
+            text-align: right;
+            padding-right: 20px;
+        }
+
+        .item-value {
+            width: 200px;
+            border: 1px solid #435F9E;
+        }
+
+        .btn {
+            line-height: 1.5;
+            width: 100px;
+            text-align: center;
+            font-size: 16px;
+            cursor: pointer;
+        }
+
+        .reset {
+            background: #AAB6BA;
+            color: #FFF;
+        }
+
+        .query {
+            background: #5DD1FC;
+            color: #FFF;
+        }
+    }
+}
+</style>
\ No newline at end of file
diff --git a/src/container/home/index.vue b/src/container/home/index.vue
index 9f25d86..d341892 100644
--- a/src/container/home/index.vue
+++ b/src/container/home/index.vue
@@ -50,6 +50,7 @@
                         <ul v-if="showSub">
                             <li @click="navigateTo('ledger')">鍙拌处</li>
                             <li @click="navigateTo('deviceType')">璁惧绫诲瀷绠$悊</li>
+                            <!-- <li @click="navigateTo('devicemaintenance')">鏈哄簥缁存姢</li> -->
                         </ul>
                     </li>
                 </ul>
@@ -95,7 +96,8 @@
                 7: 'component',
                 ledger: 'ledger',
                 deviceType: 'deviceType',
-                preview: 'preview'
+                preview: 'preview',
+                devicemaintenance: 'devicemaintenance'
             }
             
             if (['3','4','5','8'].includes(name)) {
diff --git a/src/container/ledger/index.vue b/src/container/ledger/index.vue
index 209e42b..749b994 100644
--- a/src/container/ledger/index.vue
+++ b/src/container/ledger/index.vue
@@ -1,7 +1,7 @@
 <!--
  * @Date: 2024-01-06 17:40:19
  * @LastEditors: Sneed
- * @LastEditTime: 2024-01-13 22:13:17
+ * @LastEditTime: 2024-01-14 16:31:53
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/ledger/index.vue
 -->
 <template>
@@ -53,7 +53,8 @@
                 </div>
                 <div class="item">
                     <span>鎶曚骇鏃ユ湡</span>
-                    <el-date-picker class="item-value" format="yyyy-MM-dd" value-format="yyyy-MM-dd" v-model="queryInfo.productionDate" type="date" clearable placeholder="閫夋嫨鏃ユ湡"></el-date-picker>
+                    <el-date-picker class="item-value" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
+                        v-model="queryInfo.productionDate" type="date" clearable placeholder="閫夋嫨鏃ユ湡"></el-date-picker>
                 </div>
                 <div class="item">
                     <span>鐢熶骇鍘傚</span>
@@ -128,6 +129,7 @@
                 <el-table-column fixed="right" align="center" label="鎿嶄綔">
                     <template slot-scope="scope">
                         <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row)">缂栬緫</el-button>
+                        <el-button type="text" size="small" @click="del(scope.row)">鍒犻櫎</el-button>
                     </template>
                 </el-table-column>
             </template>
@@ -139,7 +141,7 @@
 </template>
 <script>
 import ManageAddUpdate from './Manage-add-update'
-import { getUseDpts } from '@/api/Api'
+import { getUseDpts, getRequest } from '@/api/Api'
 import List from '../list/index.vue'
 export default {
     components: {
@@ -218,7 +220,7 @@
         query() {
             this.$refs.list.pageQuery(this.queryInfo)
         },
-        reset () {
+        reset() {
             Object.keys(this.queryInfo).forEach(key => {
                 this.queryInfo[key] = ''
             })
@@ -237,6 +239,26 @@
         addOrUpdateHandle(row) {
             this.row = row
             this.addOrUpdateVisible = true
+        },
+        del(row) {
+            this.$confirm('纭畾瑕佹案涔呭垹闄ゆ椤�?', '鎻愮ず', {
+                confirmButtonText: '纭畾',
+                cancelButtonText: '鍙栨秷',
+                type: 'warning'
+            }).then(() => {
+                getRequest('accountDel', { ids: [row.id].join(',') }).then(res => {
+                    this.$message({
+                        type: 'success',
+                        message: '鍒犻櫎鎴愬姛锛�'
+                    })
+                    this.submitForm()
+                }).catch(() => {
+                    this.$message({
+                        type: 'info',
+                        message: '宸插彇娑堝垹闄�'
+                    })
+                })
+            })
         }
     },
 }
@@ -250,9 +272,11 @@
             border: 1px solid #435F9E;
         }
     }
+
     .el-button--mini {
         background: transparent;
     }
+
     .el-button--primary {
         background-color: transparent;
     }
diff --git a/src/container/maintenance/dailyMAdd.vue b/src/container/maintenance/dailyMAdd.vue
index 13ae2c0..3213798 100644
--- a/src/container/maintenance/dailyMAdd.vue
+++ b/src/container/maintenance/dailyMAdd.vue
@@ -7,37 +7,17 @@
         :visible.sync="dialogVisibleAdd" class="role-select">
          <!-- 鏌ヨ琛ㄥ崟 -->
         <el-form :model="dataForm" ref="dataForm" label-width="150px" style="margin-top:10px;">
-            <el-row :gutter="20">
-                <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
-                    <el-form-item label="缁熶竴缂栧彿" prop="uuid">
-                        <el-input type="text" v-model="dataForm.uuid" autocomplete="off"></el-input>
-                    </el-form-item>
-                </el-col>
+            <el-row :gutter="24">
                 <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
                     <el-form-item label="璁惧鍚嶇О" prop="machineName">
-                        <el-select v-model="dataForm.machineName" placeholder="---璇烽�夋嫨---">
+                        <el-select v-model="dataForm.machineId" placeholder="---璇烽�夋嫨---">
                             <el-option
-                            v-for="item in machineName"
+                            v-for="item in machineList"
                             :key="item.id"
-                            :label="item.label"
-                            :value="item.value">
+                            :label="item.name"
+                            :value="item.id">
                             </el-option>
                         </el-select>
-                    </el-form-item>
-                </el-col>
-                <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
-                    <el-form-item label="璁惧鍨嬪彿" prop="type">
-                        <el-input size="mini" type="text" v-model="dataForm.type"></el-input>
-                    </el-form-item>
-                </el-col>
-                <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
-                    <el-form-item label="璁惧瑙勬牸" prop="specification">
-                        <el-input size="mini" type="text" v-model="dataForm.specification" @input="getMachineInfo"></el-input>
-                    </el-form-item>
-                </el-col>
-                <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
-                    <el-form-item label="瀹夎鍦扮偣" prop="location">
-                        <el-input size="mini" type="text" v-model="dataForm.location"></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
@@ -56,32 +36,12 @@
                     <el-form-item label="淇濆吇鑰�" prop="maintainPerson">
                         <el-select v-model="dataForm.maintainPerson" placeholder="---璇烽�夋嫨---" clearable >
                             <el-option
-                            v-for="item in maintainPerson"
+                            v-for="item in userList"
                             :key="item.id"
                             :label="item.label"
                             :value="item.value">
                             </el-option>
                         </el-select>
-                    </el-form-item>
-                </el-col>
-                <!-- <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
-                    <el-form-item label="淇濆吇鍛ㄦ湡" prop="maintainPeriod">
-                        <el-input size="mini" type="text" v-model="dataForm.maintainPeriod"></el-input>
-                    </el-form-item>
-                </el-col>
-                <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
-                    <el-form-item label="鎶曚骇鏃ユ湡" prop="productionDate">
-                        <el-input size="mini" type="text" v-model="dataForm.productionDate"></el-input>
-                    </el-form-item>
-                </el-col>
-                <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
-                    <el-form-item label="鐢熶骇鍘傚" prop="manufacturer">
-                        <el-input size="mini" type="text" v-model="dataForm.manufacturer"></el-input>
-                    </el-form-item>
-                </el-col> -->
-                <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
-                    <el-form-item label="璁″垝鐘舵��" prop="planStatus">
-                        <el-input size="mini" type="text" v-model="dataForm.planStatus" readonly></el-input>
                     </el-form-item>
                 </el-col>
                 <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
@@ -97,32 +57,36 @@
                     </el-form-item>
                 </el-col>
                 <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
+                    <el-form-item label="淇濆吇鍐呭涓庡瓨鍦ㄩ棶棰�" prop="detail">
+                        <el-input size="mini" type="text" v-model="dataForm.detail"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
+                </el-col>
+                <el-col :xs="24":sm="10":md="10":lg="10":xl="10">
                     <el-form-item label="璁″垝寮�濮嬫棩鏈�" prop="planStartDate">
                         <el-date-picker
                         format="yyyy 骞� MM 鏈� dd 鏃�"
                         value-format="yyyy-MM-dd"
                         v-model="dataForm.planStartDate"
                         range-separator="鑷�"
+                        type="daterange"
                         start-placeholder="寮�濮嬫棩鏈�"
                         end-placeholder="缁撴潫鏃ユ湡">
                         </el-date-picker>
                     </el-form-item>
                 </el-col>
-                <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
+                <el-col :xs="24":sm="10":md="10":lg="10":xl="10">
                     <el-form-item label="璁″垝瀹屾垚鏃ユ湡" prop="planFinishDate">
                         <el-date-picker
                         format="yyyy 骞� MM 鏈� dd 鏃�"
                         value-format="yyyy-MM-dd"
                         v-model="dataForm.planFinishDate"
                         range-separator="鑷�"
+                        type="daterange"
                         start-placeholder="寮�濮嬫棩鏈�"
                         end-placeholder="缁撴潫鏃ユ湡">
                         </el-date-picker>
-                    </el-form-item>
-                </el-col>
-                <el-col :xs="24":sm="6":md="6":lg="6":xl="6">
-                    <el-form-item label="淇濆吇鍐呭涓庡瓨鍦ㄩ棶棰�" prop="detail">
-                        <el-input size="mini" type="text" v-model="dataForm.detail"></el-input>
                     </el-form-item>
                 </el-col>
             </el-row>
@@ -140,32 +104,18 @@
 import { getMachineList, maintainCreate, maintainUpdate, userList, departmentGet } from '@/api/MdcApi'
 import { getRequest } from '@/api/Api'
 export default {
-  props: ['styles', 'departmentlist'],
+  props: ['styles', 'departmentlist','machineList','userList'],
   data() {
     return {
       dataForm: {
-        style: '鏃ュ父淇濆吇',
-        state: 1,
-        machineName: '', // 璁惧鍚嶇О
-        uuid: '', // 鍚屾剰缂栫爜
-        type: '', // 璁惧绫诲瀷
-        specification: '', // 璁惧瑙勬牸
-        location: '', // 瀹夎浣嶇疆
-        department: '', // 浣跨敤鍗曚綅
-        maintainPerson: '', // 淇濆吇鑰�
-        productionDate: '', // 鎶曚骇鏃ユ湡
-        manufacturer: '', // 鐢熶骇鍘傚
-        planStatus: '1', // 璁″垝鐘舵��
-        isQualified: '鍚堟牸',
-        planStartDate: '',
-        planFinishDate: '',
-        detail: '' // 淇濆吇鍐呭涓庡瓨鍦ㄩ棶棰�
+        machineId: '',
+        department: '',
+        maintainPerson: '',
+        isQualified: '',
+        detail: '',
       },
       dialogVisibleAdd: false,
       // 涓嬫媺妗�
-      machineName: [], // 璁惧鍚嶇О
-      department: [], // 浣跨敤閮ㄩ棬
-      maintainPerson: [], // 璁惧鍚嶇О
       isQualified: [{ // 鏄惁鍚堟牸
         label: '鍚堟牸',
         value: '鍚堟牸'
@@ -183,42 +133,16 @@
     init(n, data) {
       this.data = data
       this.no = n
-      if (this.styles === '1') {
-        this.dataForm.style = '鏃ュ父淇濆吇'
-      } else if (this.styles === '2') {
-        this.dataForm.style = '涓�绾т繚鍏�'
-      } else if (this.styles === '3') {
-        this.dataForm.style = '浜岀骇淇濆吇'
-      } else {
-        this.dataForm.style = '涓夌骇淇濆吇'
-      }
       if (n === 1) {
-        this.title = '鏂板' + this.dataForm.style
-        this.dataForm.machineName = ''
-        this.dataForm.uuid = ''
-        this.dataForm.type = ''
-        this.dataForm.specification = ''
-        this.dataForm.location = ''
-        this.dataForm.department = ''
-        this.dataForm.maintainPerson = ''
-        this.dataForm.productionDate = ''
-        this.dataForm.manufacturer = ''
-        this.dataForm.planStartDate = ''
-        this.dataForm.planFinishDate = ''
-        this.dataForm.isQualified = '鍚堟牸'
-        this.dataForm.detail = ''
+        this.title = '鏂板' + this.style
+        Object.keys(this.dataForm).forEach(key => {
+          this.dataForm[key] = ''
+        })
       } else {
-        this.title = '淇敼' + this.dataForm.styles
-        this.dataForm.machineName = this.data.machineName
-        this.dataForm.uuid = this.data.uuid
-        this.dataForm.type = this.data.type
-        this.dataForm.specification = this.data.specification
-        this.dataForm.location = this.data.location
-        this.dataForm.department = this.data.department
-        this.dataForm.maintainPerson = this.data.userName
-        this.dataForm.isQualified = this.data.isQualified === '0' ? '涓嶅悎鏍�' : '鍚堟牸'
-        this.dataForm.manufacturer = this.data.manufacturer
-        this.dataForm.detail = this.data.detail
+        this.title = '淇敼' + this.style
+        Object.keys(this.dataForm).forEach(key => {
+          this.dataForm[key] = data[key]
+        })
       }
       this.dialogVisibleAdd = true
       this.machineName = []
@@ -235,48 +159,65 @@
       const completeDateTo = this.dataForm.planFinishDate[1]
       const isQualified = this.dataForm.isQualified === '鍚堟牸' ? 1 : 0
       if (this.no === 1) {
-        getRequest('maintainCreate',{})
-        // maintainCreate(
-        //   this.styles, this.dataForm.uuid, this.dataForm.machineName, this.dataForm.type,
-        //   this.dataForm.specification, this.dataForm.department, this.dataForm.location,
-        //   startDateFrom, startDateTo, completeDateFrom, completeDateTo, isQualified,
-        //   this.dataForm.state, this.dataForm.detail
-        // ).then(res => {
-        //   if (res.result === 'SUCCESS') {
-        //     this.$message({
-        //       type: 'success',
-        //       message: '淇濆瓨鎴愬姛!'
-        //     })
-        //     this.$emit('reflash')
-        //     // const that = this
-        //     this.dialogVisibleAdd = false
-        //   } else {
-        //     this.$message({
-        //       type: 'error',
-        //       message: res.result
-        //     })
-        //   }
-        // })
+        console.log({
+          ...this.dataForm,
+          startDateFrom,
+          startDateTo,
+          completeDateFrom,
+          completeDateTo,
+          isQualified,
+          styles: this.style
+        })
+        // return
+        getRequest('maintainCreate',{
+          ...this.dataForm,
+          startDateFrom,
+          startDateTo,
+          completeDateFrom,
+          completeDateTo,
+          isQualified,
+          styles: this.style
+        }).then(res => {
+          if (res.result === 'SUCCESS') {
+            this.$message({
+              type: 'success',
+              message: '淇濆瓨鎴愬姛!'
+            })
+            this.$emit('reflash')
+            // const that = this
+            this.dialogVisibleAdd = false
+          } else {
+            this.$message({
+              type: 'error',
+              message: res.result
+            })
+          }
+        })
       } else {
-        getRequest('maintainUpdate',{})
-        // 淇敼淇濆瓨
-        // maintainUpdate(this.styles, this.data.id, this.dataForm.uuid, this.dataForm.machineName, this.dataForm.type,
-        //   this.dataForm.specification, this.dataForm.department, this.dataForm.location,
-        //   startDateFrom, startDateTo, completeDateFrom, completeDateTo, isQualified,
-        //   this.dataForm.state, this.dataForm.detail).then(res => {
-        //   if (res.result === 'SUCCESS') {
-        //     this.$message({
-        //       type: 'success',
-        //       message: '淇濆瓨鎴愬姛!'
-        //     })
-        //     this.$emit('reflash')
-        //   } else {
-        //     this.$message({
-        //       type: 'error',
-        //       message: res.result
-        //     })
-        //   }
-        // })
+        getRequest('maintainUpdate',{
+          ...this.dataForm,
+          startDateFrom,
+          startDateTo,
+          completeDateFrom,
+          completeDateTo,
+          isQualified,
+          styles: this.style
+        }).then(res => {
+          if (res.result === 'SUCCESS') {
+            this.$message({
+              type: 'success',
+              message: '淇濆瓨鎴愬姛!'
+            })
+            this.$emit('reflash')
+            // const that = this
+            this.dialogVisibleAdd = false
+          } else {
+            this.$message({
+              type: 'error',
+              message: res.result
+            })
+          }
+        })
       }
     },
     /**
@@ -288,7 +229,7 @@
     }
   },
   created() {
-    this.initDevices()
+    // this.initDevices()
   }
 }
 </script>
diff --git a/src/container/maintenance/index.vue b/src/container/maintenance/index.vue
index 539be65..e861d9e 100644
--- a/src/container/maintenance/index.vue
+++ b/src/container/maintenance/index.vue
@@ -1,7 +1,7 @@
 <!--
  * @Date: 2024-01-06 17:40:19
  * @LastEditors: Sneed
- * @LastEditTime: 2024-01-13 22:13:21
+ * @LastEditTime: 2024-01-14 16:13:57
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/maintenance/index.vue
 -->
 <template>
@@ -16,18 +16,18 @@
                 <div class="item">
                     <span>璁惧鍚嶇О</span>
                     <el-select class="item-value" v-model="queryInfo.machineName" placeholder="璇烽�夋嫨">
-                        <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
+                        <el-option v-for="item in machineList" :key="item.id" :label="item.name" :value="item.id">
                         </el-option>
                     </el-select>
                 </div>
-                <div class="item">
+                <!-- <div class="item">
                     <span>璁惧鍨嬪彿</span>
                     <el-input class="item-value" v-model="queryInfo.type"></el-input>
                 </div>
                 <div class="item">
                     <span>璁惧瑙勬牸</span>
                     <el-input class="item-value" v-model="queryInfo.specification"></el-input>
-                </div>
+                </div> -->
                 <div class="item">
                     <span>浣跨敤閮ㄩ棬</span>
                     <el-select class="item-value" v-model="queryInfo.department">
@@ -35,10 +35,10 @@
                         </el-option>
                     </el-select>
                 </div>
-                <div class="item">
+                <!-- <div class="item">
                     <span>瀹夎浣嶇疆</span>
                     <el-input class="item-value" v-model="queryInfo.location"></el-input>
-                </div>
+                </div> -->
                 <div class="item">
                     <span>璁″垝寮�濮嬫棩鏈�</span>
                     <el-date-picker class="item-value" v-model="queryInfo.planStartDate" align="right" type="date" placeholder="閫夋嫨鏃ユ湡">
@@ -65,8 +65,8 @@
                 align="center"
                 width="55">
             </el-table-column> -->
-                <el-table-column align="center" label="缁熶竴缂栧彿" prop="uuid">
-                </el-table-column>
+                <!-- <el-table-column align="center" label="缁熶竴缂栧彿" prop="uuid">
+                </el-table-column> -->
                 <el-table-column align="center" label="璁惧鍚嶇О" width="150" :show-overflow-tooltip="true" prop="machineName">
                 </el-table-column>
                 <el-table-column align="center" label="璁惧鍨嬪彿" prop="type">
@@ -113,12 +113,13 @@
                 </el-table-column>
             </template>
         </List>
-        <DailyMAddD ref="dailyMAddD" @reflash="submitForm" :departmentlist="departmentlist"></DailyMAddD>
+        <DailyMAddD ref="dailyMAddD" @reflash="submitForm" :style="navName" :departmentlist="departmentlist" :machineList="machineList" :userList="userList"></DailyMAddD>
     </div>
 </template>
 <script>
 import List from '../list/index.vue'
 import { getUseDpts,getRequest } from '@/api/Api'
+import { userList } from '@/api/MdcApi'
 import DailyMAddD from './dailyMAdd.vue'
 export default {
     components: {
@@ -134,7 +135,8 @@
     data() {
         return {
             departmentlist: [],
-            options: [],
+            userList: [],
+            machineList: [],
             queryInfo: {
                 uuid: '',
                 machineName: '',
@@ -163,6 +165,15 @@
                     }
                 })
             })
+            getRequest('machineList', {
+            }).then(res => {
+                this.machineList = res.data.list
+                console.log(res)
+            })
+            getRequest('userList', {
+            }).then(res => {
+                this.userList = res.data.list
+            })
         },
         query() {
             this.$refs.list.pageQuery(this.queryInfo)
diff --git a/src/container/workshop/device.vue b/src/container/workshop/device.vue
index f383439..dc86674 100644
--- a/src/container/workshop/device.vue
+++ b/src/container/workshop/device.vue
@@ -1,7 +1,7 @@
 <!--
  * @Date: 2024-01-13 20:46:33
  * @LastEditors: Sneed
- * @LastEditTime: 2024-01-13 23:35:27
+ * @LastEditTime: 2024-01-14 13:18:54
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/workshop/device.vue
 -->
 <template>
@@ -20,21 +20,21 @@
                 <li>
                     <img src="./img/sd.png" alt="">
                     <div>
-                        <p>{{ item.cycleCount || 0 }}</p>
+                        <p>{{ efficiency}}</p>
                         <p>鑳藉姏鍒╃敤鐜�</p>
                     </div>
                 </li>
                 <li>
                     <img src="./img/sd.png" alt="">
                     <div>
-                        <p>{{ item.cycleCount || 0 }}</p>
+                        <p>{{ utilizationDaily}}</p>
                         <p>鏃ュ埄鐢ㄧ巼</p>
                     </div>
                 </li>
                 <li>
                     <img src="./img/sd.png" alt="">
                     <div>
-                        <p>{{ item.cycleCount || 0 }}</p>
+                        <p>{{ info.cycleCount}}</p>
                         <p>瀹屽伐浠舵暟</p>
                     </div>
                 </li>
@@ -45,17 +45,38 @@
 <script>
 import { getRequest,getUrl } from '@/api/Api'
 export default {
-    props: ['id'],
+    props: {
+        id: {
+            type: [String,Number]
+        },
+        info: {
+            type: Object,
+            default: function () {
+                return {}
+            }
+        }
+    },
     data () {
         return {
             care: false,
             item: {}
         }
     },
+    computed: {
+        efficiency () {
+            return this.info.efficiency || 0
+        },
+        utilizationDaily () {
+            return this.info.utilizationDaily || 0
+        },
+        cycleCount () {
+            return this.info.cycleCount || 0
+        }
+    },
     methods: {
         change (val) {
             console.log(val)
-            getRequest('machineConcern',{concern: val ? 1 : 0,id: this.item.id}).then(res => {
+            getRequest('machineConcern',{concern: val ? 1 : 0,id: this.id}).then(res => {
                 console.log(res)
             })
         },
diff --git a/src/container/workshop/index.vue b/src/container/workshop/index.vue
index 3cca9b9..8683a22 100644
--- a/src/container/workshop/index.vue
+++ b/src/container/workshop/index.vue
@@ -1,7 +1,7 @@
 <!--
  * @Date: 2024-01-06 17:40:19
  * @LastEditors: Sneed
- * @LastEditTime: 2024-01-13 22:38:31
+ * @LastEditTime: 2024-01-14 13:24:19
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/workshop/index.vue
 -->
 <template>
@@ -12,9 +12,9 @@
             <div class="right">
                 <Status class="right-status" :info="info" style="justify-content: flex-start;">
                     <template slot="before">
-                        <div style="margin-right: 200px;">
-                            <el-button type="primary" size="mini" :class="concernFlag === 0 ? 'active' : ''"
-                                @click="query(0)">鍏ㄩ儴</el-button>
+                        <div style="margin-right: auto;">
+                            <el-button type="primary" size="mini" :class="concernFlag === '' ? 'active' : ''"
+                                @click="query('')">鍏ㄩ儴</el-button>
                             <el-button type="primary" size="mini" :class="concernFlag === 1 ? 'active' : ''"
                                 @click="query(1)">鍏虫敞</el-button>
                             <!-- <el-button type="primary" size="mini" style="margin-right: auto;">鎴戠殑鍏虫敞</el-button> -->
@@ -28,7 +28,7 @@
                 </Status>
                 <div class="list-box">
                     <div class="list">
-                        <Item v-for="item in list" :id="item.id" :key="item.id"></Item>
+                        <Item v-for="item in list" :id="item.id" :info="item" :key="item.id"></Item>
                     </div>
                 </div>
 
@@ -49,7 +49,7 @@
     },
     data() {
         return {
-            concernFlag: 0,
+            concernFlag: '',
             searchWord: '',
             list: [],
             info: {
diff --git a/src/router/index.js b/src/router/index.js
index 5676a18..b418573 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -69,6 +69,11 @@
         component: () => import('@/container/deviceType/index')
       },
       {
+        path: 'devicemaintenance',
+        name: 'devicemaintenance',
+        component: () => import('@/container/devicemaintenance/index')
+      },
+      {
         path: 'preview',
         name: 'preview',
         component: () => import('@/container/preview/index')

--
Gitblit v1.9.3