safecheck-client 3.0.34-35 → 3.0.34-39

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 (32) hide show
  1. package/package.json +1 -1
  2. package/src/App.vue +31 -31
  3. package/src/components/android/QRCode/QRCodePage.vue +208 -208
  4. package/src/components/android/examples/SafeListExamples.vue +96 -96
  5. package/src/components/android/examples/UserExamples.vue +126 -126
  6. package/src/filiale/bayan/android/SafecheckOrderV.vue +49 -26
  7. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -2803
  8. package/src/filiale/huaran/android.js +12 -12
  9. package/src/filiale/huaran/pc/CheckBook.vue +313 -313
  10. package/src/filiale/huaran/pc/CheckBookAll.vue +69 -69
  11. package/src/filiale/huaran/pc/CheckBookArea.vue +170 -170
  12. package/src/filiale/huaran/pc/CheckBookCompany.vue +166 -166
  13. package/src/filiale/huaran/pc/CheckBookDetails.vue +196 -196
  14. package/src/filiale/huaran/pc/CheckBookEntry.vue +61 -61
  15. package/src/filiale/huaran/pc/CheckBookList.vue +386 -386
  16. package/src/filiale/huaran/pc/CheckBookSearchArea.vue +564 -564
  17. package/src/filiale/huaran/pc/CheckBookSearchUnit.vue +229 -229
  18. package/src/filiale/huaran/pc/CheckBookSearchUser.vue +604 -604
  19. package/src/filiale/huaran/pc/CheckBookUser.vue +112 -112
  20. package/src/filiale/huaran/pc/PaperList.vue +822 -822
  21. package/src/filiale/huaran/pc/PlanManage.vue +887 -887
  22. package/src/filiale/huaran/pc/checkPlanList.vue +419 -419
  23. package/src/filiale/huaran/pc/checkUserList.vue +867 -867
  24. package/src/filiale/huaran/pc.js +27 -27
  25. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -0
  26. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -0
  27. package/src/filiale/ruihua/android.js +11 -0
  28. package/src/filiale/weinan/android/SafecheckDevices.vue +1295 -1295
  29. package/src/filiale/weinan/android/SafecheckOrderV.vue +3335 -3335
  30. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -1088
  31. package/src/filiale/weinan/pc.js +47 -47
  32. package/src/main.js +33 -33
