safecheck-client 4.0.1-72 → 4.0.1-75

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 (483) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/android.html +18 -18
  4. package/config/dev.env.js +6 -6
  5. package/config/index.js +38 -38
  6. package/config/prod.env.js +3 -3
  7. package/config/test.env.js +6 -6
  8. package/docs/AppBase.md +22 -22
  9. package/docs/Busy.md +14 -14
  10. package/docs/CriteriaPaged.md +47 -47
  11. package/docs/DataGrid.md +54 -54
  12. package/docs/DataModel.md +22 -22
  13. package/docs/Dynamic.md +42 -42
  14. package/docs/GetParams.md +11 -11
  15. package/docs/HttpBusy.md +13 -13
  16. package/docs/HttpStore.md +29 -29
  17. package/docs/MessageBox.md +28 -28
  18. package/docs/PagedList.md +29 -29
  19. package/docs/Pager.md +21 -21
  20. package/docs/Project.md +23 -23
  21. package/docs/Route.md +105 -105
  22. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  23. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  24. package/docs/Task.md +46 -46
  25. package/docs/TreeList.md +28 -28
  26. package/docs/TreeMixin.md +18 -18
  27. package/docs/all.md +10 -10
  28. package/docs/list.md +42 -42
  29. package/docs/partial.md +75 -75
  30. package/docs/selector.md +82 -82
  31. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  32. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue-strap/345/217/230/346/233/264/350/256/260/345/275/225.md +7 -7
  33. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue/345/217/230/346/233/264/350/256/260/345/275/225.md +13 -13
  34. package/docs//345/274/200/345/217/221/346/226/207/346/241/243//345/274/200/345/217/221/347/216/257/345/242/203/350/256/276/347/275/256.md +77 -77
  35. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  36. package/examples/AddressList/App.vue +13 -13
  37. package/examples/AddressList/index.html +11 -11
  38. package/examples/DispatchList/App.vue +10 -10
  39. package/examples/DispatchList/BaseTree.vue +13 -13
  40. package/examples/DispatchList/Init.vue +22 -22
  41. package/examples/DispatchList/Test.vue +20 -20
  42. package/examples/DispatchList/index.html +11 -11
  43. package/examples/DispatchList/main.js +18 -18
  44. package/home.html +16 -16
  45. package/package.json +1 -1
  46. package/publish.bat +7 -7
  47. package/release.bat +5 -5
  48. package/src/App.vue +31 -31
  49. package/src/Widget.vue +13 -13
  50. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  51. package/src/android-bootstrap/less/.csscomb.json +304 -304
  52. package/src/android-bootstrap/less/.csslintrc +19 -19
  53. package/src/android-bootstrap/less/alerts.less +73 -73
  54. package/src/android-bootstrap/less/badges.less +66 -66
  55. package/src/android-bootstrap/less/bootstrap.less +56 -56
  56. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  57. package/src/android-bootstrap/less/button-groups.less +247 -247
  58. package/src/android-bootstrap/less/buttons.less +173 -173
  59. package/src/android-bootstrap/less/carousel.less +269 -269
  60. package/src/android-bootstrap/less/close.less +34 -34
  61. package/src/android-bootstrap/less/code.less +69 -69
  62. package/src/android-bootstrap/less/component-animations.less +33 -33
  63. package/src/android-bootstrap/less/grid.less +84 -84
  64. package/src/android-bootstrap/less/input-groups.less +167 -167
  65. package/src/android-bootstrap/less/jumbotron.less +52 -52
  66. package/src/android-bootstrap/less/labels.less +64 -64
  67. package/src/android-bootstrap/less/list-group.less +141 -141
  68. package/src/android-bootstrap/less/media.less +66 -66
  69. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  70. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  71. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  72. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  73. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  74. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  75. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  76. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  77. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  78. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  79. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  80. package/src/android-bootstrap/less/mixins/image.less +33 -33
  81. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  82. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  83. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  84. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  85. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  86. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  87. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  88. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  89. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  90. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  91. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  92. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  93. package/src/android-bootstrap/less/mixins/size.less +10 -10
  94. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  95. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  96. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  97. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  98. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  99. package/src/android-bootstrap/less/mixins.less +40 -40
  100. package/src/android-bootstrap/less/modals.less +151 -151
  101. package/src/android-bootstrap/less/navbar.less +660 -660
  102. package/src/android-bootstrap/less/navs.less +290 -290
  103. package/src/android-bootstrap/less/normalize.less +424 -424
  104. package/src/android-bootstrap/less/pager.less +76 -76
  105. package/src/android-bootstrap/less/pagination.less +89 -89
  106. package/src/android-bootstrap/less/panels.less +274 -274
  107. package/src/android-bootstrap/less/popovers.less +131 -131
  108. package/src/android-bootstrap/less/print.less +101 -101
  109. package/src/android-bootstrap/less/progress-bars.less +87 -87
  110. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  111. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  112. package/src/android-bootstrap/less/scaffolding.less +161 -161
  113. package/src/android-bootstrap/less/tables.less +262 -262
  114. package/src/android-bootstrap/less/theme.less +291 -291
  115. package/src/android-bootstrap/less/thumbnails.less +36 -36
  116. package/src/android-bootstrap/less/tooltip.less +102 -102
  117. package/src/android-bootstrap/less/type.less +303 -303
  118. package/src/android-bootstrap/less/utilities.less +55 -55
  119. package/src/android-bootstrap/less/variables.less +896 -896
  120. package/src/android-bootstrap/less/wells.less +29 -29
  121. package/src/bootstrap/less/.csscomb.json +304 -304
  122. package/src/bootstrap/less/.csslintrc +19 -19
  123. package/src/bootstrap/less/alerts.less +73 -73
  124. package/src/bootstrap/less/badges.less +66 -66
  125. package/src/bootstrap/less/breadcrumbs.less +26 -26
  126. package/src/bootstrap/less/button-groups.less +247 -247
  127. package/src/bootstrap/less/buttons.less +172 -172
  128. package/src/bootstrap/less/carousel.less +269 -269
  129. package/src/bootstrap/less/close.less +34 -34
  130. package/src/bootstrap/less/code.less +69 -69
  131. package/src/bootstrap/less/component-animations.less +33 -33
  132. package/src/bootstrap/less/dropdowns.less +216 -216
  133. package/src/bootstrap/less/grid.less +84 -84
  134. package/src/bootstrap/less/input-groups.less +167 -167
  135. package/src/bootstrap/less/jumbotron.less +52 -52
  136. package/src/bootstrap/less/labels.less +64 -64
  137. package/src/bootstrap/less/list-group.less +141 -141
  138. package/src/bootstrap/less/media.less +66 -66
  139. package/src/bootstrap/less/mixins/alerts.less +14 -14
  140. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  141. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  142. package/src/bootstrap/less/mixins/buttons.less +69 -69
  143. package/src/bootstrap/less/mixins/center-block.less +7 -7
  144. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  145. package/src/bootstrap/less/mixins/forms.less +90 -90
  146. package/src/bootstrap/less/mixins/gradients.less +59 -59
  147. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  148. package/src/bootstrap/less/mixins/grid.less +122 -122
  149. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  150. package/src/bootstrap/less/mixins/image.less +33 -33
  151. package/src/bootstrap/less/mixins/labels.less +12 -12
  152. package/src/bootstrap/less/mixins/list-group.less +30 -30
  153. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  154. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  155. package/src/bootstrap/less/mixins/opacity.less +8 -8
  156. package/src/bootstrap/less/mixins/pagination.less +24 -24
  157. package/src/bootstrap/less/mixins/panels.less +24 -24
  158. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  159. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  160. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  161. package/src/bootstrap/less/mixins/resize.less +6 -6
  162. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  163. package/src/bootstrap/less/mixins/size.less +10 -10
  164. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  165. package/src/bootstrap/less/mixins/table-row.less +44 -44
  166. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  167. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  168. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  169. package/src/bootstrap/less/mixins.less +40 -40
  170. package/src/bootstrap/less/modals.less +151 -151
  171. package/src/bootstrap/less/navbar.less +660 -660
  172. package/src/bootstrap/less/normalize.less +424 -424
  173. package/src/bootstrap/less/pagination.less +89 -89
  174. package/src/bootstrap/less/panels.less +275 -275
  175. package/src/bootstrap/less/popovers.less +131 -131
  176. package/src/bootstrap/less/print.less +101 -101
  177. package/src/bootstrap/less/progress-bars.less +87 -87
  178. package/src/bootstrap/less/responsive-embed.less +35 -35
  179. package/src/bootstrap/less/responsive-utilities.less +194 -194
  180. package/src/bootstrap/less/scaffolding.less +161 -161
  181. package/src/bootstrap/less/theme.less +291 -291
  182. package/src/bootstrap/less/thumbnails.less +36 -36
  183. package/src/bootstrap/less/tooltip.less +102 -102
  184. package/src/bootstrap/less/type.less +303 -303
  185. package/src/bootstrap/less/utilities.less +55 -55
  186. package/src/bootstrap/less/wells.less +29 -29
  187. package/src/components/CheckerCount/CheckCountUserList.vue +144 -144
  188. package/src/components/DefectDealMain/DefectListNew.vue +642 -642
  189. package/src/components/FileUpload.vue +696 -696
  190. package/src/components/Hello.vue +39 -39
  191. package/src/components/LeftTree.vue +27 -27
  192. package/src/components/NewDefectList/DefectListNew.vue +682 -682
  193. package/src/components/Util/RightTreeSafeDep.vue +12 -0
  194. package/src/components/android/AddPlanItem.vue +447 -447
  195. package/src/components/android/AddPlanItemYy.vue +451 -451
  196. package/src/components/android/AddSpecialPlanItem.vue +426 -426
  197. package/src/components/android/AndroidDefectDeal.vue +667 -667
  198. package/src/components/android/AttendanceTally.vue +116 -116
  199. package/src/components/android/Blank.vue +10 -10
  200. package/src/components/android/CheckUnplanPage.vue +56 -56
  201. package/src/components/android/Checker.vue +12 -12
  202. package/src/components/android/CheckerAnnual.vue +81 -81
  203. package/src/components/android/CheckerAvarta.vue +82 -82
  204. package/src/components/android/CurrentCreateYy.vue +1051 -1051
  205. package/src/components/android/DailyworkloadQuery.vue +473 -473
  206. package/src/components/android/Devices.vue +327 -327
  207. package/src/components/android/Devicesm.vue +327 -327
  208. package/src/components/android/EquipmentInspection.vue +348 -348
  209. package/src/components/android/FootprintMap.vue +120 -120
  210. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  211. package/src/components/android/MasterMain.vue +77 -77
  212. package/src/components/android/Menu.vue +132 -132
  213. package/src/components/android/NewCheckpaperAndroid.vue +1343 -1343
  214. package/src/components/android/PaperAlarm.vue +85 -85
  215. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  216. package/src/components/android/PaperFeedbackm.vue +1026 -1026
  217. package/src/components/android/PhoneRecordInfo.vue +113 -113
  218. package/src/components/android/PhoneSellInfo.vue +113 -113
  219. package/src/components/android/PhoneUpDetail.vue +1040 -1040
  220. package/src/components/android/PlumberAnnual.vue +83 -83
  221. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  222. package/src/components/android/PlumberMonthly.vue +84 -84
  223. package/src/components/android/PostMap.vue +83 -83
  224. package/src/components/android/QRCode/QRCodeBinding.vue +300 -300
  225. package/src/components/android/QRCode/QRCodePage.vue +212 -212
  226. package/src/components/android/QueryCheckHistory.vue +122 -122
  227. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  228. package/src/components/android/RepairMain.vue +60 -60
  229. package/src/components/android/Repairman.vue +12 -12
  230. package/src/components/android/SafePlanItem.vue +509 -509
  231. package/src/components/android/SafecheckOrderV.vue +2281 -2275
  232. package/src/components/android/StationMaster.vue +12 -12
  233. package/src/components/android/examples/SafeListExamples.vue +296 -296
  234. package/src/components/android/old/PaperFeedback.vue +1015 -1015
  235. package/src/components/android/recheck/Recheck.vue +402 -402
  236. package/src/components/android/userinfo/SafecheckUserInfo.vue +776 -776
  237. package/src/components/checkplan/checkmsg.vue +459 -459
  238. package/src/components/defect/DefectList.vue +507 -507
  239. package/src/components/defect/DefectListWeixiu.vue +484 -484
  240. package/src/components/defects/DefectModal.vue +101 -101
  241. package/src/components/defects/DevicesAndItem.vue +39 -39
  242. package/src/components/filialCircle/CircleList.vue +139 -139
  243. package/src/components/inspections/AddInspectPlanItem.vue +325 -325
  244. package/src/components/inspections/AddInspectPlanItems.vue +325 -325
  245. package/src/components/inspections/AddInspectPlanItemss.vue +317 -317
  246. package/src/components/inspections/DisplayInspectionList.vue +1224 -1224
  247. package/src/components/inspections/inspectionOrderV.vue +1853 -1853
  248. package/src/components/inspections/inspectionOrderVs.vue +1853 -1853
  249. package/src/components/inspections/inspectionOrderVss.vue +1856 -1856
  250. package/src/components/inspections/inspectionUserInfo.vue +398 -398
  251. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  252. package/src/components/map/PersonTrack.vue +226 -226
  253. package/src/components/map/SecurityCheckCoordinates.vue +361 -361
  254. package/src/components/notice/NoticeForm.vue +100 -100
  255. package/src/components/notice/NoticeIssue.vue +20 -20
  256. package/src/components/paper/PicViewer.vue +18 -18
  257. package/src/components/paper/RegionalList.vue +220 -220
  258. package/src/components/pc/AnnouncementPC.vue +524 -524
  259. package/src/components/pc/DefectList.vue +742 -742
  260. package/src/components/pc/DefectMaterialLook.vue +98 -98
  261. package/src/components/pc/DeviceChange.vue +1068 -1068
  262. package/src/components/pc/PaperDefectMain.vue +905 -905
  263. package/src/components/pc/RoleSelectorDep.vue +9 -2
  264. package/src/components/pc/SafeVisitInfo.vue +261 -261
  265. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  266. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  267. package/src/components/phonestate/PostMap.vue +82 -82
  268. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  269. package/src/components/report/HiddenSituation.vue +165 -165
  270. package/src/components/rongcheng/AspiratedOrderV.vue +2377 -2377
  271. package/src/components/rongcheng/CurrentCreateOnline.vue +906 -906
  272. package/src/components/rongcheng/DefectList.vue +560 -560
  273. package/src/components/rongcheng/SafecheckOrderVCli.vue +2641 -2641
  274. package/src/components/safecheckNew/android/AddPlanItem.vue +419 -419
  275. package/src/components/safecheckNew/android/CurrentCreate.vue +1050 -1050
  276. package/src/components/safecheckNew/android/Recheck.vue +379 -379
  277. package/src/components/sendsingle/EquipmentManagement.vue +727 -727
  278. package/src/components/shaoguan/DefectList.vue +473 -473
  279. package/src/components/shaoguan/SafecheckOrderV.vue +2140 -2140
  280. package/src/components/tongcheng/PaperFeedback.vue +1061 -1061
  281. package/src/components/userfile/MeterFile.vue +145 -145
  282. package/src/components/userfile/MeterModify.vue +46 -46
  283. package/src/components/userfile/SecurityAudit.vue +243 -243
  284. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  285. package/src/filiale/ALshan/pc/DefectListWeixiu.vue +476 -476
  286. package/src/filiale/ancheng/android/SafecheckOrderV.vue +2703 -2703
  287. package/src/filiale/ancheng/android/SafecheckUserInfo.vue +737 -737
  288. package/src/filiale/ancheng/pc/checkScreen.vue +923 -923
  289. package/src/filiale/ankangyihua/android/AddPlanItem.vue +446 -446
  290. package/src/filiale/ankangyihua/android/SafecheckOrderV.vue +2908 -2908
  291. package/src/filiale/ankangyihua/pc/DefectListWeixiu.vue +491 -491
  292. package/src/filiale/baiyin/android/SafecheckOrderV.vue +2785 -2785
  293. package/src/filiale/baiyin/pc/DefectListNew.vue +597 -597
  294. package/src/filiale/bayan/android/Edit.vue +132 -132
  295. package/src/filiale/bayan/pc/DefectListNew.vue +597 -597
  296. package/src/filiale/bayan/pc/DeviceChange.vue +1838 -1838
  297. package/src/filiale/bayan/pc/HiddenSituation.vue +295 -295
  298. package/src/filiale/dexin/android/CasualSave.vue +1050 -1050
  299. package/src/filiale/dexin/android/SafecheckOrderV.vue +2950 -2950
  300. package/src/filiale/fugou/android/AddPlanItem.vue +413 -413
  301. package/src/filiale/fugou/android/SafecheckOrderV.vue +2796 -2796
  302. package/src/filiale/fugou/pc/CheckBookSearchUser.vue +830 -830
  303. package/src/filiale/fugu/android/SafecheckOrderV.vue +2484 -2484
  304. package/src/filiale/fugu/pc/NewCheckpaper.vue +1287 -1287
  305. package/src/filiale/ganquan/android/AddPlanItem.vue +444 -444
  306. package/src/filiale/ganquan/android/SafecheckOrderV.vue +2485 -2485
  307. package/src/filiale/ganquan/pc/NewCheckpaper.vue +1354 -1354
  308. package/src/filiale/guangxi/pc/DefectListNew.vue +518 -518
  309. package/src/filiale/hanzhong/android/SafecheckOrderV.vue +2683 -2683
  310. package/src/filiale/hanzhong/android/SafecheckUserInfo.vue +786 -786
  311. package/src/filiale/huaran/android/SafecheckOrderV.vue +2803 -2803
  312. package/src/filiale/huatong/android/SafecheckOrderV.vue +2426 -2426
  313. package/src/filiale/huatong/android/SafecheckUserInfo.vue +749 -749
  314. package/src/filiale/huayin/pc/NewCheckpaper.vue +1307 -1307
  315. package/src/filiale/jiaocheng/android/AddPlanItem.vue +435 -435
  316. package/src/filiale/jiaocheng/android/SafecheckUserInfo.vue +737 -737
  317. package/src/filiale/jiaocheng/pc/DefectListNew.vue +576 -576
  318. package/src/filiale/jiaxian/android/AddPlanItem.vue +447 -447
  319. package/src/filiale/jiaxian/android/SafecheckOrderV.vue +2807 -2807
  320. package/src/filiale/jiaxian/android/SafecheckUserInfo.vue +784 -784
  321. package/src/filiale/jinbin/pc/DefectListWeixiu.vue +478 -478
  322. package/src/filiale/jingyang/android/AddPlanItem.vue +458 -458
  323. package/src/filiale/jingyang/android/SafecheckOrderV.vue +2734 -2734
  324. package/src/filiale/jingyang/android/SafecheckUserInfo.vue +781 -781
  325. package/src/filiale/jinhong/pc/CheckBookList.vue +2 -0
  326. package/src/filiale/jinhong/pc/PaperList.vue +853 -853
  327. package/src/filiale/jinhong/pc/PlanManage.vue +927 -927
  328. package/src/filiale/jinhong/pc/checkPlanList.vue +2 -0
  329. package/src/filiale/kelai/android/AddPlanItem.vue +488 -488
  330. package/src/filiale/kelai/android/SafecheckUserInfo.vue +774 -774
  331. package/src/filiale/kelai/android/SafecheckUserInfo1.vue +618 -618
  332. package/src/filiale/kelai/pc/DefectListNew.vue +688 -688
  333. package/src/filiale/kelai/pc/FaultLimitGas/FaultLimitGasList.vue +518 -518
  334. package/src/filiale/kelai/pc/NewCheckpaper.vue +1454 -1454
  335. package/src/filiale/liaoyuan/android/AddPlanItem.vue +412 -412
  336. package/src/filiale/liaoyuan/android/CurrentCreate.vue +1066 -1066
  337. package/src/filiale/liaoyuan/android/SafecheckOrderV.vue +2388 -2388
  338. package/src/filiale/liaoyuan/android/SafecheckUserInfo.vue +557 -557
  339. package/src/filiale/liaoyuan/pc/DefectListWeixiu.vue +489 -489
  340. package/src/filiale/liaoyuan/pc/NewCheckpaper.vue +1020 -1020
  341. package/src/filiale/lixian/android/SafecheckOrderV.vue +2404 -2404
  342. package/src/filiale/lixian/android/SafecheckUserInfo.vue +578 -578
  343. package/src/filiale/lixian/pc/NewCheckpaper.vue +1211 -1211
  344. package/src/filiale/meihekou/android/AreaPlan.vue +577 -577
  345. package/src/filiale/meihekou/android/MeterReading.vue +110 -110
  346. package/src/filiale/meihekou/android/PhoneUpUserinfo.vue +1307 -1307
  347. package/src/filiale/meihekou/android/SafecheckUserInfo.vue +785 -785
  348. package/src/filiale/meihekou/pc/NewCheckpaperTemp.vue +1288 -1288
  349. package/src/filiale/minsheng/android/SafecheckUserInfo.vue +754 -754
  350. package/src/filiale/minsheng/pc/DefectListNew.vue +535 -535
  351. package/src/filiale/pingxiang/android/SafecheckOrderV.vue +2424 -2424
  352. package/src/filiale/pingxiang/android/SafecheckUserInfo.vue +600 -600
  353. package/src/filiale/pingxiang/pc/DefectListNew.vue +519 -519
  354. package/src/filiale/pingxiang/pc/NewCheckpaper.vue +1294 -1294
  355. package/src/filiale/qianneng/android/AddPlanItem.vue +482 -482
  356. package/src/filiale/qianneng/android/SafecheckOrderV.vue +2785 -2785
  357. package/src/filiale/qianneng/android/SafecheckUserInfo.vue +775 -775
  358. package/src/filiale/qianneng/pc/DefectListNew.vue +576 -576
  359. package/src/filiale/qianneng/pc/NewCheckpaper.vue +1546 -1546
  360. package/src/filiale/qingjian/android/SafecheckOrderV.vue +2844 -2844
  361. package/src/filiale/qingjian/android/SafecheckUserInfo.vue +800 -800
  362. package/src/filiale/qingjian/pc/NewCheckpaper.vue +1871 -1871
  363. package/src/filiale/qingjian/pc.js +15 -15
  364. package/src/filiale/qingtongxia/android/AddPlanItem.vue +450 -450
  365. package/src/filiale/qingtongxia/android/SafecheckOrderV.vue +2726 -2726
  366. package/src/filiale/qingtongxia/android/SafecheckUserInfo.vue +782 -782
  367. package/src/filiale/qingtongxia/pc/DefectListNew.vue +594 -594
  368. package/src/filiale/rizhao/android/AddPlanItem.vue +446 -446
  369. package/src/filiale/rizhao/android/SafecheckOrderV.vue +2430 -2430
  370. package/src/filiale/rizhao/android/SafecheckUserInfo.vue +640 -640
  371. package/src/filiale/rizhao/pc/DefectList.vue +489 -489
  372. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +2696 -2696
  373. package/src/filiale/rongchuang/android/checkpapermsg.vue +209 -209
  374. package/src/filiale/ruihua/android/SafecheckOrderV.vue +2747 -2747
  375. package/src/filiale/ruihua/android/SafecheckUserInfo.vue +804 -804
  376. package/src/filiale/shanggao/android/SafecheckOrderV.vue +2426 -2426
  377. package/src/filiale/shanxian/android/SafecheckUserInfo.vue +749 -749
  378. package/src/filiale/shanxian/pc/HiddenSituation.vue +121 -121
  379. package/src/filiale/shanxian/pc/NewCheckpaper.vue +1526 -1526
  380. package/src/filiale/shexian/android/AddPlanItem.vue +444 -444
  381. package/src/filiale/shexian/android/SafecheckOrderV.vue +2879 -2879
  382. package/src/filiale/shexian/pc/DefectListNew.vue +593 -593
  383. package/src/filiale/shexian/pc/NewCheckpaper.vue +1469 -1469
  384. package/src/filiale/shimen/android/SafecheckUserInfo.vue +547 -547
  385. package/src/filiale/shimen/pc/DefectList.vue +473 -473
  386. package/src/filiale/shimen/pc/NewCheckpaper.vue +1275 -1275
  387. package/src/filiale/siyang/android/AddPlanItem.vue +450 -450
  388. package/src/filiale/siyang/android/CurrentCreate.vue +1051 -1051
  389. package/src/filiale/siyang/android/PhoneRecordInfo.vue +214 -214
  390. package/src/filiale/siyang/android/SafecheckOrderV.vue +2796 -2796
  391. package/src/filiale/siyang/android/SafecheckUserInfo.vue +789 -789
  392. package/src/filiale/siyang/pc/HiddenSituation.vue +167 -167
  393. package/src/filiale/taiyuan/android/SafecheckOrderV.vue +2347 -2341
  394. package/src/filiale/taiyuan/pc/NewCheckpaper.vue +1976 -1976
  395. package/src/filiale/taiyuan/pc/PlanManage.vue +891 -891
  396. package/src/filiale/taiyuan/pc/checkUserList.vue +798 -798
  397. package/src/filiale/taiyuan/pc.js +15 -15
  398. package/src/filiale/tianke/android/AddPlanItem.vue +455 -455
  399. package/src/filiale/tianke/android/SafecheckOrderV.vue +2431 -2431
  400. package/src/filiale/tianke/android/SafecheckUserInfo.vue +744 -744
  401. package/src/filiale/tongchuan/android/AddPlanItem.vue +483 -483
  402. package/src/filiale/tongchuan/android/PhoneRecordInfo.vue +191 -191
  403. package/src/filiale/tongchuan/android/PhoneSellInfo.vue +113 -113
  404. package/src/filiale/tongchuan/android/SafecheckUserInfo.vue +720 -720
  405. package/src/filiale/tongchuan/pc/CheckBookDetails.vue +209 -209
  406. package/src/filiale/tongchuan/pc/DefectListWeixiu.vue +484 -484
  407. package/src/filiale/tongchuan/pc/HiddenSituation.vue +166 -166
  408. package/src/filiale/weinan/android/AddPlanItem.vue +438 -438
  409. package/src/filiale/weinan/android/CurrentCreate.vue +1171 -1171
  410. package/src/filiale/weinan/android/CurrentCreateOnline.vue +911 -911
  411. package/src/filiale/weinan/android/SafePlanItem.vue +440 -440
  412. package/src/filiale/weinan/android/SafecheckUserInfo.vue +778 -778
  413. package/src/filiale/weinan/pc/DefectListNew.vue +617 -617
  414. package/src/filiale/weinan/pc/DeviceChange.vue +1088 -1088
  415. package/src/filiale/weinan/pc/HiddenSituation.vue +167 -167
  416. package/src/filiale/weinan/pc/checkScreen.vue +1094 -1094
  417. package/src/filiale/weinanct/android/SafecheckOrderV.vue +2730 -2730
  418. package/src/filiale/weinanct/pc/NewCheckpaper.vue +1315 -1315
  419. package/src/filiale/wensu/android/AddPlanItem.vue +495 -495
  420. package/src/filiale/wensu/android/AndroidDefectDeal.vue +464 -464
  421. package/src/filiale/wensu/android/PaperFeedback.vue +1358 -1358
  422. package/src/filiale/wensu/android/SafecheckOrderV.vue +2430 -2430
  423. package/src/filiale/wensu/android/SafecheckUserInfo.vue +627 -627
  424. package/src/filiale/wensu/pc/DefectListNew.vue +735 -735
  425. package/src/filiale/wenxi/android/AddPlanItem.vue +431 -431
  426. package/src/filiale/wenxi/android/SafecheckOrderV.vue +2671 -2671
  427. package/src/filiale/wenxi/android/SafecheckUserInfo.vue +673 -673
  428. package/src/filiale/wenxi/pc/DefectList.vue +653 -653
  429. package/src/filiale/wenxi/pc/NewCheckpaper.vue +1358 -1358
  430. package/src/filiale/wuan/android/SafecheckOrderV.vue +2241 -2241
  431. package/src/filiale/wuan/android/SafecheckUserInfo.vue +596 -596
  432. package/src/filiale/wuan/pc/DefectListWeixiu.vue +506 -506
  433. package/src/filiale/wuan/pc/NewCheckpaper.vue +1169 -1169
  434. package/src/filiale/wuhai/android/SafecheckOrderV.vue +2456 -2456
  435. package/src/filiale/wuhai/android/SafecheckUserInfo.vue +573 -573
  436. package/src/filiale/wuhai/pc/NewCheckpaper.vue +1281 -1281
  437. package/src/filiale/xiangyuanzhongai/android/PhoneUpUserinfo.vue +1251 -1251
  438. package/src/filiale/xinkang/pc/CheckSearchUser.vue +1026 -1026
  439. package/src/filiale/xinkang/pc/DefectListWeixiu.vue +475 -475
  440. package/src/filiale/xinkang/pc/NewCheckpaper.vue +37 -28
  441. package/src/filiale/xinkang/pc/PaperList.vue +24 -2
  442. package/src/filiale/yangchunboneng/android/AddPlanItem.vue +496 -496
  443. package/src/filiale/yangchunboneng/android/SafecheckOrderV.vue +2865 -2865
  444. package/src/filiale/yangchunboneng/android/SafecheckUserInfo.vue +887 -887
  445. package/src/filiale/yangchunboneng/pc/DefectListNew.vue +576 -576
  446. package/src/filiale/yongzhou/android/SafecheckOrderV.vue +2774 -2774
  447. package/src/filiale/yongzhou/android/SafecheckUserInfo.vue +776 -776
  448. package/src/filiale/yuansheng/android/SafecheckOrderV.vue +2758 -2758
  449. package/src/filiale/yuansheng/android/SafecheckUserInfo.vue +797 -797
  450. package/src/filiale/yuansheng/pc/DefectListNew.vue +524 -524
  451. package/src/filiale/yuansheng/pc/NewCheckpaper.vue +1371 -1371
  452. package/src/filiale/yuansheng/pc/checkmsg.vue +464 -464
  453. package/src/filiale/yunchengminsheng/android/DailyworkloadQuery.vue +491 -491
  454. package/src/filiale/yunchengminsheng/android/PaperFeedback.vue +1509 -1509
  455. package/src/filiale/yunchengminsheng/android/PhoneSellInfo.vue +113 -113
  456. package/src/filiale/yunchengminsheng/android/SafecheckDevices.vue +1270 -1270
  457. package/src/filiale/yunchengminsheng/android/SafecheckUserInfo.vue +785 -785
  458. package/src/filiale/yunchengminsheng/android.js +15 -15
  459. package/src/filiale/yunchengminsheng/pc/PaperList.vue +811 -811
  460. package/src/filiale/yunchengminsheng/pc.js +15 -15
  461. package/src/filiale/zhongsheng/android/BuyRecords.vue +122 -122
  462. package/src/filiale/zhongsheng/android/SafecheckOrderV.vue +2461 -2461
  463. package/src/filiale/zhongsheng/android/SafecheckUserInfo.vue +690 -690
  464. package/src/filiale/zhongsheng/pc/DefectListWeixiu.vue +514 -514
  465. package/src/filiale/zhongsheng/pc/NewCheckpaper.vue +1322 -1322
  466. package/src/filiale/zhongyi/android/SafecheckOrderV.vue +2431 -2431
  467. package/src/filiale/zhongyi/pc/DefectListNew.vue +514 -514
  468. package/src/filiale/zhoukou/android/SafecheckOrderV.vue +2502 -2502
  469. package/src/filiale/zhoukou/android/SafecheckUserInfo.vue +588 -588
  470. package/src/main.js +33 -32
  471. package/src/plugins/LoadData.js +10 -10
  472. package/src/plugins/LoadParams.js +24 -24
  473. package/src/safecheck.js +924 -924
  474. package/src/stores/wxconfig.js +10 -10
  475. package/src/utils/getNowDate.js +33 -33
  476. package/test/e2e/custom-assertions/elementCount.js +26 -26
  477. package/test/e2e/nightwatch.conf.js +40 -40
  478. package/test/e2e/runner.js +30 -30
  479. package/test/e2e/specs/test.js +13 -13
  480. package/test/unit/.eslintrc +5 -5
  481. package/test/unit/TestUtil.js +62 -62
  482. package/test/unit/context.html +20 -20
  483. package/test/unit/index.js +13 -13
@@ -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>