safecheck-client 3.0.33-8 → 3.0.33-80

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/index.html +6 -2
  2. package/package.json +3 -3
  3. package/src/App.vue +31 -31
  4. package/src/components/Util/ImgSelfSafePlus.vue +12 -10
  5. package/src/components/android/CurrentCreate.vue +1 -1
  6. package/src/components/android/SafecheckOrderV.vue +3 -3
  7. package/src/components/paper/PaperList.vue +5 -4
  8. package/src/components/planmanage/PlanManage.vue +3 -2
  9. package/src/components/planmanage/checkPlanList.vue +2 -1
  10. package/src/components/planmanage/checkUserList.vue +34 -2
  11. package/src/components/report/CheckPlanCountChartArea.vue +5 -0
  12. package/src/components/report/HiddenSituation.vue +3 -3
  13. package/src/components/rongcheng/AspiratedPaperFeedbackm.vue +28 -1
  14. package/src/components/rongcheng/AspiratedPaperMessage.vue +1 -1
  15. package/src/components/rongcheng/DefectPaper.vue +1 -1
  16. package/src/components/rongcheng/PaperListNPSQ.vue +35 -1
  17. package/src/components/rongcheng/PaperListSQ.vue +32 -11
  18. package/src/components/rongcheng/PhoneUpUserinfo.vue +939 -802
  19. package/src/components/rongcheng/SafecheckOrderV.vue +1 -1
  20. package/src/components/rongcheng/report/CheckPlanAreaList.vue +1 -3
  21. package/src/filiale/Util.js +5 -0
  22. package/src/filiale/bayan/android/AddPlanItem.vue +12 -3
  23. package/src/filiale/bayan/android/SafecheckOrderV.vue +9 -5
  24. package/src/filiale/bayan/android/SafecheckUserInfo.vue +532 -508
  25. package/src/filiale/dexin/android/SafecheckDevices.vue +1 -1
  26. package/src/filiale/dexin/android/WebMeterOpen.vue +1 -1
  27. package/src/filiale/dexin/android/WebMeterOpenEdit.vue +25 -37
  28. package/src/filiale/fugou/android/SafecheckOrderV.vue +2796 -0
  29. package/src/filiale/fugou/android.js +2 -1
  30. package/src/filiale/fugou/pc/AddToCheckBook.vue +56 -119
  31. package/src/filiale/fugou/pc/CheckBook.vue +2 -0
  32. package/src/filiale/fugou/pc/CheckBookEntry.vue +47 -19
  33. package/src/filiale/fugou/pc/CheckBookList.vue +2 -2
  34. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +733 -574
  35. package/src/filiale/fugou/pc/CheckBookUser.vue +102 -45
  36. package/src/filiale/fugou/pc/DefectPaperNew.vue +10 -6
  37. package/src/filiale/fugou/pc/PaperDefectMain.vue +12 -6
  38. package/src/filiale/fugou/pc/PaperList.vue +14 -6
  39. package/src/filiale/fugou/pc/PlanManage.vue +62 -8
  40. package/src/filiale/fugou/pc/checkUserList.vue +222 -42
  41. package/src/filiale/hanzhong/pc/CheckHiddenDanger.vue +15 -5
  42. package/src/filiale/hanzhong/pc/CheckSafeDetail.vue +12 -2
  43. package/src/filiale/hanzhong/pc/CheckSafeStatus.vue +12 -3
  44. package/src/filiale/hanzhong/pc/CheckSearchUser.vue +13 -0
  45. package/src/filiale/hanzhong/pc/CheckUserList.vue +30 -11
  46. package/src/filiale/hanzhong/pc/CheckerSafeDetail.vue +11 -2
  47. package/src/filiale/jingyang/pc/ReportCheckItemList.vue +543 -0
  48. package/src/filiale/jingyang/pc.js +1 -0
  49. package/src/filiale/rongchuang/android/SafecheckDevices.vue +468 -748
  50. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +984 -1234
  51. package/src/filiale/rongchuang/android.js +1 -0
  52. package/src/filiale/rongchuang/pc/NewCheckpaper.vue +294 -305
  53. package/src/filiale/rongchuang/pc/PaperList.vue +812 -0
  54. package/src/filiale/rongchuang/pc.js +1 -0
  55. package/src/filiale/tongchuan/pc/checkUserList.vue +2 -2
  56. package/src/filiale/weinan/android/PaperFeedback.vue +8 -8
  57. package/src/filiale/weinan/android/SafecheckDevices.vue +1 -1
  58. package/src/filiale/weinan/android/SafecheckOrderV.vue +75 -26
  59. package/src/filiale/weinan/pc/CheckSearchUser.vue +1078 -0
  60. package/src/filiale/weinan/pc/DefectPaperNew.vue +7 -1
  61. package/src/filiale/weinan/pc.js +1 -0
  62. package/src/filiale/wensu/pc/CheckSearchUser.vue +2 -0
  63. package/src/filiale/wensu/pc/PrintMaterialBill.vue +172 -172
  64. package/src/filiale/wensu/pc/SelectCheckPlan.vue +342 -342
  65. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +651 -651
  66. package/src/filiale/yangchunboneng/android/CurrentCreate.vue +1 -1
  67. package/src/filiale/yangchunboneng/android/PhoneUpUserinfo.vue +1230 -0
  68. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2832 -2832
  69. package/src/filiale/yangchunboneng/android.js +1 -0
  70. package/src/filiale/yangchunboneng/pc/CheckBookUser.vue +28 -1
  71. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +1168 -1018
  72. package/src/filiale/yongzhou/android/SafecheckOrderV.vue +221 -256
  73. package/src/filiale/yongzhou/pc/CheckPlan.vue +59 -0
  74. package/src/filiale/yongzhou/pc/CheckSearchUser.vue +1 -1
  75. package/src/filiale/yongzhou/pc/DefectPaperNew.vue +1105 -0
  76. package/src/filiale/yongzhou/pc/NoCheckplanSafecheck.vue +412 -107
  77. package/src/filiale/yongzhou/pc/PaperDefectMain.vue +872 -0
  78. package/src/filiale/yongzhou/pc/PaperList.vue +1 -1
  79. package/src/filiale/yongzhou/pc/SelectCheckPlan.vue +364 -0
  80. package/src/filiale/yongzhou/pc/communityTypeDetailG.vue +55 -125
  81. package/src/filiale/yongzhou/pc/communityTypeDetailM.vue +94 -187
  82. package/src/filiale/yongzhou/pc/safeDetail.vue +311 -20
  83. package/src/filiale/yongzhou/pc/safeStatistics.vue +74 -24
  84. package/src/filiale/yongzhou/pc/safeStatisticsDay.vue +2 -2
  85. package/src/filiale/yongzhou/pc/safeStatisticsMonth.vue +2 -2
  86. package/src/filiale/yongzhou/pc/safeStatisticsYear.vue +47 -23
  87. package/src/filiale/yongzhou/pc/safeTable.vue +3 -3
  88. package/src/filiale/yongzhou/pc.js +4 -0
  89. package/src/filiale/yunchengminsheng/pc/checkUserList.vue +753 -753
  90. package/src/main.js +2 -2
  91. package/src/rongcheng.js +3 -1
