safecheck-client 3.0.34-9 → 3.0.34-90

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. package/package.json +1 -1
  2. package/src/App-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.vue +55 -0
  3. package/src/assets/123.png +0 -0
  4. package/src/assets/f8632d3c8c4c1cb68e99da754cab1a7.png +0 -0
  5. package/src/components/LoadData.vue +62 -0
  6. package/src/components/NewDefectList/DefectListNew.vue +1 -0
  7. package/src/components/android/AddPlanItemYy.vue +451 -0
  8. package/src/components/android/AndroidDefectDeal.vue +634 -634
  9. package/src/components/android/AndroidDefectDealBeforeSafe.vue +502 -0
  10. package/src/components/android/AreaSelect.vue +198 -0
  11. package/src/components/android/BuildingSelect.vue +192 -0
  12. package/src/components/android/CheckPlanSelect.vue +229 -0
  13. package/src/components/android/CurrentCreateYy.vue +1051 -0
  14. package/src/components/android/PaperFeedback.vue +33 -0
  15. package/src/components/android/QRCode/QRCodeBinding.vue +300 -0
  16. package/src/components/android/QRCode/QRCodePage.vue +212 -0
  17. package/src/components/android/SafecheckDevices.vue +2 -2
  18. package/src/components/android/SafecheckOrderV.vue +8 -12
  19. package/src/components/android/UserinfoSelect.vue +714 -0
  20. package/src/components/android/examples/410.png +0 -0
  21. package/src/components/android/examples/SafeListExamples.vue +279 -0
  22. package/src/components/android/examples/UserExamples.vue +137 -0
  23. package/src/components/android/examples/ViewDetailsExamples.vue +1235 -0
  24. package/src/components/android/examples/touxiang.png +0 -0
  25. package/src/components/pc/SafeVisitInfo.vue +261 -0
  26. package/src/components/rongcheng/AddPlanItem.vue +8 -0
  27. package/src/components/rongcheng/AspiratedUserInfo.vue +1 -1
  28. package/src/components/rongcheng/CheckSearchUser.vue +46 -16
  29. package/src/components/rongcheng/PaperStatem.vue +6 -1
  30. package/src/components/rongcheng/PhoneDevicesInfo.vue +16 -1
  31. package/src/components/rongcheng/PhoneUpUserinfo.vue +0 -92
  32. package/src/components/rongcheng/SafecheckOrderV.vue +12 -3
  33. package/src/components/rongcheng/SafecheckOrderVCli.vue +9 -0
  34. package/src/filiale/baiyin/android/AndroidDefectDeal.vue +4 -4
  35. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -0
  36. package/src/filiale/baiyin/android.js +1 -0
  37. package/src/filiale/baiyin/pc/CheckSearchUser.vue +2 -2
  38. package/src/filiale/baiyin/pc/DefectListNew.vue +3 -3
  39. package/src/filiale/baiyin/pc/PaperList.vue +7 -7
  40. package/src/filiale/bayan/android/AddPlanItem.vue +8 -0
  41. package/src/filiale/bayan/android/PaperFeedback.vue +63 -49
  42. package/src/filiale/bayan/android/PhoneUpUserinfo.vue +40 -40
  43. package/src/filiale/bayan/android/SafecheckOrderV.vue +58 -58
  44. package/src/filiale/bayan/android/SafecheckUserInfo.vue +5 -0
  45. package/src/filiale/bayan/pc/PaperList.vue +1 -0
  46. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +35 -15
  47. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -0
  48. package/src/filiale/huaran/android.js +12 -0
  49. package/src/filiale/huaran/pc/CheckBook.vue +313 -0
  50. package/src/filiale/huaran/pc/CheckBookAll.vue +69 -0
  51. package/src/filiale/huaran/pc/CheckBookArea.vue +170 -0
  52. package/src/filiale/huaran/pc/CheckBookCompany.vue +166 -0
  53. package/src/filiale/huaran/pc/CheckBookDetails.vue +196 -0
  54. package/src/filiale/huaran/pc/CheckBookEntry.vue +61 -0
  55. package/src/filiale/huaran/pc/CheckBookList.vue +386 -0
  56. package/src/filiale/huaran/pc/CheckBookSearchArea.vue +564 -0
  57. package/src/filiale/huaran/pc/CheckBookSearchUnit.vue +229 -0
  58. package/src/filiale/huaran/pc/CheckBookSearchUser.vue +604 -0
  59. package/src/filiale/huaran/pc/CheckBookUser.vue +112 -0
  60. package/src/filiale/huaran/pc/PaperList.vue +822 -0
  61. package/src/filiale/huaran/pc/PlanManage.vue +887 -0
  62. package/src/filiale/huaran/pc/checkPlanList.vue +419 -0
  63. package/src/filiale/huaran/pc/checkUserList.vue +867 -0
  64. package/src/filiale/huaran/pc.js +27 -0
  65. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -0
  66. package/src/filiale/jiaxian/android/PhoneUpUserinfo.vue +1229 -0
  67. package/src/filiale/jiaxian/android/SafecheckDevices.vue +6 -6
  68. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -0
  69. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -0
  70. package/src/filiale/jiaxian/android.js +4 -0
  71. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -458
  72. package/src/filiale/jingyang/android/CurrentCreate.vue +1080 -1080
  73. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
  74. package/src/filiale/jingyang/android.js +15 -15
  75. package/src/filiale/kelai/pc/CheckPlanAreaList.vue +15 -7
  76. package/src/filiale/qianneng/android/SafecheckOrderV.vue +1 -1
  77. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -0
  78. package/src/filiale/qingtongxia/android/CurrentCreate.vue +1053 -0
  79. package/src/filiale/qingtongxia/android/PhoneUpUserinfo.vue +1230 -0
  80. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -0
  81. package/src/filiale/qingtongxia/android.js +14 -10
  82. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -0
  83. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -0
  84. package/src/filiale/ruihua/android.js +11 -0
  85. package/src/filiale/shanxian/android/SafecheckOrderV.vue +1 -1
  86. package/src/filiale/shanxian/pc/checkUserList.vue +4 -4
  87. package/src/filiale/siyang/android/AddPlanItem.vue +450 -0
  88. package/src/filiale/siyang/android/AppCheckPlan.vue +246 -0
  89. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -0
  90. package/src/filiale/siyang/android.js +15 -11
  91. package/src/filiale/siyang/pc/CheckBookList.vue +396 -0
  92. package/src/filiale/siyang/pc/CheckBookSearchArea.vue +667 -0
  93. package/src/filiale/siyang/pc/CheckPlanAreaList.vue +512 -0
  94. package/src/filiale/siyang/pc/CheckSearchUser.vue +1035 -0
  95. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -0
  96. package/src/filiale/siyang/pc/checkPlanList.vue +367 -0
  97. package/src/filiale/siyang/pc/checkUserList.vue +22 -18
  98. package/src/filiale/siyang/pc.js +22 -16
  99. package/src/filiale/tongchuan/android/Select.vue +421 -0
  100. package/src/filiale/tongchuan/android.js +1 -0
  101. package/src/filiale/tongchuan/pc/CheckPlanCountChartArea.vue +3 -1
  102. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +6 -2
  103. package/src/filiale/tongchuan/pc/HiddenSituation.vue +3 -1
  104. package/src/filiale/tongchuan/pc/NewCheckpaper.vue +13 -22
  105. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1 -1
  106. package/src/filiale/tongchuan/pc/SelectCheckPlan.vue +5 -2
  107. package/src/filiale/tongchuan/utils/EventListener.js +29 -0
  108. package/src/filiale/tongchuan/utils/coerceBoolean.js +7 -0
  109. package/src/filiale/weinan/android/SafecheckDevices.vue +1 -1
  110. package/src/filiale/weinan/android/SafecheckOrderV.vue +6 -2
  111. package/src/filiale/weinan/pc/CheckBookSearchUserList.vue +75 -62
  112. package/src/filiale/weinan/pc/CheckDetail.vue +11 -11
  113. package/src/filiale/weinan/pc/DefectPaperNew.vue +31 -0
  114. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -0
  115. package/src/filiale/weinan/pc/checkUserList.vue +49 -113
  116. package/src/filiale/weinan/pc.js +1 -0
  117. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2240
  118. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -592
  119. package/src/filiale/xilan/pc/checkUserList.vue +772 -0
  120. package/src/filiale/xilan/pc.js +12 -0
  121. package/src/filiale/yangchunboneng/android/SafecheckDevices.vue +10 -6
  122. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +21 -1
  123. package/src/filiale/yangchunboneng/pc/CheckBookSearchUser.vue +23 -11
  124. package/src/filiale/yangchunboneng/pc/CheckBookUser.vue +6 -6
  125. package/src/filiale/yangchunboneng/pc/CheckPlanAreaList.vue +96 -30
  126. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +10 -10
  127. package/src/filiale/yangchunboneng/pc/DefectPaperNew.vue +10 -10
  128. package/src/filiale/yangchunboneng/pc/PaperDefectMain.vue +84 -10
  129. package/src/filiale/yangchunboneng/pc/PaperList.vue +6 -6
  130. package/src/filiale/yuansheng/android/SafecheckDevices.vue +11 -1
  131. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +10 -2
  132. package/src/main-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.js +24 -0
  133. package/src/main.js +34 -33
  134. package/src/safecheck-android.js +11 -0
  135. package/src/safecheck-page.js +12 -0
  136. package/src/safecheck.js +3 -0
