safecheck-client 3.0.34-6 → 3.0.34-61

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. package/docs/FormPrint.md +18 -18
  2. package/docs/GridTree.md +47 -47
  3. package/docs/PrintFile.md +38 -38
  4. package/docs/tree.md +40 -40
  5. package/package.json +1 -1
  6. package/src/App-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.vue +55 -0
  7. package/src/assets/123.png +0 -0
  8. package/src/assets/f8632d3c8c4c1cb68e99da754cab1a7.png +0 -0
  9. package/src/components/LoadData.vue +62 -0
  10. package/src/components/NewDefectList/DefectListNew.vue +617 -616
  11. package/src/components/android/AddGas.vue +147 -147
  12. package/src/components/android/AndroidDefectDeal.vue +1 -0
  13. package/src/components/android/AreaPlan.vue +566 -566
  14. package/src/components/android/AreaSelect.vue +208 -0
  15. package/src/components/android/BuildingSelect.vue +217 -0
  16. package/src/components/android/CheckPlanSelect.vue +248 -0
  17. package/src/components/android/CheckerMonthly.vue +84 -84
  18. package/src/components/android/LcheckUnplan.vue +108 -108
  19. package/src/components/android/PaperFeedback.vue +33 -0
  20. package/src/components/android/QRCode/QRCodeBinding.vue +300 -0
  21. package/src/components/android/QRCode/QRCodePage.vue +212 -0
  22. package/src/components/android/SafecheckDevices.vue +2 -2
  23. package/src/components/android/SafecheckOrderV.vue +8 -12
  24. package/src/components/android/SwitchValve.vue +323 -323
  25. package/src/components/android/examples/SafeListExamples.vue +96 -0
  26. package/src/components/android/examples/UserExamples.vue +130 -0
  27. package/src/components/checkerphonestate/Checker.vue +32 -32
  28. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  29. package/src/components/defects/AddDefectModal.vue +120 -120
  30. package/src/components/defects/AddDevice.vue +95 -95
  31. package/src/components/defects/DevicesSeting.vue +106 -106
  32. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  33. package/src/components/metterfiles/MetterFiles.vue +104 -104
  34. package/src/components/notice/NoticeQuery.vue +76 -76
  35. package/src/components/paper/RepairVerifyForm.vue +76 -76
  36. package/src/components/phonestate/DailyTraffic.vue +57 -57
  37. package/src/components/phonestate/LastKnownState.vue +74 -74
  38. package/src/components/rongcheng/AddPlanItem.vue +4 -0
  39. package/src/components/rongcheng/AspiratedUserInfo.vue +1 -1
  40. package/src/components/rongcheng/CheckSearchUser.vue +40 -14
  41. package/src/components/rongcheng/PaperStatem.vue +6 -1
  42. package/src/components/rongcheng/PhoneDevicesInfo.vue +16 -1
  43. package/src/components/rongcheng/PhoneUpUserinfo.vue +0 -92
  44. package/src/components/rongcheng/SafecheckOrderV.vue +12 -3
  45. package/src/components/rongcheng/SafecheckOrderVCli.vue +9 -0
  46. package/src/components/task/RepairAnnual.vue +79 -79
  47. package/src/components/task/RepairAnnualDetail.vue +49 -49
  48. package/src/components/task/RepairMonthly.vue +91 -91
  49. package/src/components/task/TaskAnnual.vue +77 -77
  50. package/src/components/task/TaskAnnualDetail.vue +47 -47
  51. package/src/components/task/TaskMonthly.vue +89 -89
  52. package/src/components/userfile/UserfileChange.vue +277 -277
  53. package/src/filiale/baiyin/android/AndroidDefectDeal.vue +4 -4
  54. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -0
  55. package/src/filiale/baiyin/android.js +1 -0
  56. package/src/filiale/baiyin/pc/CheckSearchUser.vue +2 -2
  57. package/src/filiale/baiyin/pc/DefectListNew.vue +3 -3
  58. package/src/filiale/baiyin/pc/PaperList.vue +7 -7
  59. package/src/filiale/baiyin/pc/checkUserList.vue +771 -771
  60. package/src/filiale/baiyin/pc.js +21 -21
  61. package/src/filiale/bayan/android/SafecheckOrderV.vue +52 -29
  62. package/src/filiale/bayan/pc/PaperList.vue +1 -0
  63. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +35 -15
  64. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -0
  65. package/src/filiale/huaran/android.js +12 -0
  66. package/src/filiale/huaran/pc/CheckBook.vue +313 -0
  67. package/src/filiale/huaran/pc/CheckBookAll.vue +69 -0
  68. package/src/filiale/huaran/pc/CheckBookArea.vue +170 -0
  69. package/src/filiale/huaran/pc/CheckBookCompany.vue +166 -0
  70. package/src/filiale/huaran/pc/CheckBookDetails.vue +196 -0
  71. package/src/filiale/huaran/pc/CheckBookEntry.vue +61 -0
  72. package/src/filiale/huaran/pc/CheckBookList.vue +386 -0
  73. package/src/filiale/huaran/pc/CheckBookSearchArea.vue +564 -0
  74. package/src/filiale/huaran/pc/CheckBookSearchUnit.vue +229 -0
  75. package/src/filiale/huaran/pc/CheckBookSearchUser.vue +604 -0
  76. package/src/filiale/huaran/pc/CheckBookUser.vue +112 -0
  77. package/src/filiale/huaran/pc/PaperList.vue +822 -0
  78. package/src/filiale/huaran/pc/PlanManage.vue +887 -0
  79. package/src/filiale/huaran/pc/checkPlanList.vue +419 -0
  80. package/src/filiale/huaran/pc/checkUserList.vue +867 -0
  81. package/src/filiale/huaran/pc.js +27 -0
  82. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -0
  83. package/src/filiale/jiaxian/android/PhoneUpUserinfo.vue +1229 -0
  84. package/src/filiale/jiaxian/android/SafecheckDevices.vue +6 -6
  85. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -0
  86. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -0
  87. package/src/filiale/jiaxian/android.js +4 -0
  88. package/src/filiale/kelai/pc/CheckPlanAreaList.vue +15 -7
  89. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -0
  90. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -0
  91. package/src/filiale/ruihua/android.js +11 -0
  92. package/src/filiale/shanxian/pc/checkUserList.vue +700 -700
  93. package/src/filiale/siyang/pc/CheckBookSearchArea.vue +645 -0
  94. package/src/filiale/siyang/pc/CheckPlanAreaList.vue +512 -0
  95. package/src/filiale/siyang/pc/CheckSearchUser.vue +982 -0
  96. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -0
  97. package/src/filiale/siyang/pc/checkPlanList.vue +367 -0
  98. package/src/filiale/siyang/pc/checkUserList.vue +22 -18
  99. package/src/filiale/siyang/pc.js +5 -0
  100. package/src/filiale/tongchuan/android/Select.vue +421 -0
  101. package/src/filiale/tongchuan/android.js +1 -0
  102. package/src/filiale/tongchuan/pc/CheckPlanCountChartArea.vue +3 -1
  103. package/src/filiale/tongchuan/pc/DefectPaperWeiXiu.vue +6 -2
  104. package/src/filiale/tongchuan/pc/HiddenSituation.vue +3 -1
  105. package/src/filiale/tongchuan/pc/NewCheckpaper.vue +13 -22
  106. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1060 -1060
  107. package/src/filiale/tongchuan/pc/SelectCheckPlan.vue +5 -2
  108. package/src/filiale/tongchuan/utils/EventListener.js +29 -0
  109. package/src/filiale/tongchuan/utils/coerceBoolean.js +7 -0
  110. package/src/filiale/weinan/android/SafecheckDevices.vue +1 -1
  111. package/src/filiale/weinan/android/SafecheckOrderV.vue +1 -1
  112. package/src/filiale/weinan/pc/CheckBookSearchUserList.vue +735 -722
  113. package/src/filiale/weinan/pc/CheckDetail.vue +278 -278
  114. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  115. package/src/filiale/weinan/pc/DefectMainNew.vue +63 -63
  116. package/src/filiale/weinan/pc/DefectPaperNew.vue +31 -0
  117. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -0
  118. package/src/filiale/weinan/pc/checkUserList.vue +712 -776
  119. package/src/filiale/weinan/pc.js +47 -46
  120. package/src/filiale/wuan/android/SafecheckOrderV.vue +1 -0
  121. package/src/filiale/wuan/android/SafecheckUserInfo.vue +4 -0
  122. package/src/filiale/yangchunboneng/android/CurrentCreate.vue +1192 -1192
  123. package/src/filiale/yangchunboneng/android/DailyworkloadQuery.vue +472 -472
  124. package/src/filiale/yangchunboneng/android/safeHistoryLook.vue +473 -473
  125. package/src/filiale/yangchunboneng/pc/CheckBookSearchUser.vue +13 -11
  126. package/src/filiale/yangchunboneng/pc/CheckBookUser.vue +6 -6
  127. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +10 -10
  128. package/src/filiale/yangchunboneng/pc/DefectPaperNew.vue +10 -10
  129. package/src/filiale/yangchunboneng/pc/PaperDefectMain.vue +6 -6
  130. package/src/filiale/yangchunboneng/pc/PaperList.vue +6 -6
  131. package/src/filiale/yuansheng/android/SafecheckDevices.vue +11 -1
  132. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +10 -2
  133. package/src/main-/345/215/225/351/241/265/351/235/242/346/211/223/345/214/205/347/224/250.js +24 -0
  134. package/src/safecheck-android.js +7 -0
  135. package/src/safecheck-page.js +10 -0