@@ -13,37 +13,9 @@
13
13
  @re-res="$parent.$parent.getRes"
14
14
  :value.sync="model.f_checker_id"
15
15
  v-model="model.f_checker_id"
16
- condition="f_checker_name = '{}'">
16
+ condition="f_checker = '{}'">
17
17
  </role-selector-safe>
18
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
19
  <div class="form-group col-sm-3 form-input-group" style="width: 20%;">
48
20
  <label class="font_normal_body">用户类型</label>
49
21
  <v-select :value.sync="model.f_user_type" v-model='model.f_user_type'
@@ -51,13 +23,13 @@
51
23
  class="select_list select"
52
24
  :options='$parent.$parent.user_types' placeholder='用户类型'
53
25
  close-on-select
54
- condition="f_check_type = '{}'"></v-select>
26
+ condition="f_user_type = '{}'"></v-select>
55
27
  </div>
56
28
  <div class="col-sm-3 form-group form-input-group" style="width: 20%;float: right;">
57
29
  <print-data-safe :sum-field="$parent.$parent.excelHeaders" :model="$parent.$parent.print_model"
58
30
  :field="$parent.$parent.excelHeaders"
59
31
  :defaultfield="$parent.$parent.defaultPrint"
60
- :titletable="'无计划安检汇总'" :starthead="$parent.$parent.getstart"
32
+ :titletable="'安检员考核'" :starthead="$parent.$parent.getstart"
61
33
  ></print-data-safe>
