wangfei 6 年前
父节点
当前提交
b48b70df6c

+ 50
- 23
src/pages/system/caseManager/deviceManager/add.vue 查看文件

@@ -2,27 +2,40 @@
2 2
   <div class="subPage">
3 3
     <form class="mainForm">
4 4
       <ul>
5
+         <li class="flex-h">
6
+          <span>选择案场:</span>
7
+          <div class="flex-item">
8
+            <div style="width:50%">
9
+              <el-select v-model="Case" placeholder="请选择">
10
+                <el-option
11
+                  v-for="item in cases"
12
+                  :key="item.CaseId"
13
+                  :label="item.CaseName"
14
+                  :value="item.CaseId">
15
+                </el-option>
16
+              </el-select>
17
+            </div>
18
+          </div>
19
+        </li>
5 20
         <li class="flex-h">
6
-          <span>角色名称:</span>
21
+          <span>设备名称:</span>
7 22
           <div class="flex-item">
8 23
             <div style="width:50%">
9 24
               <el-input
10
-                placeholder="请输入角色名称"
11
-                v-model="detail.RoleName"
25
+                placeholder="请输入设备名称"
26
+                v-model="detail.Name"
12 27
                 clearable>
13 28
               </el-input>
14 29
             </div>
15 30
           </div>
16 31
         </li>
17 32
         <li class="flex-h">
18
-          <span>备注:</span>
33
+          <span>设备Code:</span>
19 34
           <div class="flex-item">
20
-            <div>
35
+            <div style="width:50%">
21 36
               <el-input
22
-                placeholder="请输入备注"
23
-                type="textarea"
24
-                :autosize="{ minRows: 3, maxRows: 5}"
25
-                v-model="detail.Remark"
37
+                placeholder="请输入设备Code"
38
+                v-model="detail.EquipmentCode"
26 39
                 clearable>
27 40
               </el-input>
28 41
             </div>
@@ -40,7 +53,7 @@
40 53
 <script>
41 54
 import { createNamespacedHelpers, mapState } from 'vuex'
42 55
 