@@ -315,6 +315,21 @@
315
315
  <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="deletecancel()">取消</button>
316
316
  </div>
317
317
  </modal>
318
+ <modal :show.sync="showgas && showgasmodel" v-ref:modal>
319
+ <div slot="modal-header" class="modal-header">
320
+ <h4 class="modal-title">
321
+ 用户须知
322
+ </h4>
323
+ </div>
324
+ <div slot="modal-body" class="modal-body">
325
+ <div class="row" style="margin-top: 6px">
326
+ <sapn>{{ gasinstructions ? gasinstructions : '请配置用户须知' }}</sapn>
327
+ </div>
328
+ </div>
329
+ <div slot="modal-footer" class="modal-footer">
330
+ <button type="button" name="button" class="col-sm-3 btn btn-primary" @click="closeshowgas()">确认</button>
331
+ </div>
332
+ </modal>
318
333
  </template>
319
334
 
320
335
  <script>
@@ -496,6 +511,9 @@ export default {
496
511
  showmodel: false,
497
512
  showbacklist:'是',
498
513
  backlistisselect: false,
514
+ showgas: false,
515
+ showgasmodel:this.$appdata.getSingleValue('用户须知查看') || false,
516
+ gasinstructions:'',
499
517
  deletebacklistisselect: false,
500
518
  radios: [
501
519
  {
@@ -1114,6 +1132,9 @@ export default {
1114
1132
  }
1115
1133
 
1116
1134
  },
1135
+ closeshowgas() {
1136
+ this.showgas = false
1137
+ },
1117
1138
  //确认安检转维修
1118
1139
 
1119
1140
  undo() {
@@ -1291,6 +1312,13 @@ export default {
1291
1312
  this.$set('style__', '')
1292
1313
  this.$set('style_view_', '')
1293
1314
  }
1315
+ if (Vue.config.safecheck != undefined) {
1316
+ if (Vue.config.safecheck.ApproveConfig != undefined) {
1317
+ if (Vue.config.safecheck.ApproveConfig.gasinstructions != undefined) {
1318
+ this.gasinstructions = Vue.config.safecheck.ApproveConfig.gasinstructions
1319
+ }
1320
+ }
1321
+ }
1294
1322
 
1295
1323
  for (let item of this.radios) {
1296
1324
  if (this.paper.f_client_evaluation == item.label) {
@@ -1381,6 +1409,11 @@ export default {
1381
1409
  '$parent.$parent.isUpload'(val) {
1382
1410
  ////tag
1383
1411
  },
1412
+ 'paper.f_read_instructions'(val) {
1413
+ if (val == true) {
1414
+ this.showgas = true
1415
+ }
1416
+ },
1384
1417
  'meading'(val) {
1385
1418
  ////tag
1386
1419
  this.$parent.$parent.meading = val
@@ -0,0 +1,300 @@
1
+ <template>
2
+ <div style="height: 100%">
3
+ <div class="panel auto">
4
+ <div class="panel-body ">
5
+ <div class="row auto" style="margin: 5px 0">
6
+ <label class="righttxt" style="width: 30%;">负责人姓名:</label>
7
+ <input v-model="bindingData.f_head_name" class="form-control rightipt" type="text"/>
8
+ </div>
9
+ </div>
10
+ </div>
11
+ <div class="panel auto">
12
+ <div class="panel-body ">
13
+ <div class="row auto" style="margin: 5px 0">
14
+ <label class="righttxt" style="width: 30%;">负责人职务:</label>
15
+ <v-select v-model="bindingData.f_head_post" :options='headPostTypes' :value.sync="bindingData.f_head_post" :width="'60%'"
16
+ class="input-font" clear-button close-on-select placeholder='类型' style="margin-left: 5%;"
17
+ value-single></v-select>
18
+ </div>
19
+ </div>
20
+ </div>
21
+ <div class="panel auto">
22
+ <div class="panel-body ">
23
+ <div class="row auto" style="margin: 5px 0">
24
+ <label class="righttxt" style="width: 30%;">负责人电话:</label>
25
+ <input v-model="bindingData.f_head_phone" class="form-control rightipt" type="text"/>
26
+ </div>
27
+ </div>
28
+ </div>
29
+ <div class="panel auto">
30
+ <div class="panel-body ">
31
+ <div class="row auto" style="margin: 5px 0">
32
+ <label class="righttxt" style="width: 30%;">绑定类型:</label>
33
+ <v-select v-model="bindingData.f_type" :options='types' :value.sync="bindingData.f_type" :width="'60%'"
34
+ class="input-font" clear-button close-on-select placeholder='类型' style="margin-left: 5%;"
35
+ value-single></v-select>
36
+ </div>
37
+ </div>
38
+ </div>
39
+ <div v-if="bindingData.f_type == '小区'" class="panel auto">
40
+ <div class="panel-body ">
41
+ <div class="row auto" style="margin: 5px 0">
42
+ <label class="righttxt" style="width: 30%;">小区名称:</label>
43
+ <v-select v-model="bindingData.f_userinfo" :options='residentialAreas' :value.sync="bindingData.f_userinfo" :width="'60%'"
44
+ class="input-font" clear-button close-on-select placeholder='小区名称'
45
+ style="margin-left: 5%;" value-single></v-select>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ <div v-if="bindingData.f_type == '用户'" class="panel auto">
50
+ <div class="panel-body ">
51
+ <div class="row auto" style="margin: 5px 0">
52
+ <label class="righttxt" style="width: 30%;">用户名称:</label>
53
+ <v-select v-model="bindingData.f_userinfo" :options='userNames' :value.sync="bindingData.f_userinfo" :width="'60%'"
54
+ class="input-font" clear-button close-on-select placeholder='用户名称' @select-search="refreshUser"
55
+ style="margin-left: 5%;" menu-mode="align-button"
56
+ value-single></v-select>
57
+ </div>
58
+ </div>
59
+ </div>
60
+ <div class="panel auto">
61
+ <div class="panel-body">
62
+ <label class="row auto text-left col-md-4 col-xs-4">备注</label>
63
+ <div class="col-md-12 col-sm-12 col-xs-12">
64
+ <textarea v-model="bindingData.f_comments" class="form-control"></textarea>
65
+ </div>
66
+ </div>
67
+ </div>
68
+ <div class="panel auto">
69
+ <div class="panel-body ">
70
+ <div class="row auto" style="margin: 5px 0">
71
+ <label class="righttxt">图片:</label>
72
+ <div class="col-xs-6" style="height: 160px;width:160px;overflow: scroll;top: 1px">
73
+ <img-self v-if="bindingData.f_head_pic" :src="bindingData.f_head_pic" width="140" height="140"></img-self>
74
+ <button v-if="!bindingData.f_head_pic" type="button" name="button" class="btn btn-primary" @click="takePictures('com.aofeng.hybrid.android.peripheral.CameraActivity')">拍照</button>
75
+ <button v-if="!bindingData.f_head_pic" type="button" name="button" class="btn btn-primary" @click="takePictures('com.aofeng.hybrid.android.peripheral.ActionMultiplePickActivity')">相册</button>
76
+ </div>
77
+ </div>
78
+ </div>
79
+ </div>
80
+ <div class="panel auto">
81
+ <div class="panel-body">
82
+ <div style="display: flex;justify-content: center;">
83
+ <button class="col-sm-3 btn btn-primary" @click="binding()">绑定</button>
84
+ </div>
85
+ </div>
86
+ </div>
87
+ </div>
88
+ </template>
89
+
90
+ <script>
91
+ import {HttpResetClass} from 'vue-client'
92
+ import * as Util from '../../Util'
93
+
94
+
95
+ export default {
96
+ title: '二维码绑定',
97
+ data() {
98
+ return {
99
+ bindingData: {},
100
+ residentialAreas: [{label: '请选择', value: ''}],
101
+ userNames: [{label: '请选择', value: ''}],
102
+ headPostTypes:[{label: '请选择', value: ''} ,...this.$appdata.getParam('负责人职务')],
103
+ types: [{label: '请选择', value: ''}, {label: '小区', value: '小区'}, {label: '用户', value: '用户'}]
104
+ }
105
+ },
106
+ props: {
107
+ row: {
108
+ type: Object
109
+ }
110
+ },
111
+ methods: {
112
+ async fetchUsers(condition) {
113
+ try {
114
+ const response = await new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {
115
+ data: {
116
+ items: 'ui.f_user_name,ui.f_userinfo_id,ui.f_userinfo_code',
117
+ tablename: 't_userinfo ui LEFT JOIN t_userfiles uf on ui.f_userinfo_id = uf.f_userinfo_id',
118
+ condition: condition,
119
+ orderitem: '1'
120
+ }
121
+ });
122
+ return response.data;
123
+ } catch (error) {
124
+ return [];
125
+ }
126
+ },
127
+ async refreshUser(val) {
128
+ let condition = `1=1 and f_user_name is not null and uf.f_user_type = '非民用' and uf.f_table_state in ('正常','停用') and (ui.f_user_name like '${val}%' or ui.f_userinfo_code like '${this.bindingData.f_userinfo_code}%')`;
129
+ const users = await this.fetchUsers(condition);
130
+ users.forEach(item => {
131
+ if (!this.userNames.some(user => user.value.f_userinfo_id == item.f_userinfo_id)) {
132
+ this.userNames.push({ label: `${item.f_user_name}:${item.f_userinfo_code}`, value: item })
133
+ }
134
+ })
135
+ },
136
+ cameraCallBack(prop,fileName) {
137
+ this.$set('bindingData.f_head_pic',fileName)
138
+ },
139
+ takePictures(page){
140
+ HostApp.__callback__ = this.cameraCallBack
141
+ HostApp.__this__ = this
142
+ let prop = 'QRCode'
143
+ this.fileName = Util.guid() +'.jpg'
144
+ HostApp._open_a_page({
145
+ type: 'boomerang',
146
+ page: page,
147
+ param: {
148
+ file: this.fileName,
149
+ requestCode: 111,
150
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
151
+ watermark: ''
152
+ }
153
+ })
154
+ },
155
+ async binding() {
156
+ if (!this.bindingData.f_head_pic){
157
+ this.$showMessage('请上传图片')
158
+ return
159
+ }
160
+ let tableImages = []
161
+ if (!this.row.f_head_pic){
162
+ tableImages.push({
163
+ path:this.bindingData.f_head_pic
164
+ })
165
+ }
166
+ let data = {
167
+ tableImages: tableImages
168
+ }
169
+ HostApp.__this__ = this
170
+ HostApp.logicWithHint({
171
+ 'logic': 'imagesUploadAndroid', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
172
+ 'data': data, 'backresult': 1
173
+ })
174
+ },
175
+ async commitCallBack(jo) {
176
+ if (jo.state == 'ok') {
177
+ if (this.bindingData.f_userinfo && this.bindingData.f_type == '用户'){
178
+ this.bindingData.f_user_name = this.bindingData.f_userinfo.split(':')[0].trim()
179
+ this.bindingData.f_userinfo_id = this.bindingData.f_userinfo.split(':')[1].trim()
180
+ }else if (this.bindingData.f_userinfo && this.bindingData.f_type == '小区') {
181
+ this.bindingData.f_user_name = this.bindingData.f_userinfo.split(':')[0].trim()
182
+ this.bindingData.f_userinfo_id = this.bindingData.f_userinfo.split(':')[1].trim()
183
+ }
184
+ const res = JSON.parse(jo.result)
185
+ let sql = ''
186
+ if (res.images && res.images.length > 0){
187
+ sql = `update t_qr_code set f_head_name = '${this.bindingData.f_head_name}',f_head_post = '${this.bindingData.f_head_post}',f_head_phone = '${this.bindingData.f_head_phone}',f_type = '${this.bindingData.f_type}',f_user_name = '${this.bindingData.f_user_name}',f_userinfo_id = '${this.bindingData.f_userinfo_id}',f_comments = '${this.bindingData.f_comments}',f_head_pic='${res.images[0].imgfileName}' where id = '${this.bindingData.id}'`
188
+ }else {
189
+ sql = `update t_qr_code set f_head_name = '${this.bindingData.f_head_name}',f_head_post = '${this.bindingData.f_head_post}',f_head_phone = '${this.bindingData.f_head_phone}',f_type = '${this.bindingData.f_type}',f_user_name = '${this.bindingData.f_user_name}',f_userinfo_id = '${this.bindingData.f_userinfo_id}',f_comments = '${this.bindingData.f_comments}' where id = '${this.bindingData.id}'`
190
+ }
191
+ new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/runSQL`, {data: {sql: sql}}).then(()=>{
192
+ this.$showMessage('绑定成功')
193
+ this.$dispatch('confirm')
194
+ }).catch(()=>{
195
+ this.$showMessage('绑定失败')
196
+ })
197
+ }else {
198
+ this.$showMessage('图片上传失败')
199
+ }
200
+ },
201
+ },
202
+ async ready() {
203
+ this.bindingData = JSON.parse(JSON.stringify(this.row))
204
+ if(this.bindingData.f_head_pic && !this.bindingData.url){
205
+ this.bindingData.f_head_pic = `${this.$androidUtil.getProxyUrl()}/rs/image/file/${this.bindingData.f_head_pic}`
206
+ }
207
+ if (this.bindingData.url && !this.bindingData.f_head_pic){
208
+ this.bindingData.f_head_pic = `${this.$androidUtil.getProxyUrl()}${this.bindingData.url}`
209
+ }
210
+ if (this.bindingData.f_head_pic && this.bindingData.url){
211
+ this.bindingData.f_head_pic = `${this.$androidUtil.getProxyUrl()}${this.bindingData.url}`
212
+ }
213
+ let residentialArea = await new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {
214
+ data: {
215
+ items: 'f_residential_area,id',
216
+ tablename: 't_area',
217
+ condition: `1=1 and f_residential_area is not null`,
218
+ orderitem: '1'
219
+ }
220
+ })
221
+ residentialArea.data.forEach(item => {
222
+ if (item.id == this.bindingData.f_userinfo_id){
223
+ this.bindingData.f_userinfo = `${item.f_residential_area}:${item.id}`
224
+ }
225
+ this.residentialAreas.push({label: item.f_residential_area, value: `${item.f_residential_area}:${item.id}`});
226
+ })
227
+ const users = await this.fetchUsers(`1=1 and f_user_name is not null and uf.f_user_type = '非民用' and uf.f_table_state in ('正常','停用')`)
228
+ users.forEach(item => {
229
+ if (this.bindingData.f_userinfo_id == item.f_userinfo_code){
230
+ this.bindingData.f_userinfo = `${item.f_user_name}:${item.f_userinfo_code}`
231
+ }
232
+ this.userNames.push({ label: `${item.f_user_name}:${item.f_userinfo_code}`, value: `${item.f_user_name}:${item.f_userinfo_code}` })
233
+ })
234
+ }
235
+ }
236
+ </script>
237
+ <style lang="less" scoped>
238
+ .butt3 {
239
+ float: right;
240
+ width: 12px;
241
+ margin: 1% 2% 0 0;
242
+ }
243
+
244
+ .rightipt {
245
+ width: 60%;
246
+ float: left;
247
+ margin-left: 5%;
248
+ }
249
+
250
+ .righttxt {
251
+ border: none;
252
+ margin-left: 5px;
253
+ /*border-left: 5px solid #A2C2EB;*/
254
+ float: left;
255
+ width: 25%;
256
+ margin-bottom: 3px;
257
+ text-align: left;
258
+ word-wrap: break-word;
259
+ white-space: normal;
260
+ }
261
+
262
+ .spanboder {
263
+ border-bottom: 2px solid #499edf;
264
+ padding-bottom: 8px
265
+ }
266
+
267
+ #upuserinfo_sel /deep/ ul {
268
+ width: 100% !important;
269
+ left: 0 !important;
270
+ }
271
+
272
+ .btn-photo {
273
+ border: 0;
274
+ border-radius: 7px;
275
+ background-color: #7dc1f4;
276
+ font: 15px PingFang-SC-Bold;
277
+ height: 20%;
278
+ }
279
+
280
+ .panel-self {
281
+ border-radius: 10px;
282
+ border: 1px solid #499EDF;
283
+ background-color: #F8F8F8;
284
+ }
285
+
286
+ .div-photo {
287
+ width: auto;
288
+ height: auto;
289
+ /* margin-top: 10px; */
290
+ position: absolute;
291
+ bottom: 10px;
292
+ right: 10px;
293
+ }
294
+ </style>
295
+ <style lang="less">
296
+ #upuserinfo_sel ul {
297
+ width: 100% !important;
298
+ left: 0 !important;
299
+ }
300
+ </style>
@@ -0,0 +1,212 @@
1
+ <template>
2
+ <div class="auto">
3
+ <criteria-paged :model="model" v-ref:paged>
4
+ <criteria partial='criteria' @condition-changed='search' v-ref:cri>
5
+ <div partial>
6
+ <form>
7
+ <div class="row app-row">
8
+ <div class="col-xs-5">
9
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
10
+ <label class="font text-left">二维码编号:</label>
11
+ </div>
12
+ <div class="col-xs-7" >
13
+ <input class="search_input input-font" style="width: 70%" placeholder="请输入或扫码" v-model="model.id"/>
14
+ <button type="button" name="button" class="btn btn-primary" style="width: 25%" @click="$parent.$parent.scan">扫码</button>
15
+ </div>
16
+ </div>
17
+ <div class="row app-row">
18
+ <div class="col-xs-5">
19
+ <img src="../../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
20
+ <label class="font text-left">负责人:</label>
21
+ </div>
22
+ <div class="col-xs-7">
23
+ <v-select :value.sync="model.f_head_name" class="input-font"
24
+ :options='$parent.$parent.head_names' placeholder='请选择负责人' :value-single="true"
25
+ v-model="model.f_head_name" close-on-select clear-button></v-select>
26
+ </div>
27
+ </div>
28
+ <div class="row app-row">
29
+ <div class="col-xs-5">
30
+ <img src="../../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
31
+ <label class="font text-left">用户名称:</label>
32
+ </div>
33
+ <div class="col-xs-7" >
34
+ <input class="search_input input-font" v-model="model.f_user_name" placeholder="请输入用户名称(可模糊查询)">
35
+ </div>
36
+ </div>
37
+ <div class="row app-row">
38
+ <div class="col-xs-5">
39
+ <img src="../../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
40
+ <label class="font text-left">小区名称:</label>
41
+ </div>
42
+ <div class="col-xs-7" >
43
+ <input class="search_input input-font" v-model="model.f_user_name" placeholder="请输入小区名称(可模糊查询)">
44
+ </div>
45
+ </div>
46
+ <div class="row text-center" style="margin-top: 20px;">
47
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="$parent.$parent.search">查询</button>
48
+ </div>
49
+ <div style="height:30px;"></div>
50
+ </form>
51
+ </div>
52
+ </criteria>
53
+
54
+ <list :model="model" partial='list'>
55
+ <div partial>
56
+ <div class="auto app-text" style="margin-top: 5px;">
57
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
58
+ <div class="panel-body panel-self">
59
+ <div class="row" style="padding: 5px;">
60
+ <p class="panel-title col-xs-5 text-left font">二维码编号</p>
61
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.id }}</p>
62
+ </div>
63
+ <div class="row" style="padding: 5px;">
64
+ <p class="panel-title col-xs-5 text-left font">负责人二维码编号</p>
65
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_head_code }}</p>
66
+ </div>
67
+ <div class="row" style="padding: 5px;">
68
+ <p class="panel-title col-xs-5 text-left font">安检情况二维码编号</p>
69
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_safecheck_code }}</p>
70
+ </div>
71
+ <div class="row" style="padding: 5px;">
72
+ <p class="panel-title col-xs-5 text-left font">负责人姓名</p>
73
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_head_name }}</p>
74
+ </div>
75
+ <div class="row" style="padding: 5px;" v-if="row.f_type == '用户'">
76
+ <p class="panel-title col-xs-5 text-left font">用户编号</p>
77
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_userinfo_id}}</p>
78
+ </div>
79
+ <div class="row" style="padding: 5px;">
80
+ <p class="panel-title col-xs-5 text-left font">小区/用户名称</p>
81
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_name}}</p>
82
+ </div>
83
+ <div class="row" style="padding: 5px;">
84
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="$parent.$parent.$parent.handle(row)">处理</button>
85
+ </div>
86
+ </div>
87
+ </div>
88
+ </div>
89
+ </div>
90
+ </list>
91
+ </criteria-paged>
92
+ </div>
93
+ </template>
94
+
95
+ <script>
96
+ import {HttpResetClass, PagedList} from 'vue-client'
97
+ export default {
98
+ title: '二维码绑定',
99
+ data () {
100
+ return {
101
+ model: new PagedList(`${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, 50, {
102
+ items: '"tqr.id,tqr.f_head_code,tqr.f_safecheck_code,tqr.f_head_name,tqr.f_user_name,tqr.f_head_post,tqr.f_head_phone,tqr.f_type,tqr.f_head_pic,tqr.f_userinfo_id,tf.f_downloadpath as url"',
103
+ tablename: '"t_qr_code tqr left join t_files tf on tf.f_businessid = tqr.id and f_table_name = \'t_qr_code\'"',
104
+ orderitem: '"1"'
105
+ }),
106
+ QRCode:{},
107
+ head_names:[{ label: '请选择', value: '' }]
108
+ }
109
+ },
110
+ ready () {
111
+ new HttpResetClass().load('post',`${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`,{data: {
112
+ items: 'f_head_name',
113
+ tablename: 't_qr_code',
114
+ condition: `1=1 and f_head_name is not null`,
115
+ orderitem: '1'
116
+ }}).then(res=>{
117
+ res.data.forEach(item=>{
118
+ this.head_names.push({label:item.f_head_name,value:item.f_head_name})
119
+ })
120
+ })
121
+ },
122
+ computed: {
123
+ reload(){
124
+ this.$refs.paged.loadPage(this.$refs.paged.model.pageIndex)
125
+ },
126
+ selected () {
127
+ return this.$refs.paged.$refs.grid.selected
128
+ }
129
+ },
130
+ methods:{
131
+ scan(){
132
+ HostApp.__this__=this,
133
+ HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
134
+ },
135
+ getCode(){
136
+ let datapa = HostApp.getCode().data;
137
+ this.this.$refs.paged.$refs.cri.model.id=datapa
138
+ },
139
+ handle(row){
140
+ var pardate = {
141
+ _this:this,
142
+ tittle:'二维码绑定',
143
+ safe:true
144
+ }
145
+ let _this = this
146
+ this.$dispatch('gotoson',pardate)
147
+ this.$goto('qr-code-binding', {row: row}, 'self',function () {
148
+ _this.search()
149
+ })
150
+ },
151
+ search(){
152
+ let condition = `1=1`
153
+ if (this.$refs.paged.$refs.cri.model.id) {
154
+ condition += ` and (f_head_code = '${this.$refs.paged.$refs.cri.model.id}' or f_safecheck_code= '${this.$refs.paged.$refs.cri.model.id}')`
155
+ }
156
+ if (this.$refs.paged.$refs.cri.model.f_head_name) {
157
+ condition += ` and f_head_name like '%${this.$refs.paged.$refs.cri.model.f_head_name}%'`
158
+ }
159
+ if (this.$refs.paged.$refs.cri.model.f_user_name) {
160
+ condition += ` and f_user_name like '%${this.$refs.paged.$refs.cri.model.f_user_name}%'`
161
+ }
162
+ this.model.search(condition)
163
+ }
164
+
165
+ }
166
+ }
167
+ </script>
168
+ <style scoped>
169
+ .app-row {
170
+ background-color: white;
171
+ padding: 10px 10px 0 10px;
172
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
173
+ }
174
+ .search_input {
175
+ border: 0;
176
+ outline: none;
177
+ }
178
+ .font{
179
+ font: 15px PingFang-SC-Medium;
180
+ color: #666666;
181
+ }
182
+ .input-font{
183
+ font: 15px PingFang-SC-Medium;
184
+ color: #333333;
185
+ }
186
+ .btn-font{
187
+ font:600 16px PingFang-SC-Bold;
188
+ color: #499EDF;
189
+ }
190
+ .btn-color{
191
+ background-color: #FFFFFF;
192
+ border-radius: 10px ;
193
+ border: 1px solid #499EDF;
194
+ }
195
+ .app-text {
196
+ font-size: 12px;
197
+ }
198
+ .panel-self{
199
+ border-radius: 10px;
200
+ border:1px solid #499EDF;
201
+ background-color: #F8F8F8;
202
+ }
203
+ .yybtn-color{
204
+ border-radius: 4px ;
205
+ border: 1px solid #499EDF;
206
+ }
207
+ .qxbtn-color{
208
+ background-color: #FFFFFF;
209
+ border-radius: 4px ;
210
+ border: 1px solid #499EDF;
211
+ }
212
+ </style>
@@ -456,9 +456,9 @@ export default {
456
456
  if (this.$parent.$parent.is_has_jingweidu == 'true'){
457
457
  const obj = HostApp.getGpsDetailAddress()
458
458
  jingweidu = '\t经度:' + obj.longitude+ '\t纬度:' + obj.latitude
459
+ this.f_items[prop].f_longitude = obj.longitude
460
+ this.f_items[prop].f_latitude = obj.latitude
459
461
  }
460
- this.f_items[prop].f_longitude = obj.longitude
461
- this.f_items[prop].f_latitude = obj.latitude
462
462
  //tag
463
463
  //tag
464
464
  HostApp._open_a_page({type: 'boomerang',
@@ -2437,17 +2437,13 @@
2437
2437
  //tag
2438
2438
  if (this.role == 'inspect') {
2439
2439
  //tag
2440
- if(this.item.f_no_checkplan != '无计划安检' ){
2441
- if (this.item.f_no_checkplan == '复检') {
2442
- value = this.$androidUtil.path({
2443
- alias: 'getUserinfomation',
2444
- data: {condition: "f_check_item_id = '" + this.item.id + "' and f_no_checkplan in ('无计划安检','复检')"}
2445
- })
2446
- } else {
2447
- value = this.$androidUtil.bzLogic('FetchCheckPaper', {id: this.item.id})
2448
- }
2449
- }else {
2450
- value.data =[]
2440
+ if (this.item.f_no_checkplan == '无计划安检' || this.item.f_no_checkplan == '复检') {
2441
+ value = this.$androidUtil.path({
2442
+ alias: 'getUserinfomation',
2443
+ data: {condition: "f_check_item_id = '" + this.item.id + "' and f_no_checkplan in ('无计划安检','复检')"}
2444
+ })
2445
+ } else {
2446
+ value = this.$androidUtil.bzLogic('FetchCheckPaper', {id: this.item.id})
2451
2447
  }
2452
2448
  } else {
2453
2449
  value = await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/rs/path/getUserinfomation`, {data: {condition: `id = '${this.item.f_paper_id}'`}})
@@ -2624,7 +2620,7 @@
2624
2620
  })
2625
2621
  }
2626
2622
  }else{
2627
- if(this.parentPage && this.parentPage=='AddPlanItem'){
2623
+ if(this.parentPage && (this.parentPage == 'CurrentCreate' || this.parentPage == 'AddPlanItem') ){
2628
2624
  //tag
2629
2625
  let isRecodr = this.$appdata.getSingleValue('无限制录音'); //单值参数,为true则是开启全程录音
2630
2626
  if (isRecodr) {