62
34
  <export-excel-safe :data="$parent.$parent.searchData"
63
35
  :field="$parent.$parent.excelHeaders"
@@ -69,84 +41,277 @@
69
41
  <button type="button" name="button" class="button_search" style="margin-left: 9px" @click="search">查询</button>
70
42
  </div>
71
43
  </div>
44
+ <div class="row">
45
+ <div class="form-group col-sm-4">
46
+ <label class="font_normal_body">计划开始:</label>
47
+ <datepicker
48
+ placeholder='计划开始'
49
+ style="width:60%"
50
+ :disabled-days-of-week="[]"
51
+ :format="'yyyy-MM-dd'"
52
+ :show-rest-button="reset"
53
+ :value.sync="model.start_time"
54
+ v-model="model.start_time"
55
+ condition="tcp.f_create_time >= '{} 00:00:00'">
56
+ </datepicker>
57
+ </div>
58
+ <div class="form-group col-sm-4">
59
+ <label class="font_normal_body">计划结束:</label>
60
+ <datepicker
61
+ placeholder='计划结束'
62
+ :disabled-days-of-week="[]"
63
+ style="width:60%"
64
+ :format="'yyyy-MM-dd'"
65
+ :show-rest-button="reset"
66
+ :value.sync="model.end_time"
67
+ v-model="model.end_time"
68
+ condition="tcp.f_create_time <= '{} 23:59:59'">
69
+ </datepicker>
70
+ </div>
71
+ </div>
72
+ <div class="row">
73
+ <div class="col-sm-4 form-group">
74
+ <label for="startDate" class="font_normal_body">安检开始:</label>
75
+ <datepicker id="startDate" placeholder="安检开始"
76
+ v-model="model.checkstart"
77
+ :value.sync="model.checkstart"
78
+ style="width: 60%;"
79
+ :disabled-days-of-Week="[]"
80
+ :format="'yyyy-MM-dd 00:00:00'"
81
+ condition="tcpi.f_last_check_date >= '{}'"
82
+ :show-reset-button="reset">
83
+ </datepicker>
84
+ </div>
85
+ <div class="col-sm-4 form-group">
86
+ <label for="endDate" class="font_normal_body">安检结束:</label>
87
+ <datepicker id="endDate" placeholder="安检结束"
88
+ v-model="model.checkend"
89
+ :value.sync="model.checkend"
90
+ :disabled-days-of-Week="[]"
91
+ style="width: 60%;"
92
+ condition="tcpi.f_last_check_date <= '{}'"
93
+ :format="'yyyy-MM-dd 23:59:59'"
94
+ :show-reset-button="reset">
95
+ </datepicker>
96
+ </div>
97
+ </div>
72
98
  </div>
73
99
  </criteria>
74
100
  <data-grid :model="model" partial='list' class="list_area table_sy" id="tongchuan" v-ref:grid >
75
101
  <template partial='head'>
76
102
  <tr>
77
- <!-- <th>-->
78
- <!-- <nobr>序号</nobr>-->
79
- <!-- </th>-->
80
- <!-- <th>-->
81
- <!-- <nobr>安检月份</nobr>-->
82
- <!-- </th>-->
103
+ <th>
104
+ <nobr>序号</nobr>
105
+ </th>
83
106
  <th>
84
107
  <nobr>安检员</nobr>
85
108
  </th>
86
109
  <th>
87
- <nobr>已检</nobr>
110
+ <nobr>计划安检总户数</nobr>
111
+ </th>
112
+ <th>
113
+ <nobr>未检户数</nobr>
114
+ </th>
115
+ <th>
116
+ <nobr>已检户数</nobr>
88
117
  </th>
89
118
  <th>
90
- <nobr>入户</nobr>
119
+ <nobr>入户户数</nobr>
91
120
  </th>
92
121
  <th>
93
- <nobr>到访不遇</nobr>
122
+ <nobr>三次到访不遇户数</nobr>
94
123
  </th>
95
124
  <th>
96
- <nobr>拒检</nobr>
125
+ <nobr>拒检户数</nobr>
97
126
  </th>
98
- <!-- <th>-->
99
- <!-- <nobr>隐患数</nobr>-->
100
- <!-- </th>-->
101
127
  <th>