43
-const { mapState: mapRoleState, mapActions: mapRoleActions } = createNamespacedHelpers('role')
56
+const { mapState: mapDeviceState, mapActions: mapDeviceActions } = createNamespacedHelpers('device')
44 57
 export default {
45 58
   name: '',
46 59
   data () {
@@ -48,29 +61,43 @@ export default {
48 61
   },
49 62
   components: {},
50 63
   computed: {
51
-    ...mapRoleState({
52
-      detail: x => x.roleInfo,
64
+    ...mapDeviceState({
65
+      detail: x => x.deviceInfo,
53 66
     }),
54 67
     ...mapState({
68
+      cases: x => x.app.cases.list,
55 69
       caseid: x => x.app.cases.default,
56 70
       orgid: x => x.app.user.OrgId,
57
-    })
71
+    }),
72
+    Case: {
73
+      get () {
74
+        return this.detail.CaseId || this.caseid
75
+      },
76
+      set (val) {
77
+        this.detail.CaseId = val
78
+      }
79
+    }
58 80
   },
59 81
   methods: {
60
-    ...mapRoleActions([
61
-      'GetRoleByID',
62
-      'AddRole',
63
-      'UpdateRole',
64
-      'SetRoleNull',
82
+    ...mapDeviceActions([
83
+      'GetDeviceByID',
84
+      'AddDevice',
85
+      'UpdateDevice',
86
+      'SetDeviceNull',
65 87
     ]),
66 88
     submit () {
67
-      if ((this.detail.RoleId || '') === '') {
89
+      if ((this.detail.EquipmentId || '') === '') {
68 90
         this.detail.CaseId = this.caseid
69 91
         this.detail.OrgId = this.orgid
70
-        this.AddRole(this.detail)
92
+        this.AddDevice(this.detail)
71 93
       } else {
72
-        this.UpdateRole(this.detail)
94
+        this.UpdateDevice(this.detail)
73 95
       }
96
+      this.$message({
97
+        type: 'success',
98
+        message: '操作成功'
99
+      })
100
+      this.$router.push({ name: 'deviceManager' })
74 101
     },
75 102
     cancel () {
76 103
       this.$router.go(-1)
@@ -79,9 +106,9 @@ export default {
79 106
   beforeMount () {
80 107
     const { id } = this.$route.query
81 108
     if (id && id !== '') {
82
-      this.GetRoleByID({ roleid: id })
109
+      this.GetDeviceByID({ deviceid: id })
83 110
     } else {
84
-      this.SetRoleNull()
111
+      this.SetDeviceNull()
85 112
     }
86 113
   }
87 114
 }

+ 26
- 81
src/pages/system/caseManager/deviceManager/index.vue 查看文件

@@ -3,15 +3,19 @@
3 3
     <div class="system-table-search">
4 4
       <div class="flex-h">
5 5
         <div class="flex-item flex-h">
6
-          <el-button size="mini" type="success" @click='addRole'>新增角色</el-button>
6
+          <el-button size="mini" type="success" @click='addRole'>新增体检设备</el-button>
7 7
         </div>
8
-        <tableSearch value='角色名称' @exportSearchKey="searchList"></tableSearch>
9 8
       </div>
10 9
       <div class="moreFilter"></div>
11 10
     </div>
12 11
     <div class="system-table-box">
13
-      <el-table :data="roles.list" stripe style="width: 100%">
14
-        <el-table-column prop="RoleName" label="角色名">
12
+      <el-table :data="list.list" stripe style="width: 100%">
13
+        <el-table-column label="案场名称">
14
+          <template slot-scope="scope">
15
+            <label>{{GetCaseName(scope.row.CaseId)}}</label>
16
+          </template>
17
+        </el-table-column>
18
+        <el-table-column prop="Name" label="体检设备名称">
15 19
         </el-table-column>
16 20
         <el-table-column label="创建时间" width="300">
17 21
           <template slot-scope="scope">
@@ -22,7 +26,6 @@
22 26
           <template slot-scope="scope">
23 27
             <el-button size="mini" type="warning" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
24 28
             <el-button size="mini" type="danger" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
25
-            <el-button size="mini" type="success" @click="handlePermission(scope.$index, scope.row)">分配权限</el-button>
26 29
           </template>
27 30
         </el-table-column>
28 31
       </el-table>
@@ -33,72 +36,42 @@
33 36
     :current-page.sync="currentPage"
34 37
     :page-size="10"
35 38
     layout="prev, pager, next, jumper"
36
-    :total="roles.pagenum">
39
+    :total="list.pagenum">
37 40
     </el-pagination>
38
-    <el-dialog title="请选择菜单" :visible.sync="dialogTableVisible">
39
-      <el-tree
40
-        v-if="dialogTableVisible"
41
-        class="flxe-h"
42
-        :data="menus"
43
-        node-key="id"
44
-        :default-expand-all="true"
45
-        :default-checked-keys="defaultChecked"
46
-        ref="tree"
47
-        show-checkbox
48
-        @node-click="handleNodeClick"></el-tree>
49
-        <div class="flex-h" style="justify-content: flex-end;margin-top: 1rem">
50
-          <el-button type='success' @click="getCheckedNodes">确定</el-button>
51
-        </div>
52
-    </el-dialog>
53 41
   </div>
54 42
 </template>
55 43
 
56 44
 <script>
57 45
 import { createNamespacedHelpers, mapState } from 'vuex'
58
-import tableSearch from '@/components/tableSearch/index'
59 46
 
60
-const { mapState: mapRoleState, mapActions: mapRoleActions } = createNamespacedHelpers('role')
47
+const { mapState: mapDeviceState, mapActions: mapDeviceActions } = createNamespacedHelpers('device')
61 48
 
62 49
 export default {
63 50
   name: '',
64 51
   data () {
65 52
     return {
66 53
       currentPage: 0, // 当前页码
67
-      key: '',
68
-      selid: '',
69
-      dialogTableVisible: false,
70 54
     }
71 55
   },
72 56
   computed: {
73
-    ...mapRoleState({
74
-      roles: x => x.roleList,
75
-      roleMenus: x => x.roleMenus,
76
-    }),
77 57
     ...mapState({
78
-      menus: x => x.app.menus
58
+      cases: x => x.app.cases.list,
59
+    }),
60
+    ...mapDeviceState({
61
+      list: x => x.deviceList,
79 62
     }),
80
-    defaultChecked: {
81
-      get () {
82
-        const sels = (this.roleMenus || []).map(x => x.MenuId)
83
-        console.log(sels)
84
-        return sels
85
-      },
86
-    },
87
-  },
88
-  components: {
89
-    tableSearch
90 63
   },
91 64
   methods: {
92
-    ...mapRoleActions([
93
-      'GetRolesList',
94
-      'DelRole',
95
-      'SaveRoleMenus',
96
-      'GetRoleMenu',
65
+    ...mapDeviceActions([
66
+      'GetDeviceList',
67
+      'DelDevice',
97 68
     ]),
98 69
     FormatDate (date) {
99
-      console.log()
100 70
       return this.toolClass.dateFormat(date)
101 71
     },
72
+    GetCaseName (caseid) {
73
+      return ((this.cases.filter(x => x.CaseId === caseid) || [])[0] || {}).CaseName
74
+    },
102 75
     handleSizeChange (val) {
103 76
       console.log(`每页 ${val} 条`)
104 77
     },
@@ -107,18 +80,18 @@ export default {
107 80
     },
108 81
     handleEdit (index, row) {
109 82
       // 编辑
110
-      this.$router.push({ name: 'editRole', query: { id: row.RoleId } })
83
+      this.$router.push({ name: 'editDevice', query: { id: row.EquipmentId } })
111 84
     },
112 85
     handleDelete (index, row) {
113 86
       // 删除
114 87
       console.log(index, row)
115
-      this.$confirm('确认删除此角色?', '提示', {
88
+      this.$confirm('确认删除此设备?', '提示', {
116 89
         confirmButtonText: '确定',
117 90
         cancelButtonText: '取消',
118 91
         type: 'warning'
119 92
       })
120 93
         .then(() => {
121
-          this.DelRole({id: row.RoleId, callback: this.delCallBack})
94
+          this.DelDevice({id: row.EquipmentId, callback: this.delCallBack})
122 95
         })
123 96
         .catch(() => {
124 97
           this.$message({
@@ -132,42 +105,14 @@ export default {
132 105
         type: 'success',
133 106
         message: '删除成功!'
134 107
       })
135
-      this.GetRolesList({name: this.key})
136
-    },
137
-    handlePermission (index, row) {
138
-      this.selid = row.RoleId
139
-      this.GetRoleMenu({id: this.selid})
140
-      this.dialogTableVisible = true
141
-    },
142
-    handleNodeClick (node) {
143
-      console.log(node)
144
-    },
145
-    searchList (key) {
146
-      this.key = key
147
-      this.GetRolesList({name: this.key})
108
+      this.GetDeviceList()
148 109
     },
149 110
     addRole () {
150
-      this.$router.push({ name: 'editRole' })
151
-    },
152
-    getCheckedNodes () { // 获取选中的节点
153
-      const menuids = this.$refs.tree.getCheckedNodes().map(x => x.id).join(',')
154
-      console.log(menuids)
155
-      this.SaveRoleMenus({
156
-        id: this.selid,
157
-        menuids: menuids,
158
-        callback: this.hideDialog,
159
-      })
160
-    },
161
-    hideDialog () {
162
-      this.$message({
163
-        type: 'success',
164
-        message: '操作成功!'
165
-      })
166
-      this.dialogTableVisible = false
111
+      this.$router.push({ name: 'editDevice' })
167 112
     },
168 113
   },
169 114
   beforeMount () {
170
-    this.GetRolesList()
115
+    this.GetDeviceList()
171 116
   },
172 117
 }
173 118
 </script>

+ 2
- 2
src/pages/system/page.js 查看文件

@@ -12,8 +12,8 @@ import caseManager from './caseManager/index' // 案场管理
12 12
 import caseInfo from './caseManager/caseInfo/index' // 案场信息
13 13
 import addCase from './caseManager/caseInfo/addCase/index' // 新增案场
14 14
 import editCase from './caseManager/caseInfo/editCase/index' // 新增案场
15
-import deviceManager from './caseManager/caseInfo/deviceManager/index' // 体检设备
16
-import editDevice from './caseManager/caseInfo/deviceManager/add' // 添加体检设备
15
+import deviceManager from './caseManager/deviceManager/index' // 体检设备
16
+import editDevice from './caseManager/deviceManager/add' // 添加体检设备
17 17
 import pplConcerned from './caseManager/caseInfo/pplConcerned/index' // 相关人员
18 18
 import editPPLConcerned from './caseManager/caseInfo/pplConcerned/editPPLConcerned/index' // 编辑相关人员
19 19
 import keyManager from './caseManager/keyManager/index' // 钥匙管理

+ 5
- 0
src/pages/system/systemSet/roleManager/add.vue 查看文件

@@ -71,6 +71,11 @@ export default {
71 71
       } else {
72 72
         this.UpdateRole(this.detail)
73 73
       }
74
+      this.$message({
75
+        type: 'success',
76
+        message: '操作成功'
77
+      })
78
+      this.$router.push({ name: 'roleManager' })
74 79
     },
75 80
     cancel () {
76 81
       this.$router.go(-1)

+ 69
- 0
src/store/case/device.js 查看文件

@@ -0,0 +1,69 @@
1
+import ajax from '../../util/ajax'
2
+import api from '../../util/api'
3
+
4
+export default {
5
+  namespaced: true,
6
+  state: {
7
+    deviceList: [],
8
+    deviceInfo: {},
9
+  },
10
+  mutations: {
11
+    updateList (state, payload) {
12
+      state.deviceList = payload || []
13
+    },
14
+    updateInfo (state, payload) {
15
+      state.deviceInfo = payload || {}
16
+    },
17
+  },
18
+  actions: {
19
+    GetDeviceList ({ commit }) {
20
+      ajax(api.device.list.url, {
21
+        method: api.device.list.method,
22
+      }).then(res => {
23
+        commit('updateList', res)
24
+      })
25
+    },
26
+    GetDeviceByID ({ commit }, { deviceid }) {
27
+      ajax(api.device.info.url, {
28
+        method: api.device.info.method,
29
+        urlData: {
30
+          id: deviceid,
31
+        }
32
+      }).then(res => {
33
+        commit('updateInfo', res)
34
+      })
35
+    },
36
+    AddDevice ({ commit }, payload) {
37
+      ajax(api.device.add.url, {
38
+        method: api.device.add.method,
39
+        data: {
40
+          ...payload
41
+        }
42
+      }).then(res => {
43
+        commit('updateInfo', res)
44
+      })
45
+    },
46
+    UpdateDevice ({ commit }, payload) {
47
+      ajax(api.device.update.url, {
48
+        method: api.device.update.method,
49
+        data: {
50
+          ...payload
51
+        }
52
+      }).then(res => {
53
+      })
54
+    },
55
+    DelDevice ({ commit }, { id, callback }) {
56
+      ajax(api.device.delete.url, {
57
+        method: api.device.delete.method,
58
+        urlData: {
59
+          id: id,
60
+        }
61
+      }).then(res => {
62
+        callback()
63
+      })
64
+    },
65
+    SetDeviceNull ({ commit }) {
66
+      commit('updateInfo', {})
67
+    },
68
+  }
69
+}

+ 1
- 0
src/store/index.js 查看文件

@@ -16,6 +16,7 @@ export const modules = {
16 16
   app: () => require('./app').default,
17 17
   cms: () => require('./cms').default,
18 18
   role: () => require('./system/role').default,
19
+  device: () => require('./case/device').default,
19 20
 }
20 21
 
21 22
 Object.keys(modules).forEach((modKey) => {

+ 22
- 0
src/util/api.js 查看文件

@@ -383,5 +383,27 @@ const $api = {
383 383
       url: `${baseUrl}${common}/customer`
384 384
     }
385 385
   },
386
+  device: {
387
+    list: {
388
+      method: 'get',
389
+      url: `${baseUrl}${common}/case/equipment`
390
+    },
391
+    info: {
392
+      method: 'get',
393
+      url: `${baseUrl}${common}/case/equipment/:id`
394
+    },
395
+    add: {
396
+      method: 'post',
397
+      url: `${baseUrl}${common}/case/equipment`
398
+    },
399
+    update: {
400
+      method: 'put',
401
+      url: `${baseUrl}${common}/case/equipment`
402
+    },
403
+    delete: {
404
+      method: 'delete',
405
+      url: `${baseUrl}${common}/case/equipment/:id`
406
+    },
407
+  }
386 408
 }
387 409
 export default $api