瀏覽代碼

add feats

张延森 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
     detail: {
9
     detail: {
10
       status: 1,
10
       status: 1,
11
       isSales: 1,
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
   mutations: {
32
   mutations: {
15
     updateList (state, payload) {
33
     updateList (state, payload) {

+ 2
- 2
src/views/content/list.vue 查看文件

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

+ 9
- 9
src/views/index.js 查看文件

18
       title: '系统配置',
18
       title: '系统配置',
19
     },
19
     },
20
     children: [
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
         path: 'device',
31
         path: 'device',
23
         name: 'devicelist',
32
         name: 'devicelist',
63
           title: '人员类型',
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
         path: 'sysuser/edit',
76
         path: 'sysuser/edit',
77
         name: 'sysuseredit',
77
         name: 'sysuseredit',

+ 39
- 25
src/views/sysuser/edit.vue 查看文件

1
 <template>
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
 </template>
32
 </template>
27
 
33
 
28
 <script>
34
 <script>
91
   },
97
   },
92
   computed: {
98
   computed: {
93
     ...mapUserState({
99
     ...mapUserState({
94
-      detail: x => x.detail
100
+      detail: x => x.detail,
101
+      identityDict: x => x.identityDict,
95
     }),
102
     }),
96
   },
103
   },
97
   created () {
104
   created () {
101
 </script>
108
 </script>
102
 
109
 
103
 <style lang="scss" scoped>
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
 </style>
119
 </style>

+ 25
- 8
src/views/sysuser/list.vue 查看文件

7
     <el-form-item>
7
     <el-form-item>
8
       <el-input v-model="filterData.phone" placeholder="手机号" clearable></el-input>
8
       <el-input v-model="filterData.phone" placeholder="手机号" clearable></el-input>
9
     </el-form-item>
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
     <el-form-item slot="tail">
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
     </el-form-item>
23
     </el-form-item>
13
   </xm-search>
24
   </xm-search>
14
 
25
 
17
       :data="list.records || []"
28
       :data="list.records || []"
18
       style="width: 100%">
29
       style="width: 100%">
19
       <el-table-column
30
       <el-table-column
20
-        prop="nickname"
31
+        prop="username"
21
         label="用户名">
32
         label="用户名">
22
       </el-table-column>
33
       </el-table-column>
23
       <el-table-column
34
       <el-table-column
25
         label="手机号">
36
         label="手机号">
26
       </el-table-column>
37
       </el-table-column>
27
       <el-table-column
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
       </el-table-column>
43
       </el-table-column>
31
       <el-table-column
44
       <el-table-column
32
         label="状态">
45
         label="状态">
75
       filterData: {
88
       filterData: {
76
         name: '',
89
         name: '',
77
         phone: '',
90
         phone: '',
91
+        identity: undefined,
78
       },
92
       },
79
       pageNavi: {
93
       pageNavi: {
80
         page: 1,
94
         page: 1,
86
   computed: {
100
   computed: {
87
     ...mapUserState({
101
     ...mapUserState({
88
       list: x => x.list,
102
       list: x => x.list,
103
+      identityDict: x => x.identityDict,
89
     })
104
     })
90
   },
105
   },
91
   methods: {
106
   methods: {
95
     handleEdit (row) {
110
     handleEdit (row) {
96
       this.$router.push({ name: 'sysuseredit', query: {id: row.userId} })
111
       this.$router.push({ name: 'sysuseredit', query: {id: row.userId} })
97
     },
112
     },
98
-    addSales () {
113
+    addUser () {
99
       this.$router.push({ name: 'sysuseredit' })
114
       this.$router.push({ name: 'sysuseredit' })
100
     },
115
     },
101
     getList () {
116
     getList () {
102
       this.getSysUserList({
117
       this.getSysUserList({
103
         pageNum: this.pageNavi.page || 1,
118
         pageNum: this.pageNavi.page || 1,
104
         pageSize: this.pageNavi.size,
119
         pageSize: this.pageNavi.size,
105
-        name: this.filterData.name,
106
-        phone: this.filterData.phone,
107
-        isSales: 1,
120
+        ...this.filterData,
108
       }).then((data) => {
121
       }).then((data) => {
109
         const { current: page, size, total } = data
122
         const { current: page, size, total } = data
110
         this.pageNavi = { page, size, total }
123
         this.pageNavi = { page, size, total }
122
       }
135
       }
123
 
136
 
124
       return dayjs(dt).format('YYYY-MM-DD HH:mm')
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
   created () {
144
   created () {