safecheck-client 4.0.0-21 → 4.0.0-23

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 (251) hide show
  1. package/package.json +1 -1
  2. package/src/components/CheckerCount/CheckCountUserList.vue +144 -144
  3. package/src/components/DefectDealMain/DefectListNew.vue +642 -642
  4. package/src/components/android/AddPlanItem.vue +447 -447
  5. package/src/components/android/AddPlanItemYy.vue +451 -451
  6. package/src/components/android/AddSpecialPlanItem.vue +426 -426
  7. package/src/components/android/BlackUserOnLine.vue +318 -318
  8. package/src/components/android/CurrentCreateYy.vue +1051 -1051
  9. package/src/components/android/Devices.vue +327 -327
  10. package/src/components/android/Devicesm.vue +327 -327
  11. package/src/components/android/PaperFeedbackTemp.vue +1470 -1470
  12. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  13. package/src/components/android/PhoneRecordInfo.vue +113 -113
  14. package/src/components/android/PhoneSellInfo.vue +113 -113
  15. package/src/components/android/PhoneUpDetail.vue +1040 -1040
  16. package/src/components/android/QRCode/QRCodeBinding.vue +300 -300
  17. package/src/components/android/QRCode/QRCodePage.vue +212 -212
  18. package/src/components/android/SafePlanItem.vue +509 -509
  19. package/src/components/android/SafecheckDevices.vue +1337 -1337
  20. package/src/components/android/UserinfoSelect.vue +714 -714
  21. package/src/components/android/examples/SafeListExamples.vue +296 -296
  22. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  23. package/src/components/android/recheck/Recheck.vue +402 -402
  24. package/src/components/android/userinfo/SafecheckUserInfo.vue +776 -776
  25. package/src/components/checkplan/checkmsg.vue +459 -459
  26. package/src/components/defect/DefectList.vue +507 -507
  27. package/src/components/defect/DefectListWeixiu.vue +484 -484
  28. package/src/components/filialCircle/CircleList.vue +139 -139
  29. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  30. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  31. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  32. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  33. package/src/components/inspections/inspectionFeedback.vue +720 -720
  34. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  35. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  36. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  37. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  38. package/src/components/pc/AnnouncementPC.vue +524 -524
  39. package/src/components/pc/DefectList.vue +742 -742
  40. package/src/components/pc/DeviceChange.vue +1068 -1068
  41. package/src/components/pc/SafeVisitInfo.vue +261 -261
  42. package/src/components/planmanage/PlanManage.vue +886 -888
  43. package/src/components/planmanage/checkPlanList.vue +368 -368
  44. package/src/components/querycheckpaper/CheckPaperList.vue +130 -130
  45. package/src/components/report/HiddenSituation.vue +165 -165
  46. package/src/components/rongcheng/AspPaperFeedback.vue +1179 -1179
  47. package/src/components/rongcheng/AspiratedOrderV.vue +2377 -2377
  48. package/src/components/rongcheng/CurrentCreateOnline.vue +906 -906
  49. package/src/components/rongcheng/DefectList.vue +560 -560
  50. package/src/components/rongcheng/PaperFeedback.vue +1318 -1318
  51. package/src/components/rongcheng/SafecheckOrderVCli.vue +2641 -2641
  52. package/src/components/safecheckNew/android/AddPlanItem.vue +419 -419
  53. package/src/components/safecheckNew/android/CurrentCreate.vue +1050 -1050
  54. package/src/components/safecheckNew/android/Recheck.vue +379 -379
  55. package/src/components/safecheckNew/android/SafecheckOrderV.vue +2731 -2731
  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/components/userfileNew/UserInfoAuditNew.vue +274 -274
  62. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +476 -476
  63. package/src/filiale/ancheng/android/PaperFeedback.vue +1489 -1489
  64. package/src/filiale/ancheng/android/SafecheckOrderV.vue +2703 -2703
  65. package/src/filiale/ancheng/android/SafecheckUserInfo.vue +737 -737
  66. package/src/filiale/ancheng/pc/checkScreen.vue +923 -923
  67. package/src/filiale/ankangyihua/android/AddPlanItem.vue +446 -446
  68. package/src/filiale/ankangyihua/android/SafecheckOrderV.vue +2908 -2908
  69. package/src/filiale/ankangyihua/pc/DefectListWeixiu.vue +491 -491
  70. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -2785
  71. package/src/filiale/baiyin/pc/DefectListNew.vue +597 -597
  72. package/src/filiale/bayan/android/Edit.vue +132 -132
  73. package/src/filiale/bayan/android/PaperFeedback.vue +1669 -1669
  74. package/src/filiale/bayan/pc/DefectListNew.vue +597 -597
  75. package/src/filiale/bayan/pc/DeviceChange.vue +1838 -1838
  76. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  77. package/src/filiale/dexin/android/CasualSave.vue +1050 -1050
  78. package/src/filiale/dexin/android/SafecheckOrderV.vue +2950 -2950
  79. package/src/filiale/fugou/android/AddPlanItem.vue +413 -413
  80. package/src/filiale/fugou/android/SafecheckOrderV.vue +2796 -2796
  81. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +830 -830
  82. package/src/filiale/fugu/android/SafecheckOrderV.vue +2484 -2484
  83. package/src/filiale/fugu/pc/NewCheckpaper.vue +1287 -1287
  84. package/src/filiale/ganquan/android/AddPlanItem.vue +444 -444
  85. package/src/filiale/ganquan/android/SafecheckOrderV.vue +2485 -2485
  86. package/src/filiale/ganquan/pc/NewCheckpaper.vue +1354 -1354
  87. package/src/filiale/guangxi/pc/DefectListNew.vue +518 -518
  88. package/src/filiale/hanzhong/android/PaperFeedback.vue +1477 -1477
  89. package/src/filiale/hanzhong/android/SafecheckOrderV.vue +2683 -2683
  90. package/src/filiale/hanzhong/android/SafecheckUserInfo.vue +786 -786
  91. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -2803
  92. package/src/filiale/huatong/android/PaperFeedback.vue +1433 -1433
  93. package/src/filiale/huatong/android/SafecheckOrderV.vue +2426 -2426
  94. package/src/filiale/huatong/android/SafecheckUserInfo.vue +749 -749
  95. package/src/filiale/huayin/android/PaperFeedback.vue +1422 -1422
  96. package/src/filiale/huayin/android/SafecheckOrderV.vue +2712 -2712
  97. package/src/filiale/huayin/pc/NewCheckpaper.vue +1307 -1307
  98. package/src/filiale/jiaocheng/android/AddPlanItem.vue +435 -435
  99. package/src/filiale/jiaocheng/android/PaperFeedback.vue +1308 -1308
  100. package/src/filiale/jiaocheng/android/SafecheckUserInfo.vue +737 -737
  101. package/src/filiale/jiaocheng/pc/DefectListNew.vue +576 -576
  102. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -447
  103. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2807
  104. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -784
  105. package/src/filiale/jinbin/pc/DefectListWeixiu.vue +478 -478
  106. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -458
  107. package/src/filiale/jingyang/android/PaperFeedback.vue +1493 -1493
  108. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
  109. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +781 -781
  110. package/src/filiale/jinhong/android/PhoneInsurancePurchaseDetail.vue +26 -9
  111. package/src/filiale/kelai/android/AddPlanItem.vue +488 -488
  112. package/src/filiale/kelai/android/AndroidDefectDeal.vue +747 -747
  113. package/src/filiale/kelai/android/PaperFeedback.vue +1539 -1539
  114. package/src/filiale/kelai/android/SafecheckOrderV.vue +2448 -2448
  115. package/src/filiale/kelai/android/SafecheckUserInfo.vue +774 -774
  116. package/src/filiale/kelai/android/SafecheckUserInfo1.vue +618 -618
  117. package/src/filiale/kelai/pc/DefectListNew.vue +688 -688
  118. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasList.vue +518 -518
  119. package/src/filiale/kelai/pc/NewCheckpaper.vue +1454 -1454
  120. package/src/filiale/liaoyuan/android/AddPlanItem.vue +412 -412
  121. package/src/filiale/liaoyuan/android/CurrentCreate.vue +1066 -1066
  122. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2388 -2388
  123. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +557 -557
  124. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +489 -489
  125. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  126. package/src/filiale/lixian/android/SafecheckOrderV.vue +2404 -2404
  127. package/src/filiale/lixian/android/SafecheckUserInfo.vue +578 -578
  128. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  129. package/src/filiale/minsheng/android/SafecheckUserInfo.vue +754 -754
  130. package/src/filiale/minsheng/pc/DefectListNew.vue +535 -535
  131. package/src/filiale/pingxiang/android/PaperFeedback.vue +1399 -1399
  132. package/src/filiale/pingxiang/android/SafecheckOrderV.vue +2424 -2424
  133. package/src/filiale/pingxiang/android/SafecheckUserInfo.vue +600 -600
  134. package/src/filiale/pingxiang/pc/DefectListNew.vue +519 -519
  135. package/src/filiale/pingxiang/pc/NewCheckpaper.vue +1294 -1294
  136. package/src/filiale/qianneng/android/AddPlanItem.vue +482 -482
  137. package/src/filiale/qianneng/android/PaperFeedback.vue +1434 -1434
  138. package/src/filiale/qianneng/android/SafecheckOrderV.vue +2785 -2785
  139. package/src/filiale/qianneng/android/SafecheckUserInfo.vue +775 -775
  140. package/src/filiale/qianneng/pc/DefectListNew.vue +576 -576
  141. package/src/filiale/qianneng/pc/NewCheckpaper.vue +1546 -1546
  142. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2844 -2844
  143. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +800 -800
  144. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -450
  145. package/src/filiale/qingtongxia/android/SafecheckOrderV.vue +2726 -2726
  146. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -782
  147. package/src/filiale/qingtongxia/pc/DefectListNew.vue +594 -594
  148. package/src/filiale/rizhao/android/AddPlanItem.vue +446 -446
  149. package/src/filiale/rizhao/android/PaperFeedback.vue +1510 -1510
  150. package/src/filiale/rizhao/android/SafecheckOrderV.vue +2430 -2430
  151. package/src/filiale/rizhao/android/SafecheckUserInfo.vue +640 -640
  152. package/src/filiale/rizhao/pc/DefectList.vue +489 -489
  153. package/src/filiale/rongchuang/android/PaperFeedback.vue +1455 -1455
  154. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +2696 -2696
  155. package/src/filiale/rongchuang/android/checkpapermsg.vue +209 -209
  156. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -2747
  157. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -804
  158. package/src/filiale/shanggao/android/PaperFeedback.vue +1422 -1422
  159. package/src/filiale/shanggao/android/SafecheckOrderV.vue +2426 -2426
  160. package/src/filiale/shanxian/android/PaperFeedback.vue +1445 -1445
  161. package/src/filiale/shanxian/android/SafecheckUserInfo.vue +749 -749
  162. package/src/filiale/shanxian/pc/HiddenSituation.vue +121 -121
  163. package/src/filiale/shanxian/pc/NewCheckpaper.vue +1526 -1526
  164. package/src/filiale/shexian/android/AddPlanItem.vue +444 -444
  165. package/src/filiale/shexian/android/PaperFeedback.vue +1448 -1448
  166. package/src/filiale/shexian/android/SafecheckOrderV.vue +2879 -2879
  167. package/src/filiale/shexian/pc/DefectListNew.vue +593 -593
  168. package/src/filiale/shexian/pc/NewCheckpaper.vue +1469 -1469
  169. package/src/filiale/shimen/android/PaperFeedback.vue +1341 -1341
  170. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  171. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  172. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  173. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  174. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -1051
  175. package/src/filiale/siyang/android/PhoneRecordInfo.vue +214 -214
  176. package/src/filiale/siyang/android/SafecheckOrderV.vue +2796 -2796
  177. package/src/filiale/siyang/android/SafecheckUserInfo.vue +789 -789
  178. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -167
  179. package/src/filiale/tianke/android/AddPlanItem.vue +455 -455
  180. package/src/filiale/tianke/android/SafecheckOrderV.vue +2431 -2431
  181. package/src/filiale/tianke/android/SafecheckUserInfo.vue +744 -744
  182. package/src/filiale/tongchuan/android/AddPlanItem.vue +483 -483
  183. package/src/filiale/tongchuan/android/PaperFeedback.vue +1316 -1316
  184. package/src/filiale/tongchuan/android/PhoneRecordInfo.vue +191 -191
  185. package/src/filiale/tongchuan/android/PhoneSellInfo.vue +113 -113
  186. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +720 -720
  187. package/src/filiale/tongchuan/pc/CheckBookDetails.vue +209 -209
  188. package/src/filiale/tongchuan/pc/DefectListWeixiu.vue +484 -484
  189. package/src/filiale/tongchuan/pc/HiddenSituation.vue +166 -166
  190. package/src/filiale/weinan/android/AddPlanItem.vue +438 -438
  191. package/src/filiale/weinan/android/CurrentCreate.vue +1171 -1171
  192. package/src/filiale/weinan/android/CurrentCreateOnline.vue +911 -911
  193. package/src/filiale/weinan/android/SafePlanItem.vue +440 -440
  194. package/src/filiale/weinan/android/SafecheckUserInfo.vue +778 -778
  195. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  196. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -1088
  197. package/src/filiale/weinan/pc/HiddenSituation.vue +167 -167
  198. package/src/filiale/weinan/pc/checkScreen.vue +1094 -1094
  199. package/src/filiale/weinanct/android/SafecheckOrderV.vue +2730 -2730
  200. package/src/filiale/weinanct/pc/NewCheckpaper.vue +1315 -1315
  201. package/src/filiale/wensu/android/AddPlanItem.vue +495 -495
  202. package/src/filiale/wensu/android/AndroidDefectDeal.vue +464 -464
  203. package/src/filiale/wensu/android/PaperFeedback.vue +1358 -1358
  204. package/src/filiale/wensu/android/SafecheckOrderV.vue +2430 -2430
  205. package/src/filiale/wensu/android/SafecheckUserInfo.vue +627 -627
  206. package/src/filiale/wensu/pc/DefectListNew.vue +735 -735
  207. package/src/filiale/wenxi/android/AddPlanItem.vue +431 -431
  208. package/src/filiale/wenxi/android/PaperFeedback.vue +1607 -1607
  209. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2671 -2671
  210. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +673 -673
  211. package/src/filiale/wenxi/pc/DefectList.vue +653 -653
  212. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1358 -1358
  213. package/src/filiale/wuan/android/PaperFeedback.vue +1433 -1433
  214. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2241
  215. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -596
  216. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  217. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  218. package/src/filiale/wuhai/android/PaperFeedback.vue +1350 -1350
  219. package/src/filiale/wuhai/android/SafecheckOrderV.vue +2456 -2456
  220. package/src/filiale/wuhai/android/SafecheckUserInfo.vue +573 -573
  221. package/src/filiale/wuhai/pc/NewCheckpaper.vue +1281 -1281
  222. package/src/filiale/xinkang/android/SafecheckOrderV.vue +2732 -2732
  223. package/src/filiale/xinkang/android/SafecheckUserInfo.vue +747 -747
  224. package/src/filiale/xinkang/pc/DefectListWeixiu.vue +475 -475
  225. package/src/filiale/xinkang/pc/NewCheckpaper.vue +1498 -1498
  226. package/src/filiale/yangchunboneng/android/AddPlanItem.vue +496 -496
  227. package/src/filiale/yangchunboneng/android/PaperFeedback.vue +1731 -1731
  228. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2865 -2865
  229. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  230. package/src/filiale/yangchunboneng/pc/DefectListNew.vue +576 -576
  231. package/src/filiale/yongzhou/android/PaperFeedback.vue +1519 -1519
  232. package/src/filiale/yongzhou/android/SafecheckOrderV.vue +2774 -2774
  233. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +776 -776
  234. package/src/filiale/yuansheng/android/PaperFeedback.vue +1488 -1488
  235. package/src/filiale/yuansheng/android/SafecheckOrderV.vue +2758 -2758
  236. package/src/filiale/yuansheng/android/SafecheckUserInfo.vue +797 -797
  237. package/src/filiale/yuansheng/pc/DefectListNew.vue +524 -524
  238. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +1371 -1371
  239. package/src/filiale/yuansheng/pc/checkmsg.vue +464 -464
  240. package/src/filiale/zhongsheng/android/BuyRecords.vue +122 -122
  241. package/src/filiale/zhongsheng/android/PaperFeedback.vue +1341 -1341
  242. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2461 -2461
  243. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +690 -690
  244. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  245. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1322 -1322
  246. package/src/filiale/zhongyi/android/SafecheckOrderV.vue +2431 -2431
  247. package/src/filiale/zhongyi/pc/DefectListNew.vue +514 -514
  248. package/src/filiale/zhoukou/android/PaperFeedback.vue +1367 -1367
  249. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  250. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  251. package/src/main.js +32 -33
