safecheck-client 4.0.1-9 → 4.0.1-91

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 (305) hide show
  1. package/package.json +5 -5
  2. package/src/App.vue +31 -31
  3. package/src/assets//350/255/246/345/221/212 (3).png +0 -0
  4. package/src/assets//350/255/246/345/221/212 (4).png +0 -0
  5. package/src/assets//350/255/246/345/221/212 (5).png +0 -0
  6. package/src/components/CheckerCount/CheckCountUserList.vue +144 -144
  7. package/src/components/DefectDealMain/DefectListNew.vue +642 -642
  8. package/src/components/NewDefectList/DefectListNew.vue +682 -663
  9. package/src/components/Util/RightTreeSafeDep.vue +362 -350
  10. package/src/components/Util/SafecheckUpload.vue +3 -4
  11. package/src/components/android/AddPlanItem.vue +447 -447
  12. package/src/components/android/AddPlanItemYy.vue +451 -451
  13. package/src/components/android/AddSpecialPlanItem.vue +426 -426
  14. package/src/components/android/AndroidDefectDeal.vue +390 -323
  15. package/src/components/android/AndroidDefectDetails.vue +3 -3
  16. package/src/components/android/AppInstallationMaterial.vue +865 -0
  17. package/src/components/android/CurrentCreateYy.vue +1051 -1051
  18. package/src/components/android/DailyworkloadQuery.vue +473 -472
  19. package/src/components/android/Devices.vue +327 -327
  20. package/src/components/android/Devicesm.vue +327 -327
  21. package/src/components/android/NewCheckpaperAndroid.vue +1343 -1369
  22. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  23. package/src/components/android/PhoneRecordInfo.vue +113 -113
  24. package/src/components/android/PhoneSellInfo.vue +113 -113
  25. package/src/components/android/PhoneUpDetail.vue +1040 -1040
  26. package/src/components/android/QRCode/QRCodeBinding.vue +300 -300
  27. package/src/components/android/QRCode/QRCodePage.vue +212 -212
  28. package/src/components/android/SafePlanItem.vue +509 -509
  29. package/src/components/android/SafecheckOrderV.vue +6 -0
  30. package/src/components/android/SwitchValve.vue +1 -1
  31. package/src/components/android/UploadPage.vue +232 -228
  32. package/src/components/android/examples/SafeListExamples.vue +296 -296
  33. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  34. package/src/components/android/recheck/Recheck.vue +402 -402
  35. package/src/components/android/userinfo/SafecheckUserInfo.vue +776 -776
  36. package/src/components/checkplan/CheckDetail.vue +1 -1
  37. package/src/components/checkplan/checkmsg.vue +459 -459
  38. package/src/components/defect/DefectList.vue +507 -507
  39. package/src/components/defect/DefectListWeixiu.vue +484 -484
  40. package/src/components/filialCircle/CircleList.vue +139 -139
  41. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  42. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  43. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  44. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  45. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  46. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  47. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  48. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  49. package/src/components/map/PersonTrack.vue +226 -226
  50. package/src/components/map/SecurityCheckCoordinates.vue +361 -0
  51. package/src/components/paper/PaperList.vue +5 -0
  52. package/src/components/paper/RegionalList.vue +220 -220
  53. package/src/components/pc/AnnouncementPC.vue +524 -524
  54. package/src/components/pc/DefectDeal.vue +7 -6
  55. package/src/components/pc/DefectList.vue +742 -742
  56. package/src/components/pc/DefectMaterialLook.vue +98 -0
  57. package/src/components/pc/DeviceChange.vue +1068 -1068
  58. package/src/components/pc/PaperDefectMain.vue +905 -880
  59. package/src/components/pc/RoleSelectorDep.vue +166 -159
  60. package/src/components/pc/SafeVisitInfo.vue +261 -261
  61. package/src/components/planmanage/PlanManage.vue +1 -0
  62. package/src/components/querycheckpaper/CheckPaperList.vue +6 -4
  63. package/src/components/querycheckpaper/CheckPaperSearchUser.vue +30 -4
  64. package/src/components/querycheckpaper/CheckSearchUser.vue +6 -1
  65. package/src/components/report/HiddenSituation.vue +165 -165
  66. package/src/components/rongcheng/AspiratedOrderV.vue +2377 -2377
  67. package/src/components/rongcheng/CurrentCreateOnline.vue +906 -906
  68. package/src/components/rongcheng/DefectList.vue +560 -560
  69. package/src/components/rongcheng/SafecheckOrderVCli.vue +2641 -2641
  70. package/src/components/safecheckNew/android/AddPlanItem.vue +419 -419
  71. package/src/components/safecheckNew/android/CurrentCreate.vue +1050 -1050
  72. package/src/components/safecheckNew/android/Recheck.vue +379 -379
  73. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  74. package/src/components/shaoguan/DefectList.vue +473 -473
  75. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  76. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  77. package/src/components/userfile/SecurityAudit.vue +243 -243
  78. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +476 -476
  79. package/src/filiale/ancheng/android/SafecheckOrderV.vue +2703 -2703
  80. package/src/filiale/ancheng/android/SafecheckUserInfo.vue +737 -737
  81. package/src/filiale/ancheng/pc/checkScreen.vue +923 -923
  82. package/src/filiale/ankangyihua/android/AddPlanItem.vue +446 -446
  83. package/src/filiale/ankangyihua/android/SafecheckOrderV.vue +2908 -2908
  84. package/src/filiale/ankangyihua/pc/DefectListWeixiu.vue +491 -491
  85. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -2785
  86. package/src/filiale/baiyin/pc/DefectListNew.vue +597 -597
  87. package/src/filiale/bayan/android/Edit.vue +132 -132
  88. package/src/filiale/bayan/pc/DefectListNew.vue +597 -597
  89. package/src/filiale/bayan/pc/DeviceChange.vue +1838 -1838
  90. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  91. package/src/filiale/dexin/android/CasualSave.vue +1050 -1050
  92. package/src/filiale/dexin/android/SafecheckOrderV.vue +2950 -2950
  93. package/src/filiale/fugou/android/AddPlanItem.vue +413 -413
  94. package/src/filiale/fugou/android/SafecheckOrderV.vue +2796 -2796
  95. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +830 -830
  96. package/src/filiale/fugu/android/SafecheckOrderV.vue +2484 -2484
  97. package/src/filiale/fugu/pc/NewCheckpaper.vue +1287 -1287
  98. package/src/filiale/ganquan/android/AddPlanItem.vue +444 -444
  99. package/src/filiale/ganquan/android/SafecheckOrderV.vue +2485 -2485
  100. package/src/filiale/ganquan/pc/NewCheckpaper.vue +1354 -1354
  101. package/src/filiale/guangxi/pc/DefectListNew.vue +518 -518
  102. package/src/filiale/hanzhong/android/SafecheckOrderV.vue +2683 -2683
  103. package/src/filiale/hanzhong/android/SafecheckUserInfo.vue +786 -786
  104. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -2803
  105. package/src/filiale/huatong/android/SafecheckOrderV.vue +2426 -2426
  106. package/src/filiale/huatong/android/SafecheckUserInfo.vue +749 -749
  107. package/src/filiale/huayin/pc/NewCheckpaper.vue +1307 -1307
  108. package/src/filiale/jiaocheng/android/AddPlanItem.vue +435 -435
  109. package/src/filiale/jiaocheng/android/SafecheckUserInfo.vue +737 -737
  110. package/src/filiale/jiaocheng/pc/DefectListNew.vue +576 -576
  111. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -447
  112. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2807
  113. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -784
  114. package/src/filiale/jinbin/pc/DefectListWeixiu.vue +478 -478
  115. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -458
  116. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
  117. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +781 -781
  118. package/src/filiale/jinhong/android/CurrentCreate.vue +66 -22
  119. package/src/filiale/jinhong/pc/CheckBookList.vue +393 -388
  120. package/src/filiale/jinhong/pc/DefectPaperNew.vue +10 -10
  121. package/src/filiale/jinhong/pc/PaperList.vue +853 -844
  122. package/src/filiale/jinhong/pc/PlanManage.vue +927 -925
  123. package/src/filiale/jinhong/pc/checkPlanList.vue +420 -418
  124. package/src/filiale/jinhong/pc/checkUserList.vue +30 -6
  125. package/src/filiale/kelai/android/AddPlanItem.vue +488 -488
  126. package/src/filiale/kelai/android/SafecheckUserInfo.vue +774 -774
  127. package/src/filiale/kelai/android/SafecheckUserInfo1.vue +618 -618
  128. package/src/filiale/kelai/pc/DefectListNew.vue +688 -688
  129. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasList.vue +518 -518
  130. package/src/filiale/kelai/pc/NewCheckpaper.vue +1454 -1454
  131. package/src/filiale/liaoyuan/android/AddPlanItem.vue +412 -412
  132. package/src/filiale/liaoyuan/android/CurrentCreate.vue +1066 -1066
  133. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2388 -2388
  134. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +557 -557
  135. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +489 -489
  136. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  137. package/src/filiale/libo/android/CurrentCreate.vue +1091 -0
  138. package/src/filiale/libo/android/PaperFeedback.vue +1579 -0
  139. package/src/filiale/libo/android/PhoneUpUserinfo.vue +1249 -0
  140. package/src/filiale/libo/android/SafecheckOrderV.vue +2302 -0
  141. package/src/filiale/libo/android.js +15 -0
  142. package/src/filiale/libo/pc/NewCheckpaper.vue +1987 -0
  143. package/src/filiale/libo/pc.js +12 -0
  144. package/src/filiale/lixian/android/SafecheckOrderV.vue +2404 -2404
  145. package/src/filiale/lixian/android/SafecheckUserInfo.vue +578 -578
  146. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  147. package/src/filiale/meihekou/android/AreaPlan.vue +577 -577
  148. package/src/filiale/meihekou/android/CurrentCreate.vue +1 -1
  149. package/src/filiale/meihekou/android/MeterReading.vue +110 -106
  150. package/src/filiale/meihekou/android/PhoneUpUserinfo.vue +1307 -1306
  151. package/src/filiale/meihekou/android/SafecheckDevices.vue +5 -5
  152. package/src/filiale/meihekou/android/SafecheckOrderV.vue +2446 -2431
  153. package/src/filiale/meihekou/android/SafecheckUserInfo.vue +785 -785
  154. package/src/filiale/meihekou/pc/NewCheckpaper.vue +2 -2
  155. package/src/filiale/meihekou/pc/NewCheckpaperNew.vue +2050 -0
  156. package/src/filiale/meihekou/pc/NewCheckpaperTemp.vue +1288 -1288
  157. package/src/filiale/meihekou/pc/PaperList.vue +1205 -0
  158. package/src/filiale/meihekou/pc.js +2 -0
  159. package/src/filiale/minsheng/android/SafecheckUserInfo.vue +754 -754
  160. package/src/filiale/minsheng/android/SwitchValve.vue +1 -1
  161. package/src/filiale/minsheng/pc/DefectListNew.vue +535 -535
  162. package/src/filiale/pingxiang/android/SafecheckOrderV.vue +2424 -2424
  163. package/src/filiale/pingxiang/android/SafecheckUserInfo.vue +600 -600
  164. package/src/filiale/pingxiang/pc/DefectListNew.vue +519 -519
  165. package/src/filiale/pingxiang/pc/NewCheckpaper.vue +1294 -1294
  166. package/src/filiale/qianneng/android/AddPlanItem.vue +482 -482
  167. package/src/filiale/qianneng/android/SafecheckOrderV.vue +2785 -2785
  168. package/src/filiale/qianneng/android/SafecheckUserInfo.vue +775 -775
  169. package/src/filiale/qianneng/android/SwitchValve.vue +1 -1
  170. package/src/filiale/qianneng/pc/DefectListNew.vue +576 -576
  171. package/src/filiale/qianneng/pc/NewCheckpaper.vue +1546 -1546
  172. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2844 -2844
  173. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +800 -800
  174. package/src/filiale/qingjian/pc/NewCheckpaper.vue +1871 -1871
  175. package/src/filiale/qingjian/pc/SecurityCheckCoordinates.vue +359 -0
  176. package/src/filiale/qingjian/pc/checkUserList.vue +35 -0
  177. package/src/filiale/qingjian/pc.js +15 -15
  178. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -450
  179. package/src/filiale/qingtongxia/android/SafecheckOrderV.vue +2726 -2726
  180. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -782
  181. package/src/filiale/qingtongxia/pc/DefectListNew.vue +594 -594
  182. package/src/filiale/rizhao/android/AddPlanItem.vue +446 -446
  183. package/src/filiale/rizhao/android/SafecheckOrderV.vue +2430 -2430
  184. package/src/filiale/rizhao/android/SafecheckUserInfo.vue +640 -640
  185. package/src/filiale/rizhao/pc/DefectList.vue +489 -489
  186. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +2696 -2696
  187. package/src/filiale/rongchuang/android/checkpapermsg.vue +209 -209
  188. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -2747
  189. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -804
  190. package/src/filiale/shanggao/android/SafecheckOrderV.vue +2426 -2426
  191. package/src/filiale/shanxian/android/SafecheckUserInfo.vue +749 -749
  192. package/src/filiale/shanxian/pc/HiddenSituation.vue +121 -121
  193. package/src/filiale/shanxian/pc/NewCheckpaper.vue +1526 -1526
  194. package/src/filiale/shexian/android/AddPlanItem.vue +444 -444
  195. package/src/filiale/shexian/android/SafecheckOrderV.vue +2879 -2879
  196. package/src/filiale/shexian/pc/DefectListNew.vue +593 -593
  197. package/src/filiale/shexian/pc/NewCheckpaper.vue +1469 -1469
  198. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  199. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  200. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  201. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  202. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -1051
  203. package/src/filiale/siyang/android/PhoneRecordInfo.vue +214 -214
  204. package/src/filiale/siyang/android/SafecheckOrderV.vue +2796 -2796
  205. package/src/filiale/siyang/android/SafecheckUserInfo.vue +789 -789
  206. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -167
  207. package/src/filiale/taiyuan/android/AddPlanItem.vue +456 -0
  208. package/src/filiale/taiyuan/android/AreaPlan.vue +565 -0
  209. package/src/filiale/taiyuan/android/CurrentCreate.vue +1016 -0
  210. package/src/filiale/taiyuan/android/PhoneUpUserinfo.vue +1253 -0
  211. package/src/filiale/taiyuan/android/SafecheckOrderV.vue +2347 -0
  212. package/src/filiale/taiyuan/android/SafecheckUserInfo.vue +784 -0
  213. package/src/filiale/taiyuan/android.js +15 -0
  214. package/src/filiale/taiyuan/pc/DefectDeal.vue +1034 -0
  215. package/src/filiale/taiyuan/pc/NewCheckpaper.vue +1976 -0
  216. package/src/filiale/taiyuan/pc/PaperList.vue +795 -0
  217. package/src/filiale/taiyuan/pc/PlanManage.vue +891 -0
  218. package/src/filiale/taiyuan/pc/checkUserList.vue +798 -0
  219. package/src/filiale/taiyuan/pc.js +16 -0
  220. package/src/filiale/tianke/android/AddPlanItem.vue +455 -455
  221. package/src/filiale/tianke/android/CurrentCreate.vue +3 -3
  222. package/src/filiale/tianke/android/SafecheckOrderV.vue +2431 -2431
  223. package/src/filiale/tianke/android/SafecheckUserInfo.vue +744 -744
  224. package/src/filiale/tongchuan/android/AddPlanItem.vue +483 -483
  225. package/src/filiale/tongchuan/android/PhoneRecordInfo.vue +191 -191
  226. package/src/filiale/tongchuan/android/PhoneSellInfo.vue +113 -113
  227. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +720 -720
  228. package/src/filiale/tongchuan/android/SwitchValve.vue +1 -1
  229. package/src/filiale/tongchuan/pc/CheckBookDetails.vue +209 -209
  230. package/src/filiale/tongchuan/pc/DefectListWeixiu.vue +484 -484
  231. package/src/filiale/tongchuan/pc/HiddenSituation.vue +166 -166
  232. package/src/filiale/weinan/android/AddPlanItem.vue +438 -438
  233. package/src/filiale/weinan/android/CurrentCreate.vue +1171 -1171
  234. package/src/filiale/weinan/android/CurrentCreateOnline.vue +911 -911
  235. package/src/filiale/weinan/android/SafePlanItem.vue +440 -440
  236. package/src/filiale/weinan/android/SafecheckUserInfo.vue +778 -778
  237. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  238. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -1088
  239. package/src/filiale/weinan/pc/HiddenSituation.vue +167 -167
  240. package/src/filiale/weinan/pc/checkScreen.vue +1094 -1094
  241. package/src/filiale/weinanct/android/SafecheckOrderV.vue +2730 -2730
  242. package/src/filiale/weinanct/pc/NewCheckpaper.vue +1315 -1315
  243. package/src/filiale/wensu/android/AddPlanItem.vue +495 -495
  244. package/src/filiale/wensu/android/AndroidDefectDeal.vue +464 -464
  245. package/src/filiale/wensu/android/PaperFeedback.vue +1358 -1358
  246. package/src/filiale/wensu/android/SafecheckOrderV.vue +2430 -2430
  247. package/src/filiale/wensu/android/SafecheckUserInfo.vue +627 -627
  248. package/src/filiale/wensu/pc/DefectListNew.vue +735 -735
  249. package/src/filiale/wenxi/android/AddPlanItem.vue +431 -431
  250. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2671 -2671
  251. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +673 -673
  252. package/src/filiale/wenxi/pc/DefectList.vue +653 -653
  253. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1358 -1358
  254. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2241
  255. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -596
  256. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  257. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  258. package/src/filiale/wuhai/android/SafecheckOrderV.vue +2456 -2456
  259. package/src/filiale/wuhai/android/SafecheckUserInfo.vue +573 -573
  260. package/src/filiale/wuhai/pc/NewCheckpaper.vue +1281 -1281
  261. package/src/filiale/xiangyuanzhongai/android/PhoneUpUserinfo.vue +1251 -1251
  262. package/src/filiale/xinkang/android/AddPlanItem.vue +244 -196
  263. package/src/filiale/xinkang/android/AndroidDefectDeal.vue +1 -0
  264. package/src/filiale/xinkang/android/SafecheckDevices.vue +52 -22
  265. package/src/filiale/xinkang/android/SafecheckOrderV.vue +24 -80
  266. package/src/filiale/xinkang/android/SafecheckUserInfo.vue +1 -1
  267. package/src/filiale/xinkang/pc/CheckSearchUser.vue +1026 -1026
  268. package/src/filiale/xinkang/pc/DefectListWeixiu.vue +475 -475
  269. package/src/filiale/xinkang/pc/NewCheckpaper.vue +57 -72
  270. package/src/filiale/xinkang/pc/PaperList.vue +25 -10
  271. package/src/filiale/xinliansihui/android/AndroidDefectDeal.vue +701 -0
  272. package/src/filiale/xinliansihui/android/AppInstallationMaterial.vue +866 -0
  273. package/src/filiale/xinliansihui/android.js +9 -0
  274. package/src/filiale/yangchunboneng/android/AddPlanItem.vue +496 -496
  275. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2865 -2865
  276. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  277. package/src/filiale/yangchunboneng/pc/DefectListNew.vue +576 -576
  278. package/src/filiale/yongzhou/android/SafecheckOrderV.vue +2774 -2774
  279. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +776 -776
  280. package/src/filiale/yuansheng/android/SafecheckOrderV.vue +2758 -2758
  281. package/src/filiale/yuansheng/android/SafecheckUserInfo.vue +797 -797
  282. package/src/filiale/yuansheng/android/SwitchValve.vue +1 -1
  283. package/src/filiale/yuansheng/pc/DefectListNew.vue +524 -524
  284. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +1371 -1371
  285. package/src/filiale/yuansheng/pc/checkmsg.vue +464 -464
  286. package/src/filiale/yunchengminsheng/android/DailyworkloadQuery.vue +491 -491
  287. package/src/filiale/yunchengminsheng/android/PaperFeedback.vue +1509 -1509
  288. package/src/filiale/yunchengminsheng/android/PhoneSellInfo.vue +113 -113
  289. package/src/filiale/yunchengminsheng/android/SafecheckDevices.vue +1270 -1270
  290. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +785 -785
  291. package/src/filiale/yunchengminsheng/android.js +15 -15
  292. package/src/filiale/yunchengminsheng/pc/PaperList.vue +811 -0
  293. package/src/filiale/yunchengminsheng/pc.js +15 -14
  294. package/src/filiale/zhongsheng/android/BuyRecords.vue +122 -122
  295. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2461 -2461
  296. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +690 -690
  297. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  298. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1322 -1322
  299. package/src/filiale/zhongyi/android/SafecheckOrderV.vue +2431 -2431
  300. package/src/filiale/zhongyi/pc/DefectListNew.vue +514 -514
  301. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  302. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  303. package/src/main.js +32 -33
  304. package/src/safecheck-android.js +4 -0
  305. package/src/safecheck.js +924 -918