102
- <nobr>入户率</nobr>
128
+ <nobr>安检率</nobr>
129
+ </th>
130
+ <th>
131
+ <nobr>申请安检户数</nobr>
132
+ </th>
133
+ <th>
134
+ <nobr>总入户数</nobr>
103
135
  </th>
104
136
  </tr>
105
137
  </template>
106
138
  <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>
139
+
140
+ <td style="text-align: center">{{ $index + 1 }}</td>
141
+ <td style="text-align: center">{{ row.checker }}</td>
142
+ <td style="text-align: center"><a @click="$parent.$parent.$parent.modalShow(row,'1')">{{ row.data1 }}</a></td>
143
+ <td style="text-align: center">{{ row.data2 }}</td>
144
+ <td style="text-align: center">{{ row.data3 }}</td>
145
+ <td style="text-align: center">{{ row.data4 }}</td>
146
+ <td style="text-align: center">{{ row.data5 }}</td>
147
+ <td style="text-align: center">{{ row.data6 }}</td>
148
+ <td style="text-align: center">{{ row.data7 }}</td>
149
+ <td style="text-align: center"><a @click="$parent.$parent.$parent.modalShow(row,'0')">{{ row.data8 }}</a></td>
150
+ <td style="text-align: center">{{ row.data9 }}</td>
134
151
  </template>
135
152
  <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>
153
+ <td style="text-align: center" colspan="2"><span><b>合计:</b></span></td>
154
+ <td style="text-align: center">{{ model.sums.data1 }}</td>
155
+ <td style="text-align: center">{{ model.sums.data2 }}</td>
156
+ <td style="text-align: center">{{ model.sums.data3 }}</td>
157
+ <td style="text-align: center">{{ model.sums.data4 }}</td>
158
+ <td style="text-align: center">{{ model.sums.data5 }}</td>
159
+ <td style="text-align: center">{{ model.sums.data6 }}</td>
160
+ <td style="text-align: center">{{ (model.sums.data3/model.sums.data1 * 100.0).toFixed(2)}}%</td>
161
+ <td style="text-align: center">{{ model.sums.data8 }}</td>
162
+ <td style="text-align: center">{{ model.sums.data9 }}</td>
145
163
  </template>
146
164
  </data-grid>
147
165
  </criteria-paged>
148
166
  </div>
149
167
  </section>
