Selaa lähdekoodia

会员列表 备用号码判断

yangjunfeng 5 vuotta sitten
vanhempi
commit
c2ca4a61ac

+ 39 - 31
CallCenterWeb.UI/src/api/memberManagement/memberList.js

1
 import request from '@/utils/request'
1
 import request from '@/utils/request'
2
 
2
 
3
 // 获取会员列表数据
3
 // 获取会员列表数据
4
-export function getOrderLists (params) {
4
+export function getOrderLists(params) {
5
   return request({
5
   return request({
6
     url: 'api/vipinfo/getlistbypage',
6
     url: 'api/vipinfo/getlistbypage',
7
     method: 'get',
7
     method: 'get',
10
 }
10
 }
11
 
11
 
12
 // 获取会员信息
12
 // 获取会员信息
13
-export function getMemberInfo (id) {
13
+export function getMemberInfo(id) {
14
   return request({
14
   return request({
15
     url: 'api/vipinfo/getdetails',
15
     url: 'api/vipinfo/getdetails',
16
     method: 'get',
16
     method: 'get',
20
   })
20
   })
21
 }
21
 }
22
 // 获取会员标签列表数据
22
 // 获取会员标签列表数据
23
-export function getLabelLists (params) {
23
+export function getLabelLists(params) {
24
   return request({
24
   return request({
25
     url: 'api/viplabelinfo/getlistbypage',
25
     url: 'api/viplabelinfo/getlistbypage',
26
     method: 'get',
26
     method: 'get',
29
 }
29
 }
30
 
30
 
31
 // 添加会员数据
31
 // 添加会员数据
32
-export function addOrder (data) {
32
+export function addOrder(data) {
33
   return request({
33
   return request({
34
     url: 'api/vipinfo/add',
34
     url: 'api/vipinfo/add',
35
     method: 'post',
35
     method: 'post',
38
 }
38
 }
39
 
39
 
40
 // 编辑会员信息数据
40
 // 编辑会员信息数据
41
-export function editOrder (data) {
41
+export function editOrder(data) {
42
   return request({
42
   return request({
43
     url: 'api/vipinfo/update',
43
     url: 'api/vipinfo/update',
44
     method: 'post',
44
     method: 'post',
47
 }
47
 }
48
 
48
 
49
 // 删除工单数据
49
 // 删除工单数据
50
-export function deleteOrder (ids) {
50
+export function deleteOrder(ids) {
51
   return request({
51
   return request({
52
     url: 'callcenterapi/api/BusOrder/delete',
52
     url: 'callcenterapi/api/BusOrder/delete',
53
     method: 'post',
53
     method: 'post',
56
     }
56
     }
57
   })
57
   })
58
 }
58
 }
59
+// 获取会员标签列表数据
60
+export function getbyphone(params) {
61
+  return request({
62
+    url: 'api/VipInfo/getexistence',
63
+    method: 'get',
64
+    params
65
+  })
66
+}
59
 // 批量删除会员数据
67
 // 批量删除会员数据
60
-export function deletesMember (ids) {
68
+export function deletesMember(ids) {
61
   return request({
69
   return request({
62
     url: 'api/vipinfo/delete',
70
     url: 'api/vipinfo/delete',
63
     method: 'post',
71
     method: 'post',
67
   })
75
   })
68
 }
76
 }
69
 // 获取会员积分规则
77
 // 获取会员积分规则
70
-export function getRuleInfo () {
78
+export function getRuleInfo() {
71
   return request({
79
   return request({
72
     url: 'api/score/getrule',
80
     url: 'api/score/getrule',
73
     method: 'get'
81
     method: 'get'
74
   })
82
   })
75
 }
83
 }
76
 // 保存会员积分规则
84
 // 保存会员积分规则
77
-export function saveRuleInfo (data) {
85
+export function saveRuleInfo(data) {
78
   return request({
86
   return request({
79
     url: 'api/score/add',
87
     url: 'api/score/add',
80
     method: 'post',
88
     method: 'post',
82
   })
90
   })
83
 }
91
 }
84
 // 添加标签信息
92
 // 添加标签信息
85
-export function addLable (data) {
93
+export function addLable(data) {
86
   return request({
94
   return request({
87
     url: 'api/viplabelinfo/add',
95
     url: 'api/viplabelinfo/add',
88
     method: 'post',
96
     method: 'post',
90
   })
98
   })
91
 }
99
 }
92
 // 编辑标签信息
100
 // 编辑标签信息
93
-export function editLable (data) {
101
+export function editLable(data) {
94
   return request({
102
   return request({
95
     url: 'api/viplabelinfo/update',
103
     url: 'api/viplabelinfo/update',
96
     method: 'post',
104
     method: 'post',
98
   })
106
   })
99
 }
107
 }
100
 // 删除标签信息
108
 // 删除标签信息
101
-export function deleteLable (ids) {
109
+export function deleteLable(ids) {
102
   return request({
110
   return request({
103
     url: 'api/viplabelinfo/delete',
111
     url: 'api/viplabelinfo/delete',
104
     method: 'post',
112
     method: 'post',
108
   })
116
   })
109
 }
117
 }
110
 // 获取标签信息详情
118
 // 获取标签信息详情
111
-export function getLableDetail (id) {
119
+export function getLableDetail(id) {
112
   return request({
120
   return request({
113
     url: 'api/viplabelinfo/getdetails',
121
     url: 'api/viplabelinfo/getdetails',
114
     method: 'get',
122
     method: 'get',
118
   })
126
   })
119
 }
127
 }
120
 // 获取档案转移列表数据
128
 // 获取档案转移列表数据
121
-export function getFileTranserLists (params) {
129
+export function getFileTranserLists(params) {
122
   return request({
130
   return request({
123
     url: 'api/cusmsg/getlistbypage',
131
     url: 'api/cusmsg/getlistbypage',
124
     method: 'get',
132
     method: 'get',
126
   })
134
   })
127
 }
135
 }
128
 // 获取档案转移信息详情
136
 // 获取档案转移信息详情
129
-export function getFileTranserInfo (id) {
137
+export function getFileTranserInfo(id) {
130
   return request({
138
   return request({
131
     url: 'api/cusmsg/getdetails',
139
     url: 'api/cusmsg/getdetails',
132
     method: 'get',
140
     method: 'get',
136
   })
144
   })
137
 }
145
 }
138
 // 转移档案操作
146
 // 转移档案操作
139
-export function getTransfer (ids, toperson) {
147
+export function getTransfer(ids, toperson) {
140
   return request({
148
   return request({
141
     url: 'api/vipinfo/transfer',
149
     url: 'api/vipinfo/transfer',
142
     method: 'post',
150
     method: 'post',
147
   })
155
   })
148
 }
156
 }
149
 // 处理转移
157
 // 处理转移
150
-export function detailTransfer (ids, notagree) {
158
+export function detailTransfer(ids, notagree) {
151
   return request({
159
   return request({
152
     url: 'api/vipinfo/deal',
160
     url: 'api/vipinfo/deal',
153
     method: 'post',
161
     method: 'post',
158
   })
166
   })
159
 }
167
 }
160
 // 获取会员类型
168
 // 获取会员类型
161
-export function getMemberType (params) {
169
+export function getMemberType(params) {
162
   return request({
170
   return request({
163
     url: 'api/dictionary/getlistbypage',
171
     url: 'api/dictionary/getlistbypage',
164
     method: 'get',
172
     method: 'get',
166
   })
174
   })
167
 }
175
 }
168
 // 获取销售负责人
176
 // 获取销售负责人
169
-export function getSalesmanData (params) {
177
+export function getSalesmanData(params) {
170
   return request({
178
   return request({
171
     url: 'api/useraccount/getlistdrop',
179
     url: 'api/useraccount/getlistdrop',
172
     method: 'get',
180
     method: 'get',
175
 }
183
 }
176
 
184
 
177
 // 电话号码加密
185
 // 电话号码加密
178
-export function encryptphone (params) {
186
+export function encryptphone(params) {
179
   return request({
187
   return request({
180
     url: 'api/VipInfo/encryptphone',
188
     url: 'api/VipInfo/encryptphone',
181
     method: 'get',
189
     method: 'get',
184
 }
192
 }
185
 
193
 
186
 // 电话号码解密
194
 // 电话号码解密
187
-export function decryptphone (params) {
195
+export function decryptphone(params) {
188
   return request({
196
   return request({
189
     url: 'api/VipInfo/decryptphone',
197
     url: 'api/VipInfo/decryptphone',
190
     method: 'get',
198
     method: 'get',
193
 }
201
 }
194
 
202
 
195
 // 合并
203
 // 合并
196
-export function Merge (params) {
204
+export function Merge(params) {
197
   return request({
205
   return request({
198
     url: 'api/VipInfo/Merge',
206
     url: 'api/VipInfo/Merge',
199
     method: 'post',
207
     method: 'post',
202
 }
210
 }
203
 
211
 
204
 // 拆分
212
 // 拆分
205
-export function split (params) {
213
+export function split(params) {
206
   return request({
214
   return request({
207
     url: 'api/VipInfo/SplitvIP',
215
     url: 'api/VipInfo/SplitvIP',
208
     method: 'post',
216
     method: 'post',
209
     params
217
     params
210
   })
218
   })
211
 }
219
 }
212
-//会员类型列表
213
-export function getMemberListType (params) {
220
+// 会员类型列表
221
+export function getMemberListType(params) {
214
   console.log(params)
222
   console.log(params)
215
   return request({
223
   return request({
216
     url: 'api/Membership/getlist',
224
     url: 'api/Membership/getlist',
219
   })
227
   })
220
 }
228
 }
221
 // 添加类型
229
 // 添加类型
222
-export function addType (data) {
230
+export function addType(data) {
223
   return request({
231
   return request({
224
     url: 'api/Membership/add',
232
     url: 'api/Membership/add',
225
     method: 'post',
233
     method: 'post',
227
   })
235
   })
228
 }
236
 }
229
 // 编辑类型
237
 // 编辑类型
230
-export function editType (data) {
238
+export function editType(data) {
231
   return request({
239
   return request({
232
     url: 'api/Membership/update',
240
     url: 'api/Membership/update',
233
     method: 'post',
241
     method: 'post',
235
   })
243
   })
236
 }
244
 }
237
 // 详情类型
245
 // 详情类型
238
-export function detaiType (id) {
239
-  //console.log(data)
246
+export function detaiType(id) {
247
+  // console.log(data)
240
   return request({
248
   return request({
241
     url: 'api/Membership/getdetails',
249
     url: 'api/Membership/getdetails',
242
     method: 'get',
250
     method: 'get',
247
 }
255
 }
248
 
256
 
249
 // 操作类型
257
 // 操作类型
250
-export function deleteType (params) {
258
+export function deleteType(params) {
251
   return request({
259
   return request({
252
     url: 'api/Membership/operation',
260
     url: 'api/Membership/operation',
253
     method: 'post',
261
     method: 'post',
256
 }
264
 }
257
 
265
 
258
 // 销售转交售后
266
 // 销售转交售后
259
-export function memberHandleTransferAfterSale (params) {
267
+export function memberHandleTransferAfterSale(params) {
260
   return request({
268
   return request({
261
     url: 'api/VipInfo/handleTransfer',
269
     url: 'api/VipInfo/handleTransfer',
262
     method: 'get',
270
     method: 'get',

+ 17 - 3
CallCenterWeb.UI/src/views/memberManagement/memberList/components/addOrEdit.vue

145
 
145
 
146
 <script>
146
 <script>
147
 import { getProviceCityById } from '@/api/commonAPI'
147
 import { getProviceCityById } from '@/api/commonAPI'
148
-import { getMemberInfo, addOrder, editOrder, getLabelLists } from '@/api/memberManagement/memberList'
148
+import { getMemberInfo, addOrder, editOrder, getLabelLists, getbyphone } from '@/api/memberManagement/memberList'
149
 import { validateTel } from '@/utils/validate'
149
 import { validateTel } from '@/utils/validate'
150
 import { filterContent, pickerOptions } from '@/utils'
150
 import { filterContent, pickerOptions } from '@/utils'
151
 import { getOrderLists } from '@/api/memberManagement/memberList'
151
 import { getOrderLists } from '@/api/memberManagement/memberList'
500
       const data = {
500
       const data = {
501
         mobileNumber: this.ruleForm.backupMobile
501
         mobileNumber: this.ruleForm.backupMobile
502
       }
502
       }
503
-      this.mobileTableData.push(data)
504
-      this.ruleForm.backupMobile = ''
503
+      const params = {
504
+        phone: data.mobileNumber
505
+      }
506
+      getbyphone(params).then(response => {
507
+        if (response.state.toLowerCase() === 'success') {
508
+          if (response.data == '2') {
509
+            this.mobileTableData.push(data)
510
+            this.ruleForm.backupMobile = ''
511
+          } else if (response.data == '1') {
512
+            this.$message({
513
+              message: '手机号码已存在!',
514
+              type: 'error'
515
+            })
516
+          }
517
+        }
518
+      })
505
     },
519
     },
506
     btn_deleteMobile(val) {
520
     btn_deleteMobile(val) {
507
       this.mobileTableData.forEach((e, i) => {
521
       this.mobileTableData.forEach((e, i) => {

+ 50 - 50
CallCenterWeb.UI/src/views/memberManagement/memberList/index.vue

12
       @split="btn_file_split"
12
       @split="btn_file_split"
13
     />
13
     />
14
     <el-tabs v-model="activeName" type="card" @tab-click="handleTabClick">
14
     <el-tabs v-model="activeName" type="card" @tab-click="handleTabClick">
15
-      <el-tab-pane label="全部" name="0"></el-tab-pane>
16
-      <el-tab-pane label="已联系客户" name="1"></el-tab-pane>
17
-      <el-tab-pane label="未联系客户" name="2"></el-tab-pane>
15
+      <el-tab-pane label="全部" name="0"/>
16
+      <el-tab-pane label="已联系客户" name="1"/>
17
+      <el-tab-pane label="未联系客户" name="2"/>
18
     </el-tabs>
18
     </el-tabs>
19
     <el-table
19
     <el-table
20
       v-loading="loading"
20
       v-loading="loading"
56
           />
56
           />
57
         </template>
57
         </template>
58
       </el-table-column>
58
       </el-table-column>
59
-      <el-table-column label="备用号码" align="center" width="">
59
+      <!-- <el-table-column label="备用号码" align="center" width="">
60
         <template slot-scope="scope">
60
         <template slot-scope="scope">
61
           {{ scope.row.F_Mobile | mobileFilter }}
61
           {{ scope.row.F_Mobile | mobileFilter }}
62
           <i
62
           <i
65
             @click="clickCut2(scope.row.F_ID)"
65
             @click="clickCut2(scope.row.F_ID)"
66
           />
66
           />
67
         </template>
67
         </template>
68
-      </el-table-column>
68
+      </el-table-column> -->
69
       <el-table-column
69
       <el-table-column
70
         prop="F_Label"
70
         prop="F_Label"
71
         label="会员标签"
71
         label="会员标签"
89
           }}</span>
89
           }}</span>
90
         </template>
90
         </template>
91
       </el-table-column>
91
       </el-table-column>
92
-      <el-table-column
92
+      <!-- <el-table-column
93
         prop="F_Address1"
93
         prop="F_Address1"
94
         label="备用地址"
94
         label="备用地址"
95
         align="center"
95
         align="center"
96
         width=""
96
         width=""
97
-      />
97
+      /> -->
98
       <el-table-column
98
       <el-table-column
99
         prop="F_ShoeSize"
99
         prop="F_ShoeSize"
100
         label="鞋码"
100
         label="鞋码"
202
             @click="btn_edit(scope.row.F_ID)"
202
             @click="btn_edit(scope.row.F_ID)"
203
           >编辑</el-button
203
           >编辑</el-button
204
           >
204
           >
205
-          <el-button 
206
-            v-permission="'HY_add_remark'" 
207
-            type="text" 
205
+          <el-button
206
+            v-permission="'HY_add_remark'"
207
+            type="text"
208
             @click="btn_add_remark(scope.row.F_ID)"
208
             @click="btn_add_remark(scope.row.F_ID)"
209
           >备注</el-button>
209
           >备注</el-button>
210
           <el-button
210
           <el-button
242
 import detail from './components/detail'
242
 import detail from './components/detail'
243
 import transfer from './components/transfer'
243
 import transfer from './components/transfer'
244
 import addOrder from './components/addOrder'
244
 import addOrder from './components/addOrder'
245
-import addOrEditRemark from "./components/addOrEditRemark"
245
+import addOrEditRemark from './components/addOrEditRemark'
246
 import { formatterContent } from '@/utils'
246
 import { formatterContent } from '@/utils'
247
 import Pagination from '@/components/Pagination' // 对el-pagination 二次封装
247
 import Pagination from '@/components/Pagination' // 对el-pagination 二次封装
248
 import mergeId from './components/mergeId'
248
 import mergeId from './components/mergeId'
263
         return mtel
263
         return mtel
264
       }
264
       }
265
     },
265
     },
266
-    mobileFilter(status) {
267
-      if (status) {
268
-        const arr = status.split(',')
269
-        var mtel = ''
270
-        for (let i = 0; i < arr.length; i++) {
271
-          mtel += arr[i].substr(0, 3) + '****' + arr[i].substr(7) + ','
272
-          console.log(mtel.slice(0, mtel.length - 1))
273
-        }
274
-        return mtel.substr(0, mtel.length - 1)
275
-      }
276
-    },
266
+    // mobileFilter(status) {
267
+    //   if (status) {
268
+    //     const arr = status.split(',')
269
+    //     var mtel = ''
270
+    //     for (let i = 0; i < arr.length; i++) {
271
+    //       mtel += arr[i].substr(0, 3) + '****' + arr[i].substr(7) + ','
272
+    //       console.log(mtel.slice(0, mtel.length - 1))
273
+    //     }
274
+    //     return mtel.substr(0, mtel.length - 1)
275
+    //   }
276
+    // },
277
     judgmentAddress(data) {
277
     judgmentAddress(data) {
278
-      let addProvince = data.F_Province === null ? '' : data.F_Province //省
279
-      let addCity = data.F_City === null ? '' : data.F_City //市
280
-      let addArea = data.F_Area === null ? '' : data.F_Area //县/区
281
-      let addTown = data.F_Town === null ? '' : data.F_Town //乡/镇
282
-      let address = data.F_Address === null ? '' : data.F_Address //详细地址
283
-      let addressStr = addProvince + addCity + addArea + addTown + address // 地址
278
+      const addProvince = data.F_Province === null ? '' : data.F_Province // 
279
+      const addCity = data.F_City === null ? '' : data.F_City // 
280
+      const addArea = data.F_Area === null ? '' : data.F_Area // 县/区
281
+      const addTown = data.F_Town === null ? '' : data.F_Town // 乡/镇
282
+      const address = data.F_Address === null ? '' : data.F_Address // 详细地址
283
+      const addressStr = addProvince + addCity + addArea + addTown + address // 地址
284
       return addressStr
284
       return addressStr
285
     }
285
     }
286
   },
286
   },
307
         provinceCity: [], // 省市下拉绑定的值
307
         provinceCity: [], // 省市下拉绑定的值
308
         provinceCityText: [], // 省市下拉绑定文本值
308
         provinceCityText: [], // 省市下拉绑定文本值
309
         memberBirthday: [], // 会员生日
309
         memberBirthday: [], // 会员生日
310
-        contactTime: [], 
310
+        contactTime: []
311
       },
311
       },
312
       loading: false,
312
       loading: false,
313
       pageParams: {
313
       pageParams: {
319
       multipleSelection: [], // 选中的数据
319
       multipleSelection: [], // 选中的数据
320
       selectedId: [], // 选中的id
320
       selectedId: [], // 选中的id
321
       namesData: [],
321
       namesData: [],
322
-      activeName: '0',
322
+      activeName: '0'
323
     }
323
     }
324
   },
324
   },
325
   created() {
325
   created() {
369
           recommender: this.searchDatas.referrer.trim(), // 推荐人
369
           recommender: this.searchDatas.referrer.trim(), // 推荐人
370
           saleperson: this.searchDatas.saleperson.trim(), // 销售负责人
370
           saleperson: this.searchDatas.saleperson.trim(), // 销售负责人
371
           laststartholetime: this.searchDatas.contactTime[0] == undefined ? '' : this.searchDatas.contactTime[0],
371
           laststartholetime: this.searchDatas.contactTime[0] == undefined ? '' : this.searchDatas.contactTime[0],
372
-          Lastendholetime: this.searchDatas.contactTime[1] == undefined ? '' : this.searchDatas.contactTime[1],
372
+          Lastendholetime: this.searchDatas.contactTime[1] == undefined ? '' : this.searchDatas.contactTime[1]
373
           // contact: this.searchDatas.contactFrequency.trim(), //联系频次
373
           // contact: this.searchDatas.contactFrequency.trim(), //联系频次
374
         }
374
         }
375
         getOrderLists(params).then((response) => {
375
         getOrderLists(params).then((response) => {
385
     handleTabClick() {
385
     handleTabClick() {
386
       this.pageParams.pageindex = 1
386
       this.pageParams.pageindex = 1
387
       if (this.activeName == 2) {
387
       if (this.activeName == 2) {
388
-        let date = new Date();
389
-        date.setTime(date.getTime()-24*60*60*1000);
390
-        let year = date.getFullYear()
388
+        let date = new Date()
389
+        date.setTime(date.getTime() - 24 * 60 * 60 * 1000)
390
+        const year = date.getFullYear()
391
         let month = date.getMonth() + 1
391
         let month = date.getMonth() + 1
392
-        let day = date.getDate()
393
-        let hour = "00:00:00"
394
-        month = month.toString().padStart(2, "0")
395
-        date = date.toString().padStart(2, "0")
396
-        let defaultDate = `${year}-${month}-${day} ${hour}`
392
+        const day = date.getDate()
393
+        const hour = '00:00:00'
394
+        month = month.toString().padStart(2, '0')
395
+        date = date.toString().padStart(2, '0')
396
+        const defaultDate = `${year}-${month}-${day} ${hour}`
397
         this.searchDatas.contactTime = ['', defaultDate]
397
         this.searchDatas.contactTime = ['', defaultDate]
398
-      } else if (this.activeName == 1){
399
-        let date = new Date();
400
-        let year = date.getFullYear()
398
+      } else if (this.activeName == 1) {
399
+        let date = new Date()
400
+        const year = date.getFullYear()
401
         let month = date.getMonth() + 1
401
         let month = date.getMonth() + 1
402
-        let day = date.getDate()
403
-        let hour = "00:00:00"
404
-        month = month.toString().padStart(2, "0")
405
-        date = date.toString().padStart(2, "0")
406
-        let defaultDate = `${year}-${month}-${day} ${hour}`
402
+        const day = date.getDate()
403
+        const hour = '00:00:00'
404
+        month = month.toString().padStart(2, '0')
405
+        date = date.toString().padStart(2, '0')
406
+        const defaultDate = `${year}-${month}-${day} ${hour}`
407
         this.searchDatas.contactTime = ['1970-01-01 00:00:00', defaultDate]
407
         this.searchDatas.contactTime = ['1970-01-01 00:00:00', defaultDate]
408
       } else {
408
       } else {
409
         this.searchDatas.contactTime = ['', '']
409
         this.searchDatas.contactTime = ['', '']
610
           parent: this, // 当前的vue对象
610
           parent: this, // 当前的vue对象
611
           data: { rowid: id } // props
611
           data: { rowid: id } // props
612
         },
612
         },
613
-        area: ["40%", "50%"],
614
-        title: "添加备注"
615
-      });
613
+        area: ['40%', '50%'],
614
+        title: '添加备注'
615
+      })
616
     },
616
     },
617
     changeSelects(val) {
617
     changeSelects(val) {
618
       const ids = []
618
       const ids = []