system-clients 3.2.103-temp → 3.2.105-baoledp

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "system-clients",
3
- "version": "3.2.103-temp",
3
+ "version": "3.2.105-baoledp",
4
4
  "description": "系统基础框架",
5
5
  "main": "src/index.js",
6
6
  "directories": {
@@ -135,7 +135,7 @@
135
135
  </modal>
136
136
 
137
137
  <!-- 修改密码组件 -->
138
- <modify-pw :show.sync="modifyPwShow" v-if="modifyPwShow"></modify-pw>
138
+ <modify-pw :show.sync="modifyPwShow" v-if="modifyPwShow" :ename="model.ename"></modify-pw>
139
139
  </div>
140
140
 
141
141
  </template>
@@ -57,7 +57,7 @@
57
57
  import validator from '../../plugins/validation';
58
58
 
59
59
  let saveGen = function * (self) {
60
- self.deliver.ename = self.functions.ename
60
+ self.deliver.ename = self.ename || self.functions.ename
61
61
  // let res = yield self.$post('rs/user/entity', {data: self.deliver})
62
62
  // let res = yield self.$post('rs/db/modifypassword', {data: self.deliver})
63
63
  // let res = yield self.$resetpost('/rs/db/modifypwd', {data: self.deliver})
@@ -101,7 +101,7 @@
101
101
  functions: this.$login.f
102
102
  }
103
103
  },
