system-clients 3.3.3 → 3.3.4-v3

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.
Files changed (61) hide show
  1. package/package.info +1 -0
  2. package/package.json +103 -103
  3. package/src/LodopFuncs.js +71 -103
  4. package/src/components/Main.vue +15 -27
  5. package/src/components/Util.js +15 -0
  6. package/src/components/equipment/PcAdd.vue +1 -1
  7. package/src/components/equipment/PcList.vue +3 -3
  8. package/src/components/equipment/PhoneAdd.vue +1 -1
  9. package/src/components/equipment/PhoneList.vue +2 -2
  10. package/src/components/equipment/PosAdd.vue +11 -7
  11. package/src/components/equipment/PosList.vue +5 -3
  12. package/src/components/equipment/PosManage.vue +1 -1
  13. package/src/components/equipment/PosParamAdd.vue +2 -2
  14. package/src/components/equipment/PosParamList.vue +2 -2
  15. package/src/components/materialManage/materialList.vue +1 -1
  16. package/src/components/parammanage/ParamPage.vue +12 -12
  17. package/src/components/parammanage/ParamPages.vue +2 -2
  18. package/src/components/parammanage/SinglePage.vue +8 -8
  19. package/src/components/parammanage/SinglePages.vue +2 -2
  20. package/src/components/server/AddChangeMsg.vue +1 -1
  21. package/src/components/server/ChangeDeclare.vue +1 -1
  22. package/src/components/server/Login.vue +51 -67
  23. package/src/components/server/ModifyPw.vue +105 -35
  24. package/src/components/server/PcdBuildingSelect.vue +6 -8
  25. package/src/components/server/ResSelect.vue +0 -3
  26. package/src/components/server/ResSelectGroup.vue +1 -1
  27. package/src/components/server/RoleSelector.vue +2 -3
  28. package/src/components/server/TestResSelectGroup.vue +1 -1
  29. package/src/filiale/baole/Login.vue +24 -21
  30. package/src/filiale/chengtou/Login.vue +24 -21
  31. package/src/filiale/dongguan/Login.vue +24 -21
  32. package/src/filiale/dongguan/Main.vue +3 -5
  33. package/src/filiale/furuike/Login.vue +25 -24
  34. package/src/filiale/furuike/Main.vue +26 -39
  35. package/src/filiale/gehua/Main.vue +3 -5
  36. package/src/filiale/konggang/Login.vue +24 -21
  37. package/src/filiale/qianneng/Login.vue +24 -21
  38. package/src/filiale/qianneng/Main.vue +3 -5
  39. package/src/filiale/qianneng/ModifyPw.vue +105 -32
  40. package/src/filiale/rizhao/Login.vue +23 -20
  41. package/src/filiale/rizhao/Main.vue +3 -3
  42. package/src/filiale/shiquan/Login.vue +24 -21
  43. package/src/filiale/tianyi/Login.vue +24 -21
  44. package/src/filiale/tongchuan/Login.vue +24 -21
  45. package/src/filiale/tongchuan/Main.vue +6 -8
  46. package/src/filiale/weinan/Main.vue +6 -7
  47. package/src/filiale/wenxi/Login.vue +24 -21
  48. package/src/filiale/wenxi/Main.vue +3 -5
  49. package/src/filiale/wuhai/Main.vue +3 -6
  50. package/src/filiale/yuchuan/Login.vue +25 -22
  51. package/src/filiale/yuchuan/Main.vue +3 -5
  52. package/src/filiale/zhoukou/Main.vue +3 -5
  53. package/src/plugins/EncryptUtil.js +1 -1
  54. package/src/plugins/GetLoginInfoService.js +85 -20
  55. package/src/plugins/validation.js +12 -8
  56. package/src/stores/AppData.js +2 -1
  57. package/src/util/password-validation.js +185 -0
  58. package/build.gradle +0 -6
  59. package/src/filiale/ruihua/Login.vue +0 -576
  60. package/src/filiale/ruihua/system.js +0 -5
  61. package/static/ruihua/logo.jpg +0 -0
@@ -97,8 +97,7 @@ let getwartermakr = async function (self) {
97
97
  tablename: 't_singlevalue',
98
98
  condition: " 1=1 and name=\'水印内容\'"
99
99
  };
