safecheck-client 3.0.34-62 → 3.0.34-65

Sign up to get free protection for your applications and to get access to all the features.
Files changed (260) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/android.html +18 -18
  4. package/config/dev.env.js +6 -6
  5. package/config/index.js +38 -38
  6. package/config/prod.env.js +3 -3
  7. package/config/test.env.js +6 -6
  8. package/docs/AppBase.md +22 -22
  9. package/docs/Busy.md +14 -14
  10. package/docs/CriteriaPaged.md +47 -47
  11. package/docs/DataGrid.md +54 -54
  12. package/docs/DataModel.md +22 -22
  13. package/docs/Dynamic.md +42 -42
  14. package/docs/GetParams.md +11 -11
  15. package/docs/HttpBusy.md +13 -13
  16. package/docs/HttpStore.md +29 -29
  17. package/docs/MessageBox.md +28 -28
  18. package/docs/PagedList.md +29 -29
  19. package/docs/Pager.md +21 -21
  20. package/docs/Project.md +23 -23
  21. package/docs/Route.md +105 -105
  22. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  23. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  24. package/docs/Task.md +46 -46
  25. package/docs/TreeList.md +28 -28
  26. package/docs/TreeMixin.md +18 -18
  27. package/docs/all.md +10 -10
  28. package/docs/list.md +42 -42
  29. package/docs/partial.md +75 -75
  30. package/docs/selector.md +82 -82
  31. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  32. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue-strap/345/217/230/346/233/264/350/256/260/345/275/225.md +7 -7
  33. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue/345/217/230/346/233/264/350/256/260/345/275/225.md +13 -13
  34. package/docs//345/274/200/345/217/221/346/226/207/346/241/243//345/274/200/345/217/221/347/216/257/345/242/203/350/256/276/347/275/256.md +77 -77
  35. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  36. package/examples/AddressList/App.vue +13 -13
  37. package/examples/AddressList/index.html +11 -11
  38. package/examples/DispatchList/App.vue +10 -10
  39. package/examples/DispatchList/BaseTree.vue +13 -13
  40. package/examples/DispatchList/Init.vue +22 -22
  41. package/examples/DispatchList/Test.vue +20 -20
  42. package/examples/DispatchList/index.html +11 -11
  43. package/examples/DispatchList/main.js +18 -18
  44. package/home.html +16 -16
  45. package/package.json +1 -1
  46. package/publish.bat +7 -7
  47. package/release.bat +5 -5
  48. package/src/Widget.vue +13 -13
  49. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  50. package/src/android-bootstrap/less/.csscomb.json +304 -304
  51. package/src/android-bootstrap/less/.csslintrc +19 -19
  52. package/src/android-bootstrap/less/alerts.less +73 -73
  53. package/src/android-bootstrap/less/badges.less +66 -66
  54. package/src/android-bootstrap/less/bootstrap.less +56 -56
  55. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  56. package/src/android-bootstrap/less/button-groups.less +247 -247
  57. package/src/android-bootstrap/less/buttons.less +173 -173
  58. package/src/android-bootstrap/less/carousel.less +269 -269
  59. package/src/android-bootstrap/less/close.less +34 -34
  60. package/src/android-bootstrap/less/code.less +69 -69
  61. package/src/android-bootstrap/less/component-animations.less +33 -33
  62. package/src/android-bootstrap/less/grid.less +84 -84
  63. package/src/android-bootstrap/less/input-groups.less +167 -167
  64. package/src/android-bootstrap/less/jumbotron.less +52 -52
  65. package/src/android-bootstrap/less/labels.less +64 -64
  66. package/src/android-bootstrap/less/list-group.less +141 -141
  67. package/src/android-bootstrap/less/media.less +66 -66
  68. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  69. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  70. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  71. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  72. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  73. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  74. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  75. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  76. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  77. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  78. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  79. package/src/android-bootstrap/less/mixins/image.less +33 -33
  80. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  81. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  82. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  83. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  84. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  85. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  86. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  87. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  88. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  89. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  90. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  91. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  92. package/src/android-bootstrap/less/mixins/size.less +10 -10
  93. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  94. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  95. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  96. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  97. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  98. package/src/android-bootstrap/less/mixins.less +40 -40
  99. package/src/android-bootstrap/less/modals.less +151 -151
  100. package/src/android-bootstrap/less/navbar.less +660 -660
  101. package/src/android-bootstrap/less/navs.less +290 -290
  102. package/src/android-bootstrap/less/normalize.less +424 -424
  103. package/src/android-bootstrap/less/pager.less +76 -76
  104. package/src/android-bootstrap/less/pagination.less +89 -89
  105. package/src/android-bootstrap/less/panels.less +274 -274
  106. package/src/android-bootstrap/less/popovers.less +131 -131
  107. package/src/android-bootstrap/less/print.less +101 -101
  108. package/src/android-bootstrap/less/progress-bars.less +87 -87
  109. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  110. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  111. package/src/android-bootstrap/less/scaffolding.less +161 -161
  112. package/src/android-bootstrap/less/tables.less +262 -262
  113. package/src/android-bootstrap/less/theme.less +291 -291
  114. package/src/android-bootstrap/less/thumbnails.less +36 -36
  115. package/src/android-bootstrap/less/tooltip.less +102 -102
  116. package/src/android-bootstrap/less/type.less +303 -303
  117. package/src/android-bootstrap/less/utilities.less +55 -55
  118. package/src/android-bootstrap/less/variables.less +896 -896
  119. package/src/android-bootstrap/less/wells.less +29 -29
  120. package/src/androidTest.js +20 -20
  121. package/src/bootstrap/less/.csscomb.json +304 -304
  122. package/src/bootstrap/less/.csslintrc +19 -19
  123. package/src/bootstrap/less/alerts.less +73 -73
  124. package/src/bootstrap/less/badges.less +66 -66
  125. package/src/bootstrap/less/breadcrumbs.less +26 -26
  126. package/src/bootstrap/less/button-groups.less +247 -247
  127. package/src/bootstrap/less/buttons.less +172 -172
  128. package/src/bootstrap/less/carousel.less +269 -269
  129. package/src/bootstrap/less/close.less +34 -34
  130. package/src/bootstrap/less/code.less +69 -69
  131. package/src/bootstrap/less/component-animations.less +33 -33
  132. package/src/bootstrap/less/dropdowns.less +216 -216
  133. package/src/bootstrap/less/forms.less +626 -626
  134. package/src/bootstrap/less/grid.less +84 -84
  135. package/src/bootstrap/less/input-groups.less +167 -167
  136. package/src/bootstrap/less/jumbotron.less +52 -52
  137. package/src/bootstrap/less/labels.less +64 -64
  138. package/src/bootstrap/less/list-group.less +141 -141
  139. package/src/bootstrap/less/media.less +66 -66
  140. package/src/bootstrap/less/mixins/alerts.less +14 -14
  141. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  142. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  143. package/src/bootstrap/less/mixins/buttons.less +69 -69
  144. package/src/bootstrap/less/mixins/center-block.less +7 -7
  145. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  146. package/src/bootstrap/less/mixins/forms.less +90 -90
  147. package/src/bootstrap/less/mixins/gradients.less +59 -59
  148. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  149. package/src/bootstrap/less/mixins/grid.less +122 -122
  150. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  151. package/src/bootstrap/less/mixins/image.less +33 -33
  152. package/src/bootstrap/less/mixins/labels.less +12 -12
  153. package/src/bootstrap/less/mixins/list-group.less +30 -30
  154. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  155. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  156. package/src/bootstrap/less/mixins/opacity.less +8 -8
  157. package/src/bootstrap/less/mixins/pagination.less +24 -24
  158. package/src/bootstrap/less/mixins/panels.less +24 -24
  159. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  160. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  161. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  162. package/src/bootstrap/less/mixins/resize.less +6 -6
  163. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  164. package/src/bootstrap/less/mixins/size.less +10 -10
  165. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  166. package/src/bootstrap/less/mixins/table-row.less +44 -44
  167. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  168. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  169. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  170. package/src/bootstrap/less/mixins.less +40 -40
  171. package/src/bootstrap/less/modals.less +151 -151
  172. package/src/bootstrap/less/navbar.less +660 -660
  173. package/src/bootstrap/less/normalize.less +424 -424
  174. package/src/bootstrap/less/pager.less +76 -76
  175. package/src/bootstrap/less/pagination.less +89 -89
  176. package/src/bootstrap/less/panels.less +275 -275
  177. package/src/bootstrap/less/popovers.less +131 -131
  178. package/src/bootstrap/less/print.less +101 -101
  179. package/src/bootstrap/less/progress-bars.less +87 -87
  180. package/src/bootstrap/less/responsive-embed.less +35 -35
  181. package/src/bootstrap/less/responsive-utilities.less +194 -194
  182. package/src/bootstrap/less/scaffolding.less +161 -161
  183. package/src/bootstrap/less/theme.less +291 -291
  184. package/src/bootstrap/less/thumbnails.less +36 -36
  185. package/src/bootstrap/less/tooltip.less +102 -102
  186. package/src/bootstrap/less/type.less +303 -303
  187. package/src/bootstrap/less/utilities.less +55 -55
  188. package/src/bootstrap/less/wells.less +29 -29
  189. package/src/components/FileUpload.vue +696 -696
  190. package/src/components/Hello.vue +39 -39
  191. package/src/components/LeftTree.vue +27 -27
  192. package/src/components/NewDefectList/DefectListNew.vue +617 -617
  193. package/src/components/android/AddressList.vue +61 -61
  194. package/src/components/android/AreaSelect.vue +198 -208
  195. package/src/components/android/AttendanceTally.vue +116 -116
  196. package/src/components/android/Blank.vue +10 -10
  197. package/src/components/android/BuildingSelect.vue +192 -217
  198. package/src/components/android/CheckPlanSelect.vue +229 -248
  199. package/src/components/android/CheckUnplanPage.vue +56 -56
  200. package/src/components/android/Checker.vue +12 -12
  201. package/src/components/android/CheckerAnnual.vue +81 -81
  202. package/src/components/android/CheckerAvarta.vue +82 -82
  203. package/src/components/android/EquipmentInspection.vue +348 -348
  204. package/src/components/android/FootprintMap.vue +120 -120
  205. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  206. package/src/components/android/MasterMain.vue +77 -77
  207. package/src/components/android/Menu.vue +132 -132
  208. package/src/components/android/NavBottom.vue +157 -157
  209. package/src/components/android/PaperAlarm.vue +85 -85
  210. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  211. package/src/components/android/PlumberAnnual.vue +83 -83
  212. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  213. package/src/components/android/PlumberMonthly.vue +84 -84
  214. package/src/components/android/PostMap.vue +83 -83
  215. package/src/components/android/QueryCheckHistory.vue +122 -122
  216. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  217. package/src/components/android/RepairMain.vue +60 -60
  218. package/src/components/android/Repairman.vue +12 -12
  219. package/src/components/android/SafecheckDevices.vue +1298 -1298
  220. package/src/components/android/SafecheckOrderV.vue +2805 -2805
  221. package/src/components/android/StationMaster.vue +12 -12
  222. package/src/components/android/UserinfoSelect.vue +672 -0
  223. package/src/components/defects/DefectModal.vue +101 -101
  224. package/src/components/defects/DevicesAndItem.vue +39 -39
  225. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  226. package/src/components/notice/NoticeForm.vue +100 -100
  227. package/src/components/notice/NoticeIssue.vue +20 -20
  228. package/src/components/paper/PicViewer.vue +18 -18
  229. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  230. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  231. package/src/components/phonestate/PostMap.vue +82 -82
  232. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  233. package/src/components/userfile/MeterFile.vue +145 -145
  234. package/src/components/userfile/MeterModify.vue +46 -46
  235. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  236. package/src/filiale/baiyin/android/AndroidDefectDeal.vue +633 -633
  237. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -2785
  238. package/src/filiale/baiyin/pc/CheckSearchUser.vue +1067 -1067
  239. package/src/filiale/baiyin/pc/DefectListNew.vue +597 -597
  240. package/src/filiale/baiyin/pc/PaperList.vue +790 -790
  241. package/src/filiale/jiaxian/android/SafecheckDevices.vue +1298 -1298
  242. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2807
  243. package/src/filiale/shanxian/pc/checkUserList.vue +700 -700
  244. package/src/filiale/tongchuan/pc/PaperDefectMain.vue +1060 -1060
  245. package/src/filiale/weinan/pc/CheckBookSearchUserList.vue +735 -735
  246. package/src/filiale/weinan/pc/CheckDetail.vue +278 -278
  247. package/src/filiale/weinan/pc/checkUserList.vue +712 -712
  248. package/src/plugins/LoadData.js +10 -10
  249. package/src/plugins/LoadParams.js +24 -24
  250. package/src/safecheck-android.js +304 -303
  251. package/src/stores/wxconfig.js +10 -10
  252. package/src/utils/getNowDate.js +33 -33
  253. package/test/e2e/custom-assertions/elementCount.js +26 -26
  254. package/test/e2e/nightwatch.conf.js +40 -40
  255. package/test/e2e/runner.js +30 -30
  256. package/test/e2e/specs/test.js +13 -13
  257. package/test/unit/.eslintrc +5 -5
  258. package/test/unit/TestUtil.js +62 -62
  259. package/test/unit/context.html +20 -20
  260. package/test/unit/index.js +13 -13