@@ -1,1088 +1,1088 @@
1
- <template>
2
- <div id="unit" class="flex-row">
3
- <work-busy :is-busy="seaching"></work-busy>
4
- <div class="flex basic-main" style="flex:1">
5
- <div novalidate="" class="row form-horizontal select-overspread container-fluid auto" partial="">
6
- <div novalidate="" class="form-inline auto" partial="">
7
- <div class="form-group col-sm-2">
8
- <label class="font_normal_body">组织机构</label>
9
- <res-select
10
- :initresid='curorgid'
11
- @res-select="getorg"
12
- is-mul="false"
13
- restype='organization'
14
- >
15
- </res-select>
16
- </div>
17
- </div>
18
- </div>
19
- <div class="list-group list_area table_sy" isedit="true" style="overflow: auto">
20
- <table class="table table-bordered">
21
- <thead a-partial="head" class="text-left">
22
- <tr>
23
- <th>安检配置项</th>
24
- </tr>
25
- </thead>
26
- <tbody>
27
- <tr a-partial="body" :id="'vc-datagrid-tree-grid-'+$index" v-for="item in safeArray">
28
- <td><a herf="#" @click="selectedshow($index)" class="list-group-item expand-transition"
29
- style="border: none;background-color: transparent;cursor: pointer" :id="'vc-tree-tree-grid-'+$index">
30
- <span style="color: black" v-for="n in item.safeindex-1 ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
31
- <span style="color: black" :id="'vc-tree-tree-grid-'+$index">
32
- <span style="color: black" v-if="item.safeshow&&(item.safetype=='selector'||item.safetype=='radio'||item.safetype=='')"
33
- @click.stop="pushArray(item,$index)" class="glyphicon glyphicon-minus-sign"
34
- style="font-size: 18px;">
35
- </span>
36
- <span style="color: black" v-if="!item.safeshow&&(item.safetype=='selector'||item.safetype=='radio'||item.safetype=='')"
37
- @click.stop="pushArray(item,$index)" class="glyphicon glyphicon-plus-sign"
38
- style="font-size: 18px;">
39
- </span>
40
- <span style="color: black" v-if="item.safetype!='selector'&&item.safetype!='radio'&&item.safetype!=''" style="font-size: 18px;">
41
- &nbsp;&nbsp;&nbsp;</span>
42
- </span> <span style="color: black" partial=""> <span>{{ item.safename }}</span>
43
- <span style="color: black" v-if="item.safevalue!=0">【{{ item.safevalue }}】</span>
44
- <span style="color: black" v-show="item.selectedshow">
45
-
46
- <button v-show="isadd(item)" class="button_spacing button_export" @click.stop="addsafeConfig(item)">添加</button><!--v-if-->
47
-
48
- <button v-show="isdelete(item)" class="button_spacing button_export" @click.stop="updatesafeConfigName(item)">修改名称</button><!--v-if-->
49
- <button v-show="isdelete(item)" class="button_spacing button_export" @click.stop="updatesafeConfig(item)">修改属性</button><!--v-if-->
50
-
51
- <button v-show="isdelete(item)" class="button_spacing button_export" @click.stop="deletesafeConfig(item)">删除</button><!--v-if-->
52
-
53
- </span>
54
-
55
- </span> </a></td>
56
-
57
- </tr>
58
- </tbody>
59
- <tbody>
60
- <tr a-partial="foot"></tr>
61
- </tbody>
62
- </table>
63
- </div>
64
- </div>
65
- <div class="binary-right" style="width: 40%" v-if="rightshow"> <!--fragment-start-->
66
- <div class="auto select-overspread" style="overflow-y: hidden"> <!--fragment-start-->
67
- <ul class="nav nav-tabs"><p class="bg-info text-center" style="padding: 8px">功能信息</p> <!--v-if--> <h3
68
- class="txtline">上一级【{{ getlastname() }}】</h3><!--v-if--> </ul>
69
- <div class="form-horizontal" style="margin-top:20px;flex: 1">
70
- <div class="row">
71
- <div class="col-sm-6" v-for="(key,value) in rightdata">
72
- <label class="font_normal_body">{{getrightdataname(key)}}</label>
73
- <input type="text" style="width:60%" class="input_search full-with" :placeholder="getrightdatavalue(key,value)"
74
- disabled=""></div>
75
- </div>
76
-
77
- <button @click="closeright()" class="btn button_clear col-sm-1 col-sm-offset-1" style="width: 70px"><span
78
- class="glyphicon glyphicon-log-out" style="color: black"></span>返回
79
- </button>
80
- </div><!--fragment-end--><!--vue-validator--> </div><!--v-component--><!--fragment-end--><!--v-if--> </div>
81
- <modal :show.sync="modelshow" v-ref:modal large backdrop="false">
82
- <header slot="modal-header" class="modal-header">
83
- <button type="button" class="close" @click="cancel"><span style="color: black">&times;</span></button>
84
- </header>
85
- <article slot="modal-body" class="modal-body">
86
- <div class="auto select-overspread" style="overflow-y: hidden">
87
- <validator name='v'>
88
- <ul class="nav nav-tabs">
89
- <p class="bg-info text-center" style="padding: 8px;">配置添加</p>
90
- </ul>
91
- <div class="form-horizontal" style="margin-top:20px;flex: 1;">
92
- <div class="row">
93
- <div class="col-sm-6">
94
- <label class="font_normal_body" >配置名称</label>
95
- <input type="text"
96
- v-model="model.name" style="width:60%"
97
- class="input_search full-with" placeholder="配置名称">
98
- </div>
99
- </div>
100
-
101
-
102
- <button @click="confirm()" class="btn button_search col-sm-1 col-sm-offset-5" style="width: 70px" :disabled="!$v.valid">
103
- <span style="color: black" class="glyphicon glyphicon-floppy-disk"></span>保存
104
- </button>
105
- <button @click='cancel()' class="btn button_clear col-sm-1 col-sm-offset-1" style="width: 70px">
106
- <span style="color: black" class=" glyphicon glyphicon-log-out"></span>返回
107
- </button>
108
- </div>
109
- </validator>
110
- </div>
111
- </article>
112
- <footer slot="modal-footer" class="modal-footer">
113
- </footer>
114
- </modal>
115
- <modal :show.sync="modelshow1" v-ref:modal large backdrop="false">
116
- <header slot="modal-header" class="modal-header">
117
- <button type="button" class="close" @click="cancel1"><span style="color: black">&times;</span></button>
118
- </header>
119
- <article slot="modal-body" class="modal-body">
120
- <div class="auto select-overspread" style="overflow-y: hidden">
121
- <validator name='v'>
122
- <ul class="nav nav-tabs">
123
- <p class="bg-info text-center" style="padding: 8px;">名称修改</p>
124
- </ul>
125
- <div class="form-horizontal" style="margin-top:20px;flex: 1;">
126
- <div class="row">
127
- <div class="col-sm-6">
128
- <label class="font_normal_body" >配置名称</label>
129
- <input type="text"
130
- v-model="model.name" style="width:60%"
131
- class="input_search full-with" placeholder="配置名称">
132
- </div>
133
- </div>
134
-
135
-
136
- <button @click="confirm1()" class="btn button_search col-sm-1 col-sm-offset-5" style="width: 70px" :disabled="!$v.valid">
137
- <span style="color: black" class="glyphicon glyphicon-floppy-disk"></span>保存
138
- </button>
139
- <button @click='cancel1()' class="btn button_clear col-sm-1 col-sm-offset-1" style="width: 70px">
140
- <span style="color: black" class=" glyphicon glyphicon-log-out"></span>返回
141
- </button>
142
- </div>
143
- </validator>
144
- </div>
145
- </article>
146
- <footer slot="modal-footer" class="modal-footer">
147
- </footer>
148
- </modal>
149
- <modal :show.sync="modelshow2" v-ref:modal large backdrop="false">
150
- <header slot="modal-header" class="modal-header">
151
- <button type="button" class="close" @click="cancel2"><span style="color: black">&times;</span></button>
152
- </header>
153
- <article slot="modal-body" class="modal-body">
154
- <div class="auto select-overspread" >
155
- <validator name='v'>
156
- <ul class="nav nav-tabs">
157
- <p class="bg-info text-center" style="padding: 8px;">配置添加</p>
158
- </ul>
159
- <div class="form-horizontal" style="margin-top:20px;margin-bottom:20px;flex: 1;">
160
- <div class="row">
161
- <div class="col-sm-6" v-for="objs in updateArray">
162
- <label class="font_normal_body" >{{objs.label}}</label>
163
- <input v-if="objs.type=='input'" type="text"
164
- v-model="objs.value" style="width:60%"
165
- class="input_search full-with" :placeholder="objs.label">
166
- <v-select v-if="objs.type=='selector'"
167
- :value.sync="objs.value"
168
- v-model="objs.value" style="width:60%"
169
- close-on-select
170
- :value-single="true"
171
- :options="objs.options"
172
- class=" full-with" :placeholder="objs.label"></v-select>
173
- </div>
174
- </div>
175
-
176
-
177
- <button @click="confirm2()" class="btn button_search col-sm-1 col-sm-offset-5" style="width: 70px" :disabled="!$v.valid">
178
- <span style="color: black" class="glyphicon glyphicon-floppy-disk"></span>保存
179
- </button>
180
- <button @click='cancel2()' class="btn button_clear col-sm-1 col-sm-offset-1" style="width: 70px">
181
- <span style="color: black" class=" glyphicon glyphicon-log-out"></span>返回
182
- </button>
183
- </div>
184
- </validator>
185
- </div>
186
- </article>
187
- <footer slot="modal-footer" class="modal-footer">
188
- </footer>
189
- </modal>
190
- </div>
191
-
192
- </template>
193
-
194
- <script>
195
-
196
- import { HttpResetClass } from 'vue-client'
197
-
198
- export default {
199
- title: '配置修改',
200
- ready() {
201
-
202
- },
203
- data() {
204
- return {
205
-
206
- curorgid: [this.$login.f.orgid],
207
- seaching:false,
208
- modelshow:false,
209
- modelshow1:false,
210
- modelshow2:false,
211
- upmodel:{},
212
- f_dir:'',
213
- model:{},
214
- modeldata:{},
215
- rightshow:false,
216
- rightrow:{},
217
- rightdata:{},
218
- safeArray: [],
219
- updateArray:[],
220
- safeConfig: {
221
- "民用配置项": {},
222
- "非民用配置项": {}
223
- }
224
- }
225
- },
226
- methods: {
227
- getorg(val) {
228
- this.f_filialeid = val[0]
229
- if (val[0]){
230
- new HttpResetClass().load('post','api/af-safecheck/sql/safe_singleTable_OrderBy',{data: {
231
- items: 'f_dir',
232
- tablename: 't_organization',
233
- condition: `id = '${val[0]}'`,
234
- orderitem: 'id'
235
- }}).then(res=>{
236
- //tag
237
- //tag)
238
- if (!res.data[0].f_dir){
239
- this.$showMessage("该公司无组织目录,无法获取配置文件,请联系管理员确认")
240
- }else{
241
- this.f_dir=res.data[0].f_dir
242
- try {
243
- new HttpResetClass().load('GET',`/safecheck/rs/vue/DevicesConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {},{resolveMsg: '获取居民配置项成功!', rejectMsg: '获取居民配置项出错!'}).then(res=>{
244
- //tag
245
- this.safeConfig["民用配置项"]=Object.assign({},res.data)
246
- })
247
- new HttpResetClass().load('GET',`/safecheck/rs/vue/DevicesSetConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {},{resolveMsg: '获取非居民配置项成功!', rejectMsg: '获取非居民配置项出错!'}).then(res=>{
248
- //tag
249
- this.safeConfig["非民用配置项"]=Object.assign({},res.data)
250
- }).then(res=> {
251
- this.safeArray = []
252
- this.initArray()
253
- this.model = {}
254
- this.modeldata = {}
255
- })
256
-
257
- }catch (e) {
258
- this.$showMessage("获取配置文件失败"+e)
259
- }
260
- }
261
- })
262
- }
263
- },
264
- isdelete(item){
265
-
266
- if (item.safename=='燃气表'&&item.safeindex){
267
- return false
268
- }
269
- if (item.safeindex!='1'){
270
- return true
271
- }
272
- },
273
- isadd(item){
274
- if (item.safeindex=='4'){
275
- return false
276
- }if (item.safeindex=='3'){
277
- return item.safetype=='selector'||item.safetype=='radio'
278
- }
279
- return true
280
- },
281
- confirm() {
282
- ////tag
283
- if (this.modeldata.safeindex==1){
284
- //tag
285
- for(let name in this.safeConfig[this.modeldata.safename]){
286
- if(typeof name=='function'){
287
- continue
288
- }
289
- if (name==this.model.name){
290
- this.$showMessage('已有配置名'+name+',添加失败')
291
- return
292
- }
293
- }
294
- }
295
- if (this.modeldata.safeindex==2){
296
- for(let name in this.safeConfig[this.modeldata.safelast][this.modeldata.safename].items){
297
- if(typeof name=='function'){
298
- continue
299
- }
300
- if (name==this.model.name){
301
- this.$showMessage('已有配置名'+name+',添加失败')
302
- return
303
- }
304
- }
305
- //tag
306
- }
307
- if (this.modeldata.safeindex==3){
308
- for (let i = 0; i < this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename].options.length; i++) {
309
- if (this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename].options[i].data==this.model.name){
310
- this.$showMessage('已有配置名'+this.model.name+',添加失败')
311
- return
312
- }
313
- }
314
- //tag
315
- }
316
- ////tag
317
- ////tag)
318
- if (this.modeldata.safeindex=='1'){
319
- let index
320
- ////tag
321
- ////tag
322
- if (Object.keys(this.safeConfig[this.modeldata.safename]).length==0){
323
- index=0
324
- }else{
325
- for (let obj in this.safeConfig[this.modeldata.safename]) {
326
- if(typeof obj=='function'){
327
- continue
328
- }
329
- ////tag
330
- ////tag
331
- ////tag
332
- index = this.safeConfig[this.modeldata.safename][obj].index
333
- }
334
- }
335
- ////tag
336
- this.safeConfig[this.modeldata.safename][this.model.name] = {
337
- checkmust: true,
338
- index: index + 1,
339
- items:{}
340
- }
341
- ////tag)
342
- }
343
- if (this.modeldata.safeindex=='2'){
344
- let index
345
- ////tag
346
- ////tag
347
- if (Object.keys(this.safeConfig[this.modeldata.safelast][this.modeldata.safename].items).length==0){
348
- index=0
349
- }else{
350
- for (let obj in this.safeConfig[this.modeldata.safelast][this.modeldata.safename].items) {
351
- if(typeof obj=='function'){
352
- continue
353
- }
354
- ////tag
355
- ////tag
356
- ////tag
357
- index = this.safeConfig[this.modeldata.safelast][this.modeldata.safename].items[obj].index
358
- }
359
- }
360
-
361
- ////tag
362
- this.safeConfig[this.modeldata.safelast][this.modeldata.safename].items[this.model.name] = {
363
- index: index + 1,
364
- multiple: false,
365
- options:[],
366
- isshow:true,
367
- checkmust:false,
368
- type: "selector"
369
- }
370
- ////tag)
371
- }
372
- if (this.modeldata.safeindex=='3'){
373
- let index
374
- ////tag
375
- ////tag
376
- ////tag
377
- this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename].options.push({
378
- data:this.model.name,
379
- isdefect:false,
380
- level:'A',
381
- isdefault:false
382
- })
383
-
384
- ////tag)
385
- }
386
- let path
387
- let value
388
- if (this.modeldata.safelast=='民用配置项'||this.modeldata.safelastlast=='民用配置项'||this.modeldata.safelastlastlast=='民用配置项'){
389
- path= this.f_dir + `/phonevues/DevicesConfig.json`
390
- value=this.safeConfig["民用配置项"]
391
- }else{
392
- path= this.f_dir + `/phonevues/DevicesSetConfig.json`
393
- value=this.safeConfig["非民用配置项"]
394
- }
395
-
396
- this.$resetpost('rs/vue/safeSaveConfig', {path: path, data: JSON.stringify(value)} ).then(res=> {
397
-
398
- this.$showMessage("保存成功")
399
- this.safeArray = []
400
- this.initArray()
401
- this.model = {}
402
- this.modeldata = {}
403
- this.rightshow = false
404
- this.modelshow = false
405
- })
406
-
407
- },
408
- cancel() {
409
- this.model={}
410
- this.modeldata={}
411
- this.modelshow = false
412
- },
413
- confirm1() {
414
- if (this.modeldata.safeindex==2){
415
- //tag
416
- for(let name in this.safeConfig[this.modeldata.safelast]){
417
- if(typeof name=='function'){
418
- continue
419
- }
420
- if (name==this.model.name){
421
- this.$showMessage('已有配置名'+name+',修改失败')
422
- return
423
- }
424
- }
425
- }
426
- if (this.modeldata.safeindex==3){
427
- for(let name in this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items){
428
- if(typeof name=='function'){
429
- continue
430
- }
431
- if (name==this.model.name){
432
- this.$showMessage('已有配置名'+name+',修改失败')
433
- return
434
- }
435
- }
436
- //tag
437
- }
438
- if (this.modeldata.safeindex==4){
439
- for (let i = 0; i < this.safeConfig[this.modeldata.safelastlastlast][this.modeldata.safelastlast].items[this.modeldata.safelast].options.length; i++) {
440
- if (this.safeConfig[this.modeldata.safelastlastlast][this.modeldata.safelastlast].items[this.modeldata.safelast].options[i].data==this.model.name){
441
- this.$showMessage('已有配置名'+this.model.name+',修改失败')
442
- return
443
- }
444
- }
445
- //tag
446
- }
447
- this.seaching=true
448
- ////tag
449
- ////tag)
450
-
451
- if (this.modeldata.safeindex=='2'){
452
- this.safeConfig[this.modeldata.safelast][this.model.name]=Object.assign({},this.safeConfig[this.modeldata.safelast][this.modeldata.safename])
453
- delete this.safeConfig[this.modeldata.safelast][this.modeldata.safename]
454
- }
455
- if (this.modeldata.safeindex=='3'){
456
- this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.model.name]=Object.assign({},this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename])
457
- delete this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename]
458
- }
459
- if (this.modeldata.safeindex=='4'){
460
- ////tag
461
- ////tag)
462
- for (let i = 0; i < this.safeConfig[this.modeldata.safelastlastlast][this.modeldata.safelastlast].items[this.modeldata.safelast].options.length; i++) {
463
- if(this.safeConfig[this.modeldata.safelastlastlast][this.modeldata.safelastlast].items[this.modeldata.safelast].options[i].data==this.modeldata.safename){
464
- this.safeConfig[this.modeldata.safelastlastlast][this.modeldata.safelastlast].items[this.modeldata.safelast].options[i].data=this.model.name
465
- }
466
- }
467
- }
468
- let path
469
- let value
470
- if (this.modeldata.safelast=='民用配置项'||this.modeldata.safelastlast=='民用配置项'||this.modeldata.safelastlastlast=='民用配置项'){
471
- path= this.f_dir + `/phonevues/DevicesConfig.json`
472
- value=this.safeConfig["民用配置项"]
473
- }else{
474
- path= this.f_dir + `/phonevues/DevicesSetConfig.json`
475
- value=this.safeConfig["非民用配置项"]
476
- }
477
-
478
- this.$resetpost('rs/vue/safeSaveConfig', {path: path, data: JSON.stringify(value)} ).then(res=>{
479
- this.$showMessage("修改成功")
480
- this.safeArray = []
481
- this.initArray()
482
- this.model={}
483
- this.modeldata={}
484
- this.rightshow=false
485
- this.modelshow1 = false
486
- this.seaching=false
487
- })
488
-
489
-
490
- },
491
- cancel1() {
492
- this.model={}
493
- this.modeldata={}
494
- this.modelshow1 = false
495
- },
496
- addsafeConfig(item) {
497
- ////tag
498
-
499
- this.modeldata = item
500
- this.modelshow = true
501
- },
502
- deletesafeConfig(item){
503
- this.$showMessage('删除后无法恢复,确认删除吗?',['confirm','cancel']).then(res=>{
504
- if (res=='confirm'){
505
- this.seaching=true
506
- if (item.safeindex=='2'){
507
- ////tag
508
- if (item.safename=='燃气表'){
509
- this.$showMessage("燃气表不允许删除!!!")
510
- return
511
- }else{
512
- ////tag
513
- delete this.safeConfig[item.safelast][item.safename]
514
-
515
- for(let name in this.safeConfig[item.safelast]){
516
- if(typeof name=='function'){
517
- continue
518
- }
519
- if (this.safeConfig[item.safelast][name].index>item.safesort){
520
- this.safeConfig[item.safelast][name].index=this.safeConfig[item.safelast][name].index-1
521
- }
522
- }
523
- }
524
- }else if (item.safeindex=='3'){
525
- delete this.safeConfig[item.safelastlast][item.safelast].items[item.safename]
526
- for(let name in this.safeConfig[item.safelastlast][item.safelast].items){
527
- if(typeof name=='function'){
528
- continue
529
- }
530
- if (this.safeConfig[item.safelastlast][item.safelast].items[name].index>item.safesort){
531
- this.safeConfig[item.safelastlast][item.safelast].items[name].index=this.safeConfig[item.safelastlast][item.safelast].items[name].index-1
532
- }
533
- }
534
- }else if (item.safeindex=='4'){
535
- for (let i = 0; i < this.safeConfig[item.safelastlastlast][item.safelastlast].items[item.safelast].options.length; i++) {
536
- if (this.safeConfig[item.safelastlastlast][item.safelastlast].items[item.safelast].options[i].data==item.safename){
537
- this.safeConfig[item.safelastlastlast][item.safelastlast].items[item.safelast].options.splice(i,1)
538
- }
539
- }
540
- }
541
- let path
542
- let value
543
- if (item.safelast=='民用配置项'||item.safelastlast=='民用配置项'||item.safelastlastlast=='民用配置项'){
544
- path= this.f_dir + `/phonevues/DevicesConfig.json`
545
- value=this.safeConfig["民用配置项"]
546
- }else{
547
- path= this.f_dir + `/phonevues/DevicesSetConfig.json`
548
- value=this.safeConfig["非民用配置项"]
549
- }
550
-
551
- this.$resetpost('rs/vue/safeSaveConfig', {path: path, data: JSON.stringify(value)} ).then(res=> {
552
-
553
- this.$showMessage("删除成功")
554
- this.safeArray = []
555
- this.initArray()
556
- this.model = {}
557
- this.modeldata = {}
558
- this.rightshow = false
559
- this.modelshow2 = false
560
- // this.sleep(2000);
561
- this.seaching = false
562
- })
563
- }
564
- })
565
-
566
- },
567
- updatesafeConfig(item){
568
- this.modeldata=item
569
- //tag
570
- let array=[]
571
- if (item.safeindex=='2') {
572
- //tag)
573
- let aa = {"checkmust": false, "index": 1}
574
- if (this.safeConfig[item.safelast][item.safename].checkmust) {
575
- array.push({
576
- label: '是否必填',
577
- value: true,
578
- type: 'selector',
579
- name:'checkmust',
580
- options: [{label: '是', value: true}, {label: '否', value: false}]
581
- })
582
- } else {
583
- array.push({
584
- label: '是否必填',
585
- value: false,
586
- type: 'selector',
587
- name:'checkmust',
588
- options: [{label: '是', value: true}, {label: '否', value: false}]
589
- })
590
- }
591
- }
592
- if (item.safeindex=='3'){
593
- let aa={"index":1,"multiple":false,"isshow":true,"checkmust":false,"type":"selector"}
594
- for (let key in this.safeConfig[item.safelastlast][item.safelast].items[item.safename]){
595
- if(typeof key=='function'){
596
- continue
597
- }
598
- if (key=='index'){
599
-
600
- }else if(key=='multiple'){
601
- // array.push({
602
- // label: '是否多选',
603
- // value: this.safeConfig[item.safelastlast][item.safelast].items[item.safename][key],
604
- // name:key,
605
- // type: 'selector',
606
- // options: [{label: '是', value: true}, {label: '否', value: false}]
607
- // })
608
- }else if(key=='options'){
609
-
610
- }else if(key=='isshow'){
611
- // array.push({
612
- // label: '是否展示',
613
- // value: this.safeConfig[item.safelastlast][item.safelast].items[item.safename][key],
614
- // name:key,
615
- // type: 'selector',
616
- // options: [{label: '是', value: true}, {label: '否', value: false}]
617
- // })
618
- }else if(key=='checkmust'){
619
- // array.push({
620
- // label: '是否必填',
621
- // value: this.safeConfig[item.safelastlast][item.safelast].items[item.safename][key],
622
- // name:key,
623
- // type: 'selector',
624
- // options: [{label: '是', value: true}, {label: '否', value: false}]
625
- // })
626
- }else if(key=='type'){
627
- // array.push({
628
- // label: '配置类型',
629
- // value: this.safeConfig[item.safelastlast][item.safelast].items[item.safename][key],
630
- // name:key,
631
- // type: 'selector',
632
- // options: [{label: '输入框', value: 'string'}, {label: '选择框', value: 'selector'}, {label: '勾选框', value: 'radio'},{label: '图片框', value: 'picture'}]
633
- // })
634
- }else if(key=='blockPitfall'){
635
- array.push({
636
- label: '是否限购',
637
- value: this.safeConfig[item.safelastlast][item.safelast].items[item.safename][key],
638
- name:key,
639
- type: 'selector',
640
- options: [{label: '是否限购', value: ''},{label: '是', value: '是'}, {label: '否', value: '否'}]
641
- })
642
- }
643
- }
644
- //tag)
645
- }
646
- if (item.safeindex=='4'){
647
- let aa={"data":"333333333","isdefect":"否","level":"A","isdefault":"否"}
648
- for (let i = 0; i < this.safeConfig[item.safelastlastlast][item.safelastlast].items[item.safelast].options.length; i++) {
649
- if (this.safeConfig[item.safelastlastlast][item.safelastlast].items[item.safelast].options[i].data==item.safename){
650
- //tag)
651
- for(let key in this.safeConfig[item.safelastlastlast][item.safelastlast].items[item.safelast].options[i]){
652
- if(typeof key=='function'){
653
- continue
654
- }
655
- if(key=='data'){
656
-
657
- }else if(key=='isdefect'){
658
- array.push({
659
- label: '是否隐患',
660
- value: this.safeConfig[item.safelastlastlast][item.safelastlast].items[item.safelast].options[i][key],
661
- name:key,
662
- type: 'selector',
663
- options: [{label: '是', value: true}, {label: '否', value: false}]
664
- })
665
- }else if(key=='isdefault'){
666
- array.push({
667
- label: '是否默认',
668
- value: this.safeConfig[item.safelastlastlast][item.safelastlast].items[item.safelast].options[i][key],
669
- name:key,
670
- type: 'selector',
671
- options: [{label: '是否默认', value: ''},{label: '是', value: true}, {label: '否', value: false}]
672
- })
673
-
674
- }else if(key=='level'){
675
- array.push({
676
- label: '隐患级别',
677
- value: this.safeConfig[item.safelastlastlast][item.safelastlast].items[item.safelast].options[i][key],
678
- name:key,
679
- type: 'input',
680
- })
681
-
682
- }
683
- }
684
- }
685
- }
686
- }
687
- //tag
688
- //tag
689
- this.updateArray=Object.assign([],array)
690
- this.modelshow2=true
691
- },
692
- confirm2(){
693
- this.seaching=true
694
- if (this.modeldata.safeindex=='2'){
695
- for (let i = 0; i < this.updateArray.length; i++) {
696
- this.safeConfig[this.modeldata.safelast][this.modeldata.safename][this.updateArray[i].name]=this.updateArray[i].value
697
- }
698
- }
699
- if (this.modeldata.safeindex=='3'){
700
- for (let i = 0; i < this.updateArray.length; i++) {
701
- this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename][this.updateArray[i].name]=this.updateArray[i].value
702
- if (this.updateArray[i].name=='type'&&this.updateArray[i].value!='selector'&&this.updateArray[i].value!='radio'){
703
-
704
- if (this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename].hasOwnProperty('options')){
705
- delete this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename].options
706
- }
707
- }
708
- if (this.updateArray[i].name=='type'&&(this.updateArray[i].value=='selector'||this.updateArray[i].value!='radio')){
709
- if (!this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename].hasOwnProperty('options')){
710
- this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename].options=[]
711
- }
712
- }
713
- }
714
-
715
- }
716
- if (this.modeldata.safeindex=='4'){
717
-
718
- for (let i = 0; i < this.safeConfig[this.modeldata.safelastlastlast][this.modeldata.safelastlast].items[this.modeldata.safelast].options.length; i++) {
719
- if(this.safeConfig[this.modeldata.safelastlastlast][this.modeldata.safelastlast].items[this.modeldata.safelast].options[i].data==this.modeldata.safename){
720
- for (let j = 0; j < this.updateArray.length; j++) {
721
-
722
-
723
- this.safeConfig[this.modeldata.safelastlastlast][this.modeldata.safelastlast].items[this.modeldata.safelast].options[i][this.updateArray[j].name]=this.updateArray[j].value
724
- }
725
- }
726
- }
727
- }
728
- let path
729
- let value
730
- if (this.modeldata.safelast=='民用配置项'||this.modeldata.safelastlast=='民用配置项'||this.modeldata.safelastlastlast=='民用配置项'){
731
- path= this.f_dir + `/phonevues/DevicesConfig.json`
732
- value=this.safeConfig["民用配置项"]
733
- }else{
734
- path= this.f_dir + `/phonevues/DevicesSetConfig.json`
735
- value=this.safeConfig["非民用配置项"]
736
- }
737
-
738
- this.$resetpost('rs/vue/safeSaveConfig', {path: path, data: JSON.stringify(value)} ).then(res=> {
739
-
740
- this.$showMessage("修改成功")
741
- this.safeArray = []
742
- this.initArray()
743
- this.model = {}
744
- this.modeldata = {}
745
- this.rightshow = false
746
- this.modelshow2 = false
747
- this.seaching = false
748
- })
749
- },
750
- cancel2(){
751
- this.modelshow2=false
752
- },
753
- updatesafeConfigName(item){
754
-
755
- this.$set('model.name',item.safename)
756
- this.modeldata=Object.assign({},item)
757
- this.modelshow1=true
758
- },
759
- initArray() {
760
- for (let bigsafe in this.safeConfig) {
761
- if(typeof bigsafe=='function'){
762
- continue
763
- }
764
- ////tag
765
- ////tag)
766
- this.safeArray.push({
767
- selectedshow: false,
768
- safetype: '',
769
- safeshow: false,
770
- safename: bigsafe,
771
- safevalue: this.safeConfig[bigsafe] ? Object.keys(this.safeConfig[bigsafe]).length : 0,
772
- safeindex: 1
773
- })
774
- }
775
- this.seaching=false
776
- },
777
- closeright() {
778
- this.rightshow = false
779
- },
780
- getlastname() {
781
-
782
- if (this.rightrow.safelast) {
783
- return this.rightrow.safelast
784
- }
785
- return '无'
786
- },
787
- pushArray(val, arrayindex) {
788
- ////tag
789
- ////tag)
790
- ////tag)
791
- if (this.safeArray[arrayindex].safeshow == false) {
792
- let spliceindex = arrayindex + 1
793
- this.safeArray[arrayindex].safeshow = true
794
- if (val.safeindex == '1') {
795
- let linshiarray = []
796
- for (let two in this.safeConfig[val.safename]) {
797
- if(typeof two=='function'){
798
- continue
799
- }
800
- ////tag
801
- ////tag)
802
-
803
- linshiarray.push({
804
- selectedshow: false,
805
- safesort: this.safeConfig[val.safename][two].index,
806
- safetype: '',
807
- safeshow: false,
808
- safename: two,
809
- safevalue: this.safeConfig[val.safename][two].items ? Object.keys(this.safeConfig[val.safename][two].items).length : 0,
810
- safeindex: 2,
811
- safelast: val.safename
812
- })
813
-
814
- }
815
-
816
- linshiarray=this.jsonSort(linshiarray, "safesort",true)
817
- ////tag
818
- ////tag)
819
- for (let i = 0; i < linshiarray.length; i++) {
820
- this.safeArray.splice(spliceindex, 0,linshiarray[i])
821
- }
822
- }
823
- if (val.safeindex == '2') {
824
- let linshiarray = []
825
- let aa = {"safename": "燃气表", "safevalue": 3, "safeindex": 2, "safelast": "民用配置项"}
826
- for (let isthree in this.safeConfig[val.safelast][val.safename]) {
827
- if(typeof isthree=='function'){
828
- continue
829
- }
830
- if (isthree == 'items') {
831
- for (let three in this.safeConfig[val.safelast][val.safename].items) {
832
- if(typeof three=='function'){
833
- continue
834
- }
835
- ////tag
836
- ////tag
837
- ////tag
838
- ////tag)
839
- ////tag)
840
- linshiarray.push({
841
- safesort:this.safeConfig[val.safelast][val.safename].items[three].index,
842
- selectedshow: false,
843
- safetype: this.safeConfig[val.safelast][val.safename].items[three].type,
844
- safeshow: false,
845
- safename: three,
846
- safevalue: this.safeConfig[val.safelast][val.safename].items[three].options ? Object.keys(this.safeConfig[val.safelast][val.safename].items[three].options).length : 0,
847
- safeindex: 3,
848
- safelast: val.safename,
849
- safelastlast: val.safelast
850
- })
851
- }
852
- linshiarray=this.jsonSort(linshiarray, "safesort",true)
853
- ////tag
854
- ////tag)
855
- for (let i = 0; i < linshiarray.length; i++) {
856
- this.safeArray.splice(spliceindex, 0,linshiarray[i])
857
- }
858
- }
859
- }
860
-
861
- }
862
- if (val.safeindex == '3') {
863
- let linshiarray = []
864
- let aa = {
865
- "safename": "燃气表有无改装在卧室、卫生间、客厅",
866
- "safevalue": 4,
867
- "safeindex": 3,
868
- "safelast": "燃气表",
869
- "safelastlast": "民用配置项"
870
- }
871
- for (let isfour in this.safeConfig[val.safelastlast][val.safelast].items[val.safename]) {
872
- if(typeof isfour=='function'){
873
- continue
874
- }
875
- if (isfour == 'options') {
876
- for (let four in this.safeConfig[val.safelastlast][val.safelast].items[val.safename].options) {
877
- if(typeof four=='function'){
878
- continue
879
- }
880
- ////tag
881
- ////tag
882
- ////tag)
883
- ////tag)
884
- ////tag)
885
- linshiarray.push({
886
- safesort:four,
887
- selectedshow: false,
888
- safetype: 'no',
889
- safeshow: false,
890
- safename: this.safeConfig[val.safelastlast][val.safelast].items[val.safename].options[four].data,
891
- safevalue: 0,
892
- safeindex: 4,
893
- safelast: val.safename,
894
- safelastlast: val.safelast,
895
- safelastlastlast: val.safelastlast,
896
- })
897
- }
898
- linshiarray=this.jsonSort(linshiarray, "safesort",true)
899
- ////tag
900
- ////tag)
901
- for (let i = 0; i < linshiarray.length; i++) {
902
- this.safeArray.splice(spliceindex, 0,linshiarray[i])
903
- }
904
-
905
- }
906
- }
907
- }
908
- } else {
909
- let deleteindex = {begin: 999999, end: 99999}
910
- this.safeArray[arrayindex].safeshow = false
911
- for (let i = 0; i < this.safeArray.length; i++) {
912
- if (this.safeArray[i].safelast == this.safeArray[arrayindex].safename
913
- || this.safeArray[i].safelastlast == this.safeArray[arrayindex].safename
914
- || this.safeArray[i].safelastlastlast == this.safeArray[arrayindex].safename) {
915
- if (deleteindex.begin == 999999) {
916
- deleteindex.begin = i
917
- } else {
918
- deleteindex.end = i
919
- }
920
- }
921
- }
922
- ////tag)
923
- this.safeArray.splice(deleteindex.begin, deleteindex.end + 1 - deleteindex.begin)
924
-
925
- }
926
- ////tag)
927
- },
928
- selectedshow(index) {
929
- this.rightdata={}
930
- ////tag
931
- for (let i = 0; i < this.safeArray.length; i++) {
932
- this.safeArray[i].selectedshow = false
933
- }
934
- this.safeArray[index].selectedshow = true
935
- this.rightrow = Object.assign({}, this.safeArray[index])
936
- //传入参数到右侧
937
- //开始取对应参数
938
- ////tag
939
- ////tag
940
- this.setRightRow(this.rightrow)
941
-
942
- this.rightshow = true
943
-
944
- },
945
- getrightdataname(name) {
946
- ////tag
947
- ////tag
948
- if (name == 'checkmust') {
949
- return '是否必填'
950
- }
951
- if (name == 'isdefault') {
952
- return '是否默认'
953
- }
954
- if (name == 'index') {
955
- return '配置下标'
956
- }
957
- if (name == 'items') {
958
- return '配置数量'
959
- }
960
- if (name == 'items') {
961
- return '配置数量'
962
- }
963
- if (name == 'options') {
964
- return '选项数量'
965
- }
966
- if (name == 'type') {
967
- return '配置类型'
968
- }
969
- if (name == 'isdefect') {
970
- return '是否隐患'
971
- }
972
- if (name == 'isshow') {
973
- return '是否展示'
974
- }
975
- if (name == 'multiple') {
976
- return '是否多选'
977
- }
978
- if (name == 'level') {
979
- return '隐患级别'
980
- }
981
- if (name == 'data') {
982
- return '选项名称'
983
- }
984
- if (name == 'repairDepartment') {
985
- return '转单部门'
986
- }
987
- if (name == 'loseEfficacy') {
988
- return '默认处理时效(天)'
989
- }
990
- if (name == 'blockPitfall') {
991
- return '是否限购'
992
- }
993
- if (name == 'dealDispose') {
994
- return '默认处理方式'
995
- }
996
- },
997
- getrightdatavalue(key, value) {
998
- if (key == 'items') {
999
- return Object.keys(value).length
1000
- }
1001
- if (key == 'options') {
1002
- return value.length
1003
- }
1004
- if (value == 'string') {
1005
- return '文本框'
1006
- }
1007
- if (value == 'selector') {
1008
- return '选择框'
1009
- }
1010
- if (value == 'picture') {
1011
- return '照片框'
1012
- }
1013
- if (value == 'radio') {
1014
- return '勾选框'
1015
- }
1016
- if (value === true) {
1017
- return '是'
1018
- }
1019
- if (value === false) {
1020
- return '否'
1021
- }
1022
- return value
1023
- },
1024
- setRightRow(row) {
1025
- ////tag
1026
- if (row.safelastlastlast) {
1027
- ////tag
1028
- ////tag)
1029
- for (let i = 0; i < this.safeConfig[row.safelastlastlast][row.safelastlast].items[row.safelast].options.length; i++) {
1030
- if (this.safeConfig[row.safelastlastlast][row.safelastlast].items[row.safelast].options[i].data == row.safename) {
1031
- this.rightdata = Object.assign({}, this.safeConfig[row.safelastlastlast][row.safelastlast].items[row.safelast].options[i])
1032
- }
1033
- }
1034
- } else if (row.safelastlast) {
1035
-
1036
- ////tag)
1037
- this.rightdata = Object.assign(this.safeConfig[row.safelastlast][row.safelast].items[row.safename])
1038
- } else if (row.safelast) {
1039
- ////tag)
1040
- this.rightdata = Object.assign(this.safeConfig[row.safelast][row.safename])
1041
- }
1042
- },
1043
- getJsonLength(val) {
1044
- return Object.keys(val).length
1045
- },
1046
- jsonSort(array, field, reverse) {
1047
- ////tag
1048
- //数组长度小于2 或 没有指定排序字段 或 不是json格式数据
1049
- if (array.length < 2 || !field || typeof array[0] !== "object") return array;
1050
- //数字类型排序
1051
- if (typeof array[0][field] === "number") {
1052
- array.sort(function (x, y) {
1053
- return x[field] - y[field]
1054
- });
1055
- }
1056
- //字符串类型排序
1057
- if (typeof array[0][field] === "string") {
1058
- array.sort(function (x, y) {
1059
- return parseInt(x[field]) - parseInt(y[field])
1060
- });
1061
- }
1062
- //倒序
1063
- if (reverse) {
1064
- array.reverse();
1065
- }
1066
- return array;
1067
- },
1068
- sleep(n) {
1069
- var start = new Date().getTime();
1070
- // //tag;
1071
- while (true) {
1072
- if (new Date().getTime() - start > n) {
1073
- break;
1074
- }
1075
- }
1076
- // //tag.getTime());
1077
- }
1078
-
1079
-
1080
- },
1081
- events: {}
1082
- }
1083
- </script>
1084
- <style>
1085
- /*span {*/
1086
- /* color: black;*/
1087
- /*}*/
1088
- </style>
1
+ <template>
2
+ <div id="unit" class="flex-row">
3
+ <work-busy :is-busy="seaching"></work-busy>
4
+ <div class="flex basic-main" style="flex:1">
5
+ <div novalidate="" class="row form-horizontal select-overspread container-fluid auto" partial="">
6
+ <div novalidate="" class="form-inline auto" partial="">
7
+ <div class="form-group col-sm-2">
8
+ <label class="font_normal_body">组织机构</label>
9
+ <res-select
10
+ :initresid='curorgid'
11
+ @res-select="getorg"
12
+ is-mul="false"
13
+ restype='organization'
14
+ >
15
+ </res-select>
16
+ </div>
17
+ </div>
18
+ </div>
19
+ <div class="list-group list_area table_sy" isedit="true" style="overflow: auto">
20
+ <table class="table table-bordered">
21
+ <thead a-partial="head" class="text-left">
22
+ <tr>
23
+ <th>安检配置项</th>
24
+ </tr>
25
+ </thead>
26
+ <tbody>
27
+ <tr a-partial="body" :id="'vc-datagrid-tree-grid-'+$index" v-for="item in safeArray">
28
+ <td><a herf="#" @click="selectedshow($index)" class="list-group-item expand-transition"
29
+ style="border: none;background-color: transparent;cursor: pointer" :id="'vc-tree-tree-grid-'+$index">
30
+ <span style="color: black" v-for="n in item.safeindex-1 ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
31
+ <span style="color: black" :id="'vc-tree-tree-grid-'+$index">
32
+ <span style="color: black" v-if="item.safeshow&&(item.safetype=='selector'||item.safetype=='radio'||item.safetype=='')"
33
+ @click.stop="pushArray(item,$index)" class="glyphicon glyphicon-minus-sign"
34
+ style="font-size: 18px;">
35
+ </span>
36
+ <span style="color: black" v-if="!item.safeshow&&(item.safetype=='selector'||item.safetype=='radio'||item.safetype=='')"
37
+ @click.stop="pushArray(item,$index)" class="glyphicon glyphicon-plus-sign"
38
+ style="font-size: 18px;">
39
+ </span>
40
+ <span style="color: black" v-if="item.safetype!='selector'&&item.safetype!='radio'&&item.safetype!=''" style="font-size: 18px;">
41
+ &nbsp;&nbsp;&nbsp;</span>
42
+ </span> <span style="color: black" partial=""> <span>{{ item.safename }}</span>
43
+ <span style="color: black" v-if="item.safevalue!=0">【{{ item.safevalue }}】</span>
44
+ <span style="color: black" v-show="item.selectedshow">
45
+
46
+ <button v-show="isadd(item)" class="button_spacing button_export" @click.stop="addsafeConfig(item)">添加</button><!--v-if-->
47
+
48
+ <button v-show="isdelete(item)" class="button_spacing button_export" @click.stop="updatesafeConfigName(item)">修改名称</button><!--v-if-->
49
+ <button v-show="isdelete(item)" class="button_spacing button_export" @click.stop="updatesafeConfig(item)">修改属性</button><!--v-if-->
50
+
51
+ <button v-show="isdelete(item)" class="button_spacing button_export" @click.stop="deletesafeConfig(item)">删除</button><!--v-if-->
52
+
53
+ </span>
54
+
55
+ </span> </a></td>
56
+
57
+ </tr>
58
+ </tbody>
59
+ <tbody>
60
+ <tr a-partial="foot"></tr>
61
+ </tbody>
62
+ </table>
63
+ </div>
64
+ </div>
65
+ <div class="binary-right" style="width: 40%" v-if="rightshow"> <!--fragment-start-->
66
+ <div class="auto select-overspread" style="overflow-y: hidden"> <!--fragment-start-->
67
+ <ul class="nav nav-tabs"><p class="bg-info text-center" style="padding: 8px">功能信息</p> <!--v-if--> <h3
68
+ class="txtline">上一级【{{ getlastname() }}】</h3><!--v-if--> </ul>
69
+ <div class="form-horizontal" style="margin-top:20px;flex: 1">
70
+ <div class="row">
71
+ <div class="col-sm-6" v-for="(key,value) in rightdata">
72
+ <label class="font_normal_body">{{getrightdataname(key)}}</label>
73
+ <input type="text" style="width:60%" class="input_search full-with" :placeholder="getrightdatavalue(key,value)"
74
+ disabled=""></div>
75
+ </div>
76
+
77
+ <button @click="closeright()" class="btn button_clear col-sm-1 col-sm-offset-1" style="width: 70px"><span
78
+ class="glyphicon glyphicon-log-out" style="color: black"></span>返回
79
+ </button>
80
+ </div><!--fragment-end--><!--vue-validator--> </div><!--v-component--><!--fragment-end--><!--v-if--> </div>
81
+ <modal :show.sync="modelshow" v-ref:modal large backdrop="false">
82
+ <header slot="modal-header" class="modal-header">
83
+ <button type="button" class="close" @click="cancel"><span style="color: black">&times;</span></button>
84
+ </header>
85
+ <article slot="modal-body" class="modal-body">
86
+ <div class="auto select-overspread" style="overflow-y: hidden">
87
+ <validator name='v'>
88
+ <ul class="nav nav-tabs">
89
+ <p class="bg-info text-center" style="padding: 8px;">配置添加</p>
90
+ </ul>
91
+ <div class="form-horizontal" style="margin-top:20px;flex: 1;">
92
+ <div class="row">
93
+ <div class="col-sm-6">
94
+ <label class="font_normal_body" >配置名称</label>
95
+ <input type="text"
96
+ v-model="model.name" style="width:60%"
97
+ class="input_search full-with" placeholder="配置名称">
98
+ </div>
99
+ </div>
100
+
101
+
102
+ <button @click="confirm()" class="btn button_search col-sm-1 col-sm-offset-5" style="width: 70px" :disabled="!$v.valid">
103
+ <span style="color: black" class="glyphicon glyphicon-floppy-disk"></span>保存
104
+ </button>
105
+ <button @click='cancel()' class="btn button_clear col-sm-1 col-sm-offset-1" style="width: 70px">
106
+ <span style="color: black" class=" glyphicon glyphicon-log-out"></span>返回
107
+ </button>
108
+ </div>
109
+ </validator>
110
+ </div>
111
+ </article>
112
+ <footer slot="modal-footer" class="modal-footer">
113
+ </footer>
114
+ </modal>
115
+ <modal :show.sync="modelshow1" v-ref:modal large backdrop="false">
116
+ <header slot="modal-header" class="modal-header">
117
+ <button type="button" class="close" @click="cancel1"><span style="color: black">&times;</span></button>
118
+ </header>
119
+ <article slot="modal-body" class="modal-body">
120
+ <div class="auto select-overspread" style="overflow-y: hidden">
121
+ <validator name='v'>
122
+ <ul class="nav nav-tabs">
123
+ <p class="bg-info text-center" style="padding: 8px;">名称修改</p>
124
+ </ul>
125
+ <div class="form-horizontal" style="margin-top:20px;flex: 1;">
126
+ <div class="row">
127
+ <div class="col-sm-6">
128
+ <label class="font_normal_body" >配置名称</label>
129
+ <input type="text"
130
+ v-model="model.name" style="width:60%"
131
+ class="input_search full-with" placeholder="配置名称">
132
+ </div>
133
+ </div>
134
+
135
+
136
+ <button @click="confirm1()" class="btn button_search col-sm-1 col-sm-offset-5" style="width: 70px" :disabled="!$v.valid">
137
+ <span style="color: black" class="glyphicon glyphicon-floppy-disk"></span>保存
138
+ </button>
139
+ <button @click='cancel1()' class="btn button_clear col-sm-1 col-sm-offset-1" style="width: 70px">
140
+ <span style="color: black" class=" glyphicon glyphicon-log-out"></span>返回
141
+ </button>
142
+ </div>
143
+ </validator>
144
+ </div>
145
+ </article>
146
+ <footer slot="modal-footer" class="modal-footer">
147
+ </footer>
148
+ </modal>
149
+ <modal :show.sync="modelshow2" v-ref:modal large backdrop="false">
150
+ <header slot="modal-header" class="modal-header">
151
+ <button type="button" class="close" @click="cancel2"><span style="color: black">&times;</span></button>
152
+ </header>
153
+ <article slot="modal-body" class="modal-body">
154
+ <div class="auto select-overspread" >
155
+ <validator name='v'>
156
+ <ul class="nav nav-tabs">
157
+ <p class="bg-info text-center" style="padding: 8px;">配置添加</p>
158
+ </ul>
159
+ <div class="form-horizontal" style="margin-top:20px;margin-bottom:20px;flex: 1;">
160
+ <div class="row">
161
+ <div class="col-sm-6" v-for="objs in updateArray">
162
+ <label class="font_normal_body" >{{objs.label}}</label>
163
+ <input v-if="objs.type=='input'" type="text"
164
+ v-model="objs.value" style="width:60%"
165
+ class="input_search full-with" :placeholder="objs.label">
166
+ <v-select v-if="objs.type=='selector'"
167
+ :value.sync="objs.value"
168
+ v-model="objs.value" style="width:60%"
169
+ close-on-select
170
+ :value-single="true"
171
+ :options="objs.options"
172
+ class=" full-with" :placeholder="objs.label"></v-select>
173
+ </div>
174
+ </div>
175
+
176
+
177
+ <button @click="confirm2()" class="btn button_search col-sm-1 col-sm-offset-5" style="width: 70px" :disabled="!$v.valid">
178
+ <span style="color: black" class="glyphicon glyphicon-floppy-disk"></span>保存
179
+ </button>
180
+ <button @click='cancel2()' class="btn button_clear col-sm-1 col-sm-offset-1" style="width: 70px">
181
+ <span style="color: black" class=" glyphicon glyphicon-log-out"></span>返回
182
+ </button>
183
+ </div>
184
+ </validator>
185
+ </div>
186
+ </article>
187
+ <footer slot="modal-footer" class="modal-footer">
188
+ </footer>
189
+ </modal>
190
+ </div>
191
+
192
+ </template>
193
+
194
+ <script>
195
+
196
+ import { HttpResetClass } from 'vue-client'
197
+
198
+ export default {
199
+ title: '配置修改',
200
+ ready() {
201
+
202
+ },
203
+ data() {
204
+ return {
205
+
206
+ curorgid: [this.$login.f.orgid],
207
+ seaching:false,
208
+ modelshow:false,
209
+ modelshow1:false,
210
+ modelshow2:false,
211
+ upmodel:{},
212
+ f_dir:'',
213
+ model:{},
214
+ modeldata:{},
215
+ rightshow:false,
216
+ rightrow:{},
217
+ rightdata:{},
218
+ safeArray: [],
219
+ updateArray:[],
220
+ safeConfig: {
221
+ "民用配置项": {},
222
+ "非民用配置项": {}
223
+ }
224
+ }
225
+ },
226
+ methods: {
227
+ getorg(val) {
228
+ this.f_filialeid = val[0]
229
+ if (val[0]){
230
+ new HttpResetClass().load('post','api/af-safecheck/sql/safe_singleTable_OrderBy',{data: {
231
+ items: 'f_dir',
232
+ tablename: 't_organization',
233
+ condition: `id = '${val[0]}'`,
234
+ orderitem: 'id'
235
+ }}).then(res=>{
236
+ //tag
237
+ //tag)
238
+ if (!res.data[0].f_dir){
239
+ this.$showMessage("该公司无组织目录,无法获取配置文件,请联系管理员确认")
240
+ }else{
241
+ this.f_dir=res.data[0].f_dir
242
+ try {
243
+ new HttpResetClass().load('GET',`/safecheck/rs/vue/DevicesConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {},{resolveMsg: '获取居民配置项成功!', rejectMsg: '获取居民配置项出错!'}).then(res=>{
244
+ //tag
245
+ this.safeConfig["民用配置项"]=Object.assign({},res.data)
246
+ })
247
+ new HttpResetClass().load('GET',`/safecheck/rs/vue/DevicesSetConfig.json?folderName=phonevues&orgDir=${res.data[0].f_dir}`, {},{resolveMsg: '获取非居民配置项成功!', rejectMsg: '获取非居民配置项出错!'}).then(res=>{
248
+ //tag
249
+ this.safeConfig["非民用配置项"]=Object.assign({},res.data)
250
+ }).then(res=> {
251
+ this.safeArray = []
252
+ this.initArray()
253
+ this.model = {}
254
+ this.modeldata = {}
255
+ })
256
+
257
+ }catch (e) {
258
+ this.$showMessage("获取配置文件失败"+e)
259
+ }
260
+ }
261
+ })
262
+ }
263
+ },
264
+ isdelete(item){
265
+
266
+ if (item.safename=='燃气表'&&item.safeindex){
267
+ return false
268
+ }
269
+ if (item.safeindex!='1'){
270
+ return true
271
+ }
272
+ },
273
+ isadd(item){
274
+ if (item.safeindex=='4'){
275
+ return false
276
+ }if (item.safeindex=='3'){
277
+ return item.safetype=='selector'||item.safetype=='radio'
278
+ }
279
+ return true
280
+ },
281
+ confirm() {
282
+ ////tag
283
+ if (this.modeldata.safeindex==1){
284
+ //tag
285
+ for(let name in this.safeConfig[this.modeldata.safename]){
286
+ if(typeof name=='function'){
287
+ continue
288
+ }
289
+ if (name==this.model.name){
290
+ this.$showMessage('已有配置名'+name+',添加失败')
291
+ return
292
+ }
293
+ }
294
+ }
295
+ if (this.modeldata.safeindex==2){
296
+ for(let name in this.safeConfig[this.modeldata.safelast][this.modeldata.safename].items){
297
+ if(typeof name=='function'){
298
+ continue
299
+ }
300
+ if (name==this.model.name){
301
+ this.$showMessage('已有配置名'+name+',添加失败')
302
+ return
303
+ }
304
+ }
305
+ //tag
306
+ }
307
+ if (this.modeldata.safeindex==3){
308
+ for (let i = 0; i < this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename].options.length; i++) {
309
+ if (this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename].options[i].data==this.model.name){
310
+ this.$showMessage('已有配置名'+this.model.name+',添加失败')
311
+ return
312
+ }
313
+ }
314
+ //tag
315
+ }
316
+ ////tag
317
+ ////tag)
318
+ if (this.modeldata.safeindex=='1'){
319
+ let index
320
+ ////tag
321
+ ////tag
322
+ if (Object.keys(this.safeConfig[this.modeldata.safename]).length==0){
323
+ index=0
324
+ }else{
325
+ for (let obj in this.safeConfig[this.modeldata.safename]) {
326
+ if(typeof obj=='function'){
327
+ continue
328
+ }
329
+ ////tag
330
+ ////tag
331
+ ////tag
332
+ index = this.safeConfig[this.modeldata.safename][obj].index
333
+ }
334
+ }
335
+ ////tag
336
+ this.safeConfig[this.modeldata.safename][this.model.name] = {
337
+ checkmust: true,
338
+ index: index + 1,
339
+ items:{}
340
+ }
341
+ ////tag)
342
+ }
343
+ if (this.modeldata.safeindex=='2'){
344
+ let index
345
+ ////tag
346
+ ////tag
347
+ if (Object.keys(this.safeConfig[this.modeldata.safelast][this.modeldata.safename].items).length==0){
348
+ index=0
349
+ }else{
350
+ for (let obj in this.safeConfig[this.modeldata.safelast][this.modeldata.safename].items) {
351
+ if(typeof obj=='function'){
352
+ continue
353
+ }
354
+ ////tag
355
+ ////tag
356
+ ////tag
357
+ index = this.safeConfig[this.modeldata.safelast][this.modeldata.safename].items[obj].index
358
+ }
359
+ }
360
+
361
+ ////tag
362
+ this.safeConfig[this.modeldata.safelast][this.modeldata.safename].items[this.model.name] = {
363
+ index: index + 1,
364
+ multiple: false,
365
+ options:[],
366
+ isshow:true,
367
+ checkmust:false,
368
+ type: "selector"
369
+ }
370
+ ////tag)
371
+ }
372
+ if (this.modeldata.safeindex=='3'){
373
+ let index
374
+ ////tag
375
+ ////tag
376
+ ////tag
377
+ this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename].options.push({
378
+ data:this.model.name,
379
+ isdefect:false,
380
+ level:'A',
381
+ isdefault:false
382
+ })
383
+
384
+ ////tag)
385
+ }
386
+ let path
387
+ let value
388
+ if (this.modeldata.safelast=='民用配置项'||this.modeldata.safelastlast=='民用配置项'||this.modeldata.safelastlastlast=='民用配置项'){
389
+ path= this.f_dir + `/phonevues/DevicesConfig.json`
390
+ value=this.safeConfig["民用配置项"]
391
+ }else{
392
+ path= this.f_dir + `/phonevues/DevicesSetConfig.json`
393
+ value=this.safeConfig["非民用配置项"]
394
+ }
395
+
396
+ this.$resetpost('rs/vue/safeSaveConfig', {path: path, data: JSON.stringify(value)} ).then(res=> {
397
+
398
+ this.$showMessage("保存成功")
399
+ this.safeArray = []
400
+ this.initArray()
401
+ this.model = {}
402
+ this.modeldata = {}
403
+ this.rightshow = false
404
+ this.modelshow = false
405
+ })
406
+
407
+ },
408
+ cancel() {
409
+ this.model={}
410
+ this.modeldata={}
411
+ this.modelshow = false
412
+ },
413
+ confirm1() {
414
+ if (this.modeldata.safeindex==2){
415
+ //tag
416
+ for(let name in this.safeConfig[this.modeldata.safelast]){
417
+ if(typeof name=='function'){
418
+ continue
419
+ }
420
+ if (name==this.model.name){
421
+ this.$showMessage('已有配置名'+name+',修改失败')
422
+ return
423
+ }
424
+ }
425
+ }
426
+ if (this.modeldata.safeindex==3){
427
+ for(let name in this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items){
428
+ if(typeof name=='function'){
429
+ continue
430
+ }
431
+ if (name==this.model.name){
432
+ this.$showMessage('已有配置名'+name+',修改失败')
433
+ return
434
+ }
435
+ }
436
+ //tag
437
+ }
438
+ if (this.modeldata.safeindex==4){
439
+ for (let i = 0; i < this.safeConfig[this.modeldata.safelastlastlast][this.modeldata.safelastlast].items[this.modeldata.safelast].options.length; i++) {
440
+ if (this.safeConfig[this.modeldata.safelastlastlast][this.modeldata.safelastlast].items[this.modeldata.safelast].options[i].data==this.model.name){
441
+ this.$showMessage('已有配置名'+this.model.name+',修改失败')
442
+ return
443
+ }
444
+ }
445
+ //tag
446
+ }
447
+ this.seaching=true
448
+ ////tag
449
+ ////tag)
450
+
451
+ if (this.modeldata.safeindex=='2'){
452
+ this.safeConfig[this.modeldata.safelast][this.model.name]=Object.assign({},this.safeConfig[this.modeldata.safelast][this.modeldata.safename])
453
+ delete this.safeConfig[this.modeldata.safelast][this.modeldata.safename]
454
+ }
455
+ if (this.modeldata.safeindex=='3'){
456
+ this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.model.name]=Object.assign({},this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename])
457
+ delete this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename]
458
+ }
459
+ if (this.modeldata.safeindex=='4'){
460
+ ////tag
461
+ ////tag)
462
+ for (let i = 0; i < this.safeConfig[this.modeldata.safelastlastlast][this.modeldata.safelastlast].items[this.modeldata.safelast].options.length; i++) {
463
+ if(this.safeConfig[this.modeldata.safelastlastlast][this.modeldata.safelastlast].items[this.modeldata.safelast].options[i].data==this.modeldata.safename){
464
+ this.safeConfig[this.modeldata.safelastlastlast][this.modeldata.safelastlast].items[this.modeldata.safelast].options[i].data=this.model.name
465
+ }
466
+ }
467
+ }
468
+ let path
469
+ let value
470
+ if (this.modeldata.safelast=='民用配置项'||this.modeldata.safelastlast=='民用配置项'||this.modeldata.safelastlastlast=='民用配置项'){
471
+ path= this.f_dir + `/phonevues/DevicesConfig.json`
472
+ value=this.safeConfig["民用配置项"]
473
+ }else{
474
+ path= this.f_dir + `/phonevues/DevicesSetConfig.json`
475
+ value=this.safeConfig["非民用配置项"]
476
+ }
477
+
478
+ this.$resetpost('rs/vue/safeSaveConfig', {path: path, data: JSON.stringify(value)} ).then(res=>{
479
+ this.$showMessage("修改成功")
480
+ this.safeArray = []
481
+ this.initArray()
482
+ this.model={}
483
+ this.modeldata={}
484
+ this.rightshow=false
485
+ this.modelshow1 = false
486
+ this.seaching=false
487
+ })
488
+
489
+
490
+ },
491
+ cancel1() {
492
+ this.model={}
493
+ this.modeldata={}
494
+ this.modelshow1 = false
495
+ },
496
+ addsafeConfig(item) {
497
+ ////tag
498
+
499
+ this.modeldata = item
500
+ this.modelshow = true
501
+ },
502
+ deletesafeConfig(item){
503
+ this.$showMessage('删除后无法恢复,确认删除吗?',['confirm','cancel']).then(res=>{
504
+ if (res=='confirm'){
505
+ this.seaching=true
506
+ if (item.safeindex=='2'){
507
+ ////tag
508
+ if (item.safename=='燃气表'){
509
+ this.$showMessage("燃气表不允许删除!!!")
510
+ return
511
+ }else{
512
+ ////tag
513
+ delete this.safeConfig[item.safelast][item.safename]
514
+
515
+ for(let name in this.safeConfig[item.safelast]){
516
+ if(typeof name=='function'){
517
+ continue
518
+ }
519
+ if (this.safeConfig[item.safelast][name].index>item.safesort){
520
+ this.safeConfig[item.safelast][name].index=this.safeConfig[item.safelast][name].index-1
521
+ }
522
+ }
523
+ }
524
+ }else if (item.safeindex=='3'){
525
+ delete this.safeConfig[item.safelastlast][item.safelast].items[item.safename]
526
+ for(let name in this.safeConfig[item.safelastlast][item.safelast].items){
527
+ if(typeof name=='function'){
528
+ continue
529
+ }
530
+ if (this.safeConfig[item.safelastlast][item.safelast].items[name].index>item.safesort){
531
+ this.safeConfig[item.safelastlast][item.safelast].items[name].index=this.safeConfig[item.safelastlast][item.safelast].items[name].index-1
532
+ }
533
+ }
534
+ }else if (item.safeindex=='4'){
535
+ for (let i = 0; i < this.safeConfig[item.safelastlastlast][item.safelastlast].items[item.safelast].options.length; i++) {
536
+ if (this.safeConfig[item.safelastlastlast][item.safelastlast].items[item.safelast].options[i].data==item.safename){
537
+ this.safeConfig[item.safelastlastlast][item.safelastlast].items[item.safelast].options.splice(i,1)
538
+ }
539
+ }
540
+ }
541
+ let path
542
+ let value
543
+ if (item.safelast=='民用配置项'||item.safelastlast=='民用配置项'||item.safelastlastlast=='民用配置项'){
544
+ path= this.f_dir + `/phonevues/DevicesConfig.json`
545
+ value=this.safeConfig["民用配置项"]
546
+ }else{
547
+ path= this.f_dir + `/phonevues/DevicesSetConfig.json`
548
+ value=this.safeConfig["非民用配置项"]
549
+ }
550
+
551
+ this.$resetpost('rs/vue/safeSaveConfig', {path: path, data: JSON.stringify(value)} ).then(res=> {
552
+
553
+ this.$showMessage("删除成功")
554
+ this.safeArray = []
555
+ this.initArray()
556
+ this.model = {}
557
+ this.modeldata = {}
558
+ this.rightshow = false
559
+ this.modelshow2 = false
560
+ // this.sleep(2000);
561
+ this.seaching = false
562
+ })
563
+ }
564
+ })
565
+
566
+ },
567
+ updatesafeConfig(item){
568
+ this.modeldata=item
569
+ //tag
570
+ let array=[]
571
+ if (item.safeindex=='2') {
572
+ //tag)
573
+ let aa = {"checkmust": false, "index": 1}
574
+ if (this.safeConfig[item.safelast][item.safename].checkmust) {
575
+ array.push({
576
+ label: '是否必填',
577
+ value: true,
578
+ type: 'selector',
579
+ name:'checkmust',
580
+ options: [{label: '是', value: true}, {label: '否', value: false}]
581
+ })
582
+ } else {
583
+ array.push({
584
+ label: '是否必填',
585
+ value: false,
586
+ type: 'selector',
587
+ name:'checkmust',
588
+ options: [{label: '是', value: true}, {label: '否', value: false}]
589
+ })
590
+ }
591
+ }
592
+ if (item.safeindex=='3'){
593
+ let aa={"index":1,"multiple":false,"isshow":true,"checkmust":false,"type":"selector"}
594
+ for (let key in this.safeConfig[item.safelastlast][item.safelast].items[item.safename]){
595
+ if(typeof key=='function'){
596
+ continue
597
+ }
598
+ if (key=='index'){
599
+
600
+ }else if(key=='multiple'){
601
+ // array.push({
602
+ // label: '是否多选',
603
+ // value: this.safeConfig[item.safelastlast][item.safelast].items[item.safename][key],
604
+ // name:key,
605
+ // type: 'selector',
606
+ // options: [{label: '是', value: true}, {label: '否', value: false}]
607
+ // })
608
+ }else if(key=='options'){
609
+
610
+ }else if(key=='isshow'){
611
+ // array.push({
612
+ // label: '是否展示',
613
+ // value: this.safeConfig[item.safelastlast][item.safelast].items[item.safename][key],
614
+ // name:key,
615
+ // type: 'selector',
616
+ // options: [{label: '是', value: true}, {label: '否', value: false}]
617
+ // })
618
+ }else if(key=='checkmust'){
619
+ // array.push({
620
+ // label: '是否必填',
621
+ // value: this.safeConfig[item.safelastlast][item.safelast].items[item.safename][key],
622
+ // name:key,
623
+ // type: 'selector',
624
+ // options: [{label: '是', value: true}, {label: '否', value: false}]
625
+ // })
626
+ }else if(key=='type'){
627
+ // array.push({
628
+ // label: '配置类型',
629
+ // value: this.safeConfig[item.safelastlast][item.safelast].items[item.safename][key],
630
+ // name:key,
631
+ // type: 'selector',
632
+ // options: [{label: '输入框', value: 'string'}, {label: '选择框', value: 'selector'}, {label: '勾选框', value: 'radio'},{label: '图片框', value: 'picture'}]
633
+ // })
634
+ }else if(key=='blockPitfall'){
635
+ array.push({
636
+ label: '是否限购',
637
+ value: this.safeConfig[item.safelastlast][item.safelast].items[item.safename][key],
638
+ name:key,
639
+ type: 'selector',
640
+ options: [{label: '是否限购', value: ''},{label: '是', value: '是'}, {label: '否', value: '否'}]
641
+ })
642
+ }
643
+ }
644
+ //tag)
645
+ }
646
+ if (item.safeindex=='4'){
647
+ let aa={"data":"333333333","isdefect":"否","level":"A","isdefault":"否"}
648
+ for (let i = 0; i < this.safeConfig[item.safelastlastlast][item.safelastlast].items[item.safelast].options.length; i++) {
649
+ if (this.safeConfig[item.safelastlastlast][item.safelastlast].items[item.safelast].options[i].data==item.safename){
650
+ //tag)
651
+ for(let key in this.safeConfig[item.safelastlastlast][item.safelastlast].items[item.safelast].options[i]){
652
+ if(typeof key=='function'){
653
+ continue
654
+ }
655
+ if(key=='data'){
656
+
657
+ }else if(key=='isdefect'){
658
+ array.push({
659
+ label: '是否隐患',
660
+ value: this.safeConfig[item.safelastlastlast][item.safelastlast].items[item.safelast].options[i][key],
661
+ name:key,
662
+ type: 'selector',
663
+ options: [{label: '是', value: true}, {label: '否', value: false}]
664
+ })
665
+ }else if(key=='isdefault'){
666
+ array.push({
667
+ label: '是否默认',
668
+ value: this.safeConfig[item.safelastlastlast][item.safelastlast].items[item.safelast].options[i][key],
669
+ name:key,
670
+ type: 'selector',
671
+ options: [{label: '是否默认', value: ''},{label: '是', value: true}, {label: '否', value: false}]
672
+ })
673
+
674
+ }else if(key=='level'){
675
+ array.push({
676
+ label: '隐患级别',
677
+ value: this.safeConfig[item.safelastlastlast][item.safelastlast].items[item.safelast].options[i][key],
678
+ name:key,
679
+ type: 'input',
680
+ })
681
+
682
+ }
683
+ }
684
+ }
685
+ }
686
+ }
687
+ //tag
688
+ //tag
689
+ this.updateArray=Object.assign([],array)
690
+ this.modelshow2=true
691
+ },
692
+ confirm2(){
693
+ this.seaching=true
694
+ if (this.modeldata.safeindex=='2'){
695
+ for (let i = 0; i < this.updateArray.length; i++) {
696
+ this.safeConfig[this.modeldata.safelast][this.modeldata.safename][this.updateArray[i].name]=this.updateArray[i].value
697
+ }
698
+ }
699
+ if (this.modeldata.safeindex=='3'){
700
+ for (let i = 0; i < this.updateArray.length; i++) {
701
+ this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename][this.updateArray[i].name]=this.updateArray[i].value
702
+ if (this.updateArray[i].name=='type'&&this.updateArray[i].value!='selector'&&this.updateArray[i].value!='radio'){
703
+
704
+ if (this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename].hasOwnProperty('options')){
705
+ delete this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename].options
706
+ }
707
+ }
708
+ if (this.updateArray[i].name=='type'&&(this.updateArray[i].value=='selector'||this.updateArray[i].value!='radio')){
709
+ if (!this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename].hasOwnProperty('options')){
710
+ this.safeConfig[this.modeldata.safelastlast][this.modeldata.safelast].items[this.modeldata.safename].options=[]
711
+ }
712
+ }
713
+ }
714
+
715
+ }
716
+ if (this.modeldata.safeindex=='4'){
717
+
718
+ for (let i = 0; i < this.safeConfig[this.modeldata.safelastlastlast][this.modeldata.safelastlast].items[this.modeldata.safelast].options.length; i++) {
719
+ if(this.safeConfig[this.modeldata.safelastlastlast][this.modeldata.safelastlast].items[this.modeldata.safelast].options[i].data==this.modeldata.safename){
720
+ for (let j = 0; j < this.updateArray.length; j++) {
721
+
722
+
723
+ this.safeConfig[this.modeldata.safelastlastlast][this.modeldata.safelastlast].items[this.modeldata.safelast].options[i][this.updateArray[j].name]=this.updateArray[j].value
724
+ }
725
+ }
726
+ }
727
+ }
728
+ let path
729
+ let value
730
+ if (this.modeldata.safelast=='民用配置项'||this.modeldata.safelastlast=='民用配置项'||this.modeldata.safelastlastlast=='民用配置项'){
731
+ path= this.f_dir + `/phonevues/DevicesConfig.json`
732
+ value=this.safeConfig["民用配置项"]
733
+ }else{
734
+ path= this.f_dir + `/phonevues/DevicesSetConfig.json`
735
+ value=this.safeConfig["非民用配置项"]
736
+ }
737
+
738
+ this.$resetpost('rs/vue/safeSaveConfig', {path: path, data: JSON.stringify(value)} ).then(res=> {
739
+
740
+ this.$showMessage("修改成功")
741
+ this.safeArray = []
742
+ this.initArray()
743
+ this.model = {}
744
+ this.modeldata = {}
745
+ this.rightshow = false
746
+ this.modelshow2 = false
747
+ this.seaching = false
748
+ })
749
+ },
750
+ cancel2(){
751
+ this.modelshow2=false
752
+ },
753
+ updatesafeConfigName(item){
754
+
755
+ this.$set('model.name',item.safename)
756
+ this.modeldata=Object.assign({},item)
757
+ this.modelshow1=true
758
+ },
759
+ initArray() {
760
+ for (let bigsafe in this.safeConfig) {
761
+ if(typeof bigsafe=='function'){
762
+ continue
763
+ }
764
+ ////tag
765
+ ////tag)
766
+ this.safeArray.push({
767
+ selectedshow: false,
768
+ safetype: '',
769
+ safeshow: false,
770
+ safename: bigsafe,
771
+ safevalue: this.safeConfig[bigsafe] ? Object.keys(this.safeConfig[bigsafe]).length : 0,
772
+ safeindex: 1
773
+ })
774
+ }
775
+ this.seaching=false
776
+ },
777
+ closeright() {
778
+ this.rightshow = false
779
+ },
780
+ getlastname() {
781
+
782
+ if (this.rightrow.safelast) {
783
+ return this.rightrow.safelast
784
+ }
785
+ return '无'
786
+ },
787
+ pushArray(val, arrayindex) {
788
+ ////tag
789
+ ////tag)
790
+ ////tag)
791
+ if (this.safeArray[arrayindex].safeshow == false) {
792
+ let spliceindex = arrayindex + 1
793
+ this.safeArray[arrayindex].safeshow = true
794
+ if (val.safeindex == '1') {
795
+ let linshiarray = []
796
+ for (let two in this.safeConfig[val.safename]) {
797
+ if(typeof two=='function'){
798
+ continue
799
+ }
800
+ ////tag
801
+ ////tag)
802
+
803
+ linshiarray.push({
804
+ selectedshow: false,
805
+ safesort: this.safeConfig[val.safename][two].index,
806
+ safetype: '',
807
+ safeshow: false,
808
+ safename: two,
809
+ safevalue: this.safeConfig[val.safename][two].items ? Object.keys(this.safeConfig[val.safename][two].items).length : 0,
810
+ safeindex: 2,
811
+ safelast: val.safename
812
+ })
813
+
814
+ }
815
+
816
+ linshiarray=this.jsonSort(linshiarray, "safesort",true)
817
+ ////tag
818
+ ////tag)
819
+ for (let i = 0; i < linshiarray.length; i++) {
820
+ this.safeArray.splice(spliceindex, 0,linshiarray[i])
821
+ }
822
+ }
823
+ if (val.safeindex == '2') {
824
+ let linshiarray = []
825
+ let aa = {"safename": "燃气表", "safevalue": 3, "safeindex": 2, "safelast": "民用配置项"}
826
+ for (let isthree in this.safeConfig[val.safelast][val.safename]) {
827
+ if(typeof isthree=='function'){
828
+ continue
829
+ }
830
+ if (isthree == 'items') {
831
+ for (let three in this.safeConfig[val.safelast][val.safename].items) {
832
+ if(typeof three=='function'){
833
+ continue
834
+ }
835
+ ////tag
836
+ ////tag
837
+ ////tag
838
+ ////tag)
839
+ ////tag)
840
+ linshiarray.push({
841
+ safesort:this.safeConfig[val.safelast][val.safename].items[three].index,
842
+ selectedshow: false,
843
+ safetype: this.safeConfig[val.safelast][val.safename].items[three].type,
844
+ safeshow: false,
845
+ safename: three,
846
+ safevalue: this.safeConfig[val.safelast][val.safename].items[three].options ? Object.keys(this.safeConfig[val.safelast][val.safename].items[three].options).length : 0,
847
+ safeindex: 3,
848
+ safelast: val.safename,
849
+ safelastlast: val.safelast
850
+ })
851
+ }
852
+ linshiarray=this.jsonSort(linshiarray, "safesort",true)
853
+ ////tag
854
+ ////tag)
855
+ for (let i = 0; i < linshiarray.length; i++) {
856
+ this.safeArray.splice(spliceindex, 0,linshiarray[i])
857
+ }
858
+ }
859
+ }
860
+
861
+ }
862
+ if (val.safeindex == '3') {
863
+ let linshiarray = []
864
+ let aa = {
865
+ "safename": "燃气表有无改装在卧室、卫生间、客厅",
866
+ "safevalue": 4,
867
+ "safeindex": 3,
868
+ "safelast": "燃气表",
869
+ "safelastlast": "民用配置项"
870
+ }
871
+ for (let isfour in this.safeConfig[val.safelastlast][val.safelast].items[val.safename]) {
872
+ if(typeof isfour=='function'){
873
+ continue
874
+ }
875
+ if (isfour == 'options') {
876
+ for (let four in this.safeConfig[val.safelastlast][val.safelast].items[val.safename].options) {
877
+ if(typeof four=='function'){
878
+ continue
879
+ }
880
+ ////tag
881
+ ////tag
882
+ ////tag)
883
+ ////tag)
884
+ ////tag)
885
+ linshiarray.push({
886
+ safesort:four,
887
+ selectedshow: false,
888
+ safetype: 'no',
889
+ safeshow: false,
890
+ safename: this.safeConfig[val.safelastlast][val.safelast].items[val.safename].options[four].data,
891
+ safevalue: 0,
892
+ safeindex: 4,
893
+ safelast: val.safename,
894
+ safelastlast: val.safelast,
895
+ safelastlastlast: val.safelastlast,
896
+ })
897
+ }
898
+ linshiarray=this.jsonSort(linshiarray, "safesort",true)
899
+ ////tag
900
+ ////tag)
901
+ for (let i = 0; i < linshiarray.length; i++) {
902
+ this.safeArray.splice(spliceindex, 0,linshiarray[i])
903
+ }
904
+
905
+ }
906
+ }
907
+ }
908
+ } else {
909
+ let deleteindex = {begin: 999999, end: 99999}
910
+ this.safeArray[arrayindex].safeshow = false
911
+ for (let i = 0; i < this.safeArray.length; i++) {
912
+ if (this.safeArray[i].safelast == this.safeArray[arrayindex].safename
913
+ || this.safeArray[i].safelastlast == this.safeArray[arrayindex].safename
914
+ || this.safeArray[i].safelastlastlast == this.safeArray[arrayindex].safename) {
915
+ if (deleteindex.begin == 999999) {
916
+ deleteindex.begin = i
917
+ } else {
918
+ deleteindex.end = i
919
+ }
920
+ }
921
+ }
922
+ ////tag)
923
+ this.safeArray.splice(deleteindex.begin, deleteindex.end + 1 - deleteindex.begin)
924
+
925
+ }
926
+ ////tag)
927
+ },
928
+ selectedshow(index) {
929
+ this.rightdata={}
930
+ ////tag
931
+ for (let i = 0; i < this.safeArray.length; i++) {
932
+ this.safeArray[i].selectedshow = false
933
+ }
934
+ this.safeArray[index].selectedshow = true
935
+ this.rightrow = Object.assign({}, this.safeArray[index])
936
+ //传入参数到右侧
937
+ //开始取对应参数
938
+ ////tag
939
+ ////tag
940
+ this.setRightRow(this.rightrow)
941
+
942
+ this.rightshow = true
943
+
944
+ },
945
+ getrightdataname(name) {
946
+ ////tag
947
+ ////tag
948
+ if (name == 'checkmust') {
949
+ return '是否必填'
950
+ }
951
+ if (name == 'isdefault') {
952
+ return '是否默认'
953
+ }
954
+ if (name == 'index') {
955
+ return '配置下标'
956
+ }
957
+ if (name == 'items') {
958
+ return '配置数量'
959
+ }
960
+ if (name == 'items') {
961
+ return '配置数量'
962
+ }
963
+ if (name == 'options') {
964
+ return '选项数量'
965
+ }
966
+ if (name == 'type') {
967
+ return '配置类型'
968
+ }
969
+ if (name == 'isdefect') {
970
+ return '是否隐患'
971
+ }
972
+ if (name == 'isshow') {
973
+ return '是否展示'
974
+ }
975
+ if (name == 'multiple') {
976
+ return '是否多选'
977
+ }
978
+ if (name == 'level') {
979
+ return '隐患级别'
980
+ }
981
+ if (name == 'data') {
982
+ return '选项名称'
983
+ }
984
+ if (name == 'repairDepartment') {
985
+ return '转单部门'
986
+ }
987
+ if (name == 'loseEfficacy') {
988
+ return '默认处理时效(天)'
989
+ }
990
+ if (name == 'blockPitfall') {
991
+ return '是否限购'
992
+ }
993
+ if (name == 'dealDispose') {
994
+ return '默认处理方式'
995
+ }
996
+ },
997
+ getrightdatavalue(key, value) {
998
+ if (key == 'items') {
999
+ return Object.keys(value).length
1000
+ }
1001
+ if (key == 'options') {
1002
+ return value.length
1003
+ }
1004
+ if (value == 'string') {
1005
+ return '文本框'
1006
+ }
1007
+ if (value == 'selector') {
1008
+ return '选择框'
1009
+ }
1010
+ if (value == 'picture') {
1011
+ return '照片框'
1012
+ }
1013
+ if (value == 'radio') {
1014
+ return '勾选框'
1015
+ }
1016
+ if (value === true) {
1017
+ return '是'
1018
+ }
1019
+ if (value === false) {
1020
+ return '否'
1021
+ }
1022
+ return value
1023
+ },
1024
+ setRightRow(row) {
1025
+ ////tag
1026
+ if (row.safelastlastlast) {
1027
+ ////tag
1028
+ ////tag)
1029
+ for (let i = 0; i < this.safeConfig[row.safelastlastlast][row.safelastlast].items[row.safelast].options.length; i++) {
1030
+ if (this.safeConfig[row.safelastlastlast][row.safelastlast].items[row.safelast].options[i].data == row.safename) {
1031
+ this.rightdata = Object.assign({}, this.safeConfig[row.safelastlastlast][row.safelastlast].items[row.safelast].options[i])
1032
+ }
1033
+ }
1034
+ } else if (row.safelastlast) {
1035
+
1036
+ ////tag)
1037
+ this.rightdata = Object.assign(this.safeConfig[row.safelastlast][row.safelast].items[row.safename])
1038
+ } else if (row.safelast) {
1039
+ ////tag)
1040
+ this.rightdata = Object.assign(this.safeConfig[row.safelast][row.safename])
1041
+ }
1042
+ },
1043
+ getJsonLength(val) {
1044
+ return Object.keys(val).length
1045
+ },
1046
+ jsonSort(array, field, reverse) {
1047
+ ////tag
1048
+ //数组长度小于2 或 没有指定排序字段 或 不是json格式数据
1049
+ if (array.length < 2 || !field || typeof array[0] !== "object") return array;
1050
+ //数字类型排序
1051
+ if (typeof array[0][field] === "number") {
1052
+ array.sort(function (x, y) {
1053
+ return x[field] - y[field]
1054
+ });
1055
+ }
1056
+ //字符串类型排序
1057
+ if (typeof array[0][field] === "string") {
1058
+ array.sort(function (x, y) {
1059
+ return parseInt(x[field]) - parseInt(y[field])
1060
+ });
1061
+ }
1062
+ //倒序
1063
+ if (reverse) {
1064
+ array.reverse();
1065
+ }
1066
+ return array;
1067
+ },
1068
+ sleep(n) {
1069
+ var start = new Date().getTime();
1070
+ // //tag;
1071
+ while (true) {
1072
+ if (new Date().getTime() - start > n) {
1073
+ break;
1074
+ }
1075
+ }
1076
+ // //tag.getTime());
1077
+ }
1078
+
1079
+
1080
+ },
1081
+ events: {}
1082
+ }
1083
+ </script>
1084
+ <style>
1085
+ /*span {*/
1086
+ /* color: black;*/
1087
+ /*}*/
1088
+ </style>