manage-client 3.1.22 → 3.1.26

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 (467) hide show
  1. package/.babelrc +5 -5
  2. package/.classpath +6 -6
  3. package/.editorconfig +9 -9
  4. package/.eslintrc.js +20 -20
  5. package/.gradle/3.5.1/file-changes/last-build.bin +0 -0
  6. package/.gradle/3.5.1/taskHistory/taskHistory.lock +0 -0
  7. package/.gradle/buildOutputCleanup/built.bin +0 -0
  8. package/.gradle/buildOutputCleanup/cache.properties +2 -2
  9. package/.gradle/buildOutputCleanup/cache.properties.lock +1 -0
  10. package/.project +18 -18
  11. package/CHANGELOG.md +15 -15
  12. package/DOC//345/212/237/350/203/275/350/257/264/346/230/216.md +13 -13
  13. package/DOC//347/211/210/346/234/254/344/277/241/346/201/257.md +8 -8
  14. package/ManageClient.iml +13 -13
  15. package/README.md +38 -38
  16. package/build/dev-server.js +174 -174
  17. package/build/webpack.base.conf.js +82 -82
  18. package/build.gradle +13 -13
  19. package/config/dev.env.js +6 -6
  20. package/config/index.js +40 -40
  21. package/config/prod.env.js +3 -3
  22. package/config/test.env.js +6 -6
  23. package/gradle/wrapper/gradle-wrapper.properties +5 -5
  24. package/gradlew.bat +100 -100
  25. package/index.html +28 -28
  26. package/package.json +1 -1
  27. package/release.bat +5 -5
  28. package/src/ManageHome.js +269 -269
  29. package/src/Staff/StaffCompileList.vue +334 -334
  30. package/src/Staff/StaffList.vue +161 -161
  31. package/src/Staff/StaffListManage.vue +49 -49
  32. package/src/Util.js +367 -367
  33. package/src/components/BasisEcharts/BarChart.vue +247 -247
  34. package/src/components/BasisEcharts/LineChart.vue +243 -243
  35. package/src/components/ManageHome/CustomerService/ContentmentStatistics.vue +135 -135
  36. package/src/components/ManageHome/CustomerService/ExcepCollect.vue +174 -174
  37. package/src/components/ManageHome/CustomerService/ReasonComplaint.vue +116 -116
  38. package/src/components/ManageHome/CustomerService/ReasonConsultation.vue +115 -115
  39. package/src/components/ManageHome/CustomerService/ServiceFix.vue +155 -155
  40. package/src/components/ManageHome/CustomerService/ServiceHome.vue +179 -179
  41. package/src/components/ManageHome/CustomerService/ServiceStatistics.vue +147 -147
  42. package/src/components/ManageHome/CustomerService/TrafficStatistics.vue +160 -160
  43. package/src/components/ManageHome/Drill/DrillData.vue +791 -791
  44. package/src/components/ManageHome/Drill/DrillList.vue +320 -320
  45. package/src/components/ManageHome/Drill/DrillPool.vue +129 -129
  46. package/src/components/ManageHome/Home/CallCenter.vue +124 -124
  47. package/src/components/ManageHome/Home/CallFix.vue +172 -172
  48. package/src/components/ManageHome/Home/CallStatistics.vue +147 -147
  49. package/src/components/ManageHome/Home/GasValue.vue +233 -233
  50. package/src/components/ManageHome/Home/Home.vue +138 -138
  51. package/src/components/ManageHome/Home/Monitor.vue +329 -329
  52. package/src/components/ManageHome/Home/NetWork.vue +202 -202
  53. package/src/components/ManageHome/Home/SafeCheck.vue +249 -249
  54. package/src/components/ManageHome/Home/UserModule.vue +367 -367
  55. package/src/components/ManageHome/ImportSupplygas/AddSupply.vue +206 -206
  56. package/src/components/ManageHome/ImportSupplygas/SuppleManagement.vue +43 -43
  57. package/src/components/ManageHome/ImportSupplygas/SupplySelect.vue +85 -85
  58. package/src/components/ManageHome/ImportSupplygas/UpdateSupply.vue +187 -187
  59. package/src/components/ManageHome/ManageHome.vue +292 -292
  60. package/src/components/ManageHome/Monitor/BuySub.vue +311 -311
  61. package/src/components/ManageHome/Monitor/Caveat.vue +300 -300
  62. package/src/components/ManageHome/Monitor/ComparedGas.vue +264 -264
  63. package/src/components/ManageHome/Monitor/MeterBrand.vue +211 -211
  64. package/src/components/ManageHome/Monitor/MonitorCenter.vue +132 -132
  65. package/src/components/ManageHome/Monitor/MonitorHome.vue +188 -188
  66. package/src/components/ManageHome/Monitor/NoBuyGas.vue +223 -223
  67. package/src/components/ManageHome/Monitor/NoContact.vue +233 -233
  68. package/src/components/ManageHome/Monitor/NoGas.vue +202 -202
  69. package/src/components/ManageHome/NetWork/LineInspection.vue +267 -267
  70. package/src/components/ManageHome/NetWork/NetDanger.vue +258 -258
  71. package/src/components/ManageHome/NetWork/NetHome.vue +84 -84
  72. package/src/components/ManageHome/NetWork/SupplyGas.vue +204 -204
  73. package/src/components/ManageHome/SecurityCheck/CheckHome.vue +94 -94
  74. package/src/components/ManageHome/SecurityCheck/CustomerType.vue +244 -244
  75. package/src/components/ManageHome/SecurityCheck/LatentDanger.vue +218 -218
  76. package/src/components/ManageHome/SecurityCheck/PlanStatistics.vue +231 -231
  77. package/src/components/ManageHome/SecurityCheck/StateStatistics.vue +237 -237
  78. package/src/components/ManageHome/SecurityCheck/TaskStatistics.vue +303 -303
  79. package/src/components/ManageHome/User/GasDistri.vue +271 -271
  80. package/src/components/ManageHome/User/InspecDistri.vue +272 -272
  81. package/src/components/ManageHome/User/SaleProportion.vue +309 -309
  82. package/src/components/ManageHome/User/UseHome.vue +155 -155
  83. package/src/components/ManageHome/User/UserGascontrast.vue +223 -223
  84. package/src/components/ManageHome/User/UserNumber.vue +519 -519
  85. package/src/components/ManageHome/User/UsernumIncrease.vue +243 -243
  86. package/src/components/ManageHome/loading.vue +23 -23
  87. package/src/components/ManageHomeCS/Cockpit.vue +43 -43
  88. package/src/components/ManageHomeCS/CustomerService/ContentmentStatistics.vue +161 -161
  89. package/src/components/ManageHomeCS/CustomerService/ExcepCollect.vue +201 -201
  90. package/src/components/ManageHomeCS/CustomerService/ReasonComplaint.vue +146 -146
  91. package/src/components/ManageHomeCS/CustomerService/ReasonConsultation.vue +148 -148
  92. package/src/components/ManageHomeCS/CustomerService/ServiceFix.vue +242 -242
  93. package/src/components/ManageHomeCS/CustomerService/ServiceHome.vue +176 -176
  94. package/src/components/ManageHomeCS/CustomerService/ServiceStatistics.vue +277 -277
  95. package/src/components/ManageHomeCS/CustomerService/TrafficStatistics.vue +226 -226
  96. package/src/components/ManageHomeCS/Drill/DrillData.vue +918 -918
  97. package/src/components/ManageHomeCS/Drill/DrillList.vue +320 -320
  98. package/src/components/ManageHomeCS/Drill/DrillPool.vue +129 -129
  99. package/src/components/ManageHomeCS/Home/CallCenter.vue +206 -206
  100. package/src/components/ManageHomeCS/Home/CallFix.vue +172 -172
  101. package/src/components/ManageHomeCS/Home/CallStatistics.vue +147 -147
  102. package/src/components/ManageHomeCS/Home/GasValue.vue +466 -466
  103. package/src/components/ManageHomeCS/Home/Home.vue +57 -57
  104. package/src/components/ManageHomeCS/Home/Monitor.vue +423 -423
  105. package/src/components/ManageHomeCS/Home/NetWork.vue +223 -223
  106. package/src/components/ManageHomeCS/Home/SafeCheck.vue +446 -446
  107. package/src/components/ManageHomeCS/Home/ShanxiMap.vue +432 -432
  108. package/src/components/ManageHomeCS/Home/UserModule.vue +511 -511
  109. package/src/components/ManageHomeCS/Home/YulinMap.vue +424 -424
  110. package/src/components/ManageHomeCS/ImportSupplygas/AddSupply.vue +206 -206
  111. package/src/components/ManageHomeCS/ImportSupplygas/SuppleManagement.vue +43 -43
  112. package/src/components/ManageHomeCS/ImportSupplygas/SupplySelect.vue +85 -85
  113. package/src/components/ManageHomeCS/ImportSupplygas/UpdateSupply.vue +187 -187
  114. package/src/components/ManageHomeCS/Monitor/BuySub.vue +339 -339
  115. package/src/components/ManageHomeCS/Monitor/Caveat.vue +301 -301
  116. package/src/components/ManageHomeCS/Monitor/ComparedGas.vue +276 -276
  117. package/src/components/ManageHomeCS/Monitor/MeterBrand.vue +220 -220
  118. package/src/components/ManageHomeCS/Monitor/MonitorCenter.vue +139 -139
  119. package/src/components/ManageHomeCS/Monitor/MonitorHome.vue +188 -188
  120. package/src/components/ManageHomeCS/Monitor/NoBuyGas.vue +218 -218
  121. package/src/components/ManageHomeCS/Monitor/NoContact.vue +217 -217
  122. package/src/components/ManageHomeCS/Monitor/NoGas.vue +214 -214
  123. package/src/components/ManageHomeCS/NetWork/LineInspection.vue +268 -268
  124. package/src/components/ManageHomeCS/NetWork/NetDanger.vue +258 -258
  125. package/src/components/ManageHomeCS/NetWork/NetHome.vue +106 -106
  126. package/src/components/ManageHomeCS/NetWork/NetWork.vue +222 -222
  127. package/src/components/ManageHomeCS/NetWork/NetWorkMap.vue +86 -86
  128. package/src/components/ManageHomeCS/NetWork/SupplyGas.vue +291 -291
  129. package/src/components/ManageHomeCS/NewHome/GasProperties.vue +314 -314
  130. package/src/components/ManageHomeCS/NewHome/NewManageHome.vue +182 -182
  131. package/src/components/ManageHomeCS/NewHome/TextBusiness.vue +267 -267
  132. package/src/components/ManageHomeCS/NewHome/TextChildsellgas.vue +209 -209
  133. package/src/components/ManageHomeCS/NewHome/TextProfit.vue +298 -298
  134. package/src/components/ManageHomeCS/NewHome/TextSellgas.vue +82 -82
  135. package/src/components/ManageHomeCS/NewHome/TextShanximap.vue +389 -389
  136. package/src/components/ManageHomeCS/NewHome/TextTotalsellgas.vue +406 -406
  137. package/src/components/ManageHomeCS/NewHome/TextUser.vue +378 -378
  138. package/src/components/ManageHomeCS/NewHome/yulin.vue +425 -425
  139. package/src/components/ManageHomeCS/Poor/PoorHome.vue +176 -176
  140. package/src/components/ManageHomeCS/SecurityCheck/CheckHome.vue +94 -94
  141. package/src/components/ManageHomeCS/SecurityCheck/CustomerType.vue +246 -246
  142. package/src/components/ManageHomeCS/SecurityCheck/LatentDanger.vue +220 -220
  143. package/src/components/ManageHomeCS/SecurityCheck/PlanStatistics.vue +306 -306
  144. package/src/components/ManageHomeCS/SecurityCheck/StateStatistics.vue +239 -239
  145. package/src/components/ManageHomeCS/SecurityCheck/TaskStatistics.vue +311 -311
  146. package/src/components/ManageHomeCS/User/FMYInspecDistri.vue +269 -269
  147. package/src/components/ManageHomeCS/User/GasDistri.vue +220 -220
  148. package/src/components/ManageHomeCS/User/MYInspecDistri.vue +269 -269
  149. package/src/components/ManageHomeCS/User/SaleProportion.vue +384 -384
  150. package/src/components/ManageHomeCS/User/UseHome.vue +162 -162
  151. package/src/components/ManageHomeCS/User/UserGascontrast.vue +221 -221
  152. package/src/components/ManageHomeCS/User/UserNumber.vue +600 -600
  153. package/src/components/ManageHomeCS/User/UsernumIncrease.vue +277 -277
  154. package/src/components/ManageHomeCS/loading.vue +39 -39
  155. package/src/components/ManageHomeCS/test.vue +88 -88
  156. package/src/components/MeterManage/ChangeMeterQuery.vue +82 -82
  157. package/src/components/MeterManage/ChargeQuery.vue +79 -79
  158. package/src/components/MeterManage/FillCardQuery.vue +80 -80
  159. package/src/components/MeterManage/FillGasQuery.vue +80 -80
  160. package/src/components/MeterManage/HandQuery.vue +72 -72
  161. package/src/components/MeterManage/MeterInfoManage.vue +107 -107
  162. package/src/components/MeterManage/MeterList.vue +336 -336
  163. package/src/components/MeterManage/MeterMsg.vue +181 -181
  164. package/src/components/MeterManage/OtherChargeQuery.vue +78 -78
  165. package/src/components/MeterManage/ReversalQuery.vue +77 -77
  166. package/src/components/MeterManage/TransferQuery.vue +72 -72
  167. package/src/components/SellReport/AmountGas.vue +257 -257
  168. package/src/components/SellReport/BankManager.vue +146 -146
  169. package/src/components/SellReport/BonSummary.vue +244 -244
  170. package/src/components/SellReport/BusinessClassify.vue +251 -0
  171. package/src/components/SellReport/BusinessMoneyReport.vue +268 -268
  172. package/src/components/SellReport/BusinessReport.vue +256 -256
  173. package/src/components/SellReport/CaiManageDayGas.vue +280 -280
  174. package/src/components/SellReport/ChManageBusSummary.vue +273 -273
  175. package/src/components/SellReport/ChManageHandSellMoney.vue +274 -274
  176. package/src/components/SellReport/ChManageMonthGas.vue +285 -285
  177. package/src/components/SellReport/ChOtherfee.vue +251 -251
  178. package/src/components/SellReport/ChSellReport.vue +251 -251
  179. package/src/components/SellReport/ChargeDayTable.vue +258 -258
  180. package/src/components/SellReport/ChargeMonthTable.vue +257 -257
  181. package/src/components/SellReport/ChargeYearTable.vue +252 -252
  182. package/src/components/SellReport/CollectFee.vue +184 -184
  183. package/src/components/SellReport/Contrast.vue +188 -188
  184. package/src/components/SellReport/DayStairMoney.vue +256 -256
  185. package/src/components/SellReport/DeptHomePage.vue +299 -299
  186. package/src/components/SellReport/FenxiangSell.vue +183 -183
  187. package/src/components/SellReport/FxGasTable.vue +220 -220
  188. package/src/components/SellReport/GasCollect.vue +174 -174
  189. package/src/components/SellReport/GasMeterBrand.vue +228 -228
  190. package/src/components/SellReport/GasPriceGroup.vue +228 -228
  191. package/src/components/SellReport/GasSummary.vue +257 -257
  192. package/src/components/SellReport/Gasc.vue +257 -257
  193. package/src/components/SellReport/GaspriceHas.vue +141 -141
  194. package/src/components/SellReport/GetUserNum.vue +240 -240
  195. package/src/components/SellReport/HandCollect.vue +189 -189
  196. package/src/components/SellReport/HandplanBili.vue +241 -241
  197. package/src/components/SellReport/HandplanUserCount.vue +227 -227
  198. package/src/components/SellReport/JinChengBusSummary.vue +182 -182
  199. package/src/components/SellReport/JinChengHandGas.vue +182 -182
  200. package/src/components/SellReport/JinChengOperSummary.vue +182 -182
  201. package/src/components/SellReport/JinChengSliceSumgas.vue +182 -182
  202. package/src/components/SellReport/ManageBusTable.vue +207 -207
  203. package/src/components/SellReport/ManageGasFee.vue +247 -247
  204. package/src/components/SellReport/ManageGasFeeOperator.vue +236 -236
  205. package/src/components/SellReport/ManageGasPrice.vue +241 -241
  206. package/src/components/SellReport/ManageGasSumChangeTwo.vue +271 -271
  207. package/src/components/SellReport/ManageGasSumOtherCharge.vue +244 -244
  208. package/src/components/SellReport/ManageHandInputtor.vue +281 -281
  209. package/src/components/SellReport/ManageHandSellInputtor.vue +241 -241
  210. package/src/components/SellReport/ManageMonthGas.vue +249 -249
  211. package/src/components/SellReport/ManageNewGasPrice.vue +245 -245
  212. package/src/components/SellReport/ManageOtherCharge.vue +250 -250
  213. package/src/components/SellReport/ManageReceivable.vue +254 -254
  214. package/src/components/SellReport/ManageUserCollect.vue +183 -183
  215. package/src/components/SellReport/MarketMonth.vue +251 -0
  216. package/src/components/SellReport/MeterBill.vue +185 -185
  217. package/src/components/SellReport/MeterGasMoney.vue +226 -226
  218. package/src/components/SellReport/MeterInput.vue +250 -250
  219. package/src/components/SellReport/MeterPrice.vue +244 -244
  220. package/src/components/SellReport/MeterReader.vue +231 -231
  221. package/src/components/SellReport/MonthStairMoney.vue +256 -256
  222. package/src/components/SellReport/OperatorSellReport.vue +268 -268
  223. package/src/components/SellReport/OutletTable.vue +258 -258
  224. package/src/components/SellReport/OweAging.vue +174 -174
  225. package/src/components/SellReport/PaymentDistribute.vue +228 -228
  226. package/src/components/SellReport/PaymentMethod.vue +274 -274
  227. package/src/components/SellReport/QibiaoShouqi.vue +282 -282
  228. package/src/components/SellReport/ReportHistory.vue +80 -80
  229. package/src/components/SellReport/ReportPool.vue +60 -60
  230. package/src/components/SellReport/SaleMonthReport.vue +227 -227
  231. package/src/components/SellReport/Selling.vue +188 -188
  232. package/src/components/SellReport/SiteManager.vue +147 -147
  233. package/src/components/SellReport/UserStateStatistics.vue +188 -188
  234. package/src/components/SellReport/UsertypePie.vue +101 -101
  235. package/src/components/SellReport/WeiNanYuShou.vue +246 -246
  236. package/src/components/SellReport/XianYangDate.vue +227 -227
  237. package/src/components/SellReport/XianYangOperator.vue +228 -228
  238. package/src/components/SellReport/XyDateCharge.vue +227 -227
  239. package/src/components/SellReport/XyOperatorCharge.vue +256 -256
  240. package/src/components/SellReport/YuShouTable.vue +298 -298
  241. package/src/components/SellReport/YuShouTableTwo.vue +309 -309
  242. package/src/components/SellReport/chargeSchedule.vue +410 -410
  243. package/src/components/SellReport/jingwei/CardCharge.vue +142 -142
  244. package/src/components/SellReport/jingwei/MachineCharge.vue +141 -141
  245. package/src/components/SellReport/jingwei/PaymentNotice.vue +479 -479
  246. package/src/components/SellReport/jingwei/handplanReport.vue +280 -280
  247. package/src/components/SellReport/jingwei/widegt/PaymentNoticePrint.vue +198 -198
  248. package/src/components/SellReport/jingwei/widegt/handplanPrint.vue +143 -143
  249. package/src/components/SellReport/pengan/ManageBusPeng.vue +280 -280
  250. package/src/components/SellReport/pengan/ManageBusSummaryPeng.vue +241 -241
  251. package/src/components/SellReport/userholds.vue +257 -257
  252. package/src/components/WebReport/AbnormalInfo.vue +197 -197
  253. package/src/components/WebReport/AbnormalInfoEcharts.vue +120 -120
  254. package/src/components/WebReport/BatteryLow.vue +148 -148
  255. package/src/components/WebReport/BusinessHall.vue +85 -85
  256. package/src/components/WebReport/BussinessType.vue +137 -137
  257. package/src/components/WebReport/Communication.vue +131 -131
  258. package/src/components/WebReport/CompanyUser.vue +79 -79
  259. package/src/components/WebReport/EchartsBox.vue +110 -110
  260. package/src/components/WebReport/ElectroMagnetic.vue +142 -142
  261. package/src/components/WebReport/GaspriceHas.vue +141 -141
  262. package/src/components/WebReport/HandplanPrint.vue +167 -167
  263. package/src/components/WebReport/NotUpload.vue +165 -165
  264. package/src/components/WebReport/OweQuery.vue +169 -169
  265. package/src/components/WebReport/PaymentDistributed.vue +176 -176
  266. package/src/components/WebReport/Paymentpie.vue +157 -157
  267. package/src/components/WebReport/ReportWorklist.vue +220 -220
  268. package/src/components/WebReport/SellType.vue +89 -89
  269. package/src/components/WebReport/Telemanlist.vue +221 -221
  270. package/src/components/WebReport/UserGasAll.vue +214 -214
  271. package/src/components/WebReport/UserGasEcharts.vue +107 -107
  272. package/src/components/WebReport/UsertypePie.vue +105 -105
  273. package/src/components/WebReport/ValueEcharts.vue +99 -99
  274. package/src/components/WebReport/ValueInfo.vue +194 -194
  275. package/src/components/qinhua/BarChartLine.vue +288 -288
  276. package/src/components/qinhua/ManageMain.vue +162 -162
  277. package/src/components/qinhua/Ring.vue +165 -165
  278. package/src/components/qinhua/SafeCheckRing.vue +149 -149
  279. package/src/components/qinhua/SafecheckBarChart.vue +209 -209
  280. package/src/components/qinhua/Scada.vue +93 -93
  281. package/src/components/safecheck/analysis/SafeHiddenAnaly.vue +932 -932
  282. package/src/components/safecheck/planCheck/chanceSituation.vue +149 -149
  283. package/src/components/safecheck/planCheck/checkFamily.vue +217 -217
  284. package/src/components/safecheck/planCheck/hidderDanger.vue +179 -179
  285. package/src/components/safecheck/planCheck/inFamily.vue +185 -185
  286. package/src/components/sale/businessquery/AccountQuery/TransactionSummary.vue +373 -373
  287. package/src/components/sale/businessquery/BalanceQuery.vue +456 -456
  288. package/src/components/sale/businessquery/CollectManage.vue +4 -1
  289. package/src/components/sale/businessquery/InspectManage.vue +47 -47
  290. package/src/components/sale/businessquery/NewAccountQuery.vue +409 -409
  291. package/src/components/sale/businessquery/OtherChargeDetailQuery.vue +74 -74
  292. package/src/components/sale/businessquery/ProceedsOper.vue +377 -0
  293. package/src/components/sale/businessquery/ResourceOperatingQuery.vue +317 -317
  294. package/src/components/sale/businessquery/TongjiManage.vue +74 -74
  295. package/src/components/sale/businessquery/UserTongjiQuery.vue +358 -358
  296. package/src/components/sale/businessquery/YearGasQuery.vue +422 -422
  297. package/src/components/sale/businessquery/analysisquery/AnalysisManage.vue +65 -65
  298. package/src/components/sale/businessquery/weChatBind.vue +361 -361
  299. package/src/components/sale/common/PrintData.vue +171 -171
  300. package/src/components/sale/common/PrintDataSelf.vue +225 -225
  301. package/src/components/sale/common/PrintTable.vue +228 -228
  302. package/src/components/sale/common/PrintTableSelf.vue +251 -251
  303. package/src/components/sale/common/TabButton.vue +155 -155
  304. package/src/components/sale/common/Tabs.vue +67 -67
  305. package/src/components/sale/common/handplanUser.vue +112 -112
  306. package/src/components/sale/config/DefaultPrint.js +6 -6
  307. package/src/components/sale/config/exportConfig.js +10 -1
  308. package/src/components/sale/config/tableConfig.js +48 -48
  309. package/src/components/sale/filesquery/UserQuery.vue +16 -0
  310. package/src/components/sale/filesquery/detail/UserBaseInfo.vue +69 -69
  311. package/src/components/sale/filesquery/detail/UserDetail.vue +41 -41
  312. package/src/components/sale/filesquery/detail/UserOperInfo.vue +76 -76
  313. package/src/components/sale/filesquery/detail/oper/ChangeMessage.vue +46 -46
  314. package/src/components/sale/filesquery/detail/oper/ExchangeOper.vue +66 -66
  315. package/src/components/sale/filesquery/detail/oper/HandOper.vue +46 -46
  316. package/src/components/sale/filesquery/detail/oper/HandleMessage.vue +46 -46
  317. package/src/components/sale/filesquery/detail/oper/OtherCharge.vue +54 -54
  318. package/src/components/sale/filesquery/detail/oper/ReplaceCard.vue +51 -51
  319. package/src/components/sale/filesquery/detail/oper/SellOper.vue +56 -56
  320. package/src/components/sale/filesquery/detail/oper/TransferMessage.vue +55 -55
  321. package/src/components/sale/filesquery/filequerydetail/BlackListQueryDetail.vue +219 -219
  322. package/src/components/sale/filesquery/filequerydetail/ChangeMeterQueryDetail.vue +246 -246
  323. package/src/components/sale/filesquery/filequerydetail/ChargeQueryDetail.vue +239 -239
  324. package/src/components/sale/filesquery/filequerydetail/DeviceQueryDetail.vue +126 -126
  325. package/src/components/sale/filesquery/filequerydetail/DisableQueryDetail.vue +272 -272
  326. package/src/components/sale/filesquery/filequerydetail/EnableQueryDetail.vue +274 -274
  327. package/src/components/sale/filesquery/filequerydetail/FillCardQueryDetail.vue +80 -80
  328. package/src/components/sale/filesquery/filequerydetail/FillGasQueryDetail.vue +80 -80
  329. package/src/components/sale/filesquery/filequerydetail/HandQueryDetail.vue +302 -302
  330. package/src/components/sale/filesquery/filequerydetail/MeterQueryDetail.vue +158 -158
  331. package/src/components/sale/filesquery/filequerydetail/OtherChargeQueryDetail.vue +198 -198
  332. package/src/components/sale/filesquery/filequerydetail/RecordQueryDetail.vue +125 -125
  333. package/src/components/sale/filesquery/filequerydetail/SellingHandDetail.vue +280 -280
  334. package/src/components/sale/filesquery/filequerydetail/TransferQueryDetail.vue +160 -160
  335. package/src/components/sale/filesquery/filequerydetail/UserQueryDetail.vue +155 -155
  336. package/src/components/sale/report/aode/DayReport.vue +50 -50
  337. package/src/components/sale/report/aode/DayReportSummary.vue +75 -75
  338. package/src/components/sale/report/aode/MonthByChargeType.vue +446 -446
  339. package/src/components/sale/report/aode/MonthByUserType.vue +413 -413
  340. package/src/components/sale/report/aode/YearByChargeTpye.vue +215 -215
  341. package/src/components/sale/report/aode/YearByUserType.vue +272 -272
  342. package/src/components/sale/report/aode/life/LifeDayReport.vue +50 -50
  343. package/src/components/sale/report/aode/life/LifeDayReportList.vue +241 -241
  344. package/src/components/sale/report/aode/life/LifeDayReportSummary.vue +49 -49
  345. package/src/components/sale/report/aode/life/LifeMonthReport.vue +303 -303
  346. package/src/components/sale/report/aode/life/LifeYearReport.vue +175 -175
  347. package/src/components/sale/report/aode/widget/LifeDayReportListPrint.vue +189 -189
  348. package/src/components/sale/report/aode/widget/LifeMonthPrint.vue +153 -153
  349. package/src/components/sale/report/aode/widget/LifeYearPrint.vue +143 -143
  350. package/src/components/sale/report/aode/widget/MonthByChargePrint.vue +236 -236
  351. package/src/components/sale/report/aode/widget/MonthByUserPrint.vue +232 -232
  352. package/src/components/sale/report/aode/widget/YearByChargePrint.vue +203 -203
  353. package/src/components/sale/report/aode/widget/YearByUserPrint.vue +225 -225
  354. package/src/components/scada/CaculateGasConsumputionByDay/CaculateGasConsumputionByDay.vue +290 -290
  355. package/src/components/scada/ChartDisplay/ChartDisplayManage.vue +55 -55
  356. package/src/components/scada/ChartDisplay/ChartThreeDayContrast.vue +164 -164
  357. package/src/components/scada/CumulativeFlow/CumulativeFlowHeatPlant.vue +400 -400
  358. package/src/components/scada/CumulativeFlow/CumulativeFlowManage.vue +59 -59
  359. package/src/components/scada/CumulativeFlow/CumulativeFlowRegulatorStation.vue +504 -504
  360. package/src/components/scada/CumulativeFlow/CumulativeFlowStation.vue +248 -248
  361. package/src/components/scada/GasSupplyRunning/GasSupplyRunningByDay.vue +297 -297
  362. package/src/components/scada/InstantaneousFlow/InstantaneousFlowHeatPlant.vue +389 -389
  363. package/src/components/scada/InstantaneousFlow/InstantaneousFlowManage.vue +57 -57
  364. package/src/components/scada/InstantaneousFlow/InstantaneousFlowRegulatorStation.vue +503 -503
  365. package/src/components/scada/InstantaneousFlow/InstantaneousFlowStation.vue +244 -244
  366. package/src/components/scada/OnTimePressure/OnTimePressureHeatPlant.vue +356 -356
  367. package/src/components/scada/OnTimePressure/OnTimePressureManage.vue +51 -51
  368. package/src/components/scada/OnTimePressure/OnTimePressureRegulatorStation.vue +526 -526
  369. package/src/components/scada/ThreeDayContrast/ThreeDayContrastManage.vue +282 -282
  370. package/src/components/statistical/StatisticalAnalysis.vue +0 -2
  371. package/src/components/webmeter/DrillData/LargeScreenAnalysisEcharts.vue +710 -710
  372. package/src/components/webmeter/DrillData/LostContactAnalysis.vue +531 -531
  373. package/src/components/webmeter/DrillData/LostContactAnalysisManage.vue +30 -30
  374. package/src/components/webmeter/DrillData/LostContactEform.vue +190 -190
  375. package/src/components/webmeter/dataCollection/DataCollection.vue +676 -676
  376. package/src/components/webmeter/gasAnalysis/GasAnalysisEcharts.vue +144 -144
  377. package/src/components/webmeter/gasAnalysis/GasAnalysisSummary.vue +162 -162
  378. package/src/components/webmeter/handplan/NewWebMeterHandPlan.vue +745 -745
  379. package/src/components/webmeter/handplan/NewWebmeterHandPlanMain.vue +59 -59
  380. package/src/components/webmeter/indicatorStatisticsEchars.vue +204 -204
  381. package/src/components/webmeter/indicatorStatisticsMain.vue +257 -257
  382. package/src/components/webmeter/instruction/NewQueryInstruct.vue +396 -399
  383. package/src/components/webmeter/meterinfo/NewMeterList.vue +414 -414
  384. package/src/components/webmeter/meterinfo/NewMeterListMain.vue +53 -53
  385. package/src/components/webmeter/newwebmeter/NewException/NewContactEcharts.vue +170 -0
  386. package/src/components/webmeter/newwebmeter/NewException/NewEchartsAll.vue +111 -0
  387. package/src/components/webmeter/newwebmeter/NewException/NewExceptionEform.vue +149 -149
  388. package/src/components/webmeter/newwebmeter/NewException/NewExceptionEformTotal.vue +211 -211
  389. package/src/components/webmeter/newwebmeter/NewException/NewGasEcharts.vue +209 -0
  390. package/src/components/webmeter/newwebmeter/NewException/NewHandplanEcharts.vue +238 -0
  391. package/src/components/webmeter/newwebmeter/NewException/NewInstructEcharts.vue +266 -0
  392. package/src/components/webmeter/newwebmeter/NewException/NewMeterException.vue +449 -449
  393. package/src/components/webmeter/newwebmeter/UserInstructEchartsList.vue +286 -286
  394. package/src/components/yulin/GuanWang.vue +24 -24
  395. package/src/components/yulin/SingleBarLine.vue +352 -352
  396. package/src/components/yulin/Weather.vue +157 -157
  397. package/src/expandcss.less +26 -26
  398. package/src/filiale/WEINAN/InspectListUser.vue +492 -492
  399. package/src/filiale/WEINAN/OtherChargeQuery.vue +521 -521
  400. package/src/filiale/aode/ArchivesManage.vue +38 -38
  401. package/src/filiale/aode/BusinessManage.vue +94 -94
  402. package/src/filiale/aode/DefaultPrint.js +6 -6
  403. package/src/filiale/aode/HandplanQuery.vue +632 -632
  404. package/src/filiale/aode/Tabs.vue +67 -67
  405. package/src/filiale/aode/UserQuery.vue +599 -599
  406. package/src/filiale/aode/sale.js +17 -17
  407. package/src/filiale/ceshi/ArrearsQuery.vue +642 -642
  408. package/src/filiale/ceshi/ChManageBusSummary.vue +293 -293
  409. package/src/filiale/ceshi/CollectManage.vue +94 -94
  410. package/src/filiale/ceshi/MeterRateQuery.vue +633 -633
  411. package/src/filiale/ceshi/TabButton.vue +149 -149
  412. package/src/filiale/ceshi/Tabs.vue +69 -69
  413. package/src/filiale/ceshi/reportManage.js +5 -5
  414. package/src/filiale/ceshi/sale.js +11 -11
  415. package/src/filiale/gaomi/config/DefaultPrint.js +6 -6
  416. package/src/filiale/gaomi/config/tableConfig.js +47 -47
  417. package/src/filiale/gongyi/sale/businessquery/exportConfig.js +17 -17
  418. package/src/filiale/gongyi/sale/filesquery/MeterQuery.vue +718 -718
  419. package/src/filiale/liaoyuan/sale.js +11 -11
  420. package/src/filiale/macheng/config/DefaultPrint.js +12 -12
  421. package/src/filiale/qingtongxia/config/DefaultPrint.js +6 -6
  422. package/src/filiale/qingtongxia/sale.js +13 -13
  423. package/src/filiale/rongcheng/exportConfig.js +7 -1
  424. package/src/filiale/shaoguan/OtherChargeDetailQuery.vue +74 -74
  425. package/src/filiale/shaoguan/config/DefaultPrint.js +6 -6
  426. package/src/filiale/shaoguan/config/exportConfig.js +4 -1
  427. package/src/filiale/shennongjia/config/DefaultPrint.js +6 -6
  428. package/src/filiale/shennongjia/config/tableConfig.js +47 -47
  429. package/src/filiale/shennongjia/sale.js +10 -10
  430. package/src/filiale/tongchuan/ResSelectGroupNew.vue +176 -0
  431. package/src/filiale/tongchuan/ResSelectNew.vue +144 -0
  432. package/src/filiale/tongchuan/sale.js +2 -1
  433. package/src/main.js +66 -66
  434. package/src/plugins/GetLoginInfoService.js +505 -505
  435. package/src/plugins/LodopFuncs.js +124 -124
  436. package/src/plugins/getAllInputtor.js +29 -29
  437. package/src/reportManage.js +8 -0
  438. package/src/safeCheck.js +63 -63
  439. package/src/saleManage.js +26 -0
  440. package/src/stores/AppData.js +62 -62
  441. package/src/stores/DataSql.js +585 -585
  442. package/src/stores/DrillECharts.js +602 -602
  443. package/src/stores/DrillSql.js +888 -888
  444. package/src/stores/GetParames.js +15 -15
  445. package/src/stores/MagGetSaleParams.js +156 -156
  446. package/src/stores/MagLoadParams.js +63 -63
  447. package/src/stores/Util.js +132 -132
  448. package/src/stores/shanxi1.js +26 -26
  449. package/src/stores/yulin.js +27 -27
  450. package/src/webmeterManage.js +105 -105
  451. package/static/china.json +1 -1
  452. package/static/qh.json +2410 -2410
  453. package/static/res.json +58411 -58411
  454. package/static/shanxi1.json +1 -1
  455. package/static/yulin.json +1 -1
  456. package/static//345/261/261/344/270/234/347/234/201.json +1 -1
  457. package/test/unit/.eslintrc +5 -5
  458. package/test/unit/TestUtil.js +35 -35
  459. package/test/unit/context.html +20 -20
  460. package/test/unit/index.js +13 -13
  461. package/test/unit/init.js +11 -11
  462. package/test/unit/karma.conf.js +45 -45
  463. package/test/unit/specs/components/CallReport/Repair.spec.js +25 -25
  464. package/test/unit/specs/components/ManageBusiness/EquipmentQuery.spec.js +21 -21
  465. package/test/unit/specs/components/ManageBusiness/TableWithQuery.spec.js +21 -21
  466. package/test/unit/specs/components/ManageBusiness/UserQuery.spec.js +21 -21
  467. package/webstorm.config.js +13 -13