168
+ <modal :show.sync="modal_show" backdrop="false"
169
+ class="allQuotaRecordModalShow" width="80%">
170
+ <header slot="modal-header" class="modal-header" style="text-align: center">
171
+ </header>
172
+ <article slot="modal-body" class="modal-body">
173
+ <criteria-paged :model="modalModel" v-ref:paged2>
174
+ <criteria partial='criteria' class="search_area" v-ref:criteria2>
175
+ <div partial>
176
+ <div class="row">
177
+ <div class="form-group col-sm-4">
178
+ <label class="font_normal_body">开始时间</label>
179
+ <datepicker
180
+ placeholder='请选择'
181
+ style="width:60%"
182
+ :disabled-days-of-week="[]"
183
+ :format="'yyyy-MM-dd'"
184
+ :show-rest-button="reset"
185
+ :value.sync="$parent.$parent.modalSearchData.start_time"
186
+ v-model="$parent.$parent.modalSearchData.start_time"
187
+ >
188
+ </datepicker>
189
+ </div>
190
+ <div class="form-group col-sm-4">
191
+ <label class="font_normal_body">结束时间</label>
192
+ <datepicker
193
+ placeholder='请选择'
194
+ :disabled-days-of-week="[]"
195
+ style="width:60%"
196
+ :format="'yyyy-MM-dd'"
197
+ :show-rest-button="reset"
198
+ :value.sync="$parent.$parent.$parent.modalSearchData.end_time"
199
+ v-model="$parent.$parent.$parent.modalSearchData.end_time">
200
+ </datepicker>
201
+ </div>
202
+ <div class="col-sm-4 form-group">
203
+ <label class="font_normal_body">用户编号</label>
204
+ <input style="width: 60%" class="input_search" v-model="$parent.$parent.$parent.modalSearchData.f_userinfo_code">
205
+ </div>
206
+ <div class="col-sm-4 form-group">
207
+ <label class="font_normal_body">用户名称</label>
208
+ <input style="width: 60%" class="input_search" v-model="$parent.$parent.$parent.modalSearchData.f_user_name">
209
+ </div>
210
+ <div class="col-sm-4 form-group">
211
+ <label class="font_normal_body">用户地址</label>
212
+ <input style="width: 60%" class="input_search" v-model="$parent.$parent.$parent.modalSearchData.f_address">
213
+ </div>
214
+ <div class="col-sm-4 form-group">
215
+ <label class="font_normal_body">用户电话</label>
216
+ <input style="width: 60%" class="input_search" v-model="$parent.$parent.$parent.modalSearchData.f_user_phone">
217
+ </div>
218
+ <div class="col-sm-4 form-group">
219
+ <label class="font_normal_body">小区</label>
220
+ <input style="width: 60%" class="input_search" v-model="$parent.$parent.$parent.modalSearchData.f_residential_area">
221
+ </div>
222
+ <div class="col-sm-4 form-group">
223
+ <label class="font_normal_body">安&nbsp;检&nbsp;员</label>
224
+ <input style="width: 60%" class="input_search" v-model="$parent.$parent.$parent.modalSearchData.f_checker">
225
+ </div>
226
+ <div class="col-sm-4 form-group">
227
+ <label class="font_normal_body">安检状态</label>
228
+ <v-select :value.sync="$parent.$parent.$parent.modalSearchData.f_last_check_state" v-model='$parent.$parent.$parent.modalSearchData.f_last_check_state'
229
+ :value-single="true" style="width: 60%"
230
+ class="select_list select"
231
+ :options='$parent.$parent.$parent.last_check_states' placeholder='安检状态'
232
+ close-on-select
233
+ ></v-select>
234
+ </div>
235
+ <div class="form-group col-sm-4">
236
+ <label class="font_normal_body">用户类型</label>
237
+ <v-select :value.sync="$parent.$parent.$parent.modalSearchData.f_user_type" v-model='$parent.$parent.$parent.modalSearchData.f_user_type'
238
+ :value-single="true" style="width: 60%"
239
+ class="select_list select"
240
+ :options='$parent.$parent.$parent.user_types' placeholder='用户类型'
241
+ close-on-select
242
+ ></v-select>
243
+ </div>
244
+ <div class="col-sm-4 form-group">
245
+ <label class="font_normal_body">到访次数</label>
246
+ <input style="width: 60%" class="input_search" v-model="$parent.$parent.$parent.modalSearchData.f_check_version">
247
+ </div>
248
+ <div style="float: right">
249
+ <button class="button_spacing button_search" @click="$parent.$parent.$parent.modalSearch()">查询</button>
250
+ <export-excel-safe :data="$parent.$parent.$parent.modalSearchExcelData"
251
+ :field="$parent.$parent.$parent.modalExcelHeaders"
252
+ progress="safeGetExportProgress"
253
+ sqlurl="rs/logic/SafeExportExcel" sql-name="safe_singleTable_OrderBy" template-name='安检情况明细'
254
+ :choose-col="true"></export-excel-safe>
255
+ </div>
256
+ </div>
257
+ </div>
258
+ </criteria>
259
+ <data-grid class="list_area table_sy" :model="$parent.$parent.modalModel" v-ref:modalgrid partial='list'>
260
+ <template partial='head'>
261
+ <th>
262
+ <nobr>用户编号</nobr>
263
+ </th>
264
+ <th>
265
+ <nobr>用户名称</nobr>
266
+ </th>
267
+ <th>
268
+ <nobr>小区</nobr>
269
+ </th>
270
+ <th>
271
+ <nobr>地址</nobr>
272
+ </th>
273
+ <th>
274
+ <nobr>客户电话</nobr>
275
+ </th>
276
+ <th>
277
+ <nobr>到访不遇次数</nobr>
278
+ </th>
279
+ <th>
280
+ <nobr>安检时间</nobr>
281
+ </th>
282
+ <th>
283
+ <nobr>安检员</nobr>
284
+ </th>
285
+ <th>
286
+ <nobr>计划名称</nobr>
287
+ </th>
288
+ <th>
289
+ <nobr>用户类型</nobr>
290
+ </th>
291
+ <th>
292
+ <nobr>安检状态</nobr>
293
+ </th>
294
+ </template>
295
+ <template partial='body'>
296
+ <td style="text-align:center">{{row.f_userinfo_code}}</td>
297
+ <td style="text-align:center">{{row.f_user_name }}</td>
298
+ <td style="text-align:center">{{row.f_residential_area}}</td>
299
+ <td style="text-align:center">{{row.f_address}}</td>
300
+ <td style="text-align:center">{{row.f_user_phone}}</td>
301
+ <td style="text-align:center">{{row.f_check_version}}</td>
302
+ <td style="text-align:center">{{row.f_last_check_date}}</td>
303
+ <td style="text-align:center">{{row.f_checker}}</td>
304
+ <td style="text-align:center">{{row.f_plan_name}}</td>
305
+ <td style="text-align:center">{{row.f_user_type}}</td>
306
+ <td style="text-align:center">{{row.f_last_check_state}}</td>
307
+ </template>
308
+ </data-grid>
309
+ </criteria-paged>
310
+ </article>
311
+ <footer slot="modal-footer" class="modal-footer">
312
+ <button type="button" class="btn btn-default" @click='modal_show = false'>关闭</button>
313
+ </footer>
314
+ </modal>
150
315
  </div>
