safecheck-client 3.0.34-6 → 3.0.34-61
Sign up to get free protection for your applications and to get access to all the features.
- package/docs/FormPrint.md +18 -18
- package/docs/GridTree.md +47 -47
- package/docs/PrintFile.md +38 -38
- package/docs/tree.md +40 -40
- package/package.json +1 -1
- package/src/App-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.vue +55 -0
- package/src/assets/123.png +0 -0
- package/src/assets/f8632d3c8c4c1cb68e99da754cab1a7.png +0 -0
- package/src/components/LoadData.vue +62 -0
- package/src/components/NewDefectList/DefectListNew.vue +617 -616
- package/src/components/android/AddGas.vue +147 -147
- package/src/components/android/AndroidDefectDeal.vue +1 -0
- package/src/components/android/AreaPlan.vue +566 -566
- package/src/components/android/AreaSelect.vue +208 -0
- package/src/components/android/BuildingSelect.vue +217 -0
- package/src/components/android/CheckPlanSelect.vue +248 -0
- package/src/components/android/CheckerMonthly.vue +84 -84
- package/src/components/android/LcheckUnplan.vue +108 -108
- package/src/components/android/PaperFeedback.vue +33 -0
- package/src/components/android/QRCode/QRCodeBinding.vue +300 -0
- package/src/components/android/QRCode/QRCodePage.vue +212 -0
- package/src/components/android/SafecheckDevices.vue +2 -2
- package/src/components/android/SafecheckOrderV.vue +8 -12
- package/src/components/android/SwitchValve.vue +323 -323
- package/src/components/android/examples/SafeListExamples.vue +96 -0
- package/src/components/android/examples/UserExamples.vue +130 -0
- package/src/components/checkerphonestate/Checker.vue +32 -32
- package/src/components/checkerphonestate/CheckerState.vue +97 -97
- package/src/components/defects/AddDefectModal.vue +120 -120
- package/src/components/defects/AddDevice.vue +95 -95
- package/src/components/defects/DevicesSeting.vue +106 -106
- package/src/components/metterfiles/AddUserfiles.vue +246 -246
- package/src/components/metterfiles/MetterFiles.vue +104 -104
- package/src/components/notice/NoticeQuery.vue +76 -76
- package/src/components/paper/RepairVerifyForm.vue +76 -76
- package/src/components/phonestate/DailyTraffic.vue +57 -57
- package/src/components/phonestate/LastKnownState.vue +74 -74
- package/src/components/rongcheng/AddPlanItem.vue +4 -0
- package/src/components/rongcheng/AspiratedUserInfo.vue +1 -1
- package/src/components/rongcheng/CheckSearchUser.vue +40 -14
- package/src/components/rongcheng/PaperStatem.vue +6 -1
- package/src/components/rongcheng/PhoneDevicesInfo.vue +16 -1
- package/src/components/rongcheng/PhoneUpUserinfo.vue +0 -92
- package/src/components/rongcheng/SafecheckOrderV.vue +12 -3
- package/src/components/rongcheng/SafecheckOrderVCli.vue +9 -0
- package/src/components/task/RepairAnnual.vue +79 -79
- package/src/components/task/RepairAnnualDetail.vue +49 -49
- package/src/components/task/RepairMonthly.vue +91 -91
- package/src/components/task/TaskAnnual.vue +77 -77
- package/src/components/task/TaskAnnualDetail.vue +47 -47
- package/src/components/task/TaskMonthly.vue +89 -89
- package/src/components/userfile/UserfileChange.vue +277 -277
- package/src/filiale/baiyin/android/AndroidDefectDeal.vue +4 -4
- package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -0
- package/src/filiale/baiyin/android.js +1 -0
- package/src/filiale/baiyin/pc/CheckSearchUser.vue +2 -2
- package/src/filiale/baiyin/pc/DefectListNew.vue +3 -3
- package/src/filiale/baiyin/pc/PaperList.vue +7 -7
- package/src/filiale/baiyin/pc/checkUserList.vue +771 -771
- package/src/filiale/baiyin/pc.js +21 -21
- package/src/filiale/bayan/android/SafecheckOrderV.vue +52 -29
- package/src/filiale/bayan/pc/PaperList.vue +1 -0
- package/src/filiale/fugou/pc/CheckBookSearchUser.vue +35 -15
- package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -0
- package/src/filiale/huaran/android.js +12 -0
- package/src/filiale/huaran/pc/CheckBook.vue +313 -0
- package/src/filiale/huaran/pc/CheckBookAll.vue +69 -0
- package/src/filiale/huaran/pc/CheckBookArea.vue +170 -0
- package/src/filiale/huaran/pc/CheckBookCompany.vue +166 -0
- package/src/filiale/huaran/pc/CheckBookDetails.vue +196 -0
- package/src/filiale/huaran/pc/CheckBookEntry.vue +61 -0
- package/src/filiale/huaran/pc/CheckBookList.vue +386 -0
- package/src/filiale/huaran/pc/CheckBookSearchArea.vue +564 -0
- package/src/filiale/huaran/pc/CheckBookSearchUnit.vue +229 -0
- package/src/filiale/huaran/pc/CheckBookSearchUser.vue +604 -0
- package/src/filiale/huaran/pc/CheckBookUser.vue +112 -0
- package/src/filiale/huaran/pc/PaperList.vue +822 -0
- package/src/filiale/huaran/pc/PlanManage.vue +887 -0
- package/src/filiale/huaran/pc/checkPlanList.vue +419 -0
- package/src/filiale/huaran/pc/checkUserList.vue +867 -0
- package/src/filiale/huaran/pc.js +27 -0
- package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -0
- package/src/filiale/jiaxian/android/PhoneUpUserinfo.vue +1229 -0
- package/src/filiale/jiaxian/android/SafecheckDevices.vue +6 -6
- package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -0
- package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -0
- package/src/filiale/jiaxian/android.js +4 -0
- package/src/filiale/kelai/pc/CheckPlanAreaList.vue +15 -7
- package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -0
- package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -0
- package/src/filiale/ruihua/android.js +11 -0
- package/src/filiale/shanxian/pc/checkUserList.vue +700 -700
- package/src/filiale/siyang/pc/CheckBookSearchArea.vue +645 -0
- package/src/filiale/siyang/pc/CheckPlanAreaList.vue +512 -0
- package/src/filiale/siyang/pc/CheckSearchUser.vue +982 -0
- package/src/filiale/siyang/pc/HiddenSituation.vue +167 -0
- package/src/filiale/siyang/pc/checkPlanList.vue +367 -0
- package/src/filiale/siyang/pc/checkUserList.vue +22 -18
- package/src/filiale/siyang/pc.js +5 -0
- package/src/filiale/tongchuan/android/Select.vue +421 -0
- package/src/filiale/tongchuan/android.js +1 -0
- package/src/filiale/tongchuan/pc/CheckPlanCountChartArea.vue +3 -1
- package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +6 -2
- package/src/filiale/tongchuan/pc/HiddenSituation.vue +3 -1
- package/src/filiale/tongchuan/pc/NewCheckpaper.vue +13 -22
- package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1060 -1060
- package/src/filiale/tongchuan/pc/SelectCheckPlan.vue +5 -2
- package/src/filiale/tongchuan/utils/EventListener.js +29 -0
- package/src/filiale/tongchuan/utils/coerceBoolean.js +7 -0
- package/src/filiale/weinan/android/SafecheckDevices.vue +1 -1
- package/src/filiale/weinan/android/SafecheckOrderV.vue +1 -1
- package/src/filiale/weinan/pc/CheckBookSearchUserList.vue +735 -722
- package/src/filiale/weinan/pc/CheckDetail.vue +278 -278
- package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
- package/src/filiale/weinan/pc/DefectMainNew.vue +63 -63
- package/src/filiale/weinan/pc/DefectPaperNew.vue +31 -0
- package/src/filiale/weinan/pc/DeviceChange.vue +1088 -0
- package/src/filiale/weinan/pc/checkUserList.vue +712 -776
- package/src/filiale/weinan/pc.js +47 -46
- package/src/filiale/wuan/android/SafecheckOrderV.vue +1 -0
- package/src/filiale/wuan/android/SafecheckUserInfo.vue +4 -0
- package/src/filiale/yangchunboneng/android/CurrentCreate.vue +1192 -1192
- package/src/filiale/yangchunboneng/android/DailyworkloadQuery.vue +472 -472
- package/src/filiale/yangchunboneng/android/safeHistoryLook.vue +473 -473
- package/src/filiale/yangchunboneng/pc/CheckBookSearchUser.vue +13 -11
- package/src/filiale/yangchunboneng/pc/CheckBookUser.vue +6 -6
- package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +10 -10
- package/src/filiale/yangchunboneng/pc/DefectPaperNew.vue +10 -10
- package/src/filiale/yangchunboneng/pc/PaperDefectMain.vue +6 -6
- package/src/filiale/yangchunboneng/pc/PaperList.vue +6 -6
- package/src/filiale/yuansheng/android/SafecheckDevices.vue +11 -1
- package/src/filiale/yuansheng/pc/NewCheckpaper.vue +10 -2
- package/src/main-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.js +24 -0
- package/src/safecheck-android.js +7 -0
- package/src/safecheck-page.js +10 -0
@@ -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
|
-
|
2442
|
-
|
2443
|
-
|
2444
|
-
|
2445
|
-
|
2446
|
-
|
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) {
|