system-phone 1.2.141 → 1.3.1-zk

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-phone",
3
- "version": "1.2.141",
3
+ "version": "1.3.1-zk",
4
4
  "description": "手机模块 前端组件",
5
5
  "author": "何宁社 <524395609@qq.com>",
6
6
  "license": "ISC",
@@ -1,420 +1,420 @@
1
- <template>
2
- <div class="nav-bgcolor">
3
- <div class="auto">
4
- <div class="row nav-bgcolor" >
5
- <div class="col-xs-6 manbiankuang" v-for="tab in tabs" @click="gotopage(tab.link,tab.name)">
6
- <img class="imgs" :src="imgback(tab.name)">
7
- <div class="badge"
8
- v-show="isshowTag&&tab.num&&tab.num>0"
9
- ><div class="badge-content">{{tab.num>99?'99+':tab.num}}</div></div>
10
- <p></p>
11
- <p class="pagesfoot">{{tab.name}}</p>
12
-
13
- <!--<p class="pagesfoot">{{tab.name}}&nbsp;{{tab.icon}}</p>-->
14
- <p></p>
15
- </div>
16
- </div>
17
- <!--<div class="row" style="overflow:auto;">-->
18
- <!--<repair-first v-show="componentName == 'repair-first'" worktype="报修单" :sourcet="sourcet" tabname="维修待办" v-on:changesum="changesum"></repair-first>-->
19
- <!--<zhihuan-first v-show="componentName == 'zhihuan-first'" worktype="置换通气单" :sourcet="sourcet" tabname="置换待办" v-on:changesum="changesum"></zhihuan-first>-->
20
- <!--</div>-->
21
- </div>
22
- <validator name="v">
23
- <modal
24
- v-if="showModal"
25
- :show.sync="showModal"
26
- backdrop="false"
27
- title="工程类型"
28
- cancel-text="取消"
29
- ok-text="确认"
30
- :callback="apply"
31
- >
32
- <div class="form-horizontal" slot="modal-body">
33
- <div class="row form-group app-input" style="margin: 10px auto">
34
- <label class="">报建类型:</label>
35
- <div class="col-sm-8">
36
- <v-select
37
- v-model="applyType"
38
- placeholder='请选择需要发起的工程类型'
39
- :value.sync="applyType"
40
- :options='applyTypes'
41
- :value-single="true"
42
- class="select select_list"
43
- :search="false"
44
- close-on-select ></v-select>
45
- </div>
46
- </div>
47
- </div>
48
- </modal>
49
- </validator>
50
- </div>
51
- </template>
52
-
53
- <script scoped>
54
- import Vue from 'vue'
55
- import * as Util from '../Util'
56
- import {HttpResetClass} from "vue-client";
57
- export default {
58
- title: '待办工作导航',
59
- data() {
60
- return {
61
- titleName: '待办工作',
62
- showModal: false,
63
- isMenu: true,
64
- isshowTag:false,
65
- tabs: [],
66
- text: '导航组件this',
67
- beforeName: '待办工作',
68
- componentName: 'repair-first',
69
- sourcet: '竖屏',
70
- applyType: '', // 报建类型
71
- // applyTypes:this.$appdata.getParam("手机报建类型"),
72
- applyTypes: [{label: '散户报建', value: '散户报建'}, {label: '工商户报建', value: '工商户报建'}, {
73
- label: '团购报建',
74
- value: '团购报建'
75
- }, {label: '改管报建', value: '改管报建'}, {label: '增容报建', value: '增容报建'}, {
76
- label: '退款报建',
77
- value: '退款报建'
78
- }, {label: '团购转散户', value: '团购转散户'}, {label: '报警器报建', value: '报警器报建'}, {label: '工商业报警器报建', value: '工商业报警器报建'}],
79
-
80
- }
81
- },
82
- ready () {
83
- // this.getModelSum()
84
- if(Vue.config.telephone&&Vue.config.telephone.TipConfig&&Vue.config.telephone.TipConfig.data){
85
- this.isshowTag = true
86
- this.getTabs()
87
- }else{
88
- this.getNoTagTabs()
89
- }
90
-
91
- },
92
-
93
- methods: {
94
- click (row) {
95
- row.laiyuan='工程发起'
96
- let _this = this
97
- this.$dispatch('gotoson', {
98
- _this: _this,
99
- title: row.defname,
100
- safe: true
101
- })
102
- this.$goto('app-service-control', {selectdata: row})
103
- },
104
- async getProcessId(processname) {
105
- let data = {
106
- workname: processname
107
- }
108
- let http = new HttpResetClass()
109
- let res = await http.load(
110
- 'POST',
111
- `${this.$androidUtil.getProxyUrl()}/rs/logic/getProcessId`,
112
- {data: data},
113
- {resolveMsg: null, rejectMsg: '流程标识获取失败!!!'}
114
- )
115
-
116
- return res.data
117
- },
118
- async apply () {
119
- if (this.applyType === '' || this.applyType === null) {
120
- this.$showAlert('请选择需要发起的类型', 'warning', 3000)
121
- return
122
- }
123
- let data = {
124
- f_apply_type: this.applyType
125
- }
126
- if (this.applyType === '散户报建') {
127
- data.processname = '散户报建流程'
128
- data.defname = '报装申请'
129
- } else if (this.applyType === '工商户报建') {
130
- data.processname = '工商户报建流程'
131
- data.defname = '报装申请'
132
- } else if (this.applyType === '改管报建') {
133
- data.processname = '改管报建流程'
134
- data.defname = '报装申请'
135
- } else if (this.applyType === '增容报建') {
136
- data.processname = '增容报建流程'
137
- data.defname = '报装申请'
138
- } else if (this.applyType === '团购报建') {
139
- data.processname = '团购报建流程'
140
- data.defname = '报装申请'
141
- } else if (this.applyType === '退款报建') {
142
- data.processname = '退款报建流程'
143
- data.defname = '终止报建'
144
- } else if (this.applyType === '团购转散户') {
145
- data.processname = '团购转散户报建流程'
146
- data.defname = '信息确认'
147
- }else if (this.applyType === '报警器报建') {
148
- data.processname = '报警器报建流程'
149
- data.defname = '报装申请'
150
- }else if (this.applyType === '工商业报警器报建') {
151
- data.processname = '工商业报警器报建流程'
152
- data.defname = '报装申请'
153
- } else {
154
- this.$showMessage('暂无此类报装')
155
- return
156
- }
157
-
158
- data.f_sub_state = "新增"
159
- data.f_apply_source = "线下发起"
160
- data.f_process_id = await this.getProcessId(data.processname)
161
-
162
- // 调用ExplorationUser事件
163
-
164
- this.click(data)
165
- this.applyType = null
166
- this.showModal = false
167
- },
168
- // 查询本地所有待办
169
- getModelSum(){
170
- for(var i = 0;i<this.tabs.length;i++){
171
- if(this.tabs[i].link == 'zhihuan-first' ){
172
- this.getZhihuan()
173
- }
174
- if(this.tabs[i].link == 'repair-first' ){
175
- this.getRepair()
176
- }
177
- if(this.tabs[i].link == 'current-create' ){
178
- this.getSafeCheck()
179
- }
180
- }
181
-
182
- },
183
- getRepair(){
184
- var _this = this;
185
- this.timeoutRepair = window.setInterval(function() {
186
- let result = _this.$androidUtil.path({'alias':`getServiceMobile`,'data':{condition:'1 = 1'}})
187
- if (result.code === 200) {
188
- console.log('查询得到的代办2' + JSON.stringify(result))
189
- var crv = {
190
- title: '维修待办',
191
- sum: result.data.length
192
- }
193
- _this.changesum(crv)
194
- }
195
- }, 6000)
196
- },
197
- getSafeCheck(){
198
- var _this = this;
199
- this.timeoutRepair = window.setInterval(function() {
200
- let result = _this.$androidUtil.path({'alias':`safecheckGetServiceMobile`,'data':{condition:'1 = 1'}})
201
- if (result.code === 200) {
202
- console.log('查询得到的安检代办' + JSON.stringify(result))
203
- var crv = {
204
- title: '安检待办',
205
- sum: result.data.length
206
- }
207
- _this.changesum(crv)
208
- }
209
- }, 6000)
210
- },
211
- getZhihuan(){
212
- var _this = this;
213
- this.timeoutZhihuan = window.setInterval(function() {
214
- let result = _this.$androidUtil.path({'alias':`getSubstitMobile`,'data':{condition:'1 = 1'}})
215
- if (result.code === 200) {
216
- console.log('查询得到的代办2' + JSON.stringify(result))
217
- var crv = {
218
- title: '置换待办',
219
- sum: result.data.length
220
- }
221
- _this.changesum(crv)
222
- }
223
- }, 6000)
224
- },
225
- changesum(titdata){
226
- for(var i = 0;i<this.tabs.length;i++){
227
- if(this.tabs[i].name == titdata.title){
228
- this.tabs[i].icon = titdata.sum + '单'
229
- console.log(JSON.stringify(this.tabs[i].icon))
230
- return
231
- }
232
- }
233
- },
234
- getNoTagTabs(){
235
- for(let funs in Vue.functions){
236
- if(Vue.functions[funs].link == 'attend-manage'){
237
- this.$set('tabs',Vue.functions[funs].children)
238
- }
239
- }
240
- },
241
- async getTabs(){
242
- const config = Vue.config.telephone.TipConfig.data
243
- const user = Vue.user
244
- console.log("Vue.android"+Vue.android)
245
- if(Vue.android){
246
- const result = this.$androidUtil.syncBzLogic("TipConfig",{data:{config,user}})
247
- if(result.code === 200){
248
- for(let funs in Vue.functions){
249
- if(Vue.functions[funs].link == 'attend-manage'){
250
- Vue.functions[funs].children.forEach(res=>{
251
- console.log(res)
252
- result.result.forEach(ress=>{
253
- if(res.link === ress.link){
254
- res.num=ress.num
255
- }
256
- })
257
- })
258
- this.$set('tabs',Vue.functions[funs].children)
259
- }
260
- }
261
- }else{
262
- for(let funs in Vue.functions){
263
- if(Vue.functions[funs].link == 'attend-manage'){
264
- this.$set('tabs',Vue.functions[funs].children)
265
- }
266
- }
267
- }
268
- }else{
269
- const result = {"code":200,"result":[{"link":"repair-first","num":50},{"link":"current-create","num":30}]}
270
- if(result.code === 200){
271
- for(let funs in Vue.functions){
272
- if(Vue.functions[funs].link == 'attend-manage'){
273
- Vue.functions[funs].children.forEach(res=>{
274
- console.log(res)
275
- result.result.forEach(ress=>{
276
- if(res.link === ress.link){
277
- res.num=ress.num
278
- }
279
- })
280
- })
281
- this.$set('tabs',Vue.functions[funs].children)
282
- }
283
- }
284
- }else{
285
-
286
- }
287
-
288
- }
289
-
290
- },
291
- imgback(val){
292
- return require('../assets/'+val+'.png')
293
- },
294
- // 返回主界面
295
- back(){
296
- this.titleName = '主界面'
297
- this.isMenu = true
298
-
299
- },
300
- gotopage(param,title) {
301
- if(title === '工程发起'){
302
- this.showModal = !this.showModal
303
- }else{
304
- console.log('进入子组件')
305
- var prpdata = {
306
- _this:this,
307
- title:title,
308
- safe:false
309
- }
310
- this.$dispatch('gotoson',prpdata)
311
- this.$goto(param,{sourcet:'竖屏',tabname:title})
312
- }
313
- },
314
- mute () {
315
- HostApp.mute()
316
- }
317
- },
318
- }
319
- </script>
320
- <style lang="less">
321
- .badge-content{
322
- color: #fff;
323
- box-sizing: border-box;
324
- min-width: 8px;
325
- font-size: 9px;
326
- line-height: 12px;
327
- white-space: nowrap;
328
- font-weight: 400;
329
- text-align: center;
330
- }
331
- .badge{
332
- top: 6px;
333
- position: absolute;
334
- max-height: 13px;
335
- min-height: 8px;
336
- //transform: translate(50%,-50%);
337
- right:0;
338
- display: inline-flex;
339
- vertical-align: middle;
340
- box-sizing: content-box;
341
- border-radius: 100px;
342
- background-color: red;
343
- }
344
- .app-input {
345
- label {
346
- float: left;
347
- }
348
- .select {
349
- button {
350
- border: none;
351
- outline: none;
352
- text-align: left;
353
- .btn-placeholder {
354
- color: #ACA899
355
- }
356
- }
357
- }
358
- .datepicker {
359
- .form-control:focus {
360
- border: none!important;
361
- outline: none!important;
362
- -webkit-box-shadow: none;
363
- box-shadow: none;
364
- }
365
- }
366
- }
367
- .tab-befor-img {
368
- content: '';
369
- background-size: 30px;
370
- display: inline-block;
371
- margin-right: 8px;
372
- height: 30px;
373
- width: 30px;
374
- vertical-align: -35%;
375
- }
376
- .pageskuang{
377
- vertical-align:middle;
378
- display:table-cell;
379
- width: 32%;
380
- top:-50%;
381
- margin-top: 1%;
382
- margin-left: 1%;
383
- border:1px solid #e3e3e3;
384
- text-align: center;
385
- background-color: #ffffff;
386
- }
387
- .pgesfoot{
388
- font-size: 14px;
389
- color: #666666;
390
- /* font-family: "Pingfhs";*/
391
- }
392
- .imgs{
393
- width: 35px;
394
- margin-top: 15px;
395
- }
396
- .pages-bgcolor{
397
- text-align: center;
398
- background-color: #f0f0ef;
399
- }
400
- img[src=""],img:not([src]){
401
- opacity: 0;
402
- border:none;
403
- visibility: hidden;
404
- max-width: none;
405
- }
406
-
407
- .manbiankuang{
408
- width: 44%;
409
- margin-top: 15px;
410
- margin-left: 4%;
411
- border:1px solid #e3e3e3;
412
- border-radius:10px 10px 10px 10px;
413
- text-align: center;
414
- background-color: #ffffff;
415
- }
416
-
417
- .nav-bgcolor{
418
- background-color: #ffffff;
419
- }
420
- </style>
1
+ <template>
2
+ <div class="nav-bgcolor">
3
+ <div class="auto">
4
+ <div class="row nav-bgcolor" >
5
+ <div class="col-xs-6 manbiankuang" v-for="tab in tabs" @click="gotopage(tab.link,tab.name)">
6
+ <img class="imgs" :src="imgback(tab.name)">
7
+ <div class="badge"
8
+ v-show="isshowTag&&tab.num&&tab.num>0"
9
+ ><div class="badge-content">{{tab.num>99?'99+':tab.num}}</div></div>
10
+ <p></p>
11
+ <p class="pagesfoot">{{tab.name}}</p>
12
+
13
+ <!--<p class="pagesfoot">{{tab.name}}&nbsp;{{tab.icon}}</p>-->
14
+ <p></p>
15
+ </div>
16
+ </div>
17
+ <!--<div class="row" style="overflow:auto;">-->
18
+ <!--<repair-first v-show="componentName == 'repair-first'" worktype="报修单" :sourcet="sourcet" tabname="维修待办" v-on:changesum="changesum"></repair-first>-->
19
+ <!--<zhihuan-first v-show="componentName == 'zhihuan-first'" worktype="置换通气单" :sourcet="sourcet" tabname="置换待办" v-on:changesum="changesum"></zhihuan-first>-->
20
+ <!--</div>-->
21
+ </div>
22
+ <validator name="v">
23
+ <modal
24
+ v-if="showModal"
25
+ :show.sync="showModal"
26
+ backdrop="false"
27
+ title="工程类型"
28
+ cancel-text="取消"
29
+ ok-text="确认"
30
+ :callback="apply"
31
+ >
32
+ <div class="form-horizontal" slot="modal-body">
33
+ <div class="row form-group app-input" style="margin: 10px auto">
34
+ <label class="">报建类型:</label>
35
+ <div class="col-sm-8">
36
+ <v-select
37
+ v-model="applyType"
38
+ placeholder='请选择需要发起的工程类型'
39
+ :value.sync="applyType"
40
+ :options='applyTypes'
41
+ :value-single="true"
42
+ class="select select_list"
43
+ :search="false"
44
+ close-on-select ></v-select>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </modal>
49
+ </validator>
50
+ </div>
51
+ </template>
52
+
53
+ <script scoped>
54
+ import Vue from 'vue'
55
+ import * as Util from '../Util'
56
+ import {HttpResetClass} from "vue-client";
57
+ export default {
58
+ title: '待办工作导航',
59
+ data() {
60
+ return {
61
+ titleName: '待办工作',
62
+ showModal: false,
63
+ isMenu: true,
64
+ isshowTag:false,
65
+ tabs: [],
66
+ text: '导航组件this',
67
+ beforeName: '待办工作',
68
+ componentName: 'repair-first',
69
+ sourcet: '竖屏',
70
+ applyType: '', // 报建类型
71
+ // applyTypes:this.$appdata.getParam("手机报建类型"),
72
+ applyTypes: [{label: '散户报建', value: '散户报建'}, {label: '工商户报建', value: '工商户报建'}, {
73
+ label: '团购报建',
74
+ value: '团购报建'
75
+ }, {label: '改管报建', value: '改管报建'}, {label: '增容报建', value: '增容报建'}, {
76
+ label: '退款报建',
77
+ value: '退款报建'
78
+ }, {label: '团购转散户', value: '团购转散户'}, {label: '报警器报建', value: '报警器报建'}, {label: '工商业报警器报建', value: '工商业报警器报建'}],
79
+
80
+ }
81
+ },
82
+ ready () {
83
+ // this.getModelSum()
84
+ if(Vue.config.telephone&&Vue.config.telephone.TipConfig&&Vue.config.telephone.TipConfig.data){
85
+ this.isshowTag = true
86
+ this.getTabs()
87
+ }else{
88
+ this.getNoTagTabs()
89
+ }
90
+
91
+ },
92
+
93
+ methods: {
94
+ click (row) {
95
+ row.laiyuan='工程发起'
96
+ let _this = this
97
+ this.$dispatch('gotoson', {
98
+ _this: _this,
99
+ title: row.defname,
100
+ safe: true
101
+ })
102
+ this.$goto('app-service-control', {selectdata: row})
103
+ },
104
+ async getProcessId(processname) {
105
+ let data = {
106
+ workname: processname
107
+ }
108
+ let http = new HttpResetClass()
109
+ let res = await http.load(
110
+ 'POST',
111
+ `${this.$androidUtil.getProxyUrl()}/rs/logic/getProcessId`,
112
+ {data: data},
113
+ {resolveMsg: null, rejectMsg: '流程标识获取失败!!!'}
114
+ )
115
+
116
+ return res.data
117
+ },
118
+ async apply () {
119
+ if (this.applyType === '' || this.applyType === null) {
120
+ this.$showAlert('请选择需要发起的类型', 'warning', 3000)
121
+ return
122
+ }
123
+ let data = {
124
+ f_apply_type: this.applyType
125
+ }
126
+ if (this.applyType === '散户报建') {
127
+ data.processname = '散户报建流程'
128
+ data.defname = '报装申请'
129
+ } else if (this.applyType === '工商户报建') {
130
+ data.processname = '工商户报建流程'
131
+ data.defname = '报装申请'
132
+ } else if (this.applyType === '改管报建') {
133
+ data.processname = '改管报建流程'
134
+ data.defname = '报装申请'
135
+ } else if (this.applyType === '增容报建') {
136
+ data.processname = '增容报建流程'
137
+ data.defname = '报装申请'
138
+ } else if (this.applyType === '团购报建') {
139
+ data.processname = '团购报建流程'
140
+ data.defname = '报装申请'
141
+ } else if (this.applyType === '退款报建') {
142
+ data.processname = '退款报建流程'
143
+ data.defname = '终止报建'
144
+ } else if (this.applyType === '团购转散户') {
145
+ data.processname = '团购转散户报建流程'
146
+ data.defname = '信息确认'
147
+ }else if (this.applyType === '报警器报建') {
148
+ data.processname = '报警器报建流程'
149
+ data.defname = '报装申请'
150
+ }else if (this.applyType === '工商业报警器报建') {
151
+ data.processname = '工商业报警器报建流程'
152
+ data.defname = '报装申请'
153
+ } else {
154
+ this.$showMessage('暂无此类报装')
155
+ return
156
+ }
157
+
158
+ data.f_sub_state = "新增"
159
+ data.f_apply_source = "线下发起"
160
+ data.f_process_id = await this.getProcessId(data.processname)
161
+
162
+ // 调用ExplorationUser事件
163
+
164
+ this.click(data)
165
+ this.applyType = null
166
+ this.showModal = false
167
+ },
168
+ // 查询本地所有待办
169
+ getModelSum(){
170
+ for(var i = 0;i<this.tabs.length;i++){
171
+ if(this.tabs[i].link == 'zhihuan-first' ){
172
+ this.getZhihuan()
173
+ }
174
+ if(this.tabs[i].link == 'repair-first' ){
175
+ this.getRepair()
176
+ }
177
+ if(this.tabs[i].link == 'current-create' ){
178
+ this.getSafeCheck()
179
+ }
180
+ }
181
+
182
+ },
183
+ getRepair(){
184
+ var _this = this;
185
+ this.timeoutRepair = window.setInterval(function() {
186
+ let result = _this.$androidUtil.path({'alias':`getServiceMobile`,'data':{condition:'1 = 1'}})
187
+ if (result.code === 200) {
188
+ console.log('查询得到的代办2' + JSON.stringify(result))
189
+ var crv = {
190
+ title: '维修待办',
191
+ sum: result.data.length
192
+ }
193
+ _this.changesum(crv)
194
+ }
195
+ }, 6000)
196
+ },
197
+ getSafeCheck(){
198
+ var _this = this;
199
+ this.timeoutRepair = window.setInterval(function() {
200
+ let result = _this.$androidUtil.path({'alias':`safecheckGetServiceMobile`,'data':{condition:'1 = 1'}})
201
+ if (result.code === 200) {
202
+ console.log('查询得到的安检代办' + JSON.stringify(result))
203
+ var crv = {
204
+ title: '安检待办',
205
+ sum: result.data.length
206
+ }
207
+ _this.changesum(crv)
208
+ }
209
+ }, 6000)
210
+ },
211
+ getZhihuan(){
212
+ var _this = this;
213
+ this.timeoutZhihuan = window.setInterval(function() {
214
+ let result = _this.$androidUtil.path({'alias':`getSubstitMobile`,'data':{condition:'1 = 1'}})
215
+ if (result.code === 200) {
216
+ console.log('查询得到的代办2' + JSON.stringify(result))
217
+ var crv = {
218
+ title: '置换待办',
219
+ sum: result.data.length
220
+ }
221
+ _this.changesum(crv)
222
+ }
223
+ }, 6000)
224
+ },
225
+ changesum(titdata){
226
+ for(var i = 0;i<this.tabs.length;i++){
227
+ if(this.tabs[i].name == titdata.title){
228
+ this.tabs[i].icon = titdata.sum + '单'
229
+ console.log(JSON.stringify(this.tabs[i].icon))
230
+ return
231
+ }
232
+ }
233
+ },
234
+ getNoTagTabs(){
235
+ for(let funs in Vue.functions){
236
+ if(Vue.functions[funs].link == 'attend-manage'){
237
+ this.$set('tabs',Vue.functions[funs].children)
238
+ }
239
+ }
240
+ },
241
+ async getTabs(){
242
+ const config = Vue.config.telephone.TipConfig.data
243
+ const user = Vue.user
244
+ console.log("Vue.android"+Vue.android)
245
+ if(Vue.android){
246
+ const result = this.$androidUtil.syncBzLogic("TipConfig",{data:{config,user}})
247
+ if(result.code === 200){
248
+ for(let funs in Vue.functions){
249
+ if(Vue.functions[funs].link == 'attend-manage'){
250
+ Vue.functions[funs].children.forEach(res=>{
251
+ console.log(res)
252
+ result.result.forEach(ress=>{
253
+ if(res.link === ress.link){
254
+ res.num=ress.num
255
+ }
256
+ })
257
+ })
258
+ this.$set('tabs',Vue.functions[funs].children)
259
+ }
260
+ }
261
+ }else{
262
+ for(let funs in Vue.functions){
263
+ if(Vue.functions[funs].link == 'attend-manage'){
264
+ this.$set('tabs',Vue.functions[funs].children)
265
+ }
266
+ }
267
+ }
268
+ }else{
269
+ const result = {"code":200,"result":[{"link":"repair-first","num":50},{"link":"current-create","num":30}]}
270
+ if(result.code === 200){
271
+ for(let funs in Vue.functions){
272
+ if(Vue.functions[funs].link == 'attend-manage'){
273
+ Vue.functions[funs].children.forEach(res=>{
274
+ console.log(res)
275
+ result.result.forEach(ress=>{
276
+ if(res.link === ress.link){
277
+ res.num=ress.num
278
+ }
279
+ })
280
+ })
281
+ this.$set('tabs',Vue.functions[funs].children)
282
+ }
283
+ }
284
+ }else{
285
+
286
+ }
287
+
288
+ }
289
+
290
+ },
291
+ imgback(val){
292
+ return require('../assets/'+val+'.png')
293
+ },
294
+ // 返回主界面
295
+ back(){
296
+ this.titleName = '主界面'
297
+ this.isMenu = true
298
+
299
+ },
300
+ gotopage(param,title) {
301
+ if(title === '工程发起'){
302
+ this.showModal = !this.showModal
303
+ }else{
304
+ console.log('进入子组件')
305
+ var prpdata = {
306
+ _this:this,
307
+ title:title,
308
+ safe:false
309
+ }
310
+ this.$dispatch('gotoson',prpdata)
311
+ this.$goto(param,{sourcet:'竖屏',tabname:title})
312
+ }
313
+ },
314
+ mute () {
315
+ HostApp.mute()
316
+ }
317
+ },
318
+ }
319
+ </script>
320
+ <style lang="less">
321
+ .badge-content{
322
+ color: #fff;
323
+ box-sizing: border-box;
324
+ min-width: 8px;
325
+ font-size: 9px;
326
+ line-height: 12px;
327
+ white-space: nowrap;
328
+ font-weight: 400;
329
+ text-align: center;
330
+ }
331
+ .badge{
332
+ top: 6px;
333
+ position: absolute;
334
+ max-height: 13px;
335
+ min-height: 8px;
336
+ //transform: translate(50%,-50%);
337
+ right:0;
338
+ display: inline-flex;
339
+ vertical-align: middle;
340
+ box-sizing: content-box;
341
+ border-radius: 100px;
342
+ background-color: red;
343
+ }
344
+ .app-input {
345
+ label {
346
+ float: left;
347
+ }
348
+ .select {
349
+ button {
350
+ border: none;
351
+ outline: none;
352
+ text-align: left;
353
+ .btn-placeholder {
354
+ color: #ACA899
355
+ }
356
+ }
357
+ }
358
+ .datepicker {
359
+ .form-control:focus {
360
+ border: none!important;
361
+ outline: none!important;
362
+ -webkit-box-shadow: none;
363
+ box-shadow: none;
364
+ }
365
+ }
366
+ }
367
+ .tab-befor-img {
368
+ content: '';
369
+ background-size: 30px;
370
+ display: inline-block;
371
+ margin-right: 8px;
372
+ height: 30px;
373
+ width: 30px;
374
+ vertical-align: -35%;
375
+ }
376
+ .pageskuang{
377
+ vertical-align:middle;
378
+ display:table-cell;
379
+ width: 32%;
380
+ top:-50%;
381
+ margin-top: 1%;
382
+ margin-left: 1%;
383
+ border:1px solid #e3e3e3;
384
+ text-align: center;
385
+ background-color: #ffffff;
386
+ }
387
+ .pgesfoot{
388
+ font-size: 14px;
389
+ color: #666666;
390
+ /* font-family: "Pingfhs";*/
391
+ }
392
+ .imgs{
393
+ width: 35px;
394
+ margin-top: 15px;
395
+ }
396
+ .pages-bgcolor{
397
+ text-align: center;
398
+ background-color: #f0f0ef;
399
+ }
400
+ img[src=""],img:not([src]){
401
+ opacity: 0;
402
+ border:none;
403
+ visibility: hidden;
404
+ max-width: none;
405
+ }
406
+
407
+ .manbiankuang{
408
+ width: 44%;
409
+ margin-top: 15px;
410
+ margin-left: 4%;
411
+ border:1px solid #e3e3e3;
412
+ border-radius:10px 10px 10px 10px;
413
+ text-align: center;
414
+ background-color: #ffffff;
415
+ }
416
+
417
+ .nav-bgcolor{
418
+ background-color: #ffffff;
419
+ }
420
+ </style>
@@ -1,192 +1,196 @@
1
- <template>
2
- <!--<div class="app-botton" @click="back()">-->
3
- <!--<span class="glyphicon glyphicon-menu-left">返回</span>-->
4
- <!--</div>-->
5
- <div class="auto">
6
- <div class="row app-row">
7
- <div class="col-xs-4">
8
- <img src="../assets/姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
9
- <span class="text-left font">账号</span>
10
- </div>
11
- <div class="col-xs-8 input-font">
12
- <input type="text" class="search_input input-font" v-model="model.ename" readonly/>
13
- </div>
14
- </div>
15
- <div class="row app-row">
16
- <div class="col-xs-4" style="margin-top: 8px">
17
- <img src="../assets/原始密码.png" style="width: 20px;margin-bottom: 5px" alt="">
18
- <span class="text-left font">原始密码</span>
19
- </div>
20
- <div class="col-xs-8">
21
- <input type="password" id="oldpassword" class="search_input input-font" v-model="model.oldpassword" placeholder="请输入原始密码"/>
22
- </div>
23
- </div>
24
- <div class="row app-row">
25
- <div class="col-xs-4" style="margin-top: 8px">
26
- <img src="../assets/密码.png" style="width: 20px;margin-bottom: 5px" >
27
- <span class="text-left font">新密码</span>
28
- </div>
29
- <div class="col-xs-8">
30
- <input type="password" id="newpassword1" class="search_input input-font" v-model="model.password" :placeholder="weakPassword?'需要包含大小写字母符号数字':'请输入新密码'"/>
31
- </div>
32
- </div>
33
- <div class="row app-row">
34
- <div class="col-xs-4" style="margin-top: 8px">
35
- <img src="../assets/密码.png" style="width: 20px;margin-bottom: 5px" alt="">
36
- <span class="text-left font">确认密码</span>
37
- </div>
38
- <div class="col-xs-8">
39
- <input type="password" id="newpassword2" class="search_input input-font" v-model="model.newpassword" placeholder="请重新输入新密码"/>
40
- </div>
41
- </div>
42
- <div class="row app-row">
43
- <div class="col-xs-4" style="margin-top: 8px">
44
- <img src="../assets/选中.png" style="width: 20px;margin-bottom: 5px" alt="" v-if="showpass"@click="showoff()">
45
- <img src="../assets/未选.png" style="width: 20px;margin-bottom: 5px" alt="" v-if="!showpass" @click="showon()">
46
- <span class="text-left font">显示密码</span>
47
- </div>
48
- </div>
49
- <div class="row app-row text-center">
50
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="save()">提交</button>
51
- </div>
52
- </div>
53
- </template>
54
- <script>
55
- import Vue from 'vue'
56
-
57
- let asyncCheck = async function(self,url) {
58
- try {
59
- let that = self
60
- let user = {
61
- ename: that.model.ename,
62
- newpassword:that.model.password,
63
- affirmpassword:that.model.newpassword,
64
- password : that.model.oldpassword
65
- }
66
- let res = await Vue.resetpost(`${url}/rs/user/modifypwd`,{data: user },{resolveMsg: null, rejectMsg: null})
67
- console.log("手机端验证登陆原始密码")
68
- console.log(res.data)
69
- if(res.data){
70
- that.$showMessage('修改密码成功!')
71
- if(that.sourse == 'login'){
72
- that.$emit('success',that.model.password)
73
- return
74
- }
75
- that.$back()
76
- }else {
77
- that.$showMessage('修改密码失败,请重新输入!')
78
- console.log(res.data)
79
- return
80
- }
81
- } catch (error) {
82
- if (error.status == 500) {
83
- that.$showMessage('网络异常,请检查手机网络!')
84
- }else{
85
- throw error
86
- }
87
- }
88
- }
89
-
90
- export default {
91
- title: '修改密码',
92
- data () {
93
- return {
94
- model: {
95
- user: Vue.user.name,
96
- userid: Vue.user.id,
97
- ename: Vue.user.ename,
98
- oldpassword: '',
99
- password: '',
100
- newpassword:''
101
- },
102
- showpass:false
103
- }
104
- },
105
- props: {
106
- sourse:'',
107
- weakPassword:false
108
- },
109
- ready () {
110
-
111
- },
112
- methods: {
113
- back () {
114
- let _this = this
115
- this.$showMessage('所填写内容将不可恢复!', ['confirm', 'cancel']).then((res) => {
116
- if (res === 'confirm') {
117
- _this.$back()
118
- }
119
- })
120
- },
121
- // showpass(){
122
- // console.log('1')
123
- // document.getElementById("oldpassword").type = "text"
124
- // },
125
- showon(){
126
- this.showpass = true
127
- document.getElementById("oldpassword").type = "text"
128
- document.getElementById("newpassword1").type = "text"
129
- document.getElementById("newpassword2").type = "text"
130
- },
131
- showoff(){
132
- this.showpass = false
133
- document.getElementById("oldpassword").type = "password"
134
- document.getElementById("newpassword1").type = "password"
135
- document.getElementById("newpassword2").type = "password"
136
- },
137
- save() {
138
- // 先对新密码和确认密码是否一致
139
- if (this.model.password != this.model.newpassword) {
140
- this.$showMessage('两次输入密码不一致!')
141
- return
142
- }
143
- if(this.weakPassword && this.model.password && !(/^(?:(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).*$/.test(this.model.password))){
144
- this.$showMessage('新密码必须包含大小写字母、数字、符号!')
145
- return
146
- }
147
- // 检验原始密码是否符合 并修改密码
148
- asyncCheck(this, this.$androidUtil.getProxyUrl())
149
- }
150
- }
151
- }
152
- </script>
153
- <style>
154
- .search_input {
155
- border: 0;
156
- outline: none;
157
- }
158
- .app-row {
159
- background-color: white;
160
- padding: 10px 10px 0 10px;
161
- border-bottom: 1px solid rgba(235, 235, 235, 0.5);
162
- }
163
- .font{
164
- font: 15px PingFang-SC-Medium;
165
- }
166
- .btn-font{
167
- font:600 16px PingFang-SC-Bold;
168
- color: #499EDF;
169
- }
170
- .btn-color{
171
- background-color: #FFFFFF;
172
- border-radius: 10px ;
173
- border: 1px solid #499EDF;
174
- }
175
- .input-font{
176
- font: 15px PingFang-SC-Medium;
177
- color: #333333;
178
- }
179
- .app-botton {
180
- position:fixed;
181
- background: #87b2dd;
182
- color: #FFF;
183
- padding: 8px;
184
- text-align: center;
185
- font-size: 1.2em;
186
- z-index: 10;
187
- opacity:0.5;
188
- bottom: 50px;
189
- margin-top: -10px;
190
- height: 40px;
191
- }
192
- </style>
1
+ <template>
2
+ <!--<div class="app-botton" @click="back()">-->
3
+ <!--<span class="glyphicon glyphicon-menu-left">返回</span>-->
4
+ <!--</div>-->
5
+ <div class="auto">
6
+ <div class="row app-row">
7
+ <div class="col-xs-4">
8
+ <img src="../assets/姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
9
+ <span class="text-left font">账号</span>
10
+ </div>
11
+ <div class="col-xs-8 input-font">
12
+ <input type="text" class="search_input input-font" v-model="model.ename" readonly/>
13
+ </div>
14
+ </div>
15
+ <div class="row app-row">
16
+ <div class="col-xs-4" style="margin-top: 8px">
17
+ <img src="../assets/原始密码.png" style="width: 20px;margin-bottom: 5px" alt="">
18
+ <span class="text-left font">原始密码</span>
19
+ </div>
20
+ <div class="col-xs-8">
21
+ <input type="password" id="oldpassword" class="search_input input-font" v-model="model.oldpassword" placeholder="请输入原始密码"/>
22
+ </div>
23
+ </div>
24
+ <div class="row app-row">
25
+ <div class="col-xs-4" style="margin-top: 8px">
26
+ <img src="../assets/密码.png" style="width: 20px;margin-bottom: 5px" >
27
+ <span class="text-left font">新密码</span>
28
+ </div>
29
+ <div class="col-xs-8">
30
+ <input type="password" id="newpassword1" class="search_input input-font" v-model="model.password" :placeholder="weakPassword?'需要包含大小写字母符号数字':'请输入新密码'"/>
31
+ </div>
32
+ </div>
33
+ <div class="row app-row">
34
+ <div class="col-xs-4" style="margin-top: 8px">
35
+ <img src="../assets/密码.png" style="width: 20px;margin-bottom: 5px" alt="">
36
+ <span class="text-left font">确认密码</span>
37
+ </div>
38
+ <div class="col-xs-8">
39
+ <input type="password" id="newpassword2" class="search_input input-font" v-model="model.newpassword" placeholder="请重新输入新密码"/>
40
+ </div>
41
+ </div>
42
+ <div class="row app-row">
43
+ <div class="col-xs-4" style="margin-top: 8px">
44
+ <img src="../assets/选中.png" style="width: 20px;margin-bottom: 5px" alt="" v-if="showpass"@click="showoff()">
45
+ <img src="../assets/未选.png" style="width: 20px;margin-bottom: 5px" alt="" v-if="!showpass" @click="showon()">
46
+ <span class="text-left font">显示密码</span>
47
+ </div>
48
+ </div>
49
+ <div class="row app-row text-center">
50
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="save()">提交</button>
51
+ </div>
52
+ </div>
53
+ </template>
54
+ <script>
55
+ import Vue from 'vue'
56
+
57
+ let asyncCheck = async function(self,url) {
58
+ try {
59
+ let that = self
60
+ let user = {
61
+ ename: that.model.ename,
62
+ newpassword:that.model.password,
63
+ affirmpassword:that.model.newpassword,
64
+ password : that.model.oldpassword
65
+ }
66
+ let res = await Vue.resetpost(`${url}/rs/user/modifypwd`,{data: user },{resolveMsg: null, rejectMsg: null})
67
+ console.log("手机端验证登陆原始密码")
68
+ console.log(res.data)
69
+ if(res.data){
70
+ that.$showMessage('修改密码成功!')
71
+ if(that.sourse == 'login'){
72
+ that.$emit('success',that.model.password)
73
+ return
74
+ }
75
+ that.$back()
76
+ }else {
77
+ that.$showMessage('修改密码失败,请重新输入!')
78
+ console.log(res.data)
79
+ return
80
+ }
81
+ } catch (error) {
82
+ if (error.status == 500) {
83
+ that.$showMessage('网络异常,请检查手机网络!')
84
+ }else{
85
+ throw error
86
+ }
87
+ }
88
+ }
89
+
90
+ export default {
91
+ title: '修改密码',
92
+ data () {
93
+ return {
94
+ model: {
95
+ user: Vue.user.name,
96
+ userid: Vue.user.id,
97
+ ename: Vue.user.ename,
98
+ oldpassword: '',
99
+ password: '',
100
+ newpassword:''
101
+ },
102
+ showpass:false
103
+ }
104
+ },
105
+ props: {
106
+ sourse:'',
107
+ weakPassword:false
108
+ },
109
+ ready () {
110
+
111
+ },
112
+ methods: {
113
+ back () {
114
+ let _this = this
115
+ this.$showMessage('所填写内容将不可恢复!', ['confirm', 'cancel']).then((res) => {
116
+ if (res === 'confirm') {
117
+ _this.$back()
118
+ }
119
+ })
120
+ },
121
+ // showpass(){
122
+ // console.log('1')
123
+ // document.getElementById("oldpassword").type = "text"
124
+ // },
125
+ showon(){
126
+ this.showpass = true
127
+ document.getElementById("oldpassword").type = "text"
128
+ document.getElementById("newpassword1").type = "text"
129
+ document.getElementById("newpassword2").type = "text"
130
+ },
131
+ showoff(){
132
+ this.showpass = false
133
+ document.getElementById("oldpassword").type = "password"
134
+ document.getElementById("newpassword1").type = "password"
135
+ document.getElementById("newpassword2").type = "password"
136
+ },
137
+ save() {
138
+ if (this.model.password == '' || this.model.newpassword == ''){
139
+ this.$showMessage('密码不能为空!')
140
+ return
141
+ }
142
+ // 先对新密码和确认密码是否一致
143
+ if (this.model.password != this.model.newpassword) {
144
+ this.$showMessage('两次输入密码不一致!')
145
+ return
146
+ }
147
+ if(this.weakPassword && this.model.password && !(/^(?:(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).*$/.test(this.model.password))){
148
+ this.$showMessage('新密码必须包含大小写字母、数字、符号!')
149
+ return
150
+ }
151
+ // 检验原始密码是否符合 并修改密码
152
+ asyncCheck(this, this.$androidUtil.getProxyUrl())
153
+ }
154
+ }
155
+ }
156
+ </script>
157
+ <style>
158
+ .search_input {
159
+ border: 0;
160
+ outline: none;
161
+ }
162
+ .app-row {
163
+ background-color: white;
164
+ padding: 10px 10px 0 10px;
165
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
166
+ }
167
+ .font{
168
+ font: 15px PingFang-SC-Medium;
169
+ }
170
+ .btn-font{
171
+ font:600 16px PingFang-SC-Bold;
172
+ color: #499EDF;
173
+ }
174
+ .btn-color{
175
+ background-color: #FFFFFF;
176
+ border-radius: 10px ;
177
+ border: 1px solid #499EDF;
178
+ }
179
+ .input-font{
180
+ font: 15px PingFang-SC-Medium;
181
+ color: #333333;
182
+ }
183
+ .app-botton {
184
+ position:fixed;
185
+ background: #87b2dd;
186
+ color: #FFF;
187
+ padding: 8px;
188
+ text-align: center;
189
+ font-size: 1.2em;
190
+ z-index: 10;
191
+ opacity:0.5;
192
+ bottom: 50px;
193
+ margin-top: -10px;
194
+ height: 40px;
195
+ }
196
+ </style>