safecheck-client 4.0.1-70 → 4.0.1-72

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