@@ -1,96 +1,96 @@
1
- <template>
2
- <div class="panel panel-default auto repair-info-content">
3
- <div class="panel-body">
4
- <div class="panel panel-default well" v-if="model.length>0">
5
- <div class="bg-info">
6
- <div class="row form-group">
7
- <div class="col-xs-12 col-sm-12 col-md-12">
8
- <div class="row">
9
- <div class="col-xs-12 col-sm-12 col-md-12">
10
- 用户名称: {{ model[0].f_user_name }}
11
- </div>
12
- <div class="col-xs-12 col-sm-12 col-md-12">
13
- 用户编号: {{ model[0].f_userinfo_code }}
14
- </div>
15
- <div class="col-xs-12 col-sm-12 col-md-12">
16
- 用户电话: {{ model[0].f_user_phone }}
17
- </div>
18
- <div class="col-xs-12 col-sm-12 col-md-12">
19
- 用户地址: {{ model[0].f_address }}
20
- </div>
21
- </div>
22
- </div>
23
- </div>
24
- </div>
25
- </div>
26
- <div class="panel panel-default well" v-for="row in model">
27
- <div class="bg-info">
28
- <div class="row form-group">
29
- <div class="col-xs-12 col-sm-12 col-md-12">
30
- <div class="row">
31
- <div class="col-xs-12 col-sm-12 col-md-12">
32
- 安检时间: {{ row.f_offsite_time }}
33
- </div>
34
- <div class="col-xs-12 col-sm-12 col-md-12">
35
- 安检员: {{ row.f_checker_name }}
36
- </div>
37
- <div class="col-xs-12 col-sm-12 col-md-12">
38
- 安检状态: {{ row.f_entry_status }}
39
- </div>
40
- <div class="col-xs-12 col-sm-12 col-md-12">
41
- 安检结果: {{ row.f_defect_content.include('正常') ? '正常' : '有隐患' }}
42
- </div>
43
- <div class="col-xs-12 col-sm-12 col-md-12">
44
- 整改内容: {{ row.f_defect_text }}
45
- </div>
46
- </div>
47
- </div>
48
- </div>
49
- </div>
50
- </div>
51
- </div>
52
- </div>
53
- </template>
54
-
55
- <script>
56
- import {HttpResetClass} from 'vue-client'
57
-
58
- export default {
59
- title: '查询用户',
60
- data() {
61
- return {
62
- model: [],
63
- f_safecheck_code: ''
64
- }
65
- },
66
- methods: {
67
- getmodel() {
68
- let http = new HttpResetClass()
69
- http.load('POST', `rs/sql/tel_singleTable_OrderBy`, {
70
- data: {
71
- items: "tcp.*,CASE WHEN CHARINDEX( '\"result\":\"正常\"', f_defect_content ) > 0 THEN '无隐患' ELSE replace(replace(replace( replace( RIGHT ( f_defect_content, len( f_defect_content ) - 26 ), substring('{}',2,1), '' ), substring('{}',1,1), '' ),']',''),'\"','') END as f_defect_text",
72
- tablename: 't_check_paper tcp left join t_qr_code tqr on tcp.f_userinfoid = tqr.f_userinfo_id',
73
- condition: `tqr.f_safecheck_code = '${this.f_safecheck_code}'`,
74
- orderitem: 'tcp.f_offsite_time desc'
75
- }
76
- }).then((res) => {
77
- this.model = res.data
78
- })
79
- },
80
- },
81
- ready() {
82
- console.log(window.location.href)
83
- let url = window.location.href
84
- if (url.includes('id')){
85
- const urlObj = new URL(url);
86
- this.f_safecheck_code = urlObj.searchParams.get('id')
87
- this.getmodel()
88
- }else {
89
- console.log(window.location.href)
90
- console.log('非法数据')
91
- }
92
- }
93
- }
94
- </script>
95
- <style>
96
- </style>
1
+ <template>
2
+ <div class="panel panel-default auto repair-info-content">
3
+ <div class="panel-body">
4
+ <div class="panel panel-default well" v-if="model.length>0">
5
+ <div class="bg-info">
6
+ <div class="row form-group">
7
+ <div class="col-xs-12 col-sm-12 col-md-12">
8
+ <div class="row">
9
+ <div class="col-xs-12 col-sm-12 col-md-12">
10
+ 用户名称: {{ model[0].f_user_name }}
11
+ </div>
12
+ <div class="col-xs-12 col-sm-12 col-md-12">
13
+ 用户编号: {{ model[0].f_userinfo_code }}
14
+ </div>
15
+ <div class="col-xs-12 col-sm-12 col-md-12">
16
+ 用户电话: {{ model[0].f_user_phone }}
17
+ </div>
18
+ <div class="col-xs-12 col-sm-12 col-md-12">
19
+ 用户地址: {{ model[0].f_address }}
20
+ </div>
21
+ </div>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ <div class="panel panel-default well" v-for="row in model">
27
+ <div class="bg-info">
28
+ <div class="row form-group">
29
+ <div class="col-xs-12 col-sm-12 col-md-12">
30
+ <div class="row">
31
+ <div class="col-xs-12 col-sm-12 col-md-12">
32
+ 安检时间: {{ row.f_offsite_time }}
33
+ </div>
34
+ <div class="col-xs-12 col-sm-12 col-md-12">
35
+ 安检员: {{ row.f_checker_name }}
36
+ </div>
37
+ <div class="col-xs-12 col-sm-12 col-md-12">
38
+ 安检状态: {{ row.f_entry_status }}
39
+ </div>
40
+ <div class="col-xs-12 col-sm-12 col-md-12">
41
+ 安检结果: {{ row.f_defect_content.include('正常') ? '正常' : '有隐患' }}
42
+ </div>
43
+ <div class="col-xs-12 col-sm-12 col-md-12">
44
+ 整改内容: {{ row.f_defect_text }}
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ </div>
52
+ </div>
53
+ </template>
54
+
55
+ <script>
56
+ import {HttpResetClass} from 'vue-client'
57
+
58
+ export default {
59
+ title: '查询用户',
60
+ data() {
61
+ return {
62
+ model: [],
63
+ f_safecheck_code: ''
64
+ }
65
+ },
66
+ methods: {
67
+ getmodel() {
68
+ let http = new HttpResetClass()
69
+ http.load('POST', `rs/sql/tel_singleTable_OrderBy`, {
70
+ data: {
71
+ items: "tcp.*,CASE WHEN CHARINDEX( '\"result\":\"正常\"', f_defect_content ) > 0 THEN '无隐患' ELSE replace(replace(replace( replace( RIGHT ( f_defect_content, len( f_defect_content ) - 26 ), substring('{}',2,1), '' ), substring('{}',1,1), '' ),']',''),'\"','') END as f_defect_text",
72
+ tablename: 't_check_paper tcp left join t_qr_code tqr on tcp.f_userinfoid = tqr.f_userinfo_id',
73
+ condition: `tqr.f_safecheck_code = '${this.f_safecheck_code}'`,
74
+ orderitem: 'tcp.f_offsite_time desc'
75
+ }
76
+ }).then((res) => {
77
+ this.model = res.data
78
+ })
79
+ },
80
+ },
81
+ ready() {
82
+ console.log(window.location.href)
83
+ let url = window.location.href
84
+ if (url.includes('id')){
85
+ const urlObj = new URL(url);
86
+ this.f_safecheck_code = urlObj.searchParams.get('id')
87
+ this.getmodel()
88
+ }else {
89
+ console.log(window.location.href)
90
+ console.log('非法数据')
91
+ }
92
+ }
93
+ }
94
+ </script>
95
+ <style>
96
+ </style>
@@ -1,126 +1,126 @@
1
- <template>
2
- <div class="work-badge" style="height: 100%">
3
- <div class="badge-top" style="height: 33%">
4
- <div class="badge-number">NO.{{ f_head_code }}</div>
5
- </div>
6
- <div class="badge-middle" style="height: 33%">
7
- <img class="badge-image" :src="f_head_pic" alt="Badge Image">
8
- <h1 class="name">{{ f_head_name }}</h1>
9
- <div class="position">{{ f_head_post }}</div>
10
- </div>
11
- <div class="badge-bottom" style="height: 33%">
12
- <div class="contact">
13
- <img class="phone-icon" src="../../../assets/123.png" style="height: 30px;width: 30px" alt="Phone Icon">
14
- <span style="font-size: 30px">{{ f_head_phone }}</span>
15
- </div>
16
- </div>
17
- </div>
18
- </template>
19
- <script>
20
- import {HttpResetClass} from "vue-client";
21
-
22
- export default {
23
- name: 'WorkBadge',
24
- title:'WorkBadge',
25
- data () {
26
- return {
27
- // 默认值或初始状态
28
- f_head_pic: '',
29
- f_head_code: '',
30
- f_head_name: '',
31
- f_head_post: '',
32
- f_head_phone: ''
33
- };
34
- },
35
- async ready () {
36
- console.log(window.location.href)
37
- let id = ''
38
- let url = window.location.href
39
- if (url.includes('id')){
40
- const urlObj = new URL(url);
41
- id = urlObj.searchParams.get('id');
42
- let QRCode = await new HttpResetClass().load('post',`rs/sql/tel_singleTable_OrderBy`,{data: {
43
- items: '*',
44
- tablename: 't_qr_code',
45
- condition: `f_head_code = '${id}'`,
46
- orderitem: '1'
47
- }})
48
- if (QRCode && QRCode.data && QRCode.data.length > 0){
49
- this.f_head_pic = `/resource/af-revenue/images/${QRCode.data[0].f_head_pic}`
50
- this.f_head_code = QRCode.data[0].f_head_code
51
- this.f_head_name = QRCode.data[0].f_head_name
52
- this.f_head_post = QRCode.data[0].f_head_post
53
- this.f_head_phone = QRCode.data[0].f_head_phone
54
- }else {
55
- console.log('获取二维码信息失败')
56
- console.log(QRCode)
57
- }
58
- }
59
- }
60
- };
61
- </script>
62
- <style scoped>
63
- .work-badge {
64
- display: flex;
65
- flex-direction: column;
66
- background-image: url('../../../assets/f8632d3c8c4c1cb68e99da754cab1a7.png');
67
- align-items: center;
68
- background-color: #007BFF;
69
- color: white;
70
- padding: 20px;
71
- border-radius: 10px;
72
- }
73
-
74
- .badge-top {
75
- display: flex;
76
- align-items: center;
77
- justify-content: space-between;
78
- width: 100%;
79
- margin-bottom: 20px;
80
- }
81
-
82
- .badge-image {
83
- width: 150px;
84
- height: 150px;
85
- margin-right: 20px;
86
- }
87
-
88
- .badge-number {
89
- font-size: 24px;
90
- float: left;
91
- text-align: left;
92
- font-weight: bold;
93
- }
94
-
95
- .badge-middle {
96
- text-align: center;
97
- margin-bottom: 20px;
98
- }
99
-
100
- .name {
101
- font-size: 48px;
102
- font-weight: bold;
103
- margin-bottom: 10px;
104
- }
105
-
106
- .position {
107
- font-size: 24px;
108
- }
109
-
110
- .badge-bottom {
111
- display: flex;
112
- align-items: center;
113
- justify-content: center;
114
- }
115
-
116
- .contact {
117
- display: flex;
118
- align-items: center;
119
- }
120
-
121
- .phone-icon {
122
- width: 30px;
123
- height: 30px;
124
- margin-right: 10px;
125
- }
126
- </style>
1
+ <template>
2
+ <div class="work-badge" style="height: 100%">
3
+ <div class="badge-top" style="height: 33%">
4
+ <div class="badge-number">NO.{{ f_head_code }}</div>
5
+ </div>
6
+ <div class="badge-middle" style="height: 33%">
7
+ <img class="badge-image" :src="f_head_pic" alt="Badge Image">
8
+ <h1 class="name">{{ f_head_name }}</h1>
9
+ <div class="position">{{ f_head_post }}</div>
10
+ </div>
11
+ <div class="badge-bottom" style="height: 33%">
12
+ <div class="contact">
13
+ <img class="phone-icon" src="../../../assets/123.png" style="height: 30px;width: 30px" alt="Phone Icon">
14
+ <span style="font-size: 30px">{{ f_head_phone }}</span>
15
+ </div>
16
+ </div>
17
+ </div>
18
+ </template>
19
+ <script>
20
+ import {HttpResetClass} from "vue-client";
21
+
22
+ export default {
23
+ name: 'WorkBadge',
24
+ title:'WorkBadge',
25
+ data () {
26
+ return {
27
+ // 默认值或初始状态
28
+ f_head_pic: '',
29
+ f_head_code: '',
30
+ f_head_name: '',
31
+ f_head_post: '',
32
+ f_head_phone: ''
33
+ };
34
+ },
35
+ async ready () {
36
+ console.log(window.location.href)
37
+ let id = ''
38
+ let url = window.location.href
39
+ if (url.includes('id')){
40
+ const urlObj = new URL(url);
41
+ id = urlObj.searchParams.get('id');
42
+ let QRCode = await new HttpResetClass().load('post',`rs/sql/tel_singleTable_OrderBy`,{data: {
43
+ items: '*',
44
+ tablename: 't_qr_code',
45
+ condition: `f_head_code = '${id}'`,
46
+ orderitem: '1'
47
+ }})
48
+ if (QRCode && QRCode.data && QRCode.data.length > 0){
49
+ this.f_head_pic = `/resource/af-revenue/images/${QRCode.data[0].f_head_pic}`
50
+ this.f_head_code = QRCode.data[0].f_head_code
51
+ this.f_head_name = QRCode.data[0].f_head_name
52
+ this.f_head_post = QRCode.data[0].f_head_post
53
+ this.f_head_phone = QRCode.data[0].f_head_phone
54
+ }else {
55
+ console.log('获取二维码信息失败')
56
+ console.log(QRCode)
57
+ }
58
+ }
59
+ }
60
+ };
61
+ </script>
62
+ <style scoped>
63
+ .work-badge {
64
+ display: flex;
65
+ flex-direction: column;
66
+ background-image: url('../../../assets/f8632d3c8c4c1cb68e99da754cab1a7.png');
67
+ align-items: center;
68
+ background-color: #007BFF;
69
+ color: white;
70
+ padding: 20px;
71
+ border-radius: 10px;
72
+ }
73
+
74
+ .badge-top {
75
+ display: flex;
76
+ align-items: center;
77
+ justify-content: space-between;
78
+ width: 100%;
79
+ margin-bottom: 20px;
80
+ }
81
+
82
+ .badge-image {
83
+ width: 150px;
84
+ height: 150px;
85
+ margin-right: 20px;
86
+ }
87
+
88
+ .badge-number {
89
+ font-size: 24px;
90
+ float: left;
91
+ text-align: left;
92
+ font-weight: bold;
93
+ }
94
+
95
+ .badge-middle {
96
+ text-align: center;
97
+ margin-bottom: 20px;
98
+ }
99
+
100
+ .name {
101
+ font-size: 48px;
102
+ font-weight: bold;
103
+ margin-bottom: 10px;
104
+ }
105
+
106
+ .position {
107
+ font-size: 24px;
108
+ }
109
+
110
+ .badge-bottom {
111
+ display: flex;
112
+ align-items: center;
113
+ justify-content: center;
114
+ }
115
+
116
+ .contact {
117
+ display: flex;
118
+ align-items: center;
119
+ }
120
+
121
+ .phone-icon {
122
+ width: 30px;
123
+ height: 30px;
124
+ margin-right: 10px;
125
+ }
126
+ </style>
@@ -84,6 +84,13 @@
84
84
  close-on-select>
