See999 5 years ago
parent
commit
4e585a722c

+ 132 - 60
src/router/modules/stock.js View File

13
   },
13
   },
14
   children: [
14
   children: [
15
     {
15
     {
16
-      path: "/stock/",
16
+      path: "/warehouseReceipt/",
17
       component: Layout,
17
       component: Layout,
18
-      redirect: "noredirect",
18
+      redirect: "/stock/in",
19
       name: "warehouseReceipt",
19
       name: "warehouseReceipt",
20
+      parentNum: 1,
20
       meta: {
21
       meta: {
21
         isChild: true,
22
         isChild: true,
22
         title: "warehouseReceipt"
23
         title: "warehouseReceipt"
23
-      },
24
-      children: [
25
-        {
26
-          path: "/stock/in",
27
-          component: () => import("@/xt_pages/stock/stockInOrder"),
28
-          name: "stockInOrder",
29
-          meta: { title: "stockInOrder", noCache: true }
30
-        },
31
-        {
32
-          path: "/stock/return",
33
-          component: () => import("@/xt_pages/stock/salesReturnOrder"),
34
-          name: "salesReturnOrder",
35
-          meta: { title: "salesReturnOrder", noCache: true }
36
-        },
37
-        {
38
-          path: "/stock/out",
39
-          component: () => import("@/xt_pages/stock/stockOutOrder"),
40
-          name: "stockOutOrder",
41
-          meta: { title: "stockOutOrder", noCache: true }
42
-        },
43
-        {
44
-          path: "/stock/cancel",
45
-          component: () => import("@/xt_pages/stock/cancelStockOrder"),
46
-          name: "cancelStockOrder",
47
-          meta: { title: "cancelStockOrder", noCache: true }
48
-        }
49
-      ]
50
-    },
51
-    {
52
-      path: "stock/",
24
+      }
25
+    },
26
+    {
27
+      path: "/warehouseReceiptOther/",
53
       component: Layout,
28
       component: Layout,
54
-      redirect: "noredirect",
29
+      redirect: "/stock/in/other",
55
       name: "warehouseReceiptOther",
30
       name: "warehouseReceiptOther",
31
+      parentNum: 2,
56
       meta: {
32
       meta: {
57
         isChild: true,
33
         isChild: true,
58
         title: "warehouseReceiptOther"
34
         title: "warehouseReceiptOther"
59
-      },
60
-      children: [
61
-        {
62
-          path: "/stock/in/other",
63
-          component: () => import("@/xt_pages/stock/otherStockInOrder"),
64
-          name: "otherStockInOrder",
65
-          meta: { title: "otherStockInOrder", noCache: true }
66
-        },
67
-        {
68
-          path: "/stock/return/other",
69
-          component: () => import("@/xt_pages/stock/otherSalesReturnOrder"),
70
-          name: "otherSalesReturnOrder",
71
-          meta: { title: "otherSalesReturnOrder", noCache: true }
72
-        },
73
-        {
74
-          path: "/stock/out/other",
75
-          component: () => import("@/xt_pages/stock/otherStockOutOrder"),
76
-          name: "otherStockOutOrder",
77
-          meta: { title: "otherStockOutOrder", noCache: true }
78
-        },
79
-        {
80
-          path: "/stock/cancel/other",
81
-          component: () => import("@/xt_pages/stock/otherCancelStockOrder"),
82
-          name: "otherCancelStockOrder",
83
-          meta: { title: "otherCancelStockOrder", noCache: true }
84
-        }
85
-      ]
35
+      }
36
+    },
37
+    {
38
+      path: "/stock/in",
39
+      component: () => import("@/xt_pages/stock/stockInOrder"),
40
+      name: "stockInOrder",
41
+      hidden: true,
42
+      is_menu: false,
43
+      num: 1,
44
+      meta: { title: "stockInOrder", noCache: true }
45
+    },
46
+    {
47
+      path: "/stock/return",
48
+      component: () => import("@/xt_pages/stock/salesReturnOrder"),
49
+      name: "salesReturnOrder",
50
+      hidden: true,
51
+      is_menu: false,
52
+      num: 1,
53
+      meta: { title: "salesReturnOrder", noCache: true }
54
+    },
55
+    {
56
+      path: "/stock/out",
57
+      component: () => import("@/xt_pages/stock/stockOutOrder"),
58
+      name: "stockOutOrder",
59
+      hidden: true,
60
+      is_menu: false,
61
+      num: 1,
62
+      meta: { title: "stockOutOrder", noCache: true }
63
+    },
64
+    {
65
+      path: "/stock/cancel",
66
+      component: () => import("@/xt_pages/stock/cancelStockOrder"),
67
+      name: "cancelStockOrder",
68
+      hidden: true,
69
+      is_menu: false,
70
+      num: 1,
71
+      meta: { title: "cancelStockOrder", noCache: true }
72
+    },
73
+    {
74
+      path: "/stock/in/other",
75
+      component: () => import("@/xt_pages/stock/otherStockInOrder"),
76
+      name: "otherStockInOrder",
77
+      hidden: true,
78
+      is_menu: false,
79
+      num: 2,
80
+      meta: { title: "otherStockInOrder", noCache: true }
86
     },
81
     },
82
+    {
83
+      path: "/stock/return/other",
84
+      component: () => import("@/xt_pages/stock/otherSalesReturnOrder"),
85
+      name: "otherSalesReturnOrder",
86
+      hidden: true,
87
+      is_menu: false,
88
+      num: 2,
89
+      meta: { title: "otherSalesReturnOrder", noCache: true }
90
+    },
91
+    {
92
+      path: "/stock/out/other",
93
+      component: () => import("@/xt_pages/stock/otherStockOutOrder"),
94
+      name: "otherStockOutOrder",
95
+      hidden: true,
96
+      is_menu: false,
97
+      num: 2,
98
+      meta: { title: "otherStockOutOrder", noCache: true }
99
+    },
100
+    {
101
+      path: "/stock/cancel/other",
102
+      component: () => import("@/xt_pages/stock/otherCancelStockOrder"),
103
+      name: "otherCancelStockOrder",
104
+      hidden: true,
105
+      is_menu: false,
106
+      num: 2,
107
+      meta: { title: "otherCancelStockOrder", noCache: true }
108
+    },
109
+    // {
110
+    //   path: "/stock/",
111
+    //   component: Layout,
112
+    //   redirect: "noredirect",
113
+    //   name: "warehouseReceipt",
114
+    //   meta: {
115
+    //     isChild: true,
116
+    //     title: "warehouseReceipt"
117
+    //   },
118
+    //   children: [
119
+
120
+    //   ]
121
+    // },
122
+
123
+    // {
124
+    //   path: "stock/",
125
+    //   component: Layout,
126
+    //   redirect: "noredirect",
127
+    //   name: "warehouseReceiptOther",
128
+    //   meta: {
129
+    //     isChild: true,
130
+    //     title: "warehouseReceiptOther"
131
+    //   },
132
+    //   children: [
133
+    //     {
134
+    //       path: "/stock/in/other",
135
+    //       component: () => import("@/xt_pages/stock/otherStockInOrder"),
136
+    //       name: "otherStockInOrder",
137
+    //       meta: { title: "otherStockInOrder", noCache: true }
138
+    //     },
139
+    //     {
140
+    //       path: "/stock/return/other",
141
+    //       component: () => import("@/xt_pages/stock/otherSalesReturnOrder"),
142
+    //       name: "otherSalesReturnOrder",
143
+    //       meta: { title: "otherSalesReturnOrder", noCache: true }
144
+    //     },
145
+    //     {
146
+    //       path: "/stock/out/other",
147
+    //       component: () => import("@/xt_pages/stock/otherStockOutOrder"),
148
+    //       name: "otherStockOutOrder",
149
+    //       meta: { title: "otherStockOutOrder", noCache: true }
150
+    //     },
151
+    //     {
152
+    //       path: "/stock/cancel/other",
153
+    //       component: () => import("@/xt_pages/stock/otherCancelStockOrder"),
154
+    //       name: "otherCancelStockOrder",
155
+    //       meta: { title: "otherCancelStockOrder", noCache: true }
156
+    //     }
157
+    //   ]
158
+    // },
87
     {
159
     {
88
       path: "/stock/query",
160
       path: "/stock/query",
89
       component: () => import("@/xt_pages/stock/stockQuery"),
161
       component: () => import("@/xt_pages/stock/stockQuery"),

+ 1 - 1
src/views/layout/components/Sidebar/SidebarItem.vue View File

51
             </el-menu-item>
51
             </el-menu-item>
52
           </router-link>
52
           </router-link>
53
 
53
 
54
-          <router-link v-else :to="child.children[0].path" :key="child.name">
54
+          <router-link v-else :to="child.path" :key="child.name">
55
             <el-menu-item :index="resolvePath(child.path)">
55
             <el-menu-item :index="resolvePath(child.path)">
56
               <svg-icon v-if="child.meta && child.meta.icon" :icon-class="child.meta.icon"></svg-icon>
56
               <svg-icon v-if="child.meta && child.meta.icon" :icon-class="child.meta.icon"></svg-icon>
57
               <span v-if="child.meta && child.meta.title" slot="title">
57
               <span v-if="child.meta && child.meta.title" slot="title">

+ 1 - 1
src/views/layout/components/Sidebar/index.vue View File

18
       active-text-color="#409EFF"
18
       active-text-color="#409EFF"
19
     >-->
19
     >-->
20
     <div class="logo">
20
     <div class="logo">
21
-      <img src="/static/img/logo.8dbb9fd.png" alt />
21
+      <img src="../../../../assets/logo/logo.png" alt />
22
     </div>
22
     </div>
23
     <el-menu
23
     <el-menu
24
       mode="vertical"
24
       mode="vertical"

+ 3 - 2
src/views/layout/components/TagsView.vue View File

92
     //   }
92
     //   }
93
     // },
93
     // },
94
     index(newVal) {
94
     index(newVal) {
95
+      if (this.newIndex != newVal) {
96
+        this.activeClass = 0;
97
+      }
95
       this.newIndex = this.index;
98
       this.newIndex = this.index;
96
     }
99
     }
97
   },
100
   },
98
   mounted() {
101
   mounted() {
99
-    console.log(111111122111118379487239847, this.permission_routers);
100
-    console.log(this.permission_routers);
101
     // this.addViewTags();
102
     // this.addViewTags();
102
   },
103
   },
103
   methods: {
104
   methods: {

+ 84 - 0
src/xt_pages/role/components/UserManagement.vue View File

1
+<template>
2
+  <el-dialog class="userDialog" title="用户管理" width="660px" :visible.sync="visible">
3
+    <div class="userManagement">
4
+      <el-table
5
+        :row-style="{ color: '#303133' }"
6
+        :header-cell-style="{
7
+          backgroundColor: 'rgb(245, 247, 250)',
8
+          color: '#606266'
9
+        }"
10
+        style="width:100%;"
11
+        ref="table"
12
+        border
13
+        :data="data"
14
+      >
15
+        <el-table-column type="selection" label="禁用" width="55"></el-table-column>
16
+        <el-table-column prop="name" label="员工姓名" width="120">
17
+          <template slot-scope="scope"></template>
18
+        </el-table-column>
19
+        <el-table-column prop="date" label="登录账号" width="120">
20
+          <template slot-scope="scope"></template>
21
+        </el-table-column>
22
+        <el-table-column prop="date" label="最后登录时间" width="180">
23
+          <template slot-scope="scope"></template>
24
+        </el-table-column>
25
+        <el-table-column label="操作" width="130">
26
+          <template slot-scope="scope" style="text-align: center">
27
+            <el-tooltip class="item" effect="dark" content="编辑" placement="top">
28
+              <el-button type="primary" icon="el-icon-edit-outline" size="small"></el-button>
29
+            </el-tooltip>
30
+            <!-- </router-link> -->
31
+            <el-tooltip class="item" effect="dark" content="移除" placement="top">
32
+              <el-button type="danger" size="small" icon="el-icon-delete"></el-button>
33
+            </el-tooltip>
34
+          </template>
35
+        </el-table-column>
36
+      </el-table>
37
+    </div>
38
+  </el-dialog>
39
+</template>
40
+
41
+
42
+<script>
43
+export default {
44
+  data() {
45
+    return {
46
+      visible: false,
47
+      data: [
48
+        {
49
+          date: "2016-05-03",
50
+          name: "王小虎",
51
+          address: "上海市普陀区金沙江路 1518 弄"
52
+        },
53
+        {
54
+          date: "2016-05-03",
55
+          name: "王小虎",
56
+          address: "上海市普陀区金沙江路 1518 弄"
57
+        }
58
+      ]
59
+    };
60
+  },
61
+  methods: {
62
+    show() {
63
+      this.visible = true;
64
+    }
65
+  }
66
+};
67
+</script>
68
+
69
+<style lang="scss" scoped>
70
+.userManagement {
71
+  .cell {
72
+    text-align: center;
73
+  }
74
+}
75
+</style>
76
+
77
+
78
+<style lang="scss">
79
+.userManagement {
80
+  .cell {
81
+    text-align: center;
82
+  }
83
+}
84
+</style>

+ 18 - 33
src/xt_pages/role/role.vue View File

8
         icon="el-icon-circle-plus"
8
         icon="el-icon-circle-plus"
9
         style="float:right;"
9
         style="float:right;"
10
         @click="addRoleAction"
10
         @click="addRoleAction"
11
-        >新增</el-button
12
-      >
11
+      >新增</el-button>
13
     </div>
12
     </div>
14
     <div class="app-container">
13
     <div class="app-container">
15
       <!-- <el-table
14
       <!-- <el-table
85
         </el-col>
84
         </el-col>
86
       </el-row>-->
85
       </el-row>-->
87
 
86
 
88
-      <edit-role
89
-        ref="edit_role"
90
-        @did-add-role="didAddRole"
91
-        @did-edit-role="didModifyRole"
92
-      ></edit-role>
87
+      <edit-role ref="edit_role" @did-add-role="didAddRole" @did-edit-role="didModifyRole"></edit-role>
93
       <permission-settings ref="permission_settings"></permission-settings>
88
       <permission-settings ref="permission_settings"></permission-settings>
89
+      <user-management ref="user_management"></user-management>
94
 
90
 
95
       <div class="roleTitle">
91
       <div class="roleTitle">
96
         <i class="el-icon-warning warn"></i>
92
         <i class="el-icon-warning warn"></i>
97
-        <p>
98
-          根据员工的职能选择角色,然后新增账号,可以自定义角色,进行权限配置
99
-        </p>
93
+        <p>根据员工的职能选择角色,然后新增账号,可以自定义角色,进行权限配置</p>
100
       </div>
94
       </div>
101
       <div class="roleBox">
95
       <div class="roleBox">
102
         <div class="roleOne">
96
         <div class="roleOne">
108
             <img src="../../assets/img/pc1.png" alt />
102
             <img src="../../assets/img/pc1.png" alt />
109
             <p class="avatarname">子管理员</p>
103
             <p class="avatarname">子管理员</p>
110
           </div>
104
           </div>
111
-          <div class="roleTip">
112
-            子管理员角色具备平台全部功能的使用权限,请谨慎配置...
113
-          </div>
105
+          <div class="roleTip">子管理员角色具备平台全部功能的使用权限,请谨慎配置...</div>
114
           <div class="roleTxt">
106
           <div class="roleTxt">
115
             该角色目前已配置
107
             该角色目前已配置
116
             <span style="color:#4A8AF3">0</span> 个员工
108
             <span style="color:#4A8AF3">0</span> 个员工
117
           </div>
109
           </div>
118
           <div class="btnBox">
110
           <div class="btnBox">
119
             <el-button>新增用户</el-button>
111
             <el-button>新增用户</el-button>
120
-            <el-button>用户管理</el-button>
112
+            <el-button @click="onClick1">用户管理</el-button>
121
           </div>
113
           </div>
122
         </div>
114
         </div>
123
         <div class="roleOne">
115
         <div class="roleOne">
129
             <img src="../../assets/img/pc2.png" alt />
121
             <img src="../../assets/img/pc2.png" alt />
130
             <p class="avatarname">医生</p>
122
             <p class="avatarname">医生</p>
131
           </div>
123
           </div>
132
-          <div class="roleTip">
133
-            医生角色能够进行建立患者档案,制定和调整患者透析治疗方案,定期评价病人的透析质量等...
134
-          </div>
124
+          <div class="roleTip">医生角色能够进行建立患者档案,制定和调整患者透析治疗方案,定期评价病人的透析质量等...</div>
135
           <div class="roleTxt">
125
           <div class="roleTxt">
136
             该角色目前已配置
126
             该角色目前已配置
137
             <span style="color:#4A8AF3">0</span> 个员工
127
             <span style="color:#4A8AF3">0</span> 个员工
150
             <img src="../../assets/img/pc3.png" alt />
140
             <img src="../../assets/img/pc3.png" alt />
151
             <p class="avatarname">护士</p>
141
             <p class="avatarname">护士</p>
152
           </div>
142
           </div>
153
-          <div class="roleTip">
154
-            护士角色能够进行病人透析管理,以及医院的感染控制与消毒记录等...
155
-          </div>
143
+          <div class="roleTip">护士角色能够进行病人透析管理,以及医院的感染控制与消毒记录等...</div>
156
           <div class="roleTxt">
144
           <div class="roleTxt">
157
             该角色目前已配置
145
             该角色目前已配置
158
             <span style="color:#4A8AF3">0</span> 个员工
146
             <span style="color:#4A8AF3">0</span> 个员工
171
             <img src="../../assets/img/pc7.png" alt />
159
             <img src="../../assets/img/pc7.png" alt />
172
             <p class="avatarname">技师</p>
160
             <p class="avatarname">技师</p>
173
           </div>
161
           </div>
174
-          <div class="roleTip">
175
-            技师角色能够进行设备的管理,日常维护维修记录等...
176
-          </div>
162
+          <div class="roleTip">技师角色能够进行设备的管理,日常维护维修记录等...</div>
177
           <div class="roleTxt">
163
           <div class="roleTxt">
178
             该角色目前已配置
164
             该角色目前已配置
179
             <span style="color:#4A8AF3">0</span> 个员工
165
             <span style="color:#4A8AF3">0</span> 个员工
192
             <img src="../../assets/img/pc6.png" alt />
178
             <img src="../../assets/img/pc6.png" alt />
193
             <p class="avatarname">运营</p>
179
             <p class="avatarname">运营</p>
194
           </div>
180
           </div>
195
-          <div class="roleTip">
196
-            运营角色能够在SCRM中管理微网站、使用营销工具、做会员管理和分销商品经营的操作...
197
-          </div>
181
+          <div class="roleTip">运营角色能够在SCRM中管理微网站、使用营销工具、做会员管理和分销商品经营的操作...</div>
198
           <div class="roleTxt">
182
           <div class="roleTxt">
199
             该角色目前已配置
183
             该角色目前已配置
200
             <span style="color:#4A8AF3">0</span> 个员工
184
             <span style="color:#4A8AF3">0</span> 个员工
213
             <img src="../../assets/img/pc4.png" alt />
197
             <img src="../../assets/img/pc4.png" alt />
214
             <p class="avatarname">库存</p>
198
             <p class="avatarname">库存</p>
215
           </div>
199
           </div>
216
-          <div class="roleTip">
217
-            库存角色负责透析耗材的日常管理,对耗材的入库、出库、退库的登记操作...
218
-          </div>
200
+          <div class="roleTip">库存角色负责透析耗材的日常管理,对耗材的入库、出库、退库的登记操作...</div>
219
           <div class="roleTxt">
201
           <div class="roleTxt">
220
             该角色目前已配置
202
             该角色目前已配置
221
             <span style="color:#4A8AF3">0</span> 个员工
203
             <span style="color:#4A8AF3">0</span> 个员工
234
             <img src="../../assets/img/pc5.png" alt />
216
             <img src="../../assets/img/pc5.png" alt />
235
             <p class="avatarname">院长</p>
217
             <p class="avatarname">院长</p>
236
           </div>
218
           </div>
237
-          <div class="roleTip">
238
-            院长角色了解血透患者血液透析质量和相关的大数据,以及掌握透析中心整体运营情况
239
-          </div>
219
+          <div class="roleTip">院长角色了解血透患者血液透析质量和相关的大数据,以及掌握透析中心整体运营情况</div>
240
           <div class="roleTxt">
220
           <div class="roleTxt">
241
             该角色目前已配置
221
             该角色目前已配置
242
             <span style="color:#4A8AF3">0</span> 个员工
222
             <span style="color:#4A8AF3">0</span> 个员工
254
 <script>
234
 <script>
255
 import EditRole from "./components/EditRole.vue";
235
 import EditRole from "./components/EditRole.vue";
256
 import PermissionSettings from "./components/PermissionSettings.vue";
236
 import PermissionSettings from "./components/PermissionSettings.vue";
237
+import UserManagement from "./components/UserManagement.vue";
257
 import { getRoles, setRoleStatus } from "@/api/role/role";
238
 import { getRoles, setRoleStatus } from "@/api/role/role";
258
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
239
 import BreadCrumb from "@/xt_pages/components/bread-crumb";
259
 
240
 
261
   components: {
242
   components: {
262
     EditRole,
243
     EditRole,
263
     BreadCrumb,
244
     BreadCrumb,
264
-    PermissionSettings
245
+    PermissionSettings,
246
+    UserManagement
265
   },
247
   },
266
   data: function() {
248
   data: function() {
267
     return {
249
     return {
384
 
366
 
385
     onClick() {
367
     onClick() {
386
       this.$refs.permission_settings.show();
368
       this.$refs.permission_settings.show();
369
+    },
370
+    onClick1() {
371
+      this.$refs.user_management.show();
387
     }
372
     }
388
   }
373
   }
389
 };
374
 };