safecheck-client 3.0.34-28 → 3.0.34-29

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 (38) 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 -55
  3. package/src/App.vue +31 -31
  4. package/src/components/android/ImgSelfAndroid.vue +181 -181
  5. package/src/components/android/QRCode/QRCodeBinding.vue +247 -247
  6. package/src/components/android/QRCode/QRCodePage.vue +199 -199
  7. package/src/components/android/SafecheckDevices.vue +1298 -1298
  8. package/src/components/android/examples/SafeListExamples.vue +95 -95
  9. package/src/components/android/examples/UserExamples.vue +125 -125
  10. package/src/filiale/baiyin/android/AndroidDefectDeal.vue +633 -633
  11. package/src/filiale/baiyin/pc/CheckPlanAreaList.vue +485 -485
  12. package/src/filiale/baiyin/pc/CheckSearchUser.vue +1067 -1067
  13. package/src/filiale/baiyin/pc/DefectListNew.vue +597 -597
  14. package/src/filiale/baiyin/pc/DefectMainNew.vue +63 -63
  15. package/src/filiale/baiyin/pc/DefectPaperNew.vue +1052 -1052
  16. package/src/filiale/baiyin/pc/PaperList.vue +790 -790
  17. package/src/filiale/baiyin/pc/PlanChooser.vue +167 -167
  18. package/src/filiale/baiyin/pc/PlanManage.vue +834 -834
  19. package/src/filiale/baiyin/pc/RightTreeSafe.vue +348 -348
  20. package/src/filiale/baiyin/pc/RoleSelector.vue +160 -160
  21. package/src/filiale/bayan/android/SafecheckOrderV.vue +2866 -2866
  22. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -447
  23. package/src/filiale/jiaxian/android/PhoneUpUserinfo.vue +1231 -0
  24. package/src/filiale/jiaxian/android/SafecheckDevices.vue +1298 -1298
  25. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2811 -2811
  26. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -784
  27. package/src/filiale/jiaxian/android.js +14 -13
  28. package/src/filiale/jiaxian/pc.js +12 -12
  29. package/src/filiale/kelai/pc/CheckPlanAreaList.vue +476 -476
  30. package/src/filiale/qingjian/android/PhoneUpUserinfo.vue +1270 -1270
  31. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2844 -2844
  32. package/src/filiale/yangchunboneng/android/NewCheckpaperAndroid.vue +1362 -1362
  33. package/src/filiale/yangchunboneng/android/PhoneUpUserinfo.vue +1235 -1235
  34. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2845 -2845
  35. package/src/filiale/yangchunboneng/pc/CheckBookSearchUser.vue +649 -649
  36. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +1192 -1192
  37. package/src/main-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.js +24 -24
  38. package/src/main.js +1 -1