85
85
  </v-select>
86
86
  </div>
87
+ <div class="row" style="margin-top: 10px">
88
+ <label class="font_normal_body">选择站点</label>
89
+ <right-tree
90
+ islist
91
+ :source="'dep=this.getParentByType($organization$).getSpecialResByType($department$),tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))'"
92
+ @re-res="getSiteRes"></right-tree>
93
+ </div>
87
94
  <div class="row" style="margin-top: 10px" v-if="selectData.dispatchType=='派发给维修员'">
88
95
  <label class="font_normal_body">维&ensp;修&ensp;员</label>
89
96
  <v-select
@@ -93,13 +100,6 @@
93
100
  placeholder='请选择维修员'
94
101
  close-on-select></v-select>
95
102
  </div>
96
- <div class="row" style="margin-top: 10px" v-if="selectData.dispatchType=='派发给站点'">
97
- <label class="font_normal_body">站&ensp;&ensp;&ensp;&ensp;点</label>
98
- <right-tree
99
- islist
100
- :source="'dep=this.getParentByType($organization$).getSpecialResByType($department$),tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))'"
101
- @re-res="getSiteRes"></right-tree>
102
- </div>
103
103
  <!--<div class="row" style="margin-top: 10px">
104
104
  <label class="font_normal_body">报修类型</label>