151
316
  </template>
152
317
  <script>
@@ -154,13 +319,46 @@ import {PagedList, HttpResetClass} from 'vue-client'
154
319
  import * as Util from '../../Util'
155
320
 
156
321
  export default {
157
- title: '无计划安检汇总',
322
+ title: '安检员考核',
158
323
  data () {
159
324
  let model = new PagedList('rs/sql/SafecheckSummary', 20, {
160
325
  f_filiale_id: 'this.f_filiale_id'
161
- },{yijian:'',ruhu:'',daofang:'',jujian:'',yinhuan:''})
326
+ },{data1:'',data2:'',data3:'',data4:'',data5:'',data6:'',data8:'',data9:''})
162
327
  model.f_filiale_id = `('${this.$login.f.orgid}')`
163
328
  return {
329
+ modal_show:false,
330
+ modalModel: new PagedList('rs/sql/safe_singleTable_OrderBy', 15, {
331
+ items: '"tcpi.*,tcp.f_checker,tcp.f_plan_name"',
332
+ tablename: '"t_check_plan_item tcpi left join t_check_plan tcp on tcpi.f_plan_id = tcp.id"',
333
+ orderitem: '"1"'
334
+ }),
335
+ modalModel2: new PagedList('rs/sql/safe_singleTable_OrderBy', 15, {
336
+ items: '"*,f_offsite_time as f_last_check_date,f_checker_name as f_checker,f_check_type as f_user_type,f_entry_status as f_last_check_state"',
337
+ tablename: '"t_check_paper"',
338
+ orderitem: '"1"'
339
+ }),
340
+ modalSearchData:{},
341
+ modalSearchExcelData:{
342
+ items: "tcpi.*,tcp.f_checker,tcp.f_plan_name",
343
+ tablename: "t_check_plan_item tcpi left join t_check_plan tcp on tcpi.f_plan_id = tcp.id",
344
+ orderitem: "f_userinfo_code"
345
+ },
346
+ modalExcelHeaders:{
347
+ 'f_userinfo_code': '用户编号',
348
+ 'f_user_name': '用户名称',
349
+ 'f_residential_area': '小区',
350
+ 'f_address': '地址',
351
+ 'f_user_phone': '客户电话',
352
+ 'f_check_version': '到访不遇次数',
353
+ 'f_last_check_date': '安检时间',
354
+ 'f_checker': '安检员',
355
+ 'f_plan_name':"计划名称",
356
+ 'f_user_type': '用户类型',
357
+ 'f_last_check_state': '安检状态'
358
+ },
359
+ type:'',
360
+ modalRow:{},
361
+ last_check_states:[{label:'全部',value:''},{label:'入户',value:'入户'},{label:'拒检',value:'拒检'},{label:'到访不遇',value:'到访不遇'}],
164
362
  user_types: [{label:'全部',value:''},{label:'民用',value:'民用'},{label:'非民用',value:'非民用'}],
165
363
  f_filiale_id: `('${this.$login.f.orgid}')`, // 分公司id
166
364
  model: model,
@@ -169,60 +367,167 @@ export default {
169
367
  orgname: '',
170
368
  // checker:{},
171
369
  searchData: {
172
- condition: '',
370
+ condition: {
371
+ condition1 : '1=1',
372
+ condition2 : `1=1 and f_entry_status = '入户'`
373
+ },
173
374
  f_filiale_id: ''
174
375
  },
175
376
  print_model:{},
176
377
  excelHeaders: {
177
- 'f_checker_name': '安检员',
178
- 'yijian': '已检',
179
- 'ruhu': '入户',
180
- 'daofang': '到访不遇',
181
- 'jujian': '拒检',
182
- 'ruhu_bv': '入户率'
378
+ 'checker': '安检员',
379
+ 'data1': '计划安检总户数',
380
+ 'data2': '未检户数',
381
+ 'data3': '已检户数',
382
+ 'data4': '入户户数',
383
+ 'data5': '三次到访不遇户数',
384
+ 'data6': '拒检户数',
385
+ 'data7': '安检率',
386
+ 'data8': '申请安检户数',
387
+ 'data9': '总入户数'
183
388
  },
184
- defaultPrint: ['f_checker_name', 'yijian', 'ruhu', 'daofang', 'jujian', 'ruhu_bv'],
389
+ defaultPrint: ['checker','data1','data2','data3','data4','data5','data6','data7','data8','data9'],
185
390
 
186
391
  }
187
392
  },
