Sfoglia il codice sorgente

员工管理页面的制作

xiaoming_global 5 anni fa
parent
commit
74f854b6d4

+ 2 - 1
src/lang/en.js Vedi File

@@ -109,7 +109,8 @@ export default {
109 109
     RescueRecord: 'Rescue Record',
110 110
     special_permission_manage: 'Special Permission Manage',
111 111
     schedule_print: 'Print Schudule',
112
-    dialysis_batch_print: 'Batch Print Order'
112
+    dialysis_batch_print: 'Batch Print Order',
113
+    systemsetting:'Systemsetting'
113 114
   },
114 115
   navbar: {
115 116
     logOut: 'Log Out',

+ 3 - 2
src/lang/zh.js Vedi File

@@ -157,8 +157,9 @@ export default {
157 157
     salesReturnDetail: '退货单详情',
158 158
     stockOutDetail: '出库单详情',
159 159
     cancelStockDetail: '退库单详情',
160
-    stockDetail: '出入库明细查询'
161
-
160
+    stockDetail: '出入库明细查询',
161
+    systemsetting:'系统设置',
162
+    staffmanagement:'员工管理'
162 163
   },
163 164
   navbar: {
164 165
     logOut: '退出登录',

+ 3 - 1
src/router/index.js Vedi File

@@ -10,6 +10,7 @@ import role from './modules/role'
10 10
 import article from './modules/article'
11 11
 import member from './modules/member'
12 12
 import org from './modules/org'
13
+import system from './modules/system';
13 14
 
14 15
 /** note: submenu only apppear when children.length>=1
15 16
  *   detail see  https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
@@ -73,7 +74,8 @@ var _asy_router_map = [
73 74
   member,
74 75
   article,
75 76
   org,
76
-  role
77
+  role,
78
+  system
77 79
 ]
78 80
 
79 81
 var is_asy_router = process.env.NODE_ENV === 'production' // true; 设置为 true 强制进行路由验证

+ 21 - 0
src/router/modules/system.js Vedi File

@@ -0,0 +1,21 @@
1
+import Layout from '@/views/layout/Layout'
2
+
3
+export default{
4
+    alwaysShow: true,
5
+    path: '/Systemsetting',
6
+    component: Layout,
7
+    redirect: 'noredirect',
8
+    name: 'Systemsetting',
9
+    meta: {
10
+        title: 'systemsetting',
11
+        icon: 'peoples'
12
+      },
13
+      children: [
14
+        {
15
+          path: '/Systemsetting/staffmanagement',
16
+          component: () => import('@/scrm_pages/Systemsetting/staffmanagement'),
17
+          name: 'memberslist',
18
+          meta: { title: 'staffmanagement', noCache: true }
19
+        },
20
+      ]  
21
+}

+ 4 - 0
src/scrm_pages/article/articleList.vue Vedi File

@@ -34,6 +34,10 @@
34 34
             <el-button size="small" icon="el-icon-delete" @click="batchDelete">删除</el-button>
35 35
           </div>
36 36
           <el-table ref="multipleTable" :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}" :data="tableData" border fit highlight-current-row  style="width: 100%;margin-top: 10px;">
37
+              <el-table-column
38
+                type="selection"
39
+                width="55">
40
+              </el-table-column> 
37 41
              <el-table-column label="文章图片" align="center">
38 42
                <template slot-scope="scope">
39 43
 

+ 11 - 11
src/scrm_pages/article/createArticle.vue Vedi File

@@ -9,7 +9,7 @@
9 9
       <el-tab-pane label="文章">
10 10
         <el-form label-width="80px" class="clearfix" :model="form" ref="form"  :element-loading-text="loadingText">
11 11
           <el-row>
12
-            <el-col :span="24">
12
+            <el-col :span="23">
13 13
                 <el-form-item label="文章标题:">
14 14
                     <el-input v-model="form.act_name"  placeholder="文章标题"></el-input>
15 15
                 </el-form-item>
@@ -28,7 +28,7 @@
28 28
               <el-form-item prop="org_log">
29 29
                 <el-col :span="3">
30 30
                   <div>
31
-                    <el-upload  
31
+                    <el-upload
32 32
                       v-loading="uploading"
33 33
                       :element-loading-text="loadingText"
34 34
                       class="avatar-uploader"
@@ -45,7 +45,7 @@
45 45
                 </el-col>
46 46
                 <el-col :span="3">
47 47
                   <div v-if="show">
48
-                    <el-upload  
48
+                    <el-upload
49 49
                       v-loading="guploading"
50 50
                       :element-loading-text="loadingText"
51 51
                       class="avatar-uploader"
@@ -62,7 +62,7 @@
62 62
                 </el-col>
63 63
                 <el-col :span="3">
64 64
                   <div v-if="show">
65
-                    <el-upload  
65
+                    <el-upload
66 66
                       v-loading="uploading"
67 67
                       :element-loading-text="loadingText"
68 68
                       class="avatar-uploader"
@@ -266,7 +266,7 @@
266 266
         if (!isLt2M) {
267 267
           this.$message.error('上传头像图片大小不能超过 2MB!');
268 268
         }
269
-        
269
+
270 270
             var date = new Date()
271 271
             var ext = getFileExtension(file.name)
272 272
             var key = date.getFullYear() + (date.getMonth() + 1) + date.getDate() + date.getHours()  + date.getMinutes()  + date.getSeconds()  +'_o_' + file.uid + '.' + ext;
@@ -286,7 +286,7 @@
286 286
                     this.uploading = false;
287 287
                 })
288 288
             })
289
-        
289
+
290 290
           //return isJPG && isLt2M;
291 291
       },
292 292
       //第二个图片
@@ -310,7 +310,7 @@
310 310
         if (!isLt2M) {
311 311
           this.$message.error('上传头像图片大小不能超过 2MB!');
312 312
         }
313
-        
313
+
314 314
             var date = new Date()
315 315
             var ext = getFileExtension(file.name)
316 316
             var key = date.getFullYear() + (date.getMonth() + 1) + date.getDate() + date.getHours()  + date.getMinutes()  + date.getSeconds()  +'_o_' + file.uid + '.' + ext;
@@ -330,10 +330,10 @@
330 330
                     this.uploading = false;
331 331
                 })
332 332
             })
333
-        
333
+
334 334
           //return isJPG && isLt2M;
335 335
       },
336
-      
336
+
337 337
       //第三张图片
338 338
       //第二个图片
339 339
       handleAvatarlastSuccess(res, file) {
@@ -356,7 +356,7 @@
356 356
         if (!isLt2M) {
357 357
           this.$message.error('上传头像图片大小不能超过 2MB!');
358 358
         }
359
-        
359
+
360 360
             var date = new Date()
361 361
             var ext = getFileExtension(file.name)
362 362
             var key = date.getFullYear() + (date.getMonth() + 1) + date.getDate() + date.getHours()  + date.getMinutes()  + date.getSeconds()  +'_o_' + file.uid + '.' + ext;
@@ -376,7 +376,7 @@
376 376
                     this.uploading = false;
377 377
                 })
378 378
             })
379
-        
379
+
380 380
           //return isJPG && isLt2M;
381 381
       },
382 382
 

+ 262 - 0
src/scrm_pages/systemsetting/staffmanagement.vue Vedi File

@@ -0,0 +1,262 @@
1
+<template>
2
+  <div class="main-contain">
3
+    <div class="position">
4
+      <bread-crumb :crumbs='crumbs'></bread-crumb>
5
+       <el-button  style="float:right;" type="primary" size="small" icon="el-icon-circle-plus-outline" @click="centerDialogVisible = true" >添加员工</el-button>
6
+    </div>
7
+    <div class="app-container">
8
+         <div>
9
+             <el-row :gutter="24">
10
+                <el-col :span="8">
11
+                  <el-input style="width: 300px"  placeholder="请输入您需要搜索的内容"></el-input>
12
+                  <el-button type="primary"  icon="el-icon-search" @click="changeKey">搜索</el-button>
13
+                </el-col>
14
+             </el-row>
15
+         </div>
16
+         <div class="filter-container" style="margin-top: 10px;margin-left: 5px">
17
+            <el-checkbox style="width: 30px" v-model="checked" @change="changeAllSelected">全选</el-checkbox>
18
+            <el-button size="small" icon="el-icon-delete" @click="batchDelete">删除</el-button>
19
+          </div>
20
+              <el-table ref="multipleTable" :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}" :data="tableData" border fit highlight-current-row  style="width: 100%;margin-top: 10px;">
21
+              <el-table-column
22
+                type="selection"
23
+                width="55">
24
+              </el-table-column>
25
+              <el-table-column label="员工" align="center">
26
+               <template slot-scope="scope">
27
+
28
+               </template>
29
+             </el-table-column>
30
+            <el-table-column label="职称" align="center">
31
+              <template slot-scope="scope">
32
+
33
+              </template>
34
+            </el-table-column>
35
+            <el-table-column label="介绍" align="center">
36
+              <template slot-scope="scope">
37
+
38
+              </template>
39
+            </el-table-column>
40
+            <el-table-column label="手机号" align="center">
41
+              <template slot-scope="scope">
42
+
43
+              </template>
44
+            </el-table-column>
45
+            <el-table-column label="创建时间" align="center">
46
+              <template slot-scope="scope">
47
+
48
+              </template>
49
+            </el-table-column>
50
+            <el-table-column label="操作" align="center">
51
+              <template slot-scope="scope">
52
+                <el-tooltip class="item" effect="dark" content="编辑" placement="top">
53
+                  <el-button
54
+                    size="mini"
55
+                    type="primary"
56
+                    icon="el-icon-edit-outline"
57
+                    >
58
+                  </el-button>
59
+                  </el-tooltip>
60
+              </template>
61
+            </el-table-column>
62
+          </el-table>
63
+          <el-pagination
64
+            @size-change="handleSizeChange"
65
+            @current-change="handleCurrentChange"
66
+            :page-sizes="[10,20,50,100]"
67
+            :page-size="10"
68
+            background
69
+            style="margin-top:20px;float: right"
70
+            layout="total, sizes, prev, pager, next, jumper"
71
+            :total="total">
72
+          </el-pagination>
73
+
74
+          <el-dialog
75
+              title="添加会员"
76
+              :visible.sync="centerDialogVisible"
77
+              width="50%"
78
+              center>
79
+              <el-form label-width="80px" class="clearfix" :model="form" ref="form">
80
+                 <el-row>
81
+                   <el-col :span="12">
82
+                      <el-form-item label="姓名:">
83
+                           <el-input placeholder="请输入姓名">
84
+
85
+                           </el-input>
86
+                      </el-form-item>
87
+                   </el-col>
88
+                   <el-col :span="12">
89
+                     <el-form-item label="手机号:">
90
+                       <el-input placeholder="请输入手机号">
91
+
92
+                       </el-input>
93
+                     </el-form-item>
94
+                   </el-col>
95
+                 </el-row>
96
+                <el-row>
97
+                   <el-col :span="12">
98
+                       <el-form-item label="性别:">
99
+                         <el-radio v-model="radio" label="1">男</el-radio>
100
+                         <el-radio v-model="radio" label="2">女</el-radio>
101
+                       </el-form-item>
102
+                   </el-col>
103
+                  <el-col :span="12">
104
+                    <el-form-item label="生日:">
105
+                          <el-time-select
106
+                            v-model="value"
107
+                            :picker-options="{
108
+                              start: '08:30',
109
+                              step: '00:15',
110
+                              end: '18:30'}"
111
+                            placeholder="选择时间">
112
+                        </el-time-select>
113
+                    </el-form-item>
114
+                  </el-col>
115
+                </el-row>
116
+                <el-row>
117
+                    <el-col :span="8">
118
+                        <el-form-item label="员工职称:">
119
+                          <template>
120
+                            <el-select v-model="value1" multiple placeholder="请选择">
121
+                              <el-option
122
+                                v-for="item in options"
123
+                                :key="item.value"
124
+                                :label="item.label"
125
+                                :value="item.value">
126
+                              </el-option>
127
+                            </el-select>
128
+                          </template>
129
+                        </el-form-item>
130
+                    </el-col>
131
+                  <el-col :span="6">
132
+                      <template>
133
+                        <el-select v-model="value2" multiple placeholder="请选择">
134
+                          <el-option
135
+                            v-for="item in options"
136
+                            :key="item.value"
137
+                            :label="item.label"
138
+                            :value="item.value">
139
+                          </el-option>
140
+                        </el-select>
141
+                      </template>
142
+                  </el-col>
143
+                  <el-col :span="4">
144
+                      <el-form-item label="医生头像:">
145
+                        <el-upload
146
+                          class="avatar-uploader"
147
+                          action="https://jsonplaceholder.typicode.com/posts/"
148
+                          :show-file-list="false"
149
+                          :on-success="handleAvatarSuccess"
150
+                          :before-upload="beforeAvatarUpload">
151
+                          <img v-if="imageUrl" :src="imageUrl" class="avatar">
152
+                          <i v-else class="el-icon-plus avatar-uploader-icon"></i>
153
+                        </el-upload>
154
+                      </el-form-item>
155
+                    </el-col>
156
+                </el-row>
157
+                 <el-row>
158
+                     <el-col :span="24">
159
+                         <el-form-item label="医生简介:">
160
+                           <keep-alive>
161
+                             <neditor ref="neditor"
162
+                                      id="editor">
163
+                             </neditor>
164
+                           </keep-alive>
165
+                         </el-form-item>
166
+                     </el-col>
167
+                 </el-row>
168
+              </el-form>
169
+              <span slot="footer" class="dialog-footer">
170
+              <el-button @click="centerDialogVisible = false">取 消</el-button>
171
+              <el-button type="primary" @click="centerDialogVisible = false">确 定</el-button>
172
+               </span>
173
+          </el-dialog>
174
+
175
+    </div>
176
+  </div>
177
+</template>
178
+
179
+<script>
180
+  import BreadCrumb from '../components/bread-crumb'
181
+  import Neditor from '@/components/Neditor'
182
+  export default {
183
+    name: 'articleComment',
184
+    components:{
185
+      BreadCrumb,
186
+      Neditor,
187
+    },
188
+    data(){
189
+      return{
190
+        crumbs: [
191
+          { path: false, name: '系统设置' },
192
+          { path: '/Systemsetting/staffmanagement', name: '员工管理' }
193
+        ],
194
+         centerDialogVisible: false,
195
+          radio: '1',
196
+          value: '',
197
+          options: [{
198
+          value: '选项1',
199
+          label: '黄金糕'
200
+        }, {
201
+          value: '选项2',
202
+          label: '双皮奶'
203
+        }, {
204
+          value: '选项3',
205
+          label: '蚵仔煎'
206
+        }, {
207
+          value: '选项4',
208
+          label: '龙须面'
209
+        }, {
210
+          value: '选项5',
211
+          label: '北京烤鸭'
212
+        }],
213
+        value1: [],
214
+        value2: [],
215
+        imageUrl: ''
216
+      }
217
+    },
218
+    methods: {
219
+      handleAvatarSuccess(res, file) {
220
+        this.imageUrl = URL.createObjectURL(file.raw);
221
+      },
222
+      beforeAvatarUpload(file) {
223
+        const isJPG = file.type === 'image/jpeg';
224
+        const isLt2M = file.size / 1024 / 1024 < 2;
225
+
226
+        if (!isJPG) {
227
+          this.$message.error('上传头像图片只能是 JPG 格式!');
228
+        }
229
+        if (!isLt2M) {
230
+          this.$message.error('上传头像图片大小不能超过 2MB!');
231
+        }
232
+        return isJPG && isLt2M;
233
+      }
234
+    }
235
+  }
236
+</script>
237
+
238
+<style scoped>
239
+    .avatar-uploader{
240
+      border: 1px solid #d9d9d9;
241
+      border-radius: 1px;
242
+      cursor: pointer;
243
+      position: relative;
244
+      overflow: hidden;
245
+    }
246
+    .avatar-uploader{
247
+      border-color: #d9d9d9;
248
+    }
249
+    .avatar-uploader-icon {
250
+      font-size: 20px;
251
+      color: #8c939d;
252
+      width: 65px;
253
+      height: 50px;
254
+      line-height: 50px;
255
+      text-align: center;
256
+    }
257
+    .avatar {
258
+      width: 50px;
259
+      height: 50px;
260
+      display: block;
261
+    }
262
+</style>