safecheck-client 4.0.1-90 → 4.0.1-92

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 (246) 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/Util/RightTreeSafeDep.vue +362 -362
  7. package/src/components/android/AddPlanItem.vue +447 -447
  8. package/src/components/android/AddPlanItemYy.vue +451 -451
  9. package/src/components/android/AddSpecialPlanItem.vue +426 -426
  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 +27 -32
  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/UploadPage.vue +4 -0
  23. package/src/components/android/examples/SafeListExamples.vue +296 -296
  24. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  25. package/src/components/android/recheck/Recheck.vue +402 -402
  26. package/src/components/android/userinfo/SafecheckUserInfo.vue +776 -776
  27. package/src/components/checkplan/checkmsg.vue +459 -459
  28. package/src/components/defect/DefectList.vue +507 -507
  29. package/src/components/defect/DefectListWeixiu.vue +484 -484
  30. package/src/components/filialCircle/CircleList.vue +139 -139
  31. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  32. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  33. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  34. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  35. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  36. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  37. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  38. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  39. package/src/components/map/PersonTrack.vue +226 -226
  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/RoleSelectorDep.vue +166 -166
  47. package/src/components/pc/SafeVisitInfo.vue +261 -261
  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/jinhong/pc/CheckBookList.vue +393 -393
  102. package/src/filiale/jinhong/pc/PaperList.vue +853 -853
  103. package/src/filiale/jinhong/pc/PlanManage.vue +927 -927
  104. package/src/filiale/jinhong/pc/checkPlanList.vue +420 -420
  105. package/src/filiale/kelai/android/AddPlanItem.vue +488 -488
  106. package/src/filiale/kelai/android/SafecheckUserInfo.vue +774 -774
  107. package/src/filiale/kelai/android/SafecheckUserInfo1.vue +618 -618
  108. package/src/filiale/kelai/pc/DefectListNew.vue +688 -688
  109. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasList.vue +518 -518
  110. package/src/filiale/kelai/pc/NewCheckpaper.vue +1454 -1454
  111. package/src/filiale/liaoyuan/android/AddPlanItem.vue +412 -412
  112. package/src/filiale/liaoyuan/android/CurrentCreate.vue +1066 -1066
  113. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2388 -2388
  114. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +557 -557
  115. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +489 -489
  116. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  117. package/src/filiale/libo/android/CurrentCreate.vue +1091 -1091
  118. package/src/filiale/libo/android.js +15 -15
  119. package/src/filiale/lixian/android/SafecheckOrderV.vue +2404 -2404
  120. package/src/filiale/lixian/android/SafecheckUserInfo.vue +578 -578
  121. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  122. package/src/filiale/meihekou/android/AreaPlan.vue +577 -577
  123. package/src/filiale/meihekou/android/MeterReading.vue +110 -110
  124. package/src/filiale/meihekou/android/PhoneUpUserinfo.vue +1307 -1307
  125. package/src/filiale/meihekou/android/SafecheckUserInfo.vue +785 -785
  126. package/src/filiale/meihekou/pc/NewCheckpaperTemp.vue +1288 -1288
  127. package/src/filiale/minsheng/android/SafecheckUserInfo.vue +754 -754
  128. package/src/filiale/minsheng/pc/DefectListNew.vue +535 -535
  129. package/src/filiale/pingxiang/android/SafecheckOrderV.vue +2424 -2424
  130. package/src/filiale/pingxiang/android/SafecheckUserInfo.vue +600 -600
  131. package/src/filiale/pingxiang/pc/DefectListNew.vue +519 -519
  132. package/src/filiale/pingxiang/pc/NewCheckpaper.vue +1294 -1294
  133. package/src/filiale/qianneng/android/AddPlanItem.vue +482 -482
  134. package/src/filiale/qianneng/android/SafecheckOrderV.vue +2785 -2785
  135. package/src/filiale/qianneng/android/SafecheckUserInfo.vue +775 -775
  136. package/src/filiale/qianneng/pc/DefectListNew.vue +576 -576
  137. package/src/filiale/qianneng/pc/NewCheckpaper.vue +1546 -1546
  138. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2844 -2844
  139. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +800 -800
  140. package/src/filiale/qingjian/pc/NewCheckpaper.vue +1871 -1871
  141. package/src/filiale/qingjian/pc/SecurityCheckCoordinates.vue +359 -359
  142. package/src/filiale/qingjian/pc.js +15 -15
  143. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -450
  144. package/src/filiale/qingtongxia/android/SafecheckOrderV.vue +2726 -2726
  145. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -782
  146. package/src/filiale/qingtongxia/pc/DefectListNew.vue +594 -594
  147. package/src/filiale/rizhao/android/AddPlanItem.vue +446 -446
  148. package/src/filiale/rizhao/android/SafecheckOrderV.vue +2430 -2430
  149. package/src/filiale/rizhao/android/SafecheckUserInfo.vue +640 -640
  150. package/src/filiale/rizhao/pc/DefectList.vue +489 -489
  151. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +2696 -2696
  152. package/src/filiale/rongchuang/android/checkpapermsg.vue +209 -209
  153. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -2747
  154. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -804
  155. package/src/filiale/shanggao/android/SafecheckOrderV.vue +2426 -2426
  156. package/src/filiale/shanxian/android/SafecheckUserInfo.vue +749 -749
  157. package/src/filiale/shanxian/pc/HiddenSituation.vue +121 -121
  158. package/src/filiale/shanxian/pc/NewCheckpaper.vue +1526 -1526
  159. package/src/filiale/shexian/android/AddPlanItem.vue +444 -444
  160. package/src/filiale/shexian/android/SafecheckOrderV.vue +2879 -2879
  161. package/src/filiale/shexian/pc/DefectListNew.vue +593 -593
  162. package/src/filiale/shexian/pc/NewCheckpaper.vue +1469 -1469
  163. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  164. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  165. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  166. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  167. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -1051
  168. package/src/filiale/siyang/android/PhoneRecordInfo.vue +214 -214
  169. package/src/filiale/siyang/android/SafecheckOrderV.vue +2796 -2796
  170. package/src/filiale/siyang/android/SafecheckUserInfo.vue +789 -789
  171. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -167
  172. package/src/filiale/taiyuan/pc/NewCheckpaper.vue +1976 -1976
  173. package/src/filiale/taiyuan/pc/PlanManage.vue +891 -891
  174. package/src/filiale/taiyuan/pc/checkUserList.vue +798 -798
  175. package/src/filiale/tianke/android/AddPlanItem.vue +455 -455
  176. package/src/filiale/tianke/android/SafecheckOrderV.vue +2431 -2431
  177. package/src/filiale/tianke/android/SafecheckUserInfo.vue +744 -744
  178. package/src/filiale/tongchuan/android/AddPlanItem.vue +483 -483
  179. package/src/filiale/tongchuan/android/PhoneRecordInfo.vue +191 -191
  180. package/src/filiale/tongchuan/android/PhoneSellInfo.vue +113 -113
  181. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +720 -720
  182. package/src/filiale/tongchuan/pc/CheckBookDetails.vue +209 -209
  183. package/src/filiale/tongchuan/pc/DefectListWeixiu.vue +484 -484
  184. package/src/filiale/tongchuan/pc/HiddenSituation.vue +166 -166
  185. package/src/filiale/weinan/android/AddPlanItem.vue +438 -438
  186. package/src/filiale/weinan/android/CurrentCreate.vue +1171 -1171
  187. package/src/filiale/weinan/android/CurrentCreateOnline.vue +911 -911
  188. package/src/filiale/weinan/android/SafePlanItem.vue +440 -440
  189. package/src/filiale/weinan/android/SafecheckUserInfo.vue +778 -778
  190. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  191. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -1088
  192. package/src/filiale/weinan/pc/HiddenSituation.vue +167 -167
  193. package/src/filiale/weinan/pc/checkScreen.vue +1094 -1094
  194. package/src/filiale/weinanct/android/SafecheckOrderV.vue +2730 -2730
  195. package/src/filiale/weinanct/pc/NewCheckpaper.vue +1315 -1315
  196. package/src/filiale/wensu/android/AddPlanItem.vue +495 -495
  197. package/src/filiale/wensu/android/AndroidDefectDeal.vue +464 -464
  198. package/src/filiale/wensu/android/PaperFeedback.vue +1358 -1358
  199. package/src/filiale/wensu/android/SafecheckOrderV.vue +2430 -2430
  200. package/src/filiale/wensu/android/SafecheckUserInfo.vue +627 -627
  201. package/src/filiale/wensu/pc/DefectListNew.vue +735 -735
  202. package/src/filiale/wenxi/android/AddPlanItem.vue +431 -431
  203. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2671 -2671
  204. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +673 -673
  205. package/src/filiale/wenxi/pc/DefectList.vue +653 -653
  206. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1358 -1358
  207. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2241
  208. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -596
  209. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  210. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  211. package/src/filiale/wuhai/android/SafecheckOrderV.vue +2456 -2456
  212. package/src/filiale/wuhai/android/SafecheckUserInfo.vue +573 -573
  213. package/src/filiale/wuhai/pc/NewCheckpaper.vue +1281 -1281
  214. package/src/filiale/xiangyuanzhongai/android/PhoneUpUserinfo.vue +1251 -1251
  215. package/src/filiale/xinkang/pc/CheckSearchUser.vue +1026 -1026
  216. package/src/filiale/xinkang/pc/DefectListWeixiu.vue +475 -475
  217. package/src/filiale/yangchunboneng/android/AddPlanItem.vue +496 -496
  218. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2865 -2865
  219. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  220. package/src/filiale/yangchunboneng/pc/DefectListNew.vue +576 -576
  221. package/src/filiale/yongzhou/android/SafecheckOrderV.vue +2774 -2774
  222. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +776 -776
  223. package/src/filiale/yuansheng/android/SafecheckOrderV.vue +2758 -2758
  224. package/src/filiale/yuansheng/android/SafecheckUserInfo.vue +797 -797
  225. package/src/filiale/yuansheng/pc/DefectListNew.vue +524 -524
  226. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +1371 -1371
  227. package/src/filiale/yuansheng/pc/checkmsg.vue +464 -464
  228. package/src/filiale/yunchengminsheng/android/DailyworkloadQuery.vue +491 -491
  229. package/src/filiale/yunchengminsheng/android/PaperFeedback.vue +1509 -1509
  230. package/src/filiale/yunchengminsheng/android/PhoneSellInfo.vue +113 -113
  231. package/src/filiale/yunchengminsheng/android/SafecheckDevices.vue +1270 -1270
  232. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +785 -785
  233. package/src/filiale/yunchengminsheng/android.js +15 -15
  234. package/src/filiale/yunchengminsheng/pc/PaperList.vue +811 -811
  235. package/src/filiale/yunchengminsheng/pc.js +15 -15
  236. package/src/filiale/zhongsheng/android/BuyRecords.vue +122 -122
  237. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2461 -2461
  238. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +690 -690
  239. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  240. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1322 -1322
  241. package/src/filiale/zhongyi/android/SafecheckOrderV.vue +2431 -2431
  242. package/src/filiale/zhongyi/pc/DefectListNew.vue +514 -514
  243. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  244. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  245. package/src/main.js +33 -32
  246. package/src/safecheck.js +924 -924
