safecheck-client 4.0.0-24 → 4.0.0-25

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 (260) hide show
  1. package/package.json +1 -1
  2. package/src/App.vue +2 -2
  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 +663 -663
  6. package/src/components/Util/SafecheckUpload.vue +281 -281
  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/BlackUserOnLine.vue +318 -318
  11. package/src/components/android/CurrentCreateYy.vue +1051 -1051
  12. package/src/components/android/Devices.vue +327 -327
  13. package/src/components/android/Devicesm.vue +327 -327
  14. package/src/components/android/PaperFeedbackTemp.vue +1470 -1470
  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/PhoneUpUserinfo.vue +1249 -1249
  20. package/src/components/android/QRCode/QRCodeBinding.vue +300 -300
  21. package/src/components/android/QRCode/QRCodePage.vue +212 -212
  22. package/src/components/android/SafePlanItem.vue +509 -509
  23. package/src/components/android/SafecheckDevices.vue +1337 -1337
  24. package/src/components/android/UserinfoSelect.vue +714 -714
  25. package/src/components/android/examples/SafeListExamples.vue +296 -296
  26. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  27. package/src/components/android/recheck/Recheck.vue +402 -402
  28. package/src/components/android/userinfo/SafecheckUserInfo.vue +776 -776
  29. package/src/components/checkplan/checkmsg.vue +459 -459
  30. package/src/components/defect/DefectList.vue +507 -507
  31. package/src/components/defect/DefectListWeixiu.vue +484 -484
  32. package/src/components/filialCircle/CircleList.vue +139 -139
  33. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  34. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  35. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  36. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  37. package/src/components/inspections/inspectionFeedback.vue +720 -720
  38. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  39. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  40. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  41. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  42. package/src/components/pc/AnnouncementPC.vue +524 -524
  43. package/src/components/pc/DefectDeal.vue +1007 -1007
  44. package/src/components/pc/DefectList.vue +742 -742
  45. package/src/components/pc/DeviceChange.vue +1068 -1068
  46. package/src/components/pc/SafeVisitInfo.vue +261 -261
  47. package/src/components/planmanage/PlanManage.vue +886 -886
  48. package/src/components/planmanage/checkPlanList.vue +368 -368
  49. package/src/components/querycheckpaper/CheckPaperList.vue +130 -130
  50. package/src/components/report/HiddenSituation.vue +165 -165
  51. package/src/components/rongcheng/AspPaperFeedback.vue +1179 -1179
  52. package/src/components/rongcheng/AspiratedOrderV.vue +2377 -2377
  53. package/src/components/rongcheng/CurrentCreateOnline.vue +906 -906
  54. package/src/components/rongcheng/DefectList.vue +560 -560
  55. package/src/components/rongcheng/PaperFeedback.vue +1318 -1318
  56. package/src/components/rongcheng/SafecheckOrderVCli.vue +2641 -2641
  57. package/src/components/safecheckNew/android/AddPlanItem.vue +419 -419
  58. package/src/components/safecheckNew/android/CurrentCreate.vue +1050 -1050
  59. package/src/components/safecheckNew/android/Recheck.vue +379 -379
  60. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  61. package/src/components/shaoguan/DefectList.vue +473 -473
  62. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  63. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  64. package/src/components/userfile/SecurityAudit.vue +243 -243
  65. package/src/components/userfileNew/UserInfoAuditNew.vue +274 -274
  66. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +476 -476
  67. package/src/filiale/ancheng/android/PaperFeedback.vue +1489 -1489
  68. package/src/filiale/ancheng/android/SafecheckOrderV.vue +2703 -2703
  69. package/src/filiale/ancheng/android/SafecheckUserInfo.vue +737 -737
  70. package/src/filiale/ancheng/pc/checkScreen.vue +923 -923
  71. package/src/filiale/ankangyihua/android/AddPlanItem.vue +446 -446
  72. package/src/filiale/ankangyihua/android/SafecheckOrderV.vue +2908 -2908
  73. package/src/filiale/ankangyihua/pc/DefectListWeixiu.vue +491 -491
  74. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -2785
  75. package/src/filiale/baiyin/pc/DefectListNew.vue +597 -597
  76. package/src/filiale/bayan/android/Edit.vue +132 -132
  77. package/src/filiale/bayan/android/PaperFeedback.vue +1669 -1669
  78. package/src/filiale/bayan/pc/DefectListNew.vue +597 -597
  79. package/src/filiale/bayan/pc/DeviceChange.vue +1838 -1838
  80. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  81. package/src/filiale/dexin/android/CasualSave.vue +1050 -1050
  82. package/src/filiale/dexin/android/SafecheckOrderV.vue +2950 -2950
  83. package/src/filiale/fugou/android/AddPlanItem.vue +413 -413
  84. package/src/filiale/fugou/android/SafecheckOrderV.vue +2796 -2796
  85. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +830 -830
  86. package/src/filiale/fugu/android/SafecheckOrderV.vue +2484 -2484
  87. package/src/filiale/fugu/pc/NewCheckpaper.vue +1287 -1287
  88. package/src/filiale/ganquan/android/AddPlanItem.vue +444 -444
  89. package/src/filiale/ganquan/android/SafecheckOrderV.vue +2485 -2485
  90. package/src/filiale/ganquan/pc/NewCheckpaper.vue +1354 -1354
  91. package/src/filiale/guangxi/pc/DefectListNew.vue +518 -518
  92. package/src/filiale/hanzhong/android/PaperFeedback.vue +1477 -1477
  93. package/src/filiale/hanzhong/android/SafecheckOrderV.vue +2683 -2683
  94. package/src/filiale/hanzhong/android/SafecheckUserInfo.vue +786 -786
  95. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -2803
  96. package/src/filiale/huatong/android/PaperFeedback.vue +1433 -1433
  97. package/src/filiale/huatong/android/SafecheckOrderV.vue +2426 -2426
  98. package/src/filiale/huatong/android/SafecheckUserInfo.vue +749 -749
  99. package/src/filiale/huayin/android/PaperFeedback.vue +1422 -1422
  100. package/src/filiale/huayin/android/SafecheckOrderV.vue +2712 -2712
  101. package/src/filiale/huayin/pc/NewCheckpaper.vue +1307 -1307
  102. package/src/filiale/jiaocheng/android/AddPlanItem.vue +435 -435
  103. package/src/filiale/jiaocheng/android/PaperFeedback.vue +1308 -1308
  104. package/src/filiale/jiaocheng/android/SafecheckUserInfo.vue +737 -737
  105. package/src/filiale/jiaocheng/pc/DefectListNew.vue +576 -576
  106. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -447
  107. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2807
  108. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -784
  109. package/src/filiale/jinbin/pc/DefectListWeixiu.vue +478 -478
  110. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -458
  111. package/src/filiale/jingyang/android/PaperFeedback.vue +1493 -1493
  112. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
  113. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +781 -781
  114. package/src/filiale/kelai/android/AddPlanItem.vue +488 -488
  115. package/src/filiale/kelai/android/AndroidDefectDeal.vue +747 -747
  116. package/src/filiale/kelai/android/PaperFeedback.vue +1539 -1539
  117. package/src/filiale/kelai/android/SafecheckOrderV.vue +2448 -2448
  118. package/src/filiale/kelai/android/SafecheckUserInfo.vue +774 -774
  119. package/src/filiale/kelai/android/SafecheckUserInfo1.vue +618 -618
  120. package/src/filiale/kelai/pc/DefectListNew.vue +688 -688
  121. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasList.vue +518 -518
  122. package/src/filiale/kelai/pc/NewCheckpaper.vue +1454 -1454
  123. package/src/filiale/liaoyuan/android/AddPlanItem.vue +412 -412
  124. package/src/filiale/liaoyuan/android/CurrentCreate.vue +1066 -1066
  125. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2388 -2388
  126. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +557 -557
  127. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +489 -489
  128. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  129. package/src/filiale/lixian/android/SafecheckOrderV.vue +2404 -2404
  130. package/src/filiale/lixian/android/SafecheckUserInfo.vue +578 -578
  131. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  132. package/src/filiale/meihekou/android/SafecheckOrderV.vue +2286 -2286
  133. package/src/filiale/meihekou/android/SafecheckUserInfo.vue +787 -787
  134. package/src/filiale/meihekou/android.js +14 -14
  135. package/src/filiale/meihekou/pc.js +12 -12
  136. package/src/filiale/minsheng/android/SafecheckUserInfo.vue +754 -754
  137. package/src/filiale/minsheng/pc/DefectListNew.vue +535 -535
  138. package/src/filiale/pingxiang/android/PaperFeedback.vue +1399 -1399
  139. package/src/filiale/pingxiang/android/SafecheckOrderV.vue +2424 -2424
  140. package/src/filiale/pingxiang/android/SafecheckUserInfo.vue +600 -600
  141. package/src/filiale/pingxiang/pc/DefectListNew.vue +519 -519
  142. package/src/filiale/pingxiang/pc/NewCheckpaper.vue +1294 -1294
  143. package/src/filiale/qianneng/android/AddPlanItem.vue +482 -482
  144. package/src/filiale/qianneng/android/PaperFeedback.vue +1434 -1434
  145. package/src/filiale/qianneng/android/SafecheckOrderV.vue +2785 -2785
  146. package/src/filiale/qianneng/android/SafecheckUserInfo.vue +775 -775
  147. package/src/filiale/qianneng/pc/DefectListNew.vue +576 -576
  148. package/src/filiale/qianneng/pc/NewCheckpaper.vue +1546 -1546
  149. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2844 -2844
  150. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +800 -800
  151. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -450
  152. package/src/filiale/qingtongxia/android/SafecheckOrderV.vue +2726 -2726
  153. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -782
  154. package/src/filiale/qingtongxia/pc/DefectListNew.vue +594 -594
  155. package/src/filiale/rizhao/android/AddPlanItem.vue +446 -446
  156. package/src/filiale/rizhao/android/PaperFeedback.vue +1510 -1510
  157. package/src/filiale/rizhao/android/SafecheckOrderV.vue +2430 -2430
  158. package/src/filiale/rizhao/android/SafecheckUserInfo.vue +640 -640
  159. package/src/filiale/rizhao/pc/DefectList.vue +489 -489
  160. package/src/filiale/rongchuang/android/PaperFeedback.vue +1455 -1455
  161. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +2696 -2696
  162. package/src/filiale/rongchuang/android/checkpapermsg.vue +209 -209
  163. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -2747
  164. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -804
  165. package/src/filiale/shanggao/android/PaperFeedback.vue +1422 -1422
  166. package/src/filiale/shanggao/android/SafecheckOrderV.vue +2426 -2426
  167. package/src/filiale/shanxian/android/PaperFeedback.vue +1445 -1445
  168. package/src/filiale/shanxian/android/SafecheckUserInfo.vue +749 -749
  169. package/src/filiale/shanxian/pc/HiddenSituation.vue +121 -121
  170. package/src/filiale/shanxian/pc/NewCheckpaper.vue +1526 -1526
  171. package/src/filiale/shexian/android/AddPlanItem.vue +444 -444
  172. package/src/filiale/shexian/android/PaperFeedback.vue +1448 -1448
  173. package/src/filiale/shexian/android/SafecheckOrderV.vue +2879 -2879
  174. package/src/filiale/shexian/pc/DefectListNew.vue +593 -593
  175. package/src/filiale/shexian/pc/NewCheckpaper.vue +1469 -1469
  176. package/src/filiale/shimen/android/PaperFeedback.vue +1341 -1341
  177. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  178. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  179. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  180. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  181. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -1051
  182. package/src/filiale/siyang/android/PhoneRecordInfo.vue +214 -214
  183. package/src/filiale/siyang/android/SafecheckOrderV.vue +2796 -2796
  184. package/src/filiale/siyang/android/SafecheckUserInfo.vue +789 -789
  185. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -167
  186. package/src/filiale/tianke/android/AddPlanItem.vue +455 -455
  187. package/src/filiale/tianke/android/SafecheckOrderV.vue +2431 -2431
  188. package/src/filiale/tianke/android/SafecheckUserInfo.vue +744 -744
  189. package/src/filiale/tongchuan/android/AddPlanItem.vue +483 -483
  190. package/src/filiale/tongchuan/android/PaperFeedback.vue +1316 -1316
  191. package/src/filiale/tongchuan/android/PhoneRecordInfo.vue +191 -191
  192. package/src/filiale/tongchuan/android/PhoneSellInfo.vue +113 -113
  193. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +720 -720
  194. package/src/filiale/tongchuan/pc/CheckBookDetails.vue +209 -209
  195. package/src/filiale/tongchuan/pc/DefectListWeixiu.vue +484 -484
  196. package/src/filiale/tongchuan/pc/HiddenSituation.vue +166 -166
  197. package/src/filiale/weinan/android/AddPlanItem.vue +438 -438
  198. package/src/filiale/weinan/android/CurrentCreate.vue +1171 -1171
  199. package/src/filiale/weinan/android/CurrentCreateOnline.vue +911 -911
  200. package/src/filiale/weinan/android/SafePlanItem.vue +440 -440
  201. package/src/filiale/weinan/android/SafecheckUserInfo.vue +778 -778
  202. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  203. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -1088
  204. package/src/filiale/weinan/pc/HiddenSituation.vue +167 -167
  205. package/src/filiale/weinan/pc/checkScreen.vue +1094 -1094
  206. package/src/filiale/weinanct/android/SafecheckOrderV.vue +2730 -2730
  207. package/src/filiale/weinanct/pc/NewCheckpaper.vue +1315 -1315
  208. package/src/filiale/wensu/android/AddPlanItem.vue +495 -495
  209. package/src/filiale/wensu/android/AndroidDefectDeal.vue +464 -464
  210. package/src/filiale/wensu/android/PaperFeedback.vue +1358 -1358
  211. package/src/filiale/wensu/android/SafecheckOrderV.vue +2430 -2430
  212. package/src/filiale/wensu/android/SafecheckUserInfo.vue +627 -627
  213. package/src/filiale/wensu/pc/DefectListNew.vue +735 -735
  214. package/src/filiale/wenxi/android/AddPlanItem.vue +431 -431
  215. package/src/filiale/wenxi/android/PaperFeedback.vue +1607 -1607
  216. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2671 -2671
  217. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +673 -673
  218. package/src/filiale/wenxi/pc/DefectList.vue +653 -653
  219. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1358 -1358
  220. package/src/filiale/wuan/android/PaperFeedback.vue +1433 -1433
  221. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2241
  222. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -596
  223. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  224. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  225. package/src/filiale/wuhai/android/PaperFeedback.vue +1350 -1350
  226. package/src/filiale/wuhai/android/SafecheckOrderV.vue +2456 -2456
  227. package/src/filiale/wuhai/android/SafecheckUserInfo.vue +573 -573
  228. package/src/filiale/wuhai/pc/NewCheckpaper.vue +1281 -1281
  229. package/src/filiale/xinkang/android/SafecheckOrderV.vue +2732 -2732
  230. package/src/filiale/xinkang/android/SafecheckUserInfo.vue +747 -747
  231. package/src/filiale/xinkang/pc/DefectListWeixiu.vue +475 -475
  232. package/src/filiale/xinkang/pc/NewCheckpaper.vue +1498 -1498
  233. package/src/filiale/yangchunboneng/android/AddPlanItem.vue +496 -496
  234. package/src/filiale/yangchunboneng/android/PaperFeedback.vue +1731 -1731
  235. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2865 -2865
  236. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  237. package/src/filiale/yangchunboneng/pc/DefectListNew.vue +576 -576
  238. package/src/filiale/yongzhou/android/PaperFeedback.vue +1519 -1519
  239. package/src/filiale/yongzhou/android/SafecheckOrderV.vue +2774 -2774
  240. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +776 -776
  241. package/src/filiale/yuansheng/android/PaperFeedback.vue +1488 -1488
  242. package/src/filiale/yuansheng/android/SafecheckOrderV.vue +2758 -2758
  243. package/src/filiale/yuansheng/android/SafecheckUserInfo.vue +797 -797
  244. package/src/filiale/yuansheng/pc/DefectListNew.vue +524 -524
  245. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +1371 -1371
  246. package/src/filiale/yuansheng/pc/checkmsg.vue +464 -464
  247. package/src/filiale/yunchengminsheng/android/DailyworkloadQuery.vue +491 -491
  248. package/src/filiale/yunchengminsheng/android/SafecheckOrderV.vue +2848 -2846
  249. package/src/filiale/zhongsheng/android/BuyRecords.vue +122 -122
  250. package/src/filiale/zhongsheng/android/PaperFeedback.vue +1341 -1341
  251. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2461 -2461
  252. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +690 -690
  253. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  254. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1322 -1322
  255. package/src/filiale/zhongyi/android/SafecheckOrderV.vue +2431 -2431
  256. package/src/filiale/zhongyi/pc/DefectListNew.vue +514 -514
  257. package/src/filiale/zhoukou/android/PaperFeedback.vue +1367 -1367
  258. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  259. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  260. package/src/main.js +32 -33
@@ -1,886 +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(){
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>
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>