safecheck-client 4.0.1-66 → 4.0.1-68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/package.json +1 -1
  2. package/src/App.vue +31 -31
  3. package/src/components/CheckerCount/CheckCountUserList.vue +144 -144
  4. package/src/components/DefectDealMain/DefectListNew.vue +642 -642
  5. package/src/components/NewDefectList/DefectListNew.vue +682 -682
  6. package/src/components/android/AddPlanItem.vue +447 -447
  7. package/src/components/android/AddPlanItemYy.vue +451 -451
  8. package/src/components/android/AddSpecialPlanItem.vue +426 -426
  9. package/src/components/android/AndroidDefectDeal.vue +667 -667
  10. package/src/components/android/CurrentCreateYy.vue +1051 -1051
  11. package/src/components/android/DailyworkloadQuery.vue +473 -473
  12. package/src/components/android/Devices.vue +327 -327
  13. package/src/components/android/Devicesm.vue +327 -327
  14. package/src/components/android/NewCheckpaperAndroid.vue +1343 -1343
  15. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  16. package/src/components/android/PhoneRecordInfo.vue +113 -113
  17. package/src/components/android/PhoneSellInfo.vue +113 -113
  18. package/src/components/android/PhoneUpDetail.vue +1040 -1040
  19. package/src/components/android/QRCode/QRCodeBinding.vue +300 -300
  20. package/src/components/android/QRCode/QRCodePage.vue +212 -212
  21. package/src/components/android/SafePlanItem.vue +509 -509
  22. package/src/components/android/examples/SafeListExamples.vue +296 -296
  23. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  24. package/src/components/android/recheck/Recheck.vue +402 -402
  25. package/src/components/android/userinfo/SafecheckUserInfo.vue +776 -776
  26. package/src/components/checkplan/checkmsg.vue +459 -459
  27. package/src/components/defect/DefectList.vue +507 -507
  28. package/src/components/defect/DefectListWeixiu.vue +484 -484
  29. package/src/components/filialCircle/CircleList.vue +139 -139
  30. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  31. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  32. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  33. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  34. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  35. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  36. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  37. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  38. package/src/components/map/PersonTrack.vue +226 -226
  39. package/src/components/map/SecurityCheckCoordinates.vue +361 -361
  40. package/src/components/paper/RegionalList.vue +220 -220
  41. package/src/components/pc/AnnouncementPC.vue +524 -524
  42. package/src/components/pc/DefectList.vue +742 -742
  43. package/src/components/pc/DefectMaterialLook.vue +98 -98
  44. package/src/components/pc/DeviceChange.vue +1068 -1068
  45. package/src/components/pc/PaperDefectMain.vue +905 -905
  46. package/src/components/pc/SafeVisitInfo.vue +261 -261
  47. package/src/components/querycheckpaper/CheckSearchUser.vue +1072 -1072
  48. package/src/components/report/HiddenSituation.vue +165 -165
  49. package/src/components/rongcheng/AspiratedOrderV.vue +2377 -2377
  50. package/src/components/rongcheng/CurrentCreateOnline.vue +906 -906
  51. package/src/components/rongcheng/DefectList.vue +560 -560
  52. package/src/components/rongcheng/SafecheckOrderVCli.vue +2641 -2641
  53. package/src/components/safecheckNew/android/AddPlanItem.vue +419 -419
  54. package/src/components/safecheckNew/android/CurrentCreate.vue +1050 -1050
  55. package/src/components/safecheckNew/android/Recheck.vue +379 -379
  56. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  57. package/src/components/shaoguan/DefectList.vue +473 -473
  58. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  59. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  60. package/src/components/userfile/SecurityAudit.vue +243 -243
  61. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +476 -476
  62. package/src/filiale/ancheng/android/SafecheckOrderV.vue +2703 -2703
  63. package/src/filiale/ancheng/android/SafecheckUserInfo.vue +737 -737
  64. package/src/filiale/ancheng/pc/checkScreen.vue +923 -923
  65. package/src/filiale/ankangyihua/android/AddPlanItem.vue +446 -446
  66. package/src/filiale/ankangyihua/android/SafecheckOrderV.vue +2908 -2908
  67. package/src/filiale/ankangyihua/pc/DefectListWeixiu.vue +491 -491
  68. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -2785
  69. package/src/filiale/baiyin/pc/DefectListNew.vue +597 -597
  70. package/src/filiale/bayan/android/Edit.vue +132 -132
  71. package/src/filiale/bayan/pc/DefectListNew.vue +597 -597
  72. package/src/filiale/bayan/pc/DeviceChange.vue +1838 -1838
  73. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  74. package/src/filiale/dexin/android/CasualSave.vue +1050 -1050
  75. package/src/filiale/dexin/android/SafecheckOrderV.vue +2950 -2950
  76. package/src/filiale/fugou/android/AddPlanItem.vue +413 -413
  77. package/src/filiale/fugou/android/SafecheckOrderV.vue +2796 -2796
  78. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +830 -830
  79. package/src/filiale/fugu/android/SafecheckOrderV.vue +2484 -2484
  80. package/src/filiale/fugu/pc/NewCheckpaper.vue +1287 -1287
  81. package/src/filiale/ganquan/android/AddPlanItem.vue +444 -444
  82. package/src/filiale/ganquan/android/SafecheckOrderV.vue +2485 -2485
  83. package/src/filiale/ganquan/pc/NewCheckpaper.vue +1354 -1354
  84. package/src/filiale/guangxi/pc/DefectListNew.vue +518 -518
  85. package/src/filiale/hanzhong/android/SafecheckOrderV.vue +2683 -2683
  86. package/src/filiale/hanzhong/android/SafecheckUserInfo.vue +786 -786
  87. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -2803
  88. package/src/filiale/huatong/android/SafecheckOrderV.vue +2426 -2426
  89. package/src/filiale/huatong/android/SafecheckUserInfo.vue +749 -749
  90. package/src/filiale/huayin/pc/NewCheckpaper.vue +1307 -1307
  91. package/src/filiale/jiaocheng/android/AddPlanItem.vue +435 -435
  92. package/src/filiale/jiaocheng/android/SafecheckUserInfo.vue +737 -737
  93. package/src/filiale/jiaocheng/pc/DefectListNew.vue +576 -576
  94. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -447
  95. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2807
  96. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -784
  97. package/src/filiale/jinbin/pc/DefectListWeixiu.vue +478 -478
  98. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -458
  99. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
  100. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +781 -781
  101. package/src/filiale/kelai/android/AddPlanItem.vue +488 -488
  102. package/src/filiale/kelai/android/SafecheckUserInfo.vue +774 -774
  103. package/src/filiale/kelai/android/SafecheckUserInfo1.vue +618 -618
  104. package/src/filiale/kelai/pc/DefectListNew.vue +688 -688
  105. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasList.vue +518 -518
  106. package/src/filiale/kelai/pc/NewCheckpaper.vue +1454 -1454
  107. package/src/filiale/liaoyuan/android/AddPlanItem.vue +412 -412
  108. package/src/filiale/liaoyuan/android/CurrentCreate.vue +1066 -1066
  109. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2388 -2388
  110. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +557 -557
  111. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +489 -489
  112. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  113. package/src/filiale/lixian/android/SafecheckOrderV.vue +2404 -2404
  114. package/src/filiale/lixian/android/SafecheckUserInfo.vue +578 -578
  115. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  116. package/src/filiale/meihekou/android/AreaPlan.vue +577 -577
  117. package/src/filiale/meihekou/android/MeterReading.vue +110 -110
  118. package/src/filiale/meihekou/android/PhoneUpUserinfo.vue +1307 -1307
  119. package/src/filiale/meihekou/android/SafecheckUserInfo.vue +785 -785
  120. package/src/filiale/meihekou/pc/NewCheckpaperTemp.vue +1288 -1288
  121. package/src/filiale/meihekou/pc/PaperList.vue +1142 -1136
  122. package/src/filiale/minsheng/android/SafecheckUserInfo.vue +754 -754
  123. package/src/filiale/minsheng/pc/DefectListNew.vue +535 -535
  124. package/src/filiale/pingxiang/android/SafecheckOrderV.vue +2424 -2424
  125. package/src/filiale/pingxiang/android/SafecheckUserInfo.vue +600 -600
  126. package/src/filiale/pingxiang/pc/DefectListNew.vue +519 -519
  127. package/src/filiale/pingxiang/pc/NewCheckpaper.vue +1294 -1294
  128. package/src/filiale/qianneng/android/AddPlanItem.vue +482 -482
  129. package/src/filiale/qianneng/android/SafecheckOrderV.vue +2785 -2785
  130. package/src/filiale/qianneng/android/SafecheckUserInfo.vue +775 -775
  131. package/src/filiale/qianneng/pc/DefectListNew.vue +576 -576
  132. package/src/filiale/qianneng/pc/NewCheckpaper.vue +1546 -1546
  133. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2844 -2844
  134. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +800 -800
  135. package/src/filiale/qingjian/pc/NewCheckpaper.vue +1871 -1871
  136. package/src/filiale/qingjian/pc.js +15 -15
  137. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -450
  138. package/src/filiale/qingtongxia/android/SafecheckOrderV.vue +2726 -2726
  139. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -782
  140. package/src/filiale/qingtongxia/pc/DefectListNew.vue +594 -594
  141. package/src/filiale/rizhao/android/AddPlanItem.vue +446 -446
  142. package/src/filiale/rizhao/android/SafecheckOrderV.vue +2430 -2430
  143. package/src/filiale/rizhao/android/SafecheckUserInfo.vue +640 -640
  144. package/src/filiale/rizhao/pc/DefectList.vue +489 -489
  145. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +2696 -2696
  146. package/src/filiale/rongchuang/android/checkpapermsg.vue +209 -209
  147. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -2747
  148. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -804
  149. package/src/filiale/shanggao/android/SafecheckOrderV.vue +2426 -2426
  150. package/src/filiale/shanxian/android/SafecheckUserInfo.vue +749 -749
  151. package/src/filiale/shanxian/pc/HiddenSituation.vue +121 -121
  152. package/src/filiale/shanxian/pc/NewCheckpaper.vue +1526 -1526
  153. package/src/filiale/shexian/android/AddPlanItem.vue +444 -444
  154. package/src/filiale/shexian/android/SafecheckOrderV.vue +2879 -2879
  155. package/src/filiale/shexian/pc/DefectListNew.vue +593 -593
  156. package/src/filiale/shexian/pc/NewCheckpaper.vue +1469 -1469
  157. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  158. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  159. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  160. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  161. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -1051
  162. package/src/filiale/siyang/android/PhoneRecordInfo.vue +214 -214
  163. package/src/filiale/siyang/android/SafecheckOrderV.vue +2796 -2796
  164. package/src/filiale/siyang/android/SafecheckUserInfo.vue +789 -789
  165. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -167
  166. package/src/filiale/taiyuan/pc/NewCheckpaper.vue +1976 -1976
  167. package/src/filiale/taiyuan/pc/PlanManage.vue +891 -891
  168. package/src/filiale/taiyuan/pc/checkUserList.vue +798 -798
  169. package/src/filiale/taiyuan/pc.js +15 -15
  170. package/src/filiale/tianke/android/AddPlanItem.vue +455 -455
  171. package/src/filiale/tianke/android/SafecheckOrderV.vue +2431 -2431
  172. package/src/filiale/tianke/android/SafecheckUserInfo.vue +744 -744
  173. package/src/filiale/tongchuan/android/AddPlanItem.vue +483 -483
  174. package/src/filiale/tongchuan/android/PhoneRecordInfo.vue +191 -191
  175. package/src/filiale/tongchuan/android/PhoneSellInfo.vue +113 -113
  176. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +720 -720
  177. package/src/filiale/tongchuan/pc/CheckBookDetails.vue +209 -209
  178. package/src/filiale/tongchuan/pc/DefectListWeixiu.vue +484 -484
  179. package/src/filiale/tongchuan/pc/HiddenSituation.vue +166 -166
  180. package/src/filiale/weinan/android/AddPlanItem.vue +438 -438
  181. package/src/filiale/weinan/android/CurrentCreate.vue +1171 -1171
  182. package/src/filiale/weinan/android/CurrentCreateOnline.vue +911 -911
  183. package/src/filiale/weinan/android/SafePlanItem.vue +440 -440
  184. package/src/filiale/weinan/android/SafecheckUserInfo.vue +778 -778
  185. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  186. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -1088
  187. package/src/filiale/weinan/pc/HiddenSituation.vue +167 -167
  188. package/src/filiale/weinan/pc/checkScreen.vue +1094 -1094
  189. package/src/filiale/weinanct/android/SafecheckOrderV.vue +2730 -2730
  190. package/src/filiale/weinanct/pc/NewCheckpaper.vue +1315 -1315
  191. package/src/filiale/wensu/android/AddPlanItem.vue +495 -495
  192. package/src/filiale/wensu/android/AndroidDefectDeal.vue +464 -464
  193. package/src/filiale/wensu/android/PaperFeedback.vue +1358 -1358
  194. package/src/filiale/wensu/android/SafecheckOrderV.vue +2430 -2430
  195. package/src/filiale/wensu/android/SafecheckUserInfo.vue +627 -627
  196. package/src/filiale/wensu/pc/DefectListNew.vue +735 -735
  197. package/src/filiale/wenxi/android/AddPlanItem.vue +431 -431
  198. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2671 -2671
  199. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +673 -673
  200. package/src/filiale/wenxi/pc/DefectList.vue +653 -653
  201. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1358 -1358
  202. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2241
  203. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -596
  204. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  205. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  206. package/src/filiale/wuhai/android/SafecheckOrderV.vue +2456 -2456
  207. package/src/filiale/wuhai/android/SafecheckUserInfo.vue +573 -573
  208. package/src/filiale/wuhai/pc/NewCheckpaper.vue +1281 -1281
  209. package/src/filiale/xiangyuanzhongai/android/PhoneUpUserinfo.vue +1251 -1251
  210. package/src/filiale/xinkang/android/AddPlanItem.vue +461 -447
  211. package/src/filiale/xinkang/pc/CheckSearchUser.vue +1026 -1026
  212. package/src/filiale/xinkang/pc/DefectListWeixiu.vue +475 -475
  213. package/src/filiale/yangchunboneng/android/AddPlanItem.vue +496 -496
  214. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2865 -2865
  215. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  216. package/src/filiale/yangchunboneng/pc/DefectListNew.vue +576 -576
  217. package/src/filiale/yongzhou/android/SafecheckOrderV.vue +2774 -2774
  218. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +776 -776
  219. package/src/filiale/yuansheng/android/SafecheckOrderV.vue +2758 -2758
  220. package/src/filiale/yuansheng/android/SafecheckUserInfo.vue +797 -797
  221. package/src/filiale/yuansheng/pc/DefectListNew.vue +524 -524
  222. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +1371 -1371
  223. package/src/filiale/yuansheng/pc/checkmsg.vue +464 -464
  224. package/src/filiale/yunchengminsheng/android/DailyworkloadQuery.vue +491 -491
  225. package/src/filiale/yunchengminsheng/android/PaperFeedback.vue +1509 -1509
  226. package/src/filiale/yunchengminsheng/android/PhoneSellInfo.vue +113 -113
  227. package/src/filiale/yunchengminsheng/android/SafecheckDevices.vue +1270 -1270
  228. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +785 -785
  229. package/src/filiale/yunchengminsheng/android.js +15 -15
  230. package/src/filiale/yunchengminsheng/pc/PaperList.vue +811 -811
  231. package/src/filiale/yunchengminsheng/pc.js +15 -15
  232. package/src/filiale/zhongsheng/android/BuyRecords.vue +122 -122
  233. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2461 -2461
  234. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +690 -690
  235. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  236. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1322 -1322
  237. package/src/filiale/zhongyi/android/SafecheckOrderV.vue +2431 -2431
  238. package/src/filiale/zhongyi/pc/DefectListNew.vue +514 -514
  239. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  240. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  241. package/src/main.js +2 -1
  242. package/src/safecheck.js +924 -924
