张延森 пре 6 година
родитељ
комит
499dd221d4
5 измењених фајлова са 94 додато и 45 уклоњено
  1. 19
    1
      src/store/modules/sysuser.js
  2. 2
    2
      src/views/content/list.vue
  3. 9
    9
      src/views/index.js
  4. 39
    25
      src/views/sysuser/edit.vue
  5. 25
    8
      src/views/sysuser/list.vue

+ 19
- 1
src/store/modules/sysuser.js Прегледај датотеку

@@ -9,7 +9,25 @@ export default {
9 9
     detail: {
10 10
       status: 1,
11 11
       isSales: 1,
12
-    }
12
+    },
13
+    identityDict: [
14
+      {
15
+        label: '迎宾保安',
16
+        value: 'first-usher',
17
+      },
18
+      {
19
+        label: '迎宾前台',
20
+        value: 'main-usher',
21
+      },
22
+      {
23
+        label: '置业顾问',
24
+        value: 'consultant',
25
+      },
26
+      {
27
+        label: '其他',
28
+        value: '',
29
+      },
30
+    ],
13 31
   },
14 32
   mutations: {
15 33
     updateList (state, payload) {

+ 2
- 2
src/views/content/list.vue Прегледај датотеку

@@ -118,7 +118,7 @@ export default {
118 118
       window.console.log(err)
119 119
     },
120 120
     handleImgSuccess (res) {
121
-      const url = res.message
121
+      const url = res.data
122 122
       this.addContent({
123 123
         detail: JSON.stringify({
124 124
           contentType: 'image',
@@ -130,7 +130,7 @@ export default {
130 130
       })
131 131
     },
132 132
     handleVideoSuccess (res) {
133
-      const url = res.message
133
+      const url = res.data
134 134
       this.addContent({
135 135
         detail: JSON.stringify({
136 136
           contentType: 'video',

+ 9
- 9
src/views/index.js Прегледај датотеку

@@ -18,6 +18,15 @@ const pages = [
18 18
       title: '系统配置',
19 19
     },
20 20
     children: [
21
+      {
22
+        path: 'sysuser',
23
+        name: 'sysuserlist',
24
+        component: () => import('./sysuser/list.vue'),
25
+        meta: {
26
+          menuShow: true,
27
+          title: '系统人员',
28
+        },
29
+      },
21 30
       {
22 31
         path: 'device',
23 32
         name: 'devicelist',
@@ -63,15 +72,6 @@ const pages = [
63 72
           title: '人员类型',
64 73
         },
65 74
       },
66
-      {
67
-        path: 'sysuser',
68
-        name: 'sysuserlist',
69
-        component: () => import('./sysuser/list.vue'),
70
-        meta: {
71
-          menuShow: true,
72
-          title: '销售列表',
73
-        },
74
-      },
75 75
       {
76 76
         path: 'sysuser/edit',
77 77
         name: 'sysuseredit',

+ 39
- 25
src/views/sysuser/edit.vue Прегледај датотеку

@@ -1,28 +1,34 @@
1 1
 <template>
2
-  <el-form :rules="rules" :model="detail" ref="ruleForm" label-width="160px">
3
-    <el-form-item label="用户名" prop="nickname" required>
4
-      <el-input v-model="detail.nickname"></el-input>
5
-    </el-form-item>
6
-    <el-form-item label="手机号" prop="phone" required>
7
-      <el-input v-model="detail.phone"></el-input>
8
-    </el-form-item>
9
-    <el-form-item label="微信ID" prop="wxId">
10
-      <el-input v-model="detail.wxId"></el-input>
11
-    </el-form-item>
12
-    <el-form-item label="openid" prop="openid">
13
-      <el-input v-model="detail.openid" readonly=""></el-input>
14
-    </el-form-item>
15
-    <el-form-item label="状态" prop="status" required>
16
-      <el-select v-model="detail.status" placeholder="请选择">
17
-        <el-option label="禁用" :value="0"></el-option>
18
-        <el-option label="启用" :value="1"></el-option>
19
-      </el-select>
20
-    </el-form-item>
21
-    <el-form-item>
22
-      <el-button type="primary" @click="onSubmit">保存</el-button>
23
-      <el-button @click="onCancel">取消</el-button>
24
-    </el-form-item>
25
-  </el-form>
2
+  <div>
3
+    <el-form class="user-form" :rules="rules" :model="detail" ref="ruleForm" label-width="160px">
4
+      <el-form-item label="用户名" prop="username" required>
5
+        <el-input v-model="detail.username"></el-input>
6
+      </el-form-item>
7
+      <el-form-item label="手机号" prop="phone" required>
8
+        <el-input v-model="detail.phone"></el-input>
9
+      </el-form-item>
10
+      <el-form-item label="身份" prop="userIdentity">
11
+        <el-select class="width-100" v-model="detail.userIdentity" placeholder="请选择">
12
+          <el-option
13
+            v-for="item in identityDict"
14
+            :key="item.value"
15
+            :label="item.label"
16
+            :value="item.value">
17
+          </el-option>
18
+        </el-select>
19
+      </el-form-item>
20
+      <el-form-item label="状态" prop="status" required>
21
+        <el-select class="width-100" v-model="detail.status" placeholder="请选择">
22
+          <el-option label="禁用" :value="0"></el-option>
23
+          <el-option label="启用" :value="1"></el-option>
24
+        </el-select>
25
+      </el-form-item>
26
+      <el-form-item>
27
+        <el-button type="primary" @click="onSubmit">保存</el-button>
28
+        <el-button @click="onCancel">取消</el-button>
29
+      </el-form-item>
30
+    </el-form>
31
+  </div>
26 32
 </template>
27 33
 
28 34
 <script>
@@ -91,7 +97,8 @@ export default {
91 97
   },
92 98
   computed: {
93 99
     ...mapUserState({
94
-      detail: x => x.detail
100
+      detail: x => x.detail,
101
+      identityDict: x => x.identityDict,
95 102
     }),
96 103
   },
97 104
   created () {
@@ -101,5 +108,12 @@ export default {
101 108
 </script>
102 109
 
103 110
 <style lang="scss" scoped>
111
+  .user-form {
112
+    width: 60%;
113
+    max-width: 600px;
114
+  }
104 115
 
116
+  .width-100 {
117
+    width: 100%;
118
+  }
105 119
 </style>

+ 25
- 8
src/views/sysuser/list.vue Прегледај датотеку

@@ -7,8 +7,19 @@
7 7
     <el-form-item>
8 8
       <el-input v-model="filterData.phone" placeholder="手机号" clearable></el-input>
9 9
     </el-form-item>
10
+    <el-form-item>
11
+        <el-select v-model="filterData.identity" placeholder="请选择">
12
+          <el-option label="全部"></el-option>
13
+          <el-option
14
+            v-for="item in identityDict"
15
+            :key="item.value"
16
+            :label="item.label"
17
+            :value="item.value">
18
+          </el-option>
19
+        </el-select>
20
+    </el-form-item>
10 21
     <el-form-item slot="tail">
11
-      <el-button type="success" icon="el-icon-plus" @click='addSales'>销售</el-button>
22
+      <el-button type="success" icon="el-icon-plus" @click='addUser'>人员</el-button>
12 23
     </el-form-item>
13 24
   </xm-search>
14 25
 
@@ -17,7 +28,7 @@
17 28
       :data="list.records || []"
18 29
       style="width: 100%">
19 30
       <el-table-column
20
-        prop="nickname"
31
+        prop="username"
21 32
         label="用户名">
22 33
       </el-table-column>
23 34
       <el-table-column
@@ -25,8 +36,10 @@
25 36
         label="手机号">
26 37
       </el-table-column>
27 38
       <el-table-column
28
-        prop="wxId"
29
-        label="微信ID">
39
+        label="用户身份">
40
+        <template slot-scope="scope">
41
+          {{getIdentityName(scope.row.userIdentity)}}
42
+        </template>
30 43
       </el-table-column>
31 44
       <el-table-column
32 45
         label="状态">
@@ -75,6 +88,7 @@ export default {
75 88
       filterData: {
76 89
         name: '',
77 90
         phone: '',
91
+        identity: undefined,
78 92
       },
79 93
       pageNavi: {
80 94
         page: 1,
@@ -86,6 +100,7 @@ export default {
86 100
   computed: {
87 101
     ...mapUserState({
88 102
       list: x => x.list,
103
+      identityDict: x => x.identityDict,
89 104
     })
90 105
   },
91 106
   methods: {
@@ -95,16 +110,14 @@ export default {
95 110
     handleEdit (row) {
96 111
       this.$router.push({ name: 'sysuseredit', query: {id: row.userId} })
97 112
     },
98
-    addSales () {
113
+    addUser () {
99 114
       this.$router.push({ name: 'sysuseredit' })
100 115
     },
101 116
     getList () {
102 117
       this.getSysUserList({
103 118
         pageNum: this.pageNavi.page || 1,
104 119
         pageSize: this.pageNavi.size,
105
-        name: this.filterData.name,
106
-        phone: this.filterData.phone,
107
-        isSales: 1,
120
+        ...this.filterData,
108 121
       }).then((data) => {
109 122
         const { current: page, size, total } = data
110 123
         this.pageNavi = { page, size, total }
@@ -122,6 +135,10 @@ export default {
122 135
       }
123 136
 
124 137
       return dayjs(dt).format('YYYY-MM-DD HH:mm')
138
+    },
139
+    getIdentityName (val) {
140
+      const identity = (this.identityDict || []).filter(x => x.value == val)[0] || {}
141
+      return identity.label || '-'
125 142
     }
126 143
   },
127 144
   created () {