safecheck-client 4.0.2-8 → 4.0.2-9

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 (268) hide show
  1. package/package.json +1 -1
  2. package/src/App.vue +31 -31
  3. package/src/components/CheckerCount/CheckCountUserList.vue +144 -144
  4. package/src/components/DefectDealMain/DefectListNew.vue +642 -642
  5. package/src/components/NewDefectList/DefectPaperNew.vue +1184 -1184
  6. package/src/components/Util/RightTreeSafeDep.vue +362 -362
  7. package/src/components/android/AddPlanItem.vue +447 -447
  8. package/src/components/android/AddPlanItemYy.vue +451 -451
  9. package/src/components/android/AddSpecialPlanItem.vue +426 -426
  10. package/src/components/android/CurrentCreateYy.vue +1051 -1051
  11. package/src/components/android/DailyworkloadQuery.vue +473 -473
  12. package/src/components/android/Devices.vue +327 -327
  13. package/src/components/android/Devicesm.vue +327 -327
  14. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  15. package/src/components/android/PhoneRecordInfo.vue +113 -113
  16. package/src/components/android/PhoneSellInfo.vue +113 -113
  17. package/src/components/android/PhoneUpDetail.vue +1040 -1040
  18. package/src/components/android/PhoneUpUserinfo.vue +1249 -1249
  19. package/src/components/android/QRCode/QRCodeBinding.vue +300 -300
  20. package/src/components/android/QRCode/QRCodePage.vue +212 -212
  21. package/src/components/android/SafePlanItem.vue +509 -509
  22. package/src/components/android/SafeRightTree.vue +218 -218
  23. package/src/components/android/SafecheckDevices.vue +1340 -1340
  24. package/src/components/android/UploadPage.vue +232 -232
  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/inspectionOrderV.vue +1853 -1853
  38. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  39. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  40. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  41. package/src/components/map/PersonTrack.vue +226 -226
  42. package/src/components/paper/RegionalList.vue +220 -220
  43. package/src/components/pc/AnnouncementPC.vue +524 -524
  44. package/src/components/pc/CheckBook.vue +303 -303
  45. package/src/components/pc/CheckBookArea.vue +146 -146
  46. package/src/components/pc/CheckBookCompany.vue +144 -144
  47. package/src/components/pc/CheckBookDetails.vue +161 -161
  48. package/src/components/pc/CheckBookEntry.vue +60 -60
  49. package/src/components/pc/CheckBookSearchArea.vue +560 -560
  50. package/src/components/pc/CheckBookSearchUnit.vue +229 -229
  51. package/src/components/pc/CheckBookSearchUser.vue +659 -659
  52. package/src/components/pc/CheckBookSearchUserList.vue +674 -674
  53. package/src/components/pc/DefectList.vue +742 -742
  54. package/src/components/pc/DefectMaterialLook.vue +98 -98
  55. package/src/components/pc/DeviceChange.vue +1068 -1068
  56. package/src/components/pc/PaperDefectMain.vue +905 -905
  57. package/src/components/pc/RoleSelectorDep.vue +166 -166
  58. package/src/components/pc/SafeVisitInfo.vue +261 -261
  59. package/src/components/report/HiddenSituation.vue +165 -165
  60. package/src/components/rongcheng/AspiratedOrderV.vue +2377 -2377
  61. package/src/components/rongcheng/CurrentCreateOnline.vue +906 -906
  62. package/src/components/rongcheng/DefectList.vue +560 -560
  63. package/src/components/rongcheng/SafecheckOrderVCli.vue +2641 -2641
  64. package/src/components/safecheckNew/android/AddPlanItem.vue +419 -419
  65. package/src/components/safecheckNew/android/CurrentCreate.vue +1050 -1050
  66. package/src/components/safecheckNew/android/Recheck.vue +379 -379
  67. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  68. package/src/components/shaoguan/DefectList.vue +473 -473
  69. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  70. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  71. package/src/components/userfile/SecurityAudit.vue +243 -243
  72. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +476 -476
  73. package/src/filiale/ancheng/android/SafecheckOrderV.vue +2703 -2703
  74. package/src/filiale/ancheng/android/SafecheckUserInfo.vue +737 -737
  75. package/src/filiale/ancheng/pc/checkScreen.vue +923 -923
  76. package/src/filiale/ankangyihua/android/AddPlanItem.vue +446 -446
  77. package/src/filiale/ankangyihua/android/SafecheckOrderV.vue +2908 -2908
  78. package/src/filiale/ankangyihua/pc/DefectListWeixiu.vue +491 -491
  79. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -2785
  80. package/src/filiale/baiyin/pc/DefectListNew.vue +597 -597
  81. package/src/filiale/bayan/android/Edit.vue +132 -132
  82. package/src/filiale/bayan/pc/DefectListNew.vue +597 -597
  83. package/src/filiale/bayan/pc/DeviceChange.vue +1838 -1838
  84. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  85. package/src/filiale/dexin/android/CasualSave.vue +1050 -1050
  86. package/src/filiale/dexin/android/SafecheckOrderV.vue +2950 -2950
  87. package/src/filiale/fugou/android/AddPlanItem.vue +413 -413
  88. package/src/filiale/fugou/android/SafecheckOrderV.vue +2796 -2796
  89. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +830 -830
  90. package/src/filiale/fugu/android/SafecheckOrderV.vue +2484 -2484
  91. package/src/filiale/fugu/pc/NewCheckpaper.vue +1287 -1287
  92. package/src/filiale/ganquan/android/AddPlanItem.vue +444 -444
  93. package/src/filiale/ganquan/android/SafecheckOrderV.vue +2485 -2485
  94. package/src/filiale/ganquan/pc/NewCheckpaper.vue +1354 -1354
  95. package/src/filiale/guangxi/pc/DefectListNew.vue +518 -518
  96. package/src/filiale/hanzhong/android/SafecheckOrderV.vue +2683 -2683
  97. package/src/filiale/hanzhong/android/SafecheckUserInfo.vue +786 -786
  98. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -2803
  99. package/src/filiale/huatong/android/SafecheckOrderV.vue +2426 -2426
  100. package/src/filiale/huatong/android/SafecheckUserInfo.vue +749 -749
  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/SafecheckUserInfo.vue +737 -737
  104. package/src/filiale/jiaocheng/pc/DefectListNew.vue +576 -576
  105. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -447
  106. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2807
  107. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -784
  108. package/src/filiale/jinbin/pc/DefectListWeixiu.vue +478 -478
  109. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -458
  110. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
  111. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +781 -781
  112. package/src/filiale/jinhong/pc/CheckBookList.vue +393 -393
  113. package/src/filiale/jinhong/pc/PaperList.vue +853 -853
  114. package/src/filiale/jinhong/pc/PlanManage.vue +927 -927
  115. package/src/filiale/jinhong/pc/checkPlanList.vue +420 -420
  116. package/src/filiale/kelai/android/AddPlanItem.vue +488 -488
  117. package/src/filiale/kelai/android/SafecheckUserInfo.vue +774 -774
  118. package/src/filiale/kelai/android/SafecheckUserInfo1.vue +618 -618
  119. package/src/filiale/kelai/pc/DefectListNew.vue +688 -688
  120. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasList.vue +518 -518
  121. package/src/filiale/kelai/pc/NewCheckpaper.vue +1454 -1454
  122. package/src/filiale/liaoyuan/android/AddPlanItem.vue +412 -412
  123. package/src/filiale/liaoyuan/android/CurrentCreate.vue +1066 -1066
  124. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2388 -2388
  125. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +557 -557
  126. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +489 -489
  127. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  128. package/src/filiale/libo/android/CurrentCreate.vue +1091 -1091
  129. package/src/filiale/libo/android.js +15 -15
  130. package/src/filiale/lixian/android/SafecheckOrderV.vue +2404 -2404
  131. package/src/filiale/lixian/android/SafecheckUserInfo.vue +578 -578
  132. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  133. package/src/filiale/meihekou/android/AreaPlan.vue +577 -577
  134. package/src/filiale/meihekou/android/CheckPlanList.vue +198 -198
  135. package/src/filiale/meihekou/android/CheckPlanListArea.vue +190 -190
  136. package/src/filiale/meihekou/android/MeterReading.vue +110 -110
  137. package/src/filiale/meihekou/android/PaperFeedback.vue +1542 -1542
  138. package/src/filiale/meihekou/android/PhoneUpUserinfo.vue +1307 -1307
  139. package/src/filiale/meihekou/android/SafecheckDevices.vue +1340 -1343
  140. package/src/filiale/meihekou/android/SafecheckOrderV.vue +2448 -2446
  141. package/src/filiale/meihekou/android/SafecheckUserInfo.vue +785 -785
  142. package/src/filiale/meihekou/android.js +22 -22
  143. package/src/filiale/meihekou/pc/CheckDetail.vue +208 -0
  144. package/src/filiale/meihekou/pc/CheckPlan.vue +52 -0
  145. package/src/filiale/meihekou/pc/NewCheckpaperNew.vue +2050 -2050
  146. package/src/filiale/meihekou/pc/NewCheckpaperTemp.vue +1288 -1288
  147. package/src/filiale/meihekou/pc/SelectCheckPlan.vue +262 -0
  148. package/src/filiale/meihekou/pc.js +2 -0
  149. package/src/filiale/minsheng/android/SafecheckUserInfo.vue +754 -754
  150. package/src/filiale/minsheng/pc/DefectListNew.vue +535 -535
  151. package/src/filiale/pingxiang/android/SafecheckOrderV.vue +2424 -2424
  152. package/src/filiale/pingxiang/android/SafecheckUserInfo.vue +600 -600
  153. package/src/filiale/pingxiang/pc/DefectListNew.vue +519 -519
  154. package/src/filiale/pingxiang/pc/NewCheckpaper.vue +1294 -1294
  155. package/src/filiale/qianneng/android/AddPlanItem.vue +482 -482
  156. package/src/filiale/qianneng/android/SafecheckOrderV.vue +2785 -2785
  157. package/src/filiale/qianneng/android/SafecheckUserInfo.vue +775 -775
  158. package/src/filiale/qianneng/pc/DefectListNew.vue +576 -576
  159. package/src/filiale/qianneng/pc/NewCheckpaper.vue +1546 -1546
  160. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2844 -2844
  161. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +800 -800
  162. package/src/filiale/qingjian/pc/NewCheckpaper.vue +1871 -1871
  163. package/src/filiale/qingjian/pc/SecurityCheckCoordinates.vue +359 -359
  164. package/src/filiale/qingjian/pc.js +15 -15
  165. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -450
  166. package/src/filiale/qingtongxia/android/SafecheckOrderV.vue +2726 -2726
  167. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -782
  168. package/src/filiale/qingtongxia/pc/DefectListNew.vue +594 -594
  169. package/src/filiale/rizhao/android/AddPlanItem.vue +446 -446
  170. package/src/filiale/rizhao/android/SafecheckOrderV.vue +2430 -2430
  171. package/src/filiale/rizhao/android/SafecheckUserInfo.vue +640 -640
  172. package/src/filiale/rizhao/pc/DefectList.vue +489 -489
  173. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +2696 -2696
  174. package/src/filiale/rongchuang/android/checkpapermsg.vue +209 -209
  175. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -2747
  176. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -804
  177. package/src/filiale/shanggao/android/SafecheckOrderV.vue +2426 -2426
  178. package/src/filiale/shanxian/android/SafecheckUserInfo.vue +749 -749
  179. package/src/filiale/shanxian/pc/HiddenSituation.vue +121 -121
  180. package/src/filiale/shanxian/pc/NewCheckpaper.vue +1526 -1526
  181. package/src/filiale/shexian/android/AddPlanItem.vue +444 -444
  182. package/src/filiale/shexian/android/SafecheckOrderV.vue +2879 -2879
  183. package/src/filiale/shexian/pc/DefectListNew.vue +593 -593
  184. package/src/filiale/shexian/pc/NewCheckpaper.vue +1469 -1469
  185. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  186. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  187. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  188. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  189. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -1051
  190. package/src/filiale/siyang/android/PhoneRecordInfo.vue +214 -214
  191. package/src/filiale/siyang/android/SafecheckOrderV.vue +2796 -2796
  192. package/src/filiale/siyang/android/SafecheckUserInfo.vue +789 -789
  193. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -167
  194. package/src/filiale/taiyuan/pc/NewCheckpaper.vue +1976 -1976
  195. package/src/filiale/taiyuan/pc/PlanManage.vue +891 -891
  196. package/src/filiale/taiyuan/pc/checkUserList.vue +798 -798
  197. package/src/filiale/tianke/android/AddPlanItem.vue +455 -455
  198. package/src/filiale/tianke/android/SafecheckOrderV.vue +2431 -2431
  199. package/src/filiale/tianke/android/SafecheckUserInfo.vue +744 -744
  200. package/src/filiale/tongchuan/android/AddPlanItem.vue +483 -483
  201. package/src/filiale/tongchuan/android/PhoneRecordInfo.vue +191 -191
  202. package/src/filiale/tongchuan/android/PhoneSellInfo.vue +113 -113
  203. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +720 -720
  204. package/src/filiale/tongchuan/pc/CheckBookDetails.vue +209 -209
  205. package/src/filiale/tongchuan/pc/DefectListWeixiu.vue +484 -484
  206. package/src/filiale/tongchuan/pc/HiddenSituation.vue +166 -166
  207. package/src/filiale/weinan/android/AddPlanItem.vue +438 -438
  208. package/src/filiale/weinan/android/CurrentCreate.vue +1171 -1171
  209. package/src/filiale/weinan/android/CurrentCreateOnline.vue +911 -911
  210. package/src/filiale/weinan/android/SafePlanItem.vue +440 -440
  211. package/src/filiale/weinan/android/SafecheckUserInfo.vue +778 -778
  212. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  213. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -1088
  214. package/src/filiale/weinan/pc/HiddenSituation.vue +167 -167
  215. package/src/filiale/weinan/pc/checkScreen.vue +1094 -1094
  216. package/src/filiale/weinanct/android/SafecheckOrderV.vue +2730 -2730
  217. package/src/filiale/weinanct/pc/NewCheckpaper.vue +1315 -1315
  218. package/src/filiale/wensu/android/AddPlanItem.vue +495 -495
  219. package/src/filiale/wensu/android/AndroidDefectDeal.vue +464 -464
  220. package/src/filiale/wensu/android/PaperFeedback.vue +1358 -1358
  221. package/src/filiale/wensu/android/SafecheckOrderV.vue +2430 -2430
  222. package/src/filiale/wensu/android/SafecheckUserInfo.vue +627 -627
  223. package/src/filiale/wensu/pc/DefectListNew.vue +735 -735
  224. package/src/filiale/wenxi/android/AddPlanItem.vue +431 -431
  225. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2671 -2671
  226. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +673 -673
  227. package/src/filiale/wenxi/pc/DefectList.vue +653 -653
  228. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1358 -1358
  229. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2241
  230. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -596
  231. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  232. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  233. package/src/filiale/wuhai/android/SafecheckOrderV.vue +2456 -2456
  234. package/src/filiale/wuhai/android/SafecheckUserInfo.vue +573 -573
  235. package/src/filiale/wuhai/pc/NewCheckpaper.vue +1281 -1281
  236. package/src/filiale/xiangyuanzhongai/android/PhoneUpUserinfo.vue +1251 -1251
  237. package/src/filiale/xinkang/pc/CheckSearchUser.vue +1026 -1026
  238. package/src/filiale/xinkang/pc/DefectListWeixiu.vue +475 -475
  239. package/src/filiale/yangchunboneng/android/AddPlanItem.vue +496 -496
  240. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2865 -2865
  241. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  242. package/src/filiale/yangchunboneng/pc/DefectListNew.vue +576 -576
  243. package/src/filiale/yongzhou/android/SafecheckOrderV.vue +2774 -2774
  244. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +776 -776
  245. package/src/filiale/yuansheng/android/SafecheckOrderV.vue +2758 -2758
  246. package/src/filiale/yuansheng/android/SafecheckUserInfo.vue +797 -797
  247. package/src/filiale/yuansheng/pc/DefectListNew.vue +524 -524
  248. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +1371 -1371
  249. package/src/filiale/yuansheng/pc/checkmsg.vue +464 -464
  250. package/src/filiale/yunchengminsheng/android/DailyworkloadQuery.vue +491 -491
  251. package/src/filiale/yunchengminsheng/android/PaperFeedback.vue +1509 -1509
  252. package/src/filiale/yunchengminsheng/android/PhoneSellInfo.vue +113 -113
  253. package/src/filiale/yunchengminsheng/android/SafecheckDevices.vue +1270 -1270
  254. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +785 -785
  255. package/src/filiale/yunchengminsheng/android.js +15 -15
  256. package/src/filiale/yunchengminsheng/pc/PaperList.vue +811 -811
  257. package/src/filiale/yunchengminsheng/pc.js +15 -15
  258. package/src/filiale/zhongsheng/android/BuyRecords.vue +122 -122
  259. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2461 -2461
  260. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +690 -690
  261. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  262. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1322 -1322
  263. package/src/filiale/zhongyi/android/SafecheckOrderV.vue +2431 -2431
  264. package/src/filiale/zhongyi/pc/DefectListNew.vue +514 -514
  265. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  266. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  267. package/src/main.js +32 -33
  268. package/src/safecheck.js +924 -924
