safecheck-client 4.0.0-79 → 4.0.0-80

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 (220) 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/android/AddPlanItem.vue +447 -447
  6. package/src/components/android/AddPlanItemYy.vue +451 -451
  7. package/src/components/android/AddSpecialPlanItem.vue +426 -426
  8. package/src/components/android/CurrentCreateYy.vue +1051 -1051
  9. package/src/components/android/Devices.vue +327 -327
  10. package/src/components/android/Devicesm.vue +327 -327
  11. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  12. package/src/components/android/PhoneRecordInfo.vue +113 -113
  13. package/src/components/android/PhoneSellInfo.vue +113 -113
  14. package/src/components/android/PhoneUpDetail.vue +1040 -1040
  15. package/src/components/android/QRCode/QRCodeBinding.vue +300 -300
  16. package/src/components/android/QRCode/QRCodePage.vue +212 -212
  17. package/src/components/android/SafePlanItem.vue +509 -509
  18. package/src/components/android/examples/SafeListExamples.vue +296 -296
  19. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  20. package/src/components/android/recheck/Recheck.vue +402 -402
  21. package/src/components/android/userinfo/SafecheckUserInfo.vue +776 -776
  22. package/src/components/checkplan/checkmsg.vue +459 -459
  23. package/src/components/defect/DefectList.vue +507 -507
  24. package/src/components/defect/DefectListWeixiu.vue +484 -484
  25. package/src/components/filialCircle/CircleList.vue +139 -139
  26. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  27. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  28. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  29. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  30. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  31. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  32. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  33. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  34. package/src/components/pc/AnnouncementPC.vue +524 -524
  35. package/src/components/pc/DefectList.vue +742 -742
  36. package/src/components/pc/DeviceChange.vue +1068 -1068
  37. package/src/components/pc/SafeVisitInfo.vue +261 -261
  38. package/src/components/querycheckpaper/CheckPaperList.vue +130 -130
  39. package/src/components/report/HiddenSituation.vue +165 -165
  40. package/src/components/rongcheng/AspiratedOrderV.vue +2377 -2377
  41. package/src/components/rongcheng/CurrentCreateOnline.vue +906 -906
  42. package/src/components/rongcheng/DefectList.vue +560 -560
  43. package/src/components/rongcheng/SafecheckOrderVCli.vue +2641 -2641
  44. package/src/components/safecheckNew/android/AddPlanItem.vue +419 -419
  45. package/src/components/safecheckNew/android/CurrentCreate.vue +1050 -1050
  46. package/src/components/safecheckNew/android/Recheck.vue +379 -379
  47. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  48. package/src/components/shaoguan/DefectList.vue +473 -473
  49. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  50. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  51. package/src/components/userfile/SecurityAudit.vue +243 -243
  52. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +476 -476
  53. package/src/filiale/ancheng/android/SafecheckOrderV.vue +2703 -2703
  54. package/src/filiale/ancheng/android/SafecheckUserInfo.vue +737 -737
  55. package/src/filiale/ancheng/pc/checkScreen.vue +923 -923
  56. package/src/filiale/ankangyihua/android/AddPlanItem.vue +446 -446
  57. package/src/filiale/ankangyihua/android/SafecheckOrderV.vue +2908 -2908
  58. package/src/filiale/ankangyihua/pc/DefectListWeixiu.vue +491 -491
  59. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -2785
  60. package/src/filiale/baiyin/pc/DefectListNew.vue +597 -597
  61. package/src/filiale/bayan/android/Edit.vue +132 -132
  62. package/src/filiale/bayan/pc/DefectListNew.vue +597 -597
  63. package/src/filiale/bayan/pc/DeviceChange.vue +1838 -1838
  64. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  65. package/src/filiale/dexin/android/CasualSave.vue +1050 -1050
  66. package/src/filiale/dexin/android/SafecheckOrderV.vue +2950 -2950
  67. package/src/filiale/fugou/android/AddPlanItem.vue +413 -413
  68. package/src/filiale/fugou/android/SafecheckOrderV.vue +2796 -2796
  69. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +830 -830
  70. package/src/filiale/fugu/android/SafecheckOrderV.vue +2484 -2484
  71. package/src/filiale/fugu/pc/NewCheckpaper.vue +1287 -1287
  72. package/src/filiale/ganquan/android/AddPlanItem.vue +444 -444
  73. package/src/filiale/ganquan/android/SafecheckOrderV.vue +2485 -2485
  74. package/src/filiale/ganquan/pc/NewCheckpaper.vue +1354 -1354
  75. package/src/filiale/guangxi/pc/DefectListNew.vue +518 -518
  76. package/src/filiale/hanzhong/android/SafecheckOrderV.vue +2683 -2683
  77. package/src/filiale/hanzhong/android/SafecheckUserInfo.vue +786 -786
  78. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -2803
  79. package/src/filiale/huatong/android/SafecheckOrderV.vue +2426 -2426
  80. package/src/filiale/huatong/android/SafecheckUserInfo.vue +749 -749
  81. package/src/filiale/huayin/pc/NewCheckpaper.vue +1307 -1307
  82. package/src/filiale/jiaocheng/android/AddPlanItem.vue +435 -435
  83. package/src/filiale/jiaocheng/android/SafecheckUserInfo.vue +737 -737
  84. package/src/filiale/jiaocheng/pc/DefectListNew.vue +576 -576
  85. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -447
  86. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2807
  87. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -784
  88. package/src/filiale/jinbin/pc/DefectListWeixiu.vue +478 -478
  89. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -458
  90. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
  91. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +781 -781
  92. package/src/filiale/kelai/android/AddPlanItem.vue +488 -488
  93. package/src/filiale/kelai/android/SafecheckUserInfo.vue +774 -774
  94. package/src/filiale/kelai/android/SafecheckUserInfo1.vue +618 -618
  95. package/src/filiale/kelai/pc/DefectListNew.vue +688 -688
  96. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasList.vue +518 -518
  97. package/src/filiale/kelai/pc/NewCheckpaper.vue +1454 -1454
  98. package/src/filiale/liaoyuan/android/AddPlanItem.vue +412 -412
  99. package/src/filiale/liaoyuan/android/CurrentCreate.vue +1066 -1066
  100. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2388 -2388
  101. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +557 -557
  102. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +489 -489
  103. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  104. package/src/filiale/lixian/android/SafecheckOrderV.vue +2404 -2404
  105. package/src/filiale/lixian/android/SafecheckUserInfo.vue +578 -578
  106. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  107. package/src/filiale/meihekou/android/CurrentCreate.vue +1090 -1087
  108. package/src/filiale/meihekou/android/MeterReading.vue +106 -106
  109. package/src/filiale/meihekou/android/SafecheckOrderV.vue +2407 -2400
  110. package/src/filiale/minsheng/android/SafecheckUserInfo.vue +754 -754
  111. package/src/filiale/minsheng/pc/DefectListNew.vue +535 -535
  112. package/src/filiale/pingxiang/android/SafecheckOrderV.vue +2424 -2424
  113. package/src/filiale/pingxiang/android/SafecheckUserInfo.vue +600 -600
  114. package/src/filiale/pingxiang/pc/DefectListNew.vue +519 -519
  115. package/src/filiale/pingxiang/pc/NewCheckpaper.vue +1294 -1294
  116. package/src/filiale/qianneng/android/AddPlanItem.vue +482 -482
  117. package/src/filiale/qianneng/android/SafecheckOrderV.vue +2785 -2785
  118. package/src/filiale/qianneng/android/SafecheckUserInfo.vue +775 -775
  119. package/src/filiale/qianneng/pc/DefectListNew.vue +576 -576
  120. package/src/filiale/qianneng/pc/NewCheckpaper.vue +1546 -1546
  121. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2844 -2844
  122. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +800 -800
  123. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -450
  124. package/src/filiale/qingtongxia/android/SafecheckOrderV.vue +2726 -2726
  125. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -782
  126. package/src/filiale/qingtongxia/pc/DefectListNew.vue +594 -594
  127. package/src/filiale/rizhao/android/AddPlanItem.vue +446 -446
  128. package/src/filiale/rizhao/android/SafecheckOrderV.vue +2430 -2430
  129. package/src/filiale/rizhao/android/SafecheckUserInfo.vue +640 -640
  130. package/src/filiale/rizhao/pc/DefectList.vue +489 -489
  131. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +2696 -2696
  132. package/src/filiale/rongchuang/android/checkpapermsg.vue +209 -209
  133. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -2747
  134. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -804
  135. package/src/filiale/shanggao/android/SafecheckOrderV.vue +2426 -2426
  136. package/src/filiale/shanxian/android/SafecheckUserInfo.vue +749 -749
  137. package/src/filiale/shanxian/pc/HiddenSituation.vue +121 -121
  138. package/src/filiale/shanxian/pc/NewCheckpaper.vue +1526 -1526
  139. package/src/filiale/shexian/android/AddPlanItem.vue +444 -444
  140. package/src/filiale/shexian/android/SafecheckOrderV.vue +2879 -2879
  141. package/src/filiale/shexian/pc/DefectListNew.vue +593 -593
  142. package/src/filiale/shexian/pc/NewCheckpaper.vue +1469 -1469
  143. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  144. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  145. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  146. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  147. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -1051
  148. package/src/filiale/siyang/android/PhoneRecordInfo.vue +214 -214
  149. package/src/filiale/siyang/android/SafecheckOrderV.vue +2796 -2796
  150. package/src/filiale/siyang/android/SafecheckUserInfo.vue +789 -789
  151. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -167
  152. package/src/filiale/tianke/android/AddPlanItem.vue +455 -455
  153. package/src/filiale/tianke/android/SafecheckOrderV.vue +2431 -2431
  154. package/src/filiale/tianke/android/SafecheckUserInfo.vue +744 -744
  155. package/src/filiale/tongchuan/android/AddPlanItem.vue +483 -483
  156. package/src/filiale/tongchuan/android/PhoneRecordInfo.vue +191 -191
  157. package/src/filiale/tongchuan/android/PhoneSellInfo.vue +113 -113
  158. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +720 -720
  159. package/src/filiale/tongchuan/pc/CheckBookDetails.vue +209 -209
  160. package/src/filiale/tongchuan/pc/DefectListWeixiu.vue +484 -484
  161. package/src/filiale/tongchuan/pc/HiddenSituation.vue +166 -166
  162. package/src/filiale/weinan/android/AddPlanItem.vue +438 -438
  163. package/src/filiale/weinan/android/CurrentCreate.vue +1171 -1171
  164. package/src/filiale/weinan/android/CurrentCreateOnline.vue +911 -911
  165. package/src/filiale/weinan/android/SafePlanItem.vue +440 -440
  166. package/src/filiale/weinan/android/SafecheckUserInfo.vue +778 -778
  167. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  168. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -1088
  169. package/src/filiale/weinan/pc/HiddenSituation.vue +167 -167
  170. package/src/filiale/weinan/pc/checkScreen.vue +1094 -1094
  171. package/src/filiale/weinanct/android/SafecheckOrderV.vue +2730 -2730
  172. package/src/filiale/weinanct/pc/NewCheckpaper.vue +1315 -1315
  173. package/src/filiale/wensu/android/AddPlanItem.vue +495 -495
  174. package/src/filiale/wensu/android/AndroidDefectDeal.vue +464 -464
  175. package/src/filiale/wensu/android/PaperFeedback.vue +1358 -1358
  176. package/src/filiale/wensu/android/SafecheckOrderV.vue +2430 -2430
  177. package/src/filiale/wensu/android/SafecheckUserInfo.vue +627 -627
  178. package/src/filiale/wensu/pc/DefectListNew.vue +735 -735
  179. package/src/filiale/wenxi/android/AddPlanItem.vue +431 -431
  180. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2671 -2671
  181. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +673 -673
  182. package/src/filiale/wenxi/pc/DefectList.vue +653 -653
  183. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1358 -1358
  184. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2241
  185. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -596
  186. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  187. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  188. package/src/filiale/wuhai/android/SafecheckOrderV.vue +2456 -2456
  189. package/src/filiale/wuhai/android/SafecheckUserInfo.vue +573 -573
  190. package/src/filiale/wuhai/pc/NewCheckpaper.vue +1281 -1281
  191. package/src/filiale/xiangyuanzhongai/android.js +13 -13
  192. package/src/filiale/xinkang/android/SafecheckOrderV.vue +2732 -2732
  193. package/src/filiale/xinkang/android/SafecheckUserInfo.vue +747 -747
  194. package/src/filiale/xinkang/pc/DefectListWeixiu.vue +475 -475
  195. package/src/filiale/xinkang/pc/NewCheckpaper.vue +1498 -1498
  196. package/src/filiale/yangchunboneng/android/AddPlanItem.vue +496 -496
  197. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2865 -2865
  198. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  199. package/src/filiale/yangchunboneng/pc/DefectListNew.vue +576 -576
  200. package/src/filiale/yongzhou/android/SafecheckOrderV.vue +2774 -2774
  201. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +776 -776
  202. package/src/filiale/yuansheng/android/SafecheckOrderV.vue +2758 -2758
  203. package/src/filiale/yuansheng/android/SafecheckUserInfo.vue +797 -797
  204. package/src/filiale/yuansheng/pc/DefectListNew.vue +524 -524
  205. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +1371 -1371
  206. package/src/filiale/yuansheng/pc/checkmsg.vue +464 -464
  207. package/src/filiale/yunchengminsheng/android/DailyworkloadQuery.vue +491 -491
  208. package/src/filiale/yunchengminsheng/android/PhoneSellInfo.vue +113 -113
  209. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +785 -785
  210. package/src/filiale/yunchengminsheng/android.js +15 -15
  211. package/src/filiale/zhongsheng/android/BuyRecords.vue +122 -122
  212. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2461 -2461
  213. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +690 -690
  214. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  215. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1322 -1322
  216. package/src/filiale/zhongyi/android/SafecheckOrderV.vue +2431 -2431
  217. package/src/filiale/zhongyi/pc/DefectListNew.vue +514 -514
  218. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  219. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  220. package/src/main.js +33 -32
