system-clients 3.2.65-1 → 3.2.65-wuhai
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/components/Main.vue +182 -202
- package/src/filiale/qianneng/ModifyPw.vue +107 -107
- package/src/filiale/qianneng/system.js +8 -8
- package/src/filiale/wuhai/LeftTree.vue +152 -141
- package/src/filiale/wuhai/Main.vue +823 -807
- package/src/filiale/yuchuan/Main.vue +0 -91
- package/src/plugins/validation.js +15 -15
- package/static/newStyle/jingwei.png +0 -0
package/package.json
CHANGED
package/src/components/Main.vue
CHANGED
@@ -202,217 +202,197 @@ let createWaterMark = function (userName) {
|
|
202
202
|
(document.head.append || document.head.appendChild).apply(document.head, [style]);
|
203
203
|
}
|
204
204
|
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
205
|
+
window.onunload = () => {
|
206
|
+
vue.http({url: `rs/user/update/${this.$login.f.ename}`, method: 'GET'})
|
207
|
+
}
|
208
|
+
window.onbeforeunload = () => {
|
209
|
+
vue.http({url: `rs/user/update/${this.$login.f.ename}`, method: 'GET'})
|
210
|
+
}
|
211
|
+
export default {
|
212
|
+
title: '主界面',
|
213
|
+
props: ['functions', 'userid', 'config'],
|
214
|
+
data() {
|
215
|
+
return {
|
216
|
+
// 页面提示信息定时器
|
217
|
+
interval: null,
|
218
|
+
newTipShow: false,
|
219
|
+
newTipContextShow: false,
|
220
|
+
AppDaiBan: '',
|
221
|
+
OrderDaiBan: '',
|
222
|
+
// 左侧树下部三个小图标
|
223
|
+
imgs: {
|
224
|
+
open: '/images/lefticon/菜单伸缩.png',
|
225
|
+
set: '/images/lefticon/系统设置.png',
|
226
|
+
out: '/images/lefticon/退出系统.png',
|
227
|
+
img1: '/images/newStyle/login-user.png',
|
228
|
+
logoimg: '/static/newStyle/fife.png'
|
229
|
+
// img2: '/images/lefticon/退出系统.png',
|
230
|
+
},
|
231
|
+
treeOrIcon: false,
|
232
|
+
qrCode:false,
|
233
|
+
isManger: false,
|
234
|
+
show: false,
|
235
|
+
orgpathnames: `${this.$login.f.orgs}-${this.$login.f.deps}-${this.$login.f.name}`,
|
236
|
+
systemname: '客服系统',
|
237
|
+
date: this.$login.toStandardDateString(),
|
238
|
+
tabs: [], //已初始化页签数组
|
239
|
+
selecttab: '',
|
240
|
+
setting: true,
|
241
|
+
srcsetting: '../../static/newStyle/setting.png',
|
242
|
+
showwatermakeflag: false,
|
243
|
+
// headerHint: true, // 右侧顶部提示信息
|
244
|
+
// value: 25645.26,
|
245
|
+
// AddChangeMsgShow: false,
|
246
|
+
// showsum: false
|
247
|
+
}
|
248
|
+
},
|
249
|
+
ready() {
|
250
|
+
getwartermakr(this);
|
251
|
+
let component = this.$login.getUrlCompileParames('component')
|
252
|
+
if (component) {
|
253
|
+
this.isManger = true
|
254
|
+
this.$refs.route.init(component, {data: this.functions.functions})
|
255
|
+
}
|
256
|
+
if (this.$login.f.password == '1') {
|
257
|
+
this.$showMessage('本地登录系统为此账户的初始密码,请确认修改密码!!!', ['confirm', 'cancel']).then((res) => {
|
258
|
+
if (res == 'confirm')
|
259
|
+
this.show = true
|
260
|
+
})
|
261
|
+
}
|
262
|
+
console.log("系统名称", this.$appdata.getSingleValue("系统名称"))
|
263
|
+
this.systemname = this.$appdata.getSingleValue("系统名称") ? this.$appdata.getSingleValue("系统名称") : '客服系统'
|
264
|
+
// let oBox = this.getElement("box")
|
265
|
+
// let oTop = this.getElement("top")
|
266
|
+
// let oBottom = this.getElement("bottom")
|
267
|
+
// let oLine = this.getElement("line")
|
268
|
+
// let that = this
|
269
|
+
// oLine.onmousedown = function(e) {
|
270
|
+
// let disX = (e || event).clientX
|
271
|
+
// oLine.left = oLine.offsetLeft
|
272
|
+
// document.onmousemove = function(e) {
|
273
|
+
// let iT = oLine.left + ((e || event).clientX - disX)
|
274
|
+
// var e = e || window.event
|
275
|
+
// let tarnameb = e.target || e.srcElement
|
276
|
+
// let maxT = oBox.clientWight - oLine.offsetWidth
|
277
|
+
// oLine.style.margin = 0
|
278
|
+
// iT < 0 && (iT = 0)
|
279
|
+
// iT > maxT && (iT = maxT)
|
280
|
+
// oLine.style.left = oTop.style.width = iT + "px"
|
281
|
+
// oBottom.style.width = oBox.clientWidth - iT + "px"
|
282
|
+
// that.$set('treeWidth', iT)
|
283
|
+
// return false
|
284
|
+
// }
|
285
|
+
// document.onmouseup = function() {
|
286
|
+
// document.onmousemove = null
|
287
|
+
// document.onmouseup = null
|
288
|
+
// oLine.releaseCapture && oLine.releaseCapture()
|
289
|
+
// }
|
290
|
+
// oLine.setCapture && oLine.setCapture()
|
291
|
+
// return false
|
292
|
+
// }
|
293
|
+
this.changeShow()
|
294
|
+
this.gotoWorkOrderSite()
|
295
|
+
// 获取预约列表
|
296
|
+
this.functions.f_role_name && this.functions.f_role_name.includes(this.config.msgRole) && this.config.isTip && this.getOrderList()
|
297
|
+
},
|
298
|
+
methods: {
|
299
|
+
getOrderList(){
|
300
|
+
let times = this.config.times * 60 * 1000
|
301
|
+
console.log("=定时提示间隔=", times)
|
302
|
+
try {
|
303
|
+
this.interval = setInterval(() => {
|
304
|
+
this.getDaiBan()
|
305
|
+
}, times)
|
306
|
+
} catch (error) {
|
307
|
+
console.log('捕获到异常', error)
|
248
308
|
}
|
249
309
|
},
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
310
|
+
async getDaiBan(){
|
311
|
+
this.OrderDaiBan = ''
|
312
|
+
this.AppDaiBan = ''
|
313
|
+
let http = new HttpResetClass()
|
314
|
+
await http.load('POST', '/rs/sql/singleTable', {data: {
|
315
|
+
tablename:'t_order_center',
|
316
|
+
condition:` (f_orderstate != '预约成功' and f_orgstr ='${this.$login.f.orgid}' and f_orderstate != '预约失败' ) or f_orderstate is null`
|
317
|
+
}}, {
|
318
|
+
resolveMsg: null,
|
319
|
+
rejectMsg: null
|
320
|
+
}).then((res) => {
|
321
|
+
let OrderDaiBan = {}
|
322
|
+
res.data.forEach(item=>{
|
323
|
+
OrderDaiBan[item.f_ordertype] = OrderDaiBan[item.f_ordertype] || []
|
324
|
+
OrderDaiBan[item.f_ordertype].push(item)
|
261
325
|
})
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
// let oBox = this.getElement("box")
|
266
|
-
// let oTop = this.getElement("top")
|
267
|
-
// let oBottom = this.getElement("bottom")
|
268
|
-
// let oLine = this.getElement("line")
|
269
|
-
// let that = this
|
270
|
-
// oLine.onmousedown = function(e) {
|
271
|
-
// let disX = (e || event).clientX
|
272
|
-
// oLine.left = oLine.offsetLeft
|
273
|
-
// document.onmousemove = function(e) {
|
274
|
-
// let iT = oLine.left + ((e || event).clientX - disX)
|
275
|
-
// var e = e || window.event
|
276
|
-
// let tarnameb = e.target || e.srcElement
|
277
|
-
// let maxT = oBox.clientWight - oLine.offsetWidth
|
278
|
-
// oLine.style.margin = 0
|
279
|
-
// iT < 0 && (iT = 0)
|
280
|
-
// iT > maxT && (iT = maxT)
|
281
|
-
// oLine.style.left = oTop.style.width = iT + "px"
|
282
|
-
// oBottom.style.width = oBox.clientWidth - iT + "px"
|
283
|
-
// that.$set('treeWidth', iT)
|
284
|
-
// return false
|
285
|
-
// }
|
286
|
-
// document.onmouseup = function() {
|
287
|
-
// document.onmousemove = null
|
288
|
-
// document.onmouseup = null
|
289
|
-
// oLine.releaseCapture && oLine.releaseCapture()
|
290
|
-
// }
|
291
|
-
// oLine.setCapture && oLine.setCapture()
|
292
|
-
// return false
|
293
|
-
// }
|
294
|
-
this.changeShow()
|
295
|
-
const istelRemindTimes =this.$appdata.getSingleValue("是否开启工单提醒定时器")
|
296
|
-
if(istelRemindTimes=='是'){
|
297
|
-
this.getTimesgotoWorkOrderSite()
|
298
|
-
}
|
299
|
-
const isapplyRemind =this.$appdata.getSingleValue("是否开启提醒")
|
300
|
-
const times =this.$appdata.getSingleValue("提示间隔分钟")
|
301
|
-
if(isapplyRemind=='是'){
|
302
|
-
this.config.isTip = true
|
303
|
-
this.config.times = times
|
304
|
-
}
|
305
|
-
// 获取预约列表
|
306
|
-
this.functions.f_role_name && this.functions.f_role_name.includes(this.config.msgRole) && this.config.isTip && this.getOrderList()
|
307
|
-
},
|
308
|
-
methods: {
|
309
|
-
getOrderList(){
|
310
|
-
let times = this.config.times * 60 * 1000
|
311
|
-
console.log("=定时提示间隔=", times)
|
312
|
-
try {
|
313
|
-
this.interval = setInterval(() => {
|
314
|
-
this.getDaiBan()
|
315
|
-
}, times)
|
316
|
-
} catch (error) {
|
317
|
-
console.log('捕获到异常', error)
|
326
|
+
if (res.data.length> 0){
|
327
|
+
this.OrderDaiBan = `您有${res.data.length}条需要处理的微信预约业务!`
|
328
|
+
this.OrderDaiBan += `其中 ${Object.keys(OrderDaiBan).map(key=>`${key}:${OrderDaiBan[key].length}条`).join(', ')}`
|
318
329
|
}
|
319
|
-
}
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
this.
|
324
|
-
|
325
|
-
},teltimes)
|
326
|
-
}catch (e) {
|
327
|
-
console.log('捕获到异常', e)
|
328
|
-
}
|
329
|
-
},
|
330
|
-
async getDaiBan(){
|
331
|
-
this.OrderDaiBan = ''
|
332
|
-
this.AppDaiBan = ''
|
333
|
-
let http = new HttpResetClass()
|
334
|
-
await http.load('POST', '/rs/sql/singleTable', {data: {
|
335
|
-
tablename:'t_order_center',
|
336
|
-
condition:` (f_orderstate != '预约成功' and f_orgstr ='${this.$login.f.orgid}' and f_orderstate != '预约失败' ) or f_orderstate is null`
|
337
|
-
}}, {
|
338
|
-
resolveMsg: null,
|
339
|
-
rejectMsg: null
|
340
|
-
}).then((res) => {
|
341
|
-
let OrderDaiBan = {}
|
342
|
-
res.data.forEach(item=>{
|
343
|
-
OrderDaiBan[item.f_ordertype] = OrderDaiBan[item.f_ordertype] || []
|
344
|
-
OrderDaiBan[item.f_ordertype].push(item)
|
345
|
-
})
|
346
|
-
if (res.data.length> 0){
|
347
|
-
this.OrderDaiBan = `您有${res.data.length}条需要处理的微信预约业务!`
|
348
|
-
this.OrderDaiBan += `其中 ${Object.keys(OrderDaiBan).map(key=>`${key}:${OrderDaiBan[key].length}条`).join(', ')}`
|
349
|
-
}
|
350
|
-
})
|
351
|
-
let data = {
|
352
|
-
condition: '1 = 1',
|
353
|
-
data: {
|
354
|
-
orgid: this.$login.f.orgid,
|
355
|
-
id: this.$login.f.id
|
356
|
-
}
|
330
|
+
})
|
331
|
+
let data = {
|
332
|
+
condition: '1 = 1',
|
333
|
+
data: {
|
334
|
+
orgid: this.$login.f.orgid,
|
335
|
+
id: this.$login.f.id
|
357
336
|
}
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
if (res.data.length> 0){
|
368
|
-
this.AppDaiBan = `您有${res.data.length}条需要处理的报建待办业务!`
|
369
|
-
this.AppDaiBan += `其中 ${Object.keys(AppDaiBan).map(key=>`${key}:${AppDaiBan[key].length}条`).join(', ')}`
|
370
|
-
}
|
371
|
-
}).catch((e)=>{
|
372
|
-
console.error(e)
|
337
|
+
}
|
338
|
+
await http.load('POST', '/rs/sql/checkuser', {data: data}, {
|
339
|
+
resolveMsg: null,
|
340
|
+
rejectMsg: null
|
341
|
+
}).then((res) => {
|
342
|
+
let AppDaiBan = {}
|
343
|
+
res.data.forEach(item=>{
|
344
|
+
AppDaiBan[item.defname] = AppDaiBan[item.defname] || []
|
345
|
+
AppDaiBan[item.defname].push(item)
|
373
346
|
})
|
374
|
-
if(
|
375
|
-
this.
|
347
|
+
if (res.data.length> 0){
|
348
|
+
this.AppDaiBan = `您有${res.data.length}条需要处理的报建待办业务!`
|
349
|
+
this.AppDaiBan += `其中 ${Object.keys(AppDaiBan).map(key=>`${key}:${AppDaiBan[key].length}条`).join(', ')}`
|
376
350
|
}
|
377
|
-
}
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
this.
|
382
|
-
}
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
351
|
+
}).catch((e)=>{
|
352
|
+
console.error(e)
|
353
|
+
})
|
354
|
+
if(this.AppDaiBan || this.OrderDaiBan){
|
355
|
+
this.newTipShow = true
|
356
|
+
}
|
357
|
+
},
|
358
|
+
// 提醒框被点击
|
359
|
+
tipClick(){
|
360
|
+
this.newTipShow = false
|
361
|
+
this.newTipContextShow = true
|
362
|
+
},
|
363
|
+
gotoWorkOrderSite(){
|
364
|
+
const isRemind =this.$appdata.getSingleValue("站点工单提醒")
|
365
|
+
console.log('站点工单是否提醒',isRemind)
|
366
|
+
if(isRemind && isRemind !== '是'){
|
367
|
+
return
|
368
|
+
}
|
369
|
+
if(this.functions && this.functions.f_role_name && this.functions.f_role_name.indexOf('派单员') !== -1){
|
370
|
+
const data = {
|
371
|
+
"condition":
|
372
|
+
{
|
373
|
+
"condition":" 1=1 and processins.activities[ state='开始活动' and (defname in('站点接单'))].count(*) > 0 ",
|
374
|
+
"sign":"1=1"
|
375
|
+
},
|
376
|
+
"userid":this.functions.name
|
388
377
|
}
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
{
|
393
|
-
"condition":" 1=1 and processins.activities[ state='开始活动' and (defname in('站点接单'))].count(*) > 0 ",
|
394
|
-
"sign":"1=1"
|
395
|
-
},
|
396
|
-
"userid":this.functions.name
|
378
|
+
new HttpResetClass().load('POST','rs/path/operatorService/n', {data}, {resolveMsg: null, rejectMsg: null}).then(res=>{
|
379
|
+
if(res.data && res.data.n !== 0){
|
380
|
+
this.$showMessage('你有'+res.data.n+'个工单待处理,请尽快前往站点工单页面进行处理')
|
397
381
|
}
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
this.
|
411
|
-
|
412
|
-
this.srcsetting = '../../static/newStyle/setting.png'
|
413
|
-
} else {
|
414
|
-
this.srcsetting = '../../static/newStyle/setting1.png'
|
415
|
-
}
|
382
|
+
})
|
383
|
+
}
|
384
|
+
},
|
385
|
+
openUrl() {
|
386
|
+
var url = `http://123.60.214.109:8406/submitTicket?contact=${this.$login.f.name}&orgName=${this.$login.f.orgs}&phone=${this.$login.f.f_user_telephone}`
|
387
|
+
window.open(url, '_blank')
|
388
|
+
},
|
389
|
+
hindsetting() {
|
390
|
+
this.setting = !this.setting
|
391
|
+
if (this.setting) {
|
392
|
+
this.srcsetting = '../../static/newStyle/setting.png'
|
393
|
+
} else {
|
394
|
+
this.srcsetting = '../../static/newStyle/setting1.png'
|
395
|
+
}
|
416
396
|
|
417
397
|
},
|
418
398
|
hindsetting1() {
|
@@ -1,107 +1,107 @@
|
|
1
|
-
<template>
|
2
|
-
<div>
|
3
|
-
<validator name="v">
|
4
|
-
<modal :show.sync="show" v-ref:modal backdrop="false">
|
5
|
-
<header slot="modal-header" class="modal-header">
|
6
|
-
<button type="button" class="close" @click="rest"><span>×</span></button>
|
7
|
-
<h4 class="modal-title">修改密码</h4>
|
8
|
-
</header>
|
9
|
-
<article slot="modal-body" class="modal-body modifystyle auto form-horizontal">
|
10
|
-
<div class="has-feedback form-group"
|
11
|
-
:class="{'has-warning':$v.password.required,'has-error': $v.password.required,
|
12
|
-
'has-success':!$v.password.required}">
|
13
|
-
<label for="password" class="col-sm-4 col-sm-offset-1 control-label">原始密码: </label>
|
14
|
-
<div class="col-sm-4">
|
15
|
-
<input type="password" v-model="deliver.password" class="form-control" id="password" v-validate:password="{ required: true}">
|
16
|
-
<span class="glyphicon glyphicon-ok form-control-feedback" v-if="!$v.password.required"></span>
|
17
|
-
<span v-if="$v.password.required">不能为空</span>
|
18
|
-
</div>
|
19
|
-
</div>
|
20
|
-
<div class="has-feedback form-group"
|
21
|
-
:class="{'has-warning':$v.newpassword.required,'has-error':($v.newpassword.numbersAndLetter8to16 || $v.newpassword.minlength)&& !$v.newpassword.required && !$v.newpassword.chinesePassword,
|
22
|
-
'has-success': !$v.newpassword.required && !$v.newpassword.numbersAndLetter8to16&&!$v.newpassword.minlength && !$v.newpassword.chinesePassword}">
|
23
|
-
<label for="newpassword" class="col-sm-4 col-sm-offset-1 control-label">新的密码: </label>
|
24
|
-
<div class="col-sm-4">
|
25
|
-
<input type="password" v-model="deliver.newpassword" class="form-control" id="newpassword" v-validate:newpassword='{required:true, numbersAndLetter8to16: true, minlength: 6,chinesePassword: true}'>
|
26
|
-
<span class="glyphicon glyphicon-ok form-control-feedback" v-if="!$v.newpassword.required && !$v.newpassword.minlength && !($v.newpassword.numbersAndLetter8to16 && !($v.newpassword.required)) && !($v.newpassword.chinesePassword) "></span>
|
27
|
-
<span v-if="$v.newpassword.required">不能为空</span>
|
28
|
-
<span v-if="($v.newpassword.numbersAndLetter8to16||$v.newpassword.minlength) && !($v.newpassword.required&&$v.newpassword.minlength)">密码必须是8~16位数字与字母组合</span>
|
29
|
-
<span v-if="$v.newpassword.chinesePassword">密码不能包含中文</span>
|
30
|
-
</div>
|
31
|
-
</div>
|
32
|
-
<div class="has-feedback form-group"
|
33
|
-
:class="{'has-warning':$v.affirmpassword.required,'has-error':$v.affirmpassword.equalValid && !($v.affirmpassword.required),
|
34
|
-
'has-success': !$v.affirmpassword.required && !($v.affirmpassword.equalValid && !($v.affirmpassword.required))}">
|
35
|
-
<label for="affirmpassword" class="col-sm-4 col-sm-offset-1 control-label">确认密码: </label>
|
36
|
-
<div class="col-sm-4">
|
37
|
-
<input type="password" v-model="deliver.affirmpassword" class="form-control" id="affirmpassword" v-validate:affirmpassword="{ required: true, equalValid: deliver.newpassword }">
|
38
|
-
<span class="glyphicon glyphicon-ok form-control-feedback" v-if="!$v.affirmpassword.required && !($v.affirmpassword.equalValid && !($v.affirmpassword.required))"></span>
|
39
|
-
<span v-if="$v.affirmpassword.required">不能为空</span>
|
40
|
-
<span v-if="$v.affirmpassword.equalValid && !($v.affirmpassword.required)">两次密码不一致 !!</span>
|
41
|
-
</div>
|
42
|
-
</div>
|
43
|
-
</article>
|
44
|
-
|
45
|
-
<footer slot="modal-footer" class="modal-footer">
|
46
|
-
<button type="button" class="btn btn-success" @click='confirm' :disabled="!$v.valid">确认</button>
|
47
|
-
<button type="button" class="btn btn-default" @click='rest'>取消</button>
|
48
|
-
</footer>
|
49
|
-
</modal>
|
50
|
-
</validator>
|
51
|
-
</div>
|
52
|
-
|
53
|
-
|
54
|
-
</template>
|
55
|
-
<script>
|
56
|
-
import co from 'co'
|
57
|
-
import validator from '../../plugins/validation';
|
58
|
-
|
59
|
-
let saveGen = function * (self) {
|
60
|
-
self.deliver.ename = self.functions.ename
|
61
|
-
// let res = yield self.$post('rs/user/entity', {data: self.deliver})
|
62
|
-
// let res = yield self.$post('rs/db/modifypassword', {data: self.deliver})
|
63
|
-
// let res = yield self.$resetpost('/rs/db/modifypwd', {data: self.deliver})
|
64
|
-
// Util.f.password = self.deliver.newpassword
|
65
|
-
let res = yield self.$resetpost('/rs/user/modifypwd', {data: self.deliver })
|
66
|
-
self.$login.f.password = self.deliver.newpassword
|
67
|
-
if (res.data) {
|
68
|
-
self.deliver.password = ''
|
69
|
-
self.deliver.newpassword = ''
|
70
|
-
self.deliver.affirmpassword = ''
|
71
|
-
self.show = false
|
72
|
-
}
|
73
|
-
}
|
74
|
-
export default {
|
75
|
-
title: '系统管理-密码修改',
|
76
|
-
data () {
|
77
|
-
return {
|
78
|
-
deliver: {
|
79
|
-
password: '',
|
80
|
-
newpassword: '',
|
81
|
-
affirmpassword: ''
|
82
|
-
},
|
83
|
-
functions: this.$login.f
|
84
|
-
}
|
85
|
-
},
|
86
|
-
props: ['show'],
|
87
|
-
methods: {
|
88
|
-
confirm () {
|
89
|
-
let gen = saveGen(this)
|
90
|
-
co(gen)
|
91
|
-
},
|
92
|
-
rest () {
|
93
|
-
this.show = false
|
94
|
-
this.deliver = {password: '', newpassword: '', affirmpassword: ''}
|
95
|
-
}
|
96
|
-
}
|
97
|
-
}
|
98
|
-
</script>
|
99
|
-
<style>
|
100
|
-
/*修改密码body界面样式*/
|
101
|
-
.modifystyle {
|
102
|
-
background: #FCFEEE;
|
103
|
-
}
|
104
|
-
.modifystyle span{
|
105
|
-
color: red;
|
106
|
-
}
|
107
|
-
</style>
|
1
|
+
<template>
|
2
|
+
<div>
|
3
|
+
<validator name="v">
|
4
|
+
<modal :show.sync="show" v-ref:modal backdrop="false">
|
5
|
+
<header slot="modal-header" class="modal-header">
|
6
|
+
<button type="button" class="close" @click="rest"><span>×</span></button>
|
7
|
+
<h4 class="modal-title">修改密码</h4>
|
8
|
+
</header>
|
9
|
+
<article slot="modal-body" class="modal-body modifystyle auto form-horizontal">
|
10
|
+
<div class="has-feedback form-group"
|
11
|
+
:class="{'has-warning':$v.password.required,'has-error': $v.password.required,
|
12
|
+
'has-success':!$v.password.required}">
|
13
|
+
<label for="password" class="col-sm-4 col-sm-offset-1 control-label">原始密码: </label>
|
14
|
+
<div class="col-sm-4">
|
15
|
+
<input type="password" v-model="deliver.password" class="form-control" id="password" v-validate:password="{ required: true}">
|
16
|
+
<span class="glyphicon glyphicon-ok form-control-feedback" v-if="!$v.password.required"></span>
|
17
|
+
<span v-if="$v.password.required">不能为空</span>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
<div class="has-feedback form-group"
|
21
|
+
:class="{'has-warning':$v.newpassword.required,'has-error':($v.newpassword.numbersAndLetter8to16 || $v.newpassword.minlength)&& !$v.newpassword.required && !$v.newpassword.chinesePassword,
|
22
|
+
'has-success': !$v.newpassword.required && !$v.newpassword.numbersAndLetter8to16&&!$v.newpassword.minlength && !$v.newpassword.chinesePassword}">
|
23
|
+
<label for="newpassword" class="col-sm-4 col-sm-offset-1 control-label">新的密码: </label>
|
24
|
+
<div class="col-sm-4">
|
25
|
+
<input type="password" v-model="deliver.newpassword" class="form-control" id="newpassword" v-validate:newpassword='{required:true, numbersAndLetter8to16: true, minlength: 6,chinesePassword: true}'>
|
26
|
+
<span class="glyphicon glyphicon-ok form-control-feedback" v-if="!$v.newpassword.required && !$v.newpassword.minlength && !($v.newpassword.numbersAndLetter8to16 && !($v.newpassword.required)) && !($v.newpassword.chinesePassword) "></span>
|
27
|
+
<span v-if="$v.newpassword.required">不能为空</span>
|
28
|
+
<span v-if="($v.newpassword.numbersAndLetter8to16||$v.newpassword.minlength) && !($v.newpassword.required&&$v.newpassword.minlength)">密码必须是8~16位数字与字母组合</span>
|
29
|
+
<span v-if="$v.newpassword.chinesePassword">密码不能包含中文</span>
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
<div class="has-feedback form-group"
|
33
|
+
:class="{'has-warning':$v.affirmpassword.required,'has-error':$v.affirmpassword.equalValid && !($v.affirmpassword.required),
|
34
|
+
'has-success': !$v.affirmpassword.required && !($v.affirmpassword.equalValid && !($v.affirmpassword.required))}">
|
35
|
+
<label for="affirmpassword" class="col-sm-4 col-sm-offset-1 control-label">确认密码: </label>
|
36
|
+
<div class="col-sm-4">
|
37
|
+
<input type="password" v-model="deliver.affirmpassword" class="form-control" id="affirmpassword" v-validate:affirmpassword="{ required: true, equalValid: deliver.newpassword }">
|
38
|
+
<span class="glyphicon glyphicon-ok form-control-feedback" v-if="!$v.affirmpassword.required && !($v.affirmpassword.equalValid && !($v.affirmpassword.required))"></span>
|
39
|
+
<span v-if="$v.affirmpassword.required">不能为空</span>
|
40
|
+
<span v-if="$v.affirmpassword.equalValid && !($v.affirmpassword.required)">两次密码不一致 !!</span>
|
41
|
+
</div>
|
42
|
+
</div>
|
43
|
+
</article>
|
44
|
+
|
45
|
+
<footer slot="modal-footer" class="modal-footer">
|
46
|
+
<button type="button" class="btn btn-success" @click='confirm' :disabled="!$v.valid">确认</button>
|
47
|
+
<button type="button" class="btn btn-default" @click='rest'>取消</button>
|
48
|
+
</footer>
|
49
|
+
</modal>
|
50
|
+
</validator>
|
51
|
+
</div>
|
52
|
+
|
53
|
+
|
54
|
+
</template>
|
55
|
+
<script>
|
56
|
+
import co from 'co'
|
57
|
+
import validator from '../../plugins/validation';
|
58
|
+
|
59
|
+
let saveGen = function * (self) {
|
60
|
+
self.deliver.ename = self.functions.ename
|
61
|
+
// let res = yield self.$post('rs/user/entity', {data: self.deliver})
|
62
|
+
// let res = yield self.$post('rs/db/modifypassword', {data: self.deliver})
|
63
|
+
// let res = yield self.$resetpost('/rs/db/modifypwd', {data: self.deliver})
|
64
|
+
// Util.f.password = self.deliver.newpassword
|
65
|
+
let res = yield self.$resetpost('/rs/user/modifypwd', {data: self.deliver })
|
66
|
+
self.$login.f.password = self.deliver.newpassword
|
67
|
+
if (res.data) {
|
68
|
+
self.deliver.password = ''
|
69
|
+
self.deliver.newpassword = ''
|
70
|
+
self.deliver.affirmpassword = ''
|
71
|
+
self.show = false
|
72
|
+
}
|
73
|
+
}
|
74
|
+
export default {
|
75
|
+
title: '系统管理-密码修改',
|
76
|
+
data () {
|
77
|
+
return {
|
78
|
+
deliver: {
|
79
|
+
password: '',
|
80
|
+
newpassword: '',
|
81
|
+
affirmpassword: ''
|
82
|
+
},
|
83
|
+
functions: this.$login.f
|
84
|
+
}
|
85
|
+
},
|
86
|
+
props: ['show'],
|
87
|
+
methods: {
|
88
|
+
confirm () {
|
89
|
+
let gen = saveGen(this)
|
90
|
+
co(gen)
|
91
|
+
},
|
92
|
+
rest () {
|
93
|
+
this.show = false
|
94
|
+
this.deliver = {password: '', newpassword: '', affirmpassword: ''}
|
95
|
+
}
|
96
|
+
}
|
97
|
+
}
|
98
|
+
</script>
|
99
|
+
<style>
|
100
|
+
/*修改密码body界面样式*/
|
101
|
+
.modifystyle {
|
102
|
+
background: #FCFEEE;
|
103
|
+
}
|
104
|
+
.modifystyle span{
|
105
|
+
color: red;
|
106
|
+
}
|
107
|
+
</style>
|
@@ -1,8 +1,8 @@
|
|
1
|
-
// 分公司特殊组件页面注册
|
2
|
-
|
3
|
-
let specialComp = {
|
4
|
-
// 潜能密码改下
|
5
|
-
|
6
|
-
'home-page': (resolve) => require(['./Main'], resolve)
|
7
|
-
}
|
8
|
-
exports.specialComp = specialComp
|
1
|
+
// 分公司特殊组件页面注册
|
2
|
+
|
3
|
+
let specialComp = {
|
4
|
+
// 潜能密码改下
|
5
|
+
'modify-pw': (resolve) => { require(['./ModifyPw.vue'], resolve) },
|
6
|
+
'home-page': (resolve) => require(['./Main'], resolve)
|
7
|
+
}
|
8
|
+
exports.specialComp = specialComp
|