@@ -1,891 +1,891 @@
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 ? planCondition.f_checker.id : '')"
165
- :options='getConList("checker")'
166
- :search="false"
167
- placeholder='请选择'
168
- close-on-select
169
- value-single
170
- >
171
- </v-select>
172
- </div>
173
-
174
- <div class="form-group col-sm-4" >
175
- <label class="font_normal_body">安检类型:</label>
176
- <v-select
177
- class="select select_list"
178
- :value.sync="planCondition.f_safecheck_type"
179
- v-model="planCondition.f_safecheck_type"
180
- @change="setProperty('checkplan','safechecktype',planCondition.f_safecheck_type)"
181
- :options='getConList("safechecktype")'
182
- placeholder='请选择'
183
- :search="false"
184
- close-on-select
185
- value-single
186
- >
187
- </v-select>
188
- </div>
189
- <div class="form-group col-sm-4" >
190
- <label class="font_normal_body">创&ensp;建&ensp;人:</label>
191
- <input type="text" class="input_search" v-model="planCondition.f_create_operator" @change="setProperty('checkplan','f_create_operator',planCondition.f_create_operator)"
192
- style="width: 60%" placeholder="创建人" />
193
- </div>
194
- </div>
195
- </div>
196
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
197
- <button class="button_search" @click="loadCheckPlan" style="margin-right: 15px">查询</button>
198
- <button class="button_search" @click="cancel">取消</button>
199
- </div>
200
- </modal>
201
- <modal :show.sync="showCreatePlan" v-ref:modal1 :width="'50%'" :backdrop="false">
202
- <div slot="modal-header" class="modal-header">
203
- <h4 class="modal-title">
204
- 新建计划
205
- </h4>
206
- </div>
207
- <div slot="modal-body" class="modal-body">
208
- <div class="row">
209
- <div class="form-group col-sm-4" >
210
- <label class="font_normal_body">计划名称:</label>
211
- <input type="text" class="input_search" v-model="createPlan.f_plan_name"
212
- style="width: 60%" placeholder="请选择" />
213
- </div>
214
- <div class="form-group col-sm-4" >
215
- <label class="font_normal_body">计划年份:</label>
216
- <v-select
217
- class="select select_list"
218
- :value.sync="createPlan.f_plan_year"
219
- v-model="createPlan.f_plan_year"
220
- :search="false"
221
- :options='yearList'
222
- placeholder='请选择'
223
- close-on-select
224
- value-single
225
- >
226
- </v-select>
227
- </div>
228
- <div class="form-group col-sm-4" >
229
- <label class="font_normal_body">计划月份:</label>
230
- <v-select
231
- class="select select_list"
232
- :value.sync="createPlan.f_plan_month"
233
- v-model="createPlan.f_plan_month"
234
- :search="false"
235
- :options='monthList'
236
- placeholder='请选择'
237
- close-on-select
238
- value-single>
239
- </v-select>
240
- </div>
241
- <div class="form-group col-sm-4" >
242
- <label class="font_normal_body">是否共享:</label>
243
- <v-select
244
- class="select select_list"
245
- :search="false"
246
- :value.sync="createPlan.isShare"
247
- v-model="createPlan.isShare"
248
- :options='isAndNot'
249
- placeholder='请选择'
250
- close-on-select
251
- value-single
252
- >
253
- </v-select>
254
- </div>
255
- <div class="form-group col-sm-4" v-show="createPlan.isShare=='是' && ismulchecker">
256
- <label class="font_normal_body">安&ensp;检&ensp;员:</label>
257
- <v-select
258
- class="select select_list"
259
- :value.sync="createPlan.checkers"
260
- v-model="createPlan.checkers"
261
- :options='checker'
262
- placeholder='请选择'
263
- :multiple="true"
264
- >
265
- </v-select>
266
- </div>
267
- <div class="form-group col-sm-4" v-show="createPlan.isShare=='否'">
268
- <label class="font_normal_body">安&ensp;检&ensp;员:</label>
269
- <v-select
270
- class="select select_list"
271
- :value.sync="createPlan.checker"
272
- v-model="createPlan.checker"
273
- :options='checker'
274
- placeholder='请选择'
275
- close-on-select
276
- value-single
277
- >
278
- </v-select>
279
- </div>
280
-
281
- <div class="form-group col-sm-4" >
282
- <label class="font_normal_body">安检类型:</label>
283
- <v-select
284
- class="select select_list"
285
- :value.sync="createPlan.f_safecheck_type"
286
- v-model="createPlan.f_safecheck_type"
287
- :search="false"
288
- :options='ntoway'
289
- placeholder='请选择'
290
- close-on-select
291
- value-single
292
- >
293
- </v-select>
294
- </div>
295
- </div>
296
- </div>
297
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
298
- <button class="button_search" style="margin-right: 15px" @click="addNewPlan()">创建计划</button>
299
- <button class="button_search" @click="cancel">取消</button>
300
- </div>
301
- </modal>
302
- <modal :show.sync="showUpPlan" v-ref:modal2 :backdrop="false">
303
- <div slot="modal-header" class="modal-header">
304
- <h4 class="modal-title">
305
- 修改计划
306
- </h4>
307
- </div>
308
- <div slot="modal-body" class="modal-body">
309
- <div class="row">
310
- <div class="form-group col-sm-4" >
311
- <label class="font_normal_body">计划名称:</label>
312
- <input type="text" class="input_search" v-model="upCheckPlan.f_plan_name"
313
- style="width: 60%" />
314
- </div>
315
- <div class="form-group col-sm-4" >
316
- <label class="font_normal_body">计划年份:</label>
317
- <v-select
318
- class="select select_list"
319
- :value.sync="upCheckPlan.f_plan_year"
320
- v-model="upCheckPlan.f_plan_year"
321
- :search="false"
322
- :value="upCheckPlan.f_plan_year"
323
- :options='yearList'
324
-
325
- close-on-select
326
- value-single>
327
-
328
-
329
- </v-select>
330
- <!-- <datepicker
331
- placeholder='请选择'
332
- style="width:60%"
333
- :disabled-days-of-week="[]"
334
- :format="'yyyy'"
335
- :show-rest-button="reset"
336
- :value.sync="upCheckPlan.f_plan_year"
337
- v-model="upCheckPlan.f_plan_year">
338
- </datepicker>-->
339
- </div>
340
- <div class="form-group col-sm-4" >
341
- <label class="font_normal_body">计划月份:</label>
342
- <v-select
343
- class="select select_list"
344
- :value.sync="upCheckPlan.f_plan_month"
345
- v-model="upCheckPlan.f_plan_month"
346
-
347
- :options='monthList'
348
- close-on-select
349
- value-single>
350
- </v-select>
351
- </div>
352
- <div class="form-group col-sm-4" >
353
- <label class="font_normal_body">是否共享:</label>
354
- <v-select
355
- class="select select_list"
356
- :search="false"
357
- :value.sync="upCheckPlan.isShare"
358
- v-model="upCheckPlan.isShare"
359
- :options='isAndNot'
360
- placeholder='请选择'
361
- close-on-select
362
- value-single
363
- >
364
- </v-select>
365
- </div>
366
- <div class="form-group col-sm-4" v-show="upCheckPlan.isShare=='是' && ismulchecker">
367
- <label class="font_normal_body">安&ensp;检&ensp;员:</label>
368
- <v-select
369
- class="select select_list"
370
- :value.sync="upCheckPlan.checkers"
371
- v-model="upCheckPlan.checkers"
372
- :options='checker'
373
- placeholder='请选择'
374
- :multiple="true"
375
- >
376
- </v-select>
377
- </div>
378
- <div class="form-group col-sm-4" v-show="upCheckPlan.isShare=='否'">
379
- <label class="font_normal_body">安&ensp;检&ensp;员:</label>
380
- <v-select
381
- class="select select_list"
382
- :value.sync="upCheckPlan.checker"
383
- v-model="upCheckPlan.checker"
384
- :options='checker'
385
- close-on-select
386
- value-single
387
- >
388
- </v-select>
389
- </div>
390
-
391
- <div class="form-group col-sm-4">
392
- <label class="font_normal_body">安检类型:</label>
393
- <v-select
394
- class="select select_list"
395
- :value.sync="upCheckPlan.f_safecheck_type"
396
- v-model="upCheckPlan.f_safecheck_type"
397
- :options='ntoway'
398
- close-on-select
399
- value-single
400
- >
401
- </v-select>
402
- </div>
403
- </div>
404
- </div>
405
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
406
- <button class="button_search" style="margin-right: 15px" @click="upPlan()">保存修改</button>
407
- <button class="button_search" @click="cancel">取消</button>
408
- </div>
409
- </modal>
410
- </div>
411
- </template>
412
-
413
- <script>
414
- import {SearchList,HttpResetClass, PagedList} from "vue-client";
415
- import * as Util from "../../../components/Util";
416
- import Vue from "vue";
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.f.rolesnames.includes("安检计划删除") ? true: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
- if(this.createPlan.checker && this.createPlan.checker.id){
565
- this.createPlan.f_checker_id=this.createPlan.checker.id
566
- this.createPlan.f_checker=this.createPlan.checker.name
567
- }else{
568
- Vue.showMessage("请选择安检人员!")
569
- this.isSend=false
570
- return
571
- }
572
- }
573
- console.log("this.createPlan.f_checker:"+this.createPlan.f_checker)
574
- this.createPlan.f_plan_type='预约计划'
575
- this.createPlan.f_subcompany=this.userlogin.orgstr
576
- this.createPlan.f_filialeid=this.userlogin.orgid
577
- this.createPlan.f_create_operator=this.userlogin.name
578
- this.createPlan.f_create_time=Util.toStandardTimeString()
579
- await new HttpResetClass().load('POST',"/api/af-safecheck/logic/createCheckPlan", {"data": this.createPlan},{resolveMsg : '新建计划成功!', rejectMsg : '新建计划失败!'})
580
- //await this.loadCheckPlan('',()=>{})
581
- this.createPlan={
582
- f_plan_name:'',
583
- f_plan_year:'',
584
- f_plan_month:'',
585
- isShare:'否',
586
- f_issued:'否',
587
- f_checker_id:null,
588
- checker:{},
589
- checkers:[],
590
- f_checker:null,
591
- f_checkerstr:null,
592
- f_safecheck_type:'',
593
- f_create_operator:''
594
- }
595
- await this.loadCheckPlan()
596
- this.isSend=false
597
-
598
- },
599
- validationCreatePlan(){
600
- if(!this.createPlan.f_plan_name){
601
- Vue.showMessage("请输入安检计划名称!")
602
- return false
603
- }
604
- if(!this.createPlan.f_plan_year){
605
- Vue.showMessage("请选择安检年份!")
606
- return false
607
- }
608
- if(!this.createPlan.f_plan_month){
609
- Vue.showMessage("请选择安检月份!")
610
- return false
611
- }
612
- if(this.createPlan.isShare=="否"){
613
- if(JSON.stringify(this.createPlan.checker)=='{}'){
614
- Vue.showMessage("请选择安检人员!")
615
- return false
616
- }
617
- }else{
618
- this.createPlan.f_checker=''
619
- }
620
- if(!this.createPlan.f_safecheck_type){
621
- Vue.showMessage("请选择安检类型!")
622
- return false
623
- }
624
- return true
625
- },
626
- //查询安检员selectChanged
627
- async searchChecker(){
628
- console.log(this.$login.f.orgid)
629
- let res=await new HttpResetClass().load('POST', '/rs/search', {
630
- data:{
631
- source: `root.getResourceById($${this.$login.f.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1)`,
632
- userid: this.$login.f.id
633
- }
634
- }, {resolveMsg: null, rejectMsg: null})
635
- res.data.forEach((resRow) => {
636
- this.checker.push({label:resRow.name,value:resRow})
637
- })
638
- },
639
- //设置属性值
640
- setProperty(modulename, property, value) {
641
- console.log(modulename+"新添--"+property+"--"+value)
642
- if(value=='全部'){
643
- this[modulename].search.setField(property, '')
644
- }else{
645
- this[modulename].search.setField(property, value)
646
- }
647
- },
648
- //按条件查询所有安检计划
649
- async loadCheckPlan() {
650
- this.isSend=true
651
- this.checkplan.check.checkescheckes=[]
652
- let fieldValue=''
653
- switch(this.currentorder){
654
- case "按时间降序":
655
- fieldValue='f_create_time desc'
656
- break
657
- case "按时间升序":
658
- fieldValue='f_create_time'
659
- break
660
- }
661
- console.log("--------fieldValue"+fieldValue)
662
- this.cancel()
663
- await this.checkplan.searchList("/api/af-safecheck/sql/预约计划下发",
664
- {"f_plan_name": "f_plan_name like '%{}%'",
665
- "f_plan_year":"f_plan_year={}",
666
- "f_plan_month":"f_plan_month={}",
667
- "checkerid":"f_checker_id='{}'",
668
- "isAndNot":"f_checker {}",
669
- "safechecktype":"f_safecheck_type='{}'",
670
- "issude":"f_issued = '{}'",
671
- "f_create_operator": "f_create_operator like '%{}%'"
672
- },
673
- {orderitem:fieldValue,
674
- f_filialeids:"('"+this.userlogin.orgid+"')",
675
- groupitem:""
676
- }
677
- )
678
-
679
- this.isSend=false
680
- },
681
- //加载更多数据
682
- async loadMore(modelname) {
683
- this.isSend=true
684
- await this[modelname].list.loadMore()
685
- this.isSend=false
686
- },
687
- showUpPlans(row){
688
- this.upCheckPlan.id=row.id
689
- this.upCheckPlan.f_safecheck_type=row.f_safecheck_type
690
- this.upCheckPlan.f_plan_name=row.f_plan_name
691
- this.upCheckPlan.f_plan_year=row.f_plan_year
692
- this.upCheckPlan.f_plan_month=row.f_plan_month
693
- this.upCheckPlan.f_checker_id=row.f_checker_id?row.f_checker_id:null
694
- this.upCheckPlan.f_checker=row.f_checker?row.f_checker:null
695
- this.upCheckPlan.isShare=row.f_checker_id?'否':'是'
696
- this.upCheckPlan.f_issued=row.f_issued
697
- this.upCheckPlan.checker={id:row.f_checker_id,name:row.f_checker}
698
- this.showUpPlan=true
699
- },
700
- async upPlan(){
701
- if(this.upCheckPlan.f_issued=='已下发'){
702
- this.$showMessage("该计划已下发,无法进行修改!")
703
- return
704
- }
705
- if(!this.upCheckPlan.f_plan_name){
706
- Vue.showMessage("请输入安检计划名称!")
707
- return false
708
- }
709
- if(!this.upCheckPlan.f_plan_year){
710
- Vue.showMessage("请选择安检年份!")
711
- return false
712
- }
713
- if(!this.upCheckPlan.f_plan_month){
714
- Vue.showMessage("请选择安检月份!")
715
- return false
716
- }
717
- console.log(this.upCheckPlan)
718
-
719
- if(this.upCheckPlan.isShare=="是"){
720
- if(this.ismulchecker && this.upCheckPlan.checkers.length > 0){
721
- this.upCheckPlan.checkers.forEach((value) => {
722
- this.upCheckPlan.f_checkerstr += `${value.name},`
723
- })
724
- this.upCheckPlan.f_checkerstr = this.upCheckPlan.f_checkerstr.slice(0, -1)
725
- }
726
- this.upCheckPlan.f_checker_id=null
727
- this.upCheckPlan.f_checker=null
728
- }else{
729
- this.upCheckPlan.f_checker_id=this.upCheckPlan.checker.id
730
- this.upCheckPlan.f_checker=this.upCheckPlan.checker.name
731
- }
732
- this.isSend=true
733
- let res=await new HttpResetClass().load("POST", "/api/af-safecheck/logic/updateCheckPlan", {
734
- data:{
735
- checkers:this.createPlan.checkers,
736
- f_checkerstr:this.createPlan.f_checkerstr,
737
- f_checker:this.upCheckPlan.f_checker,
738
- f_safecheck_type:this.upCheckPlan.f_safecheck_type,
739
- f_checker_id:this.upCheckPlan.f_checker_id,
740
- f_plan_name:this.upCheckPlan.f_plan_name,
741
- f_plan_year:this.upCheckPlan.f_plan_year,
742
- f_plan_month:this.upCheckPlan.f_plan_month,
743
- f_plan_id:this.upCheckPlan.id
744
- }
745
- }, {resolveMsg: null, rejectMsg: null})
746
- if(res.data.code==200){
747
- this.$showMessage("修改成功!")
748
- this.cancel()
749
- await this.loadCheckPlan()
750
- }else{
751
- this.$showMessage("修改失败!")
752
- }
753
- this.isSend=false
754
- },
755
- //下发安检计划
756
- async sendCheckPlan(f){
757
- if(this.checkplan.check.checkes.length<1){
758
- this.$showMessage("请选择要下发的安检计划")
759
- return
760
- }
761
- this.isSend=true
762
- let res=await new HttpResetClass().load("POST", "/api/af-safecheck/logic/NewBespeakCheckPlan", {
763
- data:{
764
- f_issued:'是',
765
- f_issue_time:Util.toStandardTimeString(),
766
- f_send_operator:this.userlogin.name,
767
- param:this.checkplan.check.checkes,
768
- }
769
- }, {resolveMsg: null, rejectMsg: null})
770
- if(res.data.code==200){
771
- //Vue.showMessage("下发成功!其中有"+res.data.repet+"个计划己经是下发状态")
772
- this.$showMessage("下发成功!")
773
- }else{
774
- this.$showMessage("下发失败!")
775
- }
776
- await this.loadCheckPlan()
777
- this.isSend=false
778
- },
779
- //删除安检计划
780
- async delCheckPlan(f){
781
- if(this.checkplan.check.checkes.length<1){
782
- this.$showMessage("请选择要删除的安检计划")
783
- return
784
- }
785
- this.isSend=true
786
- let res=await new HttpResetClass().load("POST", "/api/af-safecheck/logic/deleteCheckPlan", {
787
- data:{
788
- f_operator:this.userlogin.name,//global.login.name,
789
- condition:"",
790
- switchCheckAll:true,
791
- checkAll:false,
792
- param:this.checkplan.check.checkes,
793
- columnName: "f_plan_id"
794
- }
795
- }, {resolveMsg: null, rejectMsg: null})
796
- console.log(JSON.stringify(res))
797
- if(res.data.code==200){
798
- this.$showMessage("删除成功!")
799
- }else{
800
- this.$showMessage("删除失败!")
801
- }
802
- if(this.checkplan.check.checkes.indexOf(this.selectPlan.id)!= -1){
803
- this.selectPlan={id:''}
804
- console.log("包含了清空selectplan")
805
- }
806
- await this.loadCheckPlan()
807
- this.isSend=false
808
- },
809
- async refresh(){
810
- this.$refs.item.$refs.paged.$refs.criteria.search()
811
- this.$refs.user.$refs.paged.$refs.criteria.search()
812
- await this.loadCheckPlan()
813
- },
814
- async refreshPlan(){
815
- this.$refs.item.$refs.paged.$refs.criteria.search()
816
- await this.loadCheckPlan()
817
- }
818
- }
819
- }
820
- </script>
821
-
822
- <style scoped>
823
- .safe-planfont{
824
- font-family: MicrosoftYaHei;
825
- font-size: 15px;
826
- font-weight: normal;
827
- font-stretch: normal;
828
- letter-spacing: 2px;
829
- color: #333333;
830
- line-height: 25px;
831
- }
832
- .safe-bodyfont{
833
- font-family: MicrosoftYaHei;
834
- font-size: 14px;
835
- font-weight: normal;
836
- font-stretch: normal;
837
- letter-spacing: 0px;
838
- color: #999999;
839
- line-height: 30px;
840
- }
841
- .safe-leftplan{
842
- height:auto;
843
- border-bottom:1px solid #ececec;
844
- padding: 10px 5px
845
- }
846
- .leftplan-center{
847
- border-top:1px solid #ececec;
848
- border-bottom:1px solid #ececec;
849
- }
850
- .safe_p{
851
- white-space: nowrap;
852
- overflow: hidden;
853
- text-overflow: ellipsis;
854
- }
855
- .safe-div-p{
856
- color: #4792de;
857
- text-align: end;
858
- padding: 8px 15px;
859
- }
860
- .safe_list_li:hover{
861
- background-color: rgb(245,246,247);
862
- }
863
- .safe-selectplan{
864
- pointer-events: none;
865
- background-color: rgb(216,234,251);
866
- }
867
- .safe_plan_list{
868
- height: 80%;
869
- overflow: scroll;
870
- }
871
-
872
- </style>
873
- <style>
874
- .safe_plan_list::-webkit-scrollbar{
875
- background-color: #F5F5F5;
876
- }
877
-
878
- /*定义滚动条轨道 内阴影+圆角*/
879
- .safe_plan_list::-webkit-scrollbar-track{
880
- -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
881
- border-radius: 10px;
882
- background-color: #F5F5F5;
883
- }
884
-
885
- /*定义滑块 内阴影+圆角*/
886
- .safe_plan_list::-webkit-scrollbar-thumb{
887
- border-radius: 10px;
888
- -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
889
- background-color: #F5F5F5;
890
- }
891
- </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 ? planCondition.f_checker.id : '')"
165
+ :options='getConList("checker")'
166
+ :search="false"
167
+ placeholder='请选择'
168
+ close-on-select
169
+ value-single
170
+ >
171
+ </v-select>
172
+ </div>
173
+
174
+ <div class="form-group col-sm-4" >
175
+ <label class="font_normal_body">安检类型:</label>
176
+ <v-select
177
+ class="select select_list"
178
+ :value.sync="planCondition.f_safecheck_type"
179
+ v-model="planCondition.f_safecheck_type"
180
+ @change="setProperty('checkplan','safechecktype',planCondition.f_safecheck_type)"
181
+ :options='getConList("safechecktype")'
182
+ placeholder='请选择'
183
+ :search="false"
184
+ close-on-select
185
+ value-single
186
+ >
187
+ </v-select>
188
+ </div>
189
+ <div class="form-group col-sm-4" >
190
+ <label class="font_normal_body">创&ensp;建&ensp;人:</label>
191
+ <input type="text" class="input_search" v-model="planCondition.f_create_operator" @change="setProperty('checkplan','f_create_operator',planCondition.f_create_operator)"
192
+ style="width: 60%" placeholder="创建人" />
193
+ </div>
194
+ </div>
195
+ </div>
196
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
197
+ <button class="button_search" @click="loadCheckPlan" style="margin-right: 15px">查询</button>
198
+ <button class="button_search" @click="cancel">取消</button>
199
+ </div>
200
+ </modal>
201
+ <modal :show.sync="showCreatePlan" v-ref:modal1 :width="'50%'" :backdrop="false">
202
+ <div slot="modal-header" class="modal-header">
203
+ <h4 class="modal-title">
204
+ 新建计划
205
+ </h4>
206
+ </div>
207
+ <div slot="modal-body" class="modal-body">
208
+ <div class="row">
209
+ <div class="form-group col-sm-4" >
210
+ <label class="font_normal_body">计划名称:</label>
211
+ <input type="text" class="input_search" v-model="createPlan.f_plan_name"
212
+ style="width: 60%" placeholder="请选择" />
213
+ </div>
214
+ <div class="form-group col-sm-4" >
215
+ <label class="font_normal_body">计划年份:</label>
216
+ <v-select
217
+ class="select select_list"
218
+ :value.sync="createPlan.f_plan_year"
219
+ v-model="createPlan.f_plan_year"
220
+ :search="false"
221
+ :options='yearList'
222
+ placeholder='请选择'
223
+ close-on-select
224
+ value-single
225
+ >
226
+ </v-select>
227
+ </div>
228
+ <div class="form-group col-sm-4" >
229
+ <label class="font_normal_body">计划月份:</label>
230
+ <v-select
231
+ class="select select_list"
232
+ :value.sync="createPlan.f_plan_month"
233
+ v-model="createPlan.f_plan_month"
234
+ :search="false"
235
+ :options='monthList'
236
+ placeholder='请选择'
237
+ close-on-select
238
+ value-single>
239
+ </v-select>
240
+ </div>
241
+ <div class="form-group col-sm-4" >
242
+ <label class="font_normal_body">是否共享:</label>
243
+ <v-select
244
+ class="select select_list"
245
+ :search="false"
246
+ :value.sync="createPlan.isShare"
247
+ v-model="createPlan.isShare"
248
+ :options='isAndNot'
249
+ placeholder='请选择'
250
+ close-on-select
251
+ value-single
252
+ >
253
+ </v-select>
254
+ </div>
255
+ <div class="form-group col-sm-4" v-show="createPlan.isShare=='是' && ismulchecker">
256
+ <label class="font_normal_body">安&ensp;检&ensp;员:</label>
257
+ <v-select
258
+ class="select select_list"
259
+ :value.sync="createPlan.checkers"
260
+ v-model="createPlan.checkers"
261
+ :options='checker'
262
+ placeholder='请选择'
263
+ :multiple="true"
264
+ >
265
+ </v-select>
266
+ </div>
267
+ <div class="form-group col-sm-4" v-show="createPlan.isShare=='否'">
268
+ <label class="font_normal_body">安&ensp;检&ensp;员:</label>
269
+ <v-select
270
+ class="select select_list"
271
+ :value.sync="createPlan.checker"
272
+ v-model="createPlan.checker"
273
+ :options='checker'
274
+ placeholder='请选择'
275
+ close-on-select
276
+ value-single
277
+ >
278
+ </v-select>
279
+ </div>
280
+
281
+ <div class="form-group col-sm-4" >
282
+ <label class="font_normal_body">安检类型:</label>
283
+ <v-select
284
+ class="select select_list"
285
+ :value.sync="createPlan.f_safecheck_type"
286
+ v-model="createPlan.f_safecheck_type"
287
+ :search="false"
288
+ :options='ntoway'
289
+ placeholder='请选择'
290
+ close-on-select
291
+ value-single
292
+ >
293
+ </v-select>
294
+ </div>
295
+ </div>
296
+ </div>
297
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
298
+ <button class="button_search" style="margin-right: 15px" @click="addNewPlan()">创建计划</button>
299
+ <button class="button_search" @click="cancel">取消</button>
300
+ </div>
301
+ </modal>
302
+ <modal :show.sync="showUpPlan" v-ref:modal2 :backdrop="false">
303
+ <div slot="modal-header" class="modal-header">
304
+ <h4 class="modal-title">
305
+ 修改计划
306
+ </h4>
307
+ </div>
308
+ <div slot="modal-body" class="modal-body">
309
+ <div class="row">
310
+ <div class="form-group col-sm-4" >
311
+ <label class="font_normal_body">计划名称:</label>
312
+ <input type="text" class="input_search" v-model="upCheckPlan.f_plan_name"
313
+ style="width: 60%" />
314
+ </div>
315
+ <div class="form-group col-sm-4" >
316
+ <label class="font_normal_body">计划年份:</label>
317
+ <v-select
318
+ class="select select_list"
319
+ :value.sync="upCheckPlan.f_plan_year"
320
+ v-model="upCheckPlan.f_plan_year"
321
+ :search="false"
322
+ :value="upCheckPlan.f_plan_year"
323
+ :options='yearList'
324
+
325
+ close-on-select
326
+ value-single>
327
+
328
+
329
+ </v-select>
330
+ <!-- <datepicker
331
+ placeholder='请选择'
332
+ style="width:60%"
333
+ :disabled-days-of-week="[]"
334
+ :format="'yyyy'"
335
+ :show-rest-button="reset"
336
+ :value.sync="upCheckPlan.f_plan_year"
337
+ v-model="upCheckPlan.f_plan_year">
338
+ </datepicker>-->
339
+ </div>
340
+ <div class="form-group col-sm-4" >
341
+ <label class="font_normal_body">计划月份:</label>
342
+ <v-select
343
+ class="select select_list"
344
+ :value.sync="upCheckPlan.f_plan_month"
345
+ v-model="upCheckPlan.f_plan_month"
346
+
347
+ :options='monthList'
348
+ close-on-select
349
+ value-single>
350
+ </v-select>
351
+ </div>
352
+ <div class="form-group col-sm-4" >
353
+ <label class="font_normal_body">是否共享:</label>
354
+ <v-select
355
+ class="select select_list"
356
+ :search="false"
357
+ :value.sync="upCheckPlan.isShare"
358
+ v-model="upCheckPlan.isShare"
359
+ :options='isAndNot'
360
+ placeholder='请选择'
361
+ close-on-select
362
+ value-single
363
+ >
364
+ </v-select>
365
+ </div>
366
+ <div class="form-group col-sm-4" v-show="upCheckPlan.isShare=='是' && ismulchecker">
367
+ <label class="font_normal_body">安&ensp;检&ensp;员:</label>
368
+ <v-select
369
+ class="select select_list"
370
+ :value.sync="upCheckPlan.checkers"
371
+ v-model="upCheckPlan.checkers"
372
+ :options='checker'
373
+ placeholder='请选择'
374
+ :multiple="true"
375
+ >
376
+ </v-select>
377
+ </div>
378
+ <div class="form-group col-sm-4" v-show="upCheckPlan.isShare=='否'">
379
+ <label class="font_normal_body">安&ensp;检&ensp;员:</label>
380
+ <v-select
381
+ class="select select_list"
382
+ :value.sync="upCheckPlan.checker"
383
+ v-model="upCheckPlan.checker"
384
+ :options='checker'
385
+ close-on-select
386
+ value-single
387
+ >
388
+ </v-select>
389
+ </div>
390
+
391
+ <div class="form-group col-sm-4">
392
+ <label class="font_normal_body">安检类型:</label>
393
+ <v-select
394
+ class="select select_list"
395
+ :value.sync="upCheckPlan.f_safecheck_type"
396
+ v-model="upCheckPlan.f_safecheck_type"
397
+ :options='ntoway'
398
+ close-on-select
399
+ value-single
400
+ >
401
+ </v-select>
402
+ </div>
403
+ </div>
404
+ </div>
405
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
406
+ <button class="button_search" style="margin-right: 15px" @click="upPlan()">保存修改</button>
407
+ <button class="button_search" @click="cancel">取消</button>
408
+ </div>
409
+ </modal>
410
+ </div>
411
+ </template>
412
+
413
+ <script>
414
+ import {SearchList,HttpResetClass, PagedList} from "vue-client";
415
+ import * as Util from "../../../components/Util";
416
+ import Vue from "vue";
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.f.rolesnames.includes("安检计划删除") ? true: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
+ if(this.createPlan.checker && this.createPlan.checker.id){
565
+ this.createPlan.f_checker_id=this.createPlan.checker.id
566
+ this.createPlan.f_checker=this.createPlan.checker.name
567
+ }else{
568
+ Vue.showMessage("请选择安检人员!")
569
+ this.isSend=false
570
+ return
571
+ }
572
+ }
573
+ console.log("this.createPlan.f_checker:"+this.createPlan.f_checker)
574
+ this.createPlan.f_plan_type='预约计划'
575
+ this.createPlan.f_subcompany=this.userlogin.orgstr
576
+ this.createPlan.f_filialeid=this.userlogin.orgid
577
+ this.createPlan.f_create_operator=this.userlogin.name
578
+ this.createPlan.f_create_time=Util.toStandardTimeString()
579
+ await new HttpResetClass().load('POST',"/api/af-safecheck/logic/createCheckPlan", {"data": this.createPlan},{resolveMsg : '新建计划成功!', rejectMsg : '新建计划失败!'})
580
+ //await this.loadCheckPlan('',()=>{})
581
+ this.createPlan={
582
+ f_plan_name:'',
583
+ f_plan_year:'',
584
+ f_plan_month:'',
585
+ isShare:'否',
586
+ f_issued:'否',
587
+ f_checker_id:null,
588
+ checker:{},
589
+ checkers:[],
590
+ f_checker:null,
591
+ f_checkerstr:null,
592
+ f_safecheck_type:'',
593
+ f_create_operator:''
594
+ }
595
+ await this.loadCheckPlan()
596
+ this.isSend=false
597
+
598
+ },
599
+ validationCreatePlan(){
600
+ if(!this.createPlan.f_plan_name){
601
+ Vue.showMessage("请输入安检计划名称!")
602
+ return false
603
+ }
604
+ if(!this.createPlan.f_plan_year){
605
+ Vue.showMessage("请选择安检年份!")
606
+ return false
607
+ }
608
+ if(!this.createPlan.f_plan_month){
609
+ Vue.showMessage("请选择安检月份!")
610
+ return false
611
+ }
612
+ if(this.createPlan.isShare=="否"){
613
+ if(JSON.stringify(this.createPlan.checker)=='{}'){
614
+ Vue.showMessage("请选择安检人员!")
615
+ return false
616
+ }
617
+ }else{
618
+ this.createPlan.f_checker=''
619
+ }
620
+ if(!this.createPlan.f_safecheck_type){
621
+ Vue.showMessage("请选择安检类型!")
622
+ return false
623
+ }
624
+ return true
625
+ },
626
+ //查询安检员selectChanged
627
+ async searchChecker(){
628
+ console.log(this.$login.f.orgid)
629
+ let res=await new HttpResetClass().load('POST', '/rs/search', {
630
+ data:{
631
+ source: `root.getResourceById($${this.$login.f.orgid}$,$organization$).getSpecialResByType($user$).where(row.getAttributes().get($rolestr$).indexOf($安检员$) != -1)`,
632
+ userid: this.$login.f.id
633
+ }
634
+ }, {resolveMsg: null, rejectMsg: null})
635
+ res.data.forEach((resRow) => {
636
+ this.checker.push({label:resRow.name,value:resRow})
637
+ })
638
+ },
639
+ //设置属性值
640
+ setProperty(modulename, property, value) {
641
+ console.log(modulename+"新添--"+property+"--"+value)
642
+ if(value=='全部'){
643
+ this[modulename].search.setField(property, '')
644
+ }else{
645
+ this[modulename].search.setField(property, value)
646
+ }
647
+ },
648
+ //按条件查询所有安检计划
649
+ async loadCheckPlan() {
650
+ this.isSend=true
651
+ this.checkplan.check.checkescheckes=[]
652
+ let fieldValue=''
653
+ switch(this.currentorder){
654
+ case "按时间降序":
655
+ fieldValue='f_create_time desc'
656
+ break
657
+ case "按时间升序":
658
+ fieldValue='f_create_time'
659
+ break
660
+ }
661
+ console.log("--------fieldValue"+fieldValue)
662
+ this.cancel()
663
+ await this.checkplan.searchList("/api/af-safecheck/sql/预约计划下发",
664
+ {"f_plan_name": "f_plan_name like '%{}%'",
665
+ "f_plan_year":"f_plan_year={}",
666
+ "f_plan_month":"f_plan_month={}",
667
+ "checkerid":"f_checker_id='{}'",
668
+ "isAndNot":"f_checker {}",
669
+ "safechecktype":"f_safecheck_type='{}'",
670
+ "issude":"f_issued = '{}'",
671
+ "f_create_operator": "f_create_operator like '%{}%'"
672
+ },
673
+ {orderitem:fieldValue,
674
+ f_filialeids:"('"+this.userlogin.orgid+"')",
675
+ groupitem:""
676
+ }
677
+ )
678
+
679
+ this.isSend=false
680
+ },
681
+ //加载更多数据
682
+ async loadMore(modelname) {
683
+ this.isSend=true
684
+ await this[modelname].list.loadMore()
685
+ this.isSend=false
686
+ },
687
+ showUpPlans(row){
688
+ this.upCheckPlan.id=row.id
689
+ this.upCheckPlan.f_safecheck_type=row.f_safecheck_type
690
+ this.upCheckPlan.f_plan_name=row.f_plan_name
691
+ this.upCheckPlan.f_plan_year=row.f_plan_year
692
+ this.upCheckPlan.f_plan_month=row.f_plan_month
693
+ this.upCheckPlan.f_checker_id=row.f_checker_id?row.f_checker_id:null
694
+ this.upCheckPlan.f_checker=row.f_checker?row.f_checker:null
695
+ this.upCheckPlan.isShare=row.f_checker_id?'否':'是'
696
+ this.upCheckPlan.f_issued=row.f_issued
697
+ this.upCheckPlan.checker={id:row.f_checker_id,name:row.f_checker}
698
+ this.showUpPlan=true
699
+ },
700
+ async upPlan(){
701
+ if(this.upCheckPlan.f_issued=='已下发'){
702
+ this.$showMessage("该计划已下发,无法进行修改!")
703
+ return
704
+ }
705
+ if(!this.upCheckPlan.f_plan_name){
706
+ Vue.showMessage("请输入安检计划名称!")
707
+ return false
708
+ }
709
+ if(!this.upCheckPlan.f_plan_year){
710
+ Vue.showMessage("请选择安检年份!")
711
+ return false
712
+ }
713
+ if(!this.upCheckPlan.f_plan_month){
714
+ Vue.showMessage("请选择安检月份!")
715
+ return false
716
+ }
717
+ console.log(this.upCheckPlan)
718
+
719
+ if(this.upCheckPlan.isShare=="是"){
720
+ if(this.ismulchecker && this.upCheckPlan.checkers.length > 0){
721
+ this.upCheckPlan.checkers.forEach((value) => {
722
+ this.upCheckPlan.f_checkerstr += `${value.name},`
723
+ })
724
+ this.upCheckPlan.f_checkerstr = this.upCheckPlan.f_checkerstr.slice(0, -1)
725
+ }
726
+ this.upCheckPlan.f_checker_id=null
727
+ this.upCheckPlan.f_checker=null
728
+ }else{
729
+ this.upCheckPlan.f_checker_id=this.upCheckPlan.checker.id
730
+ this.upCheckPlan.f_checker=this.upCheckPlan.checker.name
731
+ }
732
+ this.isSend=true
733
+ let res=await new HttpResetClass().load("POST", "/api/af-safecheck/logic/updateCheckPlan", {
734
+ data:{
735
+ checkers:this.createPlan.checkers,
736
+ f_checkerstr:this.createPlan.f_checkerstr,
737
+ f_checker:this.upCheckPlan.f_checker,
738
+ f_safecheck_type:this.upCheckPlan.f_safecheck_type,
739
+ f_checker_id:this.upCheckPlan.f_checker_id,
740
+ f_plan_name:this.upCheckPlan.f_plan_name,
741
+ f_plan_year:this.upCheckPlan.f_plan_year,
742
+ f_plan_month:this.upCheckPlan.f_plan_month,
743
+ f_plan_id:this.upCheckPlan.id
744
+ }
745
+ }, {resolveMsg: null, rejectMsg: null})
746
+ if(res.data.code==200){
747
+ this.$showMessage("修改成功!")
748
+ this.cancel()
749
+ await this.loadCheckPlan()
750
+ }else{
751
+ this.$showMessage("修改失败!")
752
+ }
753
+ this.isSend=false
754
+ },
755
+ //下发安检计划
756
+ async sendCheckPlan(f){
757
+ if(this.checkplan.check.checkes.length<1){
758
+ this.$showMessage("请选择要下发的安检计划")
759
+ return
760
+ }
761
+ this.isSend=true
762
+ let res=await new HttpResetClass().load("POST", "/api/af-safecheck/logic/NewBespeakCheckPlan", {
763
+ data:{
764
+ f_issued:'是',
765
+ f_issue_time:Util.toStandardTimeString(),
766
+ f_send_operator:this.userlogin.name,
767
+ param:this.checkplan.check.checkes,
768
+ }
769
+ }, {resolveMsg: null, rejectMsg: null})
770
+ if(res.data.code==200){
771
+ //Vue.showMessage("下发成功!其中有"+res.data.repet+"个计划己经是下发状态")
772
+ this.$showMessage("下发成功!")
773
+ }else{
774
+ this.$showMessage("下发失败!")
775
+ }
776
+ await this.loadCheckPlan()
777
+ this.isSend=false
778
+ },
779
+ //删除安检计划
780
+ async delCheckPlan(f){
781
+ if(this.checkplan.check.checkes.length<1){
782
+ this.$showMessage("请选择要删除的安检计划")
783
+ return
784
+ }
785
+ this.isSend=true
786
+ let res=await new HttpResetClass().load("POST", "/api/af-safecheck/logic/deleteCheckPlan", {
787
+ data:{
788
+ f_operator:this.userlogin.name,//global.login.name,
789
+ condition:"",
790
+ switchCheckAll:true,
791
+ checkAll:false,
792
+ param:this.checkplan.check.checkes,
793
+ columnName: "f_plan_id"
794
+ }
795
+ }, {resolveMsg: null, rejectMsg: null})
796
+ console.log(JSON.stringify(res))
797
+ if(res.data.code==200){
798
+ this.$showMessage("删除成功!")
799
+ }else{
800
+ this.$showMessage("删除失败!")
801
+ }
802
+ if(this.checkplan.check.checkes.indexOf(this.selectPlan.id)!= -1){
803
+ this.selectPlan={id:''}
804
+ console.log("包含了清空selectplan")
805
+ }
806
+ await this.loadCheckPlan()
807
+ this.isSend=false
808
+ },
809
+ async refresh(){
810
+ this.$refs.item.$refs.paged.$refs.criteria.search()
811
+ this.$refs.user.$refs.paged.$refs.criteria.search()
812
+ await this.loadCheckPlan()
813
+ },
814
+ async refreshPlan(){
815
+ this.$refs.item.$refs.paged.$refs.criteria.search()
816
+ await this.loadCheckPlan()
817
+ }
818
+ }
819
+ }
820
+ </script>
821
+
822
+ <style scoped>
823
+ .safe-planfont{
824
+ font-family: MicrosoftYaHei;
825
+ font-size: 15px;
826
+ font-weight: normal;
827
+ font-stretch: normal;
828
+ letter-spacing: 2px;
829
+ color: #333333;
830
+ line-height: 25px;
831
+ }
832
+ .safe-bodyfont{
833
+ font-family: MicrosoftYaHei;
834
+ font-size: 14px;
835
+ font-weight: normal;
836
+ font-stretch: normal;
837
+ letter-spacing: 0px;
838
+ color: #999999;
839
+ line-height: 30px;
840
+ }
841
+ .safe-leftplan{
842
+ height:auto;
843
+ border-bottom:1px solid #ececec;
844
+ padding: 10px 5px
845
+ }
846
+ .leftplan-center{
847
+ border-top:1px solid #ececec;
848
+ border-bottom:1px solid #ececec;
849
+ }
850
+ .safe_p{
851
+ white-space: nowrap;
852
+ overflow: hidden;
853
+ text-overflow: ellipsis;
854
+ }
855
+ .safe-div-p{
856
+ color: #4792de;
857
+ text-align: end;
858
+ padding: 8px 15px;
859
+ }
860
+ .safe_list_li:hover{
861
+ background-color: rgb(245,246,247);
862
+ }
863
+ .safe-selectplan{
864
+ pointer-events: none;
865
+ background-color: rgb(216,234,251);
866
+ }
867
+ .safe_plan_list{
868
+ height: 80%;
869
+ overflow: scroll;
870
+ }
871
+
872
+ </style>
873
+ <style>
874
+ .safe_plan_list::-webkit-scrollbar{
875
+ background-color: #F5F5F5;
876
+ }
877
+
878
+ /*定义滚动条轨道 内阴影+圆角*/
879
+ .safe_plan_list::-webkit-scrollbar-track{
880
+ -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
881
+ border-radius: 10px;
882
+ background-color: #F5F5F5;
883
+ }
884
+
885
+ /*定义滑块 内阴影+圆角*/
886
+ .safe_plan_list::-webkit-scrollbar-thumb{
887
+ border-radius: 10px;
888
+ -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
889
+ background-color: #F5F5F5;
890
+ }
891
+ </style>