@@ -1,489 +1,489 @@
1
- <template>
2
- <div>
3
- <div :style="{'height':needRepair?'60%':'100%'}">
4
- <criteria-paged :model="model" :pager="false" v-ref:paged>
5
- <criteria partial='criteria'>
6
- <div partial>
7
- <ul class="nav nav-tabs">
8
- <li role="presentation" class="active"><a style=" color: #5ac0d9 !important;">隐患明细</a></li>
9
- </ul>
10
- </div>
11
- </criteria>
12
- <data-grid :model="model" partial='list' class="table_sy">
13
- <template partial='head'>
14
- <tr>
15
- <!-- <th>-->
16
- <!-- <nobr>隐患设备</nobr>-->
17
- <!-- </th>-->
18
- <th>
19
- <nobr>隐患项</nobr>
20
- </th>
21
- <th>
22
- <nobr>隐患原因</nobr>
23
- </th>
24
- <th>
25
- <nobr>是否整改</nobr>
26
- </th>
27
- <th>
28
- <nobr>操作</nobr>
29
- </th>
30
- </tr>
31
- </template>
32
- <template partial='body'>
33
- <!-- <td style="text-align: center">-->
34
- <!-- <nobr>{{row.f_device_type}}</nobr>-->
35
- <!-- </td>-->
36
- <td style="text-align: center">
37
- <nobr>{{row.f_item_name}}</nobr>
38
- </td>
39
- <td style="text-align: center">
40
- <nobr>{{row.f_item_value}}</nobr>
41
- </td>
42
- <td style="text-align: center">
43
- <nobr>{{row.f_deal_dispose?row.f_deal_dispose:'未整改'}}</nobr>
44
- </td>
45
- <td style="text-align: center">
46
- <imgs-button style="float: left;margin-left: 12%" v-if="row.f_repaire_type != '无隐患' && row.f_repaire_type != '维修已处理' && $parent.$parent.$parent.dangerImgs(row).length>0"
47
- :srcs="$parent.$parent.$parent.dangerImgs(row)" :value="'隐患图片'"></imgs-button>
48
- <button v-if="row.f_dealwith == '已整改'" class="button_new-1 button_spacing" @click="$parent.$parent.$parent.solveDefect( row, 'view')">处理详情</button>
49
- <!-- <button v-if="row.f_repaire_type == '隐患未处理'" class="button_spacing button_search-1" @click="$parent.$parent.$parent.solveDefect( row, 'solve')">处理隐患</button>-->
50
- </td>
51
- </template>
52
- </data-grid>
53
- </criteria-paged>
54
- </div>
55
-
56
- <div style="overflow-y: scroll;height: 40%" v-if="needRepair">
57
- <div class="form-horizontal auto">
58
- <ul class="nav nav-tabs">
59
- <li role="presentation" class="active"><a style=" color: #000 !important;font-size: 14px">转维修</a></li>
60
- </ul>
61
- <validator name='v' @valid="valid = true" @invalid="valid = false">
62
- <div class="row">
63
- <div class="col-sm-4" :class="[$v.dispatchtype.required ? 'select-error' : '']">
64
- <label for="dispatchtype" class="font_normal_body">派发类型</label>
65
- <input id="dispatchtype" type="text" v-show="false" v-model="$refs.dispatchtype.selectedItems" v-validate:dispatchtype='{required: true }'>
66
- <v-select :value.sync="toRepairModal.preData.dispatchType" v-model="toRepairModal.preData.dispatchType"
67
- :options='toRepairModal.preData.dispatchTypeOptions' placeholder='派发类型'
68
- close-on-select v-ref:dispatchtype>
69
- </v-select>
70
- </div>
71
- <div class="col-sm-4 " v-if="toRepairModal.preData.dispatchType == '派发给站点'">
72
- <label class="font_normal_body">站&nbsp;&nbsp;点</label>
73
- <right-tree
74
- islist
75
- :userid="$login.f.id"
76
- :source="'dep=this.getParentByType($organization$).getSpecialResByType($department$),tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))'"
77
- @re-res="getSiteRes">
78
- </right-tree>
79
- </div>
80
- <div class="col-sm-4 " v-if="toRepairModal.preData.dispatchType == '派发给维修员'" :class="[$v.f_repairman.required ? 'select-error' : '']">
81
- <input type="text" v-show="false" v-model="toRepairModal.preData.f_repairman" v-validate:f_repairman='{required: true }'>
82
- <label class="font_normal_body">维修员</label>
83
- <v-select
84
- :value.sync="toRepairModal.preData.f_repairman"
85
- :value-single="true"
86
- :options='toRepairModal.preData.repairers'
87
- placeholder='请选择维修员'
88
- close-on-select></v-select>
89
- </div>
90
- <div class="col-sm-4" :class="[$v.f_repairtype.required ? 'select-error' : '']">
91
- <input type="text" v-show="false" v-model="toRepairModal.preData.f_repairtype" v-validate:f_repairtype='{required: true }'>
92
- <label class="font_normal_body">报修类型</label>
93
- <v-select :value.sync="toRepairModal.preData.f_repairtype" style="width:60%"
94
- class="select select_list"
95
- :value-single="true"
96
- :options='toRepairModal.preData.repairTypeOptions'
97
- close-on-select>
98
- </v-select>
99
- </div>
100
- </div>
101
- <div class="row">
102
- <div class="col-sm-8 form-group">
103
- <label class="font_normal_body" >备&emsp;&emsp;注</label>
104
- <input class="input_search" style="width: 60%" type="text" v-model="toRepairModal.preData.f_remarks" placeholder="备注">
105
- </div>
106
- <div class="col-sm-4" style="margin-top: 1%">
107
- <button class="button_search" :disabled="!valid" @click="confirm">转维修</button>
108
- </div>
109
- </div>
110
- </validator>
111
- </div>
112
- </div>
113
- <modal :show.sync="showSolveModal" v-ref:solveModal>
114
- <div slot="modal-header" class="modal-header">
115
- <h4 class="modal-title">
116
- {{solveModal.preData.type == 'view'?'处理详情':'处理隐患'}}
117
- </h4>
118
- </div>
119
- <div slot="modal-body" class="modal-body">
120
- <div style="width: 100%;height: 36px;background-color: #f1f8ff;float: left">
121
- <div style="width: 8px;height: 100%;background-color: #6aa6e2;margin-right: 20px;float: left"></div>
122
- <div style="width: auto;height:100%;float: left;"><p class="title-font" style="margin-top: 5px">处理前</p></div>
123
- </div>
124
-
125
- <div class="col-sm-6" style="margin-top: 10px">
126
- <label class="font_normal_body">安&nbsp;检&nbsp;员</label>
127
- <input class="input_search" style="width: 60%" type="text" disabled="true" v-model="check.f_checker_name" placeholder="安检员">
128
- </div>
129
- <div class="col-sm-6" style="margin-top: 10px">
130
- <label class="font_normal_body">安检时间</label>
131
- <input class="input_search" style="width: 60%" type="text" disabled="true" v-model="check.f_offsite_time" placeholder="安检时间">
132
- </div>
133
- <div class="col-sm-12" style="margin-bottom: 10px">
134
- <label class="font_normal_body">隐患图片</label>
135
- <img-self :width="200" :height="200" :src="solveModal.preData.defectImg"></img-self>
136
- </div>
137
-
138
- <div style="width: 100%;height: 36px;background-color: #f1f8ff;float: left">
139
- <div style="width: 8px;height: 100%;background-color: #6aa6e2;margin-right: 20px;float: left"></div>
140
- <div style="width: auto;height:100%;float: left;"><p class="title-font" style="margin-top: 5px">处理后</p></div>
141
- </div>
142
- <div class="col-sm-6" style="margin-top: 10px">
143
- <label class="font_normal_body">处&nbsp;理&nbsp;人</label>
144
- <input class="input_search" style="width: 60%" disabled="true" type="text" v-model="solveModal.uploadData.f_repairman" placeholder="处理人">
145
- </div>
146
- <div class="col-sm-6" style="margin-top: 10px">
147
- <label class="font_normal_body">处理备注</label>
148
- <input class="input_search" style="width: 60%" disabled="true" type="text" v-model="solveModal.uploadData.f_deal_remark" placeholder="无处理备注">
149
- </div>
150
- <div v-if="solveModal.preData.type == 'solve'" class="col-sm-12" style="margin-bottom: 10px">
151
- <label class="font_normal_body">处理后图片</label>
152
- <avatar-upload :width="200" :height="200" :img-src.sync="solveModal.uploadData.imgSrc" :filename.sync="solveModal.uploadData.filename" v-ref:imginfo></avatar-upload>
153
- </div>
154
- <div v-if="solveModal.preData.type == 'view'" class="col-sm-12" style="margin-bottom: 10px">
155
- <label class="font_normal_body">处理后图片</label>
156
- <img-self :width="200" :height="200" :src="solveModal.preData.repairedImg"></img-self>
157
- </div>
158
- </div>
159
- <div slot="modal-footer" class="modal-footer" style="text-align: center">
160
- <button class="button_search" v-if="solveModal.preData.type == 'solve'" @click="ok">确认</button>
161
- <button class="button_search" @click="cancel">取消</button>
162
- </div>
163
- </modal>
164
-
165
- </div>
166
- </template>
167
-
168
- <script>
169
- import {PagedList, HttpResetClass} from 'vue-client'
170
- import * as Util from '../../Util'
171
- import co from 'co'
172
-
173
- const upSolveDefect = function* (self) {
174
- let uploadData = self.solveModal.uploadData
175
- //tag)
176
- self.$resetpost('/api/af-safecheck/logic/pcRepairDefect', self.solveModal.uploadData, {resolveMsg: null, rejectMsg: null})
177
- .then(res => {
178
- if (res.data.code == 200) {
179
- self.$showMessage('隐患已处理。')
180
- self.showSolveModal = false
181
- self.model.search('', {})
182
- }
183
- })
184
- }
185
-
186
- const sendRepair = function* (self) {
187
- let preData = self.toRepairModal.preData
188
- let uploadData = self.toRepairModal.uploadData
189
-
190
- if (preData.dispatchType == '派发给站点') {
191
- uploadData.model.serviceacitivity[0].f_meetunit = preData.f_meetunit
192
- uploadData.model.serviceacitivity[0].f_reciever = preData.f_reciever
193
- uploadData.model.f_meetunit = preData.f_meetunit
194
- uploadData.model.f_orgstr = preData.f_reciever
195
- uploadData.model.f_outlets = preData.f_outlets
196
- } else if (preData.dispatchType == '派发给维修员') {
197
- uploadData.model.serviceacitivity[0].f_reciever = preData.f_repairman
198
- // uploadData.model.f_meetunit = self.$login.f.orgpathnames
199
- // uploadData.model.f_orgstr = self.$login.f.orgpathstr
200
- // uploadData.model.f_outlets = self.$login.f.f_parentname
201
- uploadData.model.f_meetunit = self.$login.f.deps
202
- uploadData.model.f_orgid = self.$login.f.orgid
203
- uploadData.model.f_filiale = self.$login.f.org
204
- uploadData.model.f_outlets = self.$login.f.deps
205
- uploadData.model.f_filiale_id = self.$login.f.orgid
206
- uploadData.toRepair = '一级派单'
207
- }
208
- let res = yield self.$resetpost('/api/af-safecheck/sql/GetUserForRepaire', {data: {f_userinfo_id: self.check.f_userinfo_id}})
209
- preData.userInfo = res.data[0]
210
- uploadData.model = Object.assign(uploadData.model, preData.userInfo)
211
- uploadData.user.f_userinfo_id = preData.userInfo.f_userinfo_id
212
- uploadData.model.f_repair_date = Util.getNowDate()
213
- uploadData.model.f_repairtype = preData.f_repairtype
214
- uploadData.model.f_remarks = preData.f_remarks
215
- // 拼接failure
216
- let failure = []
217
- self.model.rows.forEach(row => {
218
- if (row.f_repaire_type == '隐患未处理') {
219
- failure.push({
220
- f_failure_type: row.f_item_name,
221
- failurecase: row.f_item_value.split(',')
222
- })
223
- }
224
- })
225
- uploadData.model.failure = failure
226
- // 拼接repairitems
227
- let rows = JSON.parse(JSON.stringify(self.model.rows))
228
- let repairitems = {
229
- data: []
230
- }
231
- let safecheckOptions = [{"data": "已处理"}, {"data": "未处理"}]
232
- // 取隐患未处理的
233
- rows = rows.filter(row => row.f_repaire_type == '隐患未处理')
234
- //tag)
235
- // 开始拼接
236
- rows.forEach(row => {
237
- let existIndex = -1
238
- // 判断该设备是否已经存在
239
- for (let i = 0; i < repairitems.data.length; i++) {
240
- if (repairitems.data[i].f_type == row.f_device_type) {
241
- existIndex = i
242
- break
243
- }
244
- }
245
- if (existIndex == -1) {
246
- // 不存在则新建
247
- let newItem = {
248
- f_type: row.f_device_type,
249
- details: [{
250
- f_project: `${row.f_item_name}:${row.f_item_value}`,
251
- type: 'selector',
252
- options: safecheckOptions
253
- }]
254
- }
255
- repairitems.data.push(newItem)
256
- } else {
257
- // 存在则追加
258
- repairitems.data[existIndex].details.push({
259
- f_project: `${row.f_item_name}:${row.f_item_value}`,
260
- type: 'selector',
261
- options: safecheckOptions
262
- })
263
- }
264
- })
265
- uploadData.model.f_repairitems = repairitems
266
- //tag)
267
- // 调工单接口
268
- let result = yield self.$resetpost('/api/af-safecheck/logic/callerSend', uploadData)
269
- //tag)
270
- if (result.data.f_service_id) {
271
- let updateRes = yield self.$resetpost('/api/af-safecheck/logic/updateDefectState', {itemsId: self.$login.convertToIn(rows.map(row => row.id))})
272
- if (updateRes.data.code == 200) {
273
- self.$showMessage('隐患已转维修。')
274
- self.model.search(`f_repaire_type != '无隐患'`, {})
275
- }
276
- }
277
- }
278
-
279
- export default {
280
- title: '隐患项列表',
281
- data() {
282
- return {
283
- model: new PagedList('api/af-safecheck/sql/PcDealWith', 100, {
284
- f_paper_id: 'this.f_paper_id'
285
- }),
286
- showSolveModal: false,
287
- showToRepairModal: false,
288
- showDefectModal:false,
289
- valid: false,
290
- needRepair: true,
291
- solveModal: {
292
- preData: {
293
- type: 'view',
294
- defectImg: '',
295
- repairedImg: ''
296
- },
297
- uploadData: {
298
- id: '',
299
- f_repairman: this.$login.f.name,
300
- f_deal_remark:'',
301
- f_repair_date: Util.getNowDate().substr(0, 10),
302
- f_repair_path: '',
303
- imgSrc: '',
304
- filename: ''
305
- }
306
- },
307
- toRepairModal: {
308
- preData: {
309
- dispatchTypeOptions: [{label: '派发给站点', value: '派发给站点'}, {label: '派发给维修员', value: '派发给维修员'}],
310
- repairTypeOptions: this.$appdata.getParam('报修类型'),
311
- dispatchType: '',
312
- f_repairman: '',
313
- f_repairtype: '',
314
- f_remarks: '',
315
- f_meetunit: '',
316
- f_reciever: '',
317
- f_outlets: '',
318
- userInfo: {},
319
- repairers: []
320
- },
321
- uploadData: {
322
- model: {
323
- serviceacitivity: [{
324
- f_service_acitivity_type: '派单'
325
- }],
326
- f_repairitems: {},
327
- failure: '',
328
- f_source: '安检',
329
- f_service_id: '',
330
- f_contact_phone: '',
331
- f_meetunit: '',
332
- f_phone: '',
333
- f_user_name: '',
334
- f_address: '',
335
- f_repair_date: '',
336
- f_reciever: '',
337
- f_remarks: '',
338
- f_user_type: '',
339
- f_area: '',
340
- f_unit_name: '',
341
- f_street: '',
342
- f_residential_area: '',
343
- f_building: '',
344
- f_unit: '',
345
- f_floor: '',
346
- f_room: '',
347
- aState: '',
348
- f_repairtype: '',
349
- f_userinfo_id: '',
350
- f_userinfo_code: '',
351
- f_orgstr: '',
352
- f_outlets: '',
353
- f_attendant: this.$login.f.name
354
- },
355
- loginUser: {
356
- name: this.$login.f.name,
357
- ename: this.$login.f.ename
358
- },
359
- user: {
360
- f_userinfo_id: ''
361
- },
362
- callObj: null
363
- }
364
- }
365
- }
366
- },
367
- props: ['check'],
368
- ready() {
369
- if (this.check) {
370
- this.model.f_paper_id = this.check.id
371
- this.model.search(`f_repaire_type != '无隐患'`, {})
372
- }
373
- this.getEmp()
374
- },
375
- methods: {
376
- dangerImgs(row) {
377
- let imgsrow = []
378
- if (row.f_path) {
379
- let obj = {url: 'rs/image/file/' + row.f_path}
380
- imgsrow.push(obj)
381
- }
382
- if (row.f_p1_path) {
383
- let obj = {url: 'rs/image/file/' + row.f_p1_path}
384
- imgsrow.push(obj)
385
- }
386
- if (row.f_p2_path) {
387
- let obj = {url: 'rs/image/file/' + row.f_p2_path}
388
- imgsrow.push(obj)
389
- }
390
- if (row.f_p3_path) {
391
- let obj = {url: 'rs/image/file/' + row.f_p3_path}
392
- imgsrow.push(obj)
393
- }
394
- return imgsrow;
395
- },
396
- solveDefect(row, type) {
397
- this.solveModal.preData.defectImg = '/rs/image/file/' + row.f_path
398
- this.solveModal.preData.repairedImg = '/rs/image/file/' + row.f_dealpath
399
- this.solveModal.uploadData.id = row.id
400
- this.solveModal.preData.type = type
401
- if (type == 'view') {
402
- this.solveModal.preData.f_repair_path = '/rs/image/file/' + row.f_dealpath
403
- this.solveModal.uploadData.f_repairman = row.f_dealer
404
- this.solveModal.uploadData.f_deal_remark = row.f_deal_remark
405
-
406
- } else {
407
- this.solveModal.uploadData.f_repairman = this.$login.f.name
408
- this.solveModal.uploadData.f_repair_date = Util.getNowDate().substr(0, 10)
409
- }
410
- this.showSolveModal = !this.showSolveModal
411
- },
412
- ok() {
413
- if (!(this.solveModal.uploadData.filename && this.solveModal.uploadData.filename.length > 0)) {
414
- this.$showMessage('请录入处理后照片')
415
- return
416
- }
417
- co(upSolveDefect(this))
418
- },
419
- cancel() {
420
- this.showSolveModal = false
421
- this.showToRepairModal = false
422
- },
423
- toRepair() {
424
- this.showToRepairModal = !this.showToRepairModal
425
- },
426
- getSiteRes(obj) {
427
- //tag
428
- //tag
429
- if(obj.resids[0]){
430
- this.toRepairModal.preData.f_meetunit = obj.res.join('.')
431
- this.toRepairModal.preData.f_reciever = obj.resids.join('.')
432
- }else {
433
- this.toRepairModal.preData.f_meetunit = ''
434
- this.toRepairModal.preData.f_reciever = ''
435
- this.toRepairModal.preData.f_outlets = ''
436
- }
437
- },
438
- // 获取维修员
439
- getEmp() {
440
- let val = {source: 'this.getParentByType($organization$).getChildByName($维修员$).getUsers()', userid: `${this.$login.f.id}`}
441
- let http = new HttpResetClass()
442
- http.load('POST', '/rs/search', {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
443
- res.data.forEach((item) => {
444
- let http1 = new HttpResetClass()
445
- http1.load('POST', 'api/af-safecheck/sql/safe_singleTable_OrderBy', {
446
- data: {
447
- items: 'f_user_telephone',
448
- tablename: 't_user',
449
- condition: `id = ${item.id}`,
450
- orderitem: 'id'
451
- }
452
- }, {resolveMsg: null, rejectMsg: null}).then((ress) => {
453
- this.toRepairModal.preData.repairers.push({label: `${item.name}:${ress.data[0].f_user_telephone}`, value: item.name})
454
- })
455
- })
456
- })
457
- },
458
- confirm() {
459
- if (this.toRepairModal.preData.dispatchType == '派发给站点' && !this.toRepairModal.preData.f_meetunit) {
460
- this.$showMessage('请选择站点。')
461
- return
462
- }
463
- co(sendRepair(this))
464
- }
465
- },
466
- watch: {
467
- 'check'() {
468
- this.model.f_paper_id = this.check.id
469
- this.model.search(`f_repaire_type != '无隐患'`, {})
470
- },
471
- 'model.rows'() {
472
- if (this.model.rows.length > 0) {
473
- if (this.model.rows[0].f_repaire_type == '隐患未处理') {
474
- this.needRepair = true
475
- return
476
- }
477
- }
478
- this.needRepair = false
479
- }
480
- }
481
- }
482
- </script>
483
- <style lang="less" scoped>
484
- .select-error {
485
- button {
486
- border-bottom: 1px solid #a94442 !important;
487
- }
488
- }
489
- </style>
1
+ <template>
2
+ <div>
3
+ <div :style="{'height':needRepair?'60%':'100%'}">
4
+ <criteria-paged :model="model" :pager="false" v-ref:paged>
5
+ <criteria partial='criteria'>
6
+ <div partial>
7
+ <ul class="nav nav-tabs">
8
+ <li role="presentation" class="active"><a style=" color: #5ac0d9 !important;">隐患明细</a></li>
9
+ </ul>
10
+ </div>
11
+ </criteria>
12
+ <data-grid :model="model" partial='list' class="table_sy">
13
+ <template partial='head'>
14
+ <tr>
15
+ <!-- <th>-->
16
+ <!-- <nobr>隐患设备</nobr>-->
17
+ <!-- </th>-->
18
+ <th>
19
+ <nobr>隐患项</nobr>
20
+ </th>
21
+ <th>
22
+ <nobr>隐患原因</nobr>
23
+ </th>
24
+ <th>
25
+ <nobr>是否整改</nobr>
26
+ </th>
27
+ <th>
28
+ <nobr>操作</nobr>
29
+ </th>
30
+ </tr>
31
+ </template>
32
+ <template partial='body'>
33
+ <!-- <td style="text-align: center">-->
34
+ <!-- <nobr>{{row.f_device_type}}</nobr>-->
35
+ <!-- </td>-->
36
+ <td style="text-align: center">
37
+ <nobr>{{row.f_item_name}}</nobr>
38
+ </td>
39
+ <td style="text-align: center">
40
+ <nobr>{{row.f_item_value}}</nobr>
41
+ </td>
42
+ <td style="text-align: center">
43
+ <nobr>{{row.f_deal_dispose?row.f_deal_dispose:'未整改'}}</nobr>
44
+ </td>
45
+ <td style="text-align: center">
46
+ <imgs-button style="float: left;margin-left: 12%" v-if="row.f_repaire_type != '无隐患' && row.f_repaire_type != '维修已处理' && $parent.$parent.$parent.dangerImgs(row).length>0"
47
+ :srcs="$parent.$parent.$parent.dangerImgs(row)" :value="'隐患图片'"></imgs-button>
48
+ <button v-if="row.f_dealwith == '已整改'" class="button_new-1 button_spacing" @click="$parent.$parent.$parent.solveDefect( row, 'view')">处理详情</button>
49
+ <!-- <button v-if="row.f_repaire_type == '隐患未处理'" class="button_spacing button_search-1" @click="$parent.$parent.$parent.solveDefect( row, 'solve')">处理隐患</button>-->
50
+ </td>
51
+ </template>
52
+ </data-grid>
53
+ </criteria-paged>
54
+ </div>
55
+
56
+ <div style="overflow-y: scroll;height: 40%" v-if="needRepair">
57
+ <div class="form-horizontal auto">
58
+ <ul class="nav nav-tabs">
59
+ <li role="presentation" class="active"><a style=" color: #000 !important;font-size: 14px">转维修</a></li>
60
+ </ul>
61
+ <validator name='v' @valid="valid = true" @invalid="valid = false">
62
+ <div class="row">
63
+ <div class="col-sm-4" :class="[$v.dispatchtype.required ? 'select-error' : '']">
64
+ <label for="dispatchtype" class="font_normal_body">派发类型</label>
65
+ <input id="dispatchtype" type="text" v-show="false" v-model="$refs.dispatchtype.selectedItems" v-validate:dispatchtype='{required: true }'>
66
+ <v-select :value.sync="toRepairModal.preData.dispatchType" v-model="toRepairModal.preData.dispatchType"
67
+ :options='toRepairModal.preData.dispatchTypeOptions' placeholder='派发类型'
68
+ close-on-select v-ref:dispatchtype>
69
+ </v-select>
70
+ </div>
71
+ <div class="col-sm-4 " v-if="toRepairModal.preData.dispatchType == '派发给站点'">
72
+ <label class="font_normal_body">站&nbsp;&nbsp;点</label>
73
+ <right-tree
74
+ islist
75
+ :userid="$login.f.id"
76
+ :source="'dep=this.getParentByType($organization$).getSpecialResByType($department$),tool.getFullTree(dep.where(row.hasSpecialRole($派单员$)))'"
77
+ @re-res="getSiteRes">
78
+ </right-tree>
79
+ </div>
80
+ <div class="col-sm-4 " v-if="toRepairModal.preData.dispatchType == '派发给维修员'" :class="[$v.f_repairman.required ? 'select-error' : '']">
81
+ <input type="text" v-show="false" v-model="toRepairModal.preData.f_repairman" v-validate:f_repairman='{required: true }'>
82
+ <label class="font_normal_body">维修员</label>
83
+ <v-select
84
+ :value.sync="toRepairModal.preData.f_repairman"
85
+ :value-single="true"
86
+ :options='toRepairModal.preData.repairers'
87
+ placeholder='请选择维修员'
88
+ close-on-select></v-select>
89
+ </div>
90
+ <div class="col-sm-4" :class="[$v.f_repairtype.required ? 'select-error' : '']">
91
+ <input type="text" v-show="false" v-model="toRepairModal.preData.f_repairtype" v-validate:f_repairtype='{required: true }'>
92
+ <label class="font_normal_body">报修类型</label>
93
+ <v-select :value.sync="toRepairModal.preData.f_repairtype" style="width:60%"
94
+ class="select select_list"
95
+ :value-single="true"
96
+ :options='toRepairModal.preData.repairTypeOptions'
97
+ close-on-select>
98
+ </v-select>
99
+ </div>
100
+ </div>
101
+ <div class="row">
102
+ <div class="col-sm-8 form-group">
103
+ <label class="font_normal_body" >备&emsp;&emsp;注</label>
104
+ <input class="input_search" style="width: 60%" type="text" v-model="toRepairModal.preData.f_remarks" placeholder="备注">
105
+ </div>
106
+ <div class="col-sm-4" style="margin-top: 1%">
107
+ <button class="button_search" :disabled="!valid" @click="confirm">转维修</button>
108
+ </div>
109
+ </div>
110
+ </validator>
111
+ </div>
112
+ </div>
113
+ <modal :show.sync="showSolveModal" v-ref:solveModal>
114
+ <div slot="modal-header" class="modal-header">
115
+ <h4 class="modal-title">
116
+ {{solveModal.preData.type == 'view'?'处理详情':'处理隐患'}}
117
+ </h4>
118
+ </div>
119
+ <div slot="modal-body" class="modal-body">
120
+ <div style="width: 100%;height: 36px;background-color: #f1f8ff;float: left">
121
+ <div style="width: 8px;height: 100%;background-color: #6aa6e2;margin-right: 20px;float: left"></div>
122
+ <div style="width: auto;height:100%;float: left;"><p class="title-font" style="margin-top: 5px">处理前</p></div>
123
+ </div>
124
+
125
+ <div class="col-sm-6" style="margin-top: 10px">
126
+ <label class="font_normal_body">安&nbsp;检&nbsp;员</label>
127
+ <input class="input_search" style="width: 60%" type="text" disabled="true" v-model="check.f_checker_name" placeholder="安检员">
128
+ </div>
129
+ <div class="col-sm-6" style="margin-top: 10px">
130
+ <label class="font_normal_body">安检时间</label>
131
+ <input class="input_search" style="width: 60%" type="text" disabled="true" v-model="check.f_offsite_time" placeholder="安检时间">
132
+ </div>
133
+ <div class="col-sm-12" style="margin-bottom: 10px">
134
+ <label class="font_normal_body">隐患图片</label>
135
+ <img-self :width="200" :height="200" :src="solveModal.preData.defectImg"></img-self>
136
+ </div>
137
+
138
+ <div style="width: 100%;height: 36px;background-color: #f1f8ff;float: left">
139
+ <div style="width: 8px;height: 100%;background-color: #6aa6e2;margin-right: 20px;float: left"></div>
140
+ <div style="width: auto;height:100%;float: left;"><p class="title-font" style="margin-top: 5px">处理后</p></div>
141
+ </div>
142
+ <div class="col-sm-6" style="margin-top: 10px">
143
+ <label class="font_normal_body">处&nbsp;理&nbsp;人</label>
144
+ <input class="input_search" style="width: 60%" disabled="true" type="text" v-model="solveModal.uploadData.f_repairman" placeholder="处理人">
145
+ </div>
146
+ <div class="col-sm-6" style="margin-top: 10px">
147
+ <label class="font_normal_body">处理备注</label>
148
+ <input class="input_search" style="width: 60%" disabled="true" type="text" v-model="solveModal.uploadData.f_deal_remark" placeholder="无处理备注">
149
+ </div>
150
+ <div v-if="solveModal.preData.type == 'solve'" class="col-sm-12" style="margin-bottom: 10px">
151
+ <label class="font_normal_body">处理后图片</label>
152
+ <avatar-upload :width="200" :height="200" :img-src.sync="solveModal.uploadData.imgSrc" :filename.sync="solveModal.uploadData.filename" v-ref:imginfo></avatar-upload>
153
+ </div>
154
+ <div v-if="solveModal.preData.type == 'view'" class="col-sm-12" style="margin-bottom: 10px">
155
+ <label class="font_normal_body">处理后图片</label>
156
+ <img-self :width="200" :height="200" :src="solveModal.preData.repairedImg"></img-self>
157
+ </div>
158
+ </div>
159
+ <div slot="modal-footer" class="modal-footer" style="text-align: center">
160
+ <button class="button_search" v-if="solveModal.preData.type == 'solve'" @click="ok">确认</button>
161
+ <button class="button_search" @click="cancel">取消</button>
162
+ </div>
163
+ </modal>
164
+
165
+ </div>
166
+ </template>
167
+
168
+ <script>
169
+ import {PagedList, HttpResetClass} from 'vue-client'
170
+ import * as Util from '../../Util'
171
+ import co from 'co'
172
+
173
+ const upSolveDefect = function* (self) {
174
+ let uploadData = self.solveModal.uploadData
175
+ //tag)
176
+ self.$resetpost('/api/af-safecheck/logic/pcRepairDefect', self.solveModal.uploadData, {resolveMsg: null, rejectMsg: null})
177
+ .then(res => {
178
+ if (res.data.code == 200) {
179
+ self.$showMessage('隐患已处理。')
180
+ self.showSolveModal = false
181
+ self.model.search('', {})
182
+ }
183
+ })
184
+ }
185
+
186
+ const sendRepair = function* (self) {
187
+ let preData = self.toRepairModal.preData
188
+ let uploadData = self.toRepairModal.uploadData
189
+
190
+ if (preData.dispatchType == '派发给站点') {
191
+ uploadData.model.serviceacitivity[0].f_meetunit = preData.f_meetunit
192
+ uploadData.model.serviceacitivity[0].f_reciever = preData.f_reciever
193
+ uploadData.model.f_meetunit = preData.f_meetunit
194
+ uploadData.model.f_orgstr = preData.f_reciever
195
+ uploadData.model.f_outlets = preData.f_outlets
196
+ } else if (preData.dispatchType == '派发给维修员') {
197
+ uploadData.model.serviceacitivity[0].f_reciever = preData.f_repairman
198
+ // uploadData.model.f_meetunit = self.$login.f.orgpathnames
199
+ // uploadData.model.f_orgstr = self.$login.f.orgpathstr
200
+ // uploadData.model.f_outlets = self.$login.f.f_parentname
201
+ uploadData.model.f_meetunit = self.$login.f.deps
202
+ uploadData.model.f_orgid = self.$login.f.orgid
203
+ uploadData.model.f_filiale = self.$login.f.org
204
+ uploadData.model.f_outlets = self.$login.f.deps
205
+ uploadData.model.f_filiale_id = self.$login.f.orgid
206
+ uploadData.toRepair = '一级派单'
207
+ }
208
+ let res = yield self.$resetpost('/api/af-safecheck/sql/GetUserForRepaire', {data: {f_userinfo_id: self.check.f_userinfo_id}})
209
+ preData.userInfo = res.data[0]
210
+ uploadData.model = Object.assign(uploadData.model, preData.userInfo)
211
+ uploadData.user.f_userinfo_id = preData.userInfo.f_userinfo_id
212
+ uploadData.model.f_repair_date = Util.getNowDate()
213
+ uploadData.model.f_repairtype = preData.f_repairtype
214
+ uploadData.model.f_remarks = preData.f_remarks
215
+ // 拼接failure
216
+ let failure = []
217
+ self.model.rows.forEach(row => {
218
+ if (row.f_repaire_type == '隐患未处理') {
219
+ failure.push({
220
+ f_failure_type: row.f_item_name,
221
+ failurecase: row.f_item_value.split(',')
222
+ })
223
+ }
224
+ })
225
+ uploadData.model.failure = failure
226
+ // 拼接repairitems
227
+ let rows = JSON.parse(JSON.stringify(self.model.rows))
228
+ let repairitems = {
229
+ data: []
230
+ }
231
+ let safecheckOptions = [{"data": "已处理"}, {"data": "未处理"}]
232
+ // 取隐患未处理的
233
+ rows = rows.filter(row => row.f_repaire_type == '隐患未处理')
234
+ //tag)
235
+ // 开始拼接
236
+ rows.forEach(row => {
237
+ let existIndex = -1
238
+ // 判断该设备是否已经存在
239
+ for (let i = 0; i < repairitems.data.length; i++) {
240
+ if (repairitems.data[i].f_type == row.f_device_type) {
241
+ existIndex = i
242
+ break
243
+ }
244
+ }
245
+ if (existIndex == -1) {
246
+ // 不存在则新建
247
+ let newItem = {
248
+ f_type: row.f_device_type,
249
+ details: [{
250
+ f_project: `${row.f_item_name}:${row.f_item_value}`,
251
+ type: 'selector',
252
+ options: safecheckOptions
253
+ }]
254
+ }
255
+ repairitems.data.push(newItem)
256
+ } else {
257
+ // 存在则追加
258
+ repairitems.data[existIndex].details.push({
259
+ f_project: `${row.f_item_name}:${row.f_item_value}`,
260
+ type: 'selector',
261
+ options: safecheckOptions
262
+ })
263
+ }
264
+ })
265
+ uploadData.model.f_repairitems = repairitems
266
+ //tag)
267
+ // 调工单接口
268
+ let result = yield self.$resetpost('/api/af-safecheck/logic/callerSend', uploadData)
269
+ //tag)
270
+ if (result.data.f_service_id) {
271
+ let updateRes = yield self.$resetpost('/api/af-safecheck/logic/updateDefectState', {itemsId: self.$login.convertToIn(rows.map(row => row.id))})
272
+ if (updateRes.data.code == 200) {
273
+ self.$showMessage('隐患已转维修。')
274
+ self.model.search(`f_repaire_type != '无隐患'`, {})
275
+ }
276
+ }
277
+ }
278
+
279
+ export default {
280
+ title: '隐患项列表',
281
+ data() {
282
+ return {
283
+ model: new PagedList('api/af-safecheck/sql/PcDealWith', 100, {
284
+ f_paper_id: 'this.f_paper_id'
285
+ }),
286
+ showSolveModal: false,
287
+ showToRepairModal: false,
288
+ showDefectModal:false,
289
+ valid: false,
290
+ needRepair: true,
291
+ solveModal: {
292
+ preData: {
293
+ type: 'view',
294
+ defectImg: '',
295
+ repairedImg: ''
296
+ },
297
+ uploadData: {
298
+ id: '',
299
+ f_repairman: this.$login.f.name,
300
+ f_deal_remark:'',
301
+ f_repair_date: Util.getNowDate().substr(0, 10),
302
+ f_repair_path: '',
303
+ imgSrc: '',
304
+ filename: ''
305
+ }
306
+ },
307
+ toRepairModal: {
308
+ preData: {
309
+ dispatchTypeOptions: [{label: '派发给站点', value: '派发给站点'}, {label: '派发给维修员', value: '派发给维修员'}],
310
+ repairTypeOptions: this.$appdata.getParam('报修类型'),
311
+ dispatchType: '',
312
+ f_repairman: '',
313
+ f_repairtype: '',
314
+ f_remarks: '',
315
+ f_meetunit: '',
316
+ f_reciever: '',
317
+ f_outlets: '',
318
+ userInfo: {},
319
+ repairers: []
320
+ },
321
+ uploadData: {
322
+ model: {
323
+ serviceacitivity: [{
324
+ f_service_acitivity_type: '派单'
325
+ }],
326
+ f_repairitems: {},
327
+ failure: '',
328
+ f_source: '安检',
329
+ f_service_id: '',
330
+ f_contact_phone: '',
331
+ f_meetunit: '',
332
+ f_phone: '',
333
+ f_user_name: '',
334
+ f_address: '',
335
+ f_repair_date: '',
336
+ f_reciever: '',
337
+ f_remarks: '',
338
+ f_user_type: '',
339
+ f_area: '',
340
+ f_unit_name: '',
341
+ f_street: '',
342
+ f_residential_area: '',
343
+ f_building: '',
344
+ f_unit: '',
345
+ f_floor: '',
346
+ f_room: '',
347
+ aState: '',
348
+ f_repairtype: '',
349
+ f_userinfo_id: '',
350
+ f_userinfo_code: '',
351
+ f_orgstr: '',
352
+ f_outlets: '',
353
+ f_attendant: this.$login.f.name
354
+ },
355
+ loginUser: {
356
+ name: this.$login.f.name,
357
+ ename: this.$login.f.ename
358
+ },
359
+ user: {
360
+ f_userinfo_id: ''
361
+ },
362
+ callObj: null
363
+ }
364
+ }
365
+ }
366
+ },
367
+ props: ['check'],
368
+ ready() {
369
+ if (this.check) {
370
+ this.model.f_paper_id = this.check.id
371
+ this.model.search(`f_repaire_type != '无隐患'`, {})
372
+ }
373
+ this.getEmp()
374
+ },
375
+ methods: {
376
+ dangerImgs(row) {
377
+ let imgsrow = []
378
+ if (row.f_path) {
379
+ let obj = {url: 'rs/image/file/' + row.f_path}
380
+ imgsrow.push(obj)
381
+ }
382
+ if (row.f_p1_path) {
383
+ let obj = {url: 'rs/image/file/' + row.f_p1_path}
384
+ imgsrow.push(obj)
385
+ }
386
+ if (row.f_p2_path) {
387
+ let obj = {url: 'rs/image/file/' + row.f_p2_path}
388
+ imgsrow.push(obj)
389
+ }
390
+ if (row.f_p3_path) {
391
+ let obj = {url: 'rs/image/file/' + row.f_p3_path}
392
+ imgsrow.push(obj)
393
+ }
394
+ return imgsrow;
395
+ },
396
+ solveDefect(row, type) {
397
+ this.solveModal.preData.defectImg = '/rs/image/file/' + row.f_path
398
+ this.solveModal.preData.repairedImg = '/rs/image/file/' + row.f_dealpath
399
+ this.solveModal.uploadData.id = row.id
400
+ this.solveModal.preData.type = type
401
+ if (type == 'view') {
402
+ this.solveModal.preData.f_repair_path = '/rs/image/file/' + row.f_dealpath
403
+ this.solveModal.uploadData.f_repairman = row.f_dealer
404
+ this.solveModal.uploadData.f_deal_remark = row.f_deal_remark
405
+
406
+ } else {
407
+ this.solveModal.uploadData.f_repairman = this.$login.f.name
408
+ this.solveModal.uploadData.f_repair_date = Util.getNowDate().substr(0, 10)
409
+ }
410
+ this.showSolveModal = !this.showSolveModal
411
+ },
412
+ ok() {
413
+ if (!(this.solveModal.uploadData.filename && this.solveModal.uploadData.filename.length > 0)) {
414
+ this.$showMessage('请录入处理后照片')
415
+ return
416
+ }
417
+ co(upSolveDefect(this))
418
+ },
419
+ cancel() {
420
+ this.showSolveModal = false
421
+ this.showToRepairModal = false
422
+ },
423
+ toRepair() {
424
+ this.showToRepairModal = !this.showToRepairModal
425
+ },
426
+ getSiteRes(obj) {
427
+ //tag
428
+ //tag
429
+ if(obj.resids[0]){
430
+ this.toRepairModal.preData.f_meetunit = obj.res.join('.')
431
+ this.toRepairModal.preData.f_reciever = obj.resids.join('.')
432
+ }else {
433
+ this.toRepairModal.preData.f_meetunit = ''
434
+ this.toRepairModal.preData.f_reciever = ''
435
+ this.toRepairModal.preData.f_outlets = ''
436
+ }
437
+ },
438
+ // 获取维修员
439
+ getEmp() {
440
+ let val = {source: 'this.getParentByType($organization$).getChildByName($维修员$).getUsers()', userid: `${this.$login.f.id}`}
441
+ let http = new HttpResetClass()
442
+ http.load('POST', '/rs/search', {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
443
+ res.data.forEach((item) => {
444
+ let http1 = new HttpResetClass()
445
+ http1.load('POST', 'api/af-safecheck/sql/safe_singleTable_OrderBy', {
446
+ data: {
447
+ items: 'f_user_telephone',
448
+ tablename: 't_user',
449
+ condition: `id = ${item.id}`,
450
+ orderitem: 'id'
451
+ }
452
+ }, {resolveMsg: null, rejectMsg: null}).then((ress) => {
453
+ this.toRepairModal.preData.repairers.push({label: `${item.name}:${ress.data[0].f_user_telephone}`, value: item.name})
454
+ })
455
+ })
456
+ })
457
+ },
458
+ confirm() {
459
+ if (this.toRepairModal.preData.dispatchType == '派发给站点' && !this.toRepairModal.preData.f_meetunit) {
460
+ this.$showMessage('请选择站点。')
461
+ return
462
+ }
463
+ co(sendRepair(this))
464
+ }
465
+ },
466
+ watch: {
467
+ 'check'() {
468
+ this.model.f_paper_id = this.check.id
469
+ this.model.search(`f_repaire_type != '无隐患'`, {})
470
+ },
471
+ 'model.rows'() {
472
+ if (this.model.rows.length > 0) {
473
+ if (this.model.rows[0].f_repaire_type == '隐患未处理') {
474
+ this.needRepair = true
475
+ return
476
+ }
477
+ }
478
+ this.needRepair = false
479
+ }
480
+ }
481
+ }
482
+ </script>
483
+ <style lang="less" scoped>
484
+ .select-error {
485
+ button {
486
+ border-bottom: 1px solid #a94442 !important;
487
+ }
488
+ }
489
+ </style>