104
- props: ['show'],
104
+ props: ['show','ename'],
105
105
  methods: {
106
106
  confirm () {
107
107
  let gen = saveGen(this)
@@ -0,0 +1,549 @@
1
+ <template>
2
+ <div class="syslogin">
3
+ <div class="login-title" >
4
+ <div class="row auto">
5
+ <marquee style="width:80%;margin-top:25px"><span style="font-size: 1.8rem;color: white;">{{notice}}</span></marquee>
6
+ <div class="login-title-chi" style="white-space: nowrap;margin-right:0">
7
+ <button class="my_button_search button_spacing" style="margin-right: 5px" title="点击清除浏览器缓存" @click.stop="delCookie">
8
+ <img
9
+ src="../../assets/clear-cookie.png" style="height: 25px; width: 95px;margin-bottom: 3px;">
10
+ </button>
11
+ <span v-if="$login.versionTime">构建时间:{{ vTime }}</span>
12
+ <div v-if="titleShow">
13
+ <img src="../../../static/newStyle/login-info.png"/>
14
+ <span @click="showus=true">关于我们</span>
15
+ </div>
16
+ <!-- <img src="../../../static/newStyle/login-con.png"/>-->
17
+ <!-- <span>联系我们</span>-->
18
+ </div>
19
+ </div>
20
+ </div>
21
+
22
+ <modal :show.sync="showus" backdrop="true" width="50%" style="width:auto;">
23
+ <article slot="modal-body" class="modal-body" >
24
+ <img style="height:100%;width:100%" src="../../../static/newStyle/about-us.png"/>
25
+ </article>
26
+ <footer slot="modal-footer" class="modal-footer">
27
+ </footer>
28
+ </modal>
29
+
30
+
31
+ <div class="logoew" v-if="logoandroid" >
32
+ <div v-if="logoandroid" class="imglogo"></div>
33
+ <p class="logocontent">燃气客服系统Android版</p>
34
+ <p class="logofooter">(仅浏览器扫描)</p>
35
+ </div>
36
+ <!--输入框-->
37
+ <div class="loginmain">
38
+ <!-- <img src="../../../static/login_title1.png" alt="图片加载未完成" class="img-responsive" style="margin: 0 auto; padding-top: 150px;" /> -->
39
+ <div class="loginmain-left">
40
+ <img class="loginmain-left-img" src="../../../static/newStyle/login-left.png">
41
+ </div>
42
+ <div class="loginmain-right">
43
+
44
+ <p @click="theme()" style="white-space: nowrap">{{config.title}}</p>
45
+
46
+ <form v-show="!login">
47
+ <!-- <input type="text" placeholder="用户名" v-model="model.ename" class="usericon">-->
48
+ <div class="login-input">
49
+ <img src="../../../static/newStyle/login-user.png"/>
50
+ <input type="text" style="display: inline;background-color: white!important;" placeholder="用户名" v-model="model.ename"/>
51
+ </div>
52
+ <div class="login-input">
53
+ <img src="../../../static/newStyle/login-pwd.png"/>
54
+ <input type="password" placeholder="密码" style="display: inline;background-color: darkgray;" v-model="model.password"
55
+ @keyup.enter="confirm('key')"/>
56
+ </div>
57
+ <div class="login-input-1" v-if="$login.Verification">
58
+ <img src="../../../static/newStyle/login-check.png"/>
59
+ <input v-if="$login.Verification" class="login-check" type="text" placeholder="请输入验证码"
60
+ v-model="picLyanzhengma" @keyup.enter="confirm('key')"/>
61
+ </div>
62
+ <div class="login-input-2" >
63
+ <input v-if="$login.Verification" class="login-check-1" style="display: inline;background-color:#eeeeee !important;"
64
+ type="button" @click="createCode" v-model="checkCode"/>
65
+ </div>
66
+ <div class="login-bt">
67
+ <button type="button" id="login-button" class="login-button" @click.prevent="confirm('click')">登录</button>
68
+ </div>
69
+ <!-- <input type="password" placeholder="密码" v-model="model.password" class="psicon"-->
70
+ <!-- @keyup.enter="confirm('key')">-->
71
+ <!-- <input v-if="$login.Verification" styljiaoyane="width: 40%; display: inline" type="text" placeholder="请输入验证码"-->
72
+ <!-- v-model="picLyanzhengma" @keyup.enter="confirm('key')">-->
73
+ <!-- <input v-if="$login.Verification" style="width: 30%; display: inline;background-color: darkgray;"-->
74
+ <!-- type="button" @click="createCode" v-model="checkCode"/><br>-->
75
+
76
+ <!-- <button type="button" id="login-button" @click.prevent="confirm()"><strong>注册</strong></button> -->
77
+ <!-- <span @click="register()">还没有注册,现在注册>>></span> -->
78
+ </form>
79
+ <div v-show="login" class="login_load">
80
+ <img src="../../../static/newStyle/login-do.gif">
81
+ </div>
82
+ </div>
83
+ </div>
84
+ <div class="login-foot" v-show="false">
85
+ 技术支持:西安奥枫软件有限公司
86
+ </div>
87
+ <div class="login-foot" v-show="$login.BAinformation">
88
+ {{{ $login.BAinformation }}}
89
+ </div>
90
+
91
+ <modal v-if="depPromptShow" :show.sync="depPromptShow" :backdrop="false" v-ref:modal >
92
+ <header slot="modal-header" style="height: 8vh" class="modal-header">
93
+ <!--<h4 class="modal-title">登录信息</h4>-->
94
+ </header>
95
+ <article slot="modal-body" class="modal-body">
96
+ <form class="form-horizontal">
97
+ <div class="row">
98
+ <div class="col-sm-12 form-group">
99
+ <label class="col-sm-5 ">当前登录人:</label>
100
+ <label style="font-weight:normal">{{$login.f.name}}</label>
101
+ </div>
102
+ <!--<div class="col-sm-12 form-group" v-if="$login.f.number">-->
103
+ <!--<label class="col-sm-5 ">组&nbsp;织&nbsp;编&nbsp;码:</label>-->
104
+ <!--<label style="font-weight:normal">{{$login.f.number}}</label>-->
105
+ <!-- <div class="col-sm-7">
106
+ <span >{{$login.f.number}}</span>
107
+ </div> -->
108
+ <!--</div>-->
109
+ <div class="col-sm-12 form-group">
110
+ <label class="col-sm-5">所在销售点:</label>
111
+ <label style="font-weight:normal">{{$login.f.deps}}</label>
112
+ <!-- <div class="col-sm-7">
113
+ <span >{{$login.f.deps}}</span>
114
+ </div> -->
115
+ </div>
116
+ <div class="col-sm-12 " v-if="AppDaiBan !==''">
117
+ <label class="col-sm-2">报装待办:</label>
118
+ <span style="font-weight:normal">{{AppDaiBan}}</span>
119
+ </div>
120
+ <div class="col-sm-12 " v-if="OrderDaiBan !==''">
121
+ <label class="col-sm-2">预约待办:</label>
122
+ <span style="font-weight:normal">{{OrderDaiBan}}</span>
123
+ </div>
124
+ <div class="col-sm-12 " v-for="daibanitem in safecheckDaiBan">
125
+ <label class="col-sm-2">{{daibanitem.oldData.title}}:</label>
126
+ <span style="font-weight:normal">{{daibanitem.text}}</span>
127
+ </div>
128
+ </div>
129
+ </form>
130
+ </article>
131
+ <footer slot="modal-footer" style="height: 8vh" class="modal-footer">
132
+ <button class="button_search" @click="depPromptConfirm">确认</button>
133
+ <button class="button_clear" @click="depPromptCancel">取消</button>
134
+ </footer>
135
+ </modal>
136
+
137
+ <!-- 修改密码组件 -->
138
+ <modify-pw :show.sync="modifyPwShow" v-if="modifyPwShow" :ename="model.ename"></modify-pw>
139
+ </div>
140
+
141
+ </template>
142
+
143
+ <script>
144
+ import co from 'co'
145
+ import $ from 'jquery'
146
+ import Vue from 'vue'
147
+ import {HttpResetClass} from 'vue-client'
148
+
149
+ let daibanJson = require('../../util/Daiban.json')
150
+
151
+
152
+ let saveGen = function *(self) {
153
+ try {
154
+ if(self.$login){
155
+ // 账号ename,密码password,是否显示异地登陆
156
+ yield self.$login.login(self.model.ename, self.model.password, self.$login.showYiDi)
157
+ }
158
+ // if(self.$appdata){
159
+ // yield self.$appdata.load()
160
+ // }
161
+ if (Vue.$heatCompatibility) {
162
+ try {
163
+ if(self.$loginHeat){
164
+ yield self.$loginHeat.login(self.model.ename, self.model.password)
165
+ }
166
+ if(self.$appdataHeat){
167
+ yield self.$appdataHeat.load()
168
+ }
169
+ } catch (e) {
170
+ console.log('热力系统登陆失败!')
171
+ }
172
+ }
173
+ yield self.$getConfig(self, 'Login')
174
+ console.log('登录配置', self.config)
175
+ if (self.config.isMac) {
176
+ // 获取该登录人分公司下的mac配置
177
+ let getMacs = yield self.$resetpost('rs/sql/equipmentQuery', {data: {condition: `f_filialeids like '%${self.$login.f.f_orgids}%'`}}, {
178
+ resolveMsg: null,
179
+ rejectMsg: null
180
+ }).catch(() => {
181
+ throw new Error('获取mac配置失败')
182
+ })
183
+ console.log('MAC地址信息', getMacs)
184
+ // 获取本地mac地址
185
+ let getLocalMac = yield self.$resetget('http://127.0.0.1:8003/loadmac', {
186
+ resolveMsg: null,
187
+ rejectMsg: null
188
+ }).catch(() => {
189
+ throw new Error('获取本地mac配置失败')
190
+ })
191
+ console.log('本地MAC地址信息', getLocalMac)
192
+ // 对Mac地址进行匹配
193
+ let macValidate = false
194
+ for (let i = 0; i < getLocalMac.data.mac.length; i++) {
195
+ for (let j = 0; j < getMacs.data.length; j++) {
196
+ if (getMacs.data[j].f_mac_number.toLocaleUpperCase() === getLocalMac.data.mac[i]) {
197
+ macValidate = true
198
+ }
199
+ }
200
+ }
201
+ if (!macValidate) {
202
+ throw new Error('Mac地址验证失败, 请联系管理员!!')
203
+ }
204
+ }
205
+ console.log(self.$login.depPrompt)
206
+ // 弱口令验证
207
+ //跳转过来的不进行验证
208
+ if ((!self.otherLogin) && self.config.weakPassword && !(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?!.*(123|321|abc|cba))[a-zA-Z\d!@#$%^&*()_+-=<>?]{8,16}$/.test(self.model.password))) {
209
+ self.$showMessage('登录系统: 此账户的密码过于简单,请修改密码后重新登陆!!!', ['confirm']).then((res) => {
210
+ self.modifyPwShow = true
211
+ })
212
+ } else if ((!self.otherLogin) && self.$login.depPrompt) {
213
+ self.depPromptShow = true
214
+ if (self.$login.showDaiBan && self.$login.r.includes('展示预约信息')){
215
+ // 获取待办
216
+ self.getDaiBan()
217
+ }
218
+ if (self.$login.showDaiBan && self.$login.r.includes('登录预约信息')){
219
+ // 获取待办 在util下有个Daiban.jsond 文件 ,在里面进行配置,在功能权限界面增加登录预约信息
220
+ self.getDaiBanA()
221
+ }
222
+ } else {
223
+ self.$goto('manage-main2', {functions: self.$login.f,config: self.config})
224
+ if (self.$login) {
225
+ console.log('登录信息', self.$login.f)
226
+ global.login=self.$login.f
227
+ console.log('登录信息', global.login)
228
+ }
229
+ }
230
+ } catch (ret) {
231
+ console.error('登录失败', ret)
232
+ let msg
233
+ if (ret instanceof Error) {
234
+ msg = ret
235
+ }
236
+ if (ret.status === 0) {
237
+ msg = '服务连接错误,请确认服务状态'
238
+ } else if (ret.status === 401) {
239
+ msg = ret.data
240
+ } else if (ret.status === 710) {
241
+ msg = ret.data
242
+ } else if (ret.status === 555) {
243
+ msg = ret.data
244
+ } else if(ret.status === 789) {
245
+ yield self.$showMessage(msg='您的密码已过期,请及时修改!!!', ['confirm']).then(() => {
246
+ self.modifyPwShow = true
247
+ })
248
+ return
249
+ }
250
+ self.createCode()
251
+ self.picLyanzhengma = ''
252
+ yield self.$showMessage(msg)
253
+ self.model.ename = ''
254
+ self.model.password = ''
255
+ self.login = false
256
+ $('form').fadeIn(500)
257
+ }
258
+ }
259
+ export default {
260
+ title: '登录',
261
+ async ready () {
262
+ if (window.location.search && window.location.search.indexOf('af_key') !== -1&& window.location.search.indexOf('af_n') !== -1) {
263
+ const subUrl = window.location.search.replace('?af_key=','').split('&af_n=')
264
+ console.log(subUrl)
265
+ this.model.ename = window.atob(subUrl[0])
266
+ this.model.password = window.atob(subUrl[1])
267
+ console.log('this.model.ename',this.model.ename)
268
+ this.otherLogin = true
269
+ this.confirm()
270
+ }else{
271
+ //跳转不需要验证码
272
+ this.createCode()
273
+ }
274
+ console.log(this.$login)
275
+ },
276
+ data () {
277
+ return {
278
+ vTime: '',
279
+ image:{
280
+ img1: '/images/newStyle/login-info.png',
281
+ img2: '/images/newStyle/login-con.png',
282
+ img3: '/images/newStyle/login-left.png',
283
+ img4: '/images/newStyle/login-user.png',
284
+ img5: '/images/newStyle/login-pwd.png',
285
+ img6: '/images/newStyle/login-check.png',
286
+ img7: '/images/newStyle/login-do.png',
287
+ },
288
+ config: {
289
+ isMac: false,
290
+ depPrompt: false,
291
+ weakPassword: false,
292
+ title: '宝乐大屏展示',
293
+ distanceLogin: false,
294
+ // 那些角色可以定时获取预约提示
295
+ isTip : false,
296
+ // 那些角色可以定时获取预约提示
297
+ msgRole : '预约处理人员',
298
+ // 定时获取提示间隔 单位:分钟
299
+ times: 25,
300
+ approve: false, // 是否获取审核提醒
301
+ approveTimes: 1 // 审核时间见间隔
302
+ },
303
+ titleShow: true, //标题显示
304
+ otherLogin:false,
305
+ login: false,
306
+ depPromptShow: false,
307
+ model: {},
308
+ show: false,
309
+ checkCode: '',
310
+ login_do:true,
311
+ picLyanzhengma: '',
312
+ // 修改密码弹框展示
313
+ modifyPwShow: false,
314
+ logoandroid:false,
315
+ showus:false,
316
+ notice:'',
317
+ loginotherflag :true,
318
+ // 报建待办
319
+ AppDaiBan: '',
320
+ //安检待办
321
+ safecheckDaiBan:[],
322
+ // 预约待处理
323
+ OrderDaiBan: ''
324
+ }
325
+ },
326
+ methods: {
327
+ //格式化时间
328
+ format(dat){
329
+ //获取年月日,时间
330
+ const year = dat.getFullYear();
331
+ const mon = (dat.getMonth()+1) < 10 ? "0"+(dat.getMonth()+1) : dat.getMonth()+1;
332
+ const data = dat.getDate() < 10 ? "0"+(dat.getDate()) : dat.getDate();
333
+ const hour = dat.getHours() < 10 ? "0"+(dat.getHours()) : dat.getHours();
334
+ const min = dat.getMinutes() < 10 ? "0"+(dat.getMinutes()) : dat.getMinutes();
335
+ const seon = dat.getSeconds() < 10 ? "0"+(dat.getSeconds()) : dat.getSeconds();
336
+
337
+ return year + "-" + mon + "-" + data + " " + hour + ":" + min + ":" + seon;
338
+ },
339
+ async getDaiBan(){
340
+ let http = new HttpResetClass()
341
+ let condition = ''
342
+ if(this.$login.f.deps!=='柠条塔'){
343
+ condition = ` (f_orderstate != '预约成功' and f_orderstate != '预约失败' ) or f_orderstate is null `
344
+ } else {
345
+ condition =` f_orderstate is null and (f_address in( select f_address from t_user_address where f_slice_area='柠条塔') or f_address like '%柠条塔%') `
346
+ }
347
+ await http.load('POST', '/rs/sql/singleTable', {data: {
348
+ tablename:'t_order_center',
349
+ condition:condition
350
+ }}, {
351
+ resolveMsg: null,
352
+ rejectMsg: null
353
+ }).then((res) => {
354
+ let OrderDaiBan = {}
355
+ res.data.forEach(item=>{
356
+ OrderDaiBan[item.f_ordertype] = OrderDaiBan[item.f_ordertype] || []
357
+ OrderDaiBan[item.f_ordertype].push(item)
358
+ })
359
+ this.OrderDaiBan = `您有${res.data.length}条需要处理的微信预约业务!`
360
+ if (res.data.length> 0){
361
+ this.OrderDaiBan += `其中 ${Object.keys(OrderDaiBan).map(key=>`${key}:${OrderDaiBan[key].length}条`).join(', ')}`
362
+ }
363
+ })
364
+ let data = {
365
+ condition: '1 = 1',
366
+ data: {
367
+ orgid: this.$login.f.orgid,
368
+ id: this.$login.f.id
369
+ }
370
+ }
371
+ await http.load('POST', '/rs/sql/checkuser', {data: data}, {
372
+ resolveMsg: null,
373
+ rejectMsg: null
374
+ }).then((res) => {
375
+ let AppDaiBan = {}
376
+ res.data.forEach(item=>{
377
+ AppDaiBan[item.defname] = AppDaiBan[item.defname] || []
378
+ AppDaiBan[item.defname].push(item)
379
+ })
380
+ this.AppDaiBan = `您有${res.data.length}条需要处理的报建待办业务!`
381
+ if (res.data.length> 0){
382
+ this.AppDaiBan += `其中 ${Object.keys(AppDaiBan).map(key=>`${key}:${AppDaiBan[key].length}条`).join(', ')}`
383
+ }
384
+ })
385
+
386
+ },
387
+ async getDaiBanA(){
388
+ // 是否全局开启待办通知
389
+ if (daibanJson.enable) {
390
+ console.log("当前获取到待办配置为" + JSON.stringify(daibanJson))
391
+ let http = new HttpResetClass()
392
+ let daibanArray = []
393
+ for (let daibanItem of daibanJson.daiban) {
394
+ console.log("开始处理待办任务:" + daibanItem.title + "当前任务状态:" + daibanItem.enable?"开启":"关闭" )
395
+ if (daibanItem.enable) { // 控制每一项通知是否开启
396
+ let postResult = ''; //提示信息为
397
+ await http.load("POST",daibanItem.url,{data:daibanItem.data},{ resolveMsg: null, rejectMsg: null})
398
+ .then((res)=>{
399
+ let responseData = res.data
400
+ for (let item of responseData) {
401
+ postResult += eval(daibanItem.text) + "\n"
402
+ }
403
+ postResult += '\t'
404
+ daibanArray.push({text:postResult,oldData:daibanItem})
405
+ })
406
+ }
407
+ }
408
+ console.log("安检数据为:"+JSON.stringify(daibanArray))
409
+ this.safecheckDaiBan = daibanArray
410
+ }else {
411
+ console.log("待办提醒全局关闭。")
412
+ }
413
+
414
+
415
+
416
+
417
+ },
418
+
419
+ async loginother(){
420
+ if (this.config.distanceLogin) {
421
+ if (this.$login && this.$login.getUrlParames('name') ) {
422
+ let ename = this.$login.getUrlParames('name');
423
+ let logininfo = await this.$resetpost('rs/logic/getLoginData',{data:{ename:ename}},{resolveMsg: null, rejectMsg: null});
424
+ if(logininfo.data){
425
+ if(logininfo.data.ename && logininfo.data.password){
426
+ this.model.ename = logininfo.data.ename
427
+ this.model.password =logininfo.data.password
428
+ let gen = saveGen(this)
429
+ return co(gen)
430
+ }
431
+ }
432
+ }
433
+ }
434
+ },
435
+ theme(){
436
+ // var elementList = document.querySelectorAll('body');
437
+ // console.log(elementList)
438
+ // document.querySelectorAll('body')[0].className='themeTwo'
439
+ // var elementList = document.querySelectorAll('body');
440
+ // console.log(elementList)
441
+ },
442
+ onReady () {
443
+ this.$emit('ready')
444
+ },
445
+ confirm (key) {
446
+ this.login_do=!this.login_do
447
+ // return
448
+ if (key == 'key') {
449
+ $('form').fadeOut(500)
450
+ }
451
+ this.login = true
452
+ // let gen = saveGen(this)
453
+ // return co(gen)
454
+ if((!this.otherLogin) && this.$login && this.$login.Verification){
455
+ console.log('跳转过来的不走验证')
456
+ if(this.picLyanzhengma == '') {
457
+ this.$showMessage("请输入验证码!").then(()=>{
458
+ this.login = false
459
+ $('form').fadeIn(500)
460
+ this.createCode()
461
+ })
462
+ }else if(this.picLyanzhengma.toUpperCase() != this.checkCode ) {
463
+ //若输入的验证码与产生的验证码不一致时
464
+ this.$showMessage("验证码不正确").then(()=>{
465
+ this.login = false
466
+ $('form').fadeIn(500)
467
+ this.createCode();//刷新验证码
468
+ this.picLyanzhengma = '';
469
+ })
470
+ }else {
471
+ this.login = true
472
+ let gen = saveGen(this)
473
+ return co(gen)
474
+ }
475
+ }else {
476
+ this.login = true
477
+ let gen = saveGen(this)
478
+ return co(gen)
479
+ }
480
+ },
481
+ createCode(){
482
+ let code = "";
483
+ let codeLength = 4;//验证码的长度
484
+ let random = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
485
+ 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');//随机数
486
+ for (let i = 0; i < codeLength; i++) {
487
+ //循环操作
488
+ let index = Math.floor(Math.random() * 36);//取得随机数的索引(0~35)
489
+ code += random[index];//根据索引取得随机数加到code上
490
+ }
491
+ this.checkCode = code;//把code值赋给验证码
492
+ },
493
+
494
+ async depPromptConfirm () {
495
+ this.depPromptShow = false
496
+ return this.$goto('home-page', {functions: this.$login.f,config: this.config})
497
+ },
498
+
499
+ depPromptCancel () {
500
+ this.depPromptShow = false
501
+ this.createCode()
502
+ this.picLyanzhengma = ''
503
+ this.model.ename = ''
504
+ this.model.password = ''
505
+ this.login = false
506
+ $('form').fadeIn(500)
507
+ },
508
+ delCookie() {
509
+ let cookies = document.cookie.split(";");
510
+ console.log("点击触发了")
511
+ for (let i = 0; i < cookies.length; i++) {
512
+ let cookie = cookies[i];
513
+ let eqPos = cookie.indexOf("=");
514
+ let name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
515
+ document.cookie =
516
+ name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";
517
+ }
518
+ if (cookies.length > 0) {
519
+ for (let i = 0; i < cookies.length; i++) {
520
+ let cookie = cookies[i];
521
+ let eqPos = cookie.indexOf("=");
522
+ let name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
523
+ let domain = location.host.substr(location.host.indexOf("."));
524
+ document.cookie =
525
+ name +
526
+ "=;expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=" +
527
+ domain;
528
+ }
529
+ }
530
+ localStorage.clear()
531
+ sessionStorage.clear()
532
+ window.location.reload()
533
+ }
534
+
535
+ },
536
+ watch: {
537
+ 'modifyPwShow' (val){
538
+ if (!val) {
539
+ window.location.reload()
540
+ }
541
+ }
542
+ }
543
+ }
544
+ </script>
545
+
546
+ <style>
547
+ .my_button_search{width: 100px; height: 25px;position: relative; padding-left:2px;top: 0px;line-height: 25px; background:rgba(0,0,0,0); border-radius: 4px; border:none; font-family: PingFang; font-size: 15px}
548
+ .my_button_search:hover img{ filter: opacity(0.8);}
549
+ </style>
@@ -0,0 +1,65 @@
1
+ <template>
2
+ <div class="flex">
3
+ <div class="auto">
4
+ <div class="form-horizontal select-overspread" style="background: white; padding: 0 1%;">
5
+ <div class="row">
6
+ <div class="col-sm-2 form-group">
7
+ <label class="font_normal_body" title="参数管理:终端类型">终端类型</label>
8
+ <v-select id="f_charge_type"
9
+ v-model="model.f_equipment_type"
10
+ placeholder='终端类型'
11
+ :value.sync="model.f_equipment_type"
12
+ :options='equipmentType'
13
+ close-on-select clear-button>
14
+ </v-select>
15
+ </div>
16
+ </div>
17
+ </div>
18
+ </div>
19
+ <div v-if="model.f_equipment_type[0] === 'PC'">
20
+ <pc-manage></pc-manage>
21
+ </div>
22
+ <div v-if="model.f_equipment_type[0] === 'POS'">
23
+ <pos-manage></pos-manage>
24
+ </div>
25
+ <div v-if="model.f_equipment_type[0] === 'PHONE'">
26
+ <phone-manage></phone-manage>
27
+ </div>
28
+ </div>
29
+ </template>
30
+
31
+ <script>
32
+
33
+ export default {
34
+ title: '终端控制',
35
+ data () {
36
+ return {
37
+ filialeNameStr: this.$login.f.f_fengongsi,
38
+ filialeCodeStr: this.$login.f.orgid,
39
+ userid:this.$login.f.id,
40
+ source: `tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() != $role$))`,
41
+ equipmentType: this.$appdata.getParam('终端类型'),
42
+ model: {
43
+ f_equipment_type: []
44
+ }
45
+ }
46
+ },
47
+ ready () {
48
+ console.log('看看终端类型', this.equipmentType)
49
+ this.model.f_equipment_type = [this.equipmentType[0].value]
50
+ },
51
+ methods: {
52
+ del (row) {
53
+ console.log('要删除了', row)
54
+ },
55
+
56
+ getRes (obj) {
57
+ this.filialeNameStr = obj.res
58
+ this.filialeCodeStr = obj.resids
59
+ },
60
+ },
61
+ computed: {
62
+
63
+ }
64
+ }
65
+ </script>
@@ -0,0 +1,105 @@
1
+ <template>
2
+ <div class="row select-overspread">
3
+ <validator name='v'>
4
+ <ul class="nav nav-tabs" >
5
+ <li role="presentation" class="active"><a href="#">PC端MAC</a></li>
6
+ </ul>
7
+ <form class="form-horizontal">
8
+ <div class="col-sm-6 form-group">
9
+ <label class="font_normal_body">使用人员</label>
10
+ <input type="text" style="width: 60%" class="input_search" v-model="model.f_username" placeholder="使用人员" >
11
+ </div>
12
+ <div class="col-sm-6 form-group">
13
+ <label class="font_normal_body">所属地址</label>
14
+ <input type="text" style="width: 60%" class="input_search" v-model="model.f_mac_outlets" placeholder="所属地址" >
15
+ </div>
16
+ <div class="col-sm-6 form-group">
17
+ <label class="font_normal_body">mac地址</label>
18
+ <input type="text" style="width: 60%" class="input_search" v-model="model.f_mac_number" placeholder="mac地址" >
19
+ </div>
20
+ <div class="col-sm-6 form-group">
21
+ <label class="font_normal_body">使用公司</label>
22
+
23
+ <res-select restype='organization'
24
+ is-mul="false"
25
+ @res-select="getorg"
26
+ :initresid="curorgid">
27
+ </res-select>
28
+
29
+ </div>
30
+ </form>
31
+ <div style="text-align:right;height:auto;">
32
+ <button class="btn button_search" @click="confirm()" >确认</button>
33
+ <button class="btn button_clear " @click="cancel()" >取消</button>
34
+ </div>
35
+ </validator>
36
+ </div>
37
+ </template>
38
+ <script>
39
+
40
+
41
+ export default {
42
+ data () {
43
+ return {
44
+ model: {
45
+ f_username: '',
46
+ f_mac_outlets: '',
47
+ f_mac_number: '',
48
+ f_equipment_type: 'PC',
49
+ f_state: '正常'
50
+ },
51
+ curorgid: this.$login.f.orgid,
52
+ f_orgid: ''
53
+ }
54
+ },
55
+ props: ['data'],
56
+ watch: {
57
+ 'data' (val) {
58
+ if (val) {
59
+ this.edit(val)
60
+ } else {
61
+ this.initModel()
62
+ }
63
+ }
64
+ },
65
+ ready () {
66
+ console.log('mac信息:', this.data)
67
+ if (this.data) {
68
+ this.edit(this.data)
69
+ }
70
+ },
71
+ methods: {
72
+ confirm () {
73
+ this.model.f_operator = this.$login.f.name
74
+ this.model.f_operatorid = this.$login.f.id
75
+ this.model.f_orgid = this.f_orgid
76
+ console.log('保存', this.model)
77
+ this.$resetpost('rs/entity/t_equipment', this.model, {resolveMsg: '保存成功', rejectMsg: '保存失败'}).then((res) => {
78
+ this.$dispatch('refresh')
79
+ }).catch((error) => {
80
+ this.$dispatch('refresh')
81
+ })
82
+ },
83
+ edit (row) {
84
+ console.log('修改,,。。', row)
85
+ this.model.f_username = row.f_username
86
+ this.model.f_mac_outlets = row.f_mac_outlets
87
+ this.model.f_mac_number = row.f_mac_number
88
+ this.model.id = row.id
89
+ this.f_orgid = row.f_orgid
90
+ },
91
+ initModel () {
92
+ delete this.model.id
93
+ this.model.f_username = ''
94
+ this.model.f_mac_outlets = ''
95
+ this.model.f_mac_number = ''
96
+ },
97
+ cancel () {
98
+ this.$dispatch('close')
99
+ },
100
+ getorg (val) {
101
+ this.f_orgid = val[0]
102
+ }
103
+ }
104
+ }
105
+ </script>
@@ -0,0 +1,119 @@
1
+ <template>
2
+ <div class="flex" >
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
+ <div class="row">
7
+ <div class="col-sm-3 form-group">
8
+ <label class="font_normal_body">使用公司</label>
9
+ <res-select restype='organization'
10
+ is-mul="false"
11
+ @res-select="$parent.$parent.getorg"
12
+ :initresid="$parent.$parent.curorgid">
13
+ </res-select>
14
+ </div>
15
+
16
+ <div class="col-sm-3 form-group" >
17
+ <label class="font_normal_body">使用人员</label>
18
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_username"
19
+ condition="f_username like '%{}%'" placeholder="使用人员">
20
+ </div>
21
+ <div class="col-sm-3 form-group" >
22
+ <label class="font_normal_body">所属地址</label>
23
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_mac_outlets"
24
+ condition="f_mac_outlets like '%{}%'" placeholder="所属地址">
25
+ </div>
26
+ <div class="span" style="float:right;">
27
+ <button class="button_search" @click="$parent.$parent.search()" v-el:cx>查询</button>
28
+ <button class="button_search" @click="$parent.$parent.add()" v-el:cx>新增</button>
29
+ <div style="float: right" class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
30
+ @click="$parent.$parent.hidden()"></div>
31
+ </div>
32
+ </div>
33
+ <div class="row" v-show="$parent.$parent.criteriaShow">
34
+ <div class="col-sm-3 form-group" >
35
+ <label class="font_normal_body">MAC地址</label>
36
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_mac_number"
37
+ condition="f_mac_number like '%{}%'" placeholder="MAC地址">
38
+ </div>
39
+
40
+
41
+ </div>
42
+ </div>
43
+ </criteria>
44
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid >
45
+ <template partial='head'>
46
+ <tr>
47
+ <th>序号</th>
48
+ <th>使用人员</th>
49
+ <th>所属地址</th>
50
+ <th>MAC地址</th>
51
+ <th>操作</th>
52
+ </tr>
53
+ </template>
54
+ <template partial='body':model="model">
55
+ <tr>
56
+ <td style="text-align:center">{{$index+1}}</td>
57
+ <td style="text-align:center">{{row.f_username}}</td>
58
+ <td style="text-align:center">{{row.f_mac_outlets}}</td>
59
+ <td style="text-align:center">{{row.f_mac_number}}</td>
60
+ <td style="text-align:center">
61
+ <button class="btn btn-danger" @click.stop="$parent.$parent.$parent.del(row)">删除</button>
62
+ </td>
63
+ </tr>
64
+ </template>
65
+ </data-grid>
66
+ </criteria-paged>
67
+ </div>
68
+ </template>
69
+
70
+ <script>
71
+ import { PagedList } from 'vue-client'
72
+
73
+ export default {
74
+ title: 'PC',
75
+ components: {},
76
+ data () {
77
+ return {
78
+ criteriaShow: false,
79
+ model: new PagedList('rs/sql/equipmentQuery', 20),
80
+ curorgid: [this.$login.f.orgid],
81
+ f_orgid: ''
82
+ }
83
+ },
84
+ ready () {
85
+ this.search()
86
+ },
87
+ methods: {
88
+ hidden(){
89
+ this.criteriaShow = !this.criteriaShow
90
+ },
91
+ search () {
92
+ this.$refs.paged.$refs.cri.search()
93
+ },
94
+
95
+ selfSearch (args) {
96
+ args.condition = `${args.condition} and f_equipment_type = 'PC' and f_state = '正常' and f_orgid like '${this.f_orgid ? this.f_orgid: this.$login.f.orgid}'`
97
+ this.model.search(args.condition, this.model)
98
+ },
99
+ add () {
100
+ this.$dispatch('add')
101
+ },
102
+ del (row) {
103
+ console.log('要删除了', row)
104
+ row.f_state = '已删除'
105
+ this.$resetpost('rs/entity/t_equipment', row, {warnMsg: '确定要删除这条信息吗?', resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
106
+ this.$dispatch('refresh')
107
+ }).catch((error) => {
108
+ this.$dispatch('refresh')
109
+ })
110
+ },
111
+ getorg (val) {
112
+ this.f_orgid = val[0]
113
+ }
114
+ },
115
+ computed: {
116
+
117
+ }
118
+ }
119
+ </script>
@@ -0,0 +1,60 @@
1
+ <template>
2
+ <div class="flex-row">
3
+ <div :class="{'basic-main':!isChange,'binary-left':isChange}">
4
+ <pc-list :row="row" @select-changed="selected" style="width:auto;" v-ref:list ></pc-list>
5
+ </div>
6
+ <div class="binary-right" style="margin-left: 10px; width: 50%;" v-if="isChange">
7
+ <pc-add :data="row" v-ref:addbox></pc-add>
8
+ </div>
9
+ </div>
10
+ </template>
11
+ <script>
12
+
13
+ import PcList from './PcList'
14
+ import PcAdd from './PcAdd'
15
+
16
+ export default {
17
+ title: 'PC终端管理',
18
+ components: {
19
+ PcList, PcAdd
20
+ },
21
+ data () {
22
+ return {
23
+ isChange: false,
24
+ row: null
25
+ }
26
+ },
27
+ methods: {
28
+ selected (obj) {
29
+ this.isChange = true
30
+ this.row = obj.val
31
+ }
32
+ },
33
+ events: {
34
+ 'search' () {
35
+ this.isChange = false
36
+ this.row = null
37
+ this.$refs.list.$refs.paged.$refs.cri.search()
38
+ },
39
+ 'refresh' () {
40
+ this.isChange = false
41
+ this.row = null
42
+ this.$refs.list.search()
43
+ },
44
+ 'error' (name, row, res) {
45
+ this.isChange = false
46
+ this.row = null
47
+ },
48
+ 'close' () {
49
+ this.isChange = false
50
+ this.row = null
51
+ this.$refs.list.search()
52
+ },
53
+ 'add' () {
54
+ this.row = null
55
+ this.isChange = true
56
+ this.$refs.list.$refs.paged.$refs.grid.selectStore.selected = null
57
+ }
58
+ }
59
+ }
60
+ </script>
@@ -0,0 +1,107 @@
1
+ <template>
2
+ <div class="row select-overspread">
3
+ <validator name='v'>
4
+ <ul class="nav nav-tabs" >
5
+ <li role="presentation" class="active"><a href="#">Phone端设备号</a></li>
6
+ </ul>
7
+ <form class="form-horizontal">
8
+
9
+ <div class="col-sm-6 form-group">
10
+ <label class="font_normal_body">使用人员</label>
11
+ <input type="text" style="width: 60%" class="input_search" v-model="model.f_username" placeholder="使用人员" >
12
+ </div>
13
+ <div class="col-sm-6 form-group">
14
+ <label class="font_normal_body">设备号</label>
15
+ <input type="text" style="width: 60%" class="input_search" v-model="model.f_terminal_number" placeholder="设备号" >
16
+ </div>
17
+ <div class="col-sm-6 form-group">
18
+ <label class="font_normal_body">使用公司</label>
19
+ <!--<right-tree :userid.sync='userid' :source.sync='source' @re-res="getRes"></right-tree>-->
20
+ <res-select restype='organization'
21
+ is-mul="false"
22
+ @res-select="getorg"
23
+ :initresid="curorgid">
24
+ </res-select>
25
+ </div>
26
+
27
+ </form>
28
+ <div style="text-align:right;height:auto;">
29
+ <button class="btn button_search " @click="confirm()" >确认</button>
30
+ <button class="btn button_clear " @click="cancel()" >取消</button>
31
+ </div>
32
+ </validator>
33
+ </div>
34
+ </template>
35
+ <script>
36
+
37
+
38
+ export default {
39
+ data () {
40
+ return {
41
+ model: {
42
+ f_username: '',
43
+ f_terminal_number: '',
44
+ f_equipment_type: 'PHONE',
45
+ f_state: '正常'
46
+ },
47
+ filialeCodeStr: this.$login.f.f_orgids,
48
+ userid: this.$login.f.id,
49
+ source: `tool.getFullTree(this.getRights().where(row.getType() == $organization$))`,
50
+ curorgid: this.$login.f.orgid,
51
+ f_orgid: ''
52
+ }
53
+ },
54
+ props: ['data'],
55
+ watch: {
56
+ 'data' (val) {
57
+ if (val) {
58
+ this.edit(val)
59
+ } else {
60
+ this.initModel()
61
+ }
62
+ }
63
+ },
64
+ ready () {
65
+ console.log('mac信息:', this.data)
66
+ if (this.data) {
67
+ this.edit(this.data)
68
+ }
69
+ },
70
+ methods: {
71
+ confirm () {
72
+ this.model.f_operator = this.$login.f.name
73
+ this.model.f_filialeids = this.filialeCodeStr
74
+ this.model.f_orgid = this.f_orgid
75
+ console.log('保存', this.model)
76
+ this.$resetpost('rs/entity/t_equipment', this.model, {resolveMsg: '保存成功', rejectMsg: '保存失败'}).then((res) => {
77
+ this.$dispatch('refresh')
78
+ }).catch(() => {
79
+ this.$dispatch('refresh')
80
+ })
81
+ },
82
+ edit (row) {
83
+ console.log('修改,,。。', row)
84
+ this.model.f_username = row.f_username
85
+ this.model.f_terminal_number = row.f_terminal_number
86
+ this.model.id = row.id
87
+ this.filialeCodeStr = row.f_filialeids
88
+ this.f_orgid = row.f_orgid
89
+ this.curorgid= [row.f_orgid]
90
+ },
91
+ initModel () {
92
+ delete this.model.id
93
+ this.model.f_username = ''
94
+ this.model.f_terminal_number = ''
95
+ },
96
+ cancel () {
97
+ this.$dispatch('close')
98
+ },
99
+ getRes(obj) {
100
+ this.filialeCodeStr = obj.resids
101
+ },
102
+ getorg (val) {
103
+ this.f_orgid = val[0]
104
+ }
105
+ }
106
+ }
107
+ </script>
@@ -0,0 +1,112 @@
1
+ <template>
2
+ <div class="flex" style="flex:1; ">
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
5
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
6
+ <div class="row">
7
+ <div class="col-sm-3 form-group">
8
+ <label class="font_normal_body">使用公司</label>
9
+ <!--<right-tree :userid.sync='$parent.$parent.userid' :source.sync='$parent.$parent.source' @re-res="$parent.$parent.getRes" > </right-tree>-->
10
+ <res-select restype='organization'
11
+ is-mul="false"
12
+ @res-select="$parent.$parent.getorg"
13
+ :initresid="$parent.$parent.curorgid">
14
+ </res-select>
15
+ </div>
16
+
17
+ <div class="col-sm-3 form-group" >
18
+ <label class="font_normal_body">使用人员</label>
19
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_username"
20
+ condition="f_username like '%{}%'" placeholder="使用人员">
21
+ </div>
22
+ <div class="col-sm-3 form-group" >
23
+ <label class="font_normal_body">设备号</label>
24
+ <input type="text" class="input_search" style="width:60%" v-model="model.f_terminal_number"
25
+ condition="f_terminal_number like '%{}%'" placeholder="设备号">
26
+ </div>
27
+ <div class="span" style="float:right;">
28
+ <button class="button_search" @click="$parent.$parent.search()" v-el:cx>查询</button>
29
+ <button class="button_search" @click="$parent.$parent.add()" v-el:cx>新增</button>
30
+ </div>
31
+ </div>
32
+ </div>
33
+ </criteria>
34
+ <data-grid :model="model" partial='list' class="list_area table_sy" v-ref:grid >
35
+ <template partial='head'>
36
+ <tr>
37
+ <th>序号</th>
38
+ <th>使用人员</th>
39
+ <th>设备号</th>
40
+ <th>操作</th>
41
+ </tr>
42
+ </template>
43
+ <template partial='body':model="model">
44
+ <tr>
45
+ <td style="text-align:center">{{$index+1}}</td>
46
+ <td style="text-align:center">{{row.f_username}}</td>
47
+ <td style="text-align:center">{{row.f_terminal_number}}</td>
48
+ <td style="text-align:center">
49
+ <button class="btn btn-danger" @click.stop="$parent.$parent.$parent.del(row)">删除</button>
50
+ </td>
51
+ </tr>
52
+ </template>
53
+ </data-grid>
54
+ </criteria-paged>
55
+ </div>
56
+ </template>
57
+
58
+ <script>
59
+ import { PagedList } from 'vue-client'
60
+
61
+ export default {
62
+ title: 'PC',
63
+ components: {},
64
+ data () {
65
+ return {
66
+ model: new PagedList('rs/sql/equipmentQuery', 20),
67
+ filialeNameStr: this.$login.f.f_fengongsi,
68
+ filialeCodeStr: this.$login.f.f_orgids,
69
+ userid:this.$login.f.id,
70
+ curorgid: [this.$login.f.orgid],
71
+ source: `tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() != $role$))`,
72
+ f_orgid:''
73
+ }
74
+ },
75
+ ready () {
76
+ console.log('看看终端类型', this.equipmentType)
77
+ this.search()
78
+ },
79
+ methods: {
80
+ search () {
81
+ this.$refs.paged.$refs.cri.search()
82
+ },
83
+
84
+ selfSearch (args) {
85
+ args.condition = `${args.condition} and f_equipment_type = 'PHONE' and f_state = '正常' and f_orgid = '${this.f_orgid ? this.f_orgid: this.$login.f.orgid}'`
86
+ this.model.search(args.condition, this.model)
87
+ },
88
+ add () {
89
+ this.$dispatch('add')
90
+ },
91
+ del (row) {
92
+ console.log('要删除了', row)
93
+ row.f_state = '已删除'
94
+ this.$resetpost('rs/entity/t_equipment', row, {warnMsg: '确定要删除这条信息吗?', resolveMsg: '删除成功', rejectMsg: '删除失败'}).then((res) => {
95
+ this.$dispatch('refresh')
96
+ }).catch((error) => {
97
+ this.$dispatch('refresh')
98
+ })
99
+ },
100
+ getRes (obj) {
101
+ this.filialeNameStr = obj.res
102
+ this.filialeCodeStr = obj.resids
103
+ },
104
+ getorg (val) {
105
+ this.f_orgid = val[0]
106
+ }
107
+ },
108
+ computed: {
109
+
110
+ }
111
+ }
112
+ </script>
@@ -0,0 +1,60 @@
1
+ <template>
2
+ <div class="flex-row">
3
+ <div :class="{'basic-main':!isChange,'binary-left':isChange}">
4
+ <phone-list :row="row" @select-changed="selected" style="width:auto;" v-ref:list ></phone-list>
5
+ </div>
6
+ <div class="binary-right" style="margin-left: 10px; width: 50%;" v-if="isChange">
7
+ <phone-add :data="row" v-ref:addbox></phone-add>
8
+ </div>
9
+ </div>
10
+ </template>
11
+ <script>
12
+
13
+ import PhoneList from './PhoneList'
14
+ import PhoneAdd from './PhoneAdd'
15
+
16
+ export default {
17
+ title: 'PC终端管理',
18
+ components: {
19
+ PhoneList, PhoneAdd
20
+ },
21
+ data () {
22
+ return {
23
+ isChange: false,
24
+ row: null
25
+ }
26
+ },
27
+ methods: {
28
+ selected (obj) {
29
+ this.isChange = true
30
+ this.row = obj.val
31
+ }
32
+ },
33
+ events: {
34
+ 'search' () {
35
+ this.isChange = false
36
+ this.row = null
37
+ this.$refs.list.$refs.paged.$refs.cri.search()
38
+ },
39
+ 'refresh' () {
40
+ this.isChange = false
41
+ this.row = null
42
+ this.$refs.list.search()
43
+ },
44
+ 'error' (name, row, res) {
45
+ this.isChange = false
46
+ this.row = null
47
+ },
48
+ 'close' () {
49
+ this.isChange = false
50
+ this.row = null
51
+ this.$refs.list.search()
52
+ },
53
+ 'add' () {
54
+ this.row = null
55
+ this.isChange = true
56
+ this.$refs.list.$refs.paged.$refs.grid.selectStore.selected = null
57
+ }
58
+ }
59
+ }
60
+ </script>
@@ -0,0 +1,9 @@
1
+ // 分公司特殊组件页面注册
2
+ exports.specialComp = {
3
+ // pc端控制
4
+ 'pc-manage': (resolve) => { require(['./PcManage'], resolve) },
5
+ // phone端控制
6
+ 'phone-manage': (resolve) => { require(['./PhoneManage'], resolve) },
7
+ // 终端管理
8
+ 'equipment-manage': (resolve) => { require(['./EquipmentManage'], resolve) }
9
+ }
package/src/system.js CHANGED
@@ -10,6 +10,7 @@ Vue.$heatCompatibility = Vue.prototype.$heatCompatibility = false
10
10
  // /** **************************登录与主界面相关******************************/
11
11
 
12
12
  import login from './components/server/Login'
13
+ import screenLogin from './components/server/ScreenLogin'
13
14
  import changeDeclare from './components/server/ChangeDeclare'
14
15
  import addChangemsg from './components/server/AddChangeMsg'
15
16
  import homePage from './components/Main'
@@ -54,7 +55,7 @@ export default function (val,filiale, {showLogin = false, show_daiBan = false, s
54
55
  Vue.use(GetAppDataService)
55
56
  Vue.use(HeatGetLoginInfoService)
56
57
  Vue.use(HeatGetAppDataService)
57
-
58
+ Vue.component('screen-login', screenLogin)
58
59
  Vue.component('login', login)
59
60
  Vue.component('change-declare', changeDeclare)
60
61
  Vue.component('add-changemsg', addChangemsg)