@@ -1,505 +1,505 @@
1
- import Vue from 'vue'
2
- import JSEncrypt from 'jsencrypt'
3
- import {HttpResetClass} from 'vue-client'
4
-
5
- let loginGen = async function (name, password) {
6
- let data = {name: name, password: password}
7
- // rsa加密
8
- let encrypt = new JSEncrypt();
9
- encrypt.setPublicKey('MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqPvovSfXcwBbW8cKMCgwqNpsYuzF8RPAPFb7LGsnVo44JhM/xxzDyzoYtdfNmtbIuKVi9PzIsyp6rg+09gbuI6UGwBZ5DWBDBMqv5MPdOF5dCQkB2Bbr5yPfURPENypUz+pBFBg41d+BC+rwRiXELwKy7Y9caD/MtJyHydj8OUwIDAQAB');
10
- console.log(data)
11
-
12
- let getLogin = await Vue.resetpost('/rs/logic/getLogin', data, {resolveMsg: null, rejectMsg: null}, 'RSA')
13
- if (getLogin.data.states === '登录成功') {
14
- // 调用远程登录服务,获取所有有权访问的功能
15
- data = {username: name, password: password}
16
- data = encrypt.encrypt(JSON.stringify(data))
17
- let resource = await Vue.resetpost(`/rs/user/userLogin/客服系统`, data, {
18
- resolveMsg: null,
19
- rejectMsg: null
20
- })
21
- console.log('登陆获取Util', JSON.stringify(resource.data))
22
- Vue.$login.f = resource.data
23
- //获取jwt
24
- Vue.$login.jwt = getLogin.data.jwt
25
- // 把登录用户添加到cookie里
26
- Vue.cookie.set('loginId', Vue.$login.f.id)
27
-
28
- try {
29
- //获取有权限的功能树
30
- let hasRight = await Vue.resetpost(`/rs/search`, {
31
- source: "tool.getFullTree(this.getRights().where(row.getType() == $function$))",
32
- userid: Vue.$login.f.id
33
- },
34
- {
35
- resolveMsg: null,
36
- rejectMsg: null
37
- })
38
- console.log('有权限功能返回数据', JSON.stringify(hasRight.data))
39
- //准备替换功能树
40
- var fun=[]
41
- hasRight.data[0].children[0].children.forEach((item) => {
42
- if(item.name=='客服系统'){
43
- item.children.forEach((item1) => {
44
- fun.push(item1)
45
- })
46
- }
47
- })
48
- // console.log('替换前', JSON.stringify(Vue.$login.f.functions))
49
- // console.log('替换后', JSON.stringify(fun))
50
- Vue.$login.f.functions=fun
51
- }catch (error) {
52
- }
53
- if (Vue.$login.f.id !== '11') {
54
- try {
55
- let getAllArea = await Vue.resetpost('/rs/search', {
56
- source: 'this.getParentByType($organization$).getChildByName($区$).getChildren()',
57
- userid: Vue.$login.f.id
58
- }, {resolveMsg: null, rejectMsg: null})
59
-
60
- let areaTemp = []
61
- for (let i = 0; i < getAllArea.data.length; i++) {
62
- let getSliceArea = await Vue.resetpost('/rs/search',
63
- {source: 'this.getChildren()', userid: getAllArea.data[i].id},
64
- {resolveMsg: null, rejectMsg: null})
65
- let sliceTemp = []
66
- for (let j = 0; j < getSliceArea.data.length; j++) {
67
- sliceTemp.push({label: getSliceArea.data[j].name, value: getSliceArea.data[j].name})
68
- }
69
- areaTemp.push({label: getAllArea.data[i].name, value: sliceTemp})
70
- }
71
- Vue.$login.f.f_allArea = areaTemp
72
- }catch (error) {
73
- Vue.$login.f.f_allArea =[]
74
- console.log('获取区县',error)
75
- }
76
- // 获取抄表员
77
- try {
78
- let getGasman = await Vue.resetpost('/rs/search', {
79
- source: 'this.getParentByType($organization$).getChildByName($抄表员$).getUsers()',
80
- userid: Vue.$login.f.id
81
- }, {resolveMsg: null, rejectMsg: null})
82
- let gasman = []
83
- for (let i = 0; i < getGasman.data.length; i++) {
84
- gasman.push(getGasman.data[i])
85
- }
86
- Vue.$login.f.f_gasman = gasman
87
- }catch (error) {
88
- Vue.$login.f.f_gasman = []
89
- console.log('抄表员模块',error)
90
- }
91
- // 获取安装人
92
- try {
93
- let getInstallman = await Vue.resetpost('/rs/search', {
94
- source: 'this.getParentByType($organization$).getChildByName($安装员$).getUsers()',
95
- userid: Vue.$login.f.id
96
- }, {resolveMsg: null, rejectMsg: null})
97
- console.log('获取安装员', getInstallman)
98
- let installman = []
99
- for (let i = 0; i < getInstallman.data.length; i++) {
100
- installman.push(getInstallman.data[i])
101
- }
102
- Vue.$login.f.f_installman = installman
103
- }catch (error) {
104
- Vue.$login.f.f_installman =[]
105
- console.log('安装人模块',error)
106
- }
107
- // 获取换表员
108
- try {
109
- let getChangeMeterman = await Vue.resetpost('/rs/search', {
110
- source: 'this.getParentByType($organization$).getChildByName($换表员$).getUsers()',
111
- userid: Vue.$login.f.id
112
- }, {resolveMsg: null, rejectMsg: null})
113
- let changemeterman = []
114
- for (let i = 0; i < getChangeMeterman.data.length; i++) {
115
- changemeterman.push(getChangeMeterman.data[i])
116
- }
117
- Vue.$login.f.f_changemeterman = changemeterman
118
- }catch (error) {
119
- Vue.$login.f.f_changemeterman = []
120
- console.log('换表员模块',error)
121
- }
122
- // 票据使用人
123
- try {
124
- let getPaperUseman = await Vue.resetpost('/rs/search', {
125
- source: 'this.getParentByType($organization$).getChildByName($票据使用人$).getUsers()',
126
- userid: Vue.$login.f.id
127
- }, {resolveMsg: null, rejectMsg: null})
128
- let perperuseman = []
129
- for (let i = 0; i < getPaperUseman.data.length; i++) {
130
- perperuseman.push(getPaperUseman.data[i])
131
- }
132
- Vue.$login.f.f_paperUseman = perperuseman
133
- }catch (error) {
134
- Vue.$login.f.f_paperUseman = []
135
- console.log('票据使用人模块',error)
136
-
137
- }
138
- // 票据分配人
139
- try {
140
- let getPaperAllotman = await Vue.resetpost('/rs/search', {
141
- source: 'this.getParentByType($organization$).getChildByName($票据分配人$).getUsers()',
142
- userid: Vue.$login.f.id
143
- }, {resolveMsg: null, rejectMsg: null})
144
- let paperallotman = []
145
- for (let i = 0; i < getPaperAllotman.data.length; i++) {
146
- paperallotman.push(getPaperAllotman.data[i])
147
- }
148
- Vue.$login.f.f_paperAllotman = paperallotman
149
- }catch (error) {
150
- Vue.$login.f.f_paperAllotman = []
151
- console.log('票据分配人模块',error)
152
- }
153
- // TODO 处理界面细节
154
- try {
155
- let viewDetails = await Vue.resetpost('rs/search', {
156
- source: 'this.getRights().where(row.getType()==$function$ && row.getPath($name$).indexOf($功能权限$) != -1)',
157
- userid: Vue.$login.f.id
158
- }, {resolveMsg: null, rejectMsg: null})
159
- let r = viewDetails.data
160
- Vue.$login.r = []
161
- r.forEach(x => Vue.$login.r.push(x.name))
162
- }catch (error) {
163
- Vue.$login.r = []
164
- console.log('加载模块失败',error)
165
- }
166
- // 调用登录后处理
167
- for(let proc of Vue.$login.afterLogin) {
168
- await proc(Vue.$login.f)
169
- }
170
- // 定时发送心跳
171
- setInterval(()=> {
172
- let http = new HttpResetClass()
173
- http.load('POST', `rs/user/access/${Vue.$login.f.id}`, {}, {resolveMsg: null, rejectMsg: null}).then((req) => {
174
- if(req.data.status==710){
175
- Vue.showMessage(req.data.msg+",您将被强制退出系统", ['confirm']).then((res) => {
176
- if (res === 'confirm') {
177
- location.reload()
178
- }
179
- })
180
- }
181
- })
182
- }, 2 * 60 * 1000)
183
- }
184
-
185
- } else {
186
- let error = {status: 401, data: getLogin.data.states}
187
- // 抛出错误
188
- throw error
189
- }
190
- }
191
-
192
- let GetLoginInfoService = {
193
- // 登录后要处理的异步对象
194
- afterLogin: [],
195
- //验证码开关
196
- Verification: true,
197
- install (Vue, options) {
198
- // 给vue增添对话框显示方法
199
- Vue.$login = Vue.prototype.$login = GetLoginInfoService
200
- },
201
-
202
- f: {
203
-
204
- },
205
-
206
- /**
207
- * 登录
208
- * @param name
209
- * @param password
210
- */
211
- login (name, password) {
212
- return loginGen(name, password)
213
- },
214
-
215
- convertToIn (val) {
216
- let temp = ''
217
- if (val instanceof Array) {
218
- if (val.length >= 1) {
219
- temp = '('
220
- val.forEach((res) => {
221
- temp += `'${res}',`
222
- })
223
- temp = temp.substr(0, temp.length - 1) + ')'
224
- }
225
- }
226
- return temp
227
- },
228
-
229
- toStandardYearMonth () {
230
- let dt = new Date()
231
- let month = dt.getMonth() + 1
232
- return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month)
233
- },
234
-
235
- toStandardYearMonth1 () {
236
- let dt = new Date()
237
- let month = dt.getMonth() + 1
238
- return dt.getFullYear() + (month < 10 ? '0' + month : month)
239
- },
240
-
241
- toStandardDateString () {
242
- let dt = new Date()
243
- let month = dt.getMonth() + 1
244
- let date = dt.getDate()
245
- return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
246
- },
247
-
248
- toStartAndEndDateString () {
249
- let dt = new Date()
250
- let month = dt.getMonth() + 1
251
- // let date = dt.getDate()
252
- return [dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-01',
253
- dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (new Date(dt.getFullYear(), month, 0).getDate())]
254
- // return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
255
- },
256
-
257
- toStandardTimeString () {
258
- let dt = new Date()
259
- let month = dt.getMonth() + 1
260
- let date = dt.getDate()
261
- let hour = dt.getHours()
262
- let min = dt.getMinutes()
263
- let sec = dt.getSeconds()
264
- return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date) +
265
- ' ' + (hour < 10 ? '0' + hour : hour) + ':' + (min < 10 ? '0' + min : min) + ':' + (sec < 10 ? '0' + sec : sec)
266
- },
267
-
268
- guid () {
269
- let buf = new Uint16Array(8)
270
- window.crypto.getRandomValues(buf)
271
- let S4 = function (num) {
272
- let ret = num.toString(16)
273
- while (ret.length < 4) {
274
- ret = '0' + ret
275
- }
276
- return ret
277
- }
278
- return (S4(buf[0]) + S4(buf[1]) + S4(buf[2]) + S4(buf[3]) + S4(buf[4]) + S4(buf[5]) + S4(buf[6]) + S4(buf[7]))
279
- },
280
-
281
- choices (role, param, hasBlank = false, blankHint = '请选择') {
282
- if (role == 'view') {
283
- Vue.getParams(param, [null])
284
- } else {
285
- let result = []
286
- if (hasBlank)
287
- result.push({label: blankHint, value: null})
288
- if (!Vue.param || !Vue.param[param])
289
- result.push({label: '请在系统设置里更新参数', value: '请在系统设置里更新参数'})
290
- else {
291
- let p = Vue.param[param]
292
- p.forEach(function (item) {
293
- result.push({label: item.name, value: item.name})
294
- })
295
- }
296
- return result
297
- }
298
- },
299
-
300
- required (param) {
301
- if (typeof param === 'number' && param == 0)
302
- return false
303
- if (!param)
304
- return true
305
- param = param + ''
306
- param = param.trim()
307
- if (!param)
308
- return true
309
- return false
310
- },
311
-
312
- isInt (n) {
313
- return !window.isNaN(n) && n % 1 === 0
314
- },
315
-
316
- isFloat (n) {
317
- return !window.isNaN(n)
318
- },
319
-
320
- // this will convert all true/false to boolean
321
- booleanFilter (paper) {
322
- for (let key in paper) {
323
- if (!paper.hasOwnProperty(key))
324
- continue
325
- if (typeof paper[key] == 'object' && paper[key] != null) {
326
- booleanFilter(paper[key])
327
- } else {
328
- if (paper[key] === 'true' || paper[key] == 'false')
329
- paper[key] = (paper[key] === 'true')
330
- }
331
- }
332
- },
333
- // recursively traverse through each path
334
- ratifyPics (paper) {
335
- for (let key in paper) {
336
- if (key.endsWith('_path')) {
337
- if (!paper[key]) {
338
- paper[key] = 'rs/db/file/nopic.png'
339
- } else {
340
- paper[key] = 'rs/db/file/' + paper[key]
341
- }
342
- } else if (paper[key] !== null && typeof (paper[key]) == 'object') {
343
- ratifyPics(paper[key])
344
- }
345
- }
346
- },
347
-
348
- // load script and other stuff
349
- loadscript (type, fileName) {
350
- return new Promise((resolve, reject) => {
351
- let element
352
- if (type == 'css') {
353
- element = document.createElement('link')
354
- element.setAttribute('rel', 'stylesheet')
355
- element.setAttribute('type', 'text/css')
356
- element.setAttribute('href', fileName)
357
- } else if (type == 'js') {
358
- element = document.createElement('script')
359
- element.setAttribute('type', 'text/javascript')
360
- element.setAttribute('src', fileName)
361
- }
362
- if (element) {
363
- element.setAttribute('async', '')
364
- element.setAttribute('defer', '')
365
- element.addEventListener('load', function () {
366
- resolve(element)
367
- }, false)
368
- element.addEventListener('error', function () {
369
- reject(element)
370
- }, false)
371
- document.body.appendChild(element)
372
- }
373
- })
374
- },
375
- // 不能选择器中截取掉多余的字符
376
- orgName (name) {
377
- return name.substring(10)
378
- },
379
-
380
- getNowDate (name) {
381
- // 求取当前时间的工具
382
- let myweekday = ''
383
- let year = ''
384
- let mydate = new Date()
385
- myweekday = mydate.getDay()
386
- let mymonth = mydate.getMonth() + 1
387
- let myday = mydate.getDate()
388
- let myyear = mydate.getYear()
389
- year = (myyear > 200) ? myyear : 1900 + myyear
390
- let week = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期日', '星期六']
391
- // document.write("<font color=#ffffff>今天是 "+year+"年"+mymonth+"月"+myday+"日 "+weekday+"</font>");
392
- return year + '年' + mymonth + '月' + myday + '日 ' + week[myweekday]
393
- },
394
-
395
- addDate (date, days) {
396
- // 求取当前时间的工具
397
- let endDate = new Date(date)
398
- endDate = endDate.valueOf()
399
- endDate = endDate + days * 24 * 60 * 60 * 1000
400
- endDate = new Date(endDate)
401
- let month = endDate.getMonth() + 1
402
- let day = endDate.getDate()
403
- let hour = endDate.getHours()
404
- let min = endDate.getMinutes()
405
- let sec = endDate.getSeconds()
406
- return endDate.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day) +
407
- ' ' + (hour < 10 ? '0' + hour : hour) + ':' + (min < 10 ? '0' + min : min) + ':' + (sec < 10 ? '0' + sec : sec)
408
- // return a
409
- },
410
-
411
- // 通过地址栏的参数获取参数内容
412
- getUrlParames (param) {
413
- var query = window.location.search
414
- var iLen = param.length
415
- var iStart = query.indexOf(param)
416
- if (iStart === -1) {
417
- return ''
418
- }
419
- iStart += iLen + 1
420
- var iEnd = query.indexOf('&', iStart)
421
- if (iEnd === -1) {
422
- return query.substring(iStart)
423
- }
424
- return query.substring(iStart, iEnd)
425
- },
426
-
427
- // 从地址栏获取加密的参数
428
- getUrlCompileParames (param) {
429
- let code = unescape(window.location.search.slice(1, window.location.search.length))
430
- let query = String.fromCharCode(code.charCodeAt(0) - code.length)
431
- for (var i = 1; i < code.length; i++) {
432
- query += String.fromCharCode(code.charCodeAt(i) - query.charCodeAt(i - 1))
433
- }
434
- let iLen = param.length
435
- let iStart = query.indexOf(param)
436
- if (iStart === -1) {
437
- return ''
438
- }
439
- iStart += iLen + 1
440
- let iEnd = query.indexOf('&', iStart)
441
- if (iEnd === -1) {
442
- return query.substring(iStart)
443
- }
444
- return query.substring(iStart, iEnd)
445
- },
446
-
447
- // 对字符串进行加密
448
- compileStr (code) {
449
- let c = String.fromCharCode(code.charCodeAt(0) + code.length)
450
- for (let i = 1; i < code.length; i++) {
451
- c += String.fromCharCode(code.charCodeAt(i) + code.charCodeAt(i - 1))
452
- }
453
- return escape(c)
454
- },
455
- // 字符串进行解密
456
- uncompileStr (code) {
457
- code = unescape(code)
458
- let c = String.fromCharCode(code.charCodeAt(0) - code.length)
459
- for (var i = 1; i < code.length; i++) {
460
- c += String.fromCharCode(code.charCodeAt(i) - c.charCodeAt(i - 1))
461
- }
462
- return c
463
- },
464
-
465
- dateDescripte (date) {
466
- let nowTime = new Date().getTime()
467
- let oldTime = new Date(date).getTime()
468
- let timeDiff = nowTime - oldTime
469
- // 规则说明
470
- // 小于等于2分钟为刚刚
471
- // 大于2分钟小于等于1小时为取整的分钟前(例如:35分钟前)
472
- // 大于1小时小于等于24小时为取整的小时前(例如:15小时前)
473
- // 大于24小时小于等于30天为取整的天前(例如:12天前)
474
- // 大于30天小于等于12月为取整的月前,月份统一为30天一月,不做额外处理(例如:3个月前)
475
- // 大于365取整的年前,(例如:2年前)
476
- let minute = 1000 * 60
477
- let hour = minute * 60
478
- let day = hour * 24
479
- let month = day * 30
480
- let year = month * 12
481
- let des = ''
482
- if (timeDiff <= minute * 2) {
483
- des = '刚刚'
484
- } else if (minute * 2 < timeDiff && timeDiff < hour) {
485
- des = `${Math.floor(timeDiff / minute)}分钟前`
486
- } else if (hour < timeDiff && timeDiff <= day) {
487
- des = `${Math.floor(timeDiff / hour)}小时前`
488
- } else if (day < timeDiff && timeDiff <= month) {
489
- des = `${Math.floor(timeDiff / day)}天前`
490
- } else if (month < timeDiff && timeDiff <= year) {
491
- des = `${Math.floor(timeDiff / month)}个月前`
492
- } else if (year < timeDiff) {
493
- des = `${Math.floor(timeDiff / year)}年前`
494
- }
495
- return des
496
- },
497
-
498
- nextMonth20 (date) {
499
- let ds = date.split('-')
500
- let nextMonth = ds[1] - 0 + 1
501
- return ds[0] + '-' + (nextMonth < 10 ? '0' + nextMonth : nextMonth) + '-20 00:00:00'
502
- }
503
- }
504
-
505
- export default GetLoginInfoService
1
+ import Vue from 'vue'
2
+ import JSEncrypt from 'jsencrypt'
3
+ import {HttpResetClass} from 'vue-client'
4
+
5
+ let loginGen = async function (name, password) {
6
+ let data = {name: name, password: password}
7
+ // rsa加密
8
+ let encrypt = new JSEncrypt();
9
+ encrypt.setPublicKey('MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqPvovSfXcwBbW8cKMCgwqNpsYuzF8RPAPFb7LGsnVo44JhM/xxzDyzoYtdfNmtbIuKVi9PzIsyp6rg+09gbuI6UGwBZ5DWBDBMqv5MPdOF5dCQkB2Bbr5yPfURPENypUz+pBFBg41d+BC+rwRiXELwKy7Y9caD/MtJyHydj8OUwIDAQAB');
10
+ console.log(data)
11
+
12
+ let getLogin = await Vue.resetpost('/rs/logic/getLogin', data, {resolveMsg: null, rejectMsg: null}, 'RSA')
13
+ if (getLogin.data.states === '登录成功') {
14
+ // 调用远程登录服务,获取所有有权访问的功能
15
+ data = {username: name, password: password}
16
+ data = encrypt.encrypt(JSON.stringify(data))
17
+ let resource = await Vue.resetpost(`/rs/user/userLogin/客服系统`, data, {
18
+ resolveMsg: null,
19
+ rejectMsg: null
20
+ })
21
+ console.log('登陆获取Util', JSON.stringify(resource.data))
22
+ Vue.$login.f = resource.data
23
+ //获取jwt
24
+ Vue.$login.jwt = getLogin.data.jwt
25
+ // 把登录用户添加到cookie里
26
+ Vue.cookie.set('loginId', Vue.$login.f.id)
27
+
28
+ try {
29
+ //获取有权限的功能树
30
+ let hasRight = await Vue.resetpost(`/rs/search`, {
31
+ source: "tool.getFullTree(this.getRights().where(row.getType() == $function$))",
32
+ userid: Vue.$login.f.id
33
+ },
34
+ {
35
+ resolveMsg: null,
36
+ rejectMsg: null
37
+ })
38
+ console.log('有权限功能返回数据', JSON.stringify(hasRight.data))
39
+ //准备替换功能树
40
+ var fun=[]
41
+ hasRight.data[0].children[0].children.forEach((item) => {
42
+ if(item.name=='客服系统'){
43
+ item.children.forEach((item1) => {
44
+ fun.push(item1)
45
+ })
46
+ }
47
+ })
48
+ // console.log('替换前', JSON.stringify(Vue.$login.f.functions))
49
+ // console.log('替换后', JSON.stringify(fun))
50
+ Vue.$login.f.functions=fun
51
+ }catch (error) {
52
+ }
53
+ if (Vue.$login.f.id !== '11') {
54
+ try {
55
+ let getAllArea = await Vue.resetpost('/rs/search', {
56
+ source: 'this.getParentByType($organization$).getChildByName($区$).getChildren()',
57
+ userid: Vue.$login.f.id
58
+ }, {resolveMsg: null, rejectMsg: null})
59
+
60
+ let areaTemp = []
61
+ for (let i = 0; i < getAllArea.data.length; i++) {
62
+ let getSliceArea = await Vue.resetpost('/rs/search',
63
+ {source: 'this.getChildren()', userid: getAllArea.data[i].id},
64
+ {resolveMsg: null, rejectMsg: null})
65
+ let sliceTemp = []
66
+ for (let j = 0; j < getSliceArea.data.length; j++) {
67
+ sliceTemp.push({label: getSliceArea.data[j].name, value: getSliceArea.data[j].name})
68
+ }
69
+ areaTemp.push({label: getAllArea.data[i].name, value: sliceTemp})
70
+ }
71
+ Vue.$login.f.f_allArea = areaTemp
72
+ }catch (error) {
73
+ Vue.$login.f.f_allArea =[]
74
+ console.log('获取区县',error)
75
+ }
76
+ // 获取抄表员
77
+ try {
78
+ let getGasman = await Vue.resetpost('/rs/search', {
79
+ source: 'this.getParentByType($organization$).getChildByName($抄表员$).getUsers()',
80
+ userid: Vue.$login.f.id
81
+ }, {resolveMsg: null, rejectMsg: null})
82
+ let gasman = []
83
+ for (let i = 0; i < getGasman.data.length; i++) {
84
+ gasman.push(getGasman.data[i])
85
+ }
86
+ Vue.$login.f.f_gasman = gasman
87
+ }catch (error) {
88
+ Vue.$login.f.f_gasman = []
89
+ console.log('抄表员模块',error)
90
+ }
91
+ // 获取安装人
92
+ try {
93
+ let getInstallman = await Vue.resetpost('/rs/search', {
94
+ source: 'this.getParentByType($organization$).getChildByName($安装员$).getUsers()',
95
+ userid: Vue.$login.f.id
96
+ }, {resolveMsg: null, rejectMsg: null})
97
+ console.log('获取安装员', getInstallman)
98
+ let installman = []
99
+ for (let i = 0; i < getInstallman.data.length; i++) {
100
+ installman.push(getInstallman.data[i])
101
+ }
102
+ Vue.$login.f.f_installman = installman
103
+ }catch (error) {
104
+ Vue.$login.f.f_installman =[]
105
+ console.log('安装人模块',error)
106
+ }
107
+ // 获取换表员
108
+ try {
109
+ let getChangeMeterman = await Vue.resetpost('/rs/search', {
110
+ source: 'this.getParentByType($organization$).getChildByName($换表员$).getUsers()',
111
+ userid: Vue.$login.f.id
112
+ }, {resolveMsg: null, rejectMsg: null})
113
+ let changemeterman = []
114
+ for (let i = 0; i < getChangeMeterman.data.length; i++) {
115
+ changemeterman.push(getChangeMeterman.data[i])
116
+ }
117
+ Vue.$login.f.f_changemeterman = changemeterman
118
+ }catch (error) {
119
+ Vue.$login.f.f_changemeterman = []
120
+ console.log('换表员模块',error)
121
+ }
122
+ // 票据使用人
123
+ try {
124
+ let getPaperUseman = await Vue.resetpost('/rs/search', {
125
+ source: 'this.getParentByType($organization$).getChildByName($票据使用人$).getUsers()',
126
+ userid: Vue.$login.f.id
127
+ }, {resolveMsg: null, rejectMsg: null})
128
+ let perperuseman = []
129
+ for (let i = 0; i < getPaperUseman.data.length; i++) {
130
+ perperuseman.push(getPaperUseman.data[i])
131
+ }
132
+ Vue.$login.f.f_paperUseman = perperuseman
133
+ }catch (error) {
134
+ Vue.$login.f.f_paperUseman = []
135
+ console.log('票据使用人模块',error)
136
+
137
+ }
138
+ // 票据分配人
139
+ try {
140
+ let getPaperAllotman = await Vue.resetpost('/rs/search', {
141
+ source: 'this.getParentByType($organization$).getChildByName($票据分配人$).getUsers()',
142
+ userid: Vue.$login.f.id
143
+ }, {resolveMsg: null, rejectMsg: null})
144
+ let paperallotman = []
145
+ for (let i = 0; i < getPaperAllotman.data.length; i++) {
146
+ paperallotman.push(getPaperAllotman.data[i])
147
+ }
148
+ Vue.$login.f.f_paperAllotman = paperallotman
149
+ }catch (error) {
150
+ Vue.$login.f.f_paperAllotman = []
151
+ console.log('票据分配人模块',error)
152
+ }
153
+ // TODO 处理界面细节
154
+ try {
155
+ let viewDetails = await Vue.resetpost('rs/search', {
156
+ source: 'this.getRights().where(row.getType()==$function$ && row.getPath($name$).indexOf($功能权限$) != -1)',
157
+ userid: Vue.$login.f.id
158
+ }, {resolveMsg: null, rejectMsg: null})
159
+ let r = viewDetails.data
160
+ Vue.$login.r = []
161
+ r.forEach(x => Vue.$login.r.push(x.name))
162
+ }catch (error) {
163
+ Vue.$login.r = []
164
+ console.log('加载模块失败',error)
165
+ }
166
+ // 调用登录后处理
167
+ for(let proc of Vue.$login.afterLogin) {
168
+ await proc(Vue.$login.f)
169
+ }
170
+ // 定时发送心跳
171
+ setInterval(()=> {
172
+ let http = new HttpResetClass()
173
+ http.load('POST', `rs/user/access/${Vue.$login.f.id}`, {}, {resolveMsg: null, rejectMsg: null}).then((req) => {
174
+ if(req.data.status==710){
175
+ Vue.showMessage(req.data.msg+",您将被强制退出系统", ['confirm']).then((res) => {
176
+ if (res === 'confirm') {
177
+ location.reload()
178
+ }
179
+ })
180
+ }
181
+ })
182
+ }, 2 * 60 * 1000)
183
+ }
184
+
185
+ } else {
186
+ let error = {status: 401, data: getLogin.data.states}
187
+ // 抛出错误
188
+ throw error
189
+ }
190
+ }
191
+
192
+ let GetLoginInfoService = {
193
+ // 登录后要处理的异步对象
194
+ afterLogin: [],
195
+ //验证码开关
196
+ Verification: true,
197
+ install (Vue, options) {
198
+ // 给vue增添对话框显示方法
199
+ Vue.$login = Vue.prototype.$login = GetLoginInfoService
200
+ },
201
+
202
+ f: {
203
+
204
+ },
205
+
206
+ /**
207
+ * 登录
208
+ * @param name
209
+ * @param password
210
+ */
211
+ login (name, password) {
212
+ return loginGen(name, password)
213
+ },
214
+
215
+ convertToIn (val) {
216
+ let temp = ''
217
+ if (val instanceof Array) {
218
+ if (val.length >= 1) {
219
+ temp = '('
220
+ val.forEach((res) => {
221
+ temp += `'${res}',`
222
+ })
223
+ temp = temp.substr(0, temp.length - 1) + ')'
224
+ }
225
+ }
226
+ return temp
227
+ },
228
+
229
+ toStandardYearMonth () {
230
+ let dt = new Date()
231
+ let month = dt.getMonth() + 1
232
+ return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month)
233
+ },
234
+
235
+ toStandardYearMonth1 () {
236
+ let dt = new Date()
237
+ let month = dt.getMonth() + 1
238
+ return dt.getFullYear() + (month < 10 ? '0' + month : month)
239
+ },
240
+
241
+ toStandardDateString () {
242
+ let dt = new Date()
243
+ let month = dt.getMonth() + 1
244
+ let date = dt.getDate()
245
+ return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
246
+ },
247
+
248
+ toStartAndEndDateString () {
249
+ let dt = new Date()
250
+ let month = dt.getMonth() + 1
251
+ // let date = dt.getDate()
252
+ return [dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-01',
253
+ dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (new Date(dt.getFullYear(), month, 0).getDate())]
254
+ // return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date)
255
+ },
256
+
257
+ toStandardTimeString () {
258
+ let dt = new Date()
259
+ let month = dt.getMonth() + 1
260
+ let date = dt.getDate()
261
+ let hour = dt.getHours()
262
+ let min = dt.getMinutes()
263
+ let sec = dt.getSeconds()
264
+ return dt.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (date < 10 ? '0' + date : date) +
265
+ ' ' + (hour < 10 ? '0' + hour : hour) + ':' + (min < 10 ? '0' + min : min) + ':' + (sec < 10 ? '0' + sec : sec)
266
+ },
267
+
268
+ guid () {
269
+ let buf = new Uint16Array(8)
270
+ window.crypto.getRandomValues(buf)
271
+ let S4 = function (num) {
272
+ let ret = num.toString(16)
273
+ while (ret.length < 4) {
274
+ ret = '0' + ret
275
+ }
276
+ return ret
277
+ }
278
+ return (S4(buf[0]) + S4(buf[1]) + S4(buf[2]) + S4(buf[3]) + S4(buf[4]) + S4(buf[5]) + S4(buf[6]) + S4(buf[7]))
279
+ },
280
+
281
+ choices (role, param, hasBlank = false, blankHint = '请选择') {
282
+ if (role == 'view') {
283
+ Vue.getParams(param, [null])
284
+ } else {
285
+ let result = []
286
+ if (hasBlank)
287
+ result.push({label: blankHint, value: null})
288
+ if (!Vue.param || !Vue.param[param])
289
+ result.push({label: '请在系统设置里更新参数', value: '请在系统设置里更新参数'})
290
+ else {
291
+ let p = Vue.param[param]
292
+ p.forEach(function (item) {
293
+ result.push({label: item.name, value: item.name})
294
+ })
295
+ }
296
+ return result
297
+ }
298
+ },
299
+
300
+ required (param) {
301
+ if (typeof param === 'number' && param == 0)
302
+ return false
303
+ if (!param)
304
+ return true
305
+ param = param + ''
306
+ param = param.trim()
307
+ if (!param)
308
+ return true
309
+ return false
310
+ },
311
+
312
+ isInt (n) {
313
+ return !window.isNaN(n) && n % 1 === 0
314
+ },
315
+
316
+ isFloat (n) {
317
+ return !window.isNaN(n)
318
+ },
319
+
320
+ // this will convert all true/false to boolean
321
+ booleanFilter (paper) {
322
+ for (let key in paper) {
323
+ if (!paper.hasOwnProperty(key))
324
+ continue
325
+ if (typeof paper[key] == 'object' && paper[key] != null) {
326
+ booleanFilter(paper[key])
327
+ } else {
328
+ if (paper[key] === 'true' || paper[key] == 'false')
329
+ paper[key] = (paper[key] === 'true')
330
+ }
331
+ }
332
+ },
333
+ // recursively traverse through each path
334
+ ratifyPics (paper) {
335
+ for (let key in paper) {
336
+ if (key.endsWith('_path')) {
337
+ if (!paper[key]) {
338
+ paper[key] = 'rs/db/file/nopic.png'
339
+ } else {
340
+ paper[key] = 'rs/db/file/' + paper[key]
341
+ }
342
+ } else if (paper[key] !== null && typeof (paper[key]) == 'object') {
343
+ ratifyPics(paper[key])
344
+ }
345
+ }
346
+ },
347
+
348
+ // load script and other stuff
349
+ loadscript (type, fileName) {
350
+ return new Promise((resolve, reject) => {
351
+ let element
352
+ if (type == 'css') {
353
+ element = document.createElement('link')
354
+ element.setAttribute('rel', 'stylesheet')
355
+ element.setAttribute('type', 'text/css')
356
+ element.setAttribute('href', fileName)
357
+ } else if (type == 'js') {
358
+ element = document.createElement('script')
359
+ element.setAttribute('type', 'text/javascript')
360
+ element.setAttribute('src', fileName)
361
+ }
362
+ if (element) {
363
+ element.setAttribute('async', '')
364
+ element.setAttribute('defer', '')
365
+ element.addEventListener('load', function () {
366
+ resolve(element)
367
+ }, false)
368
+ element.addEventListener('error', function () {
369
+ reject(element)
370
+ }, false)
371
+ document.body.appendChild(element)
372
+ }
373
+ })
374
+ },
375
+ // 不能选择器中截取掉多余的字符
376
+ orgName (name) {
377
+ return name.substring(10)
378
+ },
379
+
380
+ getNowDate (name) {
381
+ // 求取当前时间的工具
382
+ let myweekday = ''
383
+ let year = ''
384
+ let mydate = new Date()
385
+ myweekday = mydate.getDay()
386
+ let mymonth = mydate.getMonth() + 1
387
+ let myday = mydate.getDate()
388
+ let myyear = mydate.getYear()
389
+ year = (myyear > 200) ? myyear : 1900 + myyear
390
+ let week = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期日', '星期六']
391
+ // document.write("<font color=#ffffff>今天是 "+year+"年"+mymonth+"月"+myday+"日 "+weekday+"</font>");
392
+ return year + '年' + mymonth + '月' + myday + '日 ' + week[myweekday]
393
+ },
394
+
395
+ addDate (date, days) {
396
+ // 求取当前时间的工具
397
+ let endDate = new Date(date)
398
+ endDate = endDate.valueOf()
399
+ endDate = endDate + days * 24 * 60 * 60 * 1000
400
+ endDate = new Date(endDate)
401
+ let month = endDate.getMonth() + 1
402
+ let day = endDate.getDate()
403
+ let hour = endDate.getHours()
404
+ let min = endDate.getMinutes()
405
+ let sec = endDate.getSeconds()
406
+ return endDate.getFullYear() + '-' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day) +
407
+ ' ' + (hour < 10 ? '0' + hour : hour) + ':' + (min < 10 ? '0' + min : min) + ':' + (sec < 10 ? '0' + sec : sec)
408
+ // return a
409
+ },
410
+
411
+ // 通过地址栏的参数获取参数内容
412
+ getUrlParames (param) {
413
+ var query = window.location.search
414
+ var iLen = param.length
415
+ var iStart = query.indexOf(param)
416
+ if (iStart === -1) {
417
+ return ''
418
+ }
419
+ iStart += iLen + 1
420
+ var iEnd = query.indexOf('&', iStart)
421
+ if (iEnd === -1) {
422
+ return query.substring(iStart)
423
+ }
424
+ return query.substring(iStart, iEnd)
425
+ },
426
+
427
+ // 从地址栏获取加密的参数
428
+ getUrlCompileParames (param) {
429
+ let code = unescape(window.location.search.slice(1, window.location.search.length))
430
+ let query = String.fromCharCode(code.charCodeAt(0) - code.length)
431
+ for (var i = 1; i < code.length; i++) {
432
+ query += String.fromCharCode(code.charCodeAt(i) - query.charCodeAt(i - 1))
433
+ }
434
+ let iLen = param.length
435
+ let iStart = query.indexOf(param)
436
+ if (iStart === -1) {
437
+ return ''
438
+ }
439
+ iStart += iLen + 1
440
+ let iEnd = query.indexOf('&', iStart)
441
+ if (iEnd === -1) {
442
+ return query.substring(iStart)
443
+ }
444
+ return query.substring(iStart, iEnd)
445
+ },
446
+
447
+ // 对字符串进行加密
448
+ compileStr (code) {
449
+ let c = String.fromCharCode(code.charCodeAt(0) + code.length)
450
+ for (let i = 1; i < code.length; i++) {
451
+ c += String.fromCharCode(code.charCodeAt(i) + code.charCodeAt(i - 1))
452
+ }
453
+ return escape(c)
454
+ },
455
+ // 字符串进行解密
456
+ uncompileStr (code) {
457
+ code = unescape(code)
458
+ let c = String.fromCharCode(code.charCodeAt(0) - code.length)
459
+ for (var i = 1; i < code.length; i++) {
460
+ c += String.fromCharCode(code.charCodeAt(i) - c.charCodeAt(i - 1))
461
+ }
462
+ return c
463
+ },
464
+
465
+ dateDescripte (date) {
466
+ let nowTime = new Date().getTime()
467
+ let oldTime = new Date(date).getTime()
468
+ let timeDiff = nowTime - oldTime
469
+ // 规则说明
470
+ // 小于等于2分钟为刚刚
471
+ // 大于2分钟小于等于1小时为取整的分钟前(例如:35分钟前)
472
+ // 大于1小时小于等于24小时为取整的小时前(例如:15小时前)
473
+ // 大于24小时小于等于30天为取整的天前(例如:12天前)
474
+ // 大于30天小于等于12月为取整的月前,月份统一为30天一月,不做额外处理(例如:3个月前)
475
+ // 大于365取整的年前,(例如:2年前)
476
+ let minute = 1000 * 60
477
+ let hour = minute * 60
478
+ let day = hour * 24
479
+ let month = day * 30
480
+ let year = month * 12
481
+ let des = ''
482
+ if (timeDiff <= minute * 2) {
483
+ des = '刚刚'
484
+ } else if (minute * 2 < timeDiff && timeDiff < hour) {
485
+ des = `${Math.floor(timeDiff / minute)}分钟前`
486
+ } else if (hour < timeDiff && timeDiff <= day) {
487
+ des = `${Math.floor(timeDiff / hour)}小时前`
488
+ } else if (day < timeDiff && timeDiff <= month) {
489
+ des = `${Math.floor(timeDiff / day)}天前`
490
+ } else if (month < timeDiff && timeDiff <= year) {
491
+ des = `${Math.floor(timeDiff / month)}个月前`
492
+ } else if (year < timeDiff) {
493
+ des = `${Math.floor(timeDiff / year)}年前`
494
+ }
495
+ return des
496
+ },
497
+
498
+ nextMonth20 (date) {
499
+ let ds = date.split('-')
500
+ let nextMonth = ds[1] - 0 + 1
501
+ return ds[0] + '-' + (nextMonth < 10 ? '0' + nextMonth : nextMonth) + '-20 00:00:00'
502
+ }
503
+ }
504
+
505
+ export default GetLoginInfoService