@@ -1,247 +1,247 @@
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">负责人姓名:</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">负责人职务:</label>
15
- <input v-model="bindingData.f_head_post" class="form-control rightipt" type="text"/>
16
- </div>
17
- </div>
18
- </div>
19
- <div class="panel auto">
20
- <div class="panel-body ">
21
- <div class="row auto" style="margin: 5px 0">
22
- <label class="righttxt">负责人电话:</label>
23
- <input v-model="bindingData.f_head_phone" class="form-control rightipt" type="text"/>
24
- </div>
25
- </div>
26
- </div>
27
- <div class="panel auto">
28
- <div class="panel-body ">
29
- <div class="row auto" style="margin: 5px 0">
30
- <label class="righttxt">绑定类型:</label>
31
- <v-select v-model="bindingData.f_type" :options='types' :value.sync="bindingData.f_type" :width="'60%'"
32
- class="input-font" clear-button close-on-select placeholder='类型' style="margin-left: 5%;"
33
- value-single></v-select>
34
- </div>
35
- </div>
36
- </div>
37
- <div v-if="bindingData.f_type == '小区'" class="panel auto">
38
- <div class="panel-body ">
39
- <div class="row auto" style="margin: 5px 0">
40
- <label class="righttxt">小区名称:</label>
41
- <v-select v-model="bindingData.f_user_name" :options='residentialAreas' :value.sync="bindingData.f_user_name" :width="'60%'"
42
- class="input-font" clear-button close-on-select placeholder='小区名称'
43
- style="margin-left: 5%;" value-single></v-select>
44
- </div>
45
- </div>
46
- </div>
47
- <div v-if="bindingData.f_type == '用户'" class="panel auto">
48
- <div class="panel-body ">
49
- <div class="row auto" style="margin: 5px 0">
50
- <label class="righttxt">用户名称:</label>
51
- <v-select v-model="bindingData.f_user_name" :options='userNames' :value.sync="bindingData.f_user_name" :width="'60%'"
52
- class="input-font" clear-button close-on-select placeholder='用户名称'
53
- style="margin-left: 5%;"
54
- value-single></v-select>
55
- </div>
56
- </div>
57
- </div>
58
- <div class="panel auto">
59
- <div class="panel-body">
60
- <label class="row auto text-left col-md-4 col-xs-4">备注</label>
61
- <div class="col-md-12 col-sm-12 col-xs-12">
62
- <textarea v-model="bindingData.f_comments" class="form-control"></textarea>
63
- </div>
64
- </div>
65
- </div>
66
- <div class="panel auto">
67
- <div class="panel-body ">
68
- <div class="row auto" style="margin: 5px 0">
69
- <label class="righttxt">图片:</label>
70
- <div class="col-xs-6" style="height: 160px;width:160px;overflow: scroll;top: 1px">
71
- <img-self v-if="bindingData.f_head_pic" :src="bindingData.f_head_pic" width="140" height="140"></img-self>
72
- <button v-if="!bindingData.f_head_pic" type="button" name="button" class="btn btn-primary" @click="takePictures('com.aofeng.hybrid.android.peripheral.CameraActivity')">拍照</button>
73
- <button v-if="!bindingData.f_head_pic" type="button" name="button" class="btn btn-primary" @click="takePictures('com.aofeng.hybrid.android.peripheral.ActionMultiplePickActivity')">相册</button>
74
- </div>
75
- </div>
76
- </div>
77
- </div>
78
- <div class="panel auto">
79
- <div class="panel-body">
80
- <div style="display: flex;justify-content: center;">
81
- <button class="col-sm-3 btn btn-primary" @click="binding()">绑定</button>
82
- </div>
83
- </div>
84
- </div>
85
- </div>
86
- </template>
87
-
88
- <script>
89
- import {HttpResetClass} from 'vue-client'
90
- import * as Util from '../../Util'
91
-
92
-
93
- export default {
94
- title: '二维码绑定',
95
- data() {
96
- return {
97
- bindingData: {},
98
- residentialAreas: [{label: '请选择', value: ''}],
99
- userNames: [{label: '请选择', value: ''}],
100
- types: [{label: '请选择', value: ''}, {label: '小区', value: '小区'}, {label: '用户', value: '用户'}]
101
- }
102
- },
103
- props: {
104
- row: {
105
- type: Object
106
- }
107
- },
108
- methods: {
109
- cameraCallBack(prop,fileName) {
110
- this.$set('bindingData.f_head_pic',fileName)
111
- },
112
- takePictures(page){
113
- HostApp.__callback__ = this.cameraCallBack
114
- HostApp.__this__ = this
115
- let prop = 'QRCode'
116
- this.fileName = Util.guid() +'.jpg'
117
- HostApp._open_a_page({
118
- type: 'boomerang',
119
- page: page,
120
- param: {
121
- file: this.fileName,
122
- requestCode: 111,
123
- callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
124
- watermark: ''
125
- }
126
- })
127
- },
128
- async binding() {
129
- let tableImages = []
130
- tableImages.push({
131
- path:this.bindingData.f_head_pic
132
- })
133
- let data = {
134
- tableImages: tableImages
135
- }
136
- HostApp.__this__ = this
137
- HostApp.logicWithHint({
138
- 'logic': 'imagesUploadAndroid', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
139
- 'data': data, 'backresult': 1
140
- })
141
- },
142
- async commitCallBack(jo) {
143
- if (jo.state == 'ok') {
144
- const res = JSON.parse(jo.result)
145
- let 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}'`
146
- new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/runSQL`, {data: {sql: sql}}).then(res=>{
147
- this.$showMessage('绑定成功')
148
- this.$dispatch('confirm')
149
- }).catch(e=>{
150
- this.$showMessage('绑定失败')
151
- })
152
- }else {
153
- this.$showMessage('图片上传失败')
154
- }
155
- },
156
- },
157
- async ready() {
158
- this.bindingData = JSON.parse(JSON.stringify(this.row))
159
- let residentialArea = await new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {
160
- data: {
161
- items: 'f_residential_area,id',
162
- tablename: 't_area',
163
- condition: `1=1 and f_residential_area is not null`,
164
- orderitem: '1'
165
- }
166
- })
167
- residentialArea.data.forEach(item => {
168
- this.residentialAreas.push({label: item.f_residential_area, value: `${item.f_residential_area}:${item.id}`});
169
- })
170
- let users = await new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {
171
- data: {
172
- items: 'ui.f_user_name,ui.f_userinfo_id',
173
- tablename: 't_userinfo ui LEFT JOIN t_userfiles uf on ui.f_userinfo_id = uf.f_userinfo_id',
174
- condition: `1=1 and f_user_name is not null and uf.f_user_type = '非民用' and uf.f_table_state in ('正常','停用')`,
175
- orderitem: '1'
176
- }
177
- })
178
- users.data.forEach(item => {
179
- this.userNames.push({label: item.f_user_name, value: `${item.f_user_name}:${item.f_userinfo_id}`});
180
- })
181
- }
182
- }
183
- </script>
184
- <style lang="less" scoped>
185
- .butt3 {
186
- float: right;
187
- width: 12px;
188
- margin: 1% 2% 0 0;
189
- }
190
-
191
- .rightipt {
192
- width: 60%;
193
- float: left;
194
- margin-left: 5%;
195
- }
196
-
197
- .righttxt {
198
- border: none;
199
- margin-left: 5px;
200
- /*border-left: 5px solid #A2C2EB;*/
201
- float: left;
202
- width: 25%;
203
- margin-bottom: 3px;
204
- text-align: left;
205
- word-wrap: break-word;
206
- white-space: normal;
207
- }
208
-
209
- .spanboder {
210
- border-bottom: 2px solid #499edf;
211
- padding-bottom: 8px
212
- }
213
-
214
- #upuserinfo_sel /deep/ ul {
215
- width: 100% !important;
216
- left: 0 !important;
217
- }
218
-
219
- .btn-photo {
220
- border: 0;
221
- border-radius: 7px;
222
- background-color: #7dc1f4;
223
- font: 15px PingFang-SC-Bold;
224
- height: 20%;
225
- }
226
-
227
- .panel-self {
228
- border-radius: 10px;
229
- border: 1px solid #499EDF;
230
- background-color: #F8F8F8;
231
- }
232
-
233
- .div-photo {
234
- width: auto;
235
- height: auto;
236
- /* margin-top: 10px; */
237
- position: absolute;
238
- bottom: 10px;
239
- right: 10px;
240
- }
241
- </style>
242
- <style lang="less">
243
- #upuserinfo_sel ul {
244
- width: 100% !important;
245
- left: 0 !important;
246
- }
247
- </style>
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">负责人姓名:</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">负责人职务:</label>
15
+ <input v-model="bindingData.f_head_post" class="form-control rightipt" type="text"/>
16
+ </div>
17
+ </div>
18
+ </div>
19
+ <div class="panel auto">
20
+ <div class="panel-body ">
21
+ <div class="row auto" style="margin: 5px 0">
22
+ <label class="righttxt">负责人电话:</label>
23
+ <input v-model="bindingData.f_head_phone" class="form-control rightipt" type="text"/>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ <div class="panel auto">
28
+ <div class="panel-body ">
29
+ <div class="row auto" style="margin: 5px 0">
30
+ <label class="righttxt">绑定类型:</label>
31
+ <v-select v-model="bindingData.f_type" :options='types' :value.sync="bindingData.f_type" :width="'60%'"
32
+ class="input-font" clear-button close-on-select placeholder='类型' style="margin-left: 5%;"
33
+ value-single></v-select>
34
+ </div>
35
+ </div>
36
+ </div>
37
+ <div v-if="bindingData.f_type == '小区'" class="panel auto">
38
+ <div class="panel-body ">
39
+ <div class="row auto" style="margin: 5px 0">
40
+ <label class="righttxt">小区名称:</label>
41
+ <v-select v-model="bindingData.f_user_name" :options='residentialAreas' :value.sync="bindingData.f_user_name" :width="'60%'"
42
+ class="input-font" clear-button close-on-select placeholder='小区名称'
43
+ style="margin-left: 5%;" value-single></v-select>
44
+ </div>
45
+ </div>
46
+ </div>
47
+ <div v-if="bindingData.f_type == '用户'" class="panel auto">
48
+ <div class="panel-body ">
49
+ <div class="row auto" style="margin: 5px 0">
50
+ <label class="righttxt">用户名称:</label>
51
+ <v-select v-model="bindingData.f_user_name" :options='userNames' :value.sync="bindingData.f_user_name" :width="'60%'"
52
+ class="input-font" clear-button close-on-select placeholder='用户名称'
53
+ style="margin-left: 5%;"
54
+ value-single></v-select>
55
+ </div>
56
+ </div>
57
+ </div>
58
+ <div class="panel auto">
59
+ <div class="panel-body">
60
+ <label class="row auto text-left col-md-4 col-xs-4">备注</label>
61
+ <div class="col-md-12 col-sm-12 col-xs-12">
62
+ <textarea v-model="bindingData.f_comments" class="form-control"></textarea>
63
+ </div>
64
+ </div>
65
+ </div>
66
+ <div class="panel auto">
67
+ <div class="panel-body ">
68
+ <div class="row auto" style="margin: 5px 0">
69
+ <label class="righttxt">图片:</label>
70
+ <div class="col-xs-6" style="height: 160px;width:160px;overflow: scroll;top: 1px">
71
+ <img-self v-if="bindingData.f_head_pic" :src="bindingData.f_head_pic" width="140" height="140"></img-self>
72
+ <button v-if="!bindingData.f_head_pic" type="button" name="button" class="btn btn-primary" @click="takePictures('com.aofeng.hybrid.android.peripheral.CameraActivity')">拍照</button>
73
+ <button v-if="!bindingData.f_head_pic" type="button" name="button" class="btn btn-primary" @click="takePictures('com.aofeng.hybrid.android.peripheral.ActionMultiplePickActivity')">相册</button>
74
+ </div>
75
+ </div>
76
+ </div>
77
+ </div>
78
+ <div class="panel auto">
79
+ <div class="panel-body">
80
+ <div style="display: flex;justify-content: center;">
81
+ <button class="col-sm-3 btn btn-primary" @click="binding()">绑定</button>
82
+ </div>
83
+ </div>
84
+ </div>
85
+ </div>
86
+ </template>
87
+
88
+ <script>
89
+ import {HttpResetClass} from 'vue-client'
90
+ import * as Util from '../../Util'
91
+
92
+
93
+ export default {
94
+ title: '二维码绑定',
95
+ data() {
96
+ return {
97
+ bindingData: {},
98
+ residentialAreas: [{label: '请选择', value: ''}],
99
+ userNames: [{label: '请选择', value: ''}],
100
+ types: [{label: '请选择', value: ''}, {label: '小区', value: '小区'}, {label: '用户', value: '用户'}]
101
+ }
102
+ },
103
+ props: {
104
+ row: {
105
+ type: Object
106
+ }
107
+ },
108
+ methods: {
109
+ cameraCallBack(prop,fileName) {
110
+ this.$set('bindingData.f_head_pic',fileName)
111
+ },
112
+ takePictures(page){
113
+ HostApp.__callback__ = this.cameraCallBack
114
+ HostApp.__this__ = this
115
+ let prop = 'QRCode'
116
+ this.fileName = Util.guid() +'.jpg'
117
+ HostApp._open_a_page({
118
+ type: 'boomerang',
119
+ page: page,
120
+ param: {
121
+ file: this.fileName,
122
+ requestCode: 111,
123
+ callback: 'javascript:HostApp.__callback__("' + prop + '", "%s");',
124
+ watermark: ''
125
+ }
126
+ })
127
+ },
128
+ async binding() {
129
+ let tableImages = []
130
+ tableImages.push({
131
+ path:this.bindingData.f_head_pic
132
+ })
133
+ let data = {
134
+ tableImages: tableImages
135
+ }
136
+ HostApp.__this__ = this
137
+ HostApp.logicWithHint({
138
+ 'logic': 'imagesUploadAndroid', 'callback': 'javascript: HostApp.__this__.commitCallBack()',
139
+ 'data': data, 'backresult': 1
140
+ })
141
+ },
142
+ async commitCallBack(jo) {
143
+ if (jo.state == 'ok') {
144
+ const res = JSON.parse(jo.result)
145
+ let 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}'`
146
+ new HttpResetClass().load('POST', `${this.$androidUtil.getProxyUrl()}/rs/logic/runSQL`, {data: {sql: sql}}).then(res=>{
147
+ this.$showMessage('绑定成功')
148
+ this.$dispatch('confirm')
149
+ }).catch(e=>{
150
+ this.$showMessage('绑定失败')
151
+ })
152
+ }else {
153
+ this.$showMessage('图片上传失败')
154
+ }
155
+ },
156
+ },
157
+ async ready() {
158
+ this.bindingData = JSON.parse(JSON.stringify(this.row))
159
+ let residentialArea = await new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {
160
+ data: {
161
+ items: 'f_residential_area,id',
162
+ tablename: 't_area',
163
+ condition: `1=1 and f_residential_area is not null`,
164
+ orderitem: '1'
165
+ }
166
+ })
167
+ residentialArea.data.forEach(item => {
168
+ this.residentialAreas.push({label: item.f_residential_area, value: `${item.f_residential_area}:${item.id}`});
169
+ })
170
+ let users = await new HttpResetClass().load('post', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {
171
+ data: {
172
+ items: 'ui.f_user_name,ui.f_userinfo_id',
173
+ tablename: 't_userinfo ui LEFT JOIN t_userfiles uf on ui.f_userinfo_id = uf.f_userinfo_id',
174
+ condition: `1=1 and f_user_name is not null and uf.f_user_type = '非民用' and uf.f_table_state in ('正常','停用')`,
175
+ orderitem: '1'
176
+ }
177
+ })
178
+ users.data.forEach(item => {
179
+ this.userNames.push({label: item.f_user_name, value: `${item.f_user_name}:${item.f_userinfo_id}`});
180
+ })
181
+ }
182
+ }
183
+ </script>
184
+ <style lang="less" scoped>
185
+ .butt3 {
186
+ float: right;
187
+ width: 12px;
188
+ margin: 1% 2% 0 0;
189
+ }
190
+
191
+ .rightipt {
192
+ width: 60%;
193
+ float: left;
194
+ margin-left: 5%;
195
+ }
196
+
197
+ .righttxt {
198
+ border: none;
199
+ margin-left: 5px;
200
+ /*border-left: 5px solid #A2C2EB;*/
201
+ float: left;
202
+ width: 25%;
203
+ margin-bottom: 3px;
204
+ text-align: left;
205
+ word-wrap: break-word;
206
+ white-space: normal;
207
+ }
208
+
209
+ .spanboder {
210
+ border-bottom: 2px solid #499edf;
211
+ padding-bottom: 8px
212
+ }
213
+
214
+ #upuserinfo_sel /deep/ ul {
215
+ width: 100% !important;
216
+ left: 0 !important;
217
+ }
218
+
219
+ .btn-photo {
220
+ border: 0;
221
+ border-radius: 7px;
222
+ background-color: #7dc1f4;
223
+ font: 15px PingFang-SC-Bold;
224
+ height: 20%;
225
+ }
226
+
227
+ .panel-self {
228
+ border-radius: 10px;
229
+ border: 1px solid #499EDF;
230
+ background-color: #F8F8F8;
231
+ }
232
+
233
+ .div-photo {
234
+ width: auto;
235
+ height: auto;
236
+ /* margin-top: 10px; */
237
+ position: absolute;
238
+ bottom: 10px;
239
+ right: 10px;
240
+ }
241
+ </style>
242
+ <style lang="less">
243
+ #upuserinfo_sel ul {
244
+ width: 100% !important;
245
+ left: 0 !important;
246
+ }
247
+ </style>