@@ -0,0 +1,822 @@
1
+ <template>
2
+ <div class="flex-row">
3
+ <div class="basic-main">
4
+ <criteria-paged :model="model" v-ref:paged @sort="sort">
5
+ <criteria partial='criteria' class="search_area" @condition-changed='$parent.selfSearch' v-ref:criteria>
6
+ <div novalidate class="form-horizontal select-overspread container-fluid auto" partial>
7
+ <div class="row">
8
+ <div class="form-group col-sm-2">
9
+ <label class="font_normal_body">客户编号</label>
10
+ <input type="text" class="input_search" v-model="model.f_userinfo_code"
11
+ style="width: 60%" placeholder="客户编号" condition="f_userinfo_code='{}'">
12
+ </div>
13
+ <div class="form-group col-sm-2">
14
+ <label class="font_normal_body">客户名称</label>
15
+ <input type="text" class="input_search" v-model="model.f_user_name"
16
+ style="width: 60%" placeholder="客户名称" condition="f_user_name like '%{}%'">
17
+ </div>
18
+ <div class="form-group col-sm-2">
19
+ <label class="font_normal_body">客户电话</label>
20
+ <input type="text" class="input_search" v-model="model.f_user_phone"
21
+ style="width: 60%" placeholder="客户电话" condition="f_user_phone like '%{}%'">
22
+ </div>
23
+ <div class="form-group col-sm-2">
24
+ <label class="font_normal_body">客户表号</label>
25
+ <input type="text" class="input_search" v-model="model.f_meternumber"
26
+ style="width: 60%" placeholder="客户表号" condition="f_meternumber like '%{}%'">
27
+ </div>
28
+ <div class="form-group col-sm-2">
29
+ <label class="font_normal_body">小&emsp;&emsp;区</label>
30
+ <input type="text" class="input_search" v-model="model.f_residential_area"
31
+ style="width: 60%" placeholder="小区" condition="f_residential_area like '%{}%'">
32
+ </div>
33
+ <div class="form-group col-sm-2">
34
+ <label class="font_normal_body">详细地址</label>
35
+ <input type="text" class="input_search" v-model="model.f_address"
36
+ style="width: 60%" placeholder="详细地址" condition="f_address like '%{}%'">
37
+ </div>
38
+ <div class="form-group col-sm-2" style="width: auto;margin-top:8px;float: right">
39
+
40
+ <export-excel-safe :data="$parent.$parent.searchData"
41
+ :field="$parent.$parent.excelHeaders"
42
+ :choose-col="true"
43
+ sqlurl="rs/logic/SafeExportExcel" sql-name="查找安检单"
44
+ template-name='安检记录明细'></export-excel-safe>
45
+ <button class="button_spacing button_search" @click="$parent.$parent.showaudio()"
46
+ v-if="$parent.$parent.audioshow">隐藏
47
+ </button>
48
+
49
+ <button class="button_spacing button_search" @click="search()">查询</button>
50
+ <div style="float: right" class="button_spacing"
51
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
52
+ @click="$parent.$parent.hidden()"></div>
53
+ </div>
54
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
55
+ <label class="font_normal_body">安检计划</label>
56
+ <input type="text" class="input_search" v-model="$parent.$parent.model.f_check_plan.f_plan_name"
57
+ @click="$parent.$parent.showChooser"
58
+ style="width: 60%" placeholder="安检计划" readonly="readonly">
59
+ </div>
60
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
61
+ <label class="font_normal_body">开始时间</label>
62
+ <datepicker
63
+ :value.sync="model.f_check_start"
64
+ placeholder='开始时间' style="width: 60%"
65
+ :disabled-days-of-week="[]"
66
+ :format="'yyyy-MM-dd'"
67
+ :show-rest-button="reset"
68
+ v-model="model.f_check_start"
69
+ condition="f_offsite_time > ='{} 00:00:00'">
70
+ </datepicker>
71
+ </div>
72
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
73
+ <label class="font_normal_body">结束时间</label>
74
+ <datepicker
75
+ :value.sync="model.f_check_end"
76
+ placeholder='结束时间' style="width: 60%"
77
+ :disabled-days-of-week="[]"
78
+ :format="'yyyy-MM-dd'"
79
+ :show-rest-button="reset"
80
+ v-model="model.f_check_end"
81
+ condition="f_offsite_time <= '{} 23:59:59'">
82
+ </datepicker>
83
+ </div>
84
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
85
+ <label class="font_normal_body">安检类型</label>
86
+ <v-select :value.sync="model.f_safecheck_type" v-model='model.f_safecheck_type'
87
+ :value-single="true" style="width: 60%"
88
+ class="select_list select"
89
+ :options='$parent.$parent.safetype' placeholder='安检类型'
90
+ close-on-select
91
+ condition="f_safecheck_type = '{}'"></v-select>
92
+ </div>
93
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
94
+
95
+ <label class="font_normal_body">客户类型</label>
96
+ <v-select :value.sync="model.f_check_type" v-model='model.f_check_type'
97
+ :value-single="true" style="width: 60%"
98
+ class="select_list select"
99
+ :options='$parent.$parent.checktype' placeholder='客户类型'
100
+ close-on-select
101
+ condition="f_check_type = '{}'"></v-select>
102
+ </div>
103
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
104
+ <label class="font_normal_body">安检状态</label>
105
+ <v-select id="f_entry"
106
+ class="select_list select"
107
+ placeholder='安检状态' style="width: 60%"
108
+ v-model='model.f_entry'
109
+ :value.sync="$parent.$parent.model.f_entry"
110
+ :options='$parent.$parent.f_entry_status'
111
+ condition=""
112
+ :value-single="true"
113
+ close-on-select clear-button></v-select>
114
+ </div>
115
+ <div class="col-sm-4 form-group" v-show="$parent.$parent.criteriaShow" style="margin: 0">
116
+ <role-selector-safe
117
+ role-name="安检员"
118
+ role-lable="安&nbsp;检&nbsp;员&nbsp;"
119
+ @re-res="$parent.$parent.getRes"
120
+ :value.sync="model.f_checker_id"
121
+ v-model="model.f_checker_id"
122
+ condition="f_checker_name = '{}'">
123
+ </role-selector-safe>
124
+ </div>
125
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
126
+ <label class="font_normal_body">片&emsp;&emsp;区</label>
127
+ <v-select class="select_list select"
128
+ placeholder='片区/管理站' style="width: 60%"
129
+ :value.sync="model.f_slice_area" v-model="model.f_slice_area"
130
+ :options='$parent.$parent.sliceArea'
131
+ filer-key="name"
132
+ close-on-select clear-button
133
+ condition="f_slice_area='{}'"
134
+ @change="$parent.$parent.getmeterbook(model.f_slice_area)"
135
+ :value-single="true">
136
+ </v-select>
137
+ </div>
138
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
139
+ <label class="font_normal_body">抄&ensp;表&ensp;册</label>
140
+ <v-select class="select_list select"
141
+ placeholder='抄表册' style="width: 60%"
142
+ :value.sync="model.f_meter_book_num" v-model="model.f_meter_book_num"
143
+ :options='$parent.$parent.cbc'
144
+ filer-key="name"
145
+ close-on-select clear-button
146
+ condition="f_meter_book_num={}"
147
+ :value-single="true">
148
+ </v-select>
149
+ </div>
150
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
151
+ <label class="font_normal_body">省&ensp;市&ensp;区</label>
152
+ <v-select class="select_list select"
153
+ placeholder='请选择' style="width: 60%"
154
+ :value.sync="model.f_pcd" v-model="model.f_pcd"
155
+ :options='$parent.$parent.pcds'
156
+ filer-key="name"
157
+ close-on-select clear-button
158
+ condition="f_pcd='{}'"
159
+ :value-single="true">
160
+ </v-select>
161
+ </div>
162
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
163
+ <label class="font_normal_body">开户时间</label>
164
+ <datepicker
165
+ :value.sync="model.f_check_gasstart"
166
+ placeholder='开始时间' style="width: 60%"
167
+ :disabled-days-of-week="[]"
168
+ :format="'yyyy-MM-dd'"
169
+ :show-rest-button="reset"
170
+ v-model="model.f_check_gasstart"
171
+ condition="f_gas_date > ='{} 00:00:00'">
172
+ </datepicker>
173
+ </div>
174
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
175
+ <label class="font_normal_body">开户时间</label>
176
+ <datepicker
177
+ :value.sync="model.f_check_gasend"
178
+ placeholder='结束时间' style="width: 60%"
179
+ :disabled-days-of-week="[]"
180
+ :format="'yyyy-MM-dd'"
181
+ :show-rest-button="reset"
182
+ v-model="model.f_check_gasend"
183
+ condition="f_gas_date <= '{} 23:59:59'">
184
+ </datepicker>
185
+ </div>
186
+ <div class="form-group col-sm-2" v-show="$parent.$parent.safeAudit && $parent.$parent.criteriaShow ">
187
+ <label class="font_normal_body">审&ensp;核&ensp;人</label>
188
+ <input type="text" class="input_search" v-model="model.f_approved_by"
189
+ style="width: 60%" placeholder="审核人" condition="f_approved_by like '%{}%'">
190
+ </div>
191
+ <div class="form-group col-sm-2" v-show="$parent.$parent.safeAudit && $parent.$parent.criteriaShow ">
192
+ <label class="font_normal_body">审核时间</label>
193
+ <datepicker
194
+ :value.sync="model.f_approved_timestart"
195
+ placeholder='开始时间' style="width: 60%"
196
+ :disabled-days-of-week="[]"
197
+ :format="'yyyy-MM-dd'"
198
+ :show-rest-button="reset"
199
+ v-model="model.f_approved_timestart"
200
+ condition="f_approved_time > ='{} 00:00:00'">
201
+ </datepicker>
202
+ </div>
203
+ <div class="form-group col-sm-2" v-show="$parent.$parent.safeAudit && $parent.$parent.criteriaShow ">
204
+ <label class="font_normal_body">审核时间</label>
205
+ <datepicker
206
+ :value.sync="model.f_approved_timeend"
207
+ placeholder='结束时间' style="width: 60%"
208
+ :disabled-days-of-week="[]"
209
+ :format="'yyyy-MM-dd'"
210
+ :show-rest-button="reset"
211
+ v-model="model.f_approved_timeend"
212
+ condition="f_approved_time <= '{} 23:59:59'">
213
+ </datepicker>
214
+ </div>
215
+ <div class="form-group col-sm-2" v-show="$parent.$parent.safeAudit &&$parent.$parent.criteriaShow">
216
+ <label class="font_normal_body" title="参数管理:安检审核状态">审核状态</label>
217
+ <v-select class="select_list select"
218
+ placeholder='请选择' style="width: 60%"
219
+ :value.sync="model.f_approved" v-model="model.f_approved"
220
+ :options='$parent.$parent.approveds'
221
+ filer-key="name"
222
+ close-on-select clear-button
223
+ condition="f_approved='{}'"
224
+ :value-single="true">
225
+ </v-select>
226
+ </div>
227
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
228
+ <label class="font_normal_body">气表品牌</label>
229
+ <v-select
230
+ class="select_list select"
231
+ placeholder='气表品牌' style="width: 60%"
232
+ v-model='model.tableBrand'
233
+ :value.sync="model.tableBrand"
234
+ :options='$parent.$parent.tableBrands'
235
+ condition="f_meter_brand = '{}'"
236
+ :value-single="true"
237
+ close-on-select clear-button></v-select>
238
+ </div>
239
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
240
+ <label class="font_normal_body">有无计划</label>
241
+ <v-select class="select_list select"
242
+ placeholder='请选择' style="width: 60%"
243
+ :value.sync="model.f_no_checkplan" v-model="model.f_no_checkplan"
244
+ :options='$parent.$parent.no_checkplans'
245
+ filer-key="name"
246
+ close-on-select clear-button
247
+ condition="f_no_checkplan='{}'"
248
+ :value-single="true">
249
+ </v-select>
250
+ </div>
251
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
252
+ <label class="font_normal_body">未用燃气</label>
253
+ <v-select class="select_list select"
254
+ placeholder='请选择' style="width: 60%"
255
+ :value.sync="model.f_usegas" v-model="model.f_usegas"
256
+ :options='$parent.$parent.usegas'
257
+ filer-key="name"
258
+ close-on-select clear-button
259
+ condition="f_usegas='{}'"
260
+ :value-single="true">
261
+ </v-select>
262
+ </div>
263
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
264
+ <label class="font_normal_body">客户卡号</label>
265
+ <input type="text" class="input_search" v-model="model.f_card_id"
266
+ style="width: 60%" placeholder="客户卡号" condition="f_card_id like '%{}%'">
267
+ </div>
268
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
269
+ <label class="font_normal_body">距上次安检天数</label>
270
+ <input type="number" class="input_search" v-model="model.f_check_date"
271
+ style="width: 60%" placeholder="距上次安检天数">
272
+ </div>
273
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
274
+ <label class="font_normal_body">员工类型</label>
275
+ <v-select class="select_list select"
276
+ placeholder='请选择' style="width: 60%"
277
+ :value.sync="model.usertype" v-model="model.usertype"
278
+ :options='$parent.$parent.usertypes'
279
+ filer-key="name"
280
+ close-on-select clear-button
281
+ condition="usertype='{}'"
282
+ :value-single="true">
283
+ </v-select>
284
+ </div>
285
+ </div>
286
+ <modal :show.sync="$parent.$parent.showModal" v-ref:modal backdrop="false">
287
+ <div slot="modal-header" class="modal-header">
288
+ <h4 class="modal-title">
289
+ 选择计划
290
+ </h4>
291
+ </div>
292
+ <div slot="modal-body" class="modal-body">
293
+ <plan-chooser :f.sync="$parent.$parent.fun" v-ref:chooser></plan-chooser>
294
+ </div>
295
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
296
+ <button class="button_search" @click="$parent.$parent.ok">确认</button>
297
+ <button class="button_search" @click="$parent.$parent.cancel">取消</button>
298
+ </div>
299
+ </modal>
300
+ </div>
301
+ </criteria>
302
+ <data-grid class="list_area table_sy" style="overflow: hidden" :model="model" partial='list' v-ref:grid>
303
+ <template partial='head'>
304
+ <tr>
305
+ <th>
306
+ <nobr>客户编号</nobr>
307
+ </th>
308
+ <th>
309
+ <nobr>客户名称</nobr>
310
+ </th>
311
+ <th>
312
+ <nobr>客户表号</nobr>
313
+ </th>
314
+ <th>
315
+ <nobr>气表品牌</nobr>
316
+ </th>
317
+ <th>
318
+ <nobr>客户电话</nobr>
319
+ </th>
320
+ <th>
321
+ <nobr>客户类型</nobr>
322
+ </th>
323
+ <th>
324
+ <nobr>客户地址</nobr>
325
+ </th>
326
+ <th>
327
+ <nobr>安检状态</nobr>
328
+ </th>
329
+ <th>
330
+ <nobr>计划名称</nobr>
331
+ </th>
332
+ <th>
333
+ <nobr>用气状态</nobr>
334
+ </th>
335
+ <th>
336
+ <data-order field="f_offsite_time" name="安检时间"></data-order>
337
+ </th>
338
+ <th>
339
+ <nobr>安检员</nobr>
340
+ </th>
341
+ <th>
342
+ <nobr>备注</nobr>
343
+ </th>
344
+ <th>
345
+ <nobr>开户时间</nobr>
346
+ </th>
347
+ <th v-if="$parent.$parent.$parent.safeAudit">
348
+ <nobr>审核人</nobr>
349
+ </th>
350
+ <th v-if="$parent.$parent.$parent.safeAudit">
351
+ <nobr>审核起始</nobr>
352
+ </th>
353
+ <th v-if="$parent.$parent.$parent.safeAudit">
354
+ <nobr>审核结束</nobr>
355
+ </th>
356
+ <th v-if="$parent.$parent.$parent.safeAudit">
357
+ <nobr>审核状态</nobr>
358
+ </th>
359
+ <th v-if="$parent.$parent.$parent.safeAudit">
360
+ <nobr>审核未通过原因</nobr>
361
+ </th>
362
+ <th>
363
+ <nobr>操作</nobr>
364
+ </th>
365
+ <th v-if="$parent.$parent.$parent.audioshow">
366
+ <nobr>录音</nobr>
367
+ </th>
368
+ </tr>
369
+ </template>
370
+ <template partial='body'>
371
+ <td style="text-align: center">{{ row.f_userinfo_code }}</td>
372
+ <td style="text-align: center">{{ row.f_user_name }}</td>
373
+ <td style="text-align: center">{{ row.f_meternumber }}</td>
374
+ <td style="text-align: center">{{ row.f_meter_brand }}</td>
375
+ <td style="text-align: center">{{ row.f_user_phone }}</td>
376
+ <td style="text-align: center">{{ row.f_check_type }}</td>
377
+ <td style="text-align: center">{{ row.f_address }}</td>
378
+ <td style="text-align: center">{{ row.f_entry_status }}</td>
379
+ <td style="text-align: center">{{ row.f_plan_name }}</td>
380
+ <td style="text-align: center">{{ row.f_usegas }}</td>
381
+ <td style="text-align: center">{{ row.f_offsite_time }}</td>
382
+ <td style="text-align: center">{{ row.f_checker_name }}</td>
383
+ <td style="text-align: center">{{ row.f_repair_approved_note }}</td>
384
+ <td style="text-align: center">{{ row.f_gas_date }}</td>
385
+ <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">{{ row.f_approved_by }}</td>
386
+ <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">{{
387
+ row.f_approvedstart_time
388
+ }}
389
+ </td>
390
+ <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">{{ row.f_approved_time }}</td>
391
+ <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">
392
+ {{ row.f_approved ? row.f_approved : '未审核' }}
393
+ </td>
394
+ <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">
395
+ {{ row.f_approved_note }}
396
+ </td>
397
+ <td style="text-align: center">
398
+ <button class="button_spacing button_search-1" @click='$parent.$parent.$parent.change(row)'>查看</button>
399
+ </td>
400
+ <td style="text-align: center" v-if="$parent.$parent.$parent.audioshow">
401
+ <!-- <button class="button_spacing button_search-1" @click='$parent.$parent.$parent.change(row)'>查看</button>-->
402
+ <audio controls="controls" v-if="row.f_recording1_path">
403
+ <source type="audio/mpeg" :src="'rs/audio/file/'+row.f_recording1_path">
404
+ </audio>
405
+ <!--<button type="button" class="button_new-1 button_spacing" data-toggle="dropdown"
406
+ @click="$parent.$parent.$parent.print(row)">
407
+ 打印
408
+ </button>-->
409
+ </td>
410
+ </template>
411
+ </data-grid>
412
+ </criteria-paged>
413
+ <check-msg v-if="showcheckmsg" :show="showcheckmsg" :data="checkInfo"></check-msg>
414
+ </div>
415
+ </div>
416
+ </template>
417
+ <script>
418
+ import {PagedList} from 'vue-client'
419
+ import Vue from 'vue'
420
+ import co from 'co'
421
+ import * as Util from '../../Util'
422
+ import HttpResetClass from "vue-client/src/plugins/HttpResetClass";
423
+
424
+ //获取json配置文件
425
+ let asyncReady = async function (self) {
426
+ // 获取配置信息
427
+ try {
428
+ let res = await Vue.resetget(`/phone/rs/vue`, {data: {}}, {resolveMsg: null, rejectMsg: null})
429
+ Vue.config = res.data
430
+ } catch (error) {
431
+ // 忽略704,文件找不到异常R
432
+ if (error.status !== 704) {
433
+ throw error
434
+ }
435
+ }
436
+ }
437
+
438
+ let select = function* (self) {
439
+ let http = new HttpResetClass()
440
+ let getGasman = yield http.load('POST', '/rs/search', {
441
+ source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
442
+ userid: self.$login.f.id
443
+ }, {resolveMsg: null, rejectMsg: null})
444
+ ////tag
445
+ self.checkersid.push({label: '全部', value: ''})
446
+ getGasman.data.forEach((checker) => {
447
+ self.checkersid.push({label: checker.name, value: checker.id})
448
+ })
449
+ }
450
+
451
+ export default {
452
+ title: '安检结果查看',
453
+ data() {
454
+ let model = new PagedList('rs/sql/查找安检单', 20, {
455
+ f_plan_id: 'this.f_plan_id',
456
+ f_approved: 'this.f_approved',
457
+ f_entry_status: 'this.f_entry',
458
+ f_no_checkplan: 'this.f_no_checkplan',
459
+ f_filialeid: 'this.f_filialeid',
460
+ orderitem: "'f_offsite_time desc'"
461
+ })
462
+ model.f_check_type = ''
463
+ model.f_plan_id = ''
464
+ model.f_approved = ''
465
+ model.f_entry = ''
466
+ model.f_no_checkplan = ''
467
+ model.f_filialeid = `('${this.$login.f.orgid}')`
468
+ //model.f_check_type='民用'
469
+ // let searchData={
470
+ // f_plan_id: this.model.f_checker_id==undefined?"":this.model.f_checker_id,
471
+ // f_approved: this.model.f_approved,
472
+ // f_entry_status: this.model.f_entry,
473
+ // f_no_checkplan:this.model.f_no_checkplan[0],
474
+ // f_filialeid: this.model.f_filialeid,
475
+ // //orderitem: this.model.f_offsite_time,
476
+ // //condition:this.model.condition
477
+ // }
478
+ // model.f_subcompany = this.$login.f.f_fengongsi
479
+ return {
480
+ usertypes:[{label: '全部', value: ''},{label: '正式', value: '正式'},{label: '临时工', value: '临时工'}],
481
+ tableBrands: [{label: '全部', value: ''}],
482
+ audioshow: false,
483
+ safeAudit: this.$appdata.getSingleValue('安检审核') == '是' ? true : false,
484
+ searchData: {
485
+ condition: "1=1",
486
+ orderitem: "f_offsite_time desc",
487
+ f_plan_id: "",
488
+ f_approved: '',
489
+ f_entry_status: '',
490
+ f_no_checkplan: '',
491
+ f_filialeid: `('${this.$login.f.orgid}')`
492
+ },
493
+ model: model,
494
+ excelHeaders: {
495
+ //searchData:searchData,
496
+ 'f_userinfo_code': '客户编号',
497
+ 'f_user_name': '客户姓名',
498
+ 'f_meternumber': '客户表号',
499
+ 'f_user_phone': '客户电话',
500
+ 'f_check_type': '客户类型',
501
+ 'f_residential_area': '小区',
502
+ 'f_address': '客户地址',
503
+ 'f_entry_status': '安检状态',
504
+ 'f_usegas': '用气状态',
505
+ 'f_offsite_time': '安检时间',
506
+ 'f_checker_name': '安检员',
507
+ 'f_safecheck_type': '安检类型',
508
+ 'f_repair_approved_note': '备注',
509
+ 'f_gas_date': '开户时间',
510
+ 'f_plan_name': '计划名称'
511
+ },
512
+ fun: this.$login.f,
513
+ pcds: [],
514
+ checkersid: [],
515
+ approveds: this.$appdata.getParam('安检审核状态') ? [{
516
+ label: '全部',
517
+ value: ''
518
+ }, ...this.$appdata.getParam('安检审核状态')] : [{label: '全部', value: ''}],
519
+ safetype: this.$appdata.getParam('安检类型') ? [{
520
+ label: '全部',
521
+ value: ''
522
+ }, ...this.$appdata.getParam('安检类型')] : [{label: '全部', value: ''}],
523
+ criteriaShow: false,
524
+ checktype: this.$appdata.getParam('用户类型') ? [{
525
+ label: '全部',
526
+ value: ''
527
+ }, ...this.$appdata.getParam('用户类型')] : [{label: '全部', value: ''}],
528
+ f_check_type: [{label: '全部', value: ''}, {label: '民用', value: '民用'}, {label: '非民用', value: '非民用'}],
529
+ showModal: false,
530
+ safe_types: this.$appdata.getParam('计划类型') ? [{
531
+ label: '全部',
532
+ value: ''
533
+ }, ...this.$appdata.getParam('计划类型')] : [{label: '全部', value: ''}],
534
+ f_approval_states: this.$appdata.getParam('安检单审核状态') ? [{
535
+ label: '全部',
536
+ value: ''
537
+ }, ...this.$appdata.getParam('安检单审核状态')] : [{label: '全部', value: ''}],
538
+ f_entry_status: this.$appdata.getParam('安检状态') ? [{
539
+ label: '全部',
540
+ value: ''
541
+ }, ...this.$appdata.getParam('安检状态')] : [{label: '全部', value: ''}],
542
+ no_checkplans: this.$appdata.getParam('有无计划') ? [{
543
+ label: '全部',
544
+ value: ''
545
+ }, ...this.$appdata.getParam('有无计划')] : [{label: '全部', value: ''}],
546
+ usegas: this.$appdata.getParam('用气状态') ? [{
547
+ label: '全部',
548
+ value: ''
549
+ }, ...this.$appdata.getParam('用气状态')] : [{label: '全部', value: ''}],
550
+ showcheckmsg: false,
551
+ checkInfo: {},
552
+ orderDefault: "'f_offsite_time'",
553
+ orderFields: {
554
+ f_offsite_time: 'no'
555
+ },
556
+ sliceArea: [],
557
+ cbc: []
558
+ }
559
+ },
560
+ methods: {
561
+ //气表品牌查询
562
+ getTableBrands() {
563
+ new HttpResetClass().load("POST", `/rs/sql/safe_singleTable_OrderBy`,
564
+ {data: {items: "*", tablename: "t_gasbrand", orderitem: "id", condition: ` 1=1 `}},
565
+ {resolveMsg: null, rejectMsg: null}).then((resp) => {
566
+ resp.data.forEach((result) => {
567
+ this.tableBrands.push({label: result.f_meter_brand, value: result.f_meter_brand})
568
+ })
569
+ })
570
+ },
571
+ //获取省市区列表
572
+ getPcd(val) {
573
+ this.pcds = [{label: '全部', value: ''}]
574
+ new HttpResetClass().load("POST", `/rs/sql/safe_singleTable_OrderBy`,
575
+ {data: {items: "*", tablename: "t_pcd", orderitem: "id", condition: `f_orgid in ${val}`}},
576
+ {resolveMsg: null, rejectMsg: null}).then((pcdlist) => {
577
+ pcdlist.data.forEach((result) => {
578
+ this.pcds.push({label: result.f_pcd, value: result.f_pcd})
579
+ })
580
+ })
581
+ },
582
+ showaudio() {
583
+ //tag
584
+ this.audioshow = !this.audioshow
585
+ //tag
586
+ },
587
+ getmeterbook(val) {
588
+ this.cbc = []
589
+ this.cbc.push({
590
+ label: '全部',
591
+ value: ''
592
+ })
593
+ if (val == '') {
594
+
595
+ this.cbcs.forEach(res => {
596
+ this.cbc.push({
597
+ label: res.f_book_name,
598
+ value: res.id
599
+ })
600
+ })
601
+ } else {
602
+ this.cbcs.forEach(res => {
603
+ if (res.f_book_slice_area == val) {
604
+ this.cbc.push({
605
+ label: res.f_book_name,
606
+ value: res.id
607
+ })
608
+ }
609
+ })
610
+ }
611
+ },
612
+ Mreadibook(val) {
613
+ ////tag
614
+ ////tag
615
+ if (val) {
616
+ new HttpResetClass().load('POST', `/rs/sql/tel_singleTable_OrderBy`, {
617
+ data: {
618
+ items: 'name',
619
+ tablename: 't_zone',
620
+ condition: `parentid in ${val}`,
621
+ orderitem: 'id'
622
+ }
623
+ }, {resolveMsg: null, rejectMsg: null}).then((res) => {
624
+ this.sliceArea = []
625
+ this.sliceArea.push({
626
+ label: '全部',
627
+ value: ''
628
+ })
629
+ res.data.forEach(ress => {
630
+ this.sliceArea.push({
631
+ label: ress.name,
632
+ value: ress.name
633
+ })
634
+ })
635
+
636
+ })
637
+ }
638
+ },
639
+ getAllMeterBook(val) {
640
+ ////tag
641
+ ////tag
642
+ this.cbcs = []
643
+ if (val) {
644
+ new HttpResetClass().load('POST', `/rs/sql/tel_singleTable_OrderBy`, {
645
+ data: {
646
+ items: 'f_book_name,f_book_slice_area,id',
647
+ tablename: 't_meter_book',
648
+ condition: `f_filiale_id in ${val}`,
649
+ orderitem: 'id'
650
+ }
651
+ }, {resolveMsg: null, rejectMsg: null}).then((res) => {
652
+ res.data.forEach(ress => {
653
+ this.cbcs.push({
654
+ id: ress.id,
655
+ f_book_name: ress.f_book_name,
656
+ f_book_slice_area: ress.f_book_slice_area
657
+ })
658
+ })
659
+ this.cbc = []
660
+ this.cbc.push({
661
+ label: '全部',
662
+ value: ''
663
+ })
664
+ this.cbcs.forEach(res => {
665
+ this.cbc.push({
666
+ label: res.f_book_name,
667
+ value: res.id
668
+ })
669
+ })
670
+ })
671
+ }
672
+ },
673
+ getRes(obj) {
674
+ this.model.f_filialeid = this.$login.convertToIn(obj.resids);
675
+ this.searchData.f_filialeid = this.$login.convertToIn(obj.resids);
676
+ this.Mreadibook(this.model.f_filialeid)
677
+ this.getAllMeterBook(this.model.f_filialeid)
678
+ this.getPcd(this.model.f_filialeid)
679
+ //this.$refs.paged.$refs.criteria.search()
680
+ },
681
+
682
+ change(row) {
683
+ asyncReady(this).then(() => {
684
+ if (row.f_safe_type == '已挂表未办卡安检') {
685
+ row.f_upload_state = '已传'
686
+ this.$goto('new-check-paper-temp', {f_plan_id: row.f_check_plan_id, item: row, role: 'view'}, 'self')
687
+ return
688
+ }
689
+ row.f_upload_state = '已传'
690
+ this.$goto('new-check-paper', {f_plan_id: row.f_check_plan_id, item: row, role: 'view'}, 'self')
691
+ }).catch(
692
+ (respanse) => {
693
+ alert('获取配置文件失败')
694
+ })
695
+ },
696
+ readConfig() {
697
+ let gen = asyncReady(this)
698
+ return co(gen)
699
+ },
700
+ showChooser() {
701
+ this.showModal = true
702
+ },
703
+ hidden() {
704
+ this.criteriaShow = !this.criteriaShow
705
+ },
706
+ refresh() {
707
+ this.$refs.paged.$refs.criteria.search()
708
+ },
709
+ ok() {
710
+ this.showModal = false
711
+ if (this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow.id) {
712
+ this.model.f_plan_id = this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow.id
713
+ this.model.f_check_plan = this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow
714
+ }
715
+ },
716
+ cancel() {
717
+ this.showModal = false
718
+ this.model.f_check_plan = {f_plan_name: '', id: ''}
719
+ this.model.f_plan_id = ''
720
+ },
721
+ print(row) {
722
+ this.showcheckmsg = true
723
+ this.checkInfo = row
724
+ },
725
+
726
+ sort(field, rule) {
727
+ // 将所有排序方式设为不排序,实现相互排斥
728
+ for (let key in this.orderFields) {
729
+ if (key === field) {
730
+ this.orderFields[key] = rule
731
+ } else {
732
+ this.orderFields[key] = 'no'
733
+ }
734
+ }
735
+ // 如果新规则不排序,还原为默认排序
736
+ if (rule === 'no') {
737
+ this.model.paramSource.orderitem = `'${this.orderDefault}'`
738
+ } else {
739
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
740
+ }
741
+ this.search()
742
+ },
743
+ search() {
744
+ console.log('审核通过回调')
745
+ this.$refs.paged.$refs.criteria.search()
746
+ },
747
+ selfSearch(args) {
748
+ ////tag
749
+ //args.condition+=" and f_check_type='民用'"
750
+ if (args.model.f_check_date) {
751
+ const daysBefore = Number(args.model.f_check_date);
752
+ if (daysBefore > 0) {
753
+ // 获取当前日期
754
+ const now = new Date();
755
+ // 计算三天前的日期
756
+ const threeDaysBefore = new Date(now.getTime() - (daysBefore * 24 * 60 * 60 * 1000));
757
+ // 如果需要格式化日期,可以使用Date对象的方法
758
+ var formattedDate = threeDaysBefore.toISOString().split('T')[0];
759
+ args.condition += ` and f_offsite_time <='${formattedDate} 23:59:59'`;
760
+ } else {
761
+ console.error('f_check_date不是一个有效的正整数');
762
+ }
763
+ }
764
+ this.model.search(args.condition, args.model, args.condValue)
765
+ }
766
+ },
767
+ ready() {
768
+ if (this.safeAudit) {
769
+ let oa = {
770
+ 'f_approved_by': '审核人',
771
+ 'f_approvedstart_time': '审核开始时间',
772
+ 'f_approved_time': '审核结束时间',
773
+ 'f_approved': '审核状态',
774
+ 'f_approved_note': '审核备注'
775
+ }
776
+ this.excelHeaders = Object.assign({}, this.excelHeaders, oa)
777
+ }
778
+ this.function = this.f
779
+ //获取气表品牌
780
+ this.getTableBrands()
781
+ let gen = select(this)
782
+ //this.pianqu()
783
+ this.Mreadibook(`('${this.$login.f.orgid}')`)
784
+ co(gen)
785
+ this.$refs.paged.$refs.criteria.model.f_check_start = Util.toStartDateString() + ' 00:00:00'
786
+ this.$refs.paged.$refs.criteria.model.f_check_end = Util.toEndDateString() + ' 23:59:59'
787
+ },
788
+ watch: {
789
+ 'model.f_no_checkplan'(val) {
790
+ if (this.model.f_no_checkplan) {
791
+ this.searchData.f_no_checkplan = val
792
+ }
793
+ if (this.model.f_no_checkplan == '有计划安检') {
794
+
795
+ this.showChooser()
796
+ }
797
+ },
798
+ 'model.condition'(val) {
799
+ if (val) {
800
+ this.searchData.condition = val
801
+ }
802
+
803
+ },
804
+ 'model.f_entry'(val) {
805
+ this.searchData.f_entry_status = val
806
+ },
807
+ 'model.f_plan_id'(val) {
808
+ if (val) {
809
+ this.searchData.f_plan_id = val
810
+ }
811
+ },
812
+ 'model.f_slice_area'(val) {
813
+ },
814
+ 'model.f_approved'(val) {
815
+ if (val) {
816
+ this.searchData.f_approved = val
817
+ }
818
+ },
819
+ }
820
+
821
+ }
822
+ </script>