@@ -1,1136 +1,1142 @@
1
- <template>
2
- <div class="flex-row" v-show="showinfo1">
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 :data="$parent.$parent.searchData"
41
- :field="$parent.$parent.excelHeaders"
42
- :choose-col="true"
43
- sqlurl="api/af-safecheck/logic/exportfile" sql-name="查找安检单" template-name='安检记录明细'></export-excel>
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_gas_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_gas_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.f_approval_states'
224
- filer-key="name"
225
- :multiple="true"
226
- condition="f_approved in {}"
227
- >
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
- <v-select class="select_list select"
269
- placeholder='请选择' style="width: 60%"
270
- :value.sync="model.f_defect_content" v-model="model.f_defect_content"
271
- :options='$parent.$parent.defect_contents'
272
- filer-key="name"
273
- close-on-select clear-button
274
- condition="f_defect_content like '%{}%'"
275
- :value-single="true">
276
- </v-select>
277
- </div>
278
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
279
- <label class="font_normal_body">客户卡号</label>
280
- <input type="text" class="input_search" v-model="model.f_card_id"
281
- style="width: 60%" placeholder="客户卡号" condition="f_card_id like '%{}%'">
282
- </div>
283
- <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
284
- <label class="font_normal_body">距上次安检天数</label>
285
- <input type="number" class="input_search" v-model="model.f_check_date"
286
- style="width: 60%" placeholder="距上次安检天数" >
287
- </div>
288
- </div>
289
- <modal :show.sync="$parent.$parent.showModal" v-ref:modal backdrop="false">
290
- <div slot="modal-header" class="modal-header">
291
- <h4 class="modal-title">
292
- 选择计划
293
- </h4>
294
- </div>
295
- <div slot="modal-body" class="modal-body">
296
- <plan-chooser :f.sync="$parent.$parent.fun" v-ref:chooser></plan-chooser>
297
- </div>
298
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
299
- <button class="button_search" @click="$parent.$parent.ok">确认</button>
300
- <button class="button_search" @click="$parent.$parent.cancel">取消</button>
301
- </div>
302
- </modal>
303
- </div>
304
- </criteria>
305
- <data-grid class="list_area table_sy" style="overflow: hidden" :model="model" partial='list' v-ref:grid>
306
- <template partial='head'>
307
- <tr>
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
- <nobr>计划名称</nobr>
337
- </th>
338
- <th>
339
- <nobr>用气状态</nobr>
340
- </th>
341
- <th>
342
- <data-order field="f_offsite_time" name="安检时间"></data-order>
343
- </th>
344
- <th>
345
- <nobr>有无隐患</nobr>
346
- </th>
347
- <th>
348
- <nobr>安检员</nobr>
349
- </th>
350
- <th>
351
- <nobr>备注</nobr>
352
- </th>
353
- <th>
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 v-if="$parent.$parent.$parent.safeAudit">
363
- <nobr>审核结束</nobr>
364
- </th>
365
- <th v-if="$parent.$parent.$parent.safeAudit">
366
- <nobr>审核状态</nobr>
367
- </th>
368
- <th v-if="$parent.$parent.$parent.safeAudit">
369
- <nobr>审核未通过原因</nobr>
370
- </th>
371
- <th>
372
- <nobr>操作</nobr>
373
- </th>
374
- <th v-if="$parent.$parent.$parent.audioshow">
375
- <nobr>录音</nobr>
376
- </th>
377
- </tr>
378
- </template>
379
- <template partial='body'>
380
- <td style="text-align: center">
381
- <button class="button_spacing button_search-1" v-if="!row.f_is_visit" @click='$parent.$parent.$parent.visit(row)'>回访</button>
382
- <button class="button_spacing button_search-1" v-else @click='$parent.$parent.$parent.showVisit(row)'>查看</button>
383
- </td>
384
- <td style="text-align: center">{{row.f_userinfo_code}}</td>
385
- <td style="text-align: center">{{row.f_user_name}}</td>
386
- <td style="text-align: center">{{row.f_meternumber}}</td>
387
- <td style="text-align: center">{{row.f_meter_brand}}</td>
388
- <td style="text-align: center">{{row.f_user_phone}}</td>
389
- <td style="text-align: center">{{row.f_check_type}}</td>
390
-
391
- <td style="text-align: center">{{ row.f_address }}</td>
392
- <td style="text-align: center">{{ row.f_entry_status }}</td>
393
- <td style="text-align: center">{{ row.f_plan_name }}</td>
394
- <td style="text-align: center">{{ row.f_usegas }}</td>
395
- <td style="text-align: center">{{ row.f_offsite_time }}</td>
396
- <td style="text-align: center">{{ row.f_defect_content.includes('正常') ? '正常' : '有隐患' }}</td>
397
- <td style="text-align: center">{{ row.f_checker_name }}</td>
398
- <td style="text-align: center">{{ row.f_repair_approved_note }}</td>
399
- <td style="text-align: center">{{ row.f_gas_date }}</td>
400
- <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">{{ row.f_approved_by }}</td>
401
- <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">{{ row.f_approvedstart_time }}</td>
402
- <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">{{ row.f_approved_time }}</td>
403
- <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">
404
- {{ row.f_approved ? row.f_approved : '未审核' }}
405
- </td>
406
- <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">
407
- {{row.f_approved_note}}
408
- </td>
409
- <td style="text-align: center">
410
- <button class="button_spacing button_search-1" @click='$parent.$parent.$parent.change(row)'>查看</button>
411
-
412
-
413
- </td>
414
- <td style="text-align: center" v-if="$parent.$parent.$parent.audioshow">
415
- <!-- <button class="button_spacing button_search-1" @click='$parent.$parent.$parent.change(row)'>查看</button>-->
416
- <audio controls="controls" v-if="row.f_recording1_path">
417
- <source type="audio/mpeg" :src="'rs/audio/file/'+row.f_recording1_path">
418
- </audio>
419
- <!--<button type="button" class="button_new-1 button_spacing" data-toggle="dropdown"
420
- @click="$parent.$parent.$parent.print(row)">
421
- 打印
422
- </button>-->
423
- </td>
424
- </template>
425
- </data-grid>
426
- </criteria-paged>
427
- <check-msg v-if="showcheckmsg" :show="showcheckmsg" :data="checkInfo"></check-msg>
428
- </div>
429
- </div>
430
- <new-check-paper v-if="showinfo2" :f_plan_id="shouinfodata.f_check_plan_id" :item="shouinfodata" :role="'view'" v-on:showback="showback1"></new-check-paper>
431
- <new-check-paper-temp v-if="showinfo3" :f_plan_id="shouinfodata.f_check_plan_id" :item="shouinfodata" :role="'view'" v-on:showback="showback2"></new-check-paper-temp>
432
- <new-check-paper-new v-if="showinfo4" :f_plan_id="shouinfodata.f_check_plan_id" :item="shouinfodata" :role="'view'" v-on:showback="showback3"></new-check-paper-new>
433
- <modal :show.sync="show" width="80%">
434
- <div slot="modal-header" class="modal-header">
435
- <h4 class="modal-title">安检电话抽检单录入</h4>
436
- <button type="button" class="close" @click="close()"><span>&times;</span></button>
437
- </div>
438
- <div slot="modal-body" class="modal-body">
439
- <form class="form-horizontal">
440
- <div class="row">
441
- <div class="form-group col-sm-3">
442
- <label class="col-sm-4 control-label">客户编号:</label>
443
- <div class="col-sm-8">
444
- <input type="text" class="form-control" v-model="formData.f_userinfo_code" readonly>
445
- </div>
446
- </div>
447
- <div class="form-group col-sm-3">
448
- <label class="col-sm-4 control-label">姓名:</label>
449
- <div class="col-sm-8">
450
- <input type="text" class="form-control" v-model="formData.f_user_name" readonly>
451
- </div>
452
- </div>
453
- <div class="form-group col-sm-6">
454
- <label class="col-sm-2 control-label">地址:</label>
455
- <div class="col-sm-10">
456
- <input type="text" class="form-control" v-model="formData.f_address" readonly>
457
- </div>
458
- </div>
459
- </div>
460
- <div class="row">
461
- <div class="form-group col-sm-3">
462
- <label class="col-sm-4 control-label">客户电话:</label>
463
- <div class="col-sm-8">
464
- <input type="text" class="form-control" v-model="formData.f_user_phone" readonly>
465
- </div>
466
- </div>
467
- <div class="form-group col-sm-3">
468
- <label class="col-sm-4 control-label">被访人:</label>
469
- <div class="col-sm-8">
470
- <input type="text" class="form-control" v-model="formData.f_interviewee" :readonly="isReadOnly">
471
- </div>
472
- </div>
473
- <div class="form-group col-sm-3">
474
- <label class="col-sm-4 control-label">抽检人:</label>
475
- <div class="col-sm-8">
476
- <input type="text" class="form-control" v-model="formData.f_inspector" readonly>
477
- </div>
478
- </div>
479
- <div class="form-group col-sm-3">
480
- <label class="col-sm-4 control-label">日期:</label>
481
- <div class="col-sm-8">
482
- <input type="text" class="form-control" v-model="formData.f_check_date" readonly>
483
- </div>
484
- </div>
485
- </div>
486
- </form>
487
-
488
- <table class="table table-bordered">
489
- <thead>
490
- <tr>
491
- <th>序号</th>
492
- <th>抽检项目</th>
493
- <th>情况登记</th>
494
- </tr>
495
- </thead>
496
- <tbody>
497
- <tr>
498
- <td>1</td>
499
- <td>安检前有没有看到即将入户安检的通知</td>
500
- <td>
501
- <label class="radio-inline">
502
- <input type="radio" name="q1" value="是" v-model="formData.q1"> 是
503
- </label>
504
- <label class="radio-inline">
505
- <input type="radio" name="q1" value="否" v-model="formData.q1"> 否
506
- </label>
507
- </td>
508
- </tr>
509
- <tr>
510
- <td>2</td>
511
- <td>安检(维修、抄表)员是否按预约时间入户</td>
512
- <td>
513
- <label class="radio-inline">
514
- <input type="radio" name="q2" value="是" v-model="formData.q2"> 是
515
- </label>
516
- <label class="radio-inline">
517
- <input type="radio" name="q2" value="否" v-model="formData.q2"> 否
518
- </label>
519
- </td>
520
- </tr>
521
- <tr>
522
- <td>3</td>
523
- <td>对安检(维修、抄表)员的服务态度</td>
524
- <td>
525
- <label class="radio-inline">
526
- <input type="radio" name="q3" value="满意" v-model="formData.q3"> 满意
527
- </label>
528
- <label class="radio-inline">
529
- <input type="radio" name="q3" value="一般" v-model="formData.q3"> 一般
530
- </label>
531
- <label class="radio-inline">
532
- <input type="radio" name="q3" value="不满意" v-model="formData.q3"> 不满意
533
- </label>
534
- </td>
535
- </tr>
536
- <tr>
537
- <td>4</td>
538
- <td>安检(维修、抄表)员上门是否穿工作服,出示工作牌</td>
539
- <td>
540
- <label class="radio-inline">
541
- <input type="radio" name="q4" value="是" v-model="formData.q4"> 是
542
- </label>
543
- <label class="radio-inline">
544
- <input type="radio" name="q4" value="否" v-model="formData.q4"> 否
545
- </label>
546
- </td>
547
- </tr>
548
- <tr>
549
- <td>5</td>
550
- <td>安检过程中是否使用U型压力计检测</td>
551
- <td>
552
- <label class="radio-inline">
553
- <input type="radio" name="q5" value="是" v-model="formData.q5"> 是
554
- </label>
555
- <label class="radio-inline">
556
- <input type="radio" name="q5" value="否" v-model="formData.q5"> 否
557
- </label>
558
- </td>
559
- </tr>
560
- <tr>
561
- <td>6</td>
562
- <td>安检(维修、抄表)员有无违反职业道德的行为(吃、拿、卡、要)</td>
563
- <td>
564
- <label class="radio-inline">
565
- <input type="radio" name="q6" value="是" v-model="formData.q6"> 是
566
- </label>
567
- <label class="radio-inline">
568
- <input type="radio" name="q6" value="否" v-model="formData.q6"> 否
569
- </label>
570
- </td>
571
- </tr>
572
- <tr>
573
- <td>7</td>
574
- <td>安检(维修、抄表)员是否向您进行了安全方面的宣传并派发了宣传单</td>
575
- <td>
576
- <label class="radio-inline">
577
- <input type="radio" name="q7" value="是" v-model="formData.q7"> 是
578
- </label>
579
- <label class="radio-inline">
580
- <input type="radio" name="q7" value="否" v-model="formData.q7"> 否
581
- </label>
582
- </td>
583
- </tr>
584
- <tr>
585
- <td>8</td>
586
- <td>安检(维修、抄表)员安检(维修、抄表)后是否向您解释了安检(维修、抄表)结果</td>
587
- <td>
588
- <label class="radio-inline">
589
- <input type="radio" name="q8" value="是" v-model="formData.q8"> 是
590
- </label>
591
- <label class="radio-inline">
592
- <input type="radio" name="q8" value="否" v-model="formData.q8"> 否
593
- </label>
594
- </td>
595
- </tr>
596
- <tr>
597
- <td>9</td>
598
- <td>隐患是否已整改</td>
599
- <td>
600
- <label class="radio-inline">
601
- <input type="radio" name="q9" value="是" v-model="formData.q9"> 是
602
- </label>
603
- <label class="radio-inline">
604
- <input type="radio" name="q9" value="否" v-model="formData.q9"> 否
605
- </label>
606
- </td>
607
- </tr>
608
- <tr>
609
- <td>10</td>
610
- <td>您对我们入户人员的工作效率和工作质量是否满意</td>
611
- <td>
612
- <label class="radio-inline">
613
- <input type="radio" name="q10" value="满意" v-model="formData.q10"> 满意
614
- </label>
615
- <label class="radio-inline">
616
- <input type="radio" name="q10" value="一般" v-model="formData.q10"> 一般
617
- </label>
618
- <label class="radio-inline">
619
- <input type="radio" name="q10" value="不满意" v-model="formData.q10"> 不满意
620
- </label>
621
- </td>
622
- </tr>
623
- <tr>
624
- <td>11</td>
625
- <td>谢谢您对我们这次回访大力配合,请问您对我公司的安检(维修、抄表)工作还有那些好的建议?</td>
626
- <td>
627
- <textarea class="form-control" rows="3" v-model="formData.q11"></textarea>
628
- </td>
629
- </tr>
630
- <tr>
631
- <td>12</td>
632
- <td>综合评价:</td>
633
- <td>
634
- <label class="radio-inline">
635
- <input type="radio" name="q12" value="满意" v-model="formData.q12"> 满意
636
- </label>
637
- <label class="radio-inline">
638
- <input type="radio" name="q12" value="一般" v-model="formData.q12"> 一般
639
- </label>
640
- <label class="radio-inline">
641
- <input type="radio" name="q12" value="不满意" v-model="formData.q12"> 不满意
642
- </label>
643
- </td>
644
- </tr>
645
- </tbody>
646
- </table>
647
-
648
- </div>
649
- <div slot="modal-footer" class="modal-footer">
650
- <button class="btn btn-primary" @click="save" v-if="!isReadOnly">保存</button>
651
- <button class="btn btn-default" @click="close">关闭</button>
652
- </div>
653
- </modal>
654
- </template>
655
-
656
- <script>
657
- import {PagedList} from 'vue-client'
658
- import Vue from 'vue'
659
- import co from 'co'
660
- import AppData from '../../../stores/AppData'
661
- import * as Util from '../../Util'
662
- import getNowDate from "../../../utils/getNowDate";
663
- import HttpResetClass from "vue-client/src/plugins/HttpResetClass";
664
- import BenzAMRRecorder from 'benz-amr-recorder'
665
- import {isEmpty, toEndDateString, toStartDateString} from '../../Util'
666
-
667
-
668
- let select = function* (self) {
669
- let http = new HttpResetClass()
670
- let getGasman = yield http.load('POST', '/rs/search', {
671
- source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
672
- userid: self.$login.f.id
673
- }, {resolveMsg: null, rejectMsg: null})
674
- ////tag
675
- self.checkersid.push({label: '全部', value: ''})
676
- getGasman.data.forEach((checker) => {
677
- self.checkersid.push({label: checker.name, value: checker.id})
678
- })
679
- }
680
-
681
- export default {
682
- title: '安检结果查看',
683
- data() {
684
- let model = new PagedList('api/af-safecheck/sql/查找安检单', 20, {
685
- f_plan_id: 'this.f_plan_id',
686
- f_approved: 'this.f_approved',
687
- f_entry_status: 'this.f_entry',
688
- f_no_checkplan: 'this.f_no_checkplan',
689
- f_filialeid: 'this.f_filialeid',
690
- orderitem: "'f_offsite_time desc'"
691
- })
692
- model.f_check_type = ''
693
- model.f_plan_id = ''
694
- model.f_approved = ''
695
- model.f_entry = ''
696
- model.f_no_checkplan = ''
697
- model.f_filialeid = `('${this.$login.f.orgid}')`
698
- //model.f_check_type='民用'
699
- // let searchData={
700
- // f_plan_id: this.model.f_checker_id==undefined?"":this.model.f_checker_id,
701
- // f_approved: this.model.f_approved,
702
- // f_entry_status: this.model.f_entry,
703
- // f_no_checkplan:this.model.f_no_checkplan[0],
704
- // f_filialeid: this.model.f_filialeid,
705
- // //orderitem: this.model.f_offsite_time,
706
- // //condition:this.model.condition
707
- // }
708
- // model.f_subcompany = this.$login.f.f_fengongsi
709
- return {
710
- formData: {
711
- id:'',
712
- f_interviewee: '',
713
- f_userinfo_code:'',
714
- f_address:'',
715
- f_user_phone:'',
716
- f_user_name:'',
717
- f_inspector: this.$login.f.name,
718
- f_check_date: Util.toStandardTimeString(),
719
- q1: '',
720
- q2: '',
721
- q3: '满意',
722
- q4: '',
723
- q5: '',
724
- q6: '否',
725
- q7: '是',
726
- q8: '是',
727
- q9: '是',
728
- q10: '满意',
729
- q11: '',
730
- q12: '满意'
731
- },
732
- show:false,
733
- isReadOnly: false,
734
- showinfo1:true,
735
- showinfo2:false,
736
- showinfo3:false,
737
- showinfo4:false,
738
- shouinfodata:{},
739
- tableBrands: [{label: '全部', value: ''}],
740
- audioshow: false,
741
- safeAudit: this.$login.f.rolestr.includes('安检审核'),
742
- searchData: {
743
- condition: "1=1",
744
- orderitem: "f_offsite_time desc",
745
- f_plan_id: "",
746
- f_approved: '',
747
- f_entry_status: '',
748
- f_no_checkplan: '',
749
- f_filialeid: `('${this.$login.f.orgid}')`
750
- },
751
- model: model,
752
- excelHeaders: {
753
- //searchData:searchData,
754
- 'f_userinfo_code': '客户编号',
755
- 'f_user_name': '客户姓名',
756
- 'f_meternumber':'客户表号',
757
- 'f_user_phone':'客户电话',
758
- 'f_check_type': '客户类型',
759
- 'f_residential_area': '小区',
760
- 'f_address': '客户地址',
761
- 'f_entry_status': '安检状态',
762
- 'f_usegas': '用气状态',
763
- 'f_defect_content':'有无隐患',
764
- 'f_offsite_time': '安检时间',
765
- 'f_checker_name': '安检员',
766
- 'f_safecheck_type':'安检类型',
767
- 'f_repair_approved_note': '备注',
768
- 'f_gas_date': '开户时间',
769
- 'f_approved_by': '审核人',
770
- 'f_approved': '审核状态',
771
- 'f_approved_time': '审核时间'
772
- },
773
- fun: this.$login.f,
774
- pcds:[],
775
- checkersid: [],
776
- safetype: this.$appdata.getParam('安检类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检类型')]:[{label: '全部', value: ''}],
777
- criteriaShow: false,
778
- checktype: this.$appdata.getParam('用户类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]:[{label: '全部', value: ''}],
779
- f_check_type:[{label:'全部',value:''},{label:'民用',value:'民用'},{label:'非民用',value:'非民用'}],
780
- defect_contents:[{label:'全部',value:''},{label:'有隐患',value:'有隐患'},{label:'正常',value:'正常'}],
781
- showModal: false,
782
- safe_types:this.$appdata.getParam('计划类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('计划类型')]:[{label: '全部', value: ''}],
783
- f_approval_states: this.$appdata.getParam('安检单审核状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检单审核状态')]:[{label: '全部', value: ''}],
784
- f_entry_status: this.$appdata.getParam('安检状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检状态')]:[{label: '全部', value: ''}],
785
- no_checkplans: this.$appdata.getParam('有无计划')?[{label: '全部', value: ''}, ...this.$appdata.getParam('有无计划')]:[{label: '全部', value: ''}],
786
- usegas: this.$appdata.getParam('用气状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用气状态')]:[{label: '全部', value: ''}],
787
- showcheckmsg: false,
788
- checkInfo: {},
789
- orderDefault: "'f_offsite_time'",
790
- orderFields: {
791
- f_offsite_time: 'no'
792
- },
793
- sliceArea: [],
794
- cbc:[]
795
- }
796
- },
797
- created() {
798
- // 使用 $on 监听事件
799
- this.$root.$on('audit-status-changed', () => {
800
- console.log('收到审核状态变更事件')
801
- this.refresh()
802
- })
803
- },
804
- beforeDestroy() {
805
- // 记得在组件销毁前移除事件监听
806
- this.$root.$off('audit-status-changed')
807
- },
808
- methods: {
809
- visit(row){
810
- this.show = true
811
- this.formData.f_address = row.f_address
812
- this.formData.f_userinfo_code = row.f_userinfo_code
813
- this.formData.f_user_phone = row.f_user_phone
814
- this.formData.f_user_name = row.f_user_name
815
- this.formData.id = row.id
816
- },
817
- showVisit(row){
818
- this.formData = JSON.parse(row.f_visit_data)
819
- this.show = true
820
- this.isReadOnly = true
821
- },
822
- save(){
823
- let data = {
824
- f_is_visit : '已回访',
825
- f_visit_date : Util.toStandardTimeString(),
826
- f_visit_people : this.$login.f.name,
827
- f_visit_data : JSON.stringify(this.formData)
828
- }
829
- const sql = `update t_check_paper set f_is_visit = '${data.f_is_visit}',f_visit_date = '${data.f_visit_date}',f_visit_people = '${data.f_visit_people}',f_visit_data='${data.f_visit_data}' where id = '${this.formData.id}'`
830
- new HttpResetClass()
831
- .load('POST', 'api/af-safecheck/logic/runSQL', {data: {sql: sql}},
832
- {resolveMsg: null, rejectMsg: null}).catch(resp=>{
833
- this.search()
834
- this.close()
835
- })
836
- },
837
- close(){
838
- this.formData = {
839
- id:'',
840
- f_interviewee: '',
841
- f_userinfo_code:'',
842
- f_address:'',
843
- f_user_phone:'',
844
- f_user_name:'',
845
- f_inspector: this.$login.f.name,
846
- f_check_date: Util.toStandardTimeString(),
847
- q1: '',
848
- q2: '',
849
- q3: '满意',
850
- q4: '是',
851
- q5: '是',
852
- q6: '',
853
- q7: '是',
854
- q8: '',
855
- q9: '是',
856
- q10: '满意',
857
- q11: '',
858
- q12: '满意'
859
- }
860
- this.show = false
861
- this.isReadOnly = false
862
- },
863
- showback1(){
864
- this.showinfo1 = true
865
- this.showinfo2 = false
866
- this.search()
867
- },
868
- showback2(){
869
- this.showinfo1 = true
870
- this.showinfo3 = false
871
- this.search()
872
- },
873
- showback3(){
874
- this.showinfo1 = true
875
- this.showinfo4 = false
876
- this.search()
877
- },
878
- //气表品牌查询
879
- getTableBrands() {
880
- new HttpResetClass().load("POST", `/api/af-safecheck/sql/safe_singleTable_OrderBy`,
881
- {data: {items: "*", tablename: "t_gasbrand", orderitem: "id", condition: ` 1=1 `}},
882
- {resolveMsg: null, rejectMsg: null}).then((resp) => {
883
- resp.data.forEach((result) => {
884
- this.tableBrands.push({label: result.f_meter_brand, value: result.f_meter_brand})
885
- })
886
- })
887
- },
888
- //获取省市区列表
889
- getPcd(val){
890
- this.pcds = [{label:'全部',value:''}]
891
- new HttpResetClass().load("POST", `/api/af-safecheck/sql/safe_singleTable_OrderBy`,
892
- {data:{items:"*",tablename:"t_pcd",orderitem:"id",condition:`f_orgid in ${val}`}},
893
- {resolveMsg: null, rejectMsg: null}).then((pcdlist)=>{
894
- pcdlist.data.forEach((result)=>{
895
- this.pcds.push({label:result.f_pcd,value:result.f_pcd})
896
- })
897
- })
898
- },
899
- showaudio(){
900
- //tag
901
- this.audioshow=!this.audioshow
902
- //tag
903
- },
904
- getmeterbook(val){
905
- this.cbc=[]
906
- this.cbc.push({
907
- label:'全部',
908
- value:''
909
- })
910
- if (val==''){
911
-
912
- this.cbcs.forEach(res=>{
913
- this.cbc.push({
914
- label:res.f_book_name,
915
- value:res.id
916
- })
917
- })
918
- }else{
919
- this.cbcs.forEach(res=>{
920
- if (res.f_book_slice_area==val){
921
- this.cbc.push({
922
- label:res.f_book_name,
923
- value:res.id
924
- })
925
- }
926
- })
927
- }
928
- },
929
- Mreadibook(val){
930
- ////tag
931
- ////tag
932
- if (val){
933
- new HttpResetClass().load('POST',`/api/af-safecheck/sql/safe_singleTable_OrderBy`, {data: {
934
- items: 'name',
935
- tablename: 't_zone',
936
- condition: `parentid in ${val}`,
937
- orderitem: 'id'
938
- }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
939
- this.sliceArea=[]
940
- this.sliceArea.push({
941
- label:'全部',
942
- value:''
943
- })
944
- res.data.forEach(ress=>{
945
- this.sliceArea.push({
946
- label:ress.name,
947
- value:ress.name
948
- })
949
- })
950
-
951
- })
952
- }
953
- },
954
- getAllMeterBook(val){
955
- ////tag
956
- ////tag
957
- this.cbcs=[]
958
- if (val){
959
- new HttpResetClass().load('POST',`/api/af-safecheck/sql/safe_singleTable_OrderBy`, {data: {
960
- items: 'f_book_name,f_book_slice_area,id',
961
- tablename: 't_meter_book',
962
- condition: `f_filiale_id in ${val}`,
963
- orderitem: 'id'
964
- }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
965
- res.data.forEach(ress=>{
966
- this.cbcs.push({
967
- id:ress.id,
968
- f_book_name:ress.f_book_name,
969
- f_book_slice_area:ress.f_book_slice_area
970
- })
971
- })
972
- this.cbc=[]
973
- this.cbc.push({
974
- label:'全部',
975
- value:''
976
- })
977
- this.cbcs.forEach(res=>{
978
- this.cbc.push({
979
- label:res.f_book_name,
980
- value:res.id
981
- })
982
- })
983
- })
984
- }
985
- },
986
- getRes(obj) {
987
- this.model.f_filialeid = this.$login.convertToIn(obj.resids);
988
- this.searchData.f_filialeid = this.$login.convertToIn(obj.resids);
989
- this.Mreadibook(this.model.f_filialeid)
990
- this.getAllMeterBook(this.model.f_filialeid)
991
- this.getPcd(this.model.f_filialeid)
992
- //this.$refs.paged.$refs.criteria.search()
993
- },
994
-
995
- change(row) {
996
- row.f_upload_state = '已传'
997
- this.shouinfodata = JSON.parse(JSON.stringify(row))
998
- this.showinfo1 = false
999
- if (row.f_safe_type == '已挂表未办卡安检'){
1000
- this.showinfo2 = false
1001
- this.showinfo3 = true
1002
- this.showinfo4 = false
1003
- return
1004
- }else if (!isEmpty(row.f_security_check_type_id)) {
1005
- this.showinfo2 = false
1006
- this.showinfo3 = false
1007
- this.showinfo4 = true
1008
- return
1009
- }
1010
- this.showinfo2 = true
1011
- this.showinfo3 = false
1012
- this.showinfo4 = false
1013
- },
1014
- showChooser() {
1015
- this.showModal = true
1016
- },
1017
- hidden() {
1018
- this.criteriaShow = !this.criteriaShow
1019
- },
1020
- refresh() {
1021
- this.$refs.paged.$refs.criteria.search()
1022
- },
1023
- ok() {
1024
- this.showModal = false
1025
- if (this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow.id) {
1026
- this.model.f_plan_id = this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow.id
1027
- this.model.f_check_plan=this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow
1028
- }
1029
- },
1030
- cancel() {
1031
- this.showModal = false
1032
- this.model.f_check_plan = {f_plan_name: '', id: ''}
1033
- this.model.f_plan_id=''
1034
- },
1035
- print(row) {
1036
- this.showcheckmsg = true
1037
- this.checkInfo = row
1038
- },
1039
-
1040
- sort(field, rule) {
1041
- // 将所有排序方式设为不排序,实现相互排斥
1042
- for (let key in this.orderFields) {
1043
- if (key === field) {
1044
- this.orderFields[key] = rule
1045
- } else {
1046
- this.orderFields[key] = 'no'
1047
- }
1048
- }
1049
- // 如果新规则不排序,还原为默认排序
1050
- if (rule === 'no') {
1051
- this.model.paramSource.orderitem = `'${this.orderDefault}'`
1052
- } else {
1053
- this.model.paramSource.orderitem = `'${field} ${rule}'`
1054
- }
1055
- this.search()
1056
- },
1057
- search() {
1058
- console.log('审核通过回调')
1059
- this.$refs.paged.$refs.criteria.search()
1060
- },
1061
- selfSearch(args) {
1062
- ////tag
1063
- //args.condition+=" and f_check_type='民用'"
1064
- if(args.model.f_check_date){
1065
- const daysBefore = Number(args.model.f_check_date);
1066
- if ( daysBefore > 0) {
1067
- // 获取当前日期
1068
- const now = new Date();
1069
- // 计算三天前的日期
1070
- const threeDaysBefore = new Date(now.getTime() - (daysBefore * 24 * 60 * 60 * 1000));
1071
- // 如果需要格式化日期,可以使用Date对象的方法
1072
- var formattedDate = threeDaysBefore.toISOString().split('T')[0];
1073
- args.condition += ` and f_offsite_time <='${formattedDate} 23:59:59'`;
1074
- } else {
1075
- console.error('f_check_date不是一个有效的正整数');
1076
- }
1077
- }
1078
- this.model.search(args.condition, args.model, args.condValue)
1079
- }
1080
- },
1081
- ready() {
1082
- if(this.safeAudit){
1083
- let oa = {
1084
- 'f_approved_by':'审核人',
1085
- 'f_approvedstart_time':'审核开始时间',
1086
- 'f_approved_time':'审核结束时间',
1087
- 'f_approved':'审核状态',
1088
- 'f_approved_note': '审核备注'
1089
- }
1090
- this.excelHeaders = Object.assign({}, this.excelHeaders, oa)
1091
- }
1092
- this.function = this.f
1093
- //获取气表品牌
1094
- this.getTableBrands()
1095
- let gen = select(this)
1096
- //this.pianqu()
1097
- this.Mreadibook(`('${this.$login.f.orgid}')`)
1098
- co(gen)
1099
- this.$refs.paged.$refs.criteria.model.f_check_start = Util.toStartDateString() + ' 00:00:00'
1100
- this.$refs.paged.$refs.criteria.model.f_check_end = Util.toEndDateString() + ' 23:59:59'
1101
- },
1102
- watch: {
1103
- 'model.f_no_checkplan'(val) {
1104
- if (this.model.f_no_checkplan){
1105
- this.searchData.f_no_checkplan = val
1106
- }
1107
- if (this.model.f_no_checkplan == '有计划安检') {
1108
-
1109
- this.showChooser()
1110
- }
1111
- },
1112
- 'model.condition'(val) {
1113
- if (val) {
1114
- this.searchData.condition = val
1115
- }
1116
-
1117
- },
1118
- 'model.f_entry'(val) {
1119
- this.searchData.f_entry_status = val
1120
- },
1121
- 'model.f_plan_id'(val) {
1122
- if (val) {
1123
- this.searchData.f_plan_id = val
1124
- }
1125
- },
1126
- 'model.f_slice_area'(val) {
1127
- },
1128
- 'model.f_approved'(val) {
1129
- if (val) {
1130
- this.searchData.f_approved = val
1131
- }
1132
- }
1133
- }
1134
-
1135
- }
1136
- </script>
1
+ <template>
2
+ <div class="flex-row" v-show="showinfo1">
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 :data="$parent.$parent.searchData"
41
+ :field="$parent.$parent.excelHeaders"
42
+ :choose-col="true"
43
+ sqlurl="api/af-safecheck/logic/exportfile" sql-name="查找安检单" template-name='安检记录明细'></export-excel>
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_gas_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_gas_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.f_approval_states'
224
+ filer-key="name"
225
+ :multiple="true"
226
+ condition="f_approved in {}"
227
+ >
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
+ <v-select class="select_list select"
269
+ placeholder='请选择' style="width: 60%"
270
+ :value.sync="model.f_defect_content" v-model="model.f_defect_content"
271
+ :options='$parent.$parent.defect_contents'
272
+ filer-key="name"
273
+ close-on-select clear-button
274
+ condition="f_defect_content like '%{}%'"
275
+ :value-single="true">
276
+ </v-select>
277
+ </div>
278
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
279
+ <label class="font_normal_body">客户卡号</label>
280
+ <input type="text" class="input_search" v-model="model.f_card_id"
281
+ style="width: 60%" placeholder="客户卡号" condition="f_card_id like '%{}%'">
282
+ </div>
283
+ <div class="form-group col-sm-2" v-show="$parent.$parent.criteriaShow">
284
+ <label class="font_normal_body">距上次安检天数</label>
285
+ <input type="number" class="input_search" v-model="model.f_check_date"
286
+ style="width: 60%" placeholder="距上次安检天数" >
287
+ </div>
288
+ </div>
289
+ <modal :show.sync="$parent.$parent.showModal" v-ref:modal backdrop="false">
290
+ <div slot="modal-header" class="modal-header">
291
+ <h4 class="modal-title">
292
+ 选择计划
293
+ </h4>
294
+ </div>
295
+ <div slot="modal-body" class="modal-body">
296
+ <plan-chooser :f.sync="$parent.$parent.fun" v-ref:chooser></plan-chooser>
297
+ </div>
298
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
299
+ <button class="button_search" @click="$parent.$parent.ok">确认</button>
300
+ <button class="button_search" @click="$parent.$parent.cancel">取消</button>
301
+ </div>
302
+ </modal>
303
+ </div>
304
+ </criteria>
305
+ <data-grid class="list_area table_sy" style="overflow: hidden" :model="model" partial='list' v-ref:grid>
306
+ <template partial='head'>
307
+ <tr>
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
+ <nobr>计划名称</nobr>
337
+ </th>
338
+ <th>
339
+ <nobr>用气状态</nobr>
340
+ </th>
341
+ <th>
342
+ <data-order field="f_offsite_time" name="安检时间"></data-order>
343
+ </th>
344
+ <th>
345
+ <nobr>有无隐患</nobr>
346
+ </th>
347
+ <th>
348
+ <nobr>安检员</nobr>
349
+ </th>
350
+ <th>
351
+ <nobr>备注</nobr>
352
+ </th>
353
+ <th>
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 v-if="$parent.$parent.$parent.safeAudit">
363
+ <nobr>审核结束</nobr>
364
+ </th>
365
+ <th v-if="$parent.$parent.$parent.safeAudit">
366
+ <nobr>审核状态</nobr>
367
+ </th>
368
+ <th v-if="$parent.$parent.$parent.safeAudit">
369
+ <nobr>审核未通过原因</nobr>
370
+ </th>
371
+ <th>
372
+ <nobr>操作</nobr>
373
+ </th>
374
+ <th v-if="$parent.$parent.$parent.audioshow">
375
+ <nobr>录音</nobr>
376
+ </th>
377
+ </tr>
378
+ </template>
379
+ <template partial='body'>
380
+ <td style="text-align: center">
381
+ <button class="button_spacing button_search-1" v-if="!row.f_is_visit" @click='$parent.$parent.$parent.visit(row)'>回访</button>
382
+ <button class="button_spacing button_search-1" v-else @click='$parent.$parent.$parent.showVisit(row)'>查看</button>
383
+ </td>
384
+ <td style="text-align: center">{{row.f_userinfo_code}}</td>
385
+ <td style="text-align: center">{{row.f_user_name}}</td>
386
+ <td style="text-align: center">{{row.f_meternumber}}</td>
387
+ <td style="text-align: center">{{row.f_meter_brand}}</td>
388
+ <td style="text-align: center">{{row.f_user_phone}}</td>
389
+ <td style="text-align: center">{{row.f_check_type}}</td>
390
+
391
+ <td style="text-align: center">{{ row.f_address }}</td>
392
+ <td style="text-align: center">{{ row.f_entry_status }}</td>
393
+ <td style="text-align: center">{{ row.f_plan_name }}</td>
394
+ <td style="text-align: center">{{ row.f_usegas }}</td>
395
+ <td style="text-align: center">{{ row.f_offsite_time }}</td>
396
+ <td style="text-align: center">{{ row.f_defect_content.includes('正常') ? '正常' : '有隐患' }}</td>
397
+ <td style="text-align: center">{{ row.f_checker_name }}</td>
398
+ <td style="text-align: center">{{ row.f_repair_approved_note }}</td>
399
+ <td style="text-align: center">{{ row.f_gas_date }}</td>
400
+ <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">{{ row.f_approved_by }}</td>
401
+ <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">{{ row.f_approvedstart_time }}</td>
402
+ <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">{{ row.f_approved_time }}</td>
403
+ <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">
404
+ {{ row.f_approved ? row.f_approved : '未审核' }}
405
+ </td>
406
+ <td style="text-align: center" v-show="$parent.$parent.$parent.safeAudit">
407
+ {{row.f_approved_note}}
408
+ </td>
409
+ <td style="text-align: center">
410
+ <button class="button_spacing button_search-1" @click='$parent.$parent.$parent.change(row)'>查看</button>
411
+
412
+
413
+ </td>
414
+ <td style="text-align: center" v-if="$parent.$parent.$parent.audioshow">
415
+ <!-- <button class="button_spacing button_search-1" @click='$parent.$parent.$parent.change(row)'>查看</button>-->
416
+ <audio controls="controls" v-if="row.f_recording1_path">
417
+ <source type="audio/mpeg" :src="'rs/audio/file/'+row.f_recording1_path">
418
+ </audio>
419
+ <!--<button type="button" class="button_new-1 button_spacing" data-toggle="dropdown"
420
+ @click="$parent.$parent.$parent.print(row)">
421
+ 打印
422
+ </button>-->
423
+ </td>
424
+ </template>
425
+ </data-grid>
426
+ </criteria-paged>
427
+ <check-msg v-if="showcheckmsg" :show="showcheckmsg" :data="checkInfo"></check-msg>
428
+ </div>
429
+ </div>
430
+ <new-check-paper v-if="showinfo2" :f_plan_id="shouinfodata.f_check_plan_id" :item="shouinfodata" :role="'view'" v-on:showback="showback1"></new-check-paper>
431
+ <new-check-paper-temp v-if="showinfo3" :f_plan_id="shouinfodata.f_check_plan_id" :item="shouinfodata" :role="'view'" v-on:showback="showback2"></new-check-paper-temp>
432
+ <new-check-paper-new v-if="showinfo4" :f_plan_id="shouinfodata.f_check_plan_id" :item="shouinfodata" :role="'view'" v-on:showback="showback3"></new-check-paper-new>
433
+ <modal :show.sync="show" width="80%">
434
+ <div slot="modal-header" class="modal-header">
435
+ <h4 class="modal-title">安检电话抽检单录入</h4>
436
+ <button type="button" class="close" @click="close()"><span>&times;</span></button>
437
+ </div>
438
+ <div slot="modal-body" class="modal-body">
439
+ <form class="form-horizontal">
440
+ <div class="row">
441
+ <div class="form-group col-sm-3">
442
+ <label class="col-sm-4 control-label">客户编号:</label>
443
+ <div class="col-sm-8">
444
+ <input type="text" class="form-control" v-model="formData.f_userinfo_code" readonly>
445
+ </div>
446
+ </div>
447
+ <div class="form-group col-sm-3">
448
+ <label class="col-sm-4 control-label">姓名:</label>
449
+ <div class="col-sm-8">
450
+ <input type="text" class="form-control" v-model="formData.f_user_name" readonly>
451
+ </div>
452
+ </div>
453
+ <div class="form-group col-sm-6">
454
+ <label class="col-sm-2 control-label">地址:</label>
455
+ <div class="col-sm-10">
456
+ <input type="text" class="form-control" v-model="formData.f_address" readonly>
457
+ </div>
458
+ </div>
459
+ </div>
460
+ <div class="row">
461
+ <div class="form-group col-sm-3">
462
+ <label class="col-sm-4 control-label">客户电话:</label>
463
+ <div class="col-sm-8">
464
+ <input type="text" class="form-control" v-model="formData.f_user_phone" readonly>
465
+ </div>
466
+ </div>
467
+ <div class="form-group col-sm-3">
468
+ <label class="col-sm-4 control-label">被访人:</label>
469
+ <div class="col-sm-8">
470
+ <input type="text" class="form-control" v-model="formData.f_interviewee" :readonly="isReadOnly">
471
+ </div>
472
+ </div>
473
+ <div class="form-group col-sm-3">
474
+ <label class="col-sm-4 control-label">抽检人:</label>
475
+ <div class="col-sm-8">
476
+ <input type="text" class="form-control" v-model="formData.f_inspector" readonly>
477
+ </div>
478
+ </div>
479
+ <div class="form-group col-sm-3">
480
+ <label class="col-sm-4 control-label">日期:</label>
481
+ <div class="col-sm-8">
482
+ <input type="text" class="form-control" v-model="formData.f_check_date" readonly>
483
+ </div>
484
+ </div>
485
+ </div>
486
+ </form>
487
+
488
+ <table class="table table-bordered">
489
+ <thead>
490
+ <tr>
491
+ <th>序号</th>
492
+ <th>抽检项目</th>
493
+ <th>情况登记</th>
494
+ </tr>
495
+ </thead>
496
+ <tbody>
497
+ <tr>
498
+ <td>1</td>
499
+ <td>安检前有没有看到即将入户安检的通知</td>
500
+ <td>
501
+ <label class="radio-inline">
502
+ <input type="radio" name="q1" value="是" v-model="formData.q1"> 是
503
+ </label>
504
+ <label class="radio-inline">
505
+ <input type="radio" name="q1" value="否" v-model="formData.q1"> 否
506
+ </label>
507
+ </td>
508
+ </tr>
509
+ <tr>
510
+ <td>2</td>
511
+ <td>安检(维修、抄表)员是否按预约时间入户</td>
512
+ <td>
513
+ <label class="radio-inline">
514
+ <input type="radio" name="q2" value="是" v-model="formData.q2"> 是
515
+ </label>
516
+ <label class="radio-inline">
517
+ <input type="radio" name="q2" value="否" v-model="formData.q2"> 否
518
+ </label>
519
+ </td>
520
+ </tr>
521
+ <tr>
522
+ <td>3</td>
523
+ <td>对安检(维修、抄表)员的服务态度</td>
524
+ <td>
525
+ <label class="radio-inline">
526
+ <input type="radio" name="q3" value="满意" v-model="formData.q3"> 满意
527
+ </label>
528
+ <label class="radio-inline">
529
+ <input type="radio" name="q3" value="一般" v-model="formData.q3"> 一般
530
+ </label>
531
+ <label class="radio-inline">
532
+ <input type="radio" name="q3" value="不满意" v-model="formData.q3"> 不满意
533
+ </label>
534
+ </td>
535
+ </tr>
536
+ <tr>
537
+ <td>4</td>
538
+ <td>安检(维修、抄表)员上门是否穿工作服,出示工作牌</td>
539
+ <td>
540
+ <label class="radio-inline">
541
+ <input type="radio" name="q4" value="是" v-model="formData.q4"> 是
542
+ </label>
543
+ <label class="radio-inline">
544
+ <input type="radio" name="q4" value="否" v-model="formData.q4"> 否
545
+ </label>
546
+ </td>
547
+ </tr>
548
+ <tr>
549
+ <td>5</td>
550
+ <td>安检过程中是否使用U型压力计检测</td>
551
+ <td>
552
+ <label class="radio-inline">
553
+ <input type="radio" name="q5" value="是" v-model="formData.q5"> 是
554
+ </label>
555
+ <label class="radio-inline">
556
+ <input type="radio" name="q5" value="否" v-model="formData.q5"> 否
557
+ </label>
558
+ </td>
559
+ </tr>
560
+ <tr>
561
+ <td>6</td>
562
+ <td>安检(维修、抄表)员有无违反职业道德的行为(吃、拿、卡、要)</td>
563
+ <td>
564
+ <label class="radio-inline">
565
+ <input type="radio" name="q6" value="是" v-model="formData.q6"> 是
566
+ </label>
567
+ <label class="radio-inline">
568
+ <input type="radio" name="q6" value="否" v-model="formData.q6"> 否
569
+ </label>
570
+ </td>
571
+ </tr>
572
+ <tr>
573
+ <td>7</td>
574
+ <td>安检(维修、抄表)员是否向您进行了安全方面的宣传并派发了宣传单</td>
575
+ <td>
576
+ <label class="radio-inline">
577
+ <input type="radio" name="q7" value="是" v-model="formData.q7"> 是
578
+ </label>
579
+ <label class="radio-inline">
580
+ <input type="radio" name="q7" value="否" v-model="formData.q7"> 否
581
+ </label>
582
+ </td>
583
+ </tr>
584
+ <tr>
585
+ <td>8</td>
586
+ <td>安检(维修、抄表)员安检(维修、抄表)后是否向您解释了安检(维修、抄表)结果</td>
587
+ <td>
588
+ <label class="radio-inline">
589
+ <input type="radio" name="q8" value="是" v-model="formData.q8"> 是
590
+ </label>
591
+ <label class="radio-inline">
592
+ <input type="radio" name="q8" value="否" v-model="formData.q8"> 否
593
+ </label>
594
+ </td>
595
+ </tr>
596
+ <tr>
597
+ <td>9</td>
598
+ <td>隐患是否已整改</td>
599
+ <td>
600
+ <label class="radio-inline">
601
+ <input type="radio" name="q9" value="是" v-model="formData.q9"> 是
602
+ </label>
603
+ <label class="radio-inline">
604
+ <input type="radio" name="q9" value="否" v-model="formData.q9"> 否
605
+ </label>
606
+ </td>
607
+ </tr>
608
+ <tr>
609
+ <td>10</td>
610
+ <td>您对我们入户人员的工作效率和工作质量是否满意</td>
611
+ <td>
612
+ <label class="radio-inline">
613
+ <input type="radio" name="q10" value="满意" v-model="formData.q10"> 满意
614
+ </label>
615
+ <label class="radio-inline">
616
+ <input type="radio" name="q10" value="一般" v-model="formData.q10"> 一般
617
+ </label>
618
+ <label class="radio-inline">
619
+ <input type="radio" name="q10" value="不满意" v-model="formData.q10"> 不满意
620
+ </label>
621
+ </td>
622
+ </tr>
623
+ <tr>
624
+ <td>11</td>
625
+ <td>谢谢您对我们这次回访大力配合,请问您对我公司的安检(维修、抄表)工作还有那些好的建议?</td>
626
+ <td>
627
+ <textarea class="form-control" rows="3" v-model="formData.q11"></textarea>
628
+ </td>
629
+ </tr>
630
+ <tr>
631
+ <td>12</td>
632
+ <td>综合评价:</td>
633
+ <td>
634
+ <label class="radio-inline">
635
+ <input type="radio" name="q12" value="满意" v-model="formData.q12"> 满意
636
+ </label>
637
+ <label class="radio-inline">
638
+ <input type="radio" name="q12" value="一般" v-model="formData.q12"> 一般
639
+ </label>
640
+ <label class="radio-inline">
641
+ <input type="radio" name="q12" value="不满意" v-model="formData.q12"> 不满意
642
+ </label>
643
+ </td>
644
+ </tr>
645
+ <tr>
646
+ <td>13</td>
647
+ <td>备注</td>
648
+ <td>
649
+ <textarea class="form-control" rows="3" v-model="formData.q13"></textarea>
650
+ </td>
651
+ </tr>
652
+ </tbody>
653
+ </table>
654
+
655
+ </div>
656
+ <div slot="modal-footer" class="modal-footer">
657
+ <button class="btn btn-primary" @click="save" v-if="!isReadOnly">保存</button>
658
+ <button class="btn btn-default" @click="close">关闭</button>
659
+ </div>
660
+ </modal>
661
+ </template>
662
+
663
+ <script>
664
+ import {PagedList} from 'vue-client'
665
+ import Vue from 'vue'
666
+ import co from 'co'
667
+ import AppData from '../../../stores/AppData'
668
+ import * as Util from '../../Util'
669
+ import getNowDate from "../../../utils/getNowDate";
670
+ import HttpResetClass from "vue-client/src/plugins/HttpResetClass";
671
+ import BenzAMRRecorder from 'benz-amr-recorder'
672
+ import {isEmpty, toEndDateString, toStartDateString} from '../../Util'
673
+
674
+
675
+ let select = function* (self) {
676
+ let http = new HttpResetClass()
677
+ let getGasman = yield http.load('POST', '/rs/search', {
678
+ source: 'this.getParentByType($department$).getAllChildrens().where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1))',
679
+ userid: self.$login.f.id
680
+ }, {resolveMsg: null, rejectMsg: null})
681
+ ////tag
682
+ self.checkersid.push({label: '全部', value: ''})
683
+ getGasman.data.forEach((checker) => {
684
+ self.checkersid.push({label: checker.name, value: checker.id})
685
+ })
686
+ }
687
+
688
+ export default {
689
+ title: '安检结果查看',
690
+ data() {
691
+ let model = new PagedList('api/af-safecheck/sql/查找安检单', 20, {
692
+ f_plan_id: 'this.f_plan_id',
693
+ f_approved: 'this.f_approved',
694
+ f_entry_status: 'this.f_entry',
695
+ f_no_checkplan: 'this.f_no_checkplan',
696
+ f_filialeid: 'this.f_filialeid',
697
+ orderitem: "'f_offsite_time desc'"
698
+ })
699
+ model.f_check_type = ''
700
+ model.f_plan_id = ''
701
+ model.f_approved = ''
702
+ model.f_entry = ''
703
+ model.f_no_checkplan = ''
704
+ model.f_filialeid = `('${this.$login.f.orgid}')`
705
+ //model.f_check_type='民用'
706
+ // let searchData={
707
+ // f_plan_id: this.model.f_checker_id==undefined?"":this.model.f_checker_id,
708
+ // f_approved: this.model.f_approved,
709
+ // f_entry_status: this.model.f_entry,
710
+ // f_no_checkplan:this.model.f_no_checkplan[0],
711
+ // f_filialeid: this.model.f_filialeid,
712
+ // //orderitem: this.model.f_offsite_time,
713
+ // //condition:this.model.condition
714
+ // }
715
+ // model.f_subcompany = this.$login.f.f_fengongsi
716
+ return {
717
+ formData: {
718
+ id:'',
719
+ f_interviewee: '',
720
+ f_userinfo_code:'',
721
+ f_address:'',
722
+ f_user_phone:'',
723
+ f_user_name:'',
724
+ f_inspector: this.$login.f.name,
725
+ f_check_date: Util.toStandardTimeString(),
726
+ q1: '是',
727
+ q2: '是',
728
+ q3: '满意',
729
+ q4: '',
730
+ q5: '',
731
+ q6: '否',
732
+ q7: '是',
733
+ q8: '是',
734
+ q9: '是',
735
+ q10: '满意',
736
+ q11: '',
737
+ q12: '满意',
738
+ q13:''
739
+ },
740
+ show:false,
741
+ isReadOnly: false,
742
+ showinfo1:true,
743
+ showinfo2:false,
744
+ showinfo3:false,
745
+ showinfo4:false,
746
+ shouinfodata:{},
747
+ tableBrands: [{label: '全部', value: ''}],
748
+ audioshow: false,
749
+ safeAudit: this.$login.f.rolestr.includes('安检审核'),
750
+ searchData: {
751
+ condition: "1=1",
752
+ orderitem: "f_offsite_time desc",
753
+ f_plan_id: "",
754
+ f_approved: '',
755
+ f_entry_status: '',
756
+ f_no_checkplan: '',
757
+ f_filialeid: `('${this.$login.f.orgid}')`
758
+ },
759
+ model: model,
760
+ excelHeaders: {
761
+ //searchData:searchData,
762
+ 'f_userinfo_code': '客户编号',
763
+ 'f_user_name': '客户姓名',
764
+ 'f_meternumber':'客户表号',
765
+ 'f_user_phone':'客户电话',
766
+ 'f_check_type': '客户类型',
767
+ 'f_residential_area': '小区',
768
+ 'f_address': '客户地址',
769
+ 'f_entry_status': '安检状态',
770
+ 'f_usegas': '用气状态',
771
+ 'f_defect_content':'有无隐患',
772
+ 'f_offsite_time': '安检时间',
773
+ 'f_checker_name': '安检员',
774
+ 'f_safecheck_type':'安检类型',
775
+ 'f_repair_approved_note': '备注',
776
+ 'f_gas_date': '开户时间',
777
+ 'f_approved_by': '审核人',
778
+ 'f_approved': '审核状态',
779
+ 'f_approved_time': '审核时间'
780
+ },
781
+ fun: this.$login.f,
782
+ pcds:[],
783
+ checkersid: [],
784
+ safetype: this.$appdata.getParam('安检类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检类型')]:[{label: '全部', value: ''}],
785
+ criteriaShow: false,
786
+ checktype: this.$appdata.getParam('用户类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用户类型')]:[{label: '全部', value: ''}],
787
+ f_check_type:[{label:'全部',value:''},{label:'民用',value:'民用'},{label:'非民用',value:'非民用'}],
788
+ defect_contents:[{label:'全部',value:''},{label:'有隐患',value:'有隐患'},{label:'正常',value:'正常'}],
789
+ showModal: false,
790
+ safe_types:this.$appdata.getParam('计划类型')?[{label: '全部', value: ''}, ...this.$appdata.getParam('计划类型')]:[{label: '全部', value: ''}],
791
+ f_approval_states: this.$appdata.getParam('安检单审核状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检单审核状态')]:[{label: '全部', value: ''}],
792
+ f_entry_status: this.$appdata.getParam('安检状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('安检状态')]:[{label: '全部', value: ''}],
793
+ no_checkplans: this.$appdata.getParam('有无计划')?[{label: '全部', value: ''}, ...this.$appdata.getParam('有无计划')]:[{label: '全部', value: ''}],
794
+ usegas: this.$appdata.getParam('用气状态')?[{label: '全部', value: ''}, ...this.$appdata.getParam('用气状态')]:[{label: '全部', value: ''}],
795
+ showcheckmsg: false,
796
+ checkInfo: {},
797
+ orderDefault: "'f_offsite_time'",
798
+ orderFields: {
799
+ f_offsite_time: 'no'
800
+ },
801
+ sliceArea: [],
802
+ cbc:[]
803
+ }
804
+ },
805
+ created() {
806
+ // 使用 $on 监听事件
807
+ this.$root.$on('audit-status-changed', () => {
808
+ console.log('收到审核状态变更事件')
809
+ this.refresh()
810
+ })
811
+ },
812
+ beforeDestroy() {
813
+ // 记得在组件销毁前移除事件监听
814
+ this.$root.$off('audit-status-changed')
815
+ },
816
+ methods: {
817
+ visit(row){
818
+ this.show = true
819
+ this.formData.f_address = row.f_address
820
+ this.formData.f_userinfo_code = row.f_userinfo_code
821
+ this.formData.f_user_phone = row.f_user_phone
822
+ this.formData.f_user_name = row.f_user_name
823
+ this.formData.id = row.id
824
+ },
825
+ showVisit(row){
826
+ this.formData = JSON.parse(row.f_visit_data)
827
+ this.show = true
828
+ this.isReadOnly = true
829
+ },
830
+ async save(){
831
+ let data = {
832
+ f_is_visit : '已回访',
833
+ f_visit_date : Util.toStandardTimeString(),
834
+ f_visit_people : this.$login.f.name,
835
+ f_visit_data : JSON.stringify(this.formData)
836
+ }
837
+ const sql = `update t_check_paper set f_is_visit = '${data.f_is_visit}',f_visit_date = '${data.f_visit_date}',f_visit_people = '${data.f_visit_people}',f_visit_data='${data.f_visit_data}' where id = '${this.formData.id}'`
838
+ await new HttpResetClass().load('POST', 'api/af-safecheck/logic/runSQL', {data: {sql: sql}}, {resolveMsg: null, rejectMsg: null})
839
+ this.close()
840
+ this.search()
841
+ },
842
+ close(){
843
+ this.formData = {
844
+ id:'',
845
+ f_interviewee: '',
846
+ f_userinfo_code:'',
847
+ f_address:'',
848
+ f_user_phone:'',
849
+ f_user_name:'',
850
+ f_inspector: this.$login.f.name,
851
+ f_check_date: Util.toStandardTimeString(),
852
+ q1: '',
853
+ q2: '是',
854
+ q3: '满意',
855
+ q4: '是',
856
+ q5: '',
857
+ q6: '',
858
+ q7: '',
859
+ q8: '是',
860
+ q9: '是',
861
+ q10: '满意',
862
+ q11: '',
863
+ q12: '满意',
864
+ q13:''
865
+ }
866
+ this.show = false
867
+ this.isReadOnly = false
868
+ },
869
+ showback1(){
870
+ this.showinfo1 = true
871
+ this.showinfo2 = false
872
+ this.search()
873
+ },
874
+ showback2(){
875
+ this.showinfo1 = true
876
+ this.showinfo3 = false
877
+ this.search()
878
+ },
879
+ showback3(){
880
+ this.showinfo1 = true
881
+ this.showinfo4 = false
882
+ this.search()
883
+ },
884
+ //气表品牌查询
885
+ getTableBrands() {
886
+ new HttpResetClass().load("POST", `/api/af-safecheck/sql/safe_singleTable_OrderBy`,
887
+ {data: {items: "*", tablename: "t_gasbrand", orderitem: "id", condition: ` 1=1 `}},
888
+ {resolveMsg: null, rejectMsg: null}).then((resp) => {
889
+ resp.data.forEach((result) => {
890
+ this.tableBrands.push({label: result.f_meter_brand, value: result.f_meter_brand})
891
+ })
892
+ })
893
+ },
894
+ //获取省市区列表
895
+ getPcd(val){
896
+ this.pcds = [{label:'全部',value:''}]
897
+ new HttpResetClass().load("POST", `/api/af-safecheck/sql/safe_singleTable_OrderBy`,
898
+ {data:{items:"*",tablename:"t_pcd",orderitem:"id",condition:`f_orgid in ${val}`}},
899
+ {resolveMsg: null, rejectMsg: null}).then((pcdlist)=>{
900
+ pcdlist.data.forEach((result)=>{
901
+ this.pcds.push({label:result.f_pcd,value:result.f_pcd})
902
+ })
903
+ })
904
+ },
905
+ showaudio(){
906
+ //tag
907
+ this.audioshow=!this.audioshow
908
+ //tag
909
+ },
910
+ getmeterbook(val){
911
+ this.cbc=[]
912
+ this.cbc.push({
913
+ label:'全部',
914
+ value:''
915
+ })
916
+ if (val==''){
917
+
918
+ this.cbcs.forEach(res=>{
919
+ this.cbc.push({
920
+ label:res.f_book_name,
921
+ value:res.id
922
+ })
923
+ })
924
+ }else{
925
+ this.cbcs.forEach(res=>{
926
+ if (res.f_book_slice_area==val){
927
+ this.cbc.push({
928
+ label:res.f_book_name,
929
+ value:res.id
930
+ })
931
+ }
932
+ })
933
+ }
934
+ },
935
+ Mreadibook(val){
936
+ ////tag
937
+ ////tag
938
+ if (val){
939
+ new HttpResetClass().load('POST',`/api/af-safecheck/sql/safe_singleTable_OrderBy`, {data: {
940
+ items: 'name',
941
+ tablename: 't_zone',
942
+ condition: `parentid in ${val}`,
943
+ orderitem: 'id'
944
+ }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
945
+ this.sliceArea=[]
946
+ this.sliceArea.push({
947
+ label:'全部',
948
+ value:''
949
+ })
950
+ res.data.forEach(ress=>{
951
+ this.sliceArea.push({
952
+ label:ress.name,
953
+ value:ress.name
954
+ })
955
+ })
956
+
957
+ })
958
+ }
959
+ },
960
+ getAllMeterBook(val){
961
+ ////tag
962
+ ////tag
963
+ this.cbcs=[]
964
+ if (val){
965
+ new HttpResetClass().load('POST',`/api/af-safecheck/sql/safe_singleTable_OrderBy`, {data: {
966
+ items: 'f_book_name,f_book_slice_area,id',
967
+ tablename: 't_meter_book',
968
+ condition: `f_filiale_id in ${val}`,
969
+ orderitem: 'id'
970
+ }}, {resolveMsg: null, rejectMsg: null}).then((res) => {
971
+ res.data.forEach(ress=>{
972
+ this.cbcs.push({
973
+ id:ress.id,
974
+ f_book_name:ress.f_book_name,
975
+ f_book_slice_area:ress.f_book_slice_area
976
+ })
977
+ })
978
+ this.cbc=[]
979
+ this.cbc.push({
980
+ label:'全部',
981
+ value:''
982
+ })
983
+ this.cbcs.forEach(res=>{
984
+ this.cbc.push({
985
+ label:res.f_book_name,
986
+ value:res.id
987
+ })
988
+ })
989
+ })
990
+ }
991
+ },
992
+ getRes(obj) {
993
+ this.model.f_filialeid = this.$login.convertToIn(obj.resids);
994
+ this.searchData.f_filialeid = this.$login.convertToIn(obj.resids);
995
+ this.Mreadibook(this.model.f_filialeid)
996
+ this.getAllMeterBook(this.model.f_filialeid)
997
+ this.getPcd(this.model.f_filialeid)
998
+ //this.$refs.paged.$refs.criteria.search()
999
+ },
1000
+
1001
+ change(row) {
1002
+ row.f_upload_state = '已传'
1003
+ this.shouinfodata = JSON.parse(JSON.stringify(row))
1004
+ this.showinfo1 = false
1005
+ if (row.f_safe_type == '已挂表未办卡安检'){
1006
+ this.showinfo2 = false
1007
+ this.showinfo3 = true
1008
+ this.showinfo4 = false
1009
+ return
1010
+ }else if (!isEmpty(row.f_security_check_type_id)) {
1011
+ this.showinfo2 = false
1012
+ this.showinfo3 = false
1013
+ this.showinfo4 = true
1014
+ return
1015
+ }
1016
+ this.showinfo2 = true
1017
+ this.showinfo3 = false
1018
+ this.showinfo4 = false
1019
+ },
1020
+ showChooser() {
1021
+ this.showModal = true
1022
+ },
1023
+ hidden() {
1024
+ this.criteriaShow = !this.criteriaShow
1025
+ },
1026
+ refresh() {
1027
+ this.$refs.paged.$refs.criteria.search()
1028
+ },
1029
+ ok() {
1030
+ this.showModal = false
1031
+ if (this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow.id) {
1032
+ this.model.f_plan_id = this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow.id
1033
+ this.model.f_check_plan=this.$refs.paged.$refs.criteria.$refs.modal.$children[0].selectedRow
1034
+ }
1035
+ },
1036
+ cancel() {
1037
+ this.showModal = false
1038
+ this.model.f_check_plan = {f_plan_name: '', id: ''}
1039
+ this.model.f_plan_id=''
1040
+ },
1041
+ print(row) {
1042
+ this.showcheckmsg = true
1043
+ this.checkInfo = row
1044
+ },
1045
+
1046
+ sort(field, rule) {
1047
+ // 将所有排序方式设为不排序,实现相互排斥
1048
+ for (let key in this.orderFields) {
1049
+ if (key === field) {
1050
+ this.orderFields[key] = rule
1051
+ } else {
1052
+ this.orderFields[key] = 'no'
1053
+ }
1054
+ }
1055
+ // 如果新规则不排序,还原为默认排序
1056
+ if (rule === 'no') {
1057
+ this.model.paramSource.orderitem = `'${this.orderDefault}'`
1058
+ } else {
1059
+ this.model.paramSource.orderitem = `'${field} ${rule}'`
1060
+ }
1061
+ this.search()
1062
+ },
1063
+ search() {
1064
+ console.log('审核通过回调')
1065
+ this.$refs.paged.$refs.criteria.search()
1066
+ },
1067
+ selfSearch(args) {
1068
+ ////tag
1069
+ //args.condition+=" and f_check_type='民用'"
1070
+ if(args.model.f_check_date){
1071
+ const daysBefore = Number(args.model.f_check_date);
1072
+ if ( daysBefore > 0) {
1073
+ // 获取当前日期
1074
+ const now = new Date();
1075
+ // 计算三天前的日期
1076
+ const threeDaysBefore = new Date(now.getTime() - (daysBefore * 24 * 60 * 60 * 1000));
1077
+ // 如果需要格式化日期,可以使用Date对象的方法
1078
+ var formattedDate = threeDaysBefore.toISOString().split('T')[0];
1079
+ args.condition += ` and f_offsite_time <='${formattedDate} 23:59:59'`;
1080
+ } else {
1081
+ console.error('f_check_date不是一个有效的正整数');
1082
+ }
1083
+ }
1084
+ this.model.search(args.condition, args.model, args.condValue)
1085
+ }
1086
+ },
1087
+ ready() {
1088
+ if(this.safeAudit){
1089
+ let oa = {
1090
+ 'f_approved_by':'审核人',
1091
+ 'f_approvedstart_time':'审核开始时间',
1092
+ 'f_approved_time':'审核结束时间',
1093
+ 'f_approved':'审核状态',
1094
+ 'f_approved_note': '审核备注'
1095
+ }
1096
+ this.excelHeaders = Object.assign({}, this.excelHeaders, oa)
1097
+ }
1098
+ this.function = this.f
1099
+ //获取气表品牌
1100
+ this.getTableBrands()
1101
+ let gen = select(this)
1102
+ //this.pianqu()
1103
+ this.Mreadibook(`('${this.$login.f.orgid}')`)
1104
+ co(gen)
1105
+ this.$refs.paged.$refs.criteria.model.f_check_start = Util.toStartDateString() + ' 00:00:00'
1106
+ this.$refs.paged.$refs.criteria.model.f_check_end = Util.toEndDateString() + ' 23:59:59'
1107
+ },
1108
+ watch: {
1109
+ 'model.f_no_checkplan'(val) {
1110
+ if (this.model.f_no_checkplan){
1111
+ this.searchData.f_no_checkplan = val
1112
+ }
1113
+ if (this.model.f_no_checkplan == '有计划安检') {
1114
+
1115
+ this.showChooser()
1116
+ }
1117
+ },
1118
+ 'model.condition'(val) {
1119
+ if (val) {
1120
+ this.searchData.condition = val
1121
+ }
1122
+
1123
+ },
1124
+ 'model.f_entry'(val) {
1125
+ this.searchData.f_entry_status = val
1126
+ },
1127
+ 'model.f_plan_id'(val) {
1128
+ if (val) {
1129
+ this.searchData.f_plan_id = val
1130
+ }
1131
+ },
1132
+ 'model.f_slice_area'(val) {
1133
+ },
1134
+ 'model.f_approved'(val) {
1135
+ if (val) {
1136
+ this.searchData.f_approved = val
1137
+ }
1138
+ }
1139
+ }
1140
+
1141
+ }
1142
+ </script>