188
393
  methods: {
394
+ async modalShow (row,type) {
395
+ this.type = type
396
+ this.modalRow = row
397
+ this.modal_show = true
398
+ this.modalSearchData = {}
399
+ await this.modalSearch(row)
400
+ },
401
+ modalSearch () {
402
+ this.modalModel = new PagedList('rs/sql/safe_singleTable_OrderBy', 15, {
403
+ items: '"tcpi.*,tcp.f_checker,tcp.f_plan_name"',
404
+ tablename: '"t_check_plan_item tcpi left join t_check_plan tcp on tcpi.f_plan_id = tcp.id"',
405
+ orderitem: '"1"'
406
+ })
407
+ let modalCondition = '1=1'
408
+ if (this.type == '0') {
409
+ modalCondition = this.$refs.paged.model.condition.condition2
410
+ modalCondition += ` and f_checker_name = '${this.modalRow.checker}'`
411
+ modalCondition += ` and f_no_checkplan='无计划安检'`
412
+ if (this.modalSearchData.f_user_name){
413
+ modalCondition += ` and f_user_name = '${this.modalSearchData.f_user_name}'`
414
+ }
415
+ if (this.modalSearchData.f_residential_area){
416
+ modalCondition += ` and f_residential_area = '${this.modalSearchData.f_residential_area}'`
417
+ }
418
+ if (this.modalSearchData.f_user_type){
419
+ modalCondition += ` and f_check_type = '${this.modalSearchData.f_user_type}'`
420
+ }
421
+ if (this.modalSearchData.start_time){
422
+ modalCondition += ` and f_offsite_time >= '${this.modalSearchData.start_time}'`
423
+ }
424
+ if (this.modalSearchData.end_time){
425
+ modalCondition += ` and f_offsite_time <= '${this.modalSearchData.end_time}'`
426
+ }
427
+ if (this.modalSearchData.f_userinfo_code){
428
+ modalCondition += ` and f_userinfo_code = '${this.modalSearchData.f_userinfo_code}'`
429
+ }
430
+ if (this.modalSearchData.f_address){
431
+ modalCondition += ` and f_address = '${this.modalSearchData.f_address}'`
432
+ }
433
+ if (this.modalSearchData.f_user_phone){
434
+ modalCondition += ` and f_user_phone = '${this.modalSearchData.f_user_phone}'`
435
+ }
436
+ if (this.modalSearchData.f_checker){
437
+ modalCondition += ` and f_checker_name = '${this.modalSearchData.f_checker}'`
438
+ }
439
+ this.modalModel = this.modalModel2
440
+ this.modalModel.search(modalCondition, this.modalModel)
441
+ }else {
442
+ modalCondition = this.$refs.paged.model.condition.condition1
443
+ modalCondition += ` and f_checker = '${this.modalRow.checker}'`
444
+ if (this.modalSearchData.f_last_check_state){
445
+ modalCondition += ` and tcpi.f_last_check_state = '${this.modalSearchData.f_last_check_state}'`
446
+ }
447
+ if (this.modalSearchData.f_residential_area){
448
+ modalCondition += ` and f_residential_area = '${this.modalSearchData.f_residential_area}'`
449
+ }
450
+ if (this.modalSearchData.f_user_name){
451
+ modalCondition += ` and tcpi.f_user_name = '${this.modalSearchData.f_user_name}'`
452
+ }
453
+ if (this.modalSearchData.f_user_type){
454
+ modalCondition += ` and tcpi.f_user_type = '${this.modalSearchData.f_user_type}'`
455
+ }
456
+ if (this.modalSearchData.start_time){
457
+ modalCondition += ` and tcp.f_create_time >= '${this.modalSearchData.start_time}'`
458
+ }
459
+ if (this.modalSearchData.end_time){
460
+ modalCondition += ` and tcp.f_create_time <= '${this.modalSearchData.end_time}'`
461
+ }
462
+ if (this.modalSearchData.f_userinfo_code){
463
+ modalCondition += ` and tcpi.f_userinfo_code = '${this.modalSearchData.f_userinfo_code}'`
464
+ }
465
+ if (this.modalSearchData.f_address){
466
+ modalCondition += ` and tcpi.f_address = '${this.modalSearchData.f_address}'`
467
+ }
468
+ if (this.modalSearchData.f_user_phone){
469
+ modalCondition += ` and tcpi.f_user_phone = '${this.modalSearchData.f_user_phone}'`
470
+ }
471
+ if (this.modalSearchData.f_checker){
472
+ modalCondition += ` and tcp.f_checker = '${this.modalSearchData.f_checker}'`
473
+ }
474
+ if (this.modalSearchData.f_check_version){
475
+ modalCondition += ` and tcpi.f_check_version = '${this.modalSearchData.f_check_version}'`
476
+ }
477
+ this.modalModel.search(modalCondition, this.modalModel)
478
+ }
479
+ this.modalSearchExcelData.condition = modalCondition
480
+ },
189
481
  getRes (obj) {
190
482
  this.f_filiale_id = this.$login.convertToIn(obj.resids)
191
483
  this.orgname = obj.res[0]
192
484
  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
485
  },
201
486
  async selfSearch (args) {
202
487
  if (!this.f_filiale_id) {
203
488
  return this.$showMessage("请选择公司进行查询!!!")
204
489
  }
205
490
  this.model.f_filiale_id = this.f_filiale_id // 只有选择了下面的条件才会变化
491
+ let condition = {
492
+ condition1 : args.condition,
493
+ condition2 : `1=1 and f_entry_status = '入户'`
494
+ }
495
+ if (args.model.f_checker_id){
496
+ condition.condition2 += ` and f_checker_name = '${args.model.f_checker_id}'`
497
+ }
498
+ if (args.model.f_user_type){
499
+ condition.condition2 += ` and f_check_type = '${args.model.f_user_type}'`
500
+ }
501
+ if (args.model.checkstart){
502
+ condition.condition2 += ` and f_offsite_time >= '${args.model.checkstart}'`
503
+ }
504
+ if (args.model.checkend){
505
+ condition.condition2 += ` and f_offsite_time <= '${args.model.checkend}'`
506
+ }
206
507
  this.searchData.f_filiale_id = this.f_filiale_id //导出
207
508
  this.searchData.condition=args.condition //导出
208
- await this.model.search(args.condition, args.model)
209
- this.searchData.condition = args.condition
509
+ await this.model.search(condition, args.model)
510
+ this.searchData.condition = condition
210
511
  this.sumsmodel = this.$refs.paged.$refs.grid.model.sums;
211
512
  this.print_model = JSON.parse(JSON.stringify(this.$refs.paged.$refs.grid.model))
212
513
  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}%`
514
+ checker: '合计',
515
+ data1: this.sumsmodel.data1,
516
+ data2: this.sumsmodel.data2,
517
+ data3: this.sumsmodel.data3,
518
+ data4: this.sumsmodel.data4,
519
+ data5: this.sumsmodel.data5,
520
+ data6: this.sumsmodel.data6,
521
+ data7: `${(this.sumsmodel.data3/this.sumsmodel.data1*100.0).toFixed(2)}%`,
522
+ data8: this.sumsmodel.data8,
523
+ data9: this.sumsmodel.data9
219
524
  })
220
525
  this.print_model.totalPage = 0
221
526
  }
222
527
  },
223
528
  computed: {
224
529
  excelTitle() {
225
- return `${this.orgname }无计划安检汇总`
530
+ return `${this.orgname }安检员考核`
226
531
  },
227
532
  getstart() {
228
533
  return `开始时间:${this.$refs.paged.$refs.cri.model.startDate} 结束时间:${this.$refs.paged.$refs.cri.model.endDate}`