@@ -1,888 +1,886 @@
1
- <template>
2
- <work-busy :is-busy="isSend"></work-busy>
3
- <div class="binary" style="background-color: #e8f4ff">
4
- <!--左侧安检计划列表******************************************************-->
5
- <div class="binary-left flex flex-column" style="width: 16%">
6
- <div style="height: 9%">
7
- <div class="row auto">
8
- <img style="width: 20px;margin: 0 5px" src="../../../static/images/searchhover.png" @click="showUserCondition()"/>
9
- <v-select :width="'80%'"
10
- class="select select_list"
11
- :search="false"
12
- :value.sync="currentorder"
13
- v-model="currentorder"
14
- @change="loadCheckPlan"
15
- :options='opt'
16
- close-on-select value-single >
17
- </v-select>
18
- </div>
19
- <div class="row auto safe-div-p"><!--<span style="margin-right: 5px" @click="refresh()" style="cursor:default">测试</span>--><span style="margin-right: 5px" @click="delCheckPlan()" style="cursor:default" v-if="isdelete">删除</span> <span @click="sendCheckPlan()" style="cursor:default">下发</span></div>
20
- </div>
21
- <div class="leftplan-center safe_plan_list">
22
- <div class="row safe-leftplan safe_list_li" :class="{'safe-selectplan':selectPlan.id==row.id}" v-for="row in checkplan.list.data" @click="selectPlanChange(row)">
23
- <table style="width:100%;table-layout:fixed" >
24
- <tr class="safe-planfont">
25
- <td rowspan="6"><input type="checkbox" style="pointer-events:auto" v-show="row.plan_count==0 || row.f_issued=='未下发'" onClick="event.cancelBubble = true" :checked="checkplan.check.isChecked(row.f_check_item_id)" @change="checkplan.check.setCheckes(row.id)"/></td>
26
- <td colspan="6" class="safe_p">{{row.f_plan_name}}</td>
27
- <td colspan="2" style="text-align: center"><img width="20px" style="pointer-events:auto" onClick="event.cancelBubble = true" @click="showUpPlans(row)" src="../../../static/images/edit.png"/></td>
28
- </tr>
29
- <tr class="safe-bodyfont" style="color:#4792de">
30
- <td colspan="6">{{row.f_issued}}</td>
31
- <td colspan="2" class="safe_p">{{row.f_checker?row.f_checker:'共享'}}</td>
32
- </tr>
33
- <tr class="safe-bodyfont">
34
- <td colspan="4">{{row.f_plan_year}}-{{row.f_plan_month}}</td>
35
- <td colspan="2">总 :</td>
36
- <td colspan="2">{{row.plan_count}}</td>
37
- </tr>
38
- <tr class="safe-bodyfont">
39
- <td colspan="2">未检 :</td>
40
- <td colspan="2">{{row.unchecked}}</td>
41
- <td colspan="2">已检 :</td>
42
- <td colspan="2">{{row.checked}}</td>
43
- </tr>
44
- <tr class="safe-bodyfont" v-if="row.f_create_time">
45
- <td colspan="3">创建时间 :</td>
46
- <td colspan="5" style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;" :title="row.f_create_time">{{row.f_create_time}}</td>
47
- </tr>
48
- <tr class="safe-bodyfont" v-if="row.f_safecheck_type">
49
- <td colspan="3">安检类型 :</td>
50
- <td colspan="5" style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;" :title="row.f_safecheck_type">{{row.f_safecheck_type}}</td>
51
- </tr>
52
- </table>
53
- </div>
54
- </div>
55
- <div style="height: 11%">
56
- <div class="row auto leftplan-center" style="padding: 8px">
57
- <div class="col-sm-6" style="">
58
- <span>共{{checkplan.list.count}}条</span>
59
- </div>
60
- <div class="col-sm-6" style="text-align: end">
61
- <span @click="loadMore('checkplan')"><img src="../../../static/images/doubledown.png"/>&ensp;更多</span>
62
- </div>
63
- </div>
64
- <div class="row auto" style="padding: 10px;text-align: center">
65
- <img src="../../../static/images/addnew.png" @click="showcCreatePlan()"/>
66
- </div>
67
- </div>
68
- </div>
69
- <!--右侧列表**************************************************************************-->
70
- <div class="binary-right" style="width: 84%;overflow: auto">
71
- <div style="height: 5%">
72
- <div class="col-sm-4">
73
- <label class="font_normal_body">公&emsp;&emsp;司</label>
74
- <right-tree-safe :islist="false" :width="'60%'" @re-res="getRes"></right-tree-safe>
75
- </div>
76
- </div>
77
- <div style="height: 95%">
78
- <div style="height: 50%" class="leftplan-center">
79
- <check-plan-list :selectplan="selectPlan" :userlogin="userlogin" v-ref:item></check-plan-list>
80
- </div>
81
- <div style="height: 50%">
82
- <check-user-list :selectplan="selectPlan" :userlogin="userlogin" v-ref:user></check-user-list>
83
- </div>
84
- </div>
85
- </div>
86
- <modal :show.sync="showCondtion" v-ref:modal :width="'50%'" :backdrop="false">
87
- <div slot="modal-header" class="modal-header">
88
- <h4 class="modal-title">
89
- 计划查询条件
90
- </h4>
91
- </div>
92
- <div slot="modal-body" class="modal-body">
93
- <div class="row">
94
- <div class="form-group col-sm-4" >
95
- <label class="font_normal_body">计划名称:</label>
96
- <input type="text" class="input_search" v-model="planCondition.f_plan_name" @change="setProperty('checkplan','f_plan_name',planCondition.f_plan_name)"
97
- style="width: 60%" placeholder="请选择" />
98
- </div>
99
- <div class="form-group col-sm-4" >
100
- <label class="font_normal_body">计划年份:</label>
101
- <v-select
102
- class="select select_list"
103
- :value.sync="planCondition.f_plan_year"
104
- v-model="planCondition.f_plan_year"
105
- @change="setProperty('checkplan','f_plan_year',planCondition.f_plan_year)"
106
- :search="false"
107
- :options='getConList("yearList")'
108
- placeholder='请选择'
109
- close-on-select
110
- value-single
111
- >
112
- </v-select>
113
- </div>
114
- <div class="form-group col-sm-4" >
115
- <label class="font_normal_body">计划月份:</label>
116
- <v-select
117
- class="select select_list"
118
- :value.sync="planCondition.f_plan_month"
119
- v-model="planCondition.f_plan_month"
120
- @change="setProperty('checkplan','f_plan_month',planCondition.f_plan_month)"
121
- :search="false"
122
- :options='getConList("monthList")'
123
- placeholder='请选择'
124
- close-on-select
125
- value-single>
126
- </v-select>
127
- </div>
128
- <div class="form-group col-sm-4" >
129
- <label class="font_normal_body">是否共享:</label>
130
- <v-select
131
- class="select select_list"
132
- :value.sync="planCondition.isShare"
133
- v-model="planCondition.isShare"
134
- @change="setProperty('checkplan','isAndNot',planCondition.isShare)"
135
- :options='getConList("conIsAndNot")'
136
- :search="false"
137
- placeholder='请选择'
138
- close-on-select
139
- value-single
140
- >
141
- </v-select>
142
- </div>
143
- <div class="form-group col-sm-4" >
144
- <label class="font_normal_body">是否下发:</label>
145
- <v-select
146
- class="select select_list"
147
- :value.sync="planCondition.issued"
148
- v-model="planCondition.issued"
149
- :options='getConList("isAndNot")'
150
- @change="setProperty('checkplan','issude',planCondition.issued)"
151
- placeholder='请选择'
152
- :search="false"
153
- close-on-select
154
- value-single
155
- >
156
- </v-select>
157
- </div>
158
- <div class="form-group col-sm-4" >
159
- <label class="font_normal_body">安&ensp;检&ensp;员:</label>
160
- <v-select
161
- class="select select_list"
162
- :value.sync="planCondition.f_checker"
163
- v-model="planCondition.f_checker"
164
- @change="setProperty('checkplan','checkerid',planCondition.f_checker.id)"
165
- :options='getConList("checker")'
166
- placeholder='请选择'
167
- close-on-select
168
- value-single
169
- >
170
- </v-select>
171
- </div>
172
-
173
- <div class="form-group col-sm-4" >
174
- <label class="font_normal_body">安检类型:</label>
175
- <v-select
176
- class="select select_list"
177
- :value.sync="planCondition.f_safecheck_type"
178
- v-model="planCondition.f_safecheck_type"
179
- @change="setProperty('checkplan','safechecktype',planCondition.f_safecheck_type)"
180
- :options='getConList("safechecktype")'
181
- placeholder='请选择'
182
- :search="false"
183
- close-on-select
184
- value-single
185
- >
186
- </v-select>
187
- </div>
188
- <div class="form-group col-sm-4" >
189
- <label class="font_normal_body">创&ensp;建&ensp;人:</label>
190
- <input type="text" class="input_search" v-model="planCondition.f_create_operator" @change="setProperty('checkplan','f_create_operator',planCondition.f_create_operator)"
191
- style="width: 60%" placeholder="创建人" />
192
- </div>
193
- </div>
194
- </div>
195
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
196
- <button class="button_search" @click="loadCheckPlan" style="margin-right: 15px">查询</button>
197
- <button class="button_search" @click="cancel">取消</button>
198
- </div>
199
- </modal>
200
- <modal :show.sync="showCreatePlan" v-ref:modal1 :width="'50%'" :backdrop="false">
201
- <div slot="modal-header" class="modal-header">
202
- <h4 class="modal-title">
203
- 新建计划
204
- </h4>
205
- </div>
206
- <div slot="modal-body" class="modal-body">
207
- <div class="row">
208
- <div class="form-group col-sm-4" >
209
- <label class="font_normal_body">计划名称:</label>
210
- <input type="text" class="input_search" v-model="createPlan.f_plan_name"
211
- style="width: 60%" placeholder="请选择" />
212
- </div>
213
- <div class="form-group col-sm-4" >
214
- <label class="font_normal_body">计划年份:</label>
215
- <v-select
216
- class="select select_list"
217
- :value.sync="createPlan.f_plan_year"
218
- v-model="createPlan.f_plan_year"
219
- :search="false"
220
- :options='yearList'
221
- placeholder='请选择'
222
- close-on-select
223
- value-single
224
- >
225
- </v-select>
226
- </div>
227
- <div class="form-group col-sm-4" >
228
- <label class="font_normal_body">计划月份:</label>
229
- <v-select
230
- class="select select_list"
231
- :value.sync="createPlan.f_plan_month"
232
- v-model="createPlan.f_plan_month"
233
- :search="false"
234
- :options='monthList'
235
- placeholder='请选择'
236
- close-on-select
237
- value-single>
238
- </v-select>
239
- </div>
240
- <div class="form-group col-sm-4" >
241
- <label class="font_normal_body">是否共享:</label>
242
- <v-select
243
- class="select select_list"
244
- :search="false"
245
- :value.sync="createPlan.isShare"
246
- v-model="createPlan.isShare"
247
- :options='isAndNot'
248
- placeholder='请选择'
249
- close-on-select
250
- value-single
251
- >
252
- </v-select>
253
- </div>
254
- <div class="form-group col-sm-4" v-show="createPlan.isShare=='是' && ismulchecker">
255
- <label class="font_normal_body">安&ensp;检&ensp;员:</label>
256
- <v-select
257
- class="select select_list"
258
- :value.sync="createPlan.checkers"
259
- v-model="createPlan.checkers"
260
- :options='checker'
261
- placeholder='请选择'
262
- :multiple="true"
263
- >
264
- </v-select>
265
- </div>
266
- <div class="form-group col-sm-4" v-show="createPlan.isShare=='否'">
267
- <label class="font_normal_body">安&ensp;检&ensp;员:</label>
268
- <v-select
269
- class="select select_list"
270
- :value.sync="createPlan.checker"
271
- v-model="createPlan.checker"
272
- :options='checker'
273
- placeholder='请选择'
274
- close-on-select
275
- value-single
276
- >
277
- </v-select>
278
- </div>
279
-
280
- <div class="form-group col-sm-4" >
281
- <label class="font_normal_body">安检类型:</label>
282
- <v-select
283
- class="select select_list"
284
- :value.sync="createPlan.f_safecheck_type"
285
- v-model="createPlan.f_safecheck_type"
286
- :search="false"
287
- :options='ntoway'
288
- placeholder='请选择'
289
- close-on-select
290
- value-single
291
- >
292
- </v-select>
293
- </div>
294
- </div>
295
- </div>
296
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
297
- <button class="button_search" style="margin-right: 15px" @click="addNewPlan()">创建计划</button>
298
- <button class="button_search" @click="cancel">取消</button>
299
- </div>
300
- </modal>
301
- <modal :show.sync="showUpPlan" v-ref:modal2 :backdrop="false">
302
- <div slot="modal-header" class="modal-header">
303
- <h4 class="modal-title">
304
- 修改计划
305
- </h4>
306
- </div>
307
- <div slot="modal-body" class="modal-body">
308
- <div class="row">
309
- <div class="form-group col-sm-4" >
310
- <label class="font_normal_body">计划名称:</label>
311
- <input type="text" class="input_search" v-model="upCheckPlan.f_plan_name"
312
- style="width: 60%" />
313
- </div>
314
- <div class="form-group col-sm-4" >
315
- <label class="font_normal_body">计划年份:</label>
316
- <v-select
317
- class="select select_list"
318
- :value.sync="upCheckPlan.f_plan_year"
319
- v-model="upCheckPlan.f_plan_year"
320
- :search="false"
321
- :value="upCheckPlan.f_plan_year"
322
- :options='yearList'
323
-
324
- close-on-select
325
- value-single>
326
-
327
-
328
- </v-select>
329
- <!-- <datepicker
330
- placeholder='请选择'
331
- style="width:60%"
332
- :disabled-days-of-week="[]"
333
- :format="'yyyy'"
334
- :show-rest-button="reset"
335
- :value.sync="upCheckPlan.f_plan_year"
336
- v-model="upCheckPlan.f_plan_year">
337
- </datepicker>-->
338
- </div>
339
- <div class="form-group col-sm-4" >
340
- <label class="font_normal_body">计划月份:</label>
341
- <v-select
342
- class="select select_list"
343
- :value.sync="upCheckPlan.f_plan_month"
344
- v-model="upCheckPlan.f_plan_month"
345
-
346
- :options='monthList'
347
- close-on-select
348
- value-single>
349
- </v-select>
350
- </div>
351
- <div class="form-group col-sm-4" >
352
- <label class="font_normal_body">是否共享:</label>
353
- <v-select
354
- class="select select_list"
355
- :search="false"
356
- :value.sync="upCheckPlan.isShare"
357
- v-model="upCheckPlan.isShare"
358
- :options='isAndNot'
359
- placeholder='请选择'
360
- close-on-select
361
- value-single
362
- >
363
- </v-select>
364
- </div>
365
- <div class="form-group col-sm-4" v-show="upCheckPlan.isShare=='是' && ismulchecker">
366
- <label class="font_normal_body">安&ensp;检&ensp;员:</label>
367
- <v-select
368
- class="select select_list"
369
- :value.sync="upCheckPlan.checkers"
370
- v-model="upCheckPlan.checkers"
371
- :options='checker'
372
- placeholder='请选择'
373
- :multiple="true"
374
- >
375
- </v-select>
376
- </div>
377
- <div class="form-group col-sm-4" v-show="upCheckPlan.isShare=='否'">
378
- <label class="font_normal_body">安&ensp;检&ensp;员:</label>
379
- <v-select
380
- class="select select_list"
381
- :value.sync="upCheckPlan.checker"
382
- v-model="upCheckPlan.checker"
383
- :options='checker'
384
- close-on-select
385
- value-single
386
- >
387
- </v-select>
388
- </div>
389
-
390
- <div class="form-group col-sm-4">
391
- <label class="font_normal_body">安检类型:</label>
392
- <v-select
393
- class="select select_list"
394
- :value.sync="upCheckPlan.f_safecheck_type"
395
- v-model="upCheckPlan.f_safecheck_type"
396
- :options='ntoway'
397
- close-on-select
398
- value-single
399
- >
400
- </v-select>
401
- </div>
402
- </div>
403
- </div>
404
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
405
- <button class="button_search" style="margin-right: 15px" @click="upPlan()">保存修改</button>
406
- <button class="button_search" @click="cancel">取消</button>
407
- </div>
408
- </modal>
409
- </div>
410
- </template>
411
-
412
- <script>
413
- import {SearchList,HttpResetClass, PagedList} from "vue-client";
414
- import * as Util from "../Util";
415
- import Vue from "vue";
416
- import AppData from "../../stores/AppData";
417
-
418
- export default {
419
- name: "PlanManage",
420
- title: '计划管理',
421
- data() {
422
- return {
423
- ismulchecker:this.$appdata.getSingleValue('计划安检员多选')?true:false,
424
- a:'1',
425
- opt:[{label:"按时间降序",value:"按时间降序"},{label:"按时间升序",value:"按时间升序"}],
426
- currentorder:'按时间降序',
427
- isdelete:this.$login.r ? this.$login.r.includes("安检计划删除"):false,
428
- checkplan : new SearchList(true),
429
- selectPlan:{id:''},
430
- upCheckPlan:{
431
- f_plan_name:'',
432
- f_safecheck_type:'',
433
- f_plan_year:'',
434
- f_plan_month:'',
435
- f_checker_id:'',
436
- isShare:'',
437
- f_checker:'',
438
- f_checkerstr:'',
439
- checker:{},
440
- checkers:[]
441
- },
442
- isSend:false,
443
- createPlan:{
444
- f_plan_name:'',
445
- f_plan_year:'',
446
- f_plan_month:'',
447
- isShare:'否',
448
- f_issued:'否',
449
- f_checker_id:null,
450
- checker:{},
451
- checkers:[],
452
- f_checker:null,
453
- f_checkerstr:null,
454
- f_safecheck_type:'',
455
- },
456
- planCondition:{},
457
- showCondtion:false,
458
- showCreatePlan:false,
459
- showUpPlan:false,
460
- isAndNot:[{label:'是',value:'是'},{label:'否',value:'否'}],
461
- conIsAndNot:[{label:'是',value:'is null'},{label:'否',value:'is not null'}],
462
- yearList:[{label:2020,value:2020},{label:2021,value:2021},{label:2022,value:2022},{label:2023,value:2023},{label:2024,value:2024},{label:2025,value:2025},{label:2026,value:2026},{label:2027,value:2027},{label:2028,value:2028},{label:2029,value:2029},{label:2030,value:2030}],
463
- monthList:[{label:"1",value:1},{label:"2",value:2},{label:"3",value:3},{label:"4",value:4},{label:"5",value:5},{label:"6",value:6},{label:"7",value:7},{label:"8",value:8},{label:"9",value:9},{label:"10",value:10},{label:"11",value:11},{label:"12",value:12}],
464
- safechecktype:[{label:'年度普检',value:'年度普检'}],
465
- checker:[],
466
- checkertCon:[],
467
- userlogin:{
468
- id:this.$login.f.id,
469
- name:this.$login.f.name,
470
- orgid:this.$login.f.orgid,
471
- orgstr:this.$login.f.orgs,
472
- }
473
- //需要测试直接把下面放开即可
474
- /*userlogin:{
475
- id:'141701',
476
- name:'hwq',
477
- orgid:'35526',
478
- orgstr:'西华县天然气有限公司'
479
- }*/
480
- }
481
- },
482
- async ready(){
483
- await this.loadpage()
484
- if (!this.userlogin.orgid){
485
- if (this.$login.f.f_orgids){
486
- this.userlogin.orgid = this.$login.f.f_orgids.endsWith('.')?this.$login.f.f_orgids.substring(0,this.$login.f.f_orgids.length-1):this.$login.f.f_orgids
487
- }else {
488
- this.userlogin.orgid = ''
489
- }
490
- }
491
- },
492
- computed: {
493
- ntoway() {
494
- /*/!* return AppData.getParam('安检类型')*!/*/
495
- return this.$appdata.getParam('安检类型')
496
- }
497
- },
498
- methods:{
499
- /* ntoway() {
500
- /!* return AppData.getParam('安检类型')*!/
501
- return Vue.$appdata.getParam('安检类型')
502
- },*/
503
- async loadpage(){
504
- //await this.checkplan.searchList("/api/af-safecheck/sql/预约计划下发", {},{groupitem:"",f_filialeids:"('"+this.userlogin.orgid+"')",orderitem:"f_create_time desc"})
505
- await this.loadCheckPlan()
506
- await this.searchChecker(this.userlogin.id)
507
- },
508
- getRes(obj) {
509
- console.log("----obj"+JSON.stringify(obj.resids))
510
- console.log(obj)
511
- if(obj.resids.length>0 && obj.resids[0]!=this.userlogin.orgid && obj.resids[0]){
512
- this.userlogin.orgid=obj.resids[0]
513
- this.userlogin.orgstr=obj.res[0]
514
- if(this.$refs.item && this.$refs.user){
515
- this.loadpage()
516
- this.selectPlan={id:""}
517
- this.$refs.item.model.rows=[]
518
- this.$refs.user.model.rows=[]
519
- this.$refs.user.loadpage()
520
- }
521
- }
522
- },
523
- getConList(field){
524
- return [{label:'全部',value:''}, ...this[field]]
525
- },
526
- selectPlanChange(plan){
527
- this.selectPlan=plan
528
- //this.upCheckPlan=plan
529
- },
530
- showUserCondition(){
531
- this.showCondtion=true
532
- },
533
- showcCreatePlan(){
534
- this.showCreatePlan=true
535
- },
536
- cancel(){
537
- this.showCondtion=false
538
- this.showCreatePlan=false
539
- this.showUpPlan=false
540
- },
541
- //新建计划
542
- async addNewPlan() {
543
- if(!this.validationCreatePlan()){
544
- return
545
- }
546
- this.isSend=true
547
- let res=await new HttpResetClass().load("POST","/api/af-safecheck/sql/getCheckplan", {data: {condition:"f_plan_name='"+this.createPlan.f_plan_name+"'",sortfield:'f_create_time desc'}})
548
- console.log("结果-"+res.data.length)
549
- if(res.data.length>0){
550
- Vue.showMessage("计划名称不能重复!")
551
- this.isSend=false
552
- return
553
- }
554
- if(this.createPlan.isShare=="是"){
555
- if(this.ismulchecker && this.createPlan.checkers.length > 0){
556
- this.createPlan.checkers.forEach((value) => {
557
- this.createPlan.f_checkerstr += `${value.name},`
558
- })
559
- this.createPlan.f_checkerstr = this.createPlan.f_checkerstr.slice(0, -1)
560
- }
561
- this.createPlan.f_checker_id=null
562
- this.createPlan.f_checker=null
563
- }else{
564
- this.createPlan.f_checker_id=this.createPlan.checker.id
565
- this.createPlan.f_checker=this.createPlan.checker.name
566
- }
567
- console.log("this.createPlan.f_checker:"+this.createPlan.f_checker)
568
- this.createPlan.f_plan_type='预约计划'
569
- this.createPlan.f_subcompany=this.userlogin.orgstr
570
- this.createPlan.f_filialeid=this.userlogin.orgid
571
- this.createPlan.f_create_operator=this.userlogin.name
572
- this.createPlan.f_create_time=Util.toStandardTimeString()
573
- await new HttpResetClass().load('POST',"/api/af-safecheck/logic/createCheckPlan", {"data": this.createPlan},{resolveMsg : '新建计划成功!', rejectMsg : '新建计划失败!'})
574
- //await this.loadCheckPlan('',()=>{})
575
- this.createPlan={
576
- f_plan_name:'',
577
- f_plan_year:'',
578
- f_plan_month:'',
579
- isShare:'否',
580
- f_issued:'否',
581
- f_checker_id:null,
582
- checker:{},
583
- checkers:[],
584
- f_checker:null,
585
- f_checkerstr:null,
586
- f_safecheck_type:'',
587
- f_create_operator:''
588
- }
589
- await this.loadCheckPlan()
590
- this.isSend=false
591
-
592
- },
593
- validationCreatePlan(){
594
- if(!this.createPlan.f_plan_name){
595
- Vue.showMessage("请输入安检计划名称!")
596
- return false
597
- }
598
- if(!this.createPlan.f_plan_year){
599
- Vue.showMessage("请选择安检年份!")
600
- return false
601
- }
602
- if(!this.createPlan.f_plan_month){
603
- Vue.showMessage("请选择安检月份!")
604
- return false
605
- }
606
- if(this.createPlan.isShare=="否"){
607
- if(JSON.stringify(this.createPlan.checker)=='{}'){
608
- Vue.showMessage("请选择安检人员!")
609
- return false
610
- }
611
- }else{
612
- this.createPlan.f_checker=''
613
- }
614
- if(!this.createPlan.f_safecheck_type){
615
- Vue.showMessage("请选择安检类型!")
616
- return false
617
- }
618
- return true
619
- },
620
- //查询安检员selectChanged
621
- async searchChecker(id){
622
- let res=await new HttpResetClass().load('POST', '/rs/search', {
623
- data:{
624
- source: `this.getSpecialResByType($user$).where(row.getAttributes().get($rolestr$)!=null ).where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1)`,
625
- userid: this.userlogin.orgid
626
- }
627
- }, {resolveMsg: null, rejectMsg: null})
628
- let arr = []
629
- res.data.forEach((resRow) => {
630
- if (!arr.includes(resRow.name) && resRow.state == '在职'){
631
- arr.push(resRow.name)
632
- this.checker.push({label:resRow.name,value:resRow})
633
- }
634
- })
635
- },
636
- //设置属性值
637
- setProperty(modulename, property, value) {
638
- console.log(modulename+"新添--"+property+"--"+value)
639
- if(value=='全部'){
640
- this[modulename].search.setField(property, '')
641
- }else{
642
- this[modulename].search.setField(property, value)
643
- }
644
- },
645
- //按条件查询所有安检计划
646
- async loadCheckPlan() {
647
- this.isSend=true
648
- this.checkplan.check.checkescheckes=[]
649
- let fieldValue=''
650
- switch(this.currentorder){
651
- case "按时间降序":
652
- fieldValue='f_create_time desc'
653
- break
654
- case "按时间升序":
655
- fieldValue='f_create_time'
656
- break
657
- }
658
- console.log("--------fieldValue"+fieldValue)
659
- this.cancel()
660
- await this.checkplan.searchList("/api/af-safecheck/sql/预约计划下发",
661
- {"f_plan_name": "f_plan_name like '%{}%'",
662
- "f_plan_year":"f_plan_year={}",
663
- "f_plan_month":"f_plan_month={}",
664
- "checkerid":"f_checker_id='{}'",
665
- "isAndNot":"f_checker {}",
666
- "safechecktype":"f_safecheck_type='{}'",
667
- "issude":"f_issued = '{}'",
668
- "f_create_operator": "f_create_operator like '%{}%'"
669
- },
670
- {orderitem:fieldValue,
671
- f_filialeids:"('"+this.userlogin.orgid+"')",
672
- groupitem:""
673
- }
674
- )
675
-
676
- this.isSend=false
677
- },
678
- //加载更多数据
679
- async loadMore(modelname) {
680
- this.isSend=true
681
- await this[modelname].list.loadMore()
682
- this.isSend=false
683
- },
684
- showUpPlans(row){
685
- this.upCheckPlan.id=row.id
686
- this.upCheckPlan.f_safecheck_type=row.f_safecheck_type
687
- this.upCheckPlan.f_plan_name=row.f_plan_name
688
- this.upCheckPlan.f_plan_year=row.f_plan_year
689
- this.upCheckPlan.f_plan_month=row.f_plan_month
690
- this.upCheckPlan.f_checker_id=row.f_checker_id?row.f_checker_id:null
691
- this.upCheckPlan.f_checker=row.f_checker?row.f_checker:null
692
- this.upCheckPlan.isShare=row.f_checker_id?'否':'是'
693
- this.upCheckPlan.f_issued=row.f_issued
694
- this.upCheckPlan.checker={id:row.f_checker_id,name:row.f_checker}
695
- this.showUpPlan=true
696
- },
697
- async upPlan(){
698
- if(this.upCheckPlan.f_issued=='已下发'){
699
- this.$showMessage("该计划已下发,无法进行修改!")
700
- return
701
- }
702
- if(!this.upCheckPlan.f_plan_name){
703
- Vue.showMessage("请输入安检计划名称!")
704
- return false
705
- }
706
- if(!this.upCheckPlan.f_plan_year){
707
- Vue.showMessage("请选择安检年份!")
708
- return false
709
- }
710
- if(!this.upCheckPlan.f_plan_month){
711
- Vue.showMessage("请选择安检月份!")
712
- return false
713
- }
714
- console.log(this.upCheckPlan)
715
-
716
- if(this.upCheckPlan.isShare=="是"){
717
- if(this.ismulchecker && this.upCheckPlan.checkers.length > 0){
718
- this.upCheckPlan.checkers.forEach((value) => {
719
- this.upCheckPlan.f_checkerstr += `${value.name},`
720
- })
721
- this.upCheckPlan.f_checkerstr = this.upCheckPlan.f_checkerstr.slice(0, -1)
722
- }
723
- this.upCheckPlan.f_checker_id=null
724
- this.upCheckPlan.f_checker=null
725
- }else{
726
- this.upCheckPlan.f_checker_id=this.upCheckPlan.checker.id
727
- this.upCheckPlan.f_checker=this.upCheckPlan.checker.name
728
- }
729
- this.isSend=true
730
- let res=await new HttpResetClass().load("POST", "/api/af-safecheck/logic/updateCheckPlan", {
731
- data:{
732
- checkers:this.createPlan.checkers,
733
- f_checkerstr:this.createPlan.f_checkerstr,
734
- f_checker:this.upCheckPlan.f_checker,
735
- f_safecheck_type:this.upCheckPlan.f_safecheck_type,
736
- f_checker_id:this.upCheckPlan.f_checker_id,
737
- f_plan_name:this.upCheckPlan.f_plan_name,
738
- f_plan_year:this.upCheckPlan.f_plan_year,
739
- f_plan_month:this.upCheckPlan.f_plan_month,
740
- f_plan_id:this.upCheckPlan.id
741
- }
742
- }, {resolveMsg: null, rejectMsg: null})
743
- if(res.data.code==200){
744
- this.$showMessage("修改成功!")
745
- this.cancel()
746
- await this.loadCheckPlan()
747
- }else{
748
- this.$showMessage("修改失败!")
749
- }
750
- this.isSend=false
751
- },
752
- //下发安检计划
753
- async sendCheckPlan(f){
754
- if(this.checkplan.check.checkes.length<1){
755
- this.$showMessage("请选择要下发的安检计划")
756
- return
757
- }
758
- this.isSend=true
759
- let res=await new HttpResetClass().load("POST", "/api/af-safecheck/logic/NewBespeakCheckPlan", {
760
- data:{
761
- f_issued:'是',
762
- f_issue_time:Util.toStandardTimeString(),
763
- f_send_operator:this.userlogin.name,
764
- param:this.checkplan.check.checkes,
765
- }
766
- }, {resolveMsg: null, rejectMsg: null})
767
- if(res.data.code==200){
768
- //Vue.showMessage("下发成功!其中有"+res.data.repet+"个计划己经是下发状态")
769
- this.$showMessage("下发成功!")
770
- }else{
771
- this.$showMessage("下发失败!")
772
- }
773
- await this.loadCheckPlan()
774
- this.isSend=false
775
- },
776
- //删除安检计划
777
- async delCheckPlan(f){
778
- if(this.checkplan.check.checkes.length<1){
779
- this.$showMessage("请选择要删除的安检计划")
780
- return
781
- }
782
- this.isSend=true
783
- let res=await new HttpResetClass().load("POST", "/api/af-safecheck/logic/deleteCheckPlan", {
784
- data:{
785
- f_operator:this.userlogin.name,//global.login.name,
786
- condition:"",
787
- switchCheckAll:true,
788
- checkAll:false,
789
- param:this.checkplan.check.checkes,
790
- columnName: "f_plan_id"
791
- }
792
- }, {resolveMsg: null, rejectMsg: null})
793
- console.log(JSON.stringify(res))
794
- if(res.data.code==200){
795
- this.$showMessage("删除成功!")
796
- }else{
797
- this.$showMessage("删除失败!")
798
- }
799
- if(this.checkplan.check.checkes.indexOf(this.selectPlan.id)!= -1){
800
- this.selectPlan={id:''}
801
- console.log("包含了清空selectplan")
802
- }
803
- await this.loadCheckPlan()
804
- this.isSend=false
805
- },
806
- async refresh(){
807
- this.$refs.item.$refs.paged.$refs.criteria.search()
808
- this.$refs.user.$refs.paged.$refs.criteria.search()
809
- await this.loadCheckPlan()
810
- },
811
- async refreshPlan(){
812
- this.$refs.item.$refs.paged.$refs.criteria.search()
813
- await this.loadCheckPlan()
814
- }
815
- }
816
- }
817
- </script>
818
-
819
- <style scoped>
820
- .safe-planfont{
821
- font-family: MicrosoftYaHei;
822
- font-size: 15px;
823
- font-weight: normal;
824
- font-stretch: normal;
825
- letter-spacing: 2px;
826
- color: #333333;
827
- line-height: 25px;
828
- }
829
- .safe-bodyfont{
830
- font-family: MicrosoftYaHei;
831
- font-size: 14px;
832
- font-weight: normal;
833
- font-stretch: normal;
834
- letter-spacing: 0px;
835
- color: #999999;
836
- line-height: 30px;
837
- }
838
- .safe-leftplan{
839
- height:auto;
840
- border-bottom:1px solid #ececec;
841
- padding: 10px 5px
842
- }
843
- .leftplan-center{
844
- border-top:1px solid #ececec;
845
- border-bottom:1px solid #ececec;
846
- }
847
- .safe_p{
848
- white-space: nowrap;
849
- overflow: hidden;
850
- text-overflow: ellipsis;
851
- }
852
- .safe-div-p{
853
- color: #4792de;
854
- text-align: end;
855
- padding: 8px 15px;
856
- }
857
- .safe_list_li:hover{
858
- background-color: rgb(245,246,247);
859
- }
860
- .safe-selectplan{
861
- pointer-events: none;
862
- background-color: rgb(216,234,251);
863
- }
864
- .safe_plan_list{
865
- height: 80%;
866
- overflow: scroll;
867
- }
868
-
869
- </style>
870
- <style>
871
- .safe_plan_list::-webkit-scrollbar{
872
- background-color: #F5F5F5;
873
- }
874
-
875
- /*定义滚动条轨道 内阴影+圆角*/
876
- .safe_plan_list::-webkit-scrollbar-track{
877
- -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
878
- border-radius: 10px;
879
- background-color: #F5F5F5;
880
- }
881
-
882
- /*定义滑块 内阴影+圆角*/
883
- .safe_plan_list::-webkit-scrollbar-thumb{
884
- border-radius: 10px;
885
- -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
886
- background-color: #F5F5F5;
887
- }
888
- </style>
1
+ <template>
2
+ <work-busy :is-busy="isSend"></work-busy>
3
+ <div class="binary" style="background-color: #e8f4ff">
4
+ <!--左侧安检计划列表******************************************************-->
5
+ <div class="binary-left flex flex-column" style="width: 16%">
6
+ <div style="height: 9%">
7
+ <div class="row auto">
8
+ <img style="width: 20px;margin: 0 5px" src="../../../static/images/searchhover.png" @click="showUserCondition()"/>
9
+ <v-select :width="'80%'"
10
+ class="select select_list"
11
+ :search="false"
12
+ :value.sync="currentorder"
13
+ v-model="currentorder"
14
+ @change="loadCheckPlan"
15
+ :options='opt'
16
+ close-on-select value-single >
17
+ </v-select>
18
+ </div>
19
+ <div class="row auto safe-div-p"><!--<span style="margin-right: 5px" @click="refresh()" style="cursor:default">测试</span>--><span style="margin-right: 5px" @click="delCheckPlan()" style="cursor:default" v-if="isdelete">删除</span> <span @click="sendCheckPlan()" style="cursor:default">下发</span></div>
20
+ </div>
21
+ <div class="leftplan-center safe_plan_list">
22
+ <div class="row safe-leftplan safe_list_li" :class="{'safe-selectplan':selectPlan.id==row.id}" v-for="row in checkplan.list.data" @click="selectPlanChange(row)">
23
+ <table style="width:100%;table-layout:fixed" >
24
+ <tr class="safe-planfont">
25
+ <td rowspan="6"><input type="checkbox" style="pointer-events:auto" v-show="row.plan_count==0 || row.f_issued=='未下发'" onClick="event.cancelBubble = true" :checked="checkplan.check.isChecked(row.f_check_item_id)" @change="checkplan.check.setCheckes(row.id)"/></td>
26
+ <td colspan="6" class="safe_p">{{row.f_plan_name}}</td>
27
+ <td colspan="2" style="text-align: center"><img width="20px" style="pointer-events:auto" onClick="event.cancelBubble = true" @click="showUpPlans(row)" src="../../../static/images/edit.png"/></td>
28
+ </tr>
29
+ <tr class="safe-bodyfont" style="color:#4792de">
30
+ <td colspan="6">{{row.f_issued}}</td>
31
+ <td colspan="2" class="safe_p">{{row.f_checker?row.f_checker:'共享'}}</td>
32
+ </tr>
33
+ <tr class="safe-bodyfont">
34
+ <td colspan="4">{{row.f_plan_year}}-{{row.f_plan_month}}</td>
35
+ <td colspan="2">总 :</td>
36
+ <td colspan="2">{{row.plan_count}}</td>
37
+ </tr>
38
+ <tr class="safe-bodyfont">
39
+ <td colspan="2">未检 :</td>
40
+ <td colspan="2">{{row.unchecked}}</td>
41
+ <td colspan="2">已检 :</td>
42
+ <td colspan="2">{{row.checked}}</td>
43
+ </tr>
44
+ <tr class="safe-bodyfont" v-if="row.f_create_time">
45
+ <td colspan="3">创建时间 :</td>
46
+ <td colspan="5" style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;" :title="row.f_create_time">{{row.f_create_time}}</td>
47
+ </tr>
48
+ <tr class="safe-bodyfont" v-if="row.f_safecheck_type">
49
+ <td colspan="3">安检类型 :</td>
50
+ <td colspan="5" style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;" :title="row.f_safecheck_type">{{row.f_safecheck_type}}</td>
51
+ </tr>
52
+ </table>
53
+ </div>
54
+ </div>
55
+ <div style="height: 11%">
56
+ <div class="row auto leftplan-center" style="padding: 8px">
57
+ <div class="col-sm-6" style="">
58
+ <span>共{{checkplan.list.count}}条</span>
59
+ </div>
60
+ <div class="col-sm-6" style="text-align: end">
61
+ <span @click="loadMore('checkplan')"><img src="../../../static/images/doubledown.png"/>&ensp;更多</span>
62
+ </div>
63
+ </div>
64
+ <div class="row auto" style="padding: 10px;text-align: center">
65
+ <img src="../../../static/images/addnew.png" @click="showcCreatePlan()"/>
66
+ </div>
67
+ </div>
68
+ </div>
69
+ <!--右侧列表**************************************************************************-->
70
+ <div class="binary-right" style="width: 84%;overflow: auto">
71
+ <div style="height: 5%">
72
+ <div class="col-sm-4">
73
+ <label class="font_normal_body">公&emsp;&emsp;司</label>
74
+ <right-tree-safe :islist="false" :width="'60%'" @re-res="getRes"></right-tree-safe>
75
+ </div>
76
+ </div>
77
+ <div style="height: 95%">
78
+ <div style="height: 50%" class="leftplan-center">
79
+ <check-plan-list :selectplan="selectPlan" :userlogin="userlogin" v-ref:item></check-plan-list>
80
+ </div>
81
+ <div style="height: 50%">
82
+ <check-user-list :selectplan="selectPlan" :userlogin="userlogin" v-ref:user></check-user-list>
83
+ </div>
84
+ </div>
85
+ </div>
86
+ <modal :show.sync="showCondtion" v-ref:modal :width="'50%'" :backdrop="false">
87
+ <div slot="modal-header" class="modal-header">
88
+ <h4 class="modal-title">
89
+ 计划查询条件
90
+ </h4>
91
+ </div>
92
+ <div slot="modal-body" class="modal-body">
93
+ <div class="row">
94
+ <div class="form-group col-sm-4" >
95
+ <label class="font_normal_body">计划名称:</label>
96
+ <input type="text" class="input_search" v-model="planCondition.f_plan_name" @change="setProperty('checkplan','f_plan_name',planCondition.f_plan_name)"
97
+ style="width: 60%" placeholder="请选择" />
98
+ </div>
99
+ <div class="form-group col-sm-4" >
100
+ <label class="font_normal_body">计划年份:</label>
101
+ <v-select
102
+ class="select select_list"
103
+ :value.sync="planCondition.f_plan_year"
104
+ v-model="planCondition.f_plan_year"
105
+ @change="setProperty('checkplan','f_plan_year',planCondition.f_plan_year)"
106
+ :search="false"
107
+ :options='getConList("yearList")'
108
+ placeholder='请选择'
109
+ close-on-select
110
+ value-single
111
+ >
112
+ </v-select>
113
+ </div>
114
+ <div class="form-group col-sm-4" >
115
+ <label class="font_normal_body">计划月份:</label>
116
+ <v-select
117
+ class="select select_list"
118
+ :value.sync="planCondition.f_plan_month"
119
+ v-model="planCondition.f_plan_month"
120
+ @change="setProperty('checkplan','f_plan_month',planCondition.f_plan_month)"
121
+ :search="false"
122
+ :options='getConList("monthList")'
123
+ placeholder='请选择'
124
+ close-on-select
125
+ value-single>
126
+ </v-select>
127
+ </div>
128
+ <div class="form-group col-sm-4" >
129
+ <label class="font_normal_body">是否共享:</label>
130
+ <v-select
131
+ class="select select_list"
132
+ :value.sync="planCondition.isShare"
133
+ v-model="planCondition.isShare"
134
+ @change="setProperty('checkplan','isAndNot',planCondition.isShare)"
135
+ :options='getConList("conIsAndNot")'
136
+ :search="false"
137
+ placeholder='请选择'
138
+ close-on-select
139
+ value-single
140
+ >
141
+ </v-select>
142
+ </div>
143
+ <div class="form-group col-sm-4" >
144
+ <label class="font_normal_body">是否下发:</label>
145
+ <v-select
146
+ class="select select_list"
147
+ :value.sync="planCondition.issued"
148
+ v-model="planCondition.issued"
149
+ :options='getConList("isAndNot")'
150
+ @change="setProperty('checkplan','issude',planCondition.issued)"
151
+ placeholder='请选择'
152
+ :search="false"
153
+ close-on-select
154
+ value-single
155
+ >
156
+ </v-select>
157
+ </div>
158
+ <div class="form-group col-sm-4" >
159
+ <label class="font_normal_body">安&ensp;检&ensp;员:</label>
160
+ <v-select
161
+ class="select select_list"
162
+ :value.sync="planCondition.f_checker"
163
+ v-model="planCondition.f_checker"
164
+ @change="setProperty('checkplan','checkerid',planCondition.f_checker.id)"
165
+ :options='getConList("checker")'
166
+ placeholder='请选择'
167
+ close-on-select
168
+ value-single
169
+ >
170
+ </v-select>
171
+ </div>
172
+
173
+ <div class="form-group col-sm-4" >
174
+ <label class="font_normal_body">安检类型:</label>
175
+ <v-select
176
+ class="select select_list"
177
+ :value.sync="planCondition.f_safecheck_type"
178
+ v-model="planCondition.f_safecheck_type"
179
+ @change="setProperty('checkplan','safechecktype',planCondition.f_safecheck_type)"
180
+ :options='getConList("safechecktype")'
181
+ placeholder='请选择'
182
+ :search="false"
183
+ close-on-select
184
+ value-single
185
+ >
186
+ </v-select>
187
+ </div>
188
+ <div class="form-group col-sm-4" >
189
+ <label class="font_normal_body">创&ensp;建&ensp;人:</label>
190
+ <input type="text" class="input_search" v-model="planCondition.f_create_operator" @change="setProperty('checkplan','f_create_operator',planCondition.f_create_operator)"
191
+ style="width: 60%" placeholder="创建人" />
192
+ </div>
193
+ </div>
194
+ </div>
195
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
196
+ <button class="button_search" @click="loadCheckPlan" style="margin-right: 15px">查询</button>
197
+ <button class="button_search" @click="cancel">取消</button>
198
+ </div>
199
+ </modal>
200
+ <modal :show.sync="showCreatePlan" v-ref:modal1 :width="'50%'" :backdrop="false">
201
+ <div slot="modal-header" class="modal-header">
202
+ <h4 class="modal-title">
203
+ 新建计划
204
+ </h4>
205
+ </div>
206
+ <div slot="modal-body" class="modal-body">
207
+ <div class="row">
208
+ <div class="form-group col-sm-4" >
209
+ <label class="font_normal_body">计划名称:</label>
210
+ <input type="text" class="input_search" v-model="createPlan.f_plan_name"
211
+ style="width: 60%" placeholder="请选择" />
212
+ </div>
213
+ <div class="form-group col-sm-4" >
214
+ <label class="font_normal_body">计划年份:</label>
215
+ <v-select
216
+ class="select select_list"
217
+ :value.sync="createPlan.f_plan_year"
218
+ v-model="createPlan.f_plan_year"
219
+ :search="false"
220
+ :options='yearList'
221
+ placeholder='请选择'
222
+ close-on-select
223
+ value-single
224
+ >
225
+ </v-select>
226
+ </div>
227
+ <div class="form-group col-sm-4" >
228
+ <label class="font_normal_body">计划月份:</label>
229
+ <v-select
230
+ class="select select_list"
231
+ :value.sync="createPlan.f_plan_month"
232
+ v-model="createPlan.f_plan_month"
233
+ :search="false"
234
+ :options='monthList'
235
+ placeholder='请选择'
236
+ close-on-select
237
+ value-single>
238
+ </v-select>
239
+ </div>
240
+ <div class="form-group col-sm-4" >
241
+ <label class="font_normal_body">是否共享:</label>
242
+ <v-select
243
+ class="select select_list"
244
+ :search="false"
245
+ :value.sync="createPlan.isShare"
246
+ v-model="createPlan.isShare"
247
+ :options='isAndNot'
248
+ placeholder='请选择'
249
+ close-on-select
250
+ value-single
251
+ >
252
+ </v-select>
253
+ </div>
254
+ <div class="form-group col-sm-4" v-show="createPlan.isShare=='是' && ismulchecker">
255
+ <label class="font_normal_body">安&ensp;检&ensp;员:</label>
256
+ <v-select
257
+ class="select select_list"
258
+ :value.sync="createPlan.checkers"
259
+ v-model="createPlan.checkers"
260
+ :options='checker'
261
+ placeholder='请选择'
262
+ :multiple="true"
263
+ >
264
+ </v-select>
265
+ </div>
266
+ <div class="form-group col-sm-4" v-show="createPlan.isShare=='否'">
267
+ <label class="font_normal_body">安&ensp;检&ensp;员:</label>
268
+ <v-select
269
+ class="select select_list"
270
+ :value.sync="createPlan.checker"
271
+ v-model="createPlan.checker"
272
+ :options='checker'
273
+ placeholder='请选择'
274
+ close-on-select
275
+ value-single
276
+ >
277
+ </v-select>
278
+ </div>
279
+
280
+ <div class="form-group col-sm-4" >
281
+ <label class="font_normal_body">安检类型:</label>
282
+ <v-select
283
+ class="select select_list"
284
+ :value.sync="createPlan.f_safecheck_type"
285
+ v-model="createPlan.f_safecheck_type"
286
+ :search="false"
287
+ :options='ntoway'
288
+ placeholder='请选择'
289
+ close-on-select
290
+ value-single
291
+ >
292
+ </v-select>
293
+ </div>
294
+ </div>
295
+ </div>
296
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
297
+ <button class="button_search" style="margin-right: 15px" @click="addNewPlan()">创建计划</button>
298
+ <button class="button_search" @click="cancel">取消</button>
299
+ </div>
300
+ </modal>
301
+ <modal :show.sync="showUpPlan" v-ref:modal2 :backdrop="false">
302
+ <div slot="modal-header" class="modal-header">
303
+ <h4 class="modal-title">
304
+ 修改计划
305
+ </h4>
306
+ </div>
307
+ <div slot="modal-body" class="modal-body">
308
+ <div class="row">
309
+ <div class="form-group col-sm-4" >
310
+ <label class="font_normal_body">计划名称:</label>
311
+ <input type="text" class="input_search" v-model="upCheckPlan.f_plan_name"
312
+ style="width: 60%" />
313
+ </div>
314
+ <div class="form-group col-sm-4" >
315
+ <label class="font_normal_body">计划年份:</label>
316
+ <v-select
317
+ class="select select_list"
318
+ :value.sync="upCheckPlan.f_plan_year"
319
+ v-model="upCheckPlan.f_plan_year"
320
+ :search="false"
321
+ :value="upCheckPlan.f_plan_year"
322
+ :options='yearList'
323
+
324
+ close-on-select
325
+ value-single>
326
+
327
+
328
+ </v-select>
329
+ <!-- <datepicker
330
+ placeholder='请选择'
331
+ style="width:60%"
332
+ :disabled-days-of-week="[]"
333
+ :format="'yyyy'"
334
+ :show-rest-button="reset"
335
+ :value.sync="upCheckPlan.f_plan_year"
336
+ v-model="upCheckPlan.f_plan_year">
337
+ </datepicker>-->
338
+ </div>
339
+ <div class="form-group col-sm-4" >
340
+ <label class="font_normal_body">计划月份:</label>
341
+ <v-select
342
+ class="select select_list"
343
+ :value.sync="upCheckPlan.f_plan_month"
344
+ v-model="upCheckPlan.f_plan_month"
345
+
346
+ :options='monthList'
347
+ close-on-select
348
+ value-single>
349
+ </v-select>
350
+ </div>
351
+ <div class="form-group col-sm-4" >
352
+ <label class="font_normal_body">是否共享:</label>
353
+ <v-select
354
+ class="select select_list"
355
+ :search="false"
356
+ :value.sync="upCheckPlan.isShare"
357
+ v-model="upCheckPlan.isShare"
358
+ :options='isAndNot'
359
+ placeholder='请选择'
360
+ close-on-select
361
+ value-single
362
+ >
363
+ </v-select>
364
+ </div>
365
+ <div class="form-group col-sm-4" v-show="upCheckPlan.isShare=='是' && ismulchecker">
366
+ <label class="font_normal_body">安&ensp;检&ensp;员:</label>
367
+ <v-select
368
+ class="select select_list"
369
+ :value.sync="upCheckPlan.checkers"
370
+ v-model="upCheckPlan.checkers"
371
+ :options='checker'
372
+ placeholder='请选择'
373
+ :multiple="true"
374
+ >
375
+ </v-select>
376
+ </div>
377
+ <div class="form-group col-sm-4" v-show="upCheckPlan.isShare=='否'">
378
+ <label class="font_normal_body">安&ensp;检&ensp;员:</label>
379
+ <v-select
380
+ class="select select_list"
381
+ :value.sync="upCheckPlan.checker"
382
+ v-model="upCheckPlan.checker"
383
+ :options='checker'
384
+ close-on-select
385
+ value-single
386
+ >
387
+ </v-select>
388
+ </div>
389
+
390
+ <div class="form-group col-sm-4">
391
+ <label class="font_normal_body">安检类型:</label>
392
+ <v-select
393
+ class="select select_list"
394
+ :value.sync="upCheckPlan.f_safecheck_type"
395
+ v-model="upCheckPlan.f_safecheck_type"
396
+ :options='ntoway'
397
+ close-on-select
398
+ value-single
399
+ >
400
+ </v-select>
401
+ </div>
402
+ </div>
403
+ </div>
404
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
405
+ <button class="button_search" style="margin-right: 15px" @click="upPlan()">保存修改</button>
406
+ <button class="button_search" @click="cancel">取消</button>
407
+ </div>
408
+ </modal>
409
+ </div>
410
+ </template>
411
+
412
+ <script>
413
+ import {SearchList,HttpResetClass, PagedList} from "vue-client";
414
+ import * as Util from "../Util";
415
+ import Vue from "vue";
416
+ import AppData from "../../stores/AppData";
417
+
418
+ export default {
419
+ name: "PlanManage",
420
+ title: '计划管理',
421
+ data() {
422
+ return {
423
+ ismulchecker:this.$appdata.getSingleValue('计划安检员多选')?true:false,
424
+ a:'1',
425
+ opt:[{label:"按时间降序",value:"按时间降序"},{label:"按时间升序",value:"按时间升序"}],
426
+ currentorder:'按时间降序',
427
+ isdelete:this.$login.r ? this.$login.r.includes("安检计划删除"):false,
428
+ checkplan : new SearchList(true),
429
+ selectPlan:{id:''},
430
+ upCheckPlan:{
431
+ f_plan_name:'',
432
+ f_safecheck_type:'',
433
+ f_plan_year:'',
434
+ f_plan_month:'',
435
+ f_checker_id:'',
436
+ isShare:'',
437
+ f_checker:'',
438
+ f_checkerstr:'',
439
+ checker:{},
440
+ checkers:[]
441
+ },
442
+ isSend:false,
443
+ createPlan:{
444
+ f_plan_name:'',
445
+ f_plan_year:'',
446
+ f_plan_month:'',
447
+ isShare:'否',
448
+ f_issued:'否',
449
+ f_checker_id:null,
450
+ checker:{},
451
+ checkers:[],
452
+ f_checker:null,
453
+ f_checkerstr:null,
454
+ f_safecheck_type:'',
455
+ },
456
+ planCondition:{},
457
+ showCondtion:false,
458
+ showCreatePlan:false,
459
+ showUpPlan:false,
460
+ isAndNot:[{label:'是',value:'是'},{label:'否',value:'否'}],
461
+ conIsAndNot:[{label:'是',value:'is null'},{label:'否',value:'is not null'}],
462
+ yearList:[{label:2020,value:2020},{label:2021,value:2021},{label:2022,value:2022},{label:2023,value:2023},{label:2024,value:2024},{label:2025,value:2025},{label:2026,value:2026},{label:2027,value:2027},{label:2028,value:2028},{label:2029,value:2029},{label:2030,value:2030}],
463
+ monthList:[{label:"1",value:1},{label:"2",value:2},{label:"3",value:3},{label:"4",value:4},{label:"5",value:5},{label:"6",value:6},{label:"7",value:7},{label:"8",value:8},{label:"9",value:9},{label:"10",value:10},{label:"11",value:11},{label:"12",value:12}],
464
+ safechecktype:[{label:'年度普检',value:'年度普检'}],
465
+ checker:[],
466
+ checkertCon:[],
467
+ userlogin:{
468
+ id:this.$login.f.id,
469
+ name:this.$login.f.name,
470
+ orgid:this.$login.f.orgid,
471
+ orgstr:this.$login.f.orgs,
472
+ }
473
+ //需要测试直接把下面放开即可
474
+ /*userlogin:{
475
+ id:'141701',
476
+ name:'hwq',
477
+ orgid:'35526',
478
+ orgstr:'西华县天然气有限公司'
479
+ }*/
480
+ }
481
+ },
482
+ async ready(){
483
+ await this.loadpage()
484
+ if (!this.userlogin.orgid){
485
+ if (this.$login.f.f_orgids){
486
+ this.userlogin.orgid = this.$login.f.f_orgids.endsWith('.')?this.$login.f.f_orgids.substring(0,this.$login.f.f_orgids.length-1):this.$login.f.f_orgids
487
+ }else {
488
+ this.userlogin.orgid = ''
489
+ }
490
+ }
491
+ },
492
+ computed: {
493
+ ntoway() {
494
+ /*/!* return AppData.getParam('安检类型')*!/*/
495
+ return this.$appdata.getParam('安检类型')
496
+ }
497
+ },
498
+ methods:{
499
+ /* ntoway() {
500
+ /!* return AppData.getParam('安检类型')*!/
501
+ return Vue.$appdata.getParam('安检类型')
502
+ },*/
503
+ async loadpage(){
504
+ //await this.checkplan.searchList("/api/af-safecheck/sql/预约计划下发", {},{groupitem:"",f_filialeids:"('"+this.userlogin.orgid+"')",orderitem:"f_create_time desc"})
505
+ await this.loadCheckPlan()
506
+ await this.searchChecker(this.userlogin.id)
507
+ },
508
+ getRes(obj) {
509
+ console.log("----obj"+JSON.stringify(obj.resids))
510
+ console.log(obj)
511
+ if(obj.resids.length>0 && obj.resids[0]!=this.userlogin.orgid && obj.resids[0]){
512
+ this.userlogin.orgid=obj.resids[0]
513
+ this.userlogin.orgstr=obj.res[0]
514
+ if(this.$refs.item && this.$refs.user){
515
+ this.loadpage()
516
+ this.selectPlan={id:""}
517
+ this.$refs.item.model.rows=[]
518
+ this.$refs.user.model.rows=[]
519
+ this.$refs.user.loadpage()
520
+ }
521
+ }
522
+ },
523
+ getConList(field){
524
+ return [{label:'全部',value:''}, ...this[field]]
525
+ },
526
+ selectPlanChange(plan){
527
+ this.selectPlan=plan
528
+ //this.upCheckPlan=plan
529
+ },
530
+ showUserCondition(){
531
+ this.showCondtion=true
532
+ },
533
+ showcCreatePlan(){
534
+ this.showCreatePlan=true
535
+ },
536
+ cancel(){
537
+ this.showCondtion=false
538
+ this.showCreatePlan=false
539
+ this.showUpPlan=false
540
+ },
541
+ //新建计划
542
+ async addNewPlan() {
543
+ if(!this.validationCreatePlan()){
544
+ return
545
+ }
546
+ this.isSend=true
547
+ let res=await new HttpResetClass().load("POST","/api/af-safecheck/sql/getCheckplan", {data: {condition:"f_plan_name='"+this.createPlan.f_plan_name+"'",sortfield:'f_create_time desc'}})
548
+ console.log("结果-"+res.data.length)
549
+ if(res.data.length>0){
550
+ Vue.showMessage("计划名称不能重复!")
551
+ this.isSend=false
552
+ return
553
+ }
554
+ if(this.createPlan.isShare=="是"){
555
+ if(this.ismulchecker && this.createPlan.checkers.length > 0){
556
+ this.createPlan.checkers.forEach((value) => {
557
+ this.createPlan.f_checkerstr += `${value.name},`
558
+ })
559
+ this.createPlan.f_checkerstr = this.createPlan.f_checkerstr.slice(0, -1)
560
+ }
561
+ this.createPlan.f_checker_id=null
562
+ this.createPlan.f_checker=null
563
+ }else{
564
+ this.createPlan.f_checker_id=this.createPlan.checker.id
565
+ this.createPlan.f_checker=this.createPlan.checker.name
566
+ }
567
+ console.log("this.createPlan.f_checker:"+this.createPlan.f_checker)
568
+ this.createPlan.f_plan_type='预约计划'
569
+ this.createPlan.f_subcompany=this.userlogin.orgstr
570
+ this.createPlan.f_filialeid=this.userlogin.orgid
571
+ this.createPlan.f_create_operator=this.userlogin.name
572
+ this.createPlan.f_create_time=Util.toStandardTimeString()
573
+ await new HttpResetClass().load('POST',"/api/af-safecheck/logic/createCheckPlan", {"data": this.createPlan},{resolveMsg : '新建计划成功!', rejectMsg : '新建计划失败!'})
574
+ //await this.loadCheckPlan('',()=>{})
575
+ this.createPlan={
576
+ f_plan_name:'',
577
+ f_plan_year:'',
578
+ f_plan_month:'',
579
+ isShare:'否',
580
+ f_issued:'否',
581
+ f_checker_id:null,
582
+ checker:{},
583
+ checkers:[],
584
+ f_checker:null,
585
+ f_checkerstr:null,
586
+ f_safecheck_type:'',
587
+ f_create_operator:''
588
+ }
589
+ await this.loadCheckPlan()
590
+ this.isSend=false
591
+
592
+ },
593
+ validationCreatePlan(){
594
+ if(!this.createPlan.f_plan_name){
595
+ Vue.showMessage("请输入安检计划名称!")
596
+ return false
597
+ }
598
+ if(!this.createPlan.f_plan_year){
599
+ Vue.showMessage("请选择安检年份!")
600
+ return false
601
+ }
602
+ if(!this.createPlan.f_plan_month){
603
+ Vue.showMessage("请选择安检月份!")
604
+ return false
605
+ }
606
+ if(this.createPlan.isShare=="否"){
607
+ if(JSON.stringify(this.createPlan.checker)=='{}'){
608
+ Vue.showMessage("请选择安检人员!")
609
+ return false
610
+ }
611
+ }else{
612
+ this.createPlan.f_checker=''
613
+ }
614
+ if(!this.createPlan.f_safecheck_type){
615
+ Vue.showMessage("请选择安检类型!")
616
+ return false
617
+ }
618
+ return true
619
+ },
620
+ //查询安检员selectChanged
621
+ async searchChecker(){
622
+ console.log(this.$login.f.orgid)
623
+ debugger
624
+ let res=await new HttpResetClass().load('POST', '/rs/search', {
625
+ data:{
626
+ source: `root.getResourceById($${this.$login.f.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1)`,
627
+ userid: this.$login.f.id
628
+ }
629
+ }, {resolveMsg: null, rejectMsg: null})
630
+ res.data.forEach((resRow) => {
631
+ this.checker.push({label:resRow.name,value:resRow})
632
+ })
633
+ },
634
+ //设置属性值
635
+ setProperty(modulename, property, value) {
636
+ console.log(modulename+"新添--"+property+"--"+value)
637
+ if(value=='全部'){
638
+ this[modulename].search.setField(property, '')
639
+ }else{
640
+ this[modulename].search.setField(property, value)
641
+ }
642
+ },
643
+ //按条件查询所有安检计划
644
+ async loadCheckPlan() {
645
+ this.isSend=true
646
+ this.checkplan.check.checkescheckes=[]
647
+ let fieldValue=''
648
+ switch(this.currentorder){
649
+ case "按时间降序":
650
+ fieldValue='f_create_time desc'
651
+ break
652
+ case "按时间升序":
653
+ fieldValue='f_create_time'
654
+ break
655
+ }
656
+ console.log("--------fieldValue"+fieldValue)
657
+ this.cancel()
658
+ await this.checkplan.searchList("/api/af-safecheck/sql/预约计划下发",
659
+ {"f_plan_name": "f_plan_name like '%{}%'",
660
+ "f_plan_year":"f_plan_year={}",
661
+ "f_plan_month":"f_plan_month={}",
662
+ "checkerid":"f_checker_id='{}'",
663
+ "isAndNot":"f_checker {}",
664
+ "safechecktype":"f_safecheck_type='{}'",
665
+ "issude":"f_issued = '{}'",
666
+ "f_create_operator": "f_create_operator like '%{}%'"
667
+ },
668
+ {orderitem:fieldValue,
669
+ f_filialeids:"('"+this.userlogin.orgid+"')",
670
+ groupitem:""
671
+ }
672
+ )
673
+
674
+ this.isSend=false
675
+ },
676
+ //加载更多数据
677
+ async loadMore(modelname) {
678
+ this.isSend=true
679
+ await this[modelname].list.loadMore()
680
+ this.isSend=false
681
+ },
682
+ showUpPlans(row){
683
+ this.upCheckPlan.id=row.id
684
+ this.upCheckPlan.f_safecheck_type=row.f_safecheck_type
685
+ this.upCheckPlan.f_plan_name=row.f_plan_name
686
+ this.upCheckPlan.f_plan_year=row.f_plan_year
687
+ this.upCheckPlan.f_plan_month=row.f_plan_month
688
+ this.upCheckPlan.f_checker_id=row.f_checker_id?row.f_checker_id:null
689
+ this.upCheckPlan.f_checker=row.f_checker?row.f_checker:null
690
+ this.upCheckPlan.isShare=row.f_checker_id?'否':'是'
691
+ this.upCheckPlan.f_issued=row.f_issued
692
+ this.upCheckPlan.checker={id:row.f_checker_id,name:row.f_checker}
693
+ this.showUpPlan=true
694
+ },
695
+ async upPlan(){
696
+ if(this.upCheckPlan.f_issued=='已下发'){
697
+ this.$showMessage("该计划已下发,无法进行修改!")
698
+ return
699
+ }
700
+ if(!this.upCheckPlan.f_plan_name){
701
+ Vue.showMessage("请输入安检计划名称!")
702
+ return false
703
+ }
704
+ if(!this.upCheckPlan.f_plan_year){
705
+ Vue.showMessage("请选择安检年份!")
706
+ return false
707
+ }
708
+ if(!this.upCheckPlan.f_plan_month){
709
+ Vue.showMessage("请选择安检月份!")
710
+ return false
711
+ }
712
+ console.log(this.upCheckPlan)
713
+
714
+ if(this.upCheckPlan.isShare=="是"){
715
+ if(this.ismulchecker && this.upCheckPlan.checkers.length > 0){
716
+ this.upCheckPlan.checkers.forEach((value) => {
717
+ this.upCheckPlan.f_checkerstr += `${value.name},`
718
+ })
719
+ this.upCheckPlan.f_checkerstr = this.upCheckPlan.f_checkerstr.slice(0, -1)
720
+ }
721
+ this.upCheckPlan.f_checker_id=null
722
+ this.upCheckPlan.f_checker=null
723
+ }else{
724
+ this.upCheckPlan.f_checker_id=this.upCheckPlan.checker.id
725
+ this.upCheckPlan.f_checker=this.upCheckPlan.checker.name
726
+ }
727
+ this.isSend=true
728
+ let res=await new HttpResetClass().load("POST", "/api/af-safecheck/logic/updateCheckPlan", {
729
+ data:{
730
+ checkers:this.createPlan.checkers,
731
+ f_checkerstr:this.createPlan.f_checkerstr,
732
+ f_checker:this.upCheckPlan.f_checker,
733
+ f_safecheck_type:this.upCheckPlan.f_safecheck_type,
734
+ f_checker_id:this.upCheckPlan.f_checker_id,
735
+ f_plan_name:this.upCheckPlan.f_plan_name,
736
+ f_plan_year:this.upCheckPlan.f_plan_year,
737
+ f_plan_month:this.upCheckPlan.f_plan_month,
738
+ f_plan_id:this.upCheckPlan.id
739
+ }
740
+ }, {resolveMsg: null, rejectMsg: null})
741
+ if(res.data.code==200){
742
+ this.$showMessage("修改成功!")
743
+ this.cancel()
744
+ await this.loadCheckPlan()
745
+ }else{
746
+ this.$showMessage("修改失败!")
747
+ }
748
+ this.isSend=false
749
+ },
750
+ //下发安检计划
751
+ async sendCheckPlan(f){
752
+ if(this.checkplan.check.checkes.length<1){
753
+ this.$showMessage("请选择要下发的安检计划")
754
+ return
755
+ }
756
+ this.isSend=true
757
+ let res=await new HttpResetClass().load("POST", "/api/af-safecheck/logic/NewBespeakCheckPlan", {
758
+ data:{
759
+ f_issued:'是',
760
+ f_issue_time:Util.toStandardTimeString(),
761
+ f_send_operator:this.userlogin.name,
762
+ param:this.checkplan.check.checkes,
763
+ }
764
+ }, {resolveMsg: null, rejectMsg: null})
765
+ if(res.data.code==200){
766
+ //Vue.showMessage("下发成功!其中有"+res.data.repet+"个计划己经是下发状态")
767
+ this.$showMessage("下发成功!")
768
+ }else{
769
+ this.$showMessage("下发失败!")
770
+ }
771
+ await this.loadCheckPlan()
772
+ this.isSend=false
773
+ },
774
+ //删除安检计划
775
+ async delCheckPlan(f){
776
+ if(this.checkplan.check.checkes.length<1){
777
+ this.$showMessage("请选择要删除的安检计划")
778
+ return
779
+ }
780
+ this.isSend=true
781
+ let res=await new HttpResetClass().load("POST", "/api/af-safecheck/logic/deleteCheckPlan", {
782
+ data:{
783
+ f_operator:this.userlogin.name,//global.login.name,
784
+ condition:"",
785
+ switchCheckAll:true,
786
+ checkAll:false,
787
+ param:this.checkplan.check.checkes,
788
+ columnName: "f_plan_id"
789
+ }
790
+ }, {resolveMsg: null, rejectMsg: null})
791
+ console.log(JSON.stringify(res))
792
+ if(res.data.code==200){
793
+ this.$showMessage("删除成功!")
794
+ }else{
795
+ this.$showMessage("删除失败!")
796
+ }
797
+ if(this.checkplan.check.checkes.indexOf(this.selectPlan.id)!= -1){
798
+ this.selectPlan={id:''}
799
+ console.log("包含了清空selectplan")
800
+ }
801
+ await this.loadCheckPlan()
802
+ this.isSend=false
803
+ },
804
+ async refresh(){
805
+ this.$refs.item.$refs.paged.$refs.criteria.search()
806
+ this.$refs.user.$refs.paged.$refs.criteria.search()
807
+ await this.loadCheckPlan()
808
+ },
809
+ async refreshPlan(){
810
+ this.$refs.item.$refs.paged.$refs.criteria.search()
811
+ await this.loadCheckPlan()
812
+ }
813
+ }
814
+ }
815
+ </script>
816
+
817
+ <style scoped>
818
+ .safe-planfont{
819
+ font-family: MicrosoftYaHei;
820
+ font-size: 15px;
821
+ font-weight: normal;
822
+ font-stretch: normal;
823
+ letter-spacing: 2px;
824
+ color: #333333;
825
+ line-height: 25px;
826
+ }
827
+ .safe-bodyfont{
828
+ font-family: MicrosoftYaHei;
829
+ font-size: 14px;
830
+ font-weight: normal;
831
+ font-stretch: normal;
832
+ letter-spacing: 0px;
833
+ color: #999999;
834
+ line-height: 30px;
835
+ }
836
+ .safe-leftplan{
837
+ height:auto;
838
+ border-bottom:1px solid #ececec;
839
+ padding: 10px 5px
840
+ }
841
+ .leftplan-center{
842
+ border-top:1px solid #ececec;
843
+ border-bottom:1px solid #ececec;
844
+ }
845
+ .safe_p{
846
+ white-space: nowrap;
847
+ overflow: hidden;
848
+ text-overflow: ellipsis;
849
+ }
850
+ .safe-div-p{
851
+ color: #4792de;
852
+ text-align: end;
853
+ padding: 8px 15px;
854
+ }
855
+ .safe_list_li:hover{
856
+ background-color: rgb(245,246,247);
857
+ }
858
+ .safe-selectplan{
859
+ pointer-events: none;
860
+ background-color: rgb(216,234,251);
861
+ }
862
+ .safe_plan_list{
863
+ height: 80%;
864
+ overflow: scroll;
865
+ }
866
+
867
+ </style>
868
+ <style>
869
+ .safe_plan_list::-webkit-scrollbar{
870
+ background-color: #F5F5F5;
871
+ }
872
+
873
+ /*定义滚动条轨道 内阴影+圆角*/
874
+ .safe_plan_list::-webkit-scrollbar-track{
875
+ -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
876
+ border-radius: 10px;
877
+ background-color: #F5F5F5;
878
+ }
879
+
880
+ /*定义滑块 内阴影+圆角*/
881
+ .safe_plan_list::-webkit-scrollbar-thumb{
882
+ border-radius: 10px;
883
+ -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
884
+ background-color: #F5F5F5;
885
+ }
886
+ </style>