100
- // todo v4
101
- let result = await self.$resetpost('api/af-revenue/sql/saleSingleTable', {data: param}, {resolveMsg: null, rejectMsg: null});
100
+ let result = await self.$resetpost('rs/sql/saleSingleTable', {data: param}, {resolveMsg: null, rejectMsg: null});
102
101
  if (result && result.data.length > 0) {
103
102
  self.showwatermakeflag = true;
104
103
  createWaterMark(result.data[0].value);
@@ -242,7 +241,7 @@ export default {
242
241
  this.OrderDaiBan = ''
243
242
  this.AppDaiBan = ''
244
243
  let http = new HttpResetClass()
245
- await http.load('POST', '/api/af-system/sql/singleTable', {data: {
244
+ await http.load('POST', '/rs/sql/singleTable', {data: {
246
245
  tablename:'t_order_center',
247
246
  condition:` (f_orderstate != '预约成功' and f_orgstr ='${this.$login.f.orgid}' and f_orderstate != '预约失败' ) or f_orderstate is null`
248
247
  }}, {
@@ -314,7 +313,7 @@ export default {
314
313
  }
315
314
  },
316
315
  openUrl() {
317
- var url = `http://123.60.214.109:8406/submitTicket?personName=${this.$login.f.name}&orgName=${this.$login.f.orgs}`
316
+ var url = `https://liuli.aofengcloud.com:31467`
318
317
  window.open(url, '_blank')
319
318
  },
320
319
  hindsetting() {
@@ -393,7 +392,6 @@ export default {
393
392
  username: this.$login.f.name,
394
393
  usertelephone: this.$login.f.f_user_telephone
395
394
  }
396
- // todo v4
397
395
  await this.$resetpost('rs/logic/logOut', data, {resolveMsg: '退出成功', rejectMsg: null})
398
396
  window.location.reload()
399
397
  }
@@ -133,9 +133,11 @@
133
133
 
134
134
  <script>
135
135
  import co from 'co'
136
+ import { isStrongPassword } from '../../util/password-validation'
136
137
  import $ from 'jquery'
137
138
  import Vue from 'vue'
138
139
  import {HttpResetClass} from 'vue-client'
140
+ import {isPasswordModificationExpired} from '../../components/Util'
139
141
 
140
142
  let daibanJson = require('../../util/Daiban.json')
141
143
 
@@ -166,7 +168,6 @@ let saveGen = function *(self) {
166
168
  console.log('登录配置', self.config)
167
169
  if (self.config.isMac) {
168
170
  // 获取该登录人分公司下的mac配置
169
- // todo v4
170
171
  let getMacs = yield self.$resetpost('rs/sql/equipmentQuery', {data: {condition: `f_filialeids like '%${self.$login.f.f_orgids}%'`}}, {
171
172
  resolveMsg: null,
172
173
  rejectMsg: null
@@ -196,12 +197,15 @@ let saveGen = function *(self) {
196
197
  }
197
198
  }
198
199
  console.log(self.$login.depPrompt)
199
- // 弱口令验证
200
- //跳转过来的不进行验证
201
- if ((!self.otherLogin) && self.config.weakPassword && !(/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/.test(self.model.password))) {
200
+ // 弱口令验证(默认开启,跳转过来的不进行验证)
201
+ if ((!self.otherLogin) && !isStrongPassword(self.model.password)) {
202
202
  self.$showMessage('登录系统: 此账户的密码过于简单,请修改密码后重新登陆!!!', ['confirm']).then((res) => {
203
203
  self.modifyPwShow = true
204
204
  })
205
+ } else if ((!self.otherLogin) && isPasswordModificationExpired(self.$login.f.f_last_modification_time)) {
206
+ self.$showMessage('登录系统: 您的密码已超过两个半月未修改,请修改密码后重新登录!!!', ['confirm']).then((res) => {
207
+ self.modifyPwShow = true
208
+ })
205
209
  } else if ((!self.otherLogin) && self.$login.depPrompt) {
206
210
  self.depPromptShow = true
207
211
  if (self.$login.showDaiBan && self.$login.r.includes('展示预约信息')){
@@ -228,6 +232,8 @@ let saveGen = function *(self) {
228
232
 
229
233
  } catch (ret) {
230
234
  console.error('登录失败', ret)
235
+ self.$login.s = null
236
+ self.$login['v3-session-key'] = null
231
237
  let msg
232
238
  if (ret instanceof Error) {
233
239
  msg = ret
@@ -264,14 +270,12 @@ export default {
264
270
  st: obj.ticket,
265
271
  serviceKey: this.config.serviceKey
266
272
  }
267
- // todo v4
268
273
  this.$resetpost('/sso/logic/serviceValidate', params,{resolveMsg: null, rejectMsg: null}).then((re) => {
269
274
  // this.$showMessage("re----" + JSON.stringify(re))
270
275
  if (re.data.code === 200) {
271
276
  this.showlogin = false
272
277
  let condition = `ename = '${re.data.data.userName}'`
273
- // todo v4
274
- this.$resetpost('api/af-system/sql/singleTable', {data: { items: '*', tablename: 't_user', condition: condition}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
278
+ this.$resetpost('rs/sql/singleTable', {data: { items: '*', tablename: 't_user', condition: condition}}, {resolveMsg: null, rejectMsg: null}).then((res) => {
275
279
  if (res.data && res.data.length > 0) {
276
280
  this.model.ename = res.data[0].ename
277
281
  this.model.password = res.data[0].password
@@ -295,19 +299,19 @@ export default {
295
299
  this.titleShow = this.$appdata.getSingleValue('关于我们')
296
300
  window.versionTime = window.versionTime ? window.versionTime : new Date().getTime()
297
301
  this.vTime = this.format(new Date(window.versionTime));
298
- try{
299
- let http = new HttpResetClass()
300
- let res = await http.load('POST', 'api/af-system/sql/singleTable',
301
- {data:{
302
- tablename: 't_changedeclare',
303
- condition: ` f_type ='变更通知' `
304
- }
305
- }, {resolveMsg: null, rejectMsg: null})
306
- if(res.data.length>0){
307
- console.log("---------------获取通知",res.data[0].f_change_message)
308
- this.notice=res.data[0].f_change_message
309
- }
310
- }catch(e){}
302
+ // try{
303
+ // let http = new HttpResetClass()
304
+ // let res = await http.load('POST', 'rs/sql/singleTable',
305
+ // {data:{
306
+ // tablename: 't_changedeclare',
307
+ // condition: ` f_type ='变更通知' `
308
+ // }
309
+ // }, {resolveMsg: null, rejectMsg: null})
310
+ // if(res.data.length>0){
311
+ // console.log("---------------获取通知",res.data[0].f_change_message)
312
+ // this.notice=res.data[0].f_change_message
313
+ // }
314
+ // }catch(e){}
311
315
 
312
316
  this.loginother();
313
317
  $('#login-button').click(function (event) {
@@ -316,10 +320,8 @@ export default {
316
320
  })
317
321
  if (window.location.search && window.location.search.indexOf('af_key') !== -1&& window.location.search.indexOf('af_n') !== -1) {
318
322
  const subUrl = window.location.search.replace('?af_key=','').split('&af_n=')
319
- console.log(subUrl)
320
323
  this.model.ename = window.atob(subUrl[0])
321
324
  this.model.password = window.atob(subUrl[1])
322
- console.log('this.model.ename',this.model.ename)
323
325
  this.otherLogin = true
324
326
  this.confirm()
325
327
  }else{
@@ -401,7 +403,7 @@ export default {
401
403
  } else {
402
404
  condition =` f_orderstate is null and (f_address in( select f_address from t_user_address where f_slice_area='柠条塔') or f_address like '%柠条塔%') `
403
405
  }
404
- await http.load('POST', '/api/af-system/sql/singleTable', {data: {
406
+ await http.load('POST', '/rs/sql/singleTable', {data: {
405
407
  tablename:'t_order_center',
406
408
  condition:condition
407
409
  }}, {
@@ -477,7 +479,6 @@ export default {
477
479
  if (this.config.distanceLogin) {
478
480
  if (this.$login && this.$login.getUrlParames('name') ) {
479
481
  let ename = this.$login.getUrlParames('name');
480
- // todo v4
481
482
  let logininfo = await this.$resetpost('rs/logic/getLoginData',{data:{ename:ename}},{resolveMsg: null, rejectMsg: null});
482
483
  if(logininfo.data){
483
484
  if(logininfo.data.ename && logininfo.data.password){
@@ -178,8 +178,7 @@ let getwartermakr = async function (self) {
178
178
  tablename: 't_singlevalue',
179
179
  condition: " 1=1 and name=\'水印内容\'"
180
180
  };
181
- // todo v4
182
- let result = await self.$resetpost('api/af-revenue/sql/saleSingleTable', {data: param}, {resolveMsg: null, rejectMsg: null});
181
+ let result = await self.$resetpost('rs/sql/saleSingleTable', {data: param}, {resolveMsg: null, rejectMsg: null});
183
182
  if (result && result.data.length > 0) {
184
183
  self.showwatermakeflag = true;
185
184
  createWaterMark(`${result.data[0].value}${self.$login.f.ename}`);
@@ -328,7 +327,7 @@ export default {
328
327
  this.OrderDaiBan = ''
329
328
  this.AppDaiBan = ''
330
329
  let http = new HttpResetClass()
331
- await http.load('POST', '/api/af-system/sql/singleTable', {data: {
330
+ await http.load('POST', '/rs/sql/singleTable', {data: {
332
331
  tablename:'t_order_center',
333
332
  condition:` (f_orderstate != '预约成功' and f_orgstr ='${this.$login.f.orgid}' and f_orderstate != '预约失败' ) or f_orderstate is null`
334
333
  }}, {
@@ -400,44 +399,33 @@ export default {
400
399
  }
401
400
  },
402
401
  async workorderOverRemind(){
403
- var f_filialeids=this.$login.f.orgid
404
- const data = {
405
- condition: `f_filiale_id in ('${f_filialeids}') and overday >= 0`
406
- }
407
- new HttpResetClass().load('POST','rs/sql/serviceDetails/n', {data}, {resolveMsg: null, rejectMsg: null}).then(res=>{
408
- if(res.data && res.data.n !== 0){
409
- // this.$showMessage('你有'+res.data.n+'个工单已逾期,请尽快处理')
410
- this.yuqitishi = true
411
- this.num = res.data.n
402
+ if(this.functions && this.functions.f_role_name && this.functions.f_role_name.indexOf('管理员') !== -1 && this.functions.f_role_name.indexOf('管理人员') == -1){
403
+ let res = await new HttpResetClass().load('POST', '/rs/sql/tel_singleTable', {
404
+ "data": {
405
+ "items": "*",
406
+ "tablename": "t_organization",
407
+ "condition": `parentid = '${this.functions.orgid}'`
408
+ }
409
+ }, {resolveMsg: null, rejectMsg: null})
410
+ const f_filialeids = [this.functions.orgid]
411
+ for (const f of res.data) {
412
+ f_filialeids.push(f.id)
412
413
  }
413
- })
414
- // if(this.functions && this.functions.f_role_name && this.functions.f_role_name.indexOf('管理员') !== -1 && this.functions.f_role_name.indexOf('管理人员') == -1){
415
- // let res = await new HttpResetClass().load('POST', '/rs/sql/tel_singleTable', {
416
- // "data": {
417
- // "items": "*",
418
- // "tablename": "t_organization",
419
- // "condition": `parentid = '${this.functions.orgid}'`
420
- // }
421
- // }, {resolveMsg: null, rejectMsg: null})
422
- // const f_filialeids = [this.functions.orgid]
423
- // for (const f of res.data) {
424
- // f_filialeids.push(f.id)
425
- // }
426
- //
427
- // const data = {
428
- // condition: `f_filiale_id in (${f_filialeids.join(',')}) and overday >= 0`
429
- // }
430
- // new HttpResetClass().load('POST','rs/sql/serviceDetails/n', {data}, {resolveMsg: null, rejectMsg: null}).then(res=>{
431
- // if(res.data && res.data.n !== 0){
432
- // /*this.$showMessage('你有'+res.data.n+'个工单已逾期,请尽快处理')*/
433
- // this.yuqitishi = true
434
- // this.num = res.data.n
435
- // }
436
- // })
437
- // }
414
+
415
+ const data = {
416
+ condition: `f_filiale_id in (${f_filialeids.join(',')}) and overday >= 0`
417
+ }
418
+ new HttpResetClass().load('POST','rs/sql/serviceDetails/n', {data}, {resolveMsg: null, rejectMsg: null}).then(res=>{
419
+ if(res.data && res.data.n !== 0){
420
+ /*this.$showMessage('你有'+res.data.n+'个工单已逾期,请尽快处理')*/
421
+ this.yuqitishi = true
422
+ this.num = res.data.n
423
+ }
424
+ })
425
+ }
438
426
  },
439
427
  openUrl() {
440
- 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}`
428
+ var url = `https://liuli.aofengcloud.com:31467`
441
429
  window.open(url, '_blank')
442
430
  },
443
431
  hindsetting() {
@@ -516,7 +504,6 @@ export default {
516
504
  username: this.$login.f.name,
517
505
  usertelephone: this.$login.f.f_user_telephone
518
506
  }
519
- // todo v4
520
507
  await this.$resetpost('rs/logic/logOut', data, {resolveMsg: '退出成功', rejectMsg: null})
521
508
  window.location.reload()
522
509
  }
@@ -151,8 +151,7 @@ let getwartermakr = async function (self) {
151
151
  tablename: 't_singlevalue',
152
152
  condition: " 1=1 and name=\'水印内容\'"
153
153
  };
154
- // todo v4
155
- let result = await self.$resetpost('api/af-revenue/sql/saleSingleTable', {data: param}, {resolveMsg: null, rejectMsg: null});
154
+ let result = await self.$resetpost('rs/sql/saleSingleTable', {data: param}, {resolveMsg: null, rejectMsg: null});
156
155
  if (result && result.data.length > 0) {
157
156
  self.showwatermakeflag = true;
158
157
  createWaterMark(`${result.data[0].value}${self.$login.f.ename}`);
@@ -292,7 +291,7 @@ export default {
292
291
  this.OrderDaiBan = ''
293
292
  this.AppDaiBan = ''
294
293
  let http = new HttpResetClass()
295
- await http.load('POST', '/api/af-system/sql/singleTable', {data: {
294
+ await http.load('POST', '/rs/sql/singleTable', {data: {
296
295
  tablename:'t_order_center',
297
296
  condition:` (f_orderstate != '预约成功' and f_orgstr ='${this.$login.f.orgid}' and f_orderstate != '预约失败' ) or f_orderstate is null`
298
297
  }}, {
@@ -364,7 +363,7 @@ export default {
364
363
  }
365
364
  },
366
365
  openUrl() {
367
- var url = `http://123.60.214.109:8406/submitTicket?personName=${this.$login.f.name}&orgName=${this.$login.f.orgs}`
366
+ var url = `https://liuli.aofengcloud.com:31467`
368
367
  window.open(url, '_blank')
369
368
  },
370
369
  hindsetting() {
@@ -423,7 +422,6 @@ export default {
423
422
  username: this.$login.f.name,
424
423
  usertelephone: this.$login.f.f_user_telephone
425
424
  }
426
- // todo v4
427
425
  await this.$resetpost('rs/logic/logOut', data, {resolveMsg: '退出成功', rejectMsg: null})
428
426
  window.location.reload()
429
427
  }
@@ -131,9 +131,11 @@
131
131
 
132
132
  <script>
133
133
  import co from 'co'
134
+ import { isStrongPassword } from '../../util/password-validation'
134
135
  import $ from 'jquery'
135
136
  import Vue from 'vue'
136
137
  import {HttpResetClass} from 'vue-client'
138
+ import {isPasswordModificationExpired} from '../../components/Util'
137
139
 
138
140
 
139
141
 
@@ -162,7 +164,6 @@
162
164
  console.log('登录配置', self.config)
163
165
  if (self.config.isMac) {
164
166
  // 获取该登录人分公司下的mac配置
165
- // todo v4
166
167
  let getMacs = yield self.$resetpost('rs/sql/equipmentQuery', {data: {condition: `f_filialeids like '%${self.$login.f.f_orgids}%'`}}, {
167
168
  resolveMsg: null,
168
169
  rejectMsg: null
@@ -192,12 +193,15 @@
192
193
  }
193
194
  }
194
195
  console.log(self.$login.depPrompt)
195
- // 弱口令验证
196
- //跳转过来的不进行验证
197
- if ((!self.otherLogin) && self.config.weakPassword && !(/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/.test(self.model.password))) {
196
+ // 弱口令验证(默认开启,跳转过来的不进行验证)
197
+ if ((!self.otherLogin) && !isStrongPassword(self.model.password)) {
198
198
  self.$showMessage('登录系统: 此账户的密码过于简单,请修改密码后重新登陆!!!', ['confirm']).then((res) => {
199
199
  self.modifyPwShow = true
200
200
  })
201
+ } else if ((!self.otherLogin) && isPasswordModificationExpired(self.$login.f.f_last_modification_time)) {
202
+ self.$showMessage('登录系统: 您的密码已超过两个半月未修改,请修改密码后重新登录!!!', ['confirm']).then((res) => {
203
+ self.modifyPwShow = true
204
+ })
201
205
  } else if ((!self.otherLogin) && self.$login.depPrompt) {
202
206
  self.depPromptShow = true
203
207
  if (self.$login.showDaiBan && self.$login.r.includes('展示预约信息')){
@@ -218,6 +222,8 @@
218
222
 
219
223
  } catch (ret) {
220
224
  console.error('登录失败', ret)
225
+ self.$login.s = null
226
+ self.$login['v3-session-key'] = null
221
227
  let msg
222
228
  if (ret instanceof Error) {
223
229
  msg = ret
@@ -241,19 +247,19 @@
241
247
  export default {
242
248
  title: '登录',
243
249
  async ready () {
244
- try{
245
- let http = new HttpResetClass()
246
- let res = await http.load('POST', 'api/af-system/sql/singleTable',
247
- {data:{
248
- tablename: 't_changedeclare',
249
- condition: ` f_type ='变更通知' `
250
- }
251
- }, {resolveMsg: null, rejectMsg: null})
252
- if(res.data.length>0){
253
- console.log("---------------获取通知",res.data[0].f_change_message)
254
- this.notice=res.data[0].f_change_message
255
- }
256
- }catch(e){}
250
+ // try{
251
+ // let http = new HttpResetClass()
252
+ // let res = await http.load('POST', 'rs/sql/singleTable',
253
+ // {data:{
254
+ // tablename: 't_changedeclare',
255
+ // condition: ` f_type ='变更通知' `
256
+ // }
257
+ // }, {resolveMsg: null, rejectMsg: null})
258
+ // if(res.data.length>0){
259
+ // console.log("---------------获取通知",res.data[0].f_change_message)
260
+ // this.notice=res.data[0].f_change_message
261
+ // }
262
+ // }catch(e){}
257
263
 
258
264
  this.loginother();
259
265
  $('#login-button').click(function (event) {
@@ -262,10 +268,8 @@
262
268
  })
263
269
  if (window.location.search && window.location.search.indexOf('af_key') !== -1&& window.location.search.indexOf('af_n') !== -1) {
264
270
  const subUrl = window.location.search.replace('?af_key=','').split('&af_n=')
265
- console.log(subUrl)
266
271
  this.model.ename = window.atob(subUrl[0])
267
272
  this.model.password = window.atob(subUrl[1])
268
- console.log('this.model.ename',this.model.ename)
269
273
  this.otherLogin = true
270
274
  this.confirm()
271
275
  }else{
@@ -327,7 +331,7 @@
327
331
  } else {
328
332
  condition =` f_orderstate is null and (f_address in( select f_address from t_user_address where f_slice_area='柠条塔') or f_address like '%柠条塔%') `
329
333
  }
330
- await http.load('POST', '/api/af-system/sql/singleTable', {data: {
334
+ await http.load('POST', '/rs/sql/singleTable', {data: {
331
335
  tablename:'t_order_center',
332
336
  condition:condition
333
337
  }}, {
@@ -371,7 +375,6 @@
371
375
  if (this.config.distanceLogin) {
372
376
  if (this.$login && this.$login.getUrlParames('name') ) {
373
377
  let ename = this.$login.getUrlParames('name');
374
- // todo v4
375
378
  let logininfo = await this.$resetpost('rs/logic/getLoginData',{data:{ename:ename}},{resolveMsg: null, rejectMsg: null});
376
379
  if(logininfo.data){
377
380
  if(logininfo.data.ename && logininfo.data.password){
@@ -142,9 +142,11 @@
142
142
 
143
143
  <script>
144
144
  import co from 'co'
145
+ import { isStrongPassword } from '../../util/password-validation'
145
146
  import $ from 'jquery'
146
147
  import Vue from 'vue'
147
148
  import {HttpResetClass} from 'vue-client'
149
+ import {isPasswordModificationExpired} from '../../components/Util'
148
150
  import cryptJS from "../../plugins/EncryptUtil";
149
151
 
150
152
  let daibanJson = require('../../util/Daiban.json')
@@ -175,7 +177,6 @@ let saveGen = function *(self) {
175
177
  console.log('登录配置', self.config)
176
178
  if (self.config.isMac) {
177
179
  // 获取该登录人分公司下的mac配置
178
- // todo v4
179
180
  let getMacs = yield self.$resetpost('rs/sql/equipmentQuery', {data: {condition: `f_filialeids like '%${self.$login.f.f_orgids}%'`}}, {
180
181
  resolveMsg: null,
181
182
  rejectMsg: null
@@ -205,12 +206,15 @@ let saveGen = function *(self) {
205
206
  }
206
207
  }
207
208
  console.log(self.$login.depPrompt)
208
- // 弱口令验证
209
- //跳转过来的不进行验证
210
- if ((!self.otherLogin) && self.config.weakPassword && !(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?!.*(.)(\1)+)(?!.*(123|321|abc|cba))[a-zA-Z\d!@#$%^&*()_+-=<>?]{8,16}$/.test(self.model.password))) {
209
+ // 弱口令验证(默认开启,跳转过来的不进行验证)
210
+ if ((!self.otherLogin) && !isStrongPassword(self.model.password)) {
211
211
  self.$showMessage('登录系统: 此账户的密码过于简单,请修改密码后重新登陆!!!', ['confirm']).then((res) => {
212
212
  self.modifyPwShow = true
213
213
  })
214
+ } else if ((!self.otherLogin) && isPasswordModificationExpired(self.$login.f.f_last_modification_time)) {
215
+ self.$showMessage('登录系统: 您的密码已超过两个半月未修改,请修改密码后重新登录!!!', ['confirm']).then((res) => {
216
+ self.modifyPwShow = true
217
+ })
214
218
  } else if ((!self.otherLogin) && self.$login.depPrompt) {
215
219
  self.depPromptShow = true
216
220
  if (self.$login.showDaiBan && self.$login.r.includes('展示预约信息')){
@@ -231,6 +235,8 @@ let saveGen = function *(self) {
231
235
  }
232
236
  } catch (ret) {
233
237
  console.error('登录失败', ret)
238
+ self.$login.s = null
239
+ self.$login['v3-session-key'] = null
234
240
  let msg
235
241
  if (ret instanceof Error) {
236
242
  msg = ret
@@ -259,19 +265,19 @@ export default {
259
265
  this.titleShow = this.$appdata.getSingleValue('关于我们')
260
266
  window.versionTime = window.versionTime ? window.versionTime : new Date().getTime()
261
267
  this.vTime = this.format(new Date(window.versionTime));
262
- try{
263
- let http = new HttpResetClass()
264
- let res = await http.load('POST', 'api/af-system/sql/singleTable',
265
- {data:{
266
- tablename: 't_changedeclare',
267
- condition: ` f_type ='变更通知' `
268
- }
269
- }, {resolveMsg: null, rejectMsg: null})
270
- if(res.data.length>0){
271
- console.log("---------------获取通知",res.data[0].f_change_message)
272
- this.notice=res.data[0].f_change_message
273
- }
274
- }catch(e){}
268
+ // try{
269
+ // let http = new HttpResetClass()
270
+ // let res = await http.load('POST', 'rs/sql/singleTable',
271
+ // {data:{
272
+ // tablename: 't_changedeclare',
273
+ // condition: ` f_type ='变更通知' `
274
+ // }
275
+ // }, {resolveMsg: null, rejectMsg: null})
276
+ // if(res.data.length>0){
277
+ // console.log("---------------获取通知",res.data[0].f_change_message)
278
+ // this.notice=res.data[0].f_change_message
279
+ // }
280
+ // }catch(e){}
275
281
 
276
282
  this.loginother();
277
283
  $('#login-button').click(function (event) {
@@ -295,10 +301,8 @@ export default {
295
301
  this.confirm()
296
302
  } else if (window.location.search && window.location.search.indexOf('af_key') !== -1&& window.location.search.indexOf('af_n') !== -1) {
297
303
  const subUrl = window.location.search.replace('?af_key=','').split('&af_n=')
298
- console.log(subUrl)
299
304
  this.model.ename = window.atob(subUrl[0])
300
305
  this.model.password = window.atob(subUrl[1])
301
- console.log('this.model.ename',this.model.ename)
302
306
  this.otherLogin = true
303
307
  this.confirm()
304
308
  }else{
@@ -378,7 +382,7 @@ export default {
378
382
  } else {
379
383
  condition =` f_orderstate is null and (f_address in( select f_address from t_user_address where f_slice_area='柠条塔') or f_address like '%柠条塔%') `
380
384
  }
381
- await http.load('POST', '/api/af-system/sql/singleTable', {data: {
385
+ await http.load('POST', '/rs/sql/singleTable', {data: {
382
386
  tablename:'t_order_center',
383
387
  condition:condition
384
388
  }}, {
@@ -454,7 +458,6 @@ export default {
454
458
  if (this.config.distanceLogin) {
455
459
  if (this.$login && this.$login.getUrlParames('name') ) {
456
460
  let ename = this.$login.getUrlParames('name');
457
- // todo v4
458
461
  let logininfo = await this.$resetpost('rs/logic/getLoginData',{data:{ename:ename}},{resolveMsg: null, rejectMsg: null});
459
462
  if(logininfo.data){
460
463
  if(logininfo.data.ename && logininfo.data.password){
@@ -161,8 +161,7 @@ let getwartermakr = async function (self) {
161
161
  tablename: 't_singlevalue',
162
162
  condition: " 1=1 and name=\'水印内容\'"
163
163
  };
164
- // todo v4
165
- let result = await self.$resetpost('api/af-revenue/sql/saleSingleTable', {data: param}, {resolveMsg: null, rejectMsg: null});
164
+ let result = await self.$resetpost('rs/sql/saleSingleTable', {data: param}, {resolveMsg: null, rejectMsg: null});
166
165
  if (result && result.data.length > 0) {
167
166
  self.showwatermakeflag = true;
168
167
  createWaterMark(`${result.data[0].value}${self.$login.f.ename}`);
@@ -301,7 +300,7 @@ export default {
301
300
  this.OrderDaiBan = ''
302
301
  this.AppDaiBan = ''
303
302
  let http = new HttpResetClass()
304
- await http.load('POST', '/api/af-system/sql/singleTable', {data: {
303
+ await http.load('POST', '/rs/sql/singleTable', {data: {
305
304
  tablename:'t_order_center',
306
305
  condition:` (f_orderstate != '预约成功' and f_orgstr ='${this.$login.f.orgid}' and f_orderstate != '预约失败' ) or f_orderstate is null`
307
306
  }}, {
@@ -373,7 +372,7 @@ export default {
373
372
  }
374
373
  },
375
374
  openUrl() {
376
- var url = `http://123.60.214.109:8406/submitTicket?personName=${this.$login.f.name}&orgName=${this.$login.f.orgs}`
375
+ var url = `https://liuli.aofengcloud.com:31467`
377
376
  window.open(url, '_blank')
378
377
  },
379
378
  hindsetting() {
@@ -432,7 +431,6 @@ export default {
432
431
  username: this.$login.f.name,
433
432
  usertelephone: this.$login.f.f_user_telephone
434
433
  }
435
- // todo v4
436
434
  await this.$resetpost('rs/logic/logOut', data, {resolveMsg: '退出成功', rejectMsg: null})
437
435
  window.location.reload()
438
436
  }