safecheck-client 3.0.30-6 → 3.0.30-60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/examples/SafePlan-liaoyuan/App.vue +3 -1
- package/package.json +4 -3
- package/src/components/Util.js +15 -0
- package/src/components/android/AddPlanItem.vue +5 -2
- package/src/components/android/AreaPlan.vue +571 -571
- package/src/components/android/CurrentCreate.vue +3 -2
- package/src/components/android/CurrentCreate_new.vue +563 -559
- package/src/components/android/PhoneotherInfo.vue +132 -132
- package/src/components/android/UploadPage.vue +13 -123
- package/src/components/paper/PlanChooser.vue +8 -6
- package/src/components/pc/Edit.vue +126 -0
- package/src/components/pc/LodopFuncs.js +159 -0
- package/src/components/pc/NewCheckpaper.vue +9 -5
- package/src/components/pc/PaperEdit.vue +151 -0
- package/src/components/pc/PrintData.vue +243 -0
- package/src/components/pc/PrintTable.vue +241 -0
- package/src/components/pc/SelectCheckPlanAndNoPLan.vue +281 -278
- package/src/components/querycheckpaper/CheckSearchUser.vue +1067 -1067
- package/src/components/report/NoCheckplanSafecheck.vue +0 -2
- package/src/filiale/bayan/android/SafecheckDevices.vue +1303 -1303
- package/src/filiale/bayan/android/SafecheckOrderV.vue +2850 -2850
- package/src/filiale/bayan/android/SafecheckUserInfo.vue +806 -806
- package/src/filiale/fugou/android/AddPlanItem.vue +413 -0
- package/src/filiale/fugou/android.js +10 -0
- package/src/filiale/hanzhong/android/PaperFeedback.vue +1477 -1477
- package/src/filiale/hanzhong/android/SafecheckDevices.vue +1313 -1294
- package/src/filiale/hanzhong/android/SafecheckOrderV.vue +2683 -2683
- package/src/filiale/hanzhong/android.js +16 -16
- package/src/filiale/hanzhong/pc/NewCheckpaper.vue +1923 -0
- package/src/filiale/hanzhong/pc.js +4 -1
- package/src/filiale/huatong/android/CurrentCreate.vue +564 -564
- package/src/filiale/huatong/android/SafecheckOrderV.vue +8 -0
- package/src/filiale/jingyang/android/PhoneUpUserinfo.vue +34 -34
- package/src/filiale/jingyang/pc/PaperList.vue +1 -2
- package/src/filiale/kelai/android/AddPlanItem.vue +488 -0
- package/src/filiale/kelai/android.js +1 -0
- package/src/filiale/pingxiang/pc/DefectPaperNew.vue +1 -1
- package/src/filiale/qianneng/android/PaperFeedback.vue +40 -0
- package/src/filiale/qingjian/android/PhoneUpUserinfo.vue +6 -0
- package/src/filiale/tongchuan/android/SafecheckDevices.vue +1 -0
- package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1095 -1089
- package/src/filiale/wensu/android/AndroidDefectDeal.vue +321 -366
- package/src/filiale/wensu/android/AndroidDefectDealItems.vue +480 -0
- package/src/filiale/wensu/android.js +1 -0
- package/src/filiale/wensu/pc/DefectPaperNew.vue +6 -4
- package/src/filiale/wensu/pc/NewCheckpaper.vue +1936 -0
- package/src/filiale/wensu/pc/RoleSelector.vue +4 -1
- package/src/filiale/wensu/pc/checkUserList.vue +50 -0
- package/src/filiale/wensu/pc.js +2 -1
- package/src/filiale/wenxi/pc/DefectPaper.vue +1 -1
- package/src/filiale/yangchunboneng/android/PaperFeedback.vue +20 -0
- package/src/filiale/yangchunboneng/pc/CheckBookDetails.vue +19 -0
- package/src/filiale/yongzhou/pc/LodopFuncs.js +159 -0
- package/src/filiale/yongzhou/pc/NoCheckplanSafecheck.vue +252 -0
- package/src/filiale/yongzhou/pc/PaperList.vue +798 -0
- package/src/filiale/yongzhou/pc/PrintData.vue +243 -0
- package/src/filiale/yongzhou/pc/PrintTable.vue +241 -0
- package/src/filiale/yongzhou/pc/communityDetail.vue +33 -10
- package/src/filiale/yongzhou/pc/communityTypeDetailG.vue +27 -13
- package/src/filiale/yongzhou/pc/communityTypeDetailM.vue +27 -13
- package/src/filiale/yongzhou/pc/safeDetail.vue +41 -13
- package/src/filiale/yongzhou/pc/safeStatistics.vue +13 -3
- package/src/filiale/yongzhou/pc/safeStatisticsDay.vue +72 -13
- package/src/filiale/yongzhou/pc/safeStatisticsMonth.vue +47 -11
- package/src/filiale/yongzhou/pc/safeStatisticsYear.vue +13 -3
- package/src/filiale/yongzhou/pc/safeTable.vue +10 -2
- package/src/filiale/yongzhou/pc.js +16 -12
- package/src/filiale/zhongsheng/android/CurrentCreate.vue +540 -536
- package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +151 -53
- package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +14 -0
- package/src/safecheck-android.js +290 -290
- package/src/safecheck.js +12 -0
@@ -120,7 +120,10 @@ import {HttpResetClass} from 'vue-client'
|
|
120
120
|
this.allUsers.forEach(user => {
|
121
121
|
// if (resids.indexOf(user.orgid) != -1) {
|
122
122
|
// if (typeof user.name == "string"){
|
123
|
-
|
123
|
+
if(user.state == '在职'){
|
124
|
+
this.users.push({label: user.name, value: user.name})
|
125
|
+
}
|
126
|
+
|
124
127
|
// }
|
125
128
|
// }
|
126
129
|
})
|
@@ -206,6 +206,46 @@
|
|
206
206
|
>
|
207
207
|
</v-select>
|
208
208
|
</div>
|
209
|
+
<div class="form-group col-sm-4" >
|
210
|
+
<label class="font_normal_body">安检起始:</label>
|
211
|
+
<datepicker
|
212
|
+
placeholder='最后一次安检时间起始'
|
213
|
+
style="width:60%"
|
214
|
+
:disabled-days-of-week="[]"
|
215
|
+
:format="'yyyy-MM-dd'"
|
216
|
+
:show-rest-button="reset"
|
217
|
+
:value.sync="model.f_start_time"
|
218
|
+
v-model="model.f_start_time"
|
219
|
+
>
|
220
|
+
</datepicker>
|
221
|
+
</div>
|
222
|
+
<div class="form-group col-sm-4" >
|
223
|
+
<label class="font_normal_body">安检截止:</label>
|
224
|
+
<datepicker
|
225
|
+
placeholder='最后一次安检时间截止'
|
226
|
+
:disabled-days-of-week="[]"
|
227
|
+
style="width:60%"
|
228
|
+
:format="'yyyy-MM-dd'"
|
229
|
+
:show-rest-button="reset"
|
230
|
+
:value.sync="model.f_end_time"
|
231
|
+
v-model="model.f_end_time"
|
232
|
+
>
|
233
|
+
</datepicker>
|
234
|
+
</div>
|
235
|
+
<div class="form-group col-sm-4">
|
236
|
+
<label class="font_normal_body">安检状态:</label>
|
237
|
+
<v-select
|
238
|
+
class="select select_list"
|
239
|
+
:value.sync="model.f_last_check_state"
|
240
|
+
v-model="model.f_last_check_state"
|
241
|
+
:options='$parent.$parent.entry_status'
|
242
|
+
placeholder='请选择'
|
243
|
+
:search="false"
|
244
|
+
close-on-select
|
245
|
+
value-single
|
246
|
+
>
|
247
|
+
</v-select>
|
248
|
+
</div>
|
209
249
|
<!--<div class="form-group col-sm-4" >
|
210
250
|
<label class="font_normal_body">入户情况:</label>
|
211
251
|
<v-select
|
@@ -317,6 +357,7 @@
|
|
317
357
|
userStates:[],//用户状态
|
318
358
|
gasproperties:[],//用气性质
|
319
359
|
meter_classifys:[],//气表类型
|
360
|
+
entry_status: this.$appdata.getParam('安检状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检状态')]:[{label: '全部', value: ''}],
|
320
361
|
hasHousehold:[{label:"全部",value:""},{label:"已入户",value:"已入户"},{label:"未入户",value:"未入户"}],
|
321
362
|
yearCheckList:[{label:"全部",value:""},{label:"已在计划中",value:"ua.f_plan_id is not null"},{label:"未在计划中",value:"ua.f_plan_id is null"}],
|
322
363
|
sliceArea:[],
|
@@ -366,6 +407,15 @@
|
|
366
407
|
if(this.uploadCodeCondition){
|
367
408
|
args.condition +=` and ${this.uploadCodeCondition}`
|
368
409
|
}
|
410
|
+
if(args.model.f_last_check_state){
|
411
|
+
args.condition += ` and ua.f_last_check_state = '${args.model.f_last_check_state}'`
|
412
|
+
}
|
413
|
+
if(args.model.f_start_time){
|
414
|
+
args.condition += ` and ua.f_last_check_date >='${args.model.f_start_time} 00:00:00' `
|
415
|
+
}
|
416
|
+
if(args.model.f_end_time){
|
417
|
+
args.condition += ` and ua.f_last_check_date <='${args.model.f_end_time} 23:59:59' `
|
418
|
+
}
|
369
419
|
this.cancel()
|
370
420
|
this.checkes=[]
|
371
421
|
this.checkAll=false
|
package/src/filiale/wensu/pc.js
CHANGED
@@ -9,7 +9,8 @@ let specialComp = {
|
|
9
9
|
'print-material-bill': (resolve) => { require(['./pc/PrintMaterialBill'], resolve) },
|
10
10
|
'check-search-user':(resolve) => {require(['./pc/CheckSearchUser'], resolve)},
|
11
11
|
'defect-main-new2': (resolve) => {require(['./pc/DefectMainNew'], resolve)},
|
12
|
-
'role-selector-safe': (resolve) => {require(['./pc/RoleSelector'], resolve)}
|
12
|
+
'role-selector-safe': (resolve) => {require(['./pc/RoleSelector'], resolve)},
|
13
|
+
'new-check-paper': (resolve) => {require(['./pc/NewCheckpaper'], resolve)}
|
13
14
|
}
|
14
15
|
exports.specialComp = specialComp
|
15
16
|
|
@@ -362,7 +362,7 @@
|
|
362
362
|
</h4>
|
363
363
|
</div>
|
364
364
|
<div slot="modal-body" class="modal-body">
|
365
|
-
<plan-chooser :f.sync="
|
365
|
+
<plan-chooser :f.sync="$login.f" v-ref:chooser></plan-chooser>
|
366
366
|
</div>
|
367
367
|
<div slot="modal-footer" class="modal-footer" style="text-align: center">
|
368
368
|
<button class="button_search" @click="ok">确认</button>
|
@@ -132,6 +132,7 @@
|
|
132
132
|
</div>
|
133
133
|
<div class="row">
|
134
134
|
<label for="readsafe" class="text-left font">蓝牙状态:{{blueState}}</label>
|
135
|
+
<button type="button" @click="initBlueState()">重新连接</button>
|
135
136
|
</div>
|
136
137
|
<div class="form-group col-md-12 col-sm-12 col-xs-12" :class="style__">
|
137
138
|
<div class="form-group col-md-12 col-sm-12 col-xs-12">
|
@@ -608,6 +609,25 @@
|
|
608
609
|
Radio
|
609
610
|
},
|
610
611
|
methods: {
|
612
|
+
initBlueState(){
|
613
|
+
let state = HostApp.getBluetoothState()
|
614
|
+
if (state && state.state == 3){
|
615
|
+
this.blueState = '连接完成'
|
616
|
+
}else {
|
617
|
+
if (state && state.state == -1){
|
618
|
+
this.$showMessage('蓝牙连接未打开,打开后重新尝试')
|
619
|
+
return
|
620
|
+
}
|
621
|
+
this.blueState = '连接失败,请重试'
|
622
|
+
this.$androidUtil.print(JSON.stringify([{ type: 4, value: 2, unit: 'line' }]))
|
623
|
+
let state2 = HostApp.getBluetoothState()
|
624
|
+
if (state2 && state2.state == 3){
|
625
|
+
this.blueState = '连接完成'
|
626
|
+
}else {
|
627
|
+
this.blueState = '连接失败,请重试'
|
628
|
+
}
|
629
|
+
}
|
630
|
+
},
|
611
631
|
timeSet(val) {
|
612
632
|
//////tag
|
613
633
|
if (!val) {
|
@@ -42,6 +42,16 @@
|
|
42
42
|
<input type="text" class="input_search" v-model="checkBook.f_check_book_name"
|
43
43
|
style="width: 60%" v-validate:f_check_book_name='{ required: true }'>
|
44
44
|
</div>
|
45
|
+
<div class="form-group col-sm-6" style="margin-top: 20px">
|
46
|
+
<label class="font_normal_body">上次执行日期</label>
|
47
|
+
<datepicker
|
48
|
+
:value.sync="checkBook.f_last_run_date"
|
49
|
+
style="width: 60%"
|
50
|
+
:format="'yyyy-MM-dd'"
|
51
|
+
v-model="checkBook.f_last_run_date"
|
52
|
+
>
|
53
|
+
</datepicker>
|
54
|
+
</div>
|
45
55
|
<div class="form-group col-sm-6" style="margin-top: 20px">
|
46
56
|
<label class="font_normal_body">执行日期</label>
|
47
57
|
<datepicker
|
@@ -170,6 +180,15 @@ export default {
|
|
170
180
|
http.load('POST', 'rs/logic/safeEntity', {data: {tableName: 't_check_book', entityData: this.checkBook}},
|
171
181
|
{resolveMsg: '保存片区信息成功', rejectMsg: '保存片区信息失败'}).then(res => {
|
172
182
|
if (res.data.code === 200) {
|
183
|
+
let dataplan ={
|
184
|
+
id:res.data.id,
|
185
|
+
f_check_book_name: this.checkBook.f_check_book_name,
|
186
|
+
f_checker_name:this.checkBook.f_checker_name,
|
187
|
+
f_checker_id:this.checkBook.f_checker_id,
|
188
|
+
f_create_person: this.$login.f.name,
|
189
|
+
f_orgid: this.$login.f.orgid
|
190
|
+
}
|
191
|
+
http.load('POST', 'rs/logic/CreatorBookplan', {data:dataplan},{resolveMsg: null, rejectMsg: null})
|
173
192
|
this.$showMessage('保存片区信息成功',['confirm']).then(res=>{
|
174
193
|
if (res==='confirm'){
|
175
194
|
bus.$emit('fresh-main')
|
@@ -0,0 +1,159 @@
|
|
1
|
+
var CreatedOKLodop7766 = null
|
2
|
+
|
3
|
+
// ====判断是否需要安装CLodop云打印服务器:====
|
4
|
+
function needCLodop () {
|
5
|
+
// return false;
|
6
|
+
try {
|
7
|
+
// 看是什么浏览器
|
8
|
+
var ua = navigator.userAgent
|
9
|
+
// windows,安装
|
10
|
+
if (ua.match(/Windows\sPhone/i) != null) return true
|
11
|
+
// iPhone, 安装
|
12
|
+
if (ua.match(/iPhone|iPod/i) != null) return true
|
13
|
+
// Android, 安装
|
14
|
+
if (ua.match(/Android/i) != null) return true
|
15
|
+
// Edge,安装
|
16
|
+
if (ua.match(/Edge\D?\d+/i) != null) return true
|
17
|
+
// QQ,不安装
|
18
|
+
if (ua.match(/QQBrowser/i) != null) return false
|
19
|
+
|
20
|
+
var verTrident = ua.match(/Trident\D?\d+/i)
|
21
|
+
var verIE = ua.match(/MSIE\D?\d+/i)
|
22
|
+
var verOPR = ua.match(/OPR\D?\d+/i)
|
23
|
+
var verFF = ua.match(/Firefox\D?\d+/i)
|
24
|
+
var x64 = ua.match(/x64/i)
|
25
|
+
if ((verTrident == null) && (verIE == null) && (x64 !== null)) {
|
26
|
+
return true
|
27
|
+
} else if (verFF !== null) {
|
28
|
+
verFF = verFF[0].match(/\d+/)
|
29
|
+
if (verFF[0] >= 42) return true
|
30
|
+
} else if (verOPR !== null) {
|
31
|
+
verOPR = verOPR[0].match(/\d+/)
|
32
|
+
if (verOPR[0] >= 32) return true
|
33
|
+
} else if ((verTrident == null) && (verIE == null)) {
|
34
|
+
var verChrome = ua.match(/Chrome\D?\d+/i)
|
35
|
+
if (verChrome !== null) {
|
36
|
+
verChrome = verChrome[0].match(/\d+/)
|
37
|
+
if (verChrome[0] >= 42) return true
|
38
|
+
}
|
39
|
+
}
|
40
|
+
return false
|
41
|
+
} catch (err) {
|
42
|
+
return true
|
43
|
+
}
|
44
|
+
}
|
45
|
+
|
46
|
+
// ====页面引用CLodop云打印必须的JS文件:====
|
47
|
+
if (needCLodop()) {
|
48
|
+
var head = document.head || document.getElementsByTagName('head')[0] || document.documentElement
|
49
|
+
var oscript = document.createElement('script')
|
50
|
+
// 让本机浏览器打印(更优先):
|
51
|
+
oscript.src = 'http://localhost:18000/CLodopfuncs.js?priority=1'
|
52
|
+
head.insertBefore(oscript, head.firstChild)
|
53
|
+
}
|
54
|
+
|
55
|
+
// ====获取LODOP对象的主过程:====
|
56
|
+
function getLodop (oOBJECT, oEMBED) {
|
57
|
+
// 显示提示用的内容
|
58
|
+
var strHtmInstall = "<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='http://113.10.155.131/install_lodop32.zip' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>"
|
59
|
+
var strHtmUpdate = "<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='http://113.10.155.131/install_lodop32.zip' target='_self'>执行升级</a>,升级后请重新进入。</font>"
|
60
|
+
var strHtm64_Install = "<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='http://113.10.155.131/install_lodop64.zip' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>"
|
61
|
+
var strHtm64_Update = "<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='http://113.10.155.131/install_lodop64.zip' target='_self'>执行升级</a>,升级后请重新进入。</font>"
|
62
|
+
var strHtmFireFox = "<br><br><font color='#FF00FF'>(注意:如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它)</font>"
|
63
|
+
var strHtmChrome = "<br><br><font color='#FF00FF'>(如果此前正常,仅因浏览器升级或重安装而出问题,需重新执行以上安装)</font>"
|
64
|
+
var strCLodopInstall = "<br><font color='#FF00FF'>CLodop云打印服务(localhost本地)未安装启动!点击这里<a href='CLodopPrint_Setup_for_Win32NT.zip' target='_self'>执行安装</a>,安装后请刷新页面。</font>"
|
65
|
+
var strCLodopUpdate = "<br><font color='#FF00FF'>CLodop云打印服务需升级!点击这里<a href='CLodopPrint_Setup_for_Win32NT.zip' target='_self'>执行升级</a>,升级后请刷新页面。</font>"
|
66
|
+
|
67
|
+
var LODOP
|
68
|
+
try {
|
69
|
+
var isIE = (navigator.userAgent.indexOf('MSIE') >= 0) || (navigator.userAgent.indexOf('Trident') >= 0)
|
70
|
+
if (needCLodop()) {
|
71
|
+
try {
|
72
|
+
// 调用脚本中的获取打印对象
|
73
|
+
LODOP = getCLodop()
|
74
|
+
} catch (err) {
|
75
|
+
}
|
76
|
+
// 如果没找到打印控件
|
77
|
+
if (!LODOP && document.readyState !== 'complete') {
|
78
|
+
alert('C-Lodop没准备好,请稍后再试!')
|
79
|
+
return
|
80
|
+
}
|
81
|
+
if (!LODOP) {
|
82
|
+
if (isIE) {
|
83
|
+
// document.write(strCLodopInstall)
|
84
|
+
if(confirm('CLodop云打印服务(localhost本地)未安装启动!你确定要安装吗?\n(点击确定进行安装,安装后请刷新页面)')){
|
85
|
+
window.open('download/CLodop_Setup_for_Win32NT.exe')
|
86
|
+
}
|
87
|
+
}
|
88
|
+
else {
|
89
|
+
// document.documentElement.innerHTML = strCLodopInstall + document.documentElement.innerHTML
|
90
|
+
if(confirm('CLodop云打印服务(localhost本地)未安装启动!你确定要安装吗?\n(点击确定进行安装,安装后请刷新页面)')){
|
91
|
+
window.open('download/CLodop_Setup_for_Win32NT.exe')
|
92
|
+
}
|
93
|
+
}
|
94
|
+
return
|
95
|
+
} else { // 找到后的处理
|
96
|
+
if (CLODOP.CVERSION < '2.0.6.2') {
|
97
|
+
if (isIE) document.write(strCLodopUpdate)
|
98
|
+
else {
|
99
|
+
document.documentElement.innerHTML = strCLodopUpdate + document.documentElement.innerHTML
|
100
|
+
}
|
101
|
+
}
|
102
|
+
if (oEMBED && oEMBED.parentNode) oEMBED.parentNode.removeChild(oEMBED)
|
103
|
+
if (oOBJECT && oOBJECT.parentNode) oOBJECT.parentNode.removeChild(oOBJECT)
|
104
|
+
}
|
105
|
+
} else { // 非云服务
|
106
|
+
var is64IE = isIE && (navigator.userAgent.indexOf('x64') >= 0)
|
107
|
+
// =====如果页面有Lodop就直接使用,没有则新建:==========
|
108
|
+
if (oOBJECT !== undefined || oEMBED !== undefined) {
|
109
|
+
if (isIE) LODOP = oOBJECT
|
110
|
+
else LODOP = oEMBED
|
111
|
+
} else if (CreatedOKLodop7766 == null) {
|
112
|
+
LODOP = document.createElement('object')
|
113
|
+
LODOP.setAttribute('width', 0)
|
114
|
+
LODOP.setAttribute('height', 0)
|
115
|
+
LODOP.setAttribute('style', 'position:absolute;left:0px;top:-100px;width:0px;height:0px;')
|
116
|
+
if (isIE) LODOP.setAttribute('classid', 'clsid:2105C259-1E0C-4534-8141-A753534CB4CA')
|
117
|
+
else LODOP.setAttribute('type', 'application/x-print-lodop')
|
118
|
+
document.documentElement.appendChild(LODOP)
|
119
|
+
CreatedOKLodop7766 = LODOP
|
120
|
+
} else LODOP = CreatedOKLodop7766
|
121
|
+
// =====Lodop插件未安装时提示下载地址:==========
|
122
|
+
if ((LODOP == null) || (typeof (LODOP.VERSION) === 'undefined')) {
|
123
|
+
if (navigator.userAgent.indexOf('Chrome') >= 0) {
|
124
|
+
document.documentElement.innerHTML = strHtmChrome + document.documentElement.innerHTML
|
125
|
+
}
|
126
|
+
if (navigator.userAgent.indexOf('Firefox') >= 0) {
|
127
|
+
document.documentElement.innerHTML = strHtmFireFox + document.documentElement.innerHTML
|
128
|
+
}
|
129
|
+
if (is64IE) document.write(strHtm64_Install)
|
130
|
+
else if (isIE) document.write(strHtmInstall)
|
131
|
+
else {
|
132
|
+
document.documentElement.innerHTML = strHtmInstall + document.documentElement.innerHTML
|
133
|
+
}
|
134
|
+
return LODOP
|
135
|
+
}
|
136
|
+
}
|
137
|
+
|
138
|
+
// 检查版本
|
139
|
+
if (LODOP.VERSION < '6.2.0.3') {
|
140
|
+
if (needCLodop()) {
|
141
|
+
document.documentElement.innerHTML = strCLodopUpdate + document.documentElement.innerHTML
|
142
|
+
} else if (is64IE) {
|
143
|
+
document.write(strHtm64_Update)
|
144
|
+
} else if (isIE) {
|
145
|
+
document.write(strHtmUpdate)
|
146
|
+
} else {
|
147
|
+
document.documentElement.innerHTML = strHtmUpdate + document.documentElement.innerHTML
|
148
|
+
}
|
149
|
+
return LODOP
|
150
|
+
}
|
151
|
+
// ===如下空白位置适合调用统一功能(如注册语句、语言选择等):===
|
152
|
+
LODOP.SET_LICENSES('西安奥枫软件有限公司', '552C41D5AB0D146FCF77D05CD8AA15A1', '', '')
|
153
|
+
return LODOP
|
154
|
+
} catch (err) {
|
155
|
+
alert('getLodop出错:' + err)
|
156
|
+
}
|
157
|
+
}
|
158
|
+
|
159
|
+
export default getLodop
|
@@ -0,0 +1,252 @@
|
|
1
|
+
<template>
|
2
|
+
<div class="flex">
|
3
|
+
<section>
|
4
|
+
<div class="basic-main row" style="height: 100%">
|
5
|
+
<criteria-paged :model="model" v-ref:paged>
|
6
|
+
<criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:cri>
|
7
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
8
|
+
<div class="row">
|
9
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 30%;">
|
10
|
+
<role-selector-safe
|
11
|
+
role-name="安检员"
|
12
|
+
role-lable="安 检 员 "
|
13
|
+
@re-res="$parent.$parent.getRes"
|
14
|
+
:value.sync="model.f_checker_id"
|
15
|
+
v-model="model.f_checker_id"
|
16
|
+
condition="f_checker_name = '{}'">
|
17
|
+
</role-selector-safe>
|
18
|
+
</div>
|
19
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%;">
|
20
|
+
<label for="startDate" class="font_normal_body">起始时间</label>
|
21
|
+
<datepicker
|
22
|
+
class="select_list select"
|
23
|
+
:value.sync="model.startDate"
|
24
|
+
id="startDate"
|
25
|
+
placeholder='开始时间' style="width: 60%"
|
26
|
+
:disabled-days-of-week="[]"
|
27
|
+
:format="'yyyy-MM-dd 00:00:00'"
|
28
|
+
:show-rest-button="reset"
|
29
|
+
v-model="model.startDate"
|
30
|
+
condition="f_upload_date > ='{} '">
|
31
|
+
</datepicker>
|
32
|
+
</div>
|
33
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%;">
|
34
|
+
<label for="endDate" class="font_normal_body">结束时间</label>
|
35
|
+
<datepicker
|
36
|
+
class="select_list select"
|
37
|
+
:value.sync="model.endDate"
|
38
|
+
id="endDate"
|
39
|
+
placeholder='结束日期' style="width: 60%"
|
40
|
+
:disabled-days-of-week="[]"
|
41
|
+
:format="'yyyy-MM-dd 23:59:59'"
|
42
|
+
:show-rest-button="reset"
|
43
|
+
v-model="model.endDate"
|
44
|
+
condition="f_upload_date <='{} '">
|
45
|
+
</datepicker>
|
46
|
+
</div>
|
47
|
+
<div class="form-group col-sm-3 form-input-group" style="width: 20%;">
|
48
|
+
<label class="font_normal_body">用户类型</label>
|
49
|
+
<v-select :value.sync="model.f_user_type" v-model='model.f_user_type'
|
50
|
+
:value-single="true" style="width: 60%"
|
51
|
+
class="select_list select"
|
52
|
+
:options='$parent.$parent.user_types' placeholder='用户类型'
|
53
|
+
close-on-select
|
54
|
+
condition="f_check_type = '{}'"></v-select>
|
55
|
+
</div>
|
56
|
+
<div class="col-sm-3 form-group form-input-group" style="width: 20%;float: right;">
|
57
|
+
<print-data-safe :sum-field="$parent.$parent.excelHeaders" :model="$parent.$parent.print_model"
|
58
|
+
:field="$parent.$parent.excelHeaders"
|
59
|
+
:defaultfield="$parent.$parent.defaultPrint"
|
60
|
+
titletable="无计划安检汇总" :starthead="$parent.$parent.getstart"
|
61
|
+
></print-data-safe>
|
62
|
+
<export-excel-safe :data="$parent.$parent.searchData"
|
63
|
+
:field="$parent.$parent.excelHeaders"
|
64
|
+
sqlurl="rs/logic/SafeExportExcel"
|
65
|
+
sql-name="SafecheckSummary"
|
66
|
+
:template-name="$parent.$parent.excelTitle">
|
67
|
+
</export-excel-safe>
|
68
|
+
|
69
|
+
<button type="button" name="button" class="button_search" style="margin-left: 9px" @click="search">查询</button>
|
70
|
+
</div>
|
71
|
+
</div>
|
72
|
+
</div>
|
73
|
+
</criteria>
|
74
|
+
<data-grid :model="model" partial='list' class="list_area table_sy" id="tongchuan" v-ref:grid >
|
75
|
+
<template partial='head'>
|
76
|
+
<tr>
|
77
|
+
<!-- <th>-->
|
78
|
+
<!-- <nobr>序号</nobr>-->
|
79
|
+
<!-- </th>-->
|
80
|
+
<!-- <th>-->
|
81
|
+
<!-- <nobr>安检月份</nobr>-->
|
82
|
+
<!-- </th>-->
|
83
|
+
<th>
|
84
|
+
<nobr>安检员</nobr>
|
85
|
+
</th>
|
86
|
+
<th>
|
87
|
+
<nobr>已检</nobr>
|
88
|
+
</th>
|
89
|
+
<th>
|
90
|
+
<nobr>入户</nobr>
|
91
|
+
</th>
|
92
|
+
<th>
|
93
|
+
<nobr>到访不遇</nobr>
|
94
|
+
</th>
|
95
|
+
<th>
|
96
|
+
<nobr>拒检</nobr>
|
97
|
+
</th>
|
98
|
+
<!-- <th>-->
|
99
|
+
<!-- <nobr>隐患数</nobr>-->
|
100
|
+
<!-- </th>-->
|
101
|
+
<th>
|
102
|
+
<nobr>入户率</nobr>
|
103
|
+
</th>
|
104
|
+
</tr>
|
105
|
+
</template>
|
106
|
+
<template partial='body'>
|
107
|
+
<tr>
|
108
|
+
<!-- <td style="text-align:center">{{$index + 1}}</td>-->
|
109
|
+
<!-- <td style="text-align:center">-->
|
110
|
+
<!-- <nobr>{{ row.yuefeng }}</nobr>-->
|
111
|
+
<!-- </td>-->
|
112
|
+
<td style="text-align:center">
|
113
|
+
<nobr>{{ row.f_checker_name }}</nobr>
|
114
|
+
</td>
|
115
|
+
<td style="text-align:center">
|
116
|
+
<nobr>{{ row.yijian }}</nobr>
|
117
|
+
</td>
|
118
|
+
<td style="text-align:center">
|
119
|
+
<nobr>{{ row.ruhu }}</nobr>
|
120
|
+
</td>
|
121
|
+
<td style="text-align:center">
|
122
|
+
<nobr>{{ row.daofang }}</nobr>
|
123
|
+
</td>
|
124
|
+
<td style="text-align:center">
|
125
|
+
<nobr>{{ row.jujian }}</nobr>
|
126
|
+
</td>
|
127
|
+
<!-- <td style="text-align:center">-->
|
128
|
+
<!-- <nobr>{{ row.yinhuan }}</nobr>-->
|
129
|
+
<!-- </td>-->
|
130
|
+
<td style="text-align:center">
|
131
|
+
<nobr>{{ row.ruhu_bv }}</nobr>
|
132
|
+
</td>
|
133
|
+
</tr>
|
134
|
+
</template>
|
135
|
+
<template partial="foot">
|
136
|
+
<td style="text-align: center"><span><b>合计:</b></span></td>
|
137
|
+
<!-- <td style="text-align: center"><span><b> </b></span></td>-->
|
138
|
+
<!-- <td style="text-align: center"><span><b> </b></span></td>-->
|
139
|
+
<td style="text-align: center">{{model.sums.yijian}}</td>
|
140
|
+
<td style="text-align: center">{{model.sums.ruhu}}</td>
|
141
|
+
<td style="text-align: center">{{model.sums.daofang}}</td>
|
142
|
+
<td style="text-align: center">{{model.sums.jujian}}</td>
|
143
|
+
<!-- <td style="text-align: center">{{model.sums.yinhuan}}</td>-->
|
144
|
+
<td style="text-align: center">{{ (model.sums.ruhu && model.sums.yijian) ? (model.sums.ruhu / model.sums.yijian * 100.0).toFixed(2) : 0.00}}%</td>
|
145
|
+
</template>
|
146
|
+
</data-grid>
|
147
|
+
</criteria-paged>
|
148
|
+
</div>
|
149
|
+
</section>
|
150
|
+
</div>
|
151
|
+
</template>
|
152
|
+
<script>
|
153
|
+
import {PagedList, HttpResetClass} from 'vue-client'
|
154
|
+
import * as Util from '../../Util'
|
155
|
+
|
156
|
+
export default {
|
157
|
+
title: '无计划安检汇总',
|
158
|
+
data () {
|
159
|
+
let model = new PagedList('rs/sql/SafecheckSummary', 20, {
|
160
|
+
f_filiale_id: 'this.f_filiale_id'
|
161
|
+
},{yijian:'',ruhu:'',daofang:'',jujian:'',yinhuan:''})
|
162
|
+
model.f_filiale_id = `('${this.$login.f.orgid}')`
|
163
|
+
return {
|
164
|
+
user_types: [{label:'全部',value:''},{label:'民用',value:'民用'},{label:'非民用',value:'非民用'}],
|
165
|
+
f_filiale_id: `('${this.$login.f.orgid}')`, // 分公司id
|
166
|
+
model: model,
|
167
|
+
source: 'tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() == $organization$))', //获取公司参数
|
168
|
+
userid: this.$login.f.id,
|
169
|
+
orgname: '',
|
170
|
+
// checker:{},
|
171
|
+
searchData: {
|
172
|
+
condition: '',
|
173
|
+
f_filiale_id: ''
|
174
|
+
},
|
175
|
+
print_model:{},
|
176
|
+
excelHeaders: {
|
177
|
+
'f_checker_name': '安检员',
|
178
|
+
'yijian': '已检',
|
179
|
+
'ruhu': '入户',
|
180
|
+
'daofang': '到访不遇',
|
181
|
+
'jujian': '拒检',
|
182
|
+
'ruhu_bv': '入户率'
|
183
|
+
},
|
184
|
+
defaultPrint: ['f_checker_name', 'yijian', 'ruhu', 'daofang', 'jujian', 'ruhu_bv'],
|
185
|
+
|
186
|
+
}
|
187
|
+
},
|
188
|
+
methods: {
|
189
|
+
getRes (obj) {
|
190
|
+
this.f_filiale_id = this.$login.convertToIn(obj.resids)
|
191
|
+
this.orgname = obj.res[0]
|
192
|
+
this.$set('orgname', obj.res[0])
|
193
|
+
console.log(
|
194
|
+
`%c 无计划安检汇总公司名 %c 呼叫模块 %c`,
|
195
|
+
'background:#35495e ; padding: 1px; border-radius: 3px 0 0 3px; color: #fff',
|
196
|
+
'background:#41b883 ; padding: 1px; border-radius: 0 3px 3px 0; color: #fff',
|
197
|
+
'background:transparent',
|
198
|
+
this.orgname
|
199
|
+
)
|
200
|
+
},
|
201
|
+
async selfSearch (args) {
|
202
|
+
if (!this.f_filiale_id) {
|
203
|
+
return this.$showMessage("请选择公司进行查询!!!")
|
204
|
+
}
|
205
|
+
this.model.f_filiale_id = this.f_filiale_id // 只有选择了下面的条件才会变化
|
206
|
+
this.searchData.f_filiale_id = this.f_filiale_id //导出
|
207
|
+
this.searchData.condition=args.condition //导出
|
208
|
+
await this.model.search(args.condition, args.model)
|
209
|
+
this.searchData.condition = args.condition
|
210
|
+
this.sumsmodel = this.$refs.paged.$refs.grid.model.sums;
|
211
|
+
this.print_model = JSON.parse(JSON.stringify(this.$refs.paged.$refs.grid.model))
|
212
|
+
this.print_model.rows.push({
|
213
|
+
f_checker_name: '合计',
|
214
|
+
yijian: this.sumsmodel.yijian,
|
215
|
+
ruhu: this.sumsmodel.ruhu,
|
216
|
+
daofang: this.sumsmodel.daofang,
|
217
|
+
jujian: this.sumsmodel.jujian,
|
218
|
+
ruhu_bv:`${(this.sumsmodel.ruhu && this.sumsmodel.yijian) ? (this.sumsmodel.ruhu / this.sumsmodel.yijian * 100.0).toFixed(2) : 0.00}%`
|
219
|
+
})
|
220
|
+
this.print_model.totalPage = 0
|
221
|
+
}
|
222
|
+
},
|
223
|
+
computed: {
|
224
|
+
excelTitle() {
|
225
|
+
return `${this.orgname }无计划安检汇总`
|
226
|
+
},
|
227
|
+
getstart() {
|
228
|
+
return `开始时间:${this.$refs.paged.$refs.cri.model.startDate} 结束时间:${this.$refs.paged.$refs.cri.model.endDate}`
|
229
|
+
},
|
230
|
+
},
|
231
|
+
watch: {
|
232
|
+
},
|
233
|
+
ready () {
|
234
|
+
this.orgname = this.$login.f.orgs
|
235
|
+
//tag)
|
236
|
+
//tag
|
237
|
+
this.$refs.paged.$refs.cri.model.startDate=Util.toStartDateString() +' 00:00:00'
|
238
|
+
this.$refs.paged.$refs.cri.model.endDate=Util.toEndDateString() +' 23:59:59'
|
239
|
+
|
240
|
+
}
|
241
|
+
|
242
|
+
}
|
243
|
+
</script>
|
244
|
+
|
245
|
+
<style lang="less" >
|
246
|
+
.tableinfo {
|
247
|
+
text-align: center;
|
248
|
+
background-color: #00A3F0;
|
249
|
+
color: #0c2e4d;
|
250
|
+
font-size: 26px;
|
251
|
+
}
|
252
|
+
</style>
|