105
105
  <v-select :value.sync="selectData.f_repairtype"
@@ -362,7 +362,7 @@
362
362
  }
363
363
  console.log("准备保存!")
364
364
  this.disableTimer()
365
- this.getEmp()
365
+ // this.getEmp()
366
366
  this.showModal2=true
367
367
  },
368
368
  cancel1(){
@@ -377,14 +377,37 @@
377
377
  getSiteRes(obj) {
378
378
  console.log('siteRes ---> ')
379
379
  console.log(obj)
380
- if(obj.resids[0]){
381
- this.selectData.f_meetunit = obj.res.join('.')
382
- this.selectData.f_reciever = obj.resids.join('.')
383
- this.selectData.f_outlets = obj.res[obj.res.length - 1]
380
+ if(this.selectData.dispatchType=='派发给站点'){
381
+ if(obj.resids[0]){
382
+ this.selectData.f_meetunit = obj.res.join('.')
383
+ this.selectData.f_reciever = obj.resids.join('.')
384
+ this.selectData.f_outlets = obj.res[obj.res.length - 1]
385
+ }else {
386
+ this.selectData.f_meetunit = ''
387
+ this.selectData.f_reciever = ''
388
+ this.selectData.f_outlets = ''
389
+ }
384
390
  }else {
385
- this.selectData.f_meetunit = ''
386
- this.selectData.f_reciever = ''
387
- this.selectData.f_outlets = ''
391
+ if(obj.resids[0]){
392
+ this.selectData.f_meetunit = obj.res.join('.')
393
+ }else {
394
+ this.selectData.f_meetunit = ''
395
+ this.selectData.f_reciever = ''
396
+ this.selectData.f_outlets = ''
397
+ }
398
+ this.repairers = []
399
+ let vali = {
400
+ source: `this.getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($维修员$)!=-1)`,
401
+ userid: `${obj.resids[0]}`
402
+ }
403
+ let http = new HttpResetClass()
404
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/search`, {data: vali}, {resolveMsg: null, rejectMsg: null}).then((res) => {
405
+ res.data.forEach((item) => {
406
+ if (item.state == '在职'){
407
+ this.repairers.push({label: `${item.name}`, value: item.name})
408
+ }
409
+ })
410
+ })
388
411
  }
389
412
  },
390
413
  rectification(){
@@ -417,7 +440,7 @@
417
440
  toRepair=null
418
441
  }else{
419
442
  console.log('派发给维修员---------'+this.selectData.f_repairman)
420
- act={f_meetunit:'',f_reciever:this.selectData.f_repairman,f_service_acitivity_type:'派单'}
443
+ act={f_meetunit:this.selectData.f_meetunit,f_reciever:this.selectData.f_repairman,f_service_acitivity_type:'派单'}
421
444
  toRepair='一级派单'
422
445
  }
423
446
  let repData={
@@ -438,16 +461,16 @@
438
461
  this.save()
439
462
  },
440
463
  // 获取维修员
441
- getEmp() {
442
- this.repairers=[]
443
- let per = {source: 'this.getRights().where(row.getType()==$user$).where(row.getAttributes().get($rolestr$).indexOf($维修员$) != -1))', userid: `${Vue.user.id}`}
444
- let http = new HttpResetClass()
445
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/search`, {data: per}, {resolveMsg: null, rejectMsg: null}).then((res) => {
446
- res.data.forEach((user)=>{
447
- this.repairers.push({label:user.name, value: user.name})
448
- })
449
- })
450
- },
464
+ // getEmp() {
465
+ // this.repairers=[]
466
+ // let per = {source: 'this.getRights().where(row.getType()==$user$).where(row.getAttributes().get($rolestr$).indexOf($维修员$) != -1))', userid: `${Vue.user.id}`}
467
+ // let http = new HttpResetClass()
468
+ // http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/search`, {data: per}, {resolveMsg: null, rejectMsg: null}).then((res) => {
469
+ // res.data.forEach((user)=>{
470
+ // this.repairers.push({label:user.name, value: user.name})
471
+ // })
472
+ // })
473
+ // },
451
474
  closely(isdelete){
452
475
  try {
453
476
  var startOrStopAudioClipStr;