@@ -1,1091 +1,1091 @@
1
- <style scoped>
2
- .bg {
3
- background-color: blue;
4
- height: 1px;
5
- border: 0;
6
- }
7
- .app-row {
8
- background-color: white;
9
- padding: 10px 10px 0 10px;
10
- border-bottom: 1px solid rgba(235, 235, 235, 0.5);
11
- }
12
- .search_input {
13
- border: 0;
14
- outline: none;
15
- }
16
- .font{
17
- font: 15px PingFang-SC-Medium;
18
- color: #666666;
19
- }
20
- .input-font{
21
- font: 15px PingFang-SC-Medium;
22
- color: #333333;
23
- }
24
- .btn-font{
25
- font:600 16px PingFang-SC-Bold;
26
- color: #499EDF;
27
- }
28
- .btn-color{
29
- background-color: #FFFFFF;
30
- border-radius: 10px ;
31
- border: 1px solid #499EDF;
32
- }
33
- .app-text {
34
- font-size: 12px;
35
- }
36
- .panel-self{
37
- border-radius: 10px;
38
- border:1px solid #499EDF;
39
- background-color: #F8F8F8;
40
- }
41
- .yybtn-color{
42
- background-color:#499edf;
43
- border-radius: 4px ;
44
- border: 1px solid #499EDF;
45
- color: #FFFFFF;
46
- font: 14px PingFang-SC-Bold;
47
- }
48
- .qxbtn-color{
49
- background-color: #FFFFFF;
50
- border-radius: 4px ;
51
- color: #499edf;
52
- font: 14px PingFang-SC-Bold;
53
- border: 1px solid #499EDF;
54
- }
55
-
56
- .button_shrink_top {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_top.png")}
57
- .button_shrink_bottom {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_bottom.png")}
58
- .button_shrink_left {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_left.png")}
59
- .button_shrink_right {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_right.png")}
60
- </style>
61
- <style>
62
- .clear-select-with .dropdown-menu{
63
- left: 0px !important;
64
- width: 200% !important;
65
- }
66
- </style>
67
- <template>
68
- <div style="height: auto;width: 100%">
69
- <criteria-paged :model="model" v-ref:paged>
70
- <criteria partial='criteria' @condition-changed='search' v-ref:cri>
71
- <div partial>
72
- <form>
73
- <div class="row app-row">
74
- <!--小区名称-->
75
- <v-select :value.sync="model.f_residential_area"
76
- class="input-font clear-select-with"
77
- :options='$parent.$parent.residentialAreaOptions'
78
- placeholder='小区名称'
79
- :width="'32.5%'"
80
- v-model="model.f_residential_area"
81
- condition="ti.f_residential_area = '{}'"
82
- @change="$parent.$parent.getbuilds"
83
- close-on-select clear-button>
84
- </v-select>
85
- <!--楼栋-->
86
- <v-select :value.sync="model.f_building"
87
- class="input-font"
88
- :options='$parent.$parent.buildOptions'
89
- placeholder='楼栋'
90
- :width="'32.5%'"
91
- v-model="model.f_building"
92
- condition="ti.f_building = '{}'"
93
- @change="$parent.$parent.getUnits"
94
- close-on-select clear-button>
95
- </v-select>
96
- <!--单元-->
97
- <v-select :value.sync="model.f_unit"
98
- class="input-font"
99
- :options='$parent.$parent.unitOptions'
100
- placeholder='单元'
101
- :width="'32.5%'"
102
- v-model="model.f_unit"
103
- condition="ti.f_unit = '{}'"
104
- close-on-select clear-button>
105
- </v-select>
106
- </div>
107
- <div class="row app-row">
108
- <div class="col-xs-4">
109
- <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
110
- <label for="f_userinfo_code" class="font text-left">用户编号:</label>
111
- </div>
112
- <div class="col-xs-8" >
113
- <input id="f_userinfo_code" class="search_input input-font"
114
- v-model=model.f_userinfo_code condition="f_userinfo_code like '%{}%'" />
115
- </div>
116
- </div>
117
- <div class="row app-row">
118
- <div class="col-xs-4">
119
- <img src="../../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
120
- <label class="font text-left">用户姓名:</label>
121
- </div>
122
- <div class="col-xs-8" >
123
- <input class="search_input input-font" v-model=model.f_user_name condition="f_user_name like '%{}%'" />
124
- </div>
125
- </div>
126
-
127
- <div class="row app-row">
128
- <div class="col-xs-4">
129
- <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
130
- <label class="font text-left">用户证号:</label>
131
- </div>
132
- <div class="col-xs-8" >
133
- <input class="search_input input-font" v-model=model.f_enter_number condition="f_enter_number like '%{}%'" />
134
- </div>
135
- </div>
136
-
137
- <div class="row app-row" v-if="$parent.$parent.criteriaShow && !$parent.$parent.planName">
138
- <div class="col-xs-4">
139
- <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
140
- <label for="f_plan_name" class="font text-left">计划名称:</label>
141
- </div>
142
- <v-select
143
- id="f_plan_name"
144
- :value.sync="model.f_plan_name"
145
- class="input-font"
146
- :options='$parent.$parent.planNameOptions'
147
- placeholder='计划名称'
148
- :width="'60%'"
149
- v-model="model.f_plan_name"
150
- condition="f_plan_name like '%{}%'"
151
- close-on-select clear-button>
152
- </v-select>
153
- </div>
154
-
155
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
156
- <div class="col-xs-4">
157
- <img src="../../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
158
- <label for="f_state" class="font text-left">是否已检:</label>
159
- </div>
160
- <v-select id="f_state"
161
- :value.sync="model.f_state"
162
- class="input-font"
163
- :options='$parent.$parent.check_states'
164
- placeholder='是否已检'
165
- :width="'60%'"
166
- v-model="model.f_state"
167
- condition="f_state='{}'"
168
- close-on-select clear-button>
169
- </v-select>
170
- </div>
171
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
172
- <div class="col-xs-4">
173
- <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
174
- <label class="font text-left">表&emsp;&emsp;号:</label>
175
- </div>
176
- <div class="col-xs-5" >
177
- <input class="search_input input-font"
178
- v-model=model.f_meter_no condition="f_meter_no like '%{}%'" />
179
- </div>
180
- <div class="col-xs-3">
181
- <button type="button" class="btn btn-lg btn-font btn-color" @click="$parent.$parent.scan()">扫码</button>
182
- </div>
183
- </div>
184
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
185
- <div class="col-xs-4">
186
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
187
- <label class="font text-left">客户电话:</label>
188
- </div>
189
- <div class="col-xs-8" >
190
- <input class="search_input input-font"
191
- v-model=model.f_user_phone condition="f_user_phone like '%{}%'" />
192
- </div>
193
- </div>
194
-
195
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
196
- <div class="col-xs-4">
197
- <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
198
- <label class="font text-left">用户地址:</label>
199
- </div>
200
- <div class="col-xs-8" >
201
- <input class="search_input input-font"
202
- v-model=model.f_keyword condition="f_address like '%{}%'" />
203
- </div>
204
- </div>
205
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
206
- <div class="col-xs-4">
207
- <img src="../../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
208
- <label for="f_user_type" class="font text-left">用户类型:</label>
209
- </div>
210
- <v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font"
211
- :width="'60%'"
212
- :options='$parent.$parent.user_types' placeholder='请选择用户类型'
213
- v-model="model.f_user_type" condition="f_user_type='{}'" close-on-select clear-button></v-select>
214
- </div>
215
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
216
- <div class="col-xs-6">
217
- <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
218
- <label class="font text-left">到访不遇:</label>
219
- </div>
220
- <div class="col-xs-8" >
221
- <input class="search_input input-font" type="number"
222
- v-model=model.f_check_version condition="f_check_version <= '{}'" />
223
- </div>
224
- </div>
225
- <div class="row app-row" v-if="$parent.$parent.criteriaShow">
226
- <div class="col-xs-6" style="text-align: center">
227
- <span class="font text-left">待办{{$parent.$parent.upcomingCount}}条</span>
228
- </div>
229
- <div class="col-xs-6" style="text-align: center">
230
- <span class="font text-left">已办{{$parent.$parent.doneCount}}条</span>
231
- </div>
232
- <div class="col-xs-6" style="text-align: center">
233
- <span class="font text-left">临时保存{{$parent.$parent.tempSaveCount}}条</span>
234
- </div>
235
- <div class="col-xs-6" style="text-align: center">
236
- <span class="font text-left">总共{{$parent.$parent.allPlanCount}}条</span>
237
- </div>
238
- </div>
239
-
240
- <div class="row text-center" style="margin-top: 20px;">
241
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;" @click="$parent.$parent.selfSearch">查询</button>
242
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%; margin-left: 10px" @click="$parent.$parent.queryplanmany">转发</button>
243
- <div style="float: right;margin-right: 3% " class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
244
- <img v-if="!$parent.$parent.planName" style="float: right;margin-right: 3% " @click="$parent.$parent.getNewOrder" src="../../../assets/shuaxindaiban1.png" style="width: 40px;padding: 5px; float:right">
245
- </div>
246
- <div class="col-sm-12">
247
-
248
- </div>
249
- <!--<div class="row app-btn">-->
250
- <!--<button class="btn btn-primary col-xs-6" type="button" @click="search"><span class="glyphicon glyphicon-search" style="margin-right: 20px;">查询</span></button>-->
251
- <!--</div>-->
252
- <div style="height:30px;"></div>
253
- </form>
254
- </div>
255
- </criteria>
256
- <list :model="model" partial='list'>
257
- <div partial>
258
- <div class="auto app-text" style="margin-top: 5px;">
259
- <div class="panel" style="padding: 10px 10px 5px 10px;">
260
- <div class="panel-body panel-self">
261
-
262
- <div class="col-xs-12">
263
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
264
- <p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{ row.f_userinfo_code }}</p>
265
- <p class="panel-title col-xs-2 text-left input-font" style="width: 5%;float:right">
266
- <input type="checkbox" @click="$parent.$parent.$parent.setPlanParam(row.id, $event)"/>
267
- </p>
268
- </div>
269
- <div class="col-xs-12">
270
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
271
- <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_user_name }}</p>
272
- </div>
273
- <div class="col-xs-6">
274
- <p class="panel-title col-xs-5 text-left font"><b>用户类型:</b></p>
275
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
276
- </p>
277
- </div>
278
- <div class="col-xs-6">
279
- <p class="panel-title col-xs-5 text-left font"><b>计划名称:</b></p>
280
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_plan_name }}</p>
281
- </div>
282
- <!-- <div class="col-xs-6">-->
283
- <!-- <p class="panel-title col-xs-5 text-left font"><b>小区名称:</b></p>-->
284
- <!-- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_residential_area }}</p>-->
285
- <!-- </div>-->
286
- <div class="col-xs-12">
287
- <p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b></p>
288
- <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_user_phone }}
289
- <img src="../../../assets/phone.png" style="width: 6%"
290
- v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_user_phone)'/>
291
- </p>
292
- </div>
293
- <div class="col-xs-12">
294
- <p class="panel-title text-left font" style="width: 23%;float: left"><b>备用电话:</b></p>
295
- <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_rent_phone}}
296
- <img v-if="row.f_rent_phone" src="../../../assets/phone.png" style="width: 6%"
297
- v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_rent_phone)'/>
298
- </p>
299
- </div>
300
- <div class="col-xs-12">
301
- <p class="panel-title text-left font" style="width: 23%;float: left"><b>租户电话:</b></p>
302
- <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_zuhu_phone }}
303
- <img v-if="row.f_zuhu_phone" src="../../../assets/phone.png" style="width: 6%"
304
- v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_zuhu_phone)'/>
305
- </p>
306
- </div>
307
-
308
- <div class="col-xs-12">
309
- <p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
310
- <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}</p>
311
- </div>
312
-
313
- <!-- <div class="row">-->
314
- <!-- <p class="panel-title col-xs-4 text-left font">计划年份</p>-->
315
- <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_plan_year }}</p>-->
316
- <!-- </div>-->
317
- <!-- <div class="row">-->
318
- <!-- <p class="panel-title col-xs-4 text-left font">计划月份</p>-->
319
- <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_plan_month }}</p>-->
320
- <!-- </div>-->
321
- <!-- <div class="row">-->
322
- <!-- <p class="panel-title col-xs-4 text-left font">预约时间</p>-->
323
- <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_prearranged_date }}</p>-->
324
- <!-- </div>-->
325
- <!--<div class="row">-->
326
- <!--<p class="panel-title col-xs-4 text-left font">上次安检状态</p>-->
327
- <!--<p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_state }}</p>-->
328
- <!--</div>-->
329
- <div class="col-xs-6">
330
- <p class="panel-title col-xs-5 text-left font"><b>安检状态:</b></p>
331
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_state == '已检'?'临时保存':row.f_state }}</p>
332
- </div>
333
- <div class="col-xs-6">
334
- <p class="panel-title col-xs-5 text-left font"><b>上传状态:</b></p>
335
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_upload_state }}</p>
336
- </div>
337
- <div class="col-xs-12" v-if="row.f_prearranged_date !=null">
338
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>预约时间:</b></p>
339
- <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_prearranged_date }}</p>
340
- </div>
341
- <div class="col-xs-6">
342
- <p class="panel-title col-xs-5 text-left font"><b>安检类型:</b></p>
343
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_safecheck_type }}</p>
344
- </div>
345
- <div class="col-xs-12">
346
- <p class="panel-title col-xs-5 text-left font"><b>到访不遇次数:</b></p>
347
- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_check_version }}</p>
348
- </div>
349
- <div class="col-xs-12">
350
- <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>安装日期:</b></p>
351
- <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ $parent.$parent.$parent.formatDateTime(row.f_open_date) }}</p>
352
- </div>
353
- <!--<div class="col-xs-12">-->
354
- <!--<p class="panel-title col-xs-5 text-left font"><b>送气期限:</b></p>-->
355
- <!--<p class="panel-title col-xs-7 text-left input-font">{{timeSet(row.f_issue_time)}}</p>-->
356
- <!--</div>-->
357
- <div class="col-xs-12">
358
- <button type="button" name="button" class="btn btn-primary" style="background-color:#499edf;float: right" @click="$parent.$parent.$parent.inspect(row)">处理</button>
359
- <button type="button" name="button" class="btn btn-primary" style="background-color:#499edf;float: right;margin-right:10px;" @click="$parent.$parent.$parent.queryplan(row.id)">转发</button>
360
- <!--<button type="button" class="btn btn-default" @click="$parent.$parent.$parent.ceshi">确认2</button>-->
361
- </div>
362
- <!-- <div class="row text-right" v-show="row.f_upload_state != '已传'" >-->
363
- <!-- <button type="button" class="btn yybtn-color" v-on:click.stop.prevent='$parent.$parent.$parent.reserve($index)'>预约</button>&nbsp;-->
364
- <!-- <button type="button" class="btn qxbtn-color" v-if ='row.f_prearranged_date'-->
365
- <!-- v-on:click.stop.prevent='$parent.$parent.$parent.cancelReserve($index, row.id)'>取消预约</button>-->
366
- <!-- </div>-->
367
- </div>
368
- </div>
369
- </div>
370
- </div>
371
- </list>
372
- </criteria-paged>
373
- <modal :show.sync="showModal">
374
- <div slot="modal-header" class="modal-header">
375
- <h4 class="modal-title">
376
- 选择预约时间
377
- </h4>
378
- </div>
379
- <div slot="modal-body" class="modal-body">
380
- <input type="datetime-local" v-model="f_preset_dt">
381
- </div>
382
- <div slot="modal-footer" class="modal-footer">
383
- <button type="button" class="btn btn-default" @click="genuineReserve">确认</button>
384
- </div>
385
- </modal>
386
- <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
387
- <modal :show.sync="showModal2" v-ref:modal>
388
- <div slot="modal-header" class="modal-header">
389
- <h4 class="modal-title">
390
- 选择计划
391
- </h4>
392
- </div>
393
- <div slot="modal-body" class="modal-body">
394
- <div class="col-xs-12">
395
-
396
- <div class="col-xs-4">
397
- <v-select :value.sync="check" v-model='check'
398
- :value-single="true"
399
- class="select_list select"
400
- :options='checkers' placeholder='安检员'
401
- close-on-select width="100%"></v-select>
402
- </div>
403
-
404
- <div class="col-xs-1">
405
- <!--<label style="font-size:20px;line-height: 35px">人员 </label>-->
406
- </div>
407
- <div class="col-xs-4" style="padding-left: 2px">
408
- <input class="select-style" placeholder="计划名称" type="text" v-model="plan" style="border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 35px"/>
409
- </div>
410
- <div class="col-xs-1" >
411
- <!--<label style="font-size: 20px;line-height: 35px">计划</label>-->
412
- </div>
413
- <!--<input placeholder="安检员" type="text" v-model="check" style="height:30px;width: 100px"/>-->
414
- <div class="col-xs-2" style="float: right">
415
- <button type="button" class="btn btn-primary" @click="plansearch" style="background-color:#499edf;float: right;margin-right:10px;border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 1px;padding-left: 12px">查询</button>
416
- </div>
417
- </div>
418
- <table class="table table_sy">
419
- <thead>
420
- <tr>
421
- <th style="width: 30px"></th>
422
- <th style="font-family: 'Adobe 黑体 Std R'">计划名称</th>
423
- </tr>
424
- </thead>
425
- <tbody>
426
- <tr v-for="row in planoption">
427
- <td @click="select(row, $index)" >{{row.selected==true ? '☆' : '&nbsp;&nbsp;&nbsp;&nbsp;'}}</td>
428
- <td @click="select(row, $index)" style="text-align: center">{{row.label}}</td>
429
-
430
-
431
- </tr>
432
- </tbody>
433
- </table>
434
- </div>
435
- <div slot="modal-footer" class="modal-footer">
436
- <button class="btn btn-default" @click="isok()">确认</button>
437
- <button class="btn btn-default" @click="iscancel()">取消</button>
438
- </div>
439
- </modal>
440
- <modal :show.sync="showModal3" v-ref:modal>
441
- <div slot="modal-header" class="modal-header">
442
- <h4 class="modal-title">
443
- 选择计划
444
- </h4>
445
- </div>
446
- <div slot="modal-body" class="modal-body">
447
- <div class="col-xs-12">
448
-
449
- <div class="col-xs-4">
450
- <v-select :value.sync="check" v-model='check'
451
- :value-single="true"
452
- class="select_list select"
453
- :options='checkers' placeholder='安检员'
454
- close-on-select width="100%"></v-select>
455
- </div>
456
-
457
- <div class="col-xs-1">
458
- <!--<label style="font-size:20px;line-height: 35px">人员 </label>-->
459
- </div>
460
- <div class="col-xs-4" style="padding-left: 2px">
461
- <input class="select-style" placeholder="计划名称" type="text" v-model="plan" style="border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 35px"/>
462
- </div>
463
- <div class="col-xs-1" >
464
- <!--<label style="font-size: 20px;line-height: 35px">计划</label>-->
465
- </div>
466
- <!--<input placeholder="安检员" type="text" v-model="check" style="height:30px;width: 100px"/>-->
467
- <div class="col-xs-2" style="float: right">
468
- <button type="button" class="btn btn-primary" @click="plansearch" style="background-color:#499edf;float: right;margin-right:10px;border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 1px;padding-left: 12px">查询</button>
469
- </div>
470
- </div>
471
- <table class="table table_sy">
472
- <thead>
473
- <tr>
474
- <th style="width: 30px"></th>
475
- <th style="font-family: 'Adobe 黑体 Std R'">计划名称</th>
476
- </tr>
477
- </thead>
478
- <tbody>
479
- <tr v-for="row in planoption">
480
- <td @click="select(row, $index)" >{{row.selected==true ? '☆' : '&nbsp;&nbsp;&nbsp;&nbsp;'}}</td>
481
- <td @click="select(row, $index)" style="text-align: center">{{row.label}}</td>
482
-
483
-
484
- </tr>
485
- </tbody>
486
- </table>
487
- </div>
488
- <div slot="modal-footer" class="modal-footer">
489
- <button class="btn btn-default" @click="manyisok()">确认</button>
490
- <button class="btn btn-default" @click="iscancel()">取消</button>
491
- </div>
492
- </modal>
493
- </div>
494
-
495
- </template>
496
-
497
- <script>
498
- import LocalPagedList from '../../../plugins/LocalPagedList'
499
- import Vue from 'vue'
500
- import { PagedList,HttpResetClass } from 'vue-client'
501
- import * as Util from '../../Util'
502
- import co from 'co'
503
- import {isEmpty} from "../../Util";
504
- let select = function * (self) {
505
- let http = new HttpResetClass()
506
- http.load('POST', `${self.$androidUtil.getProxyUrl()}/rs/search`, {
507
- source: 'this.getSpecialResByType($user$).where(row.getAttributes().get($rolestr$)!=null ).where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1)',
508
- userid: Vue.user.orgid
509
- }, {resolveMsg: null, rejectMsg: null}).then((res) => {
510
- //tag
511
- self.checkers.push({label:'全部',value:''})
512
- res.data.forEach((checker)=>{
513
- self.checkers.push({label:checker.name,value:checker.id})
514
- })
515
- })
516
- }
517
- export default {
518
- title: '无计划安检查询',
519
- props: ['planName'],
520
- data() {
521
- return {
522
- f_filialeids:'('+Vue.user.orgid+')',
523
- //f_filialeids:'(305)',
524
- planparam:[],
525
- check:'',
526
- plan:'',
527
- planid:'',
528
- model:Vue.android? new LocalPagedList('androidGetuserinfo',20,{condition:'this.condition'}): new PagedList( 'AndroidRest/api/af-safecheck/sql/androidGetuserinfo',20,{condition:'this.condition'}),
529
- showModal: false,
530
- showModal2:false,
531
- showModal3:false,
532
- needid:'',
533
- criteriaShow: false,
534
- planoption:[],
535
- condition:'',
536
- checkers:[],
537
- param: null,
538
- f_preset_dt : Util.to3339TimeString(),
539
- flow_direction:[
540
- {label: '请选择挂表方式', value: ''},
541
- {label: '左表', value: '左表'},
542
- {label: '右表', value: '右表'}
543
- ],
544
- check_states: [
545
- {label: '请选择安检状态', value: ''},
546
- {label: '未检', value: '未检'},
547
- {label: '临时保存', value: '已检'},
548
- ],
549
- last_check_states: [
550
- {label: '请选择上次安检状态', value: ''},
551
- {label: '入户', value: '入户'},
552
- {label: '拒检', value: '拒检'},
553
- {label: '到访不遇', value: '到访不遇'},
554
- {label: '未使用天然气', value: '未使用天然气'}
555
- ],
556
- upload_states: [
557
- {label: '请选择上传状态', value: ''},
558
- {label: '未传', value: '未传'},
559
- {label: '已传', value: '已传'}
560
- ],
561
- user_types: [
562
- {label: '请选择用户类型', value: ''},
563
- {label: '民用', value: '民用'},
564
- {label: '非民用', value: '非民用'},
565
- ],
566
- verify_state: [
567
- {label: '请选择审核状态', value: ''},
568
- {label: '未审核', value: '未审核'},
569
- {label: '打回', value: '打回'}
570
- ],
571
- residentialAreaOptions: [],
572
- buildOptions: [],
573
- unitOptions: [],
574
- planNameOptions: [],
575
- upcomingCount: 0,
576
- doneCount: 0,
577
- tempSaveCount: 0,
578
- allPlanCount: 0
579
- }
580
- },
581
- ready(){
582
- this.getAllArea()
583
- this.getAllPlanName()
584
- this.selfSearch()
585
- let gen = select(this)
586
- co(gen)
587
- },
588
- mounted(){
589
- //tag
590
- if (window.history && window.history.pushState) {
591
- history.pushState(null, null, document.URL);
592
- window.addEventListener('popstate', this.fun, false);//false阻止默认事件
593
- }
594
- },
595
- destroyed(){
596
- //tag
597
- window.removeEventListener('popstate', this.fun, false);//false阻止默认事件
598
- },
599
- methods: {
600
- formatDateTime(date) {
601
- if (isEmpty(date)) {
602
- return '';
603
- }
604
-
605
- // 使用正则表达式分割多个空格
606
- const parts = date.trim().split(/\s+/);
607
-
608
- // 检查是否有足够的部分
609
- if (parts.length < 4) {
610
- console.warn('Invalid date format:', date);
611
- return ''; // 或者返回原始值或者默认值
612
- }
613
-
614
- let [month, day, year, timePart] = parts;
615
-
616
- // 处理月份和日期,确保是两位数格式
617
- const formattedMonth = month.padStart(2, '0');
618
- const formattedDay = day.padStart(2, '0');
619
-
620
- // 返回格式化后的日期(不需要时间)
621
- return `${year}-${formattedMonth}-${formattedDay}`;
622
- },
623
- scan(){
624
- HostApp.__this__=this,
625
- HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
626
- },
627
- getCode(){
628
- const datapa = HostApp.getCode().data;
629
- //tag
630
- this.$refs.paged.$refs.cri.model.f_meter_no = datapa
631
-
632
- },
633
- fun () {
634
- //tag
635
- //tag
636
- },
637
- iscancel(){
638
- this.showModal2=false
639
- this.showModal3=false
640
- this.planoption=[]
641
- },
642
- timeSet(val){
643
- return val
644
- },
645
- async isok(){
646
- if(this.planoption.length==0){
647
- this.$showMessage("请选择计划")
648
- return false
649
- }
650
- for (let i = 0; i <this.planoption.length ; i++) {
651
- if (this.planoption[i]["selected"]==true){
652
- this.planid=this.planoption[i].value
653
- break
654
- }
655
- }
656
- if(this.planid==''){
657
- this.$showMessage("请选择计划")
658
- return false
659
- }
660
- await this.okput()
661
- },
662
- async manyisok(){
663
- if(this.planoption.length==0){
664
- this.$showMessage("请选择计划")
665
- return false
666
- }
667
- for (let i = 0; i <this.planoption.length ; i++) {
668
- if (this.planoption[i]["selected"]==true){
669
- this.planid=this.planoption[i].value
670
- break
671
- }
672
- }
673
- if(this.planid==''){
674
- this.$showMessage("请选择计划")
675
- return false
676
- }
677
- await this.manyokput()
678
- },
679
- changenull(){
680
- this.showModal2=false
681
- this.showModal3=false
682
- this.planoption=[]
683
- this.plan=''
684
- this.check=''
685
- },
686
- async okput(){
687
- let result = this.$androidUtil.bzLogic('UpCheckPlanItemAndroid', {condition:`id='`+this.needid+`'`,f_plan_id:this.planid})
688
- if (result.code == 200) {
689
- let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/UpCheckPlanItem`, {data:{
690
- condition:`i.id='`+this.needid+`'`,
691
- f_plan_id:this.planid,
692
- switchCheckAll:false,
693
- checkAll:false,
694
- f_operator:Vue.user.name
695
- }
696
- })
697
- await this.changenull()
698
- }
699
- },
700
- async manyokput(){
701
- let condition = `1=1`
702
- let criteria = {
703
- items: 'id',
704
- tablename: 't_check_plan',
705
- condition: `f_checker_id = '${Vue.user.id}'`,
706
- groupitem: 'id'
707
- }
708
- let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
709
- if (result.code==200){
710
- condition = `1=1 and i.f_plan_id in (${result.data.rows.map(row => { return `'${row.id}'` }).join()})`
711
- }
712
- let result2 = this.$androidUtil.bzLogic('UpCheckPlanItemAndroid', {condition:`f_plan_id in (${result.data.rows.map(row => { return `'${row.id}'` }).join()})`,f_plan_id:this.planid})
713
- if (result2.code == 200) {
714
- let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/UpCheckPlanItem`, {data:{
715
- columnName:"i.id",
716
- condition:condition,
717
- f_plan_id:this.planid,
718
- switchCheckAll:true,
719
- param:this.planparam,
720
- checkAll:true,
721
- f_operator:Vue.user.name
722
- }
723
- })
724
- await this.changenull()
725
- }
726
- },
727
- async plansearch(){
728
- this.planoption=[]
729
- let condition= ` f_plan_year=${new Date().getFullYear()}`
730
- if(this.check){
731
- condition += ` and f_checker_id= '${this.check}'`
732
- }
733
- if(this.plan){
734
- condition += ` and f_plan_name like '%${this.plan}%'`
735
- }
736
- let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/预约计划下发`, {data:{
737
- condition:condition,
738
- f_filialeids:this.f_filialeids,
739
- groupitem:'',
740
- orderitem:'id'
741
- }})
742
- let resoult=res.data
743
- for (let i = 0; i < resoult.length; i++) {
744
- this.planoption.push({label: resoult[i].f_plan_name,selected:false, value: resoult[i].id})
745
- }
746
- },
747
-
748
- select(row, idx) {
749
- this.$set('planoption[' + idx + '].selected', true)
750
- for (let i = 0; i <this.planoption.length ; i++) {
751
- if (i!=idx){
752
- this.planoption[i]["selected"]=false
753
- }
754
- }
755
- },
756
- planclose(){
757
- this.showModal2=false
758
- this.showModal3=false
759
- },
760
- queryplan(val){
761
- this.needid=val
762
- this.showModal2 = true
763
- },
764
- queryplanmany(){
765
-
766
- this.showModal3 = true
767
- },
768
- reload(){
769
- // this.getAllArea()
770
- // this.getAllPlanName()
771
- this.selfSearch()
772
- },
773
- cancelReserve (idx, id) {
774
- if(Vue.android){
775
- let res = this.$androidUtil.bzLogic('BookingCheck', {dt: '', id: id})
776
- this.$set('model.rows[' + idx + '].f_prearranged_date', null)
777
- if (res.code == 200) {
778
- this.$showMessage("取消预约成功")
779
- }
780
- }else {
781
- this.$androidUtil.bzLogic('PCbookingCheck', {dt: '', id: id}).then((repanse) => {
782
- this.$set('model.rows[' + idx + '].f_prearranged_date', null)
783
- if (repanse.data.code == 200) {
784
- alert("取消预约成功!")
785
- }
786
- })
787
- }},
788
- genuineReserve () {
789
- if(Vue.android){
790
- if (!this.f_preset_dt) {
791
- this.$showMessage('请选择一个日期')
792
- return
793
- }
794
- let pdt = this.f_preset_dt.replace('T', ' ')
795
- let respanse = this.$androidUtil.bzLogic('BookingCheck', {id: this.model.rows[this.param].id, dt: pdt})
796
- this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
797
- if(respanse.code == 200) {
798
- this.$showMessage("预约成功!")
799
- }
800
- this.showModal = false
801
- }else {
802
- if (!this.f_preset_dt) {
803
- alert('请选择一个日期')
804
- return
805
- }
806
- let pdt = this.f_preset_dt.replace('T', ' ')
807
- this.$androidUtil.bzLogic('PCbookingCheck', {id: this.model.rows[this.param].id, dt: pdt}).then((res) => {
808
- this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
809
- if(res.data.code == 200) {
810
- alert("预约成功!")
811
- }
812
- this.showModal = false
813
- })
814
- }
815
- },
816
- inspect(row) {
817
- var _this = this
818
- let http = new HttpResetClass()
819
- http.load('POST',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/safe_singleTable_OrderBy`, {data: {
820
- items: 'id',
821
- tablename: 't_check_plan_item',
822
- condition: `id = '${row.id}'`,
823
- orderitem: ' id '
824
- }}, {resolveMsg: null, rejectMsg: null}).then((getcheckplan) => {
825
- this.getcheckplandata = getcheckplan.data[0]
826
- if(this.getcheckplandata){
827
- if (row.f_upload_state == '未传' || (row.f_upload_state == '已传' && row.f_state == '未检' && row.f_no_checkplan != '无计划安检' ) ) {
828
- _this.$resetpost(`${_this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/查询计划项表信息`, {data: {f_userid: row.f_userinfoid}},{resolveMsg: null,rejectMsg: null}).then((response) => {
829
- row['f_plan_meters'] = response.data
830
- var pardate = {
831
- _this:_this,
832
- title:'安全检查',
833
- safe:true
834
- }
835
- _this.$dispatch('gotoson',pardate)
836
- //tag
837
- _this.$goto('safecheck-order-v', {f_plan_id: row.f_plan_id, item: row, role: 'inspect',parentPage:'CurrentCreate'}, 'self', _this.reload)
838
- }).catch ((msg)=>{
839
- this.$showMessage("网络异常,请检查网络后再试!")
840
- })
841
- }else{
842
- this.$showMessage("该安检单已被上传!")
843
- }
844
- }else {
845
- this.$showMessage("该用户安检单已被移除,请联系管理员确认!")
846
- }
847
- })
848
- },
849
- makeAPhoneCall(phoneNumber) {
850
- this.$androidUtil.makeAPhoneCall(phoneNumber)
851
- },
852
- reserve (idx) {
853
- this.param = idx
854
- this.showModal = true
855
- },
856
- search(args) {
857
- this.model.rows = []
858
- this.model.search(args.condition, args.model)
859
- },
860
- selfSearch () {
861
- this.getPlanCount()
862
- let condition = ""
863
- if (Array.isArray(this.$refs.paged.$refs.cri.model.f_residential_area) && this.$refs.paged.$refs.cri.model.f_residential_area.length >0){
864
- condition += " and ti.f_residential_area = '"+this.$refs.paged.$refs.cri.model.f_residential_area[0]+"'"
865
- }else if(this.$refs.paged.$refs.cri.model.f_residential_area instanceof String && this.$refs.paged.$refs.cri.model.f_residential_area){
866
- condition += " and ti.f_residential_area = '"+this.$refs.paged.$refs.cri.model.f_residential_area+"'"
867
- }
868
- if(this.$refs.paged.$refs.cri.model.f_building)
869
- condition += ` and ti.f_building = '${this.$refs.paged.$refs.cri.model.f_building}'`
870
- if(this.$refs.paged.$refs.cri.model.f_unit)
871
- condition += ` and ti.f_unit = '${this.$refs.paged.$refs.cri.model.f_unit}'`
872
- if (this.planName){
873
- condition += " and f_plan_name like '%"+this.planName +"%'"
874
- }else {
875
- if(this.$refs.paged.$refs.cri.model.f_plan_name)
876
- condition += " and f_plan_name like '%"+this.$refs.paged.$refs.cri.model.f_plan_name +"%'"
877
- }
878
- // if(this.$refs.paged.$refs.cri.model.f_plan_year)
879
- // condition += " and f_plan_year = '"+this.$refs.paged.$refs.cri.model.f_plan_year +"'"
880
- // if(this.$refs.paged.$refs.cri.model.f_plan_month)
881
- // condition += " and f_plan_month = '"+this.$refs.paged.$refs.cri.model.f_plan_month +"'"
882
- if(this.$refs.paged.$refs.cri.model.f_userinfo_code)
883
- condition += " and ti.f_userinfo_code like '%"+this.$refs.paged.$refs.cri.model.f_userinfo_code+"%'"
884
- if(this.$refs.paged.$refs.cri.model.f_keyword)
885
- condition += " and ti.f_address like '%"+this.$refs.paged.$refs.cri.model.f_keyword+"%'"
886
- if(this.$refs.paged.$refs.cri.model.f_user_name)
887
- condition += " and ti.f_user_name like '%"+this.$refs.paged.$refs.cri.model.f_user_name+"%'"
888
- if(this.$refs.paged.$refs.cri.model.f_state[0])
889
- condition += " and ti.f_state='"+this.$refs.paged.$refs.cri.model.f_state[0]+"'"
890
- // if(this.$refs.paged.$refs.cri.model.f_last_state[0])
891
- // condition += " and ti.f_last_check_state='"+this.$refs.paged.$refs.cri.model.f_last_state[0]+"'"
892
- if(this.$refs.paged.$refs.cri.model.f_user_type[0])
893
- condition += " and ti.f_user_type='"+this.$refs.paged.$refs.cri.model.f_user_type[0]+"'"
894
- if(this.$refs.paged.$refs.cri.model.f_meter_no)
895
- condition += " and tm.f_meter_no like '%"+this.$refs.paged.$refs.cri.model.f_meter_no+"%'"
896
- // if(this.$refs.paged.$refs.cri.model.f_flow_direction[0])
897
- // condition += " and tm.f_flow_direction = '"+this.$refs.paged.$refs.cri.model.f_flow_direction[0]+"'"
898
- if(this.$refs.paged.$refs.cri.model.f_user_phone){
899
- condition += `and ti.f_user_phone like '%${this.$refs.paged.$refs.cri.model.f_user_phone}%'`
900
- }
901
- if(this.$refs.paged.$refs.cri.model.f_enter_number)
902
- condition += " and ti.f_enter_number like '%"+this.$refs.paged.$refs.cri.model.f_enter_number+"%'"
903
- if(this.$refs.paged.$refs.cri.model.f_check_version)
904
- condition += " and ti.f_check_version <= "+this.$refs.paged.$refs.cri.model.f_check_version
905
- //tag
906
- this.model.search("((f_complete = '' or f_complete = null or f_complete = '未完成') or (f_state = '未检')) and ti.f_no_checkplan = '有计划安检'" + condition)
907
- },
908
- getNewOrder(){
909
- HostApp.__this__ = this
910
- HostApp.logicWithHint({
911
- // logic别名,key必须为logic
912
- 'logic': 'SafeCheckServiceTimeOut',
913
- // 回调执行方法名,key必须为callback
914
- 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
915
- // logic执行需要的业务参数
916
- 'data': {params: ''},
917
- // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
918
- // 执行回调方法传入key为backresult
919
- // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
920
- 'backresult': 1
921
- })
922
- HostApp.logicWithHint({
923
- // logic别名,key必须为logic
924
- 'logic': 'FreshPlanItem',
925
- // 回调执行方法名,key必须为callback
926
- 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
927
- // logic执行需要的业务参数
928
- 'data': {params: ''},
929
- // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
930
- // 执行回调方法传入key为backresult
931
- // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
932
- 'backresult': 1
933
- })
934
- },
935
- getNewOrderCallBack() {
936
- this.selfSearch()
937
- this.getAllArea()
938
- this.getAllPlanName()
939
- },
940
- hidden() {
941
- this.criteriaShow = !this.criteriaShow
942
- },
943
- getAllArea(){
944
- this.residentialAreaOptions = []
945
- this.buildOptions = []
946
- this.unitOptions = []
947
- this.$refs.paged.$refs.cri.model.f_residential_area = ''
948
- this.$refs.paged.$refs.cri.model.f_building = ''
949
- this.$refs.paged.$refs.cri.model.f_unit = ''
950
- let criteria = {
951
- items: 'f_residential_area',
952
- tablename: 't_check_plan_item',
953
- condition: `f_residential_area IS NOT NULL AND f_residential_area != '' AND f_state <> '已检'`,
954
- groupitem: 'f_residential_area'
955
- }
956
- let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
957
- //tag)
958
- if(result.code == 200){
959
- result.data.rows.forEach(item => this.residentialAreaOptions.push({label:item.f_residential_area,value:item.f_residential_area}))
960
- }
961
- //tag)
962
- },
963
- getbuilds(f_residential_area){
964
- //tag)
965
- this.buildOptions = []
966
- this.unitOptions = []
967
- this.$refs.paged.$refs.cri.model.f_building = ''
968
- this.$refs.paged.$refs.cri.model.f_unit = ''
969
- if(!f_residential_area){
970
- return
971
- }
972
- let criteria = {
973
- items: 'f_building',
974
- tablename: 't_check_plan_item',
975
- condition: `f_building IS NOT NULL AND f_building != '' AND f_state <> '已检' AND f_residential_area = '${f_residential_area}'`,
976
- groupitem: 'f_building order by f_building+0'
977
- }
978
- let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
979
- if(result.code == 200){
980
- result.data.rows.forEach(item => this.buildOptions.push({label:item.f_building,value:item.f_building}))
981
- }
982
- this.buildOptions.sort((a,b)=>{
983
- return Number(a.label)- Number(b.label)
984
- })
985
- //tag)
986
- },
987
- getUnits(f_building){
988
- f_building = f_building[0]
989
- //tag)
990
- this.unitOptions = []
991
- this.$refs.paged.$refs.cri.model.f_unit = ''
992
- if(!f_building){
993
- return
994
- }
995
- let criteria = {
996
- items: 'f_unit',
997
- tablename: 't_check_plan_item',
998
- condition: `f_unit IS NOT NULL AND f_unit != '' AND f_state <> '已检' AND f_residential_area = '${this.$refs.paged.$refs.cri.model.f_residential_area}' AND f_building = '${f_building}'`,
999
- groupitem: 'f_unit'
1000
- }
1001
- let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
1002
- if(result.code == 200){
1003
- result.data.rows.forEach(item => this.unitOptions.push({label:item.f_unit,value:item.f_unit}))
1004
- }
1005
- this.unitOptions.sort((a,b)=>{
1006
- return Number(a.label)- Number(b.label)
1007
- })
1008
- },
1009
- getPlanCount(){
1010
- this.upcomingCount = 0
1011
- this.tempSaveCount = 0
1012
- this.doneCount = 0
1013
- this.allPlanCount = 0
1014
- let criteria = {
1015
- items: 'count(id) count',
1016
- tablename: 't_check_plan_item',
1017
- condition: `f_state = '未检'`,
1018
- groupitem: 'f_state'
1019
- }
1020
- let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
1021
- if(result.code && result.code == 200){
1022
- if(result.data.rows[0] && !isNaN(result.data.rows[0].count)) {
1023
- this.upcomingCount = result.data.rows[0].count
1024
- }
1025
- }
1026
- criteria = {
1027
- items: 'count(id) count',
1028
- tablename: 't_check_plan_item',
1029
- condition: `(f_complete = '' or f_complete is null or f_complete = '未完成') AND f_state = '已检'`,
1030
- groupitem: 'f_state'
1031
- }
1032
- result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
1033
- if(result.code && result.code == 200){
1034
- if(result.data.rows[0] && !isNaN(result.data.rows[0].count)){
1035
- this.tempSaveCount = result.data.rows[0].count
1036
- }
1037
- }
1038
- criteria = {
1039
- items: 'count(id) count',
1040
- tablename: 't_check_plan_item',
1041
- condition: `f_complete = '已完成' AND f_state = '已检'`,
1042
- groupitem: 'f_state'
1043
- }
1044
- result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
1045
- if(result.code && result.code == 200){
1046
- if(result.data.rows[0] && !isNaN(result.data.rows[0].count)){
1047
- this.doneCount = result.data.rows[0].count
1048
- }
1049
- }
1050
- this.allPlanCount = this.upcomingCount + this.tempSaveCount + this.doneCount
1051
-
1052
- //tag
1053
- //tag
1054
- //tag
1055
- //tag
1056
- },
1057
- getAllPlanName(){
1058
- this.planNameOptions = []
1059
- this.$refs.paged.$refs.cri.model.f_plan_name = ''
1060
- let criteria = {
1061
- items: 'f_plan_name',
1062
- tablename: 't_check_plan',
1063
- condition: `f_plan_name IS NOT NULL AND f_plan_name != ''`,
1064
- groupitem: 'f_plan_name'
1065
- }
1066
- let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
1067
- //tag)
1068
- if(result.code == 200){
1069
- result.data.rows.forEach(item => this.planNameOptions.push({label:item.f_plan_name,value:item.f_plan_name}))
1070
- }
1071
- //tag)
1072
- },
1073
- setPlanParam(detailsType, event) {
1074
- if (event.srcElement.checked) {
1075
- this.planparam.push(detailsType)
1076
- //tag
1077
- } else {
1078
- if(this.planparam.length>0){
1079
- let planid= this.planparam.findIndex((value) => {
1080
- return value === detailsType
1081
- })
1082
- this.planparam.splice(planid, 1)
1083
- //tag
1084
-
1085
- }
1086
-
1087
- }
1088
- }
1089
- }
1090
- }
1091
- </script>
1
+ <style scoped>
2
+ .bg {
3
+ background-color: blue;
4
+ height: 1px;
5
+ border: 0;
6
+ }
7
+ .app-row {
8
+ background-color: white;
9
+ padding: 10px 10px 0 10px;
10
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
11
+ }
12
+ .search_input {
13
+ border: 0;
14
+ outline: none;
15
+ }
16
+ .font{
17
+ font: 15px PingFang-SC-Medium;
18
+ color: #666666;
19
+ }
20
+ .input-font{
21
+ font: 15px PingFang-SC-Medium;
22
+ color: #333333;
23
+ }
24
+ .btn-font{
25
+ font:600 16px PingFang-SC-Bold;
26
+ color: #499EDF;
27
+ }
28
+ .btn-color{
29
+ background-color: #FFFFFF;
30
+ border-radius: 10px ;
31
+ border: 1px solid #499EDF;
32
+ }
33
+ .app-text {
34
+ font-size: 12px;
35
+ }
36
+ .panel-self{
37
+ border-radius: 10px;
38
+ border:1px solid #499EDF;
39
+ background-color: #F8F8F8;
40
+ }
41
+ .yybtn-color{
42
+ background-color:#499edf;
43
+ border-radius: 4px ;
44
+ border: 1px solid #499EDF;
45
+ color: #FFFFFF;
46
+ font: 14px PingFang-SC-Bold;
47
+ }
48
+ .qxbtn-color{
49
+ background-color: #FFFFFF;
50
+ border-radius: 4px ;
51
+ color: #499edf;
52
+ font: 14px PingFang-SC-Bold;
53
+ border: 1px solid #499EDF;
54
+ }
55
+
56
+ .button_shrink_top {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_top.png")}
57
+ .button_shrink_bottom {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_bottom.png")}
58
+ .button_shrink_left {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_left.png")}
59
+ .button_shrink_right {width: 35px; height: 35px; background-size:100%;background-image: url("../../../../static/newStyle/stretch_right.png")}
60
+ </style>
61
+ <style>
62
+ .clear-select-with .dropdown-menu{
63
+ left: 0px !important;
64
+ width: 200% !important;
65
+ }
66
+ </style>
67
+ <template>
68
+ <div style="height: auto;width: 100%">
69
+ <criteria-paged :model="model" v-ref:paged>
70
+ <criteria partial='criteria' @condition-changed='search' v-ref:cri>
71
+ <div partial>
72
+ <form>
73
+ <div class="row app-row">
74
+ <!--小区名称-->
75
+ <v-select :value.sync="model.f_residential_area"
76
+ class="input-font clear-select-with"
77
+ :options='$parent.$parent.residentialAreaOptions'
78
+ placeholder='小区名称'
79
+ :width="'32.5%'"
80
+ v-model="model.f_residential_area"
81
+ condition="ti.f_residential_area = '{}'"
82
+ @change="$parent.$parent.getbuilds"
83
+ close-on-select clear-button>
84
+ </v-select>
85
+ <!--楼栋-->
86
+ <v-select :value.sync="model.f_building"
87
+ class="input-font"
88
+ :options='$parent.$parent.buildOptions'
89
+ placeholder='楼栋'
90
+ :width="'32.5%'"
91
+ v-model="model.f_building"
92
+ condition="ti.f_building = '{}'"
93
+ @change="$parent.$parent.getUnits"
94
+ close-on-select clear-button>
95
+ </v-select>
96
+ <!--单元-->
97
+ <v-select :value.sync="model.f_unit"
98
+ class="input-font"
99
+ :options='$parent.$parent.unitOptions'
100
+ placeholder='单元'
101
+ :width="'32.5%'"
102
+ v-model="model.f_unit"
103
+ condition="ti.f_unit = '{}'"
104
+ close-on-select clear-button>
105
+ </v-select>
106
+ </div>
107
+ <div class="row app-row">
108
+ <div class="col-xs-4">
109
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
110
+ <label for="f_userinfo_code" class="font text-left">用户编号:</label>
111
+ </div>
112
+ <div class="col-xs-8" >
113
+ <input id="f_userinfo_code" class="search_input input-font"
114
+ v-model=model.f_userinfo_code condition="f_userinfo_code like '%{}%'" />
115
+ </div>
116
+ </div>
117
+ <div class="row app-row">
118
+ <div class="col-xs-4">
119
+ <img src="../../../assets/用户姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
120
+ <label class="font text-left">用户姓名:</label>
121
+ </div>
122
+ <div class="col-xs-8" >
123
+ <input class="search_input input-font" v-model=model.f_user_name condition="f_user_name like '%{}%'" />
124
+ </div>
125
+ </div>
126
+
127
+ <div class="row app-row">
128
+ <div class="col-xs-4">
129
+ <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
130
+ <label class="font text-left">用户证号:</label>
131
+ </div>
132
+ <div class="col-xs-8" >
133
+ <input class="search_input input-font" v-model=model.f_enter_number condition="f_enter_number like '%{}%'" />
134
+ </div>
135
+ </div>
136
+
137
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow && !$parent.$parent.planName">
138
+ <div class="col-xs-4">
139
+ <img src="../../../assets/安检状态.png" style="width: 20px;margin-bottom: 5px" alt="">
140
+ <label for="f_plan_name" class="font text-left">计划名称:</label>
141
+ </div>
142
+ <v-select
143
+ id="f_plan_name"
144
+ :value.sync="model.f_plan_name"
145
+ class="input-font"
146
+ :options='$parent.$parent.planNameOptions'
147
+ placeholder='计划名称'
148
+ :width="'60%'"
149
+ v-model="model.f_plan_name"
150
+ condition="f_plan_name like '%{}%'"
151
+ close-on-select clear-button>
152
+ </v-select>
153
+ </div>
154
+
155
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
156
+ <div class="col-xs-4">
157
+ <img src="../../../assets/是否已检.png" style="width: 20px;margin-bottom: 5px" alt="">
158
+ <label for="f_state" class="font text-left">是否已检:</label>
159
+ </div>
160
+ <v-select id="f_state"
161
+ :value.sync="model.f_state"
162
+ class="input-font"
163
+ :options='$parent.$parent.check_states'
164
+ placeholder='是否已检'
165
+ :width="'60%'"
166
+ v-model="model.f_state"
167
+ condition="f_state='{}'"
168
+ close-on-select clear-button>
169
+ </v-select>
170
+ </div>
171
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
172
+ <div class="col-xs-4">
173
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
174
+ <label class="font text-left">表&emsp;&emsp;号:</label>
175
+ </div>
176
+ <div class="col-xs-5" >
177
+ <input class="search_input input-font"
178
+ v-model=model.f_meter_no condition="f_meter_no like '%{}%'" />
179
+ </div>
180
+ <div class="col-xs-3">
181
+ <button type="button" class="btn btn-lg btn-font btn-color" @click="$parent.$parent.scan()">扫码</button>
182
+ </div>
183
+ </div>
184
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
185
+ <div class="col-xs-4">
186
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
187
+ <label class="font text-left">客户电话:</label>
188
+ </div>
189
+ <div class="col-xs-8" >
190
+ <input class="search_input input-font"
191
+ v-model=model.f_user_phone condition="f_user_phone like '%{}%'" />
192
+ </div>
193
+ </div>
194
+
195
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
196
+ <div class="col-xs-4">
197
+ <img src="../../../assets/小区.png" style="width: 20px;margin-bottom: 5px" alt="">
198
+ <label class="font text-left">用户地址:</label>
199
+ </div>
200
+ <div class="col-xs-8" >
201
+ <input class="search_input input-font"
202
+ v-model=model.f_keyword condition="f_address like '%{}%'" />
203
+ </div>
204
+ </div>
205
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
206
+ <div class="col-xs-4">
207
+ <img src="../../../assets/用户类型.png" style="width: 20px;margin-bottom: 5px" alt="">
208
+ <label for="f_user_type" class="font text-left">用户类型:</label>
209
+ </div>
210
+ <v-select id="f_user_type" :value.sync="model.f_user_type" class="input-font"
211
+ :width="'60%'"
212
+ :options='$parent.$parent.user_types' placeholder='请选择用户类型'
213
+ v-model="model.f_user_type" condition="f_user_type='{}'" close-on-select clear-button></v-select>
214
+ </div>
215
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
216
+ <div class="col-xs-6">
217
+ <img src="../../../assets/用户ID.png" style="width: 20px;margin-bottom: 5px" alt="">
218
+ <label class="font text-left">到访不遇:</label>
219
+ </div>
220
+ <div class="col-xs-8" >
221
+ <input class="search_input input-font" type="number"
222
+ v-model=model.f_check_version condition="f_check_version <= '{}'" />
223
+ </div>
224
+ </div>
225
+ <div class="row app-row" v-if="$parent.$parent.criteriaShow">
226
+ <div class="col-xs-6" style="text-align: center">
227
+ <span class="font text-left">待办{{$parent.$parent.upcomingCount}}条</span>
228
+ </div>
229
+ <div class="col-xs-6" style="text-align: center">
230
+ <span class="font text-left">已办{{$parent.$parent.doneCount}}条</span>
231
+ </div>
232
+ <div class="col-xs-6" style="text-align: center">
233
+ <span class="font text-left">临时保存{{$parent.$parent.tempSaveCount}}条</span>
234
+ </div>
235
+ <div class="col-xs-6" style="text-align: center">
236
+ <span class="font text-left">总共{{$parent.$parent.allPlanCount}}条</span>
237
+ </div>
238
+ </div>
239
+
240
+ <div class="row text-center" style="margin-top: 20px;">
241
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%;" @click="$parent.$parent.selfSearch">查询</button>
242
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 25%; margin-left: 10px" @click="$parent.$parent.queryplanmany">转发</button>
243
+ <div style="float: right;margin-right: 3% " class="button_spacing" :class="{'button_shrink_top':$parent.$parent.criteriaShow,'button_shrink_bottom':!$parent.$parent.criteriaShow}" @click="$parent.$parent.hidden()"></div>
244
+ <img v-if="!$parent.$parent.planName" style="float: right;margin-right: 3% " @click="$parent.$parent.getNewOrder" src="../../../assets/shuaxindaiban1.png" style="width: 40px;padding: 5px; float:right">
245
+ </div>
246
+ <div class="col-sm-12">
247
+
248
+ </div>
249
+ <!--<div class="row app-btn">-->
250
+ <!--<button class="btn btn-primary col-xs-6" type="button" @click="search"><span class="glyphicon glyphicon-search" style="margin-right: 20px;">查询</span></button>-->
251
+ <!--</div>-->
252
+ <div style="height:30px;"></div>
253
+ </form>
254
+ </div>
255
+ </criteria>
256
+ <list :model="model" partial='list'>
257
+ <div partial>
258
+ <div class="auto app-text" style="margin-top: 5px;">
259
+ <div class="panel" style="padding: 10px 10px 5px 10px;">
260
+ <div class="panel-body panel-self">
261
+
262
+ <div class="col-xs-12">
263
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户编号:</b></p>
264
+ <p class="panel-title col-xs-5 text-left input-font" style="width: 74%">{{ row.f_userinfo_code }}</p>
265
+ <p class="panel-title col-xs-2 text-left input-font" style="width: 5%;float:right">
266
+ <input type="checkbox" @click="$parent.$parent.$parent.setPlanParam(row.id, $event)"/>
267
+ </p>
268
+ </div>
269
+ <div class="col-xs-12">
270
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>用户名称:</b></p>
271
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_user_name }}</p>
272
+ </div>
273
+ <div class="col-xs-6">
274
+ <p class="panel-title col-xs-5 text-left font"><b>用户类型:</b></p>
275
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_user_type }}
276
+ </p>
277
+ </div>
278
+ <div class="col-xs-6">
279
+ <p class="panel-title col-xs-5 text-left font"><b>计划名称:</b></p>
280
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_plan_name }}</p>
281
+ </div>
282
+ <!-- <div class="col-xs-6">-->
283
+ <!-- <p class="panel-title col-xs-5 text-left font"><b>小区名称:</b></p>-->
284
+ <!-- <p class="panel-title col-xs-7 text-left input-font">{{ row.f_residential_area }}</p>-->
285
+ <!-- </div>-->
286
+ <div class="col-xs-12">
287
+ <p class="panel-title text-left font" style="width: 23%;float: left"><b>用户电话:</b></p>
288
+ <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_user_phone }}
289
+ <img src="../../../assets/phone.png" style="width: 6%"
290
+ v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_user_phone)'/>
291
+ </p>
292
+ </div>
293
+ <div class="col-xs-12">
294
+ <p class="panel-title text-left font" style="width: 23%;float: left"><b>备用电话:</b></p>
295
+ <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_rent_phone}}
296
+ <img v-if="row.f_rent_phone" src="../../../assets/phone.png" style="width: 6%"
297
+ v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_rent_phone)'/>
298
+ </p>
299
+ </div>
300
+ <div class="col-xs-12">
301
+ <p class="panel-title text-left font" style="width: 23%;float: left"><b>租户电话:</b></p>
302
+ <p class="panel-title text-left input-font" style="width: 77%">{{ row.f_zuhu_phone }}
303
+ <img v-if="row.f_zuhu_phone" src="../../../assets/phone.png" style="width: 6%"
304
+ v-on:click.stop.prevent='$parent.$parent.$parent.makeAPhoneCall(row.f_zuhu_phone)'/>
305
+ </p>
306
+ </div>
307
+
308
+ <div class="col-xs-12">
309
+ <p class="panel-title text-left font" style="width: 21%;float: left"><b>用户地址:</b></p>
310
+ <p class="panel-title text-left input-font" style="width: 79%">{{ row.f_address }}</p>
311
+ </div>
312
+
313
+ <!-- <div class="row">-->
314
+ <!-- <p class="panel-title col-xs-4 text-left font">计划年份</p>-->
315
+ <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_plan_year }}</p>-->
316
+ <!-- </div>-->
317
+ <!-- <div class="row">-->
318
+ <!-- <p class="panel-title col-xs-4 text-left font">计划月份</p>-->
319
+ <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_plan_month }}</p>-->
320
+ <!-- </div>-->
321
+ <!-- <div class="row">-->
322
+ <!-- <p class="panel-title col-xs-4 text-left font">预约时间</p>-->
323
+ <!-- <p class="panel-title col-xs-8 text-left input-font">{{ row.f_prearranged_date }}</p>-->
324
+ <!-- </div>-->
325
+ <!--<div class="row">-->
326
+ <!--<p class="panel-title col-xs-4 text-left font">上次安检状态</p>-->
327
+ <!--<p class="panel-title col-xs-8 text-left input-font">{{ row.f_last_check_state }}</p>-->
328
+ <!--</div>-->
329
+ <div class="col-xs-6">
330
+ <p class="panel-title col-xs-5 text-left font"><b>安检状态:</b></p>
331
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_state == '已检'?'临时保存':row.f_state }}</p>
332
+ </div>
333
+ <div class="col-xs-6">
334
+ <p class="panel-title col-xs-5 text-left font"><b>上传状态:</b></p>
335
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_upload_state }}</p>
336
+ </div>
337
+ <div class="col-xs-12" v-if="row.f_prearranged_date !=null">
338
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>预约时间:</b></p>
339
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ row.f_prearranged_date }}</p>
340
+ </div>
341
+ <div class="col-xs-6">
342
+ <p class="panel-title col-xs-5 text-left font"><b>安检类型:</b></p>
343
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_safecheck_type }}</p>
344
+ </div>
345
+ <div class="col-xs-12">
346
+ <p class="panel-title col-xs-5 text-left font"><b>到访不遇次数:</b></p>
347
+ <p class="panel-title col-xs-7 text-left input-font">{{ row.f_check_version }}</p>
348
+ </div>
349
+ <div class="col-xs-12">
350
+ <p class="panel-title col-xs-5 text-left font" style="width: 21%;float: left"><b>安装日期:</b></p>
351
+ <p class="panel-title col-xs-7 text-left input-font" style="width: 79%">{{ $parent.$parent.$parent.formatDateTime(row.f_open_date) }}</p>
352
+ </div>
353
+ <!--<div class="col-xs-12">-->
354
+ <!--<p class="panel-title col-xs-5 text-left font"><b>送气期限:</b></p>-->
355
+ <!--<p class="panel-title col-xs-7 text-left input-font">{{timeSet(row.f_issue_time)}}</p>-->
356
+ <!--</div>-->
357
+ <div class="col-xs-12">
358
+ <button type="button" name="button" class="btn btn-primary" style="background-color:#499edf;float: right" @click="$parent.$parent.$parent.inspect(row)">处理</button>
359
+ <button type="button" name="button" class="btn btn-primary" style="background-color:#499edf;float: right;margin-right:10px;" @click="$parent.$parent.$parent.queryplan(row.id)">转发</button>
360
+ <!--<button type="button" class="btn btn-default" @click="$parent.$parent.$parent.ceshi">确认2</button>-->
361
+ </div>
362
+ <!-- <div class="row text-right" v-show="row.f_upload_state != '已传'" >-->
363
+ <!-- <button type="button" class="btn yybtn-color" v-on:click.stop.prevent='$parent.$parent.$parent.reserve($index)'>预约</button>&nbsp;-->
364
+ <!-- <button type="button" class="btn qxbtn-color" v-if ='row.f_prearranged_date'-->
365
+ <!-- v-on:click.stop.prevent='$parent.$parent.$parent.cancelReserve($index, row.id)'>取消预约</button>-->
366
+ <!-- </div>-->
367
+ </div>
368
+ </div>
369
+ </div>
370
+ </div>
371
+ </list>
372
+ </criteria-paged>
373
+ <modal :show.sync="showModal">
374
+ <div slot="modal-header" class="modal-header">
375
+ <h4 class="modal-title">
376
+ 选择预约时间
377
+ </h4>
378
+ </div>
379
+ <div slot="modal-body" class="modal-body">
380
+ <input type="datetime-local" v-model="f_preset_dt">
381
+ </div>
382
+ <div slot="modal-footer" class="modal-footer">
383
+ <button type="button" class="btn btn-default" @click="genuineReserve">确认</button>
384
+ </div>
385
+ </modal>
386
+ <!--<back-page :need-back='true' @flag="$back()"></back-page>-->
387
+ <modal :show.sync="showModal2" v-ref:modal>
388
+ <div slot="modal-header" class="modal-header">
389
+ <h4 class="modal-title">
390
+ 选择计划
391
+ </h4>
392
+ </div>
393
+ <div slot="modal-body" class="modal-body">
394
+ <div class="col-xs-12">
395
+
396
+ <div class="col-xs-4">
397
+ <v-select :value.sync="check" v-model='check'
398
+ :value-single="true"
399
+ class="select_list select"
400
+ :options='checkers' placeholder='安检员'
401
+ close-on-select width="100%"></v-select>
402
+ </div>
403
+
404
+ <div class="col-xs-1">
405
+ <!--<label style="font-size:20px;line-height: 35px">人员 </label>-->
406
+ </div>
407
+ <div class="col-xs-4" style="padding-left: 2px">
408
+ <input class="select-style" placeholder="计划名称" type="text" v-model="plan" style="border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 35px"/>
409
+ </div>
410
+ <div class="col-xs-1" >
411
+ <!--<label style="font-size: 20px;line-height: 35px">计划</label>-->
412
+ </div>
413
+ <!--<input placeholder="安检员" type="text" v-model="check" style="height:30px;width: 100px"/>-->
414
+ <div class="col-xs-2" style="float: right">
415
+ <button type="button" class="btn btn-primary" @click="plansearch" style="background-color:#499edf;float: right;margin-right:10px;border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 1px;padding-left: 12px">查询</button>
416
+ </div>
417
+ </div>
418
+ <table class="table table_sy">
419
+ <thead>
420
+ <tr>
421
+ <th style="width: 30px"></th>
422
+ <th style="font-family: 'Adobe 黑体 Std R'">计划名称</th>
423
+ </tr>
424
+ </thead>
425
+ <tbody>
426
+ <tr v-for="row in planoption">
427
+ <td @click="select(row, $index)" >{{row.selected==true ? '☆' : '&nbsp;&nbsp;&nbsp;&nbsp;'}}</td>
428
+ <td @click="select(row, $index)" style="text-align: center">{{row.label}}</td>
429
+
430
+
431
+ </tr>
432
+ </tbody>
433
+ </table>
434
+ </div>
435
+ <div slot="modal-footer" class="modal-footer">
436
+ <button class="btn btn-default" @click="isok()">确认</button>
437
+ <button class="btn btn-default" @click="iscancel()">取消</button>
438
+ </div>
439
+ </modal>
440
+ <modal :show.sync="showModal3" v-ref:modal>
441
+ <div slot="modal-header" class="modal-header">
442
+ <h4 class="modal-title">
443
+ 选择计划
444
+ </h4>
445
+ </div>
446
+ <div slot="modal-body" class="modal-body">
447
+ <div class="col-xs-12">
448
+
449
+ <div class="col-xs-4">
450
+ <v-select :value.sync="check" v-model='check'
451
+ :value-single="true"
452
+ class="select_list select"
453
+ :options='checkers' placeholder='安检员'
454
+ close-on-select width="100%"></v-select>
455
+ </div>
456
+
457
+ <div class="col-xs-1">
458
+ <!--<label style="font-size:20px;line-height: 35px">人员 </label>-->
459
+ </div>
460
+ <div class="col-xs-4" style="padding-left: 2px">
461
+ <input class="select-style" placeholder="计划名称" type="text" v-model="plan" style="border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 35px"/>
462
+ </div>
463
+ <div class="col-xs-1" >
464
+ <!--<label style="font-size: 20px;line-height: 35px">计划</label>-->
465
+ </div>
466
+ <!--<input placeholder="安检员" type="text" v-model="check" style="height:30px;width: 100px"/>-->
467
+ <div class="col-xs-2" style="float: right">
468
+ <button type="button" class="btn btn-primary" @click="plansearch" style="background-color:#499edf;float: right;margin-right:10px;border: 1px solid #93B2D3;height:34px;width: 100%;line-height: 1px;padding-left: 12px">查询</button>
469
+ </div>
470
+ </div>
471
+ <table class="table table_sy">
472
+ <thead>
473
+ <tr>
474
+ <th style="width: 30px"></th>
475
+ <th style="font-family: 'Adobe 黑体 Std R'">计划名称</th>
476
+ </tr>
477
+ </thead>
478
+ <tbody>
479
+ <tr v-for="row in planoption">
480
+ <td @click="select(row, $index)" >{{row.selected==true ? '☆' : '&nbsp;&nbsp;&nbsp;&nbsp;'}}</td>
481
+ <td @click="select(row, $index)" style="text-align: center">{{row.label}}</td>
482
+
483
+
484
+ </tr>
485
+ </tbody>
486
+ </table>
487
+ </div>
488
+ <div slot="modal-footer" class="modal-footer">
489
+ <button class="btn btn-default" @click="manyisok()">确认</button>
490
+ <button class="btn btn-default" @click="iscancel()">取消</button>
491
+ </div>
492
+ </modal>
493
+ </div>
494
+
495
+ </template>
496
+
497
+ <script>
498
+ import LocalPagedList from '../../../plugins/LocalPagedList'
499
+ import Vue from 'vue'
500
+ import { PagedList,HttpResetClass } from 'vue-client'
501
+ import * as Util from '../../Util'
502
+ import co from 'co'
503
+ import {isEmpty} from "../../Util";
504
+ let select = function * (self) {
505
+ let http = new HttpResetClass()
506
+ http.load('POST', `${self.$androidUtil.getProxyUrl()}/rs/search`, {
507
+ source: 'this.getSpecialResByType($user$).where(row.getAttributes().get($rolestr$)!=null ).where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1)',
508
+ userid: Vue.user.orgid
509
+ }, {resolveMsg: null, rejectMsg: null}).then((res) => {
510
+ //tag
511
+ self.checkers.push({label:'全部',value:''})
512
+ res.data.forEach((checker)=>{
513
+ self.checkers.push({label:checker.name,value:checker.id})
514
+ })
515
+ })
516
+ }
517
+ export default {
518
+ title: '无计划安检查询',
519
+ props: ['planName'],
520
+ data() {
521
+ return {
522
+ f_filialeids:'('+Vue.user.orgid+')',
523
+ //f_filialeids:'(305)',
524
+ planparam:[],
525
+ check:'',
526
+ plan:'',
527
+ planid:'',
528
+ model:Vue.android? new LocalPagedList('androidGetuserinfo',20,{condition:'this.condition'}): new PagedList( 'AndroidRest/api/af-safecheck/sql/androidGetuserinfo',20,{condition:'this.condition'}),
529
+ showModal: false,
530
+ showModal2:false,
531
+ showModal3:false,
532
+ needid:'',
533
+ criteriaShow: false,
534
+ planoption:[],
535
+ condition:'',
536
+ checkers:[],
537
+ param: null,
538
+ f_preset_dt : Util.to3339TimeString(),
539
+ flow_direction:[
540
+ {label: '请选择挂表方式', value: ''},
541
+ {label: '左表', value: '左表'},
542
+ {label: '右表', value: '右表'}
543
+ ],
544
+ check_states: [
545
+ {label: '请选择安检状态', value: ''},
546
+ {label: '未检', value: '未检'},
547
+ {label: '临时保存', value: '已检'},
548
+ ],
549
+ last_check_states: [
550
+ {label: '请选择上次安检状态', value: ''},
551
+ {label: '入户', value: '入户'},
552
+ {label: '拒检', value: '拒检'},
553
+ {label: '到访不遇', value: '到访不遇'},
554
+ {label: '未使用天然气', value: '未使用天然气'}
555
+ ],
556
+ upload_states: [
557
+ {label: '请选择上传状态', value: ''},
558
+ {label: '未传', value: '未传'},
559
+ {label: '已传', value: '已传'}
560
+ ],
561
+ user_types: [
562
+ {label: '请选择用户类型', value: ''},
563
+ {label: '民用', value: '民用'},
564
+ {label: '非民用', value: '非民用'},
565
+ ],
566
+ verify_state: [
567
+ {label: '请选择审核状态', value: ''},
568
+ {label: '未审核', value: '未审核'},
569
+ {label: '打回', value: '打回'}
570
+ ],
571
+ residentialAreaOptions: [],
572
+ buildOptions: [],
573
+ unitOptions: [],
574
+ planNameOptions: [],
575
+ upcomingCount: 0,
576
+ doneCount: 0,
577
+ tempSaveCount: 0,
578
+ allPlanCount: 0
579
+ }
580
+ },
581
+ ready(){
582
+ this.getAllArea()
583
+ this.getAllPlanName()
584
+ this.selfSearch()
585
+ let gen = select(this)
586
+ co(gen)
587
+ },
588
+ mounted(){
589
+ //tag
590
+ if (window.history && window.history.pushState) {
591
+ history.pushState(null, null, document.URL);
592
+ window.addEventListener('popstate', this.fun, false);//false阻止默认事件
593
+ }
594
+ },
595
+ destroyed(){
596
+ //tag
597
+ window.removeEventListener('popstate', this.fun, false);//false阻止默认事件
598
+ },
599
+ methods: {
600
+ formatDateTime(date) {
601
+ if (isEmpty(date)) {
602
+ return '';
603
+ }
604
+
605
+ // 使用正则表达式分割多个空格
606
+ const parts = date.trim().split(/\s+/);
607
+
608
+ // 检查是否有足够的部分
609
+ if (parts.length < 4) {
610
+ console.warn('Invalid date format:', date);
611
+ return ''; // 或者返回原始值或者默认值
612
+ }
613
+
614
+ let [month, day, year, timePart] = parts;
615
+
616
+ // 处理月份和日期,确保是两位数格式
617
+ const formattedMonth = month.padStart(2, '0');
618
+ const formattedDay = day.padStart(2, '0');
619
+
620
+ // 返回格式化后的日期(不需要时间)
621
+ return `${year}-${formattedMonth}-${formattedDay}`;
622
+ },
623
+ scan(){
624
+ HostApp.__this__=this,
625
+ HostApp.scanCode({callback:"javascript:HostApp.__this__.getCode();"})
626
+ },
627
+ getCode(){
628
+ const datapa = HostApp.getCode().data;
629
+ //tag
630
+ this.$refs.paged.$refs.cri.model.f_meter_no = datapa
631
+
632
+ },
633
+ fun () {
634
+ //tag
635
+ //tag
636
+ },
637
+ iscancel(){
638
+ this.showModal2=false
639
+ this.showModal3=false
640
+ this.planoption=[]
641
+ },
642
+ timeSet(val){
643
+ return val
644
+ },
645
+ async isok(){
646
+ if(this.planoption.length==0){
647
+ this.$showMessage("请选择计划")
648
+ return false
649
+ }
650
+ for (let i = 0; i <this.planoption.length ; i++) {
651
+ if (this.planoption[i]["selected"]==true){
652
+ this.planid=this.planoption[i].value
653
+ break
654
+ }
655
+ }
656
+ if(this.planid==''){
657
+ this.$showMessage("请选择计划")
658
+ return false
659
+ }
660
+ await this.okput()
661
+ },
662
+ async manyisok(){
663
+ if(this.planoption.length==0){
664
+ this.$showMessage("请选择计划")
665
+ return false
666
+ }
667
+ for (let i = 0; i <this.planoption.length ; i++) {
668
+ if (this.planoption[i]["selected"]==true){
669
+ this.planid=this.planoption[i].value
670
+ break
671
+ }
672
+ }
673
+ if(this.planid==''){
674
+ this.$showMessage("请选择计划")
675
+ return false
676
+ }
677
+ await this.manyokput()
678
+ },
679
+ changenull(){
680
+ this.showModal2=false
681
+ this.showModal3=false
682
+ this.planoption=[]
683
+ this.plan=''
684
+ this.check=''
685
+ },
686
+ async okput(){
687
+ let result = this.$androidUtil.bzLogic('UpCheckPlanItemAndroid', {condition:`id='`+this.needid+`'`,f_plan_id:this.planid})
688
+ if (result.code == 200) {
689
+ let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/UpCheckPlanItem`, {data:{
690
+ condition:`i.id='`+this.needid+`'`,
691
+ f_plan_id:this.planid,
692
+ switchCheckAll:false,
693
+ checkAll:false,
694
+ f_operator:Vue.user.name
695
+ }
696
+ })
697
+ await this.changenull()
698
+ }
699
+ },
700
+ async manyokput(){
701
+ let condition = `1=1`
702
+ let criteria = {
703
+ items: 'id',
704
+ tablename: 't_check_plan',
705
+ condition: `f_checker_id = '${Vue.user.id}'`,
706
+ groupitem: 'id'
707
+ }
708
+ let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
709
+ if (result.code==200){
710
+ condition = `1=1 and i.f_plan_id in (${result.data.rows.map(row => { return `'${row.id}'` }).join()})`
711
+ }
712
+ let result2 = this.$androidUtil.bzLogic('UpCheckPlanItemAndroid', {condition:`f_plan_id in (${result.data.rows.map(row => { return `'${row.id}'` }).join()})`,f_plan_id:this.planid})
713
+ if (result2.code == 200) {
714
+ let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/logic/UpCheckPlanItem`, {data:{
715
+ columnName:"i.id",
716
+ condition:condition,
717
+ f_plan_id:this.planid,
718
+ switchCheckAll:true,
719
+ param:this.planparam,
720
+ checkAll:true,
721
+ f_operator:Vue.user.name
722
+ }
723
+ })
724
+ await this.changenull()
725
+ }
726
+ },
727
+ async plansearch(){
728
+ this.planoption=[]
729
+ let condition= ` f_plan_year=${new Date().getFullYear()}`
730
+ if(this.check){
731
+ condition += ` and f_checker_id= '${this.check}'`
732
+ }
733
+ if(this.plan){
734
+ condition += ` and f_plan_name like '%${this.plan}%'`
735
+ }
736
+ let res= await this.$resetpost(`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/预约计划下发`, {data:{
737
+ condition:condition,
738
+ f_filialeids:this.f_filialeids,
739
+ groupitem:'',
740
+ orderitem:'id'
741
+ }})
742
+ let resoult=res.data
743
+ for (let i = 0; i < resoult.length; i++) {
744
+ this.planoption.push({label: resoult[i].f_plan_name,selected:false, value: resoult[i].id})
745
+ }
746
+ },
747
+
748
+ select(row, idx) {
749
+ this.$set('planoption[' + idx + '].selected', true)
750
+ for (let i = 0; i <this.planoption.length ; i++) {
751
+ if (i!=idx){
752
+ this.planoption[i]["selected"]=false
753
+ }
754
+ }
755
+ },
756
+ planclose(){
757
+ this.showModal2=false
758
+ this.showModal3=false
759
+ },
760
+ queryplan(val){
761
+ this.needid=val
762
+ this.showModal2 = true
763
+ },
764
+ queryplanmany(){
765
+
766
+ this.showModal3 = true
767
+ },
768
+ reload(){
769
+ // this.getAllArea()
770
+ // this.getAllPlanName()
771
+ this.selfSearch()
772
+ },
773
+ cancelReserve (idx, id) {
774
+ if(Vue.android){
775
+ let res = this.$androidUtil.bzLogic('BookingCheck', {dt: '', id: id})
776
+ this.$set('model.rows[' + idx + '].f_prearranged_date', null)
777
+ if (res.code == 200) {
778
+ this.$showMessage("取消预约成功")
779
+ }
780
+ }else {
781
+ this.$androidUtil.bzLogic('PCbookingCheck', {dt: '', id: id}).then((repanse) => {
782
+ this.$set('model.rows[' + idx + '].f_prearranged_date', null)
783
+ if (repanse.data.code == 200) {
784
+ alert("取消预约成功!")
785
+ }
786
+ })
787
+ }},
788
+ genuineReserve () {
789
+ if(Vue.android){
790
+ if (!this.f_preset_dt) {
791
+ this.$showMessage('请选择一个日期')
792
+ return
793
+ }
794
+ let pdt = this.f_preset_dt.replace('T', ' ')
795
+ let respanse = this.$androidUtil.bzLogic('BookingCheck', {id: this.model.rows[this.param].id, dt: pdt})
796
+ this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
797
+ if(respanse.code == 200) {
798
+ this.$showMessage("预约成功!")
799
+ }
800
+ this.showModal = false
801
+ }else {
802
+ if (!this.f_preset_dt) {
803
+ alert('请选择一个日期')
804
+ return
805
+ }
806
+ let pdt = this.f_preset_dt.replace('T', ' ')
807
+ this.$androidUtil.bzLogic('PCbookingCheck', {id: this.model.rows[this.param].id, dt: pdt}).then((res) => {
808
+ this.$set('model.rows[' + this.param + '].f_prearranged_date', pdt)
809
+ if(res.data.code == 200) {
810
+ alert("预约成功!")
811
+ }
812
+ this.showModal = false
813
+ })
814
+ }
815
+ },
816
+ inspect(row) {
817
+ var _this = this
818
+ let http = new HttpResetClass()
819
+ http.load('POST',`${this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/safe_singleTable_OrderBy`, {data: {
820
+ items: 'id',
821
+ tablename: 't_check_plan_item',
822
+ condition: `id = '${row.id}'`,
823
+ orderitem: ' id '
824
+ }}, {resolveMsg: null, rejectMsg: null}).then((getcheckplan) => {
825
+ this.getcheckplandata = getcheckplan.data[0]
826
+ if(this.getcheckplandata){
827
+ if (row.f_upload_state == '未传' || (row.f_upload_state == '已传' && row.f_state == '未检' && row.f_no_checkplan != '无计划安检' ) ) {
828
+ _this.$resetpost(`${_this.$androidUtil.getProxyUrl()}/api/af-safecheck/sql/查询计划项表信息`, {data: {f_userid: row.f_userinfoid}},{resolveMsg: null,rejectMsg: null}).then((response) => {
829
+ row['f_plan_meters'] = response.data
830
+ var pardate = {
831
+ _this:_this,
832
+ title:'安全检查',
833
+ safe:true
834
+ }
835
+ _this.$dispatch('gotoson',pardate)
836
+ //tag
837
+ _this.$goto('safecheck-order-v', {f_plan_id: row.f_plan_id, item: row, role: 'inspect',parentPage:'CurrentCreate'}, 'self', _this.reload)
838
+ }).catch ((msg)=>{
839
+ this.$showMessage("网络异常,请检查网络后再试!")
840
+ })
841
+ }else{
842
+ this.$showMessage("该安检单已被上传!")
843
+ }
844
+ }else {
845
+ this.$showMessage("该用户安检单已被移除,请联系管理员确认!")
846
+ }
847
+ })
848
+ },
849
+ makeAPhoneCall(phoneNumber) {
850
+ this.$androidUtil.makeAPhoneCall(phoneNumber)
851
+ },
852
+ reserve (idx) {
853
+ this.param = idx
854
+ this.showModal = true
855
+ },
856
+ search(args) {
857
+ this.model.rows = []
858
+ this.model.search(args.condition, args.model)
859
+ },
860
+ selfSearch () {
861
+ this.getPlanCount()
862
+ let condition = ""
863
+ if (Array.isArray(this.$refs.paged.$refs.cri.model.f_residential_area) && this.$refs.paged.$refs.cri.model.f_residential_area.length >0){
864
+ condition += " and ti.f_residential_area = '"+this.$refs.paged.$refs.cri.model.f_residential_area[0]+"'"
865
+ }else if(this.$refs.paged.$refs.cri.model.f_residential_area instanceof String && this.$refs.paged.$refs.cri.model.f_residential_area){
866
+ condition += " and ti.f_residential_area = '"+this.$refs.paged.$refs.cri.model.f_residential_area+"'"
867
+ }
868
+ if(this.$refs.paged.$refs.cri.model.f_building)
869
+ condition += ` and ti.f_building = '${this.$refs.paged.$refs.cri.model.f_building}'`
870
+ if(this.$refs.paged.$refs.cri.model.f_unit)
871
+ condition += ` and ti.f_unit = '${this.$refs.paged.$refs.cri.model.f_unit}'`
872
+ if (this.planName){
873
+ condition += " and f_plan_name like '%"+this.planName +"%'"
874
+ }else {
875
+ if(this.$refs.paged.$refs.cri.model.f_plan_name)
876
+ condition += " and f_plan_name like '%"+this.$refs.paged.$refs.cri.model.f_plan_name +"%'"
877
+ }
878
+ // if(this.$refs.paged.$refs.cri.model.f_plan_year)
879
+ // condition += " and f_plan_year = '"+this.$refs.paged.$refs.cri.model.f_plan_year +"'"
880
+ // if(this.$refs.paged.$refs.cri.model.f_plan_month)
881
+ // condition += " and f_plan_month = '"+this.$refs.paged.$refs.cri.model.f_plan_month +"'"
882
+ if(this.$refs.paged.$refs.cri.model.f_userinfo_code)
883
+ condition += " and ti.f_userinfo_code like '%"+this.$refs.paged.$refs.cri.model.f_userinfo_code+"%'"
884
+ if(this.$refs.paged.$refs.cri.model.f_keyword)
885
+ condition += " and ti.f_address like '%"+this.$refs.paged.$refs.cri.model.f_keyword+"%'"
886
+ if(this.$refs.paged.$refs.cri.model.f_user_name)
887
+ condition += " and ti.f_user_name like '%"+this.$refs.paged.$refs.cri.model.f_user_name+"%'"
888
+ if(this.$refs.paged.$refs.cri.model.f_state[0])
889
+ condition += " and ti.f_state='"+this.$refs.paged.$refs.cri.model.f_state[0]+"'"
890
+ // if(this.$refs.paged.$refs.cri.model.f_last_state[0])
891
+ // condition += " and ti.f_last_check_state='"+this.$refs.paged.$refs.cri.model.f_last_state[0]+"'"
892
+ if(this.$refs.paged.$refs.cri.model.f_user_type[0])
893
+ condition += " and ti.f_user_type='"+this.$refs.paged.$refs.cri.model.f_user_type[0]+"'"
894
+ if(this.$refs.paged.$refs.cri.model.f_meter_no)
895
+ condition += " and tm.f_meter_no like '%"+this.$refs.paged.$refs.cri.model.f_meter_no+"%'"
896
+ // if(this.$refs.paged.$refs.cri.model.f_flow_direction[0])
897
+ // condition += " and tm.f_flow_direction = '"+this.$refs.paged.$refs.cri.model.f_flow_direction[0]+"'"
898
+ if(this.$refs.paged.$refs.cri.model.f_user_phone){
899
+ condition += `and ti.f_user_phone like '%${this.$refs.paged.$refs.cri.model.f_user_phone}%'`
900
+ }
901
+ if(this.$refs.paged.$refs.cri.model.f_enter_number)
902
+ condition += " and ti.f_enter_number like '%"+this.$refs.paged.$refs.cri.model.f_enter_number+"%'"
903
+ if(this.$refs.paged.$refs.cri.model.f_check_version)
904
+ condition += " and ti.f_check_version <= "+this.$refs.paged.$refs.cri.model.f_check_version
905
+ //tag
906
+ this.model.search("((f_complete = '' or f_complete = null or f_complete = '未完成') or (f_state = '未检')) and ti.f_no_checkplan = '有计划安检'" + condition)
907
+ },
908
+ getNewOrder(){
909
+ HostApp.__this__ = this
910
+ HostApp.logicWithHint({
911
+ // logic别名,key必须为logic
912
+ 'logic': 'SafeCheckServiceTimeOut',
913
+ // 回调执行方法名,key必须为callback
914
+ 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
915
+ // logic执行需要的业务参数
916
+ 'data': {params: ''},
917
+ // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
918
+ // 执行回调方法传入key为backresult
919
+ // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
920
+ 'backresult': 1
921
+ })
922
+ HostApp.logicWithHint({
923
+ // logic别名,key必须为logic
924
+ 'logic': 'FreshPlanItem',
925
+ // 回调执行方法名,key必须为callback
926
+ 'callback': 'javascript:HostApp.__this__.getNewOrderCallBack()',
927
+ // logic执行需要的业务参数
928
+ 'data': {params: ''},
929
+ // 固定key,代表是否将logic执行结果作为参数传入回调方法,1代表true,0代表false,
930
+ // 执行回调方法传入key为backresult
931
+ // 如需额外拼接参数,写在logic返回值的params,例如xxlogic返回:{"params": "success"}
932
+ 'backresult': 1
933
+ })
934
+ },
935
+ getNewOrderCallBack() {
936
+ this.selfSearch()
937
+ this.getAllArea()
938
+ this.getAllPlanName()
939
+ },
940
+ hidden() {
941
+ this.criteriaShow = !this.criteriaShow
942
+ },
943
+ getAllArea(){
944
+ this.residentialAreaOptions = []
945
+ this.buildOptions = []
946
+ this.unitOptions = []
947
+ this.$refs.paged.$refs.cri.model.f_residential_area = ''
948
+ this.$refs.paged.$refs.cri.model.f_building = ''
949
+ this.$refs.paged.$refs.cri.model.f_unit = ''
950
+ let criteria = {
951
+ items: 'f_residential_area',
952
+ tablename: 't_check_plan_item',
953
+ condition: `f_residential_area IS NOT NULL AND f_residential_area != '' AND f_state <> '已检'`,
954
+ groupitem: 'f_residential_area'
955
+ }
956
+ let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
957
+ //tag)
958
+ if(result.code == 200){
959
+ result.data.rows.forEach(item => this.residentialAreaOptions.push({label:item.f_residential_area,value:item.f_residential_area}))
960
+ }
961
+ //tag)
962
+ },
963
+ getbuilds(f_residential_area){
964
+ //tag)
965
+ this.buildOptions = []
966
+ this.unitOptions = []
967
+ this.$refs.paged.$refs.cri.model.f_building = ''
968
+ this.$refs.paged.$refs.cri.model.f_unit = ''
969
+ if(!f_residential_area){
970
+ return
971
+ }
972
+ let criteria = {
973
+ items: 'f_building',
974
+ tablename: 't_check_plan_item',
975
+ condition: `f_building IS NOT NULL AND f_building != '' AND f_state <> '已检' AND f_residential_area = '${f_residential_area}'`,
976
+ groupitem: 'f_building order by f_building+0'
977
+ }
978
+ let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
979
+ if(result.code == 200){
980
+ result.data.rows.forEach(item => this.buildOptions.push({label:item.f_building,value:item.f_building}))
981
+ }
982
+ this.buildOptions.sort((a,b)=>{
983
+ return Number(a.label)- Number(b.label)
984
+ })
985
+ //tag)
986
+ },
987
+ getUnits(f_building){
988
+ f_building = f_building[0]
989
+ //tag)
990
+ this.unitOptions = []
991
+ this.$refs.paged.$refs.cri.model.f_unit = ''
992
+ if(!f_building){
993
+ return
994
+ }
995
+ let criteria = {
996
+ items: 'f_unit',
997
+ tablename: 't_check_plan_item',
998
+ condition: `f_unit IS NOT NULL AND f_unit != '' AND f_state <> '已检' AND f_residential_area = '${this.$refs.paged.$refs.cri.model.f_residential_area}' AND f_building = '${f_building}'`,
999
+ groupitem: 'f_unit'
1000
+ }
1001
+ let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
1002
+ if(result.code == 200){
1003
+ result.data.rows.forEach(item => this.unitOptions.push({label:item.f_unit,value:item.f_unit}))
1004
+ }
1005
+ this.unitOptions.sort((a,b)=>{
1006
+ return Number(a.label)- Number(b.label)
1007
+ })
1008
+ },
1009
+ getPlanCount(){
1010
+ this.upcomingCount = 0
1011
+ this.tempSaveCount = 0
1012
+ this.doneCount = 0
1013
+ this.allPlanCount = 0
1014
+ let criteria = {
1015
+ items: 'count(id) count',
1016
+ tablename: 't_check_plan_item',
1017
+ condition: `f_state = '未检'`,
1018
+ groupitem: 'f_state'
1019
+ }
1020
+ let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
1021
+ if(result.code && result.code == 200){
1022
+ if(result.data.rows[0] && !isNaN(result.data.rows[0].count)) {
1023
+ this.upcomingCount = result.data.rows[0].count
1024
+ }
1025
+ }
1026
+ criteria = {
1027
+ items: 'count(id) count',
1028
+ tablename: 't_check_plan_item',
1029
+ condition: `(f_complete = '' or f_complete is null or f_complete = '未完成') AND f_state = '已检'`,
1030
+ groupitem: 'f_state'
1031
+ }
1032
+ result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
1033
+ if(result.code && result.code == 200){
1034
+ if(result.data.rows[0] && !isNaN(result.data.rows[0].count)){
1035
+ this.tempSaveCount = result.data.rows[0].count
1036
+ }
1037
+ }
1038
+ criteria = {
1039
+ items: 'count(id) count',
1040
+ tablename: 't_check_plan_item',
1041
+ condition: `f_complete = '已完成' AND f_state = '已检'`,
1042
+ groupitem: 'f_state'
1043
+ }
1044
+ result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
1045
+ if(result.code && result.code == 200){
1046
+ if(result.data.rows[0] && !isNaN(result.data.rows[0].count)){
1047
+ this.doneCount = result.data.rows[0].count
1048
+ }
1049
+ }
1050
+ this.allPlanCount = this.upcomingCount + this.tempSaveCount + this.doneCount
1051
+
1052
+ //tag
1053
+ //tag
1054
+ //tag
1055
+ //tag
1056
+ },
1057
+ getAllPlanName(){
1058
+ this.planNameOptions = []
1059
+ this.$refs.paged.$refs.cri.model.f_plan_name = ''
1060
+ let criteria = {
1061
+ items: 'f_plan_name',
1062
+ tablename: 't_check_plan',
1063
+ condition: `f_plan_name IS NOT NULL AND f_plan_name != ''`,
1064
+ groupitem: 'f_plan_name'
1065
+ }
1066
+ let result = HostApp._executeTask({'type':'sql', 'data':{'alias': 'safe_singleTable_GroupBy', 'criteria': criteria}})
1067
+ //tag)
1068
+ if(result.code == 200){
1069
+ result.data.rows.forEach(item => this.planNameOptions.push({label:item.f_plan_name,value:item.f_plan_name}))
1070
+ }
1071
+ //tag)
1072
+ },
1073
+ setPlanParam(detailsType, event) {
1074
+ if (event.srcElement.checked) {
1075
+ this.planparam.push(detailsType)
1076
+ //tag
1077
+ } else {
1078
+ if(this.planparam.length>0){
1079
+ let planid= this.planparam.findIndex((value) => {
1080
+ return value === detailsType
1081
+ })
1082
+ this.planparam.splice(planid, 1)
1083
+ //tag
1084
+
1085
+ }
1086
+
1087
+ }
1088
+ }
1089
+ }
1090
+ }
1091
+ </script>