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.
- 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 +1 -0
- package/src/components/android/AddPlanItemYy.vue +451 -0
- package/src/components/android/AndroidDefectDeal.vue +634 -634
- package/src/components/android/AndroidDefectDealBeforeSafe.vue +502 -0
- package/src/components/android/AreaSelect.vue +198 -0
- package/src/components/android/BuildingSelect.vue +192 -0
- package/src/components/android/CheckPlanSelect.vue +229 -0
- package/src/components/android/CurrentCreateYy.vue +1051 -0
- 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/UserinfoSelect.vue +714 -0
- package/src/components/android/examples/410.png +0 -0
- package/src/components/android/examples/SafeListExamples.vue +279 -0
- package/src/components/android/examples/UserExamples.vue +137 -0
- package/src/components/android/examples/ViewDetailsExamples.vue +1235 -0
- package/src/components/android/examples/touxiang.png +0 -0
- package/src/components/pc/SafeVisitInfo.vue +261 -0
- package/src/components/rongcheng/AddPlanItem.vue +8 -0
- package/src/components/rongcheng/AspiratedUserInfo.vue +1 -1
- package/src/components/rongcheng/CheckSearchUser.vue +46 -16
- 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/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/bayan/android/AddPlanItem.vue +8 -0
- package/src/filiale/bayan/android/PaperFeedback.vue +63 -49
- package/src/filiale/bayan/android/PhoneUpUserinfo.vue +40 -40
- package/src/filiale/bayan/android/SafecheckOrderV.vue +58 -58
- package/src/filiale/bayan/android/SafecheckUserInfo.vue +5 -0
- 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/jingyang/android/AddPlanItem.vue +458 -458
- package/src/filiale/jingyang/android/CurrentCreate.vue +1080 -1080
- package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
- package/src/filiale/jingyang/android.js +15 -15
- package/src/filiale/kelai/pc/CheckPlanAreaList.vue +15 -7
- package/src/filiale/qianneng/android/SafecheckOrderV.vue +1 -1
- package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -0
- package/src/filiale/qingtongxia/android/CurrentCreate.vue +1053 -0
- package/src/filiale/qingtongxia/android/PhoneUpUserinfo.vue +1230 -0
- package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -0
- package/src/filiale/qingtongxia/android.js +14 -10
- 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/android/SafecheckOrderV.vue +1 -1
- package/src/filiale/shanxian/pc/checkUserList.vue +4 -4
- package/src/filiale/siyang/android/AddPlanItem.vue +450 -0
- package/src/filiale/siyang/android/AppCheckPlan.vue +246 -0
- package/src/filiale/siyang/android/CurrentCreate.vue +1051 -0
- package/src/filiale/siyang/android.js +15 -11
- package/src/filiale/siyang/pc/CheckBookList.vue +396 -0
- package/src/filiale/siyang/pc/CheckBookSearchArea.vue +667 -0
- package/src/filiale/siyang/pc/CheckPlanAreaList.vue +512 -0
- package/src/filiale/siyang/pc/CheckSearchUser.vue +1035 -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 +22 -16
- 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 +1 -1
- 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 +6 -2
- package/src/filiale/weinan/pc/CheckBookSearchUserList.vue +75 -62
- package/src/filiale/weinan/pc/CheckDetail.vue +11 -11
- 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 +49 -113
- package/src/filiale/weinan/pc.js +1 -0
- package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2240
- package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -592
- package/src/filiale/xilan/pc/checkUserList.vue +772 -0
- package/src/filiale/xilan/pc.js +12 -0
- package/src/filiale/yangchunboneng/android/SafecheckDevices.vue +10 -6
- package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +21 -1
- package/src/filiale/yangchunboneng/pc/CheckBookSearchUser.vue +23 -11
- package/src/filiale/yangchunboneng/pc/CheckBookUser.vue +6 -6
- package/src/filiale/yangchunboneng/pc/CheckPlanAreaList.vue +96 -30
- 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 +84 -10
- 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/main.js +34 -33
- package/src/safecheck-android.js +11 -0
- package/src/safecheck-page.js +12 -0
- package/src/safecheck.js +3 -0
@@ -0,0 +1,167 @@
|
|
1
|
+
<template>
|
2
|
+
<div id='app' class="basic-main" style="height: 100%">
|
3
|
+
<criteria-paged :model="model" :pager='false'>
|
4
|
+
<criteria partial='criteria' @condition-changed='$parent.search' class="search_area">
|
5
|
+
<div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
|
6
|
+
<div class="row">
|
7
|
+
<div class="col-sm-4 form-group">
|
8
|
+
<role-selector-safe role-name="安检员" role-lable="安 检 员" @re-res="$parent.$parent.getRes"
|
9
|
+
:value.sync="model.f_checker_id" v-model="model.f_checker_id" condition="f_checker_name like '%{}%'">
|
10
|
+
</role-selector-safe>
|
11
|
+
</div>
|
12
|
+
<div class="col-sm-2 form-group">
|
13
|
+
<label for="startDate" class="font_normal_body">开始日期:</label>
|
14
|
+
<datepicker id="startDate" placeholder="开始日期" v-model="model.startDate" :value.sync="model.startDate"
|
15
|
+
style="width: 60%;" :disabled-days-of-Week="[]" :format="'yyyy-MM-dd 00:00:00'"
|
16
|
+
:show-reset-button="reset">
|
17
|
+
</datepicker>
|
18
|
+
</div>
|
19
|
+
<div class="col-sm-2 form-group">
|
20
|
+
<label for="endDate" class="font_normal_body">结束日期:</label>
|
21
|
+
<datepicker id="endDate" placeholder="结束日期" v-model="model.endDate" :value.sync="model.endDate"
|
22
|
+
:disabled-days-of-Week="[]" style="width: 60%;" :format="'yyyy-MM-dd 23:59:59'"
|
23
|
+
:show-reset-button="reset">
|
24
|
+
</datepicker>
|
25
|
+
</div>
|
26
|
+
<div class="col-sm-4 form-group" style="margin-top: 8px">
|
27
|
+
<button class="button_search button_spacing" @click="search()">查询</button>
|
28
|
+
<report-print class="button_export button_spacing" style="width:28%" id='shexian'></report-print>
|
29
|
+
<report-excel class="button_export button_spacing" style="width:28%" id='shexian'></report-excel>
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
<div class="row">
|
33
|
+
<div class="col-sm-2 form-group">
|
34
|
+
<label class="font_normal_body">用气性质</label>
|
35
|
+
<v-select class="select_list select" placeholder='用气性质' style="width: 60%" v-model='model.userType'
|
36
|
+
:value.sync="model.userType" :options='$parent.$parent.userTypes' condition="tuf.f_gasproperties in {} "
|
37
|
+
:multiple="true"></v-select>
|
38
|
+
</div>
|
39
|
+
<div class="col-sm-2 form-group">
|
40
|
+
<label class="font_normal_body">气表类型</label>
|
41
|
+
<v-select class="select_list select" placeholder='气表类型' style="width: 60%" v-model='model.tableType'
|
42
|
+
:value.sync="model.tableType" :options='$parent.$parent.tableTypes'
|
43
|
+
condition="tuf.f_meter_classify = '{}'" :value-single="true" close-on-select clear-button></v-select>
|
44
|
+
</div>
|
45
|
+
<div class="col-sm-2 form-group">
|
46
|
+
<label class="font_normal_body">气表品牌</label>
|
47
|
+
<v-select class="select_list select" placeholder='气表类型' style="width: 60%" v-model='model.tableBrand'
|
48
|
+
:value.sync="model.tableBrand" :options='$parent.$parent.tableBrands'
|
49
|
+
condition="gb.f_meter_brand = '{}'" :value-single="true" close-on-select clear-button></v-select>
|
50
|
+
</div>
|
51
|
+
</div>
|
52
|
+
</div>
|
53
|
+
</criteria>
|
54
|
+
<div partial='list' id='shexian' class="list_area" style="overflow-y: scroll">
|
55
|
+
<table class='tableprint' style="margin: 0px auto">
|
56
|
+
<thead>
|
57
|
+
<tr>
|
58
|
+
<th colspan='5' style="font-weight: normal; text-align: left;">
|
59
|
+
<h3 style="text-align: center">隐患报表</h3>
|
60
|
+
</th>
|
61
|
+
</tr>
|
62
|
+
<tr>
|
63
|
+
<th colspan='5' style="font-weight: normal; text-align: center;">
|
64
|
+
隐患户数:{{ $parent.hiddenHouseholds }}
|
65
|
+
隐患发生数:{{ $parent.hiddenNumber }}
|
66
|
+
开始时间:{{ model.model.startDate }}
|
67
|
+
结束时间:{{ model.model.endDate }}
|
68
|
+
</th>
|
69
|
+
</tr>
|
70
|
+
</thead>
|
71
|
+
<tr>
|
72
|
+
<th colspan='5' style="font-weight: normal;">
|
73
|
+
{{{ model.data.substring(26, model.data.length - 8) }}}
|
74
|
+
</th>
|
75
|
+
</tr>
|
76
|
+
</table>
|
77
|
+
</div>
|
78
|
+
</criteria-paged>
|
79
|
+
</div>
|
80
|
+
|
81
|
+
</template>
|
82
|
+
|
83
|
+
<script>
|
84
|
+
import { DataModel, HttpResetClass } from 'vue-client'
|
85
|
+
|
86
|
+
export default {
|
87
|
+
title: '隐患报表',
|
88
|
+
data() {
|
89
|
+
|
90
|
+
let model = new DataModel('rs/report/hiddensituation', {
|
91
|
+
startDate: 'this.model.startDate',
|
92
|
+
endDate: 'this.model.endDate',
|
93
|
+
f_filialeid: 'this.f_filialeid'
|
94
|
+
})
|
95
|
+
model.f_filialeid = '(' + this.$login.f.orgid + ')'
|
96
|
+
return {
|
97
|
+
userTypes: [{ label: '全部', value: '' }, ...this.$appdata.getParam('用气性质')],
|
98
|
+
tableTypes: [{ label: '全部', value: '' }, ...this.$appdata.getParam('气表类型')],
|
99
|
+
tableBrands: [{ label: '全部', value: '' }],
|
100
|
+
filialeNameStr: '',
|
101
|
+
hiddenNumber: '',
|
102
|
+
hiddenHouseholds: '',
|
103
|
+
filialeCodeStr: '',
|
104
|
+
userid: this.$login.f.id,
|
105
|
+
source: `tool.getFullTree(this.getRights().where(row.getType() != $zone$).where(row.getType() == $organization$))`,
|
106
|
+
model: model
|
107
|
+
}
|
108
|
+
},
|
109
|
+
methods: {
|
110
|
+
search(args) {
|
111
|
+
this.model.search(args.condition, args.model)
|
112
|
+
let dateCondition
|
113
|
+
if (args.model.startDate && args.model.endDate) {
|
114
|
+
dateCondition = `f_offsite_time BETWEEN '${args.model.startDate}' AND '${args.model.endDate}'`
|
115
|
+
} else if (args.model.startDate) {
|
116
|
+
dateCondition = `f_offsite_time >= '${args.model.startDate}'`
|
117
|
+
} else if (args.model.endDate) {
|
118
|
+
dateCondition = `f_offsite_time <= '${args.model.endDate}'`
|
119
|
+
}
|
120
|
+
if (dateCondition){
|
121
|
+
this.getHiddenNumber(dateCondition)
|
122
|
+
this.getHiddenHouseholds(dateCondition)
|
123
|
+
}
|
124
|
+
},
|
125
|
+
getRes(obj) {
|
126
|
+
this.model.f_filialeid = this.$login.convertToIn(obj.resids)
|
127
|
+
},
|
128
|
+
getHiddenNumber(condition) {
|
129
|
+
new HttpResetClass().load("POST", `/rs/sql/defectDetails`,
|
130
|
+
{ data: { condition: condition } },
|
131
|
+
{ resolveMsg: null, rejectMsg: null }).then(resp => {
|
132
|
+
this.$set('hiddenNumber',resp.data.length)
|
133
|
+
})
|
134
|
+
},
|
135
|
+
getHiddenHouseholds(condition) {
|
136
|
+
new HttpResetClass().load("POST", `/rs/sql/safe_singleTable_GroupBy`,
|
137
|
+
{ data: { items: "f_userinfoid", tablename: "t_check_paper", groupitem: "f_userinfoid", condition: ` f_defect_content LIKE '%有隐患%' and ${condition}` } },
|
138
|
+
{ resolveMsg: null, rejectMsg: null }).then(resp => {
|
139
|
+
this.$set('hiddenHouseholds',resp.data.length)
|
140
|
+
})
|
141
|
+
},
|
142
|
+
getTableBrands() {
|
143
|
+
new HttpResetClass().load("POST", `/rs/sql/safe_singleTable_OrderBy`,
|
144
|
+
{ data: { items: "*", tablename: "t_gasbrand", orderitem: "id", condition: ` 1=1 ` } },
|
145
|
+
{ resolveMsg: null, rejectMsg: null }).then((resp) => {
|
146
|
+
resp.data.forEach((result) => {
|
147
|
+
this.tableBrands.push({ label: result.f_meter_brand, value: result.f_meter_brand })
|
148
|
+
})
|
149
|
+
})
|
150
|
+
},
|
151
|
+
},
|
152
|
+
ready() {
|
153
|
+
this.getTableBrands()
|
154
|
+
},
|
155
|
+
computed: {
|
156
|
+
selected() {
|
157
|
+
return this.$refs.grid.selected
|
158
|
+
}
|
159
|
+
// outlets () {
|
160
|
+
// return [{label: '全部', value: ''}, ...AppData.getParam('营业网点')]
|
161
|
+
// },
|
162
|
+
// operator () {
|
163
|
+
// return [{label: '全部', value: ''}, ...AppData.getParam('操作员')]
|
164
|
+
// }
|
165
|
+
}
|
166
|
+
}
|
167
|
+
</script>
|
@@ -0,0 +1,367 @@
|
|
1
|
+
<template>
|
2
|
+
<div>
|
3
|
+
<criteria-paged :model="model" v-ref:paged>
|
4
|
+
<criteria partial='criteria' @condition-changed='$parent.selfSearch' v-ref:criteria>
|
5
|
+
<div partial>
|
6
|
+
<div class="row">
|
7
|
+
<label class="form-group font_normal_body"><b>计划信息</b></label>
|
8
|
+
<div class="form-group col-sm-1" v-show="false">
|
9
|
+
<!--隐藏条件-->
|
10
|
+
<input type="text" class="input_search" v-model="model.f_plan_id"
|
11
|
+
style="width: 95%" placeholder="计划id" condition=" i.f_plan_id='{}'">
|
12
|
+
</div>
|
13
|
+
<div class="form-group col-sm-1" >
|
14
|
+
<input type="text" class="input_search" v-model="model.f_userinfo_code"
|
15
|
+
style="width: 95%" placeholder="客户编号" condition="i.f_userinfo_code='{}'">
|
16
|
+
</div>
|
17
|
+
<div class="form-group col-sm-1" >
|
18
|
+
<input type="text" class="input_search" v-model="model.f_user_name"
|
19
|
+
style="width: 95%" placeholder="客户名称" condition="i.f_user_name like '%{}%'">
|
20
|
+
</div>
|
21
|
+
<div class="form-group col-sm-1" >
|
22
|
+
<input type="text" class="input_search" v-model="model.f_address"
|
23
|
+
style="width: 95%" placeholder="客户地址" condition="i.f_address like '%{}%'">
|
24
|
+
</div>
|
25
|
+
<!--<div class="form-group col-sm-1" >
|
26
|
+
<v-select :width="'95%'"
|
27
|
+
class="select select_list"
|
28
|
+
:value.sync="$parent.$parent.f_state"
|
29
|
+
v-model="$parent.$parent.f_state"
|
30
|
+
:options='$parent.$parent.checkState'
|
31
|
+
placeholder='安检状态'
|
32
|
+
close-on-select
|
33
|
+
value-single
|
34
|
+
>
|
35
|
+
</v-select>
|
36
|
+
</div>-->
|
37
|
+
<div class="form-group col-sm-3" >
|
38
|
+
<button class="button_new" style="margin-right: 10px" @click="$parent.$parent.showUserCondition()">更多条件</button>
|
39
|
+
<button class="button_search" style="margin-right: 10px" @click="search()">查询</button>
|
40
|
+
<!-- <button class="button_search" style="margin-right: 10px" @click="clear()">清除</button>-->
|
41
|
+
<export-excel-safe :data="$parent.$parent.exportParameter"
|
42
|
+
:field="$parent.$parent.exportExcelField"
|
43
|
+
style="margin-left: 0px"
|
44
|
+
sqlurl="rs/logic/SafeExportExcel" sql-name="planItem"
|
45
|
+
:template-name="$parent.$parent.selectplan.f_plan_name + '安检计划导出'" :choose-col="true">
|
46
|
+
</export-excel-safe>
|
47
|
+
</div>
|
48
|
+
<div class="form-group col-sm-2 safe_p">
|
49
|
+
<label class="font_normal_body" :title="$parent.$parent.selectplan.f_plan_name">{{$parent.$parent.selectplan.f_plan_name?'当前选中 : '+$parent.$parent.selectplan.f_plan_name:''}}</label>
|
50
|
+
</div>
|
51
|
+
<div class="form-group col-sm-2" style="float: right">
|
52
|
+
<button class="button_search" style="margin-right: 10px" @click="$parent.$parent.showplanModal()">计划调整</button>
|
53
|
+
<button class="button_search" style="margin-right: 10px" @click="$parent.$parent.delPlanItem()" v-show="$parent.$parent.isdelete">移出计划</button>
|
54
|
+
</div>
|
55
|
+
<modal :show.sync="$parent.$parent.showCondtion" v-ref:modal :width="'50%'" :backdrop="false">
|
56
|
+
<div slot="modal-header" class="modal-header">
|
57
|
+
<h4 class="modal-title">
|
58
|
+
计划内用户查询条件
|
59
|
+
</h4>
|
60
|
+
</div>
|
61
|
+
<div slot="modal-body" class="modal-body">
|
62
|
+
<div class="row">
|
63
|
+
<div class="form-group col-sm-4" >
|
64
|
+
<label class="font_normal_body">是否已检:</label>
|
65
|
+
<v-select
|
66
|
+
class="select select_list"
|
67
|
+
:value.sync="model.f_state"
|
68
|
+
v-model="model.f_state"
|
69
|
+
:options='$parent.$parent.checkState'
|
70
|
+
@change="$parent.$parent.checkStateChange(model.f_state)"
|
71
|
+
placeholder='请选择'
|
72
|
+
condition="i.f_state='{}'"
|
73
|
+
close-on-select
|
74
|
+
value-single
|
75
|
+
>
|
76
|
+
</v-select>
|
77
|
+
</div>
|
78
|
+
<div class="form-group col-sm-4" >
|
79
|
+
<label class="font_normal_body">安检结果:</label>
|
80
|
+
<v-select
|
81
|
+
class="select_list select"
|
82
|
+
placeholder='请选择' style="width: 60%"
|
83
|
+
v-model='model.f_check_state'
|
84
|
+
:value.sync="model.f_check_state"
|
85
|
+
:options='$parent.$parent.checkResults'
|
86
|
+
condition="i.f_last_check_state in {} "
|
87
|
+
:multiple="true"
|
88
|
+
></v-select>
|
89
|
+
</div>
|
90
|
+
<div class="form-group col-sm-4" >
|
91
|
+
<label class="font_normal_body">安检起始:</label>
|
92
|
+
<datepicker
|
93
|
+
placeholder='请选择'
|
94
|
+
style="width:60%"
|
95
|
+
:disabled-days-of-week="[]"
|
96
|
+
:format="'yyyy-MM-dd'"
|
97
|
+
:show-rest-button="reset"
|
98
|
+
:value.sync="model.f_startfile_time"
|
99
|
+
v-model="model.f_startfile_time"
|
100
|
+
condition="i.f_last_check_date >='{} 00:00:00'">
|
101
|
+
</datepicker>
|
102
|
+
</div>
|
103
|
+
<div class="form-group col-sm-4" >
|
104
|
+
<label class="font_normal_body">安检截止:</label>
|
105
|
+
<datepicker
|
106
|
+
placeholder='请选择'
|
107
|
+
:disabled-days-of-week="[]"
|
108
|
+
style="width:60%"
|
109
|
+
:format="'yyyy-MM-dd'"
|
110
|
+
:show-rest-button="reset"
|
111
|
+
:value.sync="model.f_endfile_time"
|
112
|
+
v-model="model.f_endfile_time"
|
113
|
+
condition="i.f_last_check_date <='{} 00:00:00'">
|
114
|
+
</datepicker>
|
115
|
+
</div>
|
116
|
+
</div>
|
117
|
+
</div>
|
118
|
+
<div slot="modal-footer" class="modal-footer" style="text-align: center">
|
119
|
+
<button class="button_search" style="margin-right: 15px" @click="search()">查询</button>
|
120
|
+
<button class="button_search" @click="$parent.$parent.cancel">取消</button>
|
121
|
+
</div>
|
122
|
+
</modal>
|
123
|
+
</div>
|
124
|
+
</div>
|
125
|
+
</criteria>
|
126
|
+
<data-grid :model="model" partial='list' class="table_sy">
|
127
|
+
|
128
|
+
<template partial='head'>
|
129
|
+
<tr>
|
130
|
+
<th><nobr><input type="checkbox" onClick="event.cancelBubble = true" :checked="$parent.$parent.$parent.checkAll" @change="$parent.$parent.$parent.setCheckAll()"/> 全选</nobr></th>
|
131
|
+
<th><nobr>用户编号</nobr></th>
|
132
|
+
<th><nobr>用户名称</nobr></th>
|
133
|
+
<th><nobr>用户电话</nobr></th>
|
134
|
+
<th><nobr>用户类型</nobr></th>
|
135
|
+
<th><nobr>小区名称</nobr></th>
|
136
|
+
<th><nobr>安检状态</nobr></th>
|
137
|
+
<th><nobr>地址</nobr></th>
|
138
|
+
</tr>
|
139
|
+
</template>
|
140
|
+
<template partial='body'>
|
141
|
+
<td style="text-align: center;white-space:nowrap;"><input type="checkbox" onClick="event.cancelBubble = true" :checked="$parent.$parent.$parent.isChecked(row.f_check_item_id)" @change="$parent.$parent.$parent.setCheckes(row.f_check_item_id)" /></td>
|
142
|
+
<td style="text-align: center"><nobr>{{row.f_userinfo_code}}</nobr></td>
|
143
|
+
<td style="text-align: center"><nobr>{{row.f_user_name}}</nobr></td>
|
144
|
+
<td style="text-align: center"><nobr>{{row.f_user_phone}}</nobr></td>
|
145
|
+
<td style="text-align: center"><nobr>{{row.f_user_type}}</nobr></td>
|
146
|
+
<td style="text-align: center"><nobr>{{row.f_residential_area}}</nobr></td>
|
147
|
+
<td style="text-align: center"><nobr>{{row.f_state==='已检'?row.f_last_check_state:'未检'}}</nobr></td>
|
148
|
+
<td style="text-align: center"><nobr>{{row.f_address}}</nobr></td>
|
149
|
+
</template>
|
150
|
+
</data-grid>
|
151
|
+
</criteria-paged>
|
152
|
+
<modal :show.sync="showPlanModal" v-ref:modalp>
|
153
|
+
<div slot="modal-header" class="modal-header">
|
154
|
+
<h4 class="modal-title">
|
155
|
+
计划内用户调整
|
156
|
+
</h4>
|
157
|
+
</div>
|
158
|
+
<div slot="modal-body" class="modal-body">
|
159
|
+
<plan-chooser :f.sync="userlogin.orgid" v-ref:chooser></plan-chooser>
|
160
|
+
</div>
|
161
|
+
<div slot="modal-footer" class="modal-footer" style="text-align: center">
|
162
|
+
<button class="button_search" style="margin-right: 15px" @click="dragtoOtherPlanIteem">确认</button>
|
163
|
+
<button class="button_search" @click="cancel">取消</button>
|
164
|
+
</div>
|
165
|
+
</modal>
|
166
|
+
</div>
|
167
|
+
</template>
|
168
|
+
|
169
|
+
<script>
|
170
|
+
import {HttpResetClass, PagedList} from "vue-client";
|
171
|
+
import Vue from "vue";
|
172
|
+
|
173
|
+
export default {
|
174
|
+
name: "PlanManage",
|
175
|
+
title: '计划管理',
|
176
|
+
data() {
|
177
|
+
return {
|
178
|
+
model:new PagedList('/rs/sql/planItem', 100, {}),
|
179
|
+
isdelete:this.$login.r ? this.$login.r.includes("安检计划删除"):false,
|
180
|
+
a:'1',
|
181
|
+
opt:[{label:"测试",value:"测试"}],
|
182
|
+
showCondtion:false,
|
183
|
+
checkAll:false,
|
184
|
+
checkes:[],
|
185
|
+
checkResults:[{label:'到访不遇',value:'到访不遇'},{label:'拒检',value:'拒检'},{label:'入户',value:'入户'}],
|
186
|
+
checkState:[{label:'全部',value:''},{label:'未检',value:'未检'},{label:'已检',value:'已检'}],
|
187
|
+
showPlanModal:false,
|
188
|
+
exportExcelField: {
|
189
|
+
'f_userinfo_code':'用户编号',
|
190
|
+
'f_user_name':'用户名称',
|
191
|
+
'f_user_type':'用户类型',
|
192
|
+
'f_residential_area':'小区名称',
|
193
|
+
'f_state':'安检状态',
|
194
|
+
'f_address':'地址',
|
195
|
+
'f_user_phone':'用户电话',
|
196
|
+
'f_newfile_date':'建档日期'
|
197
|
+
}
|
198
|
+
}
|
199
|
+
},
|
200
|
+
props:["selectplan","userlogin"],
|
201
|
+
ready(){
|
202
|
+
|
203
|
+
},
|
204
|
+
computed:{
|
205
|
+
exportParameter(){
|
206
|
+
// excel 导出条件拼接
|
207
|
+
return {
|
208
|
+
condition: this.$refs.paged.model.condition,
|
209
|
+
groupName: this.groupNameForSql
|
210
|
+
}
|
211
|
+
}
|
212
|
+
},
|
213
|
+
methods:{
|
214
|
+
clear(){
|
215
|
+
this.model.f_plan_id = '';
|
216
|
+
this.model.f_userinfo_code = '';
|
217
|
+
this.model.f_user_name = '';
|
218
|
+
this.model.f_address='';
|
219
|
+
|
220
|
+
},
|
221
|
+
//将某个计划下的一项拖到另一个计划
|
222
|
+
async dragtoOtherPlanIteem() {
|
223
|
+
//tag)
|
224
|
+
|
225
|
+
if (!this.$refs.modalp.$children[0].selectedRow.id) {
|
226
|
+
this.$showMessage("请选择需要调整到那个计划中!")
|
227
|
+
return
|
228
|
+
}
|
229
|
+
this.$parent.isSend=true
|
230
|
+
try{
|
231
|
+
let res=await new HttpResetClass().load("POST", "/rs/logic/UpCheckPlanItem", {
|
232
|
+
data:{
|
233
|
+
f_operator:this.userlogin.name,
|
234
|
+
f_plan_id:this.$refs.modalp.$children[0].selectedRow.id,
|
235
|
+
condition:this.model.condition,
|
236
|
+
switchCheckAll:true,
|
237
|
+
checkAll:this.checkAll,
|
238
|
+
param:this.checkes,
|
239
|
+
columnName: "i.id"
|
240
|
+
}
|
241
|
+
}, {resolveMsg: null, rejectMsg: null})
|
242
|
+
this.$parent.isSend=false
|
243
|
+
if(res.data.code==200){
|
244
|
+
this.$showMessage("更换安检计划成功!")
|
245
|
+
this.$parent.refreshPlan()
|
246
|
+
}else{
|
247
|
+
this.$showMessage("更换安检计划失败!")
|
248
|
+
}
|
249
|
+
}catch (e) {
|
250
|
+
this.$parent.isSend=false
|
251
|
+
this.$showMessage("更换安检计划失败!")
|
252
|
+
}
|
253
|
+
},
|
254
|
+
showplanModal(){
|
255
|
+
if(!this.selectplan || !this.selectplan.id){
|
256
|
+
this.$showMessage("请先打开一个计划再进行操作")
|
257
|
+
return
|
258
|
+
}
|
259
|
+
if(!this.checkAll && this.checkes.length==0){
|
260
|
+
this.$showMessage("请先在计划中勾选你要调整的用户!")
|
261
|
+
return
|
262
|
+
}
|
263
|
+
this.showPlanModal=true
|
264
|
+
},
|
265
|
+
showUserCondition(){
|
266
|
+
this.showCondtion=true
|
267
|
+
},
|
268
|
+
isChecked(v) {
|
269
|
+
// 如果全选,不在的按选中算,否则,在的按选中算
|
270
|
+
if (this.checkAll) {
|
271
|
+
return this.checkes.indexOf(v) == -1
|
272
|
+
} else {
|
273
|
+
return this.checkes.indexOf(v) != -1
|
274
|
+
}
|
275
|
+
},
|
276
|
+
setCheckAll() {
|
277
|
+
this.checkAll=this.checkAll?false:true;
|
278
|
+
// 全选改变后,清空选中数据
|
279
|
+
this.checkes = []
|
280
|
+
},
|
281
|
+
setCheckes(id) {
|
282
|
+
let index=this.checkes.indexOf(id)
|
283
|
+
if(index<0){
|
284
|
+
this.checkes.push(id)
|
285
|
+
}else{
|
286
|
+
this.checkes.splice(index,1)
|
287
|
+
}
|
288
|
+
},
|
289
|
+
cancel(){
|
290
|
+
this.showCondtion=false
|
291
|
+
this.showPlanModal=false
|
292
|
+
},
|
293
|
+
selfSearch (args) {
|
294
|
+
if(!this.selectplan.id){
|
295
|
+
this.$showMessage("请先选择一个计划!")
|
296
|
+
return
|
297
|
+
}
|
298
|
+
this.cancel()
|
299
|
+
this.checkes=[]
|
300
|
+
this.checkAll=false
|
301
|
+
args.condition+= ` and i.f_state!= '作废'`
|
302
|
+
this.model.search(args.condition, args.model, args.condValue)
|
303
|
+
},
|
304
|
+
checkStateChange(val){
|
305
|
+
if(val=='未检'){
|
306
|
+
this.checkResults=[]
|
307
|
+
this.$refs.paged.$refs.criteria.model.f_check_state=''
|
308
|
+
}else{
|
309
|
+
this.checkResults=[{label:'到访不遇',value:'到访不遇'},{label:'拒检',value:'拒检'},{label:'入户',value:'入户'}]
|
310
|
+
}
|
311
|
+
},
|
312
|
+
//修改计划项状态为作废
|
313
|
+
async delPlanItem() {
|
314
|
+
if(!this.selectplan || !this.selectplan.id){
|
315
|
+
this.$showMessage("请先打开一个计划再进行操作")
|
316
|
+
return
|
317
|
+
}
|
318
|
+
if(!this.checkAll && this.checkes.length==0){
|
319
|
+
this.$showMessage("请先在计划中勾选你要作废的用户!")
|
320
|
+
return
|
321
|
+
}
|
322
|
+
this.$showMessage("此操作无法撤回,确定要执行作废安检单操作吗?",['confirm','cancel']).then((button)=>{
|
323
|
+
if(button=='confirm'){
|
324
|
+
let resu=new HttpResetClass().load("POST", "/rs/logic/UpCheckPlanItemState", {
|
325
|
+
data: {
|
326
|
+
f_operator:this.userlogin.name,
|
327
|
+
condition:this.model.condition,
|
328
|
+
switchCheckAll:true,
|
329
|
+
checkAll:this.checkAll,
|
330
|
+
param:this.checkes,
|
331
|
+
columnName: "i.id"
|
332
|
+
}
|
333
|
+
}, {resolveMsg: null, rejectMsg: null}).then((resu)=>{
|
334
|
+
|
335
|
+
//tag)
|
336
|
+
if(resu.data.code==200){
|
337
|
+
this.$showMessage("移除安检单成功! 成功移除:"+resu.data.res.up+"条"+(resu.data.res.noup>0?"有"+resu.data.res.noup+"条已经不是 ‘未检’ 状态!":""))
|
338
|
+
//this.checkes=[]
|
339
|
+
//this.checkAll=false
|
340
|
+
this.$parent.refresh()
|
341
|
+
}else{
|
342
|
+
this.$showMessage("取消安检计划失败!")
|
343
|
+
}
|
344
|
+
})
|
345
|
+
}
|
346
|
+
})
|
347
|
+
}
|
348
|
+
},
|
349
|
+
watch:{
|
350
|
+
'selectplan.id' (){
|
351
|
+
//tag
|
352
|
+
if(this.selectplan.id){
|
353
|
+
this.$refs.paged.$refs.criteria.model.f_plan_id=this.selectplan.id
|
354
|
+
this.$refs.paged.$refs.criteria.search()
|
355
|
+
}
|
356
|
+
}
|
357
|
+
}
|
358
|
+
}
|
359
|
+
</script>
|
360
|
+
|
361
|
+
<style scoped>
|
362
|
+
.safe_p{
|
363
|
+
white-space: nowrap;
|
364
|
+
overflow: hidden;
|
365
|
+
text-overflow: ellipsis;
|
366
|
+
}
|
367
|
+
</style>
|
@@ -265,20 +265,6 @@
|
|
265
265
|
>
|
266
266
|
</v-select>
|
267
267
|
</div>
|
268
|
-
<div class="form-group col-sm-4" v-if="$parent.$parent.hasCheckBooks == '是'">
|
269
|
-
<label class="font_normal_body">安检册:</label>
|
270
|
-
<v-select
|
271
|
-
class="select select_list"
|
272
|
-
:value.sync="model.checkBook"
|
273
|
-
v-model="model.checkBook"
|
274
|
-
:options='$parent.$parent.checkBooks'
|
275
|
-
placeholder='请选择'
|
276
|
-
:search="false"
|
277
|
-
close-on-select
|
278
|
-
value-single
|
279
|
-
>
|
280
|
-
</v-select>
|
281
|
-
</div>
|
282
268
|
<div class="form-group col-sm-4" >
|
283
269
|
<label class="font_normal_body">通气起始:</label>
|
284
270
|
<datepicker
|
@@ -305,6 +291,25 @@
|
|
305
291
|
condition="ui.f_uservent_date <= '{} 23:59:59'">
|
306
292
|
</datepicker>
|
307
293
|
</div>
|
294
|
+
<div class="form-group col-sm-4">
|
295
|
+
<label class="font_normal_body">安检册:</label>
|
296
|
+
<v-select
|
297
|
+
class="select select_list"
|
298
|
+
:value.sync="model.checkBook"
|
299
|
+
v-model="model.checkBook"
|
300
|
+
:options='$parent.$parent.checkBooks'
|
301
|
+
placeholder='请选择'
|
302
|
+
:search="false"
|
303
|
+
close-on-select
|
304
|
+
value-single
|
305
|
+
>
|
306
|
+
</v-select>
|
307
|
+
</div>
|
308
|
+
<div class="form-group col-sm-4">
|
309
|
+
<label class="font_normal_body">安检时间:</label>
|
310
|
+
<input type="number" class="input_search" v-model="model.month"
|
311
|
+
style="width: 60%" placeholder="距上次安检时间(月)">
|
312
|
+
</div>
|
308
313
|
<!--<div class="form-group col-sm-4" >
|
309
314
|
<label class="font_normal_body">入户情况:</label>
|
310
315
|
<v-select
|
@@ -432,7 +437,6 @@
|
|
432
437
|
entry_status: this.$appdata.getParam('安检状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检状态')]:[{label: '全部', value: ''}],
|
433
438
|
sliceArea:[],
|
434
439
|
meterbooks:[],
|
435
|
-
hasCheckBooks:'否',
|
436
440
|
checkBooks:[],
|
437
441
|
cbc:[],
|
438
442
|
areaList:[],
|
@@ -446,9 +450,6 @@
|
|
446
450
|
props:["selectplan","userlogin"],
|
447
451
|
ready(){
|
448
452
|
this.$refs.paged.$refs.criteria.model.f_user_state='正常'
|
449
|
-
this.hasCheckBooks=this.$appdata.getSingleValue('是否使用安检册')
|
450
|
-
// this.$refs.paged.$refs.criteria.model.f_endfile_time=Util.toStartDateYearString()
|
451
|
-
//this.$refs.paged.$refs.criteria.model.f_hasHousehold='未入户'
|
452
453
|
this.getCheckBook()
|
453
454
|
this.setConList()
|
454
455
|
this.loadpage()
|
@@ -540,6 +541,9 @@
|
|
540
541
|
if(this.uploadCodeCondition){
|
541
542
|
args.condition +=` and ${this.uploadCodeCondition}`
|
542
543
|
}
|
544
|
+
if (args.model.month){
|
545
|
+
args.condition += ` and DATEDIFF(MONTH, ui.f_last_check_date, GETDATE()) = '${args.model.month}'`
|
546
|
+
}
|
543
547
|
this.cancel()
|
544
548
|
this.checkes=[]
|
545
549
|
this.checkAll=false
|
package/src/filiale/siyang/pc.js
CHANGED
@@ -1,16 +1,22 @@
|
|
1
|
-
// 分公司特殊组件页面注册
|
2
|
-
import Vue from "vue";
|
3
|
-
|
4
|
-
//手机特殊目录注册到该文件中
|
5
|
-
let specialComp = {
|
6
|
-
'plan-manage':(resolve) => { require(['./pc/PlanManage'], resolve) },
|
7
|
-
'
|
8
|
-
'
|
9
|
-
'check-
|
10
|
-
'
|
11
|
-
}
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
1
|
+
// 分公司特殊组件页面注册
|
2
|
+
import Vue from "vue";
|
3
|
+
|
4
|
+
//手机特殊目录注册到该文件中
|
5
|
+
let specialComp = {
|
6
|
+
'plan-manage':(resolve) => { require(['./pc/PlanManage'], resolve) },
|
7
|
+
'check-search-user':(resolve) => { require(['./pc/CheckSearchUser'], resolve) },
|
8
|
+
'check-plan-list':(resolve) => { require(['./pc/checkPlanList'], resolve) },
|
9
|
+
'check-plan-area-list':(resolve) => { require(['./pc/CheckPlanAreaList'], resolve) },
|
10
|
+
'hiddensituation':(resolve) => { require(['./pc/HiddenSituation'], resolve) },
|
11
|
+
'check-book-search-area':(resolve) => { require(['./pc/CheckBookSearchArea'], resolve) },
|
12
|
+
'paper-main':(resolve) => { require(['./pc/PaperList'], resolve) },
|
13
|
+
'new-check-paper':(resolve) => {require(['./pc/NewCheckpaper'], resolve)},
|
14
|
+
'check-user-list':(resolve) => { require(['./pc/checkUserList'], resolve) },
|
15
|
+
'paper-defect-main':(resolve) => { require(['./pc/PaperDefectMain'], resolve) },
|
16
|
+
'check-book-list':(resolve) => { require(['./pc/CheckBookList'], resolve) },
|
17
|
+
}
|
18
|
+
exports.specialComp = specialComp
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
|