@@ -1,790 +1,790 @@
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="查找安检单" template-name='安检记录明细'></export-excel-safe>
44
- <button class="button_spacing button_search" @click="$parent.$parent.showaudio()" v-if="$parent.$parent.audioshow">隐藏</button>
45
-
46
- <button class="button_spacing button_search" @click="search()">查询</button>
47
- <div style="float: right" class="button_spacing"
48
- :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
49
- @click="$parent.$parent.hidden()"></div>
50
- </div>
51
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
52
- <label class="font_normal_body">安检计划</label>
53
- <input type="text" class="input_search" v-model="$parent.$parent.model.f_check_plan.f_plan_name"
54
- @click="$parent.$parent.showChooser"
55
- style="width: 60%" placeholder="安检计划" readonly="readonly">
56
- </div>
57
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
58
- <label class="font_normal_body">开始时间</label>
59
- <datepicker
60
- :value.sync="model.f_check_start"
61
- placeholder='开始时间' style="width: 60%"
62
- :disabled-days-of-week="[]"
63
- :format="'yyyy-MM-dd'"
64
- :show-rest-button="reset"
65
- v-model="model.f_check_start"
66
- condition="f_offsite_time > ='{} 00:00:00'">
67
- </datepicker>
68
- </div>
69
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
70
- <label class="font_normal_body">结束时间</label>
71
- <datepicker
72
- :value.sync="model.f_check_end"
73
- placeholder='结束时间' style="width: 60%"
74
- :disabled-days-of-week="[]"
75
- :format="'yyyy-MM-dd'"
76
- :show-rest-button="reset"
77
- v-model="model.f_check_end"
78
- condition="f_offsite_time <= '{} 23:59:59'">
79
- </datepicker>
80
- </div>
81
-
82
-
83
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
84
-
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
-
94
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
95
-
96
- <label class="font_normal_body">客户类型</label>
97
- <v-select :value.sync="model.f_check_type" v-model='model.f_check_type'
98
- :value-single="true" style="width: 60%"
99
- class="select_list select"
100
- :options='$parent.$parent.checktype' placeholder='客户类型'
101
- close-on-select
102
- condition="f_check_type = '{}'"></v-select>
103
- </div>
104
-
105
-
106
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
107
- <label class="font_normal_body">安检状态</label>
108
- <v-select id="f_entry"
109
- class="select_list select"
110
- placeholder='安检状态' style="width: 60%"
111
- v-model='model.f_entry'
112
- :value.sync="$parent.$parent.model.f_entry"
113
- :options='$parent.$parent.f_entry_status'
114
- condition=""
115
- :value-single="true"
116
- close-on-select clear-button></v-select>
117
- </div>
118
- <div class="col-sm-4 form-group" v-show="$parent.$parent.criteriaShow" style="margin: 0">
119
- <role-selector-safe
120
- role-name="安检员"
121
- role-lable="安&nbsp;检&nbsp;员&nbsp;"
122
- @re-res="$parent.$parent.getRes"
123
- :value.sync="model.f_checker_id"
124
- v-model="model.f_checker_id"
125
- condition="f_checker_name = '{}'">
126
- </role-selector-safe>
127
- </div>
128
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
129
- <label class="font_normal_body">片&emsp;&emsp;区</label>
130
- <v-select class="select_list select"
131
- placeholder='片区/管理站' style="width: 60%"
132
- :value.sync="model.f_slice_area" v-model="model.f_slice_area"
133
- :options='$parent.$parent.sliceArea'
134
- filer-key="name"
135
- close-on-select clear-button
136
- condition="f_slice_area='{}'"
137
- @change="$parent.$parent.getmeterbook(model.f_slice_area)"
138
- :value-single="true">
139
- </v-select>
140
- </div>
141
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
142
- <label class="font_normal_body">抄&ensp;表&ensp;册</label>
143
- <v-select class="select_list select"
144
- placeholder='抄表册' style="width: 60%"
145
- :value.sync="model.f_meter_book_num" v-model="model.f_meter_book_num"
146
- :options='$parent.$parent.cbc'
147
- filer-key="name"
148
- close-on-select clear-button
149
- condition="f_meter_book_num={}"
150
- :value-single="true">
151
- </v-select>
152
- </div>
153
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
154
- <label class="font_normal_body">省&ensp;市&ensp;区</label>
155
- <v-select class="select_list select"
156
- placeholder='请选择' style="width: 60%"
157
- :value.sync="model.f_pcd" v-model="model.f_pcd"
158
- :options='$parent.$parent.pcds'
159
- filer-key="name"
160
- close-on-select clear-button
161
- condition="f_pcd='{}'"
162
- :value-single="true">
163
- </v-select>
164
- </div>
165
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
166
- <label class="font_normal_body">建档时间</label>
167
- <datepicker
168
- :value.sync="model.f_check_gasstart"
169
- placeholder='开始时间' style="width: 60%"
170
- :disabled-days-of-week="[]"
171
- :format="'yyyy-MM-dd'"
172
- :show-rest-button="reset"
173
- v-model="model.f_check_gasstart"
174
- condition="f_createfile_date > ='{} 00:00:00'">
175
- </datepicker>
176
- </div>
177
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
178
- <label class="font_normal_body">建档时间</label>
179
- <datepicker
180
- :value.sync="model.f_check_gasend"
181
- placeholder='结束时间' style="width: 60%"
182
- :disabled-days-of-week="[]"
183
- :format="'yyyy-MM-dd'"
184
- :show-rest-button="reset"
185
- v-model="model.f_check_gasend"
186
- condition="f_createfile_date <= '{} 23:59:59'">
187
- </datepicker>
188
- </div>
189
- <div class="form-group col-sm-2" v-show="$parent.$parent.safeAudit && $parent.$parent.criteriaShow ">
190
- <label class="font_normal_body">审&ensp;核&ensp;人</label>
191
- <input type="text" class="input_search" v-model="model.f_approved_by"
192
- style="width: 60%" placeholder="审核人" condition="f_approved_by like '%{}%'">
193
- </div>
194
- <div class="form-group col-sm-2" v-show="$parent.$parent.safeAudit && $parent.$parent.criteriaShow ">
195
- <label class="font_normal_body">审核时间</label>
196
- <datepicker
197
- :value.sync="model.f_approved_timestart"
198
- placeholder='开始时间' style="width: 60%"
199
- :disabled-days-of-week="[]"
200
- :format="'yyyy-MM-dd'"
201
- :show-rest-button="reset"
202
- v-model="model.f_approved_timestart"
203
- condition="f_approved_time > ='{} 00:00:00'">
204
- </datepicker>
205
- </div>
206
- <div class="form-group col-sm-2" v-show="$parent.$parent.safeAudit && $parent.$parent.criteriaShow ">
207
- <label class="font_normal_body">审核时间</label>
208
- <datepicker
209
- :value.sync="model.f_approved_timeend"
210
- placeholder='结束时间' style="width: 60%"
211
- :disabled-days-of-week="[]"
212
- :format="'yyyy-MM-dd'"
213
- :show-rest-button="reset"
214
- v-model="model.f_approved_timeend"
215
- condition="f_approved_time <= '{} 23:59:59'">
216
- </datepicker>
217
- </div>
218
- <div class="form-group col-sm-2" v-show="$parent.$parent.safeAudit &&$parent.$parent.criteriaShow">
219
- <label class="font_normal_body" title="参数管理:安检审核状态">审核状态</label>
220
- <v-select class="select_list select"
221
- placeholder='请选择' style="width: 60%"
222
- :value.sync="model.f_approved" v-model="model.f_approved"
223
- :options='$parent.$parent.approveds'
224
- filer-key="name"
225
- close-on-select clear-button
226
- condition="f_approved='{}'"
227
- :value-single="true">
228
- </v-select>
229
- </div>
230
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
231
- <label class="font_normal_body">气表品牌</label>
232
- <v-select
233
- class="select_list select"
234
- placeholder='气表品牌' style="width: 60%"
235
- v-model='model.tableBrand'
236
- :value.sync="model.tableBrand"
237
- :options='$parent.$parent.tableBrands'
238
- condition="f_meter_brand = '{}'"
239
- :value-single="true"
240
- close-on-select clear-button></v-select>
241
- </div>
242
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
243
- <label class="font_normal_body">有无计划</label>
244
- <v-select class="select_list select"
245
- placeholder='请选择' style="width: 60%"
246
- :value.sync="model.f_no_checkplan" v-model="model.f_no_checkplan"
247
- :options='$parent.$parent.no_checkplans'
248
- filer-key="name"
249
- close-on-select clear-button
250
- condition="f_no_checkplan='{}'"
251
- :value-single="true">
252
- </v-select>
253
- </div>
254
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
255
- <label class="font_normal_body">未用燃气</label>
256
- <v-select class="select_list select"
257
- placeholder='请选择' style="width: 60%"
258
- :value.sync="model.f_usegas" v-model="model.f_usegas"
259
- :options='$parent.$parent.usegas'
260
- filer-key="name"
261
- close-on-select clear-button
262
- condition="f_usegas='{}'"
263
- :value-single="true">
264
- </v-select>
265
- </div>
266
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
267
- <label class="font_normal_body">客户卡号</label>
268
- <input type="text" class="input_search" v-model="model.f_card_id"
269
- style="width: 60%" placeholder="客户卡号" condition="f_card_id like '%{}%'">
270
- </div>
271
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
272
- <label class="font_normal_body">距上次安检天数</label>
273
- <input type="number" class="input_search" v-model="model.f_check_date"
274
- style="width: 60%" placeholder="距上次安检天数" >
275
- </div>
276
- </div>
277
- <modal :show.sync="$parent.$parent.showModal" v-ref:modal backdrop="false">
278
- <div slot="modal-header" class="modal-header">
279
- <h4 class="modal-title">
280
- 选择计划
281
- </h4>
282
- </div>
283
- <div slot="modal-body" class="modal-body">
284
- <plan-chooser :f.sync="$parent.$parent.fun" v-ref:chooser></plan-chooser>
285
- </div>
286
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
287
- <button class="button_search" @click="$parent.$parent.ok">确认</button>
288
- <button class="button_search" @click="$parent.$parent.cancel">取消</button>
289
- </div>
290
- </modal>
291
- </div>
292
- </criteria>
293
- <data-grid class="list_area table_sy" style="overflow: hidden" :model="model" partial='list' v-ref:grid>
294
- <template partial='head'>
295
- <tr>
296
- <th>
297
- <nobr>客户编号</nobr>
298
- </th>
299
- <th>
300
- <nobr>客户名称</nobr>
301
- </th>
302
- <th>
303
- <nobr>客户表号</nobr>
304
- </th>
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
- <data-order field="f_offsite_time" name="安检时间"></data-order>
328
- </th>
329
- <th>
330
- <nobr>安检员</nobr>
331
- </th>
332
- <th>
333
- <nobr>备注</nobr>
334
- </th>
335
- <th>
336
- <nobr>建档时间</nobr>
337
- </th>
338
- <th v-if="$parent.$parent.$parent.safeAudit">
339
- <nobr>审核人</nobr>
340
- </th>
341
- <th v-if="$parent.$parent.$parent.safeAudit">
342
- <nobr>审核起始</nobr>
343
- </th>
344
- <th v-if="$parent.$parent.$parent.safeAudit">
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>
354
- <nobr>操作</nobr>
355
- </th>
356
- <th v-if="$parent.$parent.$parent.audioshow">
357
- <nobr>录音</nobr>
358
- </th>
359
- </tr>
360
- </template>
361
- <template partial='body'>
362
-
363
- <td style="text-align: center">{{row.f_userinfo_code}}</td>
364
- <td style="text-align: center">{{row.f_user_name}}</td>
365
- <td style="text-align: center">{{row.f_meternumber}}</td>
366
- <td style="text-align: center">{{row.f_meter_brand}}</td>
367
- <td style="text-align: center">{{row.f_user_phone}}</td>
368
- <td style="text-align: center">{{row.f_check_type}}</td>
369
-
370
- <td style="text-align: center">{{ row.f_address }}</td>
371
- <td style="text-align: center">{{ row.f_entry_status }}</td>
372
- <td style="text-align: center">{{ row.f_plan_name }}</td>
373
- <td style="text-align: center">{{ row.f_usegas }}</td>
374
- <td style="text-align: center">{{ row.f_offsite_time }}</td>
375
- <td style="text-align: center">{{ row.f_checker_name }}</td>
376
- <td style="text-align: center">{{ row.f_repair_approved_note }}</td>
377
- <td style="text-align: center">{{ row.f_createfile_date }}</td>
378
- <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">{{ row.f_approved_by }}</td>
379
- <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">{{ row.f_approvedstart_time }}</td>
380
- <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">{{ row.f_approved_time }}</td>
381
- <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">
382
- {{ row.f_approved ? row.f_approved : '未审核' }}
383
- </td>
384
- <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">
385
- {{row.f_approved_note}}
386
- </td>
387
- <td style="text-align: center">
388
- <button class="button_spacing button_search-1" @click='$parent.$parent.$parent.change(row)'>查看</button>
389
-
390
-
391
- </td>
392
- <td style="text-align: center" v-if="$parent.$parent.$parent.audioshow">
393
- <!-- <button class="button_spacing button_search-1" @click='$parent.$parent.$parent.change(row)'>查看</button>-->
394
- <audio controls="controls" v-if="row.f_recording1_path">
395
- <source type="audio/mpeg" :src="'rs/audio/file/'+row.f_recording1_path">
396
- </audio>
397
- <!--<button type="button" class="button_new-1 button_spacing" data-toggle="dropdown"
398
- @click="$parent.$parent.$parent.print(row)">
399
- 打印
400
- </button>-->
401
- </td>
402
- </template>
403
- </data-grid>
404
- </criteria-paged>
405
- <check-msg v-if="showcheckmsg" :show="showcheckmsg" :data="checkInfo"></check-msg>
406
- </div>
407
- </div>
408
- </template>
409
-
410
- <script>
411
- import {PagedList} from 'vue-client'
412
- import Vue from 'vue'
413
- import co from 'co'
414
- import AppData from '../../../stores/AppData'
415
- import * as Util from '../../Util'
416
- import getNowDate from "../../../utils/getNowDate";
417
- import HttpResetClass from "vue-client/src/plugins/HttpResetClass";
418
- import BenzAMRRecorder from 'benz-amr-recorder'
419
- import {toEndDateString, toStartDateString} from "../../Util";
420
-
421
- //获取json配置文件
422
- let asyncReady = async function (self) {
423
- // 获取配置信息
424
- try {
425
- let res = await Vue.resetget(`/phone/rs/vue`, {data: {}}, {resolveMsg: null, rejectMsg: null})
426
- Vue.config = res.data
427
- } catch (error) {
428
- // 忽略704,文件找不到异常R
429
- if (error.status !== 704) {
430
- throw error
431
- }
432
- }
433
- }
434
-
435
- let select = function* (self) {
436
- let http = new HttpResetClass()
437
- let getGasman = yield http.load('POST', '/rs/search', {
438
- source: 'tool.getChildrenOfResName($安检员$)',
439
- userid: self.$login.f.id
440
- }, {resolveMsg: null, rejectMsg: null})
441
- ////tag
442
- self.checkersid.push({label: '全部', value: ''})
443
- getGasman.data.forEach((checker) => {
444
- self.checkersid.push({label: checker.name, value: checker.id})
445
- })
446
- }
447
-
448
- export default {
449
- title: '安检结果查看',
450
- data() {
451
- let model = new PagedList('rs/sql/查找安检单', 20, {
452
- f_plan_id: 'this.f_plan_id',
453
- f_approved: 'this.f_approved',
454
- f_entry_status: 'this.f_entry',
455
- f_no_checkplan: 'this.f_no_checkplan',
456
- f_filialeid: 'this.f_filialeid',
457
- orderitem: "'f_offsite_time desc'"
458
- })
459
- model.f_check_type = ''
460
- model.f_plan_id = ''
461
- model.f_approved = ''
462
- model.f_entry = ''
463
- model.f_no_checkplan = ''
464
- model.f_filialeid = `('${this.$login.f.f_orgids.substring(0,this.$login.f.f_orgids.length-1)}')`
465
- //model.f_check_type='民用'
466
- // let searchData={
467
- // f_plan_id: this.model.f_checker_id==undefined?"":this.model.f_checker_id,
468
- // f_approved: this.model.f_approved,
469
- // f_entry_status: this.model.f_entry,
470
- // f_no_checkplan:this.model.f_no_checkplan[0],
471
- // f_filialeid: this.model.f_filialeid,
472
- // //orderitem: this.model.f_offsite_time,
473
- // //condition:this.model.condition
474
- // }
475
- // model.f_subcompany = this.$login.f.f_fengongsi
476
- return {
477
- tableBrands: [{label: '全部', value: ''}],
478
- audioshow: false,
479
- safeAudit: this.$appdata.getSingleValue('安检审核') == '是' ? true : false,
480
- searchData: {
481
- condition: "1=1",
482
- orderitem: "f_offsite_time desc",
483
- f_plan_id: "",
484
- f_approved: '',
485
- f_entry_status: '',
486
- f_no_checkplan: '',
487
- f_filialeid: `('${this.$login.f.f_orgids.substring(0,this.$login.f.f_orgids.length-1)}')`
488
- },
489
- model: model,
490
- excelHeaders: {
491
- //searchData:searchData,
492
- 'f_userinfo_code': '客户编号',
493
- 'f_user_name': '客户姓名',
494
- 'f_meternumber':'客户表号',
495
- 'f_user_phone':'客户电话',
496
- 'f_check_type': '客户类型',
497
- 'f_residential_area': '小区',
498
- 'f_address': '客户地址',
499
- 'f_entry_status': '安检状态',
500
- 'f_usegas': '用气状态',
501
- 'f_offsite_time': '安检时间',
502
- 'f_checker_name': '安检员',
503
- 'f_safecheck_type':'安检类型',
504
- 'f_repair_approved_note': '备注',
505
- 'f_createfile_date': '建档时间',
506
- 'f_plan_name': '计划名称'
507
- },
508
- fun: this.$login.f,
509
- pcds:[],
510
- checkersid: [],
511
- approveds:this.$appdata.getParam('安检审核状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检审核状态')]:[{label: '全部', value: ''}],
512
- safetype: this.$appdata.getParam('安检类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检类型')]:[{label: '全部', value: ''}],
513
- criteriaShow: false,
514
- checktype: this.$appdata.getParam('用户类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]:[{label: '全部', value: ''}],
515
- f_check_type:[{label:'全部',value:''},{label:'民用',value:'民用'},{label:'非民用',value:'非民用'}],
516
- showModal: false,
517
- safe_types:this.$appdata.getParam('计划类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('计划类型')]:[{label: '全部', value: ''}],
518
- f_approval_states: this.$appdata.getParam('安检单审核状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检单审核状态')]:[{label: '全部', value: ''}],
519
- f_entry_status: this.$appdata.getParam('安检状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检状态')]:[{label: '全部', value: ''}],
520
- no_checkplans: this.$appdata.getParam('有无计划')?[{label: '全部', value: ''}, ...this.$appdata.getParam('有无计划')]:[{label: '全部', value: ''}],
521
- usegas: this.$appdata.getParam('用气状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用气状态')]:[{label: '全部', value: ''}],
522
- showcheckmsg: false,
523
- checkInfo: {},
524
- orderDefault: "'f_offsite_time'",
525
- orderFields: {
526
- f_offsite_time: 'no'
527
- },
528
- sliceArea: [],
529
- cbc:[]
530
- }
531
- },
532
- methods: {
533
- //气表品牌查询
534
- getTableBrands() {
535
- new HttpResetClass().load("POST", `/rs/sql/safe_singleTable_OrderBy`,
536
- {data: {items: "*", tablename: "t_gasbrand", orderitem: "id", condition: ` 1=1 `}},
537
- {resolveMsg: null, rejectMsg: null}).then((resp) => {
538
- resp.data.forEach((result) => {
539
- this.tableBrands.push({label: result.f_meter_brand, value: result.f_meter_brand})
540
- })
541
- })
542
- },
543
- //获取省市区列表
544
- getPcd(val){
545
- this.pcds = [{label:'全部',value:''}]
546
- new HttpResetClass().load("POST", `/rs/sql/safe_singleTable_OrderBy`,
547
- {data:{items:"*",tablename:"t_pcd",orderitem:"id",condition:`f_orgid in ${val}`}},
548
- {resolveMsg: null, rejectMsg: null}).then((pcdlist)=>{
549
- pcdlist.data.forEach((result)=>{
550
- this.pcds.push({label:result.f_pcd,value:result.f_pcd})
551
- })
552
- })
553
- },
554
- showaudio(){
555
- //tag
556
- this.audioshow=!this.audioshow
557
- //tag
558
- },
559
- getmeterbook(val){
560
- this.cbc=[]
561
- this.cbc.push({
562
- label:'全部',
563
- value:''
564
- })
565
- if (val==''){
566
-
567
- this.cbcs.forEach(res=>{
568
- this.cbc.push({
569
- label:res.f_book_name,
570
- value:res.id
571
- })
572
- })
573
- }else{
574
- this.cbcs.forEach(res=>{
575
- if (res.f_book_slice_area==val){
576
- this.cbc.push({
577
- label:res.f_book_name,
578
- value:res.id
579
- })
580
- }
581
- })
582
- }
583
- },
584
- Mreadibook(val){
585
- ////tag
586
- ////tag
587
- if (val){
588
- new HttpResetClass().load('POST',`/rs/sql/tel_singleTable_OrderBy`, {data: {
589
- items: 'name',
590
- tablename: 't_zone',
591
- condition: `parentid in ${val}`,
592
- orderitem: 'id'
593
- }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
594
- this.sliceArea=[]
595
- this.sliceArea.push({
596
- label:'全部',
597
- value:''
598
- })
599
- res.data.forEach(ress=>{
600
- this.sliceArea.push({
601
- label:ress.name,
602
- value:ress.name
603
- })
604
- })
605
-
606
- })
607
- }
608
- },
609
- getAllMeterBook(val){
610
- ////tag
611
- ////tag
612
- this.cbcs=[]
613
- if (val){
614
- new HttpResetClass().load('POST',`/rs/sql/tel_singleTable_OrderBy`, {data: {
615
- items: 'f_book_name,f_book_slice_area,id',
616
- tablename: 't_meter_book',
617
- condition: `f_filiale_id in ${val}`,
618
- orderitem: 'id'
619
- }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
620
- res.data.forEach(ress=>{
621
- this.cbcs.push({
622
- id:ress.id,
623
- f_book_name:ress.f_book_name,
624
- f_book_slice_area:ress.f_book_slice_area
625
- })
626
- })
627
- this.cbc=[]
628
- this.cbc.push({
629
- label:'全部',
630
- value:''
631
- })
632
- this.cbcs.forEach(res=>{
633
- this.cbc.push({
634
- label:res.f_book_name,
635
- value:res.id
636
- })
637
- })
638
- })
639
- }
640
- },
641
- getRes(obj) {
642
- this.model.f_filialeid = this.$login.convertToIn(obj.resids);
643
- this.searchData.f_filialeid = this.$login.convertToIn(obj.resids);
644
- this.Mreadibook(this.model.f_filialeid)
645
- this.getAllMeterBook(this.model.f_filialeid)
646
- this.getPcd(this.model.f_filialeid)
647
- //this.$refs.paged.$refs.criteria.search()
648
- },
649
-
650
- change(row) {
651
- asyncReady(this).then(() => {
652
- if (row.f_safe_type == '已挂表未办卡安检'){
653
- row.f_upload_state = '已传'
654
- this.$goto('new-check-paper-temp', {f_plan_id: row.f_check_plan_id, item: row, role: 'view'}, 'self')
655
- return
656
- }
657
- row.f_upload_state = '已传'
658
- this.$goto('new-check-paper', {f_plan_id: row.f_check_plan_id, item: row, role: 'view'}, 'self')
659
- }).catch(
660
- (respanse) => {
661
- alert('获取配置文件失败')
662
- })
663
- },
664
- readConfig() {
665
- let gen = asyncReady(this)
666
- return co(gen)
667
- },
668
- showChooser() {
669
- this.showModal = true
670
- },
671
- hidden() {
672
- this.criteriaShow = !this.criteriaShow
673
- },
674
- refresh() {
675
- this.$refs.paged.$refs.criteria.search()
676
- },
677
- ok() {
678
- this.showModal = false
679
- if (this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow.id) {
680
- this.model.f_plan_id = this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow.id
681
- this.model.f_check_plan=this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow
682
- }
683
- },
684
- cancel() {
685
- this.showModal = false
686
- this.model.f_check_plan = {f_plan_name: '', id: ''}
687
- this.model.f_plan_id=''
688
- },
689
- print(row) {
690
- this.showcheckmsg = true
691
- this.checkInfo = row
692
- },
693
-
694
- sort(field, rule) {
695
- // 将所有排序方式设为不排序,实现相互排斥
696
- for (let key in this.orderFields) {
697
- if (key === field) {
698
- this.orderFields[key] = rule
699
- } else {
700
- this.orderFields[key] = 'no'
701
- }
702
- }
703
- // 如果新规则不排序,还原为默认排序
704
- if (rule === 'no') {
705
- this.model.paramSource.orderitem = `'${this.orderDefault}'`
706
- } else {
707
- this.model.paramSource.orderitem = `'${field} ${rule}'`
708
- }
709
- this.search()
710
- },
711
- search() {
712
- console.log('审核通过回调')
713
- this.$refs.paged.$refs.criteria.search()
714
- },
715
- selfSearch(args) {
716
- ////tag
717
- //args.condition+=" and f_check_type='民用'"
718
- if(args.model.f_check_date){
719
- const daysBefore = Number(args.model.f_check_date);
720
- if ( daysBefore > 0) {
721
- // 获取当前日期
722
- const now = new Date();
723
- // 计算三天前的日期
724
- const threeDaysBefore = new Date(now.getTime() - (daysBefore * 24 * 60 * 60 * 1000));
725
- // 如果需要格式化日期,可以使用Date对象的方法
726
- var formattedDate = threeDaysBefore.toISOString().split('T')[0];
727
- args.condition += ` and f_offsite_time <='${formattedDate} 23:59:59'`;
728
- } else {
729
- console.error('f_check_date不是一个有效的正整数');
730
- }
731
- }
732
- this.model.search(args.condition, args.model, args.condValue)
733
- }
734
- },
735
- ready() {
736
- if(this.safeAudit){
737
- let oa = {
738
- 'f_approved_by':'审核人',
739
- 'f_approvedstart_time':'审核开始时间',
740
- 'f_approved_time':'审核结束时间',
741
- 'f_approved':'审核状态',
742
- 'f_approved_note': '审核备注'
743
- }
744
- this.excelHeaders = Object.assign({}, this.excelHeaders, oa)
745
- }
746
- this.function = this.f
747
- //获取气表品牌
748
- this.getTableBrands()
749
- let gen = select(this)
750
- //this.pianqu()
751
- this.Mreadibook(`('${this.$login.f.f_orgids.substring(0,this.$login.f.f_orgids.length-1)}')`)
752
- co(gen)
753
- this.$refs.paged.$refs.criteria.model.f_check_start = Util.toStartDateString() + ' 00:00:00'
754
- this.$refs.paged.$refs.criteria.model.f_check_end = Util.toEndDateString() + ' 23:59:59'
755
- },
756
- watch: {
757
- 'model.f_no_checkplan'(val) {
758
- if (this.model.f_no_checkplan){
759
- this.searchData.f_no_checkplan = val
760
- }
761
- if (this.model.f_no_checkplan == '有计划安检') {
762
-
763
- this.showChooser()
764
- }
765
- },
766
- 'model.condition'(val) {
767
- if (val) {
768
- this.searchData.condition = val
769
- }
770
-
771
- },
772
- 'model.f_entry'(val) {
773
- this.searchData.f_entry_status = val
774
- },
775
- 'model.f_plan_id'(val) {
776
- if (val) {
777
- this.searchData.f_plan_id = val
778
- }
779
- },
780
- 'model.f_slice_area'(val) {
781
- },
782
- 'model.f_approved'(val) {
783
- if (val) {
784
- this.searchData.f_approved = val
785
- }
786
- },
787
- }
788
-
789
- }
790
- </script>
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="查找安检单" template-name='安检记录明细'></export-excel-safe>
44
+ <button class="button_spacing button_search" @click="$parent.$parent.showaudio()" v-if="$parent.$parent.audioshow">隐藏</button>
45
+
46
+ <button class="button_spacing button_search" @click="search()">查询</button>
47
+ <div style="float: right" class="button_spacing"
48
+ :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}"
49
+ @click="$parent.$parent.hidden()"></div>
50
+ </div>
51
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
52
+ <label class="font_normal_body">安检计划</label>
53
+ <input type="text" class="input_search" v-model="$parent.$parent.model.f_check_plan.f_plan_name"
54
+ @click="$parent.$parent.showChooser"
55
+ style="width: 60%" placeholder="安检计划" readonly="readonly">
56
+ </div>
57
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
58
+ <label class="font_normal_body">开始时间</label>
59
+ <datepicker
60
+ :value.sync="model.f_check_start"
61
+ placeholder='开始时间' style="width: 60%"
62
+ :disabled-days-of-week="[]"
63
+ :format="'yyyy-MM-dd'"
64
+ :show-rest-button="reset"
65
+ v-model="model.f_check_start"
66
+ condition="f_offsite_time > ='{} 00:00:00'">
67
+ </datepicker>
68
+ </div>
69
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
70
+ <label class="font_normal_body">结束时间</label>
71
+ <datepicker
72
+ :value.sync="model.f_check_end"
73
+ placeholder='结束时间' style="width: 60%"
74
+ :disabled-days-of-week="[]"
75
+ :format="'yyyy-MM-dd'"
76
+ :show-rest-button="reset"
77
+ v-model="model.f_check_end"
78
+ condition="f_offsite_time <= '{} 23:59:59'">
79
+ </datepicker>
80
+ </div>
81
+
82
+
83
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
84
+
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
+
94
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
95
+
96
+ <label class="font_normal_body">客户类型</label>
97
+ <v-select :value.sync="model.f_check_type" v-model='model.f_check_type'
98
+ :value-single="true" style="width: 60%"
99
+ class="select_list select"
100
+ :options='$parent.$parent.checktype' placeholder='客户类型'
101
+ close-on-select
102
+ condition="f_check_type = '{}'"></v-select>
103
+ </div>
104
+
105
+
106
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
107
+ <label class="font_normal_body">安检状态</label>
108
+ <v-select id="f_entry"
109
+ class="select_list select"
110
+ placeholder='安检状态' style="width: 60%"
111
+ v-model='model.f_entry'
112
+ :value.sync="$parent.$parent.model.f_entry"
113
+ :options='$parent.$parent.f_entry_status'
114
+ condition=""
115
+ :value-single="true"
116
+ close-on-select clear-button></v-select>
117
+ </div>
118
+ <div class="col-sm-4 form-group" v-show="$parent.$parent.criteriaShow" style="margin: 0">
119
+ <role-selector-safe
120
+ role-name="安检员"
121
+ role-lable="安&nbsp;检&nbsp;员&nbsp;"
122
+ @re-res="$parent.$parent.getRes"
123
+ :value.sync="model.f_checker_id"
124
+ v-model="model.f_checker_id"
125
+ condition="f_checker_name = '{}'">
126
+ </role-selector-safe>
127
+ </div>
128
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
129
+ <label class="font_normal_body">片&emsp;&emsp;区</label>
130
+ <v-select class="select_list select"
131
+ placeholder='片区/管理站' style="width: 60%"
132
+ :value.sync="model.f_slice_area" v-model="model.f_slice_area"
133
+ :options='$parent.$parent.sliceArea'
134
+ filer-key="name"
135
+ close-on-select clear-button
136
+ condition="f_slice_area='{}'"
137
+ @change="$parent.$parent.getmeterbook(model.f_slice_area)"
138
+ :value-single="true">
139
+ </v-select>
140
+ </div>
141
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
142
+ <label class="font_normal_body">抄&ensp;表&ensp;册</label>
143
+ <v-select class="select_list select"
144
+ placeholder='抄表册' style="width: 60%"
145
+ :value.sync="model.f_meter_book_num" v-model="model.f_meter_book_num"
146
+ :options='$parent.$parent.cbc'
147
+ filer-key="name"
148
+ close-on-select clear-button
149
+ condition="f_meter_book_num={}"
150
+ :value-single="true">
151
+ </v-select>
152
+ </div>
153
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
154
+ <label class="font_normal_body">省&ensp;市&ensp;区</label>
155
+ <v-select class="select_list select"
156
+ placeholder='请选择' style="width: 60%"
157
+ :value.sync="model.f_pcd" v-model="model.f_pcd"
158
+ :options='$parent.$parent.pcds'
159
+ filer-key="name"
160
+ close-on-select clear-button
161
+ condition="f_pcd='{}'"
162
+ :value-single="true">
163
+ </v-select>
164
+ </div>
165
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
166
+ <label class="font_normal_body">建档时间</label>
167
+ <datepicker
168
+ :value.sync="model.f_check_gasstart"
169
+ placeholder='开始时间' style="width: 60%"
170
+ :disabled-days-of-week="[]"
171
+ :format="'yyyy-MM-dd'"
172
+ :show-rest-button="reset"
173
+ v-model="model.f_check_gasstart"
174
+ condition="f_createfile_date > ='{} 00:00:00'">
175
+ </datepicker>
176
+ </div>
177
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
178
+ <label class="font_normal_body">建档时间</label>
179
+ <datepicker
180
+ :value.sync="model.f_check_gasend"
181
+ placeholder='结束时间' style="width: 60%"
182
+ :disabled-days-of-week="[]"
183
+ :format="'yyyy-MM-dd'"
184
+ :show-rest-button="reset"
185
+ v-model="model.f_check_gasend"
186
+ condition="f_createfile_date <= '{} 23:59:59'">
187
+ </datepicker>
188
+ </div>
189
+ <div class="form-group col-sm-2" v-show="$parent.$parent.safeAudit && $parent.$parent.criteriaShow ">
190
+ <label class="font_normal_body">审&ensp;核&ensp;人</label>
191
+ <input type="text" class="input_search" v-model="model.f_approved_by"
192
+ style="width: 60%" placeholder="审核人" condition="f_approved_by like '%{}%'">
193
+ </div>
194
+ <div class="form-group col-sm-2" v-show="$parent.$parent.safeAudit && $parent.$parent.criteriaShow ">
195
+ <label class="font_normal_body">审核时间</label>
196
+ <datepicker
197
+ :value.sync="model.f_approved_timestart"
198
+ placeholder='开始时间' style="width: 60%"
199
+ :disabled-days-of-week="[]"
200
+ :format="'yyyy-MM-dd'"
201
+ :show-rest-button="reset"
202
+ v-model="model.f_approved_timestart"
203
+ condition="f_approved_time > ='{} 00:00:00'">
204
+ </datepicker>
205
+ </div>
206
+ <div class="form-group col-sm-2" v-show="$parent.$parent.safeAudit && $parent.$parent.criteriaShow ">
207
+ <label class="font_normal_body">审核时间</label>
208
+ <datepicker
209
+ :value.sync="model.f_approved_timeend"
210
+ placeholder='结束时间' style="width: 60%"
211
+ :disabled-days-of-week="[]"
212
+ :format="'yyyy-MM-dd'"
213
+ :show-rest-button="reset"
214
+ v-model="model.f_approved_timeend"
215
+ condition="f_approved_time <= '{} 23:59:59'">
216
+ </datepicker>
217
+ </div>
218
+ <div class="form-group col-sm-2" v-show="$parent.$parent.safeAudit &&$parent.$parent.criteriaShow">
219
+ <label class="font_normal_body" title="参数管理:安检审核状态">审核状态</label>
220
+ <v-select class="select_list select"
221
+ placeholder='请选择' style="width: 60%"
222
+ :value.sync="model.f_approved" v-model="model.f_approved"
223
+ :options='$parent.$parent.approveds'
224
+ filer-key="name"
225
+ close-on-select clear-button
226
+ condition="f_approved='{}'"
227
+ :value-single="true">
228
+ </v-select>
229
+ </div>
230
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow" >
231
+ <label class="font_normal_body">气表品牌</label>
232
+ <v-select
233
+ class="select_list select"
234
+ placeholder='气表品牌' style="width: 60%"
235
+ v-model='model.tableBrand'
236
+ :value.sync="model.tableBrand"
237
+ :options='$parent.$parent.tableBrands'
238
+ condition="f_meter_brand = '{}'"
239
+ :value-single="true"
240
+ close-on-select clear-button></v-select>
241
+ </div>
242
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
243
+ <label class="font_normal_body">有无计划</label>
244
+ <v-select class="select_list select"
245
+ placeholder='请选择' style="width: 60%"
246
+ :value.sync="model.f_no_checkplan" v-model="model.f_no_checkplan"
247
+ :options='$parent.$parent.no_checkplans'
248
+ filer-key="name"
249
+ close-on-select clear-button
250
+ condition="f_no_checkplan='{}'"
251
+ :value-single="true">
252
+ </v-select>
253
+ </div>
254
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
255
+ <label class="font_normal_body">未用燃气</label>
256
+ <v-select class="select_list select"
257
+ placeholder='请选择' style="width: 60%"
258
+ :value.sync="model.f_usegas" v-model="model.f_usegas"
259
+ :options='$parent.$parent.usegas'
260
+ filer-key="name"
261
+ close-on-select clear-button
262
+ condition="f_usegas='{}'"
263
+ :value-single="true">
264
+ </v-select>
265
+ </div>
266
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
267
+ <label class="font_normal_body">客户卡号</label>
268
+ <input type="text" class="input_search" v-model="model.f_card_id"
269
+ style="width: 60%" placeholder="客户卡号" condition="f_card_id like '%{}%'">
270
+ </div>
271
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
272
+ <label class="font_normal_body">距上次安检天数</label>
273
+ <input type="number" class="input_search" v-model="model.f_check_date"
274
+ style="width: 60%" placeholder="距上次安检天数" >
275
+ </div>
276
+ </div>
277
+ <modal :show.sync="$parent.$parent.showModal" v-ref:modal backdrop="false">
278
+ <div slot="modal-header" class="modal-header">
279
+ <h4 class="modal-title">
280
+ 选择计划
281
+ </h4>
282
+ </div>
283
+ <div slot="modal-body" class="modal-body">
284
+ <plan-chooser :f.sync="$parent.$parent.fun" v-ref:chooser></plan-chooser>
285
+ </div>
286
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
287
+ <button class="button_search" @click="$parent.$parent.ok">确认</button>
288
+ <button class="button_search" @click="$parent.$parent.cancel">取消</button>
289
+ </div>
290
+ </modal>
291
+ </div>
292
+ </criteria>
293
+ <data-grid class="list_area table_sy" style="overflow: hidden" :model="model" partial='list' v-ref:grid>
294
+ <template partial='head'>
295
+ <tr>
296
+ <th>
297
+ <nobr>客户编号</nobr>
298
+ </th>
299
+ <th>
300
+ <nobr>客户名称</nobr>
301
+ </th>
302
+ <th>
303
+ <nobr>客户表号</nobr>
304
+ </th>
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
+ <data-order field="f_offsite_time" name="安检时间"></data-order>
328
+ </th>
329
+ <th>
330
+ <nobr>安检员</nobr>
331
+ </th>
332
+ <th>
333
+ <nobr>备注</nobr>
334
+ </th>
335
+ <th>
336
+ <nobr>建档时间</nobr>
337
+ </th>
338
+ <th v-if="$parent.$parent.$parent.safeAudit">
339
+ <nobr>审核人</nobr>
340
+ </th>
341
+ <th v-if="$parent.$parent.$parent.safeAudit">
342
+ <nobr>审核起始</nobr>
343
+ </th>
344
+ <th v-if="$parent.$parent.$parent.safeAudit">
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>
354
+ <nobr>操作</nobr>
355
+ </th>
356
+ <th v-if="$parent.$parent.$parent.audioshow">
357
+ <nobr>录音</nobr>
358
+ </th>
359
+ </tr>
360
+ </template>
361
+ <template partial='body'>
362
+
363
+ <td style="text-align: center">{{row.f_userinfo_code}}</td>
364
+ <td style="text-align: center">{{row.f_user_name}}</td>
365
+ <td style="text-align: center">{{row.f_meternumber}}</td>
366
+ <td style="text-align: center">{{row.f_meter_brand}}</td>
367
+ <td style="text-align: center">{{row.f_user_phone}}</td>
368
+ <td style="text-align: center">{{row.f_check_type}}</td>
369
+
370
+ <td style="text-align: center">{{ row.f_address }}</td>
371
+ <td style="text-align: center">{{ row.f_entry_status }}</td>
372
+ <td style="text-align: center">{{ row.f_plan_name }}</td>
373
+ <td style="text-align: center">{{ row.f_usegas }}</td>
374
+ <td style="text-align: center">{{ row.f_offsite_time }}</td>
375
+ <td style="text-align: center">{{ row.f_checker_name }}</td>
376
+ <td style="text-align: center">{{ row.f_repair_approved_note }}</td>
377
+ <td style="text-align: center">{{ row.f_createfile_date }}</td>
378
+ <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">{{ row.f_approved_by }}</td>
379
+ <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">{{ row.f_approvedstart_time }}</td>
380
+ <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">{{ row.f_approved_time }}</td>
381
+ <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">
382
+ {{ row.f_approved ? row.f_approved : '未审核' }}
383
+ </td>
384
+ <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">
385
+ {{row.f_approved_note}}
386
+ </td>
387
+ <td style="text-align: center">
388
+ <button class="button_spacing button_search-1" @click='$parent.$parent.$parent.change(row)'>查看</button>
389
+
390
+
391
+ </td>
392
+ <td style="text-align: center" v-if="$parent.$parent.$parent.audioshow">
393
+ <!-- <button class="button_spacing button_search-1" @click='$parent.$parent.$parent.change(row)'>查看</button>-->
394
+ <audio controls="controls" v-if="row.f_recording1_path">
395
+ <source type="audio/mpeg" :src="'rs/audio/file/'+row.f_recording1_path">
396
+ </audio>
397
+ <!--<button type="button" class="button_new-1 button_spacing" data-toggle="dropdown"
398
+ @click="$parent.$parent.$parent.print(row)">
399
+ 打印
400
+ </button>-->
401
+ </td>
402
+ </template>
403
+ </data-grid>
404
+ </criteria-paged>
405
+ <check-msg v-if="showcheckmsg" :show="showcheckmsg" :data="checkInfo"></check-msg>
406
+ </div>
407
+ </div>
408
+ </template>
409
+
410
+ <script>
411
+ import {PagedList} from 'vue-client'
412
+ import Vue from 'vue'
413
+ import co from 'co'
414
+ import AppData from '../../../stores/AppData'
415
+ import * as Util from '../../Util'
416
+ import getNowDate from "../../../utils/getNowDate";
417
+ import HttpResetClass from "vue-client/src/plugins/HttpResetClass";
418
+ import BenzAMRRecorder from 'benz-amr-recorder'
419
+ import {toEndDateString, toStartDateString} from "../../Util";
420
+
421
+ //获取json配置文件
422
+ let asyncReady = async function (self) {
423
+ // 获取配置信息
424
+ try {
425
+ let res = await Vue.resetget(`/phone/rs/vue`, {data: {}}, {resolveMsg: null, rejectMsg: null})
426
+ Vue.config = res.data
427
+ } catch (error) {
428
+ // 忽略704,文件找不到异常R
429
+ if (error.status !== 704) {
430
+ throw error
431
+ }
432
+ }
433
+ }
434
+
435
+ let select = function* (self) {
436
+ let http = new HttpResetClass()
437
+ let getGasman = yield http.load('POST', '/rs/search', {
438
+ source: 'tool.getChildrenOfResName($安检员$)',
439
+ userid: self.$login.f.id
440
+ }, {resolveMsg: null, rejectMsg: null})
441
+ ////tag
442
+ self.checkersid.push({label: '全部', value: ''})
443
+ getGasman.data.forEach((checker) => {
444
+ self.checkersid.push({label: checker.name, value: checker.id})
445
+ })
446
+ }
447
+
448
+ export default {
449
+ title: '安检结果查看',
450
+ data() {
451
+ let model = new PagedList('rs/sql/查找安检单', 20, {
452
+ f_plan_id: 'this.f_plan_id',
453
+ f_approved: 'this.f_approved',
454
+ f_entry_status: 'this.f_entry',
455
+ f_no_checkplan: 'this.f_no_checkplan',
456
+ f_filialeid: 'this.f_filialeid',
457
+ orderitem: "'f_offsite_time desc'"
458
+ })
459
+ model.f_check_type = ''
460
+ model.f_plan_id = ''
461
+ model.f_approved = ''
462
+ model.f_entry = ''
463
+ model.f_no_checkplan = ''
464
+ model.f_filialeid = `('${this.$login.f.f_orgids.substring(0,this.$login.f.f_orgids.length-1)}')`
465
+ //model.f_check_type='民用'
466
+ // let searchData={
467
+ // f_plan_id: this.model.f_checker_id==undefined?"":this.model.f_checker_id,
468
+ // f_approved: this.model.f_approved,
469
+ // f_entry_status: this.model.f_entry,
470
+ // f_no_checkplan:this.model.f_no_checkplan[0],
471
+ // f_filialeid: this.model.f_filialeid,
472
+ // //orderitem: this.model.f_offsite_time,
473
+ // //condition:this.model.condition
474
+ // }
475
+ // model.f_subcompany = this.$login.f.f_fengongsi
476
+ return {
477
+ tableBrands: [{label: '全部', value: ''}],
478
+ audioshow: false,
479
+ safeAudit: this.$appdata.getSingleValue('安检审核') == '是' ? true : false,
480
+ searchData: {
481
+ condition: "1=1",
482
+ orderitem: "f_offsite_time desc",
483
+ f_plan_id: "",
484
+ f_approved: '',
485
+ f_entry_status: '',
486
+ f_no_checkplan: '',
487
+ f_filialeid: `('${this.$login.f.f_orgids.substring(0,this.$login.f.f_orgids.length-1)}')`
488
+ },
489
+ model: model,
490
+ excelHeaders: {
491
+ //searchData:searchData,
492
+ 'f_userinfo_code': '客户编号',
493
+ 'f_user_name': '客户姓名',
494
+ 'f_meternumber':'客户表号',
495
+ 'f_user_phone':'客户电话',
496
+ 'f_check_type': '客户类型',
497
+ 'f_residential_area': '小区',
498
+ 'f_address': '客户地址',
499
+ 'f_entry_status': '安检状态',
500
+ 'f_usegas': '用气状态',
501
+ 'f_offsite_time': '安检时间',
502
+ 'f_checker_name': '安检员',
503
+ 'f_safecheck_type':'安检类型',
504
+ 'f_repair_approved_note': '备注',
505
+ 'f_createfile_date': '建档时间',
506
+ 'f_plan_name': '计划名称'
507
+ },
508
+ fun: this.$login.f,
509
+ pcds:[],
510
+ checkersid: [],
511
+ approveds:this.$appdata.getParam('安检审核状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检审核状态')]:[{label: '全部', value: ''}],
512
+ safetype: this.$appdata.getParam('安检类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检类型')]:[{label: '全部', value: ''}],
513
+ criteriaShow: false,
514
+ checktype: this.$appdata.getParam('用户类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]:[{label: '全部', value: ''}],
515
+ f_check_type:[{label:'全部',value:''},{label:'民用',value:'民用'},{label:'非民用',value:'非民用'}],
516
+ showModal: false,
517
+ safe_types:this.$appdata.getParam('计划类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('计划类型')]:[{label: '全部', value: ''}],
518
+ f_approval_states: this.$appdata.getParam('安检单审核状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检单审核状态')]:[{label: '全部', value: ''}],
519
+ f_entry_status: this.$appdata.getParam('安检状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检状态')]:[{label: '全部', value: ''}],
520
+ no_checkplans: this.$appdata.getParam('有无计划')?[{label: '全部', value: ''}, ...this.$appdata.getParam('有无计划')]:[{label: '全部', value: ''}],
521
+ usegas: this.$appdata.getParam('用气状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用气状态')]:[{label: '全部', value: ''}],
522
+ showcheckmsg: false,
523
+ checkInfo: {},
524
+ orderDefault: "'f_offsite_time'",
525
+ orderFields: {
526
+ f_offsite_time: 'no'
527
+ },
528
+ sliceArea: [],
529
+ cbc:[]
530
+ }
531
+ },
532
+ methods: {
533
+ //气表品牌查询
534
+ getTableBrands() {
535
+ new HttpResetClass().load("POST", `/rs/sql/safe_singleTable_OrderBy`,
536
+ {data: {items: "*", tablename: "t_gasbrand", orderitem: "id", condition: ` 1=1 `}},
537
+ {resolveMsg: null, rejectMsg: null}).then((resp) => {
538
+ resp.data.forEach((result) => {
539
+ this.tableBrands.push({label: result.f_meter_brand, value: result.f_meter_brand})
540
+ })
541
+ })
542
+ },
543
+ //获取省市区列表
544
+ getPcd(val){
545
+ this.pcds = [{label:'全部',value:''}]
546
+ new HttpResetClass().load("POST", `/rs/sql/safe_singleTable_OrderBy`,
547
+ {data:{items:"*",tablename:"t_pcd",orderitem:"id",condition:`f_orgid in ${val}`}},
548
+ {resolveMsg: null, rejectMsg: null}).then((pcdlist)=>{
549
+ pcdlist.data.forEach((result)=>{
550
+ this.pcds.push({label:result.f_pcd,value:result.f_pcd})
551
+ })
552
+ })
553
+ },
554
+ showaudio(){
555
+ //tag
556
+ this.audioshow=!this.audioshow
557
+ //tag
558
+ },
559
+ getmeterbook(val){
560
+ this.cbc=[]
561
+ this.cbc.push({
562
+ label:'全部',
563
+ value:''
564
+ })
565
+ if (val==''){
566
+
567
+ this.cbcs.forEach(res=>{
568
+ this.cbc.push({
569
+ label:res.f_book_name,
570
+ value:res.id
571
+ })
572
+ })
573
+ }else{
574
+ this.cbcs.forEach(res=>{
575
+ if (res.f_book_slice_area==val){
576
+ this.cbc.push({
577
+ label:res.f_book_name,
578
+ value:res.id
579
+ })
580
+ }
581
+ })
582
+ }
583
+ },
584
+ Mreadibook(val){
585
+ ////tag
586
+ ////tag
587
+ if (val){
588
+ new HttpResetClass().load('POST',`/rs/sql/tel_singleTable_OrderBy`, {data: {
589
+ items: 'name',
590
+ tablename: 't_zone',
591
+ condition: `parentid in ${val}`,
592
+ orderitem: 'id'
593
+ }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
594
+ this.sliceArea=[]
595
+ this.sliceArea.push({
596
+ label:'全部',
597
+ value:''
598
+ })
599
+ res.data.forEach(ress=>{
600
+ this.sliceArea.push({
601
+ label:ress.name,
602
+ value:ress.name
603
+ })
604
+ })
605
+
606
+ })
607
+ }
608
+ },
609
+ getAllMeterBook(val){
610
+ ////tag
611
+ ////tag
612
+ this.cbcs=[]
613
+ if (val){
614
+ new HttpResetClass().load('POST',`/rs/sql/tel_singleTable_OrderBy`, {data: {
615
+ items: 'f_book_name,f_book_slice_area,id',
616
+ tablename: 't_meter_book',
617
+ condition: `f_filiale_id in ${val}`,
618
+ orderitem: 'id'
619
+ }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
620
+ res.data.forEach(ress=>{
621
+ this.cbcs.push({
622
+ id:ress.id,
623
+ f_book_name:ress.f_book_name,
624
+ f_book_slice_area:ress.f_book_slice_area
625
+ })
626
+ })
627
+ this.cbc=[]
628
+ this.cbc.push({
629
+ label:'全部',
630
+ value:''
631
+ })
632
+ this.cbcs.forEach(res=>{
633
+ this.cbc.push({
634
+ label:res.f_book_name,
635
+ value:res.id
636
+ })
637
+ })
638
+ })
639
+ }
640
+ },
641
+ getRes(obj) {
642
+ this.model.f_filialeid = this.$login.convertToIn(obj.resids);
643
+ this.searchData.f_filialeid = this.$login.convertToIn(obj.resids);
644
+ this.Mreadibook(this.model.f_filialeid)
645
+ this.getAllMeterBook(this.model.f_filialeid)
646
+ this.getPcd(this.model.f_filialeid)
647
+ //this.$refs.paged.$refs.criteria.search()
648
+ },
649
+
650
+ change(row) {
651
+ asyncReady(this).then(() => {
652
+ if (row.f_safe_type == '已挂表未办卡安检'){
653
+ row.f_upload_state = '已传'
654
+ this.$goto('new-check-paper-temp', {f_plan_id: row.f_check_plan_id, item: row, role: 'view'}, 'self')
655
+ return
656
+ }
657
+ row.f_upload_state = '已传'
658
+ this.$goto('new-check-paper', {f_plan_id: row.f_check_plan_id, item: row, role: 'view'}, 'self')
659
+ }).catch(
660
+ (respanse) => {
661
+ alert('获取配置文件失败')
662
+ })
663
+ },
664
+ readConfig() {
665
+ let gen = asyncReady(this)
666
+ return co(gen)
667
+ },
668
+ showChooser() {
669
+ this.showModal = true
670
+ },
671
+ hidden() {
672
+ this.criteriaShow = !this.criteriaShow
673
+ },
674
+ refresh() {
675
+ this.$refs.paged.$refs.criteria.search()
676
+ },
677
+ ok() {
678
+ this.showModal = false
679
+ if (this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow.id) {
680
+ this.model.f_plan_id = this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow.id
681
+ this.model.f_check_plan=this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow
682
+ }
683
+ },
684
+ cancel() {
685
+ this.showModal = false
686
+ this.model.f_check_plan = {f_plan_name: '', id: ''}
687
+ this.model.f_plan_id=''
688
+ },
689
+ print(row) {
690
+ this.showcheckmsg = true
691
+ this.checkInfo = row
692
+ },
693
+
694
+ sort(field, rule) {
695
+ // 将所有排序方式设为不排序,实现相互排斥
696
+ for (let key in this.orderFields) {
697
+ if (key === field) {
698
+ this.orderFields[key] = rule
699
+ } else {
700
+ this.orderFields[key] = 'no'
701
+ }
702
+ }
703
+ // 如果新规则不排序,还原为默认排序
704
+ if (rule === 'no') {
705
+ this.model.paramSource.orderitem = `'${this.orderDefault}'`
706
+ } else {
707
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
708
+ }
709
+ this.search()
710
+ },
711
+ search() {
712
+ console.log('审核通过回调')
713
+ this.$refs.paged.$refs.criteria.search()
714
+ },
715
+ selfSearch(args) {
716
+ ////tag
717
+ //args.condition+=" and f_check_type='民用'"
718
+ if(args.model.f_check_date){
719
+ const daysBefore = Number(args.model.f_check_date);
720
+ if ( daysBefore > 0) {
721
+ // 获取当前日期
722
+ const now = new Date();
723
+ // 计算三天前的日期
724
+ const threeDaysBefore = new Date(now.getTime() - (daysBefore * 24 * 60 * 60 * 1000));
725
+ // 如果需要格式化日期,可以使用Date对象的方法
726
+ var formattedDate = threeDaysBefore.toISOString().split('T')[0];
727
+ args.condition += ` and f_offsite_time <='${formattedDate} 23:59:59'`;
728
+ } else {
729
+ console.error('f_check_date不是一个有效的正整数');
730
+ }
731
+ }
732
+ this.model.search(args.condition, args.model, args.condValue)
733
+ }
734
+ },
735
+ ready() {
736
+ if(this.safeAudit){
737
+ let oa = {
738
+ 'f_approved_by':'审核人',
739
+ 'f_approvedstart_time':'审核开始时间',
740
+ 'f_approved_time':'审核结束时间',
741
+ 'f_approved':'审核状态',
742
+ 'f_approved_note': '审核备注'
743
+ }
744
+ this.excelHeaders = Object.assign({}, this.excelHeaders, oa)
745
+ }
746
+ this.function = this.f
747
+ //获取气表品牌
748
+ this.getTableBrands()
749
+ let gen = select(this)
750
+ //this.pianqu()
751
+ this.Mreadibook(`('${this.$login.f.f_orgids.substring(0,this.$login.f.f_orgids.length-1)}')`)
752
+ co(gen)
753
+ this.$refs.paged.$refs.criteria.model.f_check_start = Util.toStartDateString() + ' 00:00:00'
754
+ this.$refs.paged.$refs.criteria.model.f_check_end = Util.toEndDateString() + ' 23:59:59'
755
+ },
756
+ watch: {
757
+ 'model.f_no_checkplan'(val) {
758
+ if (this.model.f_no_checkplan){
759
+ this.searchData.f_no_checkplan = val
760
+ }
761
+ if (this.model.f_no_checkplan == '有计划安检') {
762
+
763
+ this.showChooser()
764
+ }
765
+ },
766
+ 'model.condition'(val) {
767
+ if (val) {
768
+ this.searchData.condition = val
769
+ }
770
+
771
+ },
772
+ 'model.f_entry'(val) {
773
+ this.searchData.f_entry_status = val
774
+ },
775
+ 'model.f_plan_id'(val) {
776
+ if (val) {
777
+ this.searchData.f_plan_id = val
778
+ }
779
+ },
780
+ 'model.f_slice_area'(val) {
781
+ },
782
+ 'model.f_approved'(val) {
783
+ if (val) {
784
+ this.searchData.f_approved = val
785
+ }
786
+ },
787
+ }
788
+
789
+ }
790
+ </script>