qgb-process 0.2.3 → 0.2.7

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 (502) hide show
  1. package/.env +2 -2
  2. package/.env.development +70 -70
  3. package/.env.pre +60 -60
  4. package/.env.production +48 -48
  5. package/.env.test +48 -48
  6. package/.eslintignore +4 -4
  7. package/.eslintrc.js +302 -302
  8. package/README.md +66 -66
  9. package/babel.config.js +5 -5
  10. package/commitlint.config.js +30 -30
  11. package/config/dev.env.js +7 -7
  12. package/config/index.js +82 -82
  13. package/config/prod.env.js +4 -4
  14. package/debug.log +4 -4
  15. package/index.js +6 -6
  16. package/jsconfig.json +9 -9
  17. package/lib/qgb-process.common.js +7666 -5069
  18. package/lib/qgb-process.umd.js +7666 -5069
  19. package/lib/qgb-process.umd.min.js +108 -108
  20. package/package.json +148 -148
  21. package/packages/index.js +26 -26
  22. package/public/index.html +47 -47
  23. package/public/js/qykf.js +21 -21
  24. package/src/App.vue +37 -37
  25. package/src/api/ApiExAndapp.js +24 -24
  26. package/src/api/EnterpriseAssociation.js +8 -8
  27. package/src/api/Notice.js +31 -31
  28. package/src/api/apiAcceptance/apiAcceptance.js +37 -37
  29. package/src/api/apiAddress.js +9 -9
  30. package/src/api/apiApprovalConfig.js +13 -13
  31. package/src/api/apiApprove.js +18 -18
  32. package/src/api/apiArrears/apiArrears.js +41 -41
  33. package/src/api/apiArrears/apiProjectArrears.js +16 -16
  34. package/src/api/apiArrears/index.js +15 -15
  35. package/src/api/apiAssets.js +19 -19
  36. package/src/api/apiAssociate.js +42 -42
  37. package/src/api/apiAudit/apiAudit.js +32 -32
  38. package/src/api/apiAuth.js +25 -25
  39. package/src/api/apiAuthentication.js +35 -35
  40. package/src/api/apiBankAccount/index.js +12 -12
  41. package/src/api/apiBudget/apiBudget.js +30 -30
  42. package/src/api/apiBudget/apiBudgets.js +105 -105
  43. package/src/api/apiCarRecord.js +48 -48
  44. package/src/api/apiCart.js +202 -202
  45. package/src/api/apiChangeTel.js +13 -13
  46. package/src/api/apiCheckingIn.js +95 -95
  47. package/src/api/apiCollection/index.js +13 -13
  48. package/src/api/apiContract/apiContract.js +21 -21
  49. package/src/api/apiContract/index.js +3 -3
  50. package/src/api/apiContract/quill-config.js +122 -122
  51. package/src/api/apiContractManage/apiContractManage.js +57 -57
  52. package/src/api/apiContractManage/index.js +2 -2
  53. package/src/api/apiContractManage/quill-config.js +121 -121
  54. package/src/api/apiCoping.js +22 -22
  55. package/src/api/apiCost/index.js +31 -31
  56. package/src/api/apiCreditManagement.js +16 -16
  57. package/src/api/apiCustomer/apiCustomer.js +12 -12
  58. package/src/api/apiDivisional.js +9 -9
  59. package/src/api/apiDivisionalManagementList.js +17 -17
  60. package/src/api/apiEmployeeRegularization.js +73 -73
  61. package/src/api/apiEquipmentRental.js +50 -50
  62. package/src/api/apiFormBuilder/menu.js +65 -65
  63. package/src/api/apiFormBuilder/reissueRule.js +15 -15
  64. package/src/api/apiFund/index.js +16 -16
  65. package/src/api/apiHelp.js +43 -43
  66. package/src/api/apiHome.js +24 -24
  67. package/src/api/apiIminfo.js +39 -39
  68. package/src/api/apiInventory.js +52 -52
  69. package/src/api/apiInventorySetting.js +9 -9
  70. package/src/api/apiInvoice.js +29 -29
  71. package/src/api/apiJobManage.js +15 -15
  72. package/src/api/apiLease/apiLease.js +12 -12
  73. package/src/api/apiLogisticsTransportation/apiLogisticsTransportation.js +34 -34
  74. package/src/api/apiLostPassword.js +9 -9
  75. package/src/api/apiMachine/api.js +3 -3
  76. package/src/api/apiMachine/apiCategory.js +18 -18
  77. package/src/api/apiMachine/apiHire.js +19 -19
  78. package/src/api/apiMachine/apiLease.js +27 -27
  79. package/src/api/apiMachine/apiLocation.js +4 -4
  80. package/src/api/apiMachine/apiRentInfo.js +107 -107
  81. package/src/api/apiMachine/apiRentPublish.js +14 -14
  82. package/src/api/apiMachine/apiStore.js +15 -15
  83. package/src/api/apiMachine/index.js +3 -3
  84. package/src/api/apiManagementStore/api.js +3 -3
  85. package/src/api/apiManagementStore/apiManagementStore.js +25 -25
  86. package/src/api/apiMaterCheckAndAccept/apiMaterCheckAndAccept.js +47 -47
  87. package/src/api/apiMaterCheckAndAccept/apiMechanicalSourcing.js +16 -16
  88. package/src/api/apiMaterCheckAndAccept/index.js +3 -3
  89. package/src/api/apiMaterials/aaaaaaaaaaaaaa.js +9 -9
  90. package/src/api/apiMaterials/api.js +3 -3
  91. package/src/api/apiMaterials/apiAddress.js +116 -116
  92. package/src/api/apiMaterials/apiBalanceData.js +188 -188
  93. package/src/api/apiMaterials/apiCommercialConcrete.js +36 -36
  94. package/src/api/apiMaterials/apiCommodity.js +70 -70
  95. package/src/api/apiMaterials/apiDownload.js +26 -26
  96. package/src/api/apiMaterials/apiHome.js +44 -44
  97. package/src/api/apiMaterials/apiItemBrand.js +9 -9
  98. package/src/api/apiMaterials/apiLogistics.js +72 -72
  99. package/src/api/apiMaterials/apiLogisticsReceipt.js +94 -94
  100. package/src/api/apiMaterials/apiMaterials.js +8 -8
  101. package/src/api/apiMaterials/apiMySalesOrder.js +21 -21
  102. package/src/api/apiMaterials/apiOfflineOrder.js +18 -18
  103. package/src/api/apiMaterials/apiOrder.js +183 -183
  104. package/src/api/apiMaterials/apiReceipt.js +45 -45
  105. package/src/api/apiMaterials/quill-config.js +122 -122
  106. package/src/api/apiMemberSelection.js +39 -39
  107. package/src/api/apiMessage.js +10 -10
  108. package/src/api/apiMock/mockOrder.js +98 -98
  109. package/src/api/apiMonthPlan/apiMonthPlan.js +47 -47
  110. package/src/api/apiMyBidding.js +8 -8
  111. package/src/api/apiMyMember/apiComInfo.js +17 -17
  112. package/src/api/apiMyMember/apiInviteJoin.js +24 -24
  113. package/src/api/apiMyMember/apiMember.js +24 -24
  114. package/src/api/apiMyMember/apiMemberApply.js +36 -36
  115. package/src/api/apiMyMember/apiMemberChance.js +40 -40
  116. package/src/api/apiOffer.js +40 -40
  117. package/src/api/apiOffice.js +19 -19
  118. package/src/api/apiPact.js +26 -26
  119. package/src/api/apiPassword.js +7 -7
  120. package/src/api/apiPay/apiPay.js +25 -25
  121. package/src/api/apiPaying.js +21 -21
  122. package/src/api/apiPayment/apiPayment.js +13 -13
  123. package/src/api/apiPayment/apiProjectPayment.js +13 -13
  124. package/src/api/apiPrint.js +23 -0
  125. package/src/api/apiProcess.js +65 -65
  126. package/src/api/apiProject/apiBaseList.js +29 -29
  127. package/src/api/apiProject/apiGoodsOffer.js +11 -11
  128. package/src/api/apiProject/apiInventory.js +116 -116
  129. package/src/api/apiProject/apiOfferOrder.js +12 -12
  130. package/src/api/apiProject/apiOfferQuery.js +18 -18
  131. package/src/api/apiProject/apiPlan.js +21 -21
  132. package/src/api/apiProject/apiProject.js +158 -158
  133. package/src/api/apiProjectProcurement/apiProjectProcurement.js +88 -88
  134. package/src/api/apiPurchase/apiPurchase.js +67 -67
  135. package/src/api/apiPurchaseApply.js +15 -15
  136. package/src/api/apiPurchasePay.js +16 -16
  137. package/src/api/apiRankManagement.js +24 -24
  138. package/src/api/apiRecruit.js +37 -37
  139. package/src/api/apiReimbursement/apiReimbursement.js +15 -15
  140. package/src/api/apiRisk/index.js +11 -11
  141. package/src/api/apiRoleManagement.js +15 -15
  142. package/src/api/apiRules/apiRules.js +11 -11
  143. package/src/api/apiSchedule/apiSchedule.js +17 -17
  144. package/src/api/apiSealRecord.js +52 -52
  145. package/src/api/apiSign.js +8 -8
  146. package/src/api/apiSolution/apiSolution.js +9 -9
  147. package/src/api/apiSubcontract.js +35 -35
  148. package/src/api/apiSystem/index.js +40 -40
  149. package/src/api/apiTask.js +76 -76
  150. package/src/api/apiTeam/api.js +3 -3
  151. package/src/api/apiTeam/apiUtils.js +11 -11
  152. package/src/api/apiTender.js +127 -127
  153. package/src/api/apiUser.js +24 -24
  154. package/src/api/apiUserEnterprise/api.js +3 -3
  155. package/src/api/apiUserEnterprise/apiUserEn.js +15 -15
  156. package/src/api/apiVolunteerTeam.js +11 -11
  157. package/src/api/apiWorkarea.js +33 -33
  158. package/src/api/apiXzqh.js +8 -8
  159. package/src/api/common/api.js +3 -3
  160. package/src/api/common/apiUtils.js +9 -9
  161. package/src/api/customer.js +21 -21
  162. package/src/api/evection.js +19 -19
  163. package/src/api/guide.js +9 -9
  164. package/src/api/sociaManageApi.js +30 -30
  165. package/src/assets/Area.json +1773 -1773
  166. package/src/assets/css/quill.bubble.css +952 -952
  167. package/src/assets/css/quill.core.css +397 -397
  168. package/src/assets/css/quill.snow.css +945 -945
  169. package/src/assets/data.js +284 -284
  170. package/src/assets/fonts/Read Me.txt +7 -7
  171. package/src/assets/fonts/demo-files/demo.css +155 -155
  172. package/src/assets/fonts/demo-files/demo.js +30 -30
  173. package/src/assets/fonts/demo.html +951 -951
  174. package/src/assets/fonts/fonts/icomoon.svg +130 -130
  175. package/src/assets/fonts/style.css +563 -563
  176. package/src/assets/icons/checkbox.svg +12 -12
  177. package/src/assets/icons/columns-3.svg +12 -12
  178. package/src/assets/icons/columns.svg +12 -12
  179. package/src/assets/icons/custom-table.svg +12 -12
  180. package/src/assets/icons/date.svg +19 -19
  181. package/src/assets/icons/daterange.svg +12 -12
  182. package/src/assets/icons/fuzhi.svg +11 -11
  183. package/src/assets/icons/fuzhi_03.svg +5 -5
  184. package/src/assets/icons/gaojizujian.svg +12 -12
  185. package/src/assets/icons/groupSummary.svg +12 -12
  186. package/src/assets/icons/groupTitle.svg +12 -12
  187. package/src/assets/icons/image-uploader.svg +12 -12
  188. package/src/assets/icons/input-number.svg +12 -12
  189. package/src/assets/icons/input.svg +12 -12
  190. package/src/assets/icons/quill-editor.svg +12 -12
  191. package/src/assets/icons/radio.svg +12 -12
  192. package/src/assets/icons/select.svg +12 -12
  193. package/src/assets/icons/switch.svg +12 -12
  194. package/src/assets/icons/textarea.svg +12 -12
  195. package/src/assets/icons/upload-file.svg +12 -12
  196. package/src/assets/marketplace.js +289 -289
  197. package/src/components/ComAduitNew.vue +477 -477
  198. package/src/components/CommonAduit.vue +512 -512
  199. package/src/components/CommonAduitNew.vue +906 -906
  200. package/src/components/CommonAduitNews.vue +753 -753
  201. package/src/components/CommonUEditer.vue +63 -63
  202. package/src/components/PersonCenter/Mess.vue +59 -59
  203. package/src/components/PersonCenter/Title.vue +80 -80
  204. package/src/components/SvgIcon.vue +57 -57
  205. package/src/components/XmCommonAduit.vue +761 -761
  206. package/src/components/feiyCommon.vue +713 -713
  207. package/src/components/form/card.js +5 -5
  208. package/src/components/form/chinese.js +6 -6
  209. package/src/components/form/chinessstring.js +5 -5
  210. package/src/components/form/hunhe.js +8 -8
  211. package/src/components/form/hunhecq.js +8 -8
  212. package/src/components/form/hunheh.js +8 -8
  213. package/src/components/form/num.js +12 -12
  214. package/src/components/form/numstring.js +5 -5
  215. package/src/components/form/user.js +7 -7
  216. package/src/components/form/validate.js +42 -42
  217. package/src/components/form/validcredit.js +5 -5
  218. package/src/components/fundCommonAduit.vue +661 -661
  219. package/src/components/public/BaseCustomTable.vue +71 -71
  220. package/src/components/public/BaseDialog.vue +144 -144
  221. package/src/components/public/BaseEmptyData.vue +73 -73
  222. package/src/components/public/BaseFormTitle.vue +39 -39
  223. package/src/components/public/BasePagination.vue +55 -55
  224. package/src/components/public/BaseRouter.vue +14 -14
  225. package/src/components/public/BaseUpload.vue +185 -185
  226. package/src/components/public/Bottom.vue +62 -62
  227. package/src/components/public/Footer.vue +412 -412
  228. package/src/components/public/Header.vue +30 -30
  229. package/src/components/public/LeftMenu.vue +170 -170
  230. package/src/components/public/MemberSelection coby.vue +444 -444
  231. package/src/components/public/MemberSelection.vue +487 -487
  232. package/src/components/public/NewLeftMenu.vue +418 -418
  233. package/src/components/public/PicturesPreview.vue +62 -62
  234. package/src/components/public/Popout.vue +147 -147
  235. package/src/components/public/TagLine.vue +353 -353
  236. package/src/components/public/components/BaseImageUploadDrag.vue +320 -320
  237. package/src/components/public/components/HeadBar.vue +315 -315
  238. package/src/components/public/components/MenuList.vue +110 -110
  239. package/src/components/public/components/NewHeadBar.vue +936 -936
  240. package/src/components/public/components/QuickGoods.vue +273 -273
  241. package/src/components/public/components/Search.vue +164 -164
  242. package/src/components/public/components/Userinfo.vue +383 -383
  243. package/src/components/utils/pdf.js +254 -254
  244. package/src/components/xmfyCommonAduit.vue +752 -752
  245. package/src/filters/index.js +619 -619
  246. package/src/fnc/arr.js +102 -102
  247. package/src/fnc/quill-config.js +121 -121
  248. package/src/fnc/unit.js +102 -102
  249. package/src/fnc/verify.js +187 -187
  250. package/src/fnc/verifyStatus.js +24 -24
  251. package/src/formBuilder/apiBusiness.js +67 -67
  252. package/src/formBuilder/business.js +1039 -1039
  253. package/src/formBuilder/component/components/data.js +719 -719
  254. package/src/formBuilder/component/components/purchaseIndex.vue +1109 -1109
  255. package/src/formBuilder/component/purchase.vue +35 -35
  256. package/src/formBuilder/components/app-main/components/components/GroupSummary.vue +33 -33
  257. package/src/formBuilder/components/app-main/components/components/GroupTitle.vue +33 -33
  258. package/src/formBuilder/components/app-main/components/components/bank.vue +226 -226
  259. package/src/formBuilder/components/app-main/components/components/bankFormHeard.vue +298 -298
  260. package/src/formBuilder/components/app-main/components/components/builder.vue +718 -718
  261. package/src/formBuilder/components/app-main/components/components/columns.vue +393 -393
  262. package/src/formBuilder/components/app-main/components/components/customTable.vue +1758 -1758
  263. package/src/formBuilder/components/app-main/components/components/formDep.vue +105 -105
  264. package/src/formBuilder/components/app-main/components/components/handleCode.vue +39 -39
  265. package/src/formBuilder/components/app-main/components/components/itemOption.vue +116 -116
  266. package/src/formBuilder/components/app-main/components/components/linkForm.vue +116 -116
  267. package/src/formBuilder/components/app-main/components/components/listDesign.vue +772 -772
  268. package/src/formBuilder/components/app-main/components/components/optionSolt.js +78 -78
  269. package/src/formBuilder/components/app-main/components/components/person.vue +104 -104
  270. package/src/formBuilder/components/app-main/components/components/postman.vue +40 -40
  271. package/src/formBuilder/components/app-main/components/components/previewDialog.vue +391 -391
  272. package/src/formBuilder/components/app-main/components/components/tableIndex.vue +51 -51
  273. package/src/formBuilder/components/app-main/components/components/tableList.vue +561 -561
  274. package/src/formBuilder/components/app-main/components/components/twoColumns.vue +52 -52
  275. package/src/formBuilder/components/app-main/components/main-center.vue +187 -187
  276. package/src/formBuilder/components/app-main/components/main-header.vue +351 -351
  277. package/src/formBuilder/components/app-main/components/main-left.vue +179 -179
  278. package/src/formBuilder/components/app-main/components/main-right/components/components/calculateDialog.vue +914 -914
  279. package/src/formBuilder/components/app-main/components/main-right/components/components/curTextArea.vue +338 -338
  280. package/src/formBuilder/components/app-main/components/main-right/components/components/form-item-rules.vue +190 -190
  281. package/src/formBuilder/components/app-main/components/main-right/components/components/linkageDialog.vue +25 -25
  282. package/src/formBuilder/components/app-main/components/main-right/components/components/searchMixin.js +26 -26
  283. package/src/formBuilder/components/app-main/components/main-right/components/form-config.vue +284 -284
  284. package/src/formBuilder/components/app-main/components/main-right/components/form-item-attrs.vue +407 -407
  285. package/src/formBuilder/components/app-main/components/main-right/components/form-item-config.vue +478 -478
  286. package/src/formBuilder/components/app-main/components/main-right/index.vue +203 -203
  287. package/src/formBuilder/components/app-main/index.vue +329 -329
  288. package/src/formBuilder/comps.js +283 -283
  289. package/src/formBuilder/config/button.js +63 -63
  290. package/src/formBuilder/config/cascader-panel.js +224 -224
  291. package/src/formBuilder/config/cascader.js +306 -306
  292. package/src/formBuilder/config/checkbox.js +67 -67
  293. package/src/formBuilder/config/color.js +42 -42
  294. package/src/formBuilder/config/columns.js +30 -30
  295. package/src/formBuilder/config/custom-table.js +49 -49
  296. package/src/formBuilder/config/date.js +107 -107
  297. package/src/formBuilder/config/daterange.js +47 -47
  298. package/src/formBuilder/config/datetime.js +78 -78
  299. package/src/formBuilder/config/datetimerange.js +111 -111
  300. package/src/formBuilder/config/formDep.js +37 -37
  301. package/src/formBuilder/config/groupSummary.js +23 -23
  302. package/src/formBuilder/config/groupTitle.js +23 -23
  303. package/src/formBuilder/config/handleCode.js +23 -23
  304. package/src/formBuilder/config/image-uploader.js +113 -113
  305. package/src/formBuilder/config/input.js +162 -162
  306. package/src/formBuilder/config/json-editor.js +31 -31
  307. package/src/formBuilder/config/linkForm.js +69 -69
  308. package/src/formBuilder/config/number.js +49 -49
  309. package/src/formBuilder/config/password.js +82 -82
  310. package/src/formBuilder/config/person.js +37 -37
  311. package/src/formBuilder/config/postman.js +23 -23
  312. package/src/formBuilder/config/purchase.js +19 -19
  313. package/src/formBuilder/config/quill-editor.js +66 -66
  314. package/src/formBuilder/config/radio-button.js +44 -44
  315. package/src/formBuilder/config/radio.js +69 -69
  316. package/src/formBuilder/config/rate.js +93 -93
  317. package/src/formBuilder/config/select.js +105 -105
  318. package/src/formBuilder/config/slider.js +92 -92
  319. package/src/formBuilder/config/switch.js +35 -35
  320. package/src/formBuilder/config/tag.js +79 -79
  321. package/src/formBuilder/config/text.js +18 -18
  322. package/src/formBuilder/config/textarea.js +129 -129
  323. package/src/formBuilder/config/time.js +60 -60
  324. package/src/formBuilder/config/timerange.js +94 -94
  325. package/src/formBuilder/config/tree-select.js +100 -100
  326. package/src/formBuilder/config/upload-file.js +100 -100
  327. package/src/formBuilder/config/yesno.js +39 -39
  328. package/src/formBuilder/config.js +16 -16
  329. package/src/formBuilder/extend/index.js +20 -20
  330. package/src/formBuilder/index.js +39 -39
  331. package/src/formBuilder/menuConfig.js +36 -36
  332. package/src/formBuilder/mixins/index.js +215 -215
  333. package/src/formBuilder/tool.js +101 -101
  334. package/src/function/base.js +13 -13
  335. package/src/function/findCompanyTree.js +94 -94
  336. package/src/function/formulaAnalysis.js +44 -44
  337. package/src/function/verify.js +23 -23
  338. package/src/http/index.js +219 -219
  339. package/src/http/type.js +82 -82
  340. package/src/library/AddType/Index.js +17 -17
  341. package/src/library/AddType/Index.vue +201 -201
  342. package/src/library/AreaChange/regionCascader/regionCascader.vue +155 -155
  343. package/src/library/BigImg/BigImage1/Index.js +17 -17
  344. package/src/library/BigImg/BigImage1/Index.vue +125 -125
  345. package/src/library/Button/Button1/Index.js +17 -17
  346. package/src/library/Button/Button1/Index.vue +60 -60
  347. package/src/library/Button/Button2/Index.js +17 -17
  348. package/src/library/Button/Button2/Index.vue +52 -52
  349. package/src/library/Button/Button3/Index.js +17 -17
  350. package/src/library/Button/Button3/Index.vue +56 -56
  351. package/src/library/Button/Button4/Index.js +17 -17
  352. package/src/library/Button/Button4/Index.vue +56 -56
  353. package/src/library/Button/Button5/Index.js +17 -17
  354. package/src/library/Button/Button5/Index.vue +55 -55
  355. package/src/library/Button/Button6/Index.js +17 -17
  356. package/src/library/Button/Button6/Index.vue +74 -74
  357. package/src/library/Button/Button7/Index.js +17 -17
  358. package/src/library/Button/Button7/Index.vue +56 -56
  359. package/src/library/ConfirmPlaugin/ConfirmPlaugin1/Index.js +17 -17
  360. package/src/library/ConfirmPlaugin/ConfirmPlaugin1/Index.vue +147 -147
  361. package/src/library/ConfirmPlaugin/ConfirmPlaugin2/Index.js +17 -17
  362. package/src/library/ConfirmPlaugin/ConfirmPlaugin2/Index.vue +137 -137
  363. package/src/library/ConfirmPlaugin/ConfirmPlaugin3/Index.vue +142 -142
  364. package/src/library/ConfirmPlaugin/ConfirmPlaugin4/Index.vue +141 -141
  365. package/src/library/ConfirmPlaugin/ConfirmPlaugin5/Index.vue +121 -121
  366. package/src/library/ConfirmPlaugin/ConfirmPlaugin6/Index.vue +142 -142
  367. package/src/library/Input/Input1/Index.js +17 -17
  368. package/src/library/Input/Input1/Index.vue +66 -66
  369. package/src/library/NoMessage/NoMessage0/Index.js +17 -17
  370. package/src/library/NoMessage/NoMessage0/Index.vue +60 -60
  371. package/src/library/NoMessage/NoMessage1/Index.js +17 -17
  372. package/src/library/NoMessage/NoMessage1/Index.vue +66 -66
  373. package/src/library/NoMessage/NoMessage2/Index.js +17 -17
  374. package/src/library/NoMessage/NoMessage2/Index.vue +66 -66
  375. package/src/library/Tab/Tab1/TabBox1/Index.vue +36 -36
  376. package/src/library/Tab/Tab1/TabInner1/Index.vue +70 -70
  377. package/src/library/Tab/Tab2/TabBox2/Index.vue +36 -36
  378. package/src/library/Tab/Tab2/TabInner2/Index.vue +66 -66
  379. package/src/library/Table/Table1/Td1/Index.js +17 -17
  380. package/src/library/Table/Table1/Td1/Index.vue +110 -110
  381. package/src/library/Table/Table1/Tr1/Index.js +17 -17
  382. package/src/library/Table/Table1/Tr1/Index.vue +53 -53
  383. package/src/library/Table/Table2/Td2/Index.js +17 -17
  384. package/src/library/Table/Table2/Td2/Index.vue +90 -90
  385. package/src/library/Table/Table2/Tr2/Index.js +17 -17
  386. package/src/library/Table/Table2/Tr2/Index.vue +66 -66
  387. package/src/library/Table/Table3/Td3/Index.js +17 -17
  388. package/src/library/Table/Table3/Td3/Index.vue +109 -109
  389. package/src/library/Table/Table3/Tr3/Index.js +17 -17
  390. package/src/library/Table/Table3/Tr3/Index.vue +128 -128
  391. package/src/library/Table/Table4/Td4/Index.js +17 -17
  392. package/src/library/Table/Table4/Td4/Index.vue +114 -114
  393. package/src/library/Table/Table4/Tr4/Index.js +17 -17
  394. package/src/library/Table/Table4/Tr4/Index.vue +53 -53
  395. package/src/library/Title/Title1/Index.js +17 -17
  396. package/src/library/Title/Title1/Index.vue +80 -80
  397. package/src/library/toast/Index.js +17 -17
  398. package/src/library/toast/Index.vue +86 -86
  399. package/src/main.js +161 -161
  400. package/src/mixins/Export2Excel.js +207 -207
  401. package/src/mixins/chartOption.js +110 -110
  402. package/src/mixins/companyMixins.js +84 -84
  403. package/src/mixins/quillOptions.js +15 -15
  404. package/src/mixins/validate/deviceManage.js +211 -211
  405. package/src/mixins/validate/systemConfig.js +117 -117
  406. package/src/mixins/validate/validate.js +25 -25
  407. package/src/public/apiUser/apiUser.js +10 -10
  408. package/src/public/areaFunction.js +26 -26
  409. package/src/public/link.js +91 -91
  410. package/src/public/stageData.js +495 -495
  411. package/src/public/topmenu.js +68 -68
  412. package/src/router/index.js +225 -225
  413. package/src/router/setting/BaseRoutes.js +1639 -1639
  414. package/src/router/setting/MenuDevMock.js +1570 -1570
  415. package/src/router/setting/modules/login.js +45 -45
  416. package/src/router/setting/noAuthRouter.js +109 -109
  417. package/src/router/setting/routes.js +55 -55
  418. package/src/static/css/flex.css +75 -75
  419. package/src/static/css/switch.scss +31 -31
  420. package/src/storage/cookies.js +37 -37
  421. package/src/storage/localStorage.js +36 -36
  422. package/src/storage/sessionStorage.js +25 -25
  423. package/src/store/formBuilder/formAttrDefault.js +28 -28
  424. package/src/store/formBuilder/index.js +40 -40
  425. package/src/store/index.js +553 -553
  426. package/src/styles/color.scss +24 -24
  427. package/src/styles/offer.scss +39 -39
  428. package/src/styles/s-reset.scss +52 -52
  429. package/src/styles/static-style.scss +797 -797
  430. package/src/styles/talent.scss +26 -26
  431. package/src/styles/variable.scss +69 -69
  432. package/src/styles/workflow/workflow.css +1308 -1308
  433. package/src/utils/TableFormTypeList.js +26 -26
  434. package/src/utils/allRouter.js +5579 -5579
  435. package/src/utils/auditUtil.js +535 -535
  436. package/src/utils/commonComponents.js +34 -34
  437. package/src/utils/commonFunc.js +213 -213
  438. package/src/utils/deepCopyArray.js +9 -9
  439. package/src/utils/dict.js +49 -49
  440. package/src/utils/directive.js +26 -26
  441. package/src/utils/emoji.js +16 -16
  442. package/src/utils/flator.js +18 -18
  443. package/src/utils/imMeeting.js +1180 -1180
  444. package/src/utils/index.js +105 -105
  445. package/src/utils/initRouter.js +94 -94
  446. package/src/utils/map.js +23 -23
  447. package/src/utils/passwordStrength.js +177 -177
  448. package/src/utils/style.js +30 -30
  449. package/src/utils/validate.js +30 -30
  450. package/src/views/404.vue +53 -53
  451. package/src/views/Login/Login.vue +50 -50
  452. package/src/views/Login/Passfind.vue +347 -347
  453. package/src/views/Login/Passfindnext.vue +146 -146
  454. package/src/views/Login/Sign.vue +55 -55
  455. package/src/views/Login/SignSuccessfully.vue +132 -132
  456. package/src/views/Login/appDownload.vue +224 -224
  457. package/src/views/Login/clientDownload.vue +201 -201
  458. package/src/views/Login/components/Background.vue +153 -153
  459. package/src/views/Login/components/FormLogin.vue +1001 -1001
  460. package/src/views/Login/components/FormPassFind.vue +395 -395
  461. package/src/views/Login/components/FormSign.vue +493 -493
  462. package/src/views/Login/components/Title.vue +301 -301
  463. package/src/views/Login/components/agreeMent.vue +111 -111
  464. package/src/views/Login/components/companysign.vue +1296 -1296
  465. package/src/views/Login/components/guideLogin.vue +984 -984
  466. package/src/views/formBuilder/components/addNode.vue +119 -119
  467. package/src/views/formBuilder/components/approverSelector.vue +493 -493
  468. package/src/views/formBuilder/components/baseRoute.vue +315 -315
  469. package/src/views/formBuilder/components/builderHeader.vue +106 -106
  470. package/src/views/formBuilder/components/conditionConfig.js +588 -588
  471. package/src/views/formBuilder/components/conditionNode.vue +191 -191
  472. package/src/views/formBuilder/components/dataDefault.js +147 -147
  473. package/src/views/formBuilder/components/depFormNode.vue +583 -583
  474. package/src/views/formBuilder/components/linkForm.vue +566 -566
  475. package/src/views/formBuilder/components/linkFormList.vue +821 -821
  476. package/src/views/formBuilder/components/menuConfig.vue +1752 -1752
  477. package/src/views/formBuilder/components/newNodeForm.vue +426 -426
  478. package/src/views/formBuilder/components/newsection.vue +424 -424
  479. package/src/views/formBuilder/components/nodeConditionConfig cody.vue +376 -376
  480. package/src/views/formBuilder/components/nodeConditionConfig.vue +603 -603
  481. package/src/views/formBuilder/components/nodeForm.vue +355 -355
  482. package/src/views/formBuilder/components/nodeMenu.vue +147 -147
  483. package/src/views/formBuilder/components/personNode.vue +566 -566
  484. package/src/views/formBuilder/components/planNode.vue +269 -269
  485. package/src/views/formBuilder/designListPage.vue +457 -457
  486. package/src/views/formBuilder/formDataDetail.vue +565 -565
  487. package/src/views/formBuilder/formGeneration.vue +904 -904
  488. package/src/views/formBuilder/index.vue +242 -242
  489. package/src/views/formBuilder/process-1.vue +976 -976
  490. package/src/views/formBuilder/process-2.vue +1323 -1323
  491. package/src/views/formBuilder/process.vue +662 -431
  492. package/src/views/formBuilder/processList.vue +877 -877
  493. package/src/views/formBuilder/service/ProcessBuilder.js +136 -136
  494. package/src/views/formBuilder/service/RsxzFieldCollection.js +199 -0
  495. package/src/views/formBuilder/workflow/addNode.vue +95 -95
  496. package/src/views/formBuilder/workflow/initData.js +205 -205
  497. package/src/views/formBuilder/workflow/nodeWrap.vue +731 -731
  498. package/src/views/guide.vue +227 -227
  499. package/src/views/guideIndex.vue +284 -284
  500. package/tests/unit/.eslintrc.js +5 -5
  501. package/tests/unit/example.spec.js +13 -13
  502. package/vue.config.js +287 -287
@@ -1,936 +1,936 @@
1
- <template>
2
- <div>
3
- <div class="top-bar">
4
- <div class="head-logo flex-center">
5
- <div class="logo-content flex-center" @click="toPush">
6
- <img class="logo" src="@/assets/public/logo.png" />
7
- <span class="name">企管帮</span>
8
- </div>
9
- <!-- <div
10
- class="collapse"
11
- :class=" !$store.state.isCollapse ? 'unfold-menu' : 'fold-menu'"
12
- @click="changeCollapse"
13
- ></div>-->
14
- </div>
15
- <!-- <div class="head-nav flex-center"></div> -->
16
- <div class="postios">
17
- <i class="el-icon-arrow-left left" v-show="showController" @click="scroll('left')"></i>
18
- </div>
19
- <div class="menu" ref="menu">
20
- <div class="menu-content" :style="styles" ref="btns">
21
- <span
22
- v-for="(item,index) in topmenuList"
23
- :key="index"
24
- type="text"
25
- class="nav-btn background"
26
- v-if="!item.hidden"
27
- :class="currentMenu == item.index?'btn-active':''"
28
- @click="navTo(item)"
29
- >
30
- <!-- @mouseover="mouseovers" -->
31
- <el-badge
32
- v-if="item.name === 'communication'"
33
- :value="noRead"
34
- class="communication"
35
- >{{item.title}}</el-badge>
36
- <span v-else>{{item.title}}</span>
37
- </span>
38
- <span type="text" class="nav-btn background nav-btn-hover">
39
- <el-dropdown :show-timeout="0">
40
- <span class="nav-span-hover">市场</span>
41
- <el-dropdown-menu class="nav-btn-dropdow" slot="dropdown">
42
- <div class="dialog-pop-up" v-for="(item,i) in marketplace" :key="i">
43
- <div v-for="(list,index) in item" :key="index">
44
- <p>{{list.name}}</p>
45
- <span
46
- class="nav-span-hover"
47
- v-for="(key,indexes) in list.ListeachItem"
48
- :key="indexes"
49
- @click="skipLink(key)"
50
- >{{key.name}}</span>
51
- </div>
52
- </div>
53
- </el-dropdown-menu>
54
- </el-dropdown>
55
- </span>
56
- <span type="text" class="nav-btn background nav-btn-hover">
57
- <span class="nav-span-hover">监督</span>
58
- </span>
59
- <span type="text" class="nav-btn background nav-btn-hover">
60
- <span class="nav-span-hover">咨询</span>
61
- </span>
62
- <span
63
- v-if="$store.state.user && $store.state.user.roleName == '管理员'"
64
- type="text"
65
- class="nav-btn background"
66
- @click="navTo({index:11})"
67
- >
68
- <span>表单设计</span>
69
- </span>
70
- </div>
71
- </div>
72
- <div class="postios">
73
- <i class="el-icon-arrow-right right" v-show="showController" @click="scroll('right')"></i>
74
- </div>
75
- <div class="head-user">
76
- <div class="user">
77
- <!-- <img src="@/assets/center/admin.png" /> -->
78
- <!--
79
- <el-avatar size="small">
80
- <img
81
- v-if="$store.state.user.userRole == 1 && $store.state.storeInformation && $store.state.storeInformation.logo"
82
- alt
83
- :src="$store.state.storeInformation.logo"
84
- />
85
- <img
86
- v-if="$store.state.user.userRole == 0 || $store.state.user.userRole == 1 && !$store.state.storeInformation"
87
- src="@/assets/center/admin.png"
88
- alt
89
- />
90
- <img
91
- v-if="$store.state.user.userRole == 0 || $store.state.user.userRole == 1 && $store.state.storeInformation && !$store.state.storeInformation.logo"
92
- src="@/assets/center/admin.png"
93
- alt
94
- />
95
- </el-avatar>-->
96
- <!-- <el-dropdown trigger="click" @command="logout">
97
- <span class="el-dropdown-link">
98
- 您好!
99
- <span class="name">{{this.$store.state.user.accountName}}</span>
100
- <i class="el-icon-arrow-down el-icon--right"></i>
101
- </span>
102
- <el-dropdown-menu slot="dropdown">
103
- <el-dropdown-item command="out">退出</el-dropdown-item>
104
- </el-dropdown-menu>
105
- </el-dropdown>-->
106
- <el-popover
107
- ref="popover"
108
- placement="bottom"
109
- trigger="click"
110
- popper-class="h-popover"
111
- :width="jWidth"
112
- v-if="$store.state.auth_user.comName"
113
- >
114
- <el-row class="infor">
115
- <el-col :span="24">
116
- <div class="company cursor" v-if="$store.state.auth_user.comName">
117
- <span style="padding-right: 10px;">{{$store.state.auth_user.comName}}</span>
118
- <el-popover placement="bottom" trigger="click">
119
- <div
120
- v-for="item in $store.state.auth_user.company"
121
- :key="item.no"
122
- @click="changeCompany(item.no)"
123
- class="jSet"
124
- style="padding: 5px 0;cursor: pointer;"
125
- >
126
- <i
127
- class="el-icon-office-building"
128
- v-if="item.default == 1"
129
- style="color: #409EFF;"
130
- ></i>
131
- <i class="el-icon-office-building" v-else></i>
132
- {{item.name}}
133
- </div>
134
- <el-button type="text" slot="reference">设置主企业</el-button>
135
- </el-popover>
136
- </div>
137
- </el-col>
138
- <el-col :span="24" class="infor-item">
139
- <span>所属部门:{{this.$store.state.auth_user.departmentName}}</span>
140
- </el-col>
141
- <el-col :span="24" class="infor-item">
142
- <span>所属角色:{{this.$store.state.auth_user.roleName}}</span>
143
- </el-col>
144
-
145
- <!-- <el-col :span="24" class="infor-item">
146
- <div style="display:flex">
147
- <div>会员类型:</div>
148
- <div class="marginRight20" v-if="$store.state.user.userRole == 0">普通会员</div>
149
- <div class="marginRight20" v-if="$store.state.user.userRole != 0">企业会员</div>
150
- </div>
151
- </el-col>-->
152
- <!-- <el-col class="img-box">
153
- <div class="admin-box-img1 admin-box-img" @mouseover="mouseOver('tel')" @mouseleave="mouseLeave('tel')">
154
- <img src="@/assets/center/tel.png" alt />
155
- <div class="admin-box-img-tel" v-if="show.tel">
156
- {{this.$store.state.user.telPhone | tel}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
157
- <span class="color02 cursor" @click="$router.push({path:'/enterPassword'})">更换</span>
158
- </div>
159
- </div>
160
- <div class="admin-box-img2 admin-box-img" @mouseover="mouseOver(realName)" @mouseleave="mouseLeave(realName)">
161
- <img v-if="$store.state.user.personalAuth == 1" src="@/assets/center/real-name.png" alt />
162
- <img v-if="$store.state.user.personalAuth == 0" src="@/assets/center/real-name-no.png" alt />
163
- <div class="admin-box-img-no-real-name" v-if="show.noRealName">
164
- 您尚未实名认证&nbsp;&nbsp;&nbsp;点击完成
165
- <span class="color02 cursor" @click="toAuthentication('sm')">认证</span>
166
- </div>
167
- </div>
168
- <div class="admin-box-img3 admin-box-img" v-if="!showEnterprise" @mouseover="mouseOver(Enterprise)" @mouseleave="mouseLeave(Enterprise)">
169
- <img src="@/assets/center/enterprise.png" v-if="$store.state.user.userRole != 0" alt />
170
- <img src="@/assets/center/enterprise-no.png" v-if="$store.state.user.userRole == 0" alt />
171
- <div class="admin-box-img-no-enterprise" v-if="show.noEnterprise">
172
- 您尚未进行企业认证&nbsp;&nbsp;&nbsp;点击完成
173
- <span class="color02 cursor" @click="toAuthentication('qy')">认证</span>
174
- </div>
175
- </div>
176
- </el-col>-->
177
- <el-col class="btn-box">
178
- <el-button class="btn" type="text" @click="modifyPass()">账户设置</el-button>
179
- <b class="line"></b>
180
- <el-button class="btn" type="text" @click="quit">退出登录</el-button>
181
- </el-col>
182
- </el-row>
183
- <!-- <span class="hello-box" slot="reference">
184
- 您好!
185
- <el-button
186
- type="text"
187
- v-if="this.$store.state.user.realName"
188
- >{{this.$store.state.user.realName}}</el-button>
189
- <el-button
190
- type="text"
191
- v-if="!this.$store.state.user.realName"
192
- >{{this.$store.state.user.accountName}}</el-button>
193
- </span>-->
194
- </el-popover>
195
- </div>
196
- <div class="company cursor" v-if="$store.state.auth_user.comName">
197
- <el-dropdown trigger="click" @command="companyHandleCommand" @visible-change="visible">
198
- <span class="el-dropdown-link">
199
- {{$store.state.auth_user.comName}}
200
- <i class="el-icon-arrow-down el-icon--right"></i>
201
- </span>
202
- <el-dropdown-menu slot="dropdown">
203
- <el-dropdown-item
204
- :command="item.no"
205
- v-for="item in CompanyOrganization"
206
- :key="item.no"
207
- :class="{'actived':$store.state.auth_user.comNo == item.no}"
208
- >
209
- <i class="el-icon-office-building" v-if="item.default == 1" style="color: #409EFF;"></i>
210
- <i class="el-icon-office-building" v-else></i>
211
- {{item.name}}
212
- </el-dropdown-item>
213
- </el-dropdown-menu>
214
- </el-dropdown>
215
- </div>
216
- </div>
217
- </div>
218
- </div>
219
- </template>
220
-
221
- <script>
222
- import localStorage from "@/storage/localStorage";
223
- import link from "@/public/link.js";
224
- import topmenu from "@/public/topmenu.js";
225
- import apiAuth from "@/api/apiAuth";
226
- import marketplace from "@/assets/marketplace.js";
227
- import datas from "@/assets/data.js";
228
-
229
- export default {
230
- name: "HeadBar",
231
- data() {
232
- return {
233
- data: datas.workList,
234
- defaultProps: {
235
- children: "children",
236
- label: "label"
237
- },
238
- marketplace: marketplace,
239
- dialogVisible: true,
240
- messNum: 0,
241
- showBg: "center",
242
- menuList: [],
243
- topmenuList: topmenu,
244
- showController: false,
245
- CompanyOrganization: [],
246
- styles: {
247
- left: 0
248
- },
249
- show: {
250
- tel: false,
251
- realName: false,
252
- noRealName: false,
253
- enterprise: false,
254
- noEnterprise: false
255
- },
256
- shake: {
257
- tel: true,
258
- realName: true,
259
- noRealName: true,
260
- enterprise: true,
261
- noEnterprise: true
262
- }
263
- };
264
- },
265
- watch: {
266
- "$store.state.auth_user": {
267
- deep: true,
268
- handler: function(newVal) {
269
- if (
270
- this.$store.state.auth_user.comNo == "" ||
271
- this.$store.state.auth_user.comNo == "0"
272
- ) {
273
- this.getCompanyOrganization();
274
- }
275
- }
276
- }
277
- },
278
- computed: {
279
- jWidth() {
280
- const num = this.$store.state.auth_user.comName.length;
281
- return num * 16 + 126;
282
- },
283
- isCollapse() {
284
- return this.collapse;
285
- },
286
- currentMenu() {
287
- return this.$store.state.currentTopMenu;
288
- console.log(this.$store.state.currentTopMenu);
289
- },
290
- Enterprise() {
291
- const bol1 = this.$store.state.user.userRole === 0
292
- const str = bol1 ? "noEnterprise" : "enterprise"
293
- return str
294
- },
295
- showEnterprise() {
296
- const bol1 = this.$store.state.user.userRole === 0; // 普通用户
297
- const bol2 = this.$store.state.user.personalAuth === 1; // 实名认证
298
- const bol3 = this.$store.state.user.relevance; // 关联企业
299
- return bol1 && bol2 && bol3;
300
- },
301
- realName() {
302
- const bol1 = this.$store.state.user.personalAuth === 1;
303
- const str = bol1 ? "realName" : "noRealName";
304
- return str;
305
- },
306
- noRead() {
307
- const no = this.$store.state.sysMsgUnread.applyFriend;
308
- if (no < 1) {
309
- return "";
310
- } else {
311
- return no > 99 ? "99+" : no;
312
- }
313
- }
314
- },
315
- mounted() {
316
- window.onresize = () => {
317
- return (() => {
318
- this.initShow();
319
- })();
320
- };
321
- this.$nextTick(function() {
322
- this.initShow();
323
- setTimeout(() => {
324
- this.getCompanyOrganization();
325
- }, 3000);
326
- });
327
- },
328
- methods: {
329
- handleNodeClick(data) {
330
- console.log(data);
331
- },
332
- mouseLeaveS() {
333
- this.dialogVisible = false;
334
- },
335
- mouseovers() {
336
- this.dialogVisible = true;
337
- },
338
- skipLink(item) {
339
- console.log(item);
340
- window.open(item.path);
341
- this.dialogVisible = false;
342
- },
343
- visible(val) {
344
- if (val) {
345
- this.getCompanyOrganization();
346
- }
347
- },
348
- /**
349
- * 切换企业
350
- */
351
- async getCompanyOrganization() {
352
- const res = await apiAuth.getUserCompany();
353
- if (res.data.code == 200) {
354
- this.CompanyOrganization = res.data.data;
355
- if (
356
- (this.$store.state.auth_user.comNo == "" ||
357
- this.$store.state.auth_user.comNo == "0") &&
358
- res.data.data[0]
359
- ) {
360
- this.companyHandleCommand(res.data.data[0].no);
361
- }
362
- }
363
- },
364
- async companyHandleCommand(command) {
365
- const { data } = await apiAuth.companyCut(command);
366
- if (data.code === 0) {
367
- window.location.reload();
368
- } else {
369
- this.$message.error(data.msg);
370
- }
371
- },
372
- async getAuth() {
373
- const { data } = await apiAuth.getAuthList();
374
- if (data.code === 0) {
375
- this.$store.commit("SET_AUTH_USER", data.result);
376
- localStorage.set("menu", JSON.stringify(data.result.routes));
377
- } else {
378
- this.$message.error(data.msg);
379
- }
380
- },
381
- // 切换主企业
382
- changeCompany(e) {
383
- this.$confirm("确定要设置为主企业吗?", "提示", {
384
- confirmButtonText: "确定",
385
- cancelButtonText: "取消",
386
- type: "warning"
387
- })
388
- .then(async() => {
389
- const data = {
390
- userNo: this.$store.state.user.no,
391
- companyNo: e
392
- };
393
- const res = await apiAuth.updateDefaultCompany(data);
394
- if (res.data.code === 200) {
395
- this.$message({
396
- message: "切换成功",
397
- type: "success"
398
- });
399
- this.getAuth();
400
- this.companyHandleCommand(e);
401
- } else {
402
- this.$message.error(res.data.msg);
403
- }
404
- })
405
- .catch(() => {
406
- this.$message({
407
- type: "info",
408
- message: "已取消删除"
409
- });
410
- });
411
- },
412
- navTo(item) {
413
- if (item.index === 11) {
414
- // this.$router.push({ path: '/formBuilder' })
415
- const routeData = this.$router.resolve({
416
- name: "formBuilder"
417
- });
418
- window.open(routeData.href, "_blank");
419
- } else if (item.index === 13) {
420
- this.$router.push({ path: "/setting" });
421
- this.$store.commit("SET_CURRENTTOPMENU", item.index);
422
- } else {
423
- this.$router.push({ path: "/" });
424
- localStorage.set("isTop", true);
425
- this.$store.commit("SET_CURRENTTOPMENU", item.index);
426
- }
427
- },
428
- toAuthentication(type) {
429
- if (type === "qy" && this.$store.getters.getUser.personalAuth === 0) {
430
- this.$message({
431
- message: "请先完成实名认证",
432
- type: "warning"
433
- });
434
- return;
435
- }
436
- if (type === "sm") {
437
- this.$router.push({ path: "/authenticationRealName" });
438
- }
439
- if (type === "qy") {
440
- this.$router.push({ path: "/enterpriseAuthentication" });
441
- }
442
- },
443
- modifyPass() {
444
- this.$router.push({ path: "/security" });
445
- this.$refs.popover.showPopper = false;
446
- },
447
- mouseOver(type) {
448
- for (const item in this.show) {
449
- if (item !== type) {
450
- this.$set(this.show, item, false);
451
- }
452
- }
453
- this.$set(this.show, type, true);
454
- this.$set(this.shake, type, false); // 防抖
455
- },
456
- mouseLeave(type) {
457
- const that = this;
458
- this.$set(this.shake, type, true); // 防抖
459
- setTimeout(function() {
460
- if (that.shake[type]) {
461
- that.$set(that.show, type, false);
462
- }
463
- }, 300);
464
- },
465
- toPush() {
466
- link.blank_index();
467
- },
468
- logout(e) {
469
- if (e === "out") {
470
- this.quit();
471
- }
472
- },
473
- quit() {
474
- // LOGIN_OUT
475
- this.$confirm("确认退出?", "提示", {
476
- confirmButtonText: "确定",
477
- cancelButtonText: "取消",
478
- type: "warning"
479
- })
480
- .then(async(res) => {
481
- const result = await apiAuth.sendLogout();
482
- if (result.status === 200) {
483
- this.$store.commit("LOGIN_OUT");
484
- localStorage.clear("menu");
485
- // this.$message.success(data.msg)
486
- this.$router.push("/");
487
- } else {
488
- this.$message.error("退出失败");
489
- }
490
- })
491
- .catch(() => {});
492
- },
493
- errorHandler() {
494
- return true;
495
- },
496
- changeCollapse() {
497
- this.$store.commit("SET_ISCOLLAPSE");
498
- },
499
- toOther(path) {
500
- const personallist = ["/Hzlgl", "/Hlabor"]; // 租赁 // 工队
501
-
502
- const qiyelist = ["/Hgcgl", "/Hshop", "/ZCJY", "/ZSFX"]; // 企业管理
503
-
504
- const bol1 = personallist.indexOf(path); // 个人认证
505
- const bol2 = qiyelist.indexOf(path); // 企业认证
506
-
507
- const bol3 = this.$store.getters.getUser.personalAuth === 0; // 未实名认证
508
- const bol4 = this.$store.state.user.userRole === 0; // 未企业认证
509
-
510
- if (!bol3 && !bol4) {
511
- return false;
512
- }
513
- if (bol1 != -1 && bol3) {
514
- const data = {
515
- type: "error",
516
- buttonSubmit: "去认证",
517
- buttonClose: "暂不认证",
518
- msg: {
519
- title: "提示",
520
- content: "当前功能需要完成个人认证后才可使用,请先进行个人认证!"
521
- },
522
- callBack: async function() {
523
- this.$router.push({ path: "/authenticationRealName" });
524
- }.bind(this)
525
- };
526
- this.$_popout1(data);
527
- return true;
528
- }
529
-
530
- if (bol2 != -1 && bol4) {
531
- const data = {
532
- type: "error",
533
- buttonSubmit: "去认证",
534
- buttonClose: "暂不认证",
535
- msg: {
536
- title: "提示",
537
- content: "当前功能需要完成企业认证后才可使用,请先进行企业认证!"
538
- },
539
- callBack: async function() {
540
- this.$router.push({ path: "/enterpriseAuthentication" });
541
- }.bind(this)
542
- };
543
- this.$_popout1(data);
544
- return true;
545
- }
546
- return false;
547
- },
548
- initShow: function() {
549
- const TagWidth = this.$refs.btns.offsetWidth;
550
- const TagContentWidth = this.$refs.menu.offsetWidth;
551
- if (TagWidth > TagContentWidth) {
552
- this.showController = true;
553
- } else {
554
- this.showController = false;
555
- this.styles.left = 0;
556
- }
557
- },
558
- transform() {
559
- const TagWidth = this.$refs.btns.offsetWidth;
560
- const TagContentWidth = this.$refs.menu.offsetWidth;
561
- if (TagWidth > TagContentWidth) {
562
- this.styles.left = TagWidth - TagContentWidth + "px";
563
- } else {
564
- this.styles.left = 0;
565
- }
566
- },
567
- scroll: function(position) {
568
- const TagWidth = this.$refs.btns.offsetWidth;
569
- const TagLeft = this.$refs.btns.offsetLeft;
570
- const TagContentWidth = this.$refs.menu.offsetWidth;
571
- if (position === "left") {
572
- if (TagLeft >= 0) {
573
- return false;
574
- } else {
575
- this.styles.left = TagLeft + 86 >= 0 ? 0 : TagLeft + 86 + "px";
576
- }
577
- } else {
578
- if (TagLeft >= TagWidth - TagContentWidth) {
579
- return false;
580
- } else {
581
- this.styles.left =
582
- TagLeft - 86 <= -1 * (TagWidth - TagContentWidth)
583
- ? -1 * (TagWidth - TagContentWidth) + "px"
584
- : TagLeft - 86 + "px";
585
- }
586
- }
587
- }
588
- }
589
- };
590
- </script>
591
- <style lang="scss">
592
- .h-popover.el-popover {
593
- padding: 0;
594
- }
595
- .communication {
596
- line-height: 59px;
597
- .el-badge__content.is-fixed {
598
- top: 20px;
599
- right: 5px;
600
- }
601
- }
602
- .jSet:hover,
603
- .el-dropdown-menu__item:focus,
604
- .el-dropdown-menu__item:not(.is-disabled):hover,
605
- .el-dropdown-menu__item.actived:not(.is-disabled) {
606
- background-color: #ecf5ff;
607
- color: #66b1ff;
608
- }
609
- </style>
610
- <style lang="scss" scoped>
611
- .el-badge{
612
- vertical-align:inherit;
613
- }
614
- .el-dropdown + .el-dropdown {
615
- margin-left: 15px;
616
- }
617
- .el-icon-arrow-down {
618
- font-size: 12px;
619
- }
620
-
621
- .hello-box {
622
- font-size: 14px;
623
- margin-left: 10px;
624
- cursor: pointer;
625
- }
626
- .infor {
627
- padding: 10px 20px 0 20px;
628
- .company {
629
- font-size: 16px;
630
- font-weight: bold;
631
- color: #333;
632
- line-height: 32px;
633
- }
634
- .infor-item {
635
- font-size: 14px;
636
- color: #666666;
637
- line-height: 26px;
638
- }
639
- .img-box {
640
- margin: 6px 0 14px 0;
641
- }
642
- .btn-box {
643
- border-top: 1px solid #e4e7ed;
644
- .btn {
645
- display: inline-block;
646
- width: 48%;
647
- color: #969696;
648
- }
649
- .line {
650
- display: inline-block;
651
- width: 1px;
652
- height: 23px;
653
- background: #e4e7ed;
654
- position: relative;
655
- top: 8px;
656
- }
657
- }
658
- .admin-box-img {
659
- // margin-right: 15px;
660
- display: inline-block;
661
- margin: 0 7px;
662
- position: relative;
663
- > img {
664
- vertical-align: middle;
665
- }
666
- .admin-box-img-tel {
667
- width: 140px;
668
- }
669
- .admin-box-img-no-real-name {
670
- width: 190px;
671
- }
672
- .admin-box-img-real-name {
673
- width: 130px;
674
- }
675
- .admin-box-img-no-enterprise {
676
- width: 210px;
677
- }
678
- .admin-box-img-enterprise {
679
- width: 105px;
680
- }
681
- > div {
682
- font-size: 12px;
683
- color: #666666;
684
- // text-align: center;
685
- text-indent: 11px;
686
- position: absolute;
687
- height: 22px;
688
- line-height: 22px;
689
- border: 1px solid rgba(150, 150, 150, 1);
690
- box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.08);
691
- background: #fff;
692
- left: 0px;
693
- top: 32px;
694
- }
695
- }
696
- }
697
- //
698
- .top-bar {
699
- display: flex;
700
- background-color: white;
701
- height: 50px;
702
- line-height: 50px;
703
- border-bottom: 1px solid #e4e7ed;
704
- .head-logo {
705
- width: 162px;
706
- padding: 10px 0 10px 10px;
707
- position: relative;
708
- .logo-content {
709
- cursor: pointer;
710
- .logo {
711
- display: block;
712
- width: 40px;
713
- height: 40px;
714
- margin-right: 6px;
715
- }
716
- .name {
717
- font-size: 32px;
718
- }
719
- }
720
- .collapse {
721
- width: 136px;
722
- height: 42px;
723
- position: absolute;
724
- right: 0;
725
- top: 22px;
726
- margin-top: -14px;
727
- cursor: pointer;
728
- border-radius: 6px;
729
- }
730
- .unfold-menu {
731
- background: url("../../../assets/center/fold.png") no-repeat center;
732
- border-color: #80c2ef;
733
- background-size: cover;
734
- }
735
- .fold-menu {
736
- background: url("../../../assets/center/packup.png") no-repeat center;
737
- border-color: #e4e7ed;
738
- background-size: cover;
739
- // -moz-transform: rotate(180deg);
740
- // -webkit-transform: rotate(180deg);
741
- // transform: rotate(180deg);
742
- // filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
743
- }
744
- }
745
-
746
- .postios {
747
- line-height: 60px;
748
- height: 60px;
749
- padding: 0 10px;
750
- > i {
751
- display: inline-block;
752
- cursor: pointer;
753
- }
754
- .left {
755
- left: 14px;
756
- }
757
- .right {
758
- right: 14px;
759
- }
760
- }
761
- .menu {
762
- flex: 1;
763
- // height: 34px;
764
- position: relative;
765
- overflow: hidden;
766
- white-space: nowrap;
767
- .menu-content {
768
- position: absolute;
769
- left: 0;
770
- top: 0;
771
- transition: left 0.3s ease-out;
772
- .nav-btn {
773
- font-size: 20px;
774
- height: 34px;
775
- color: #333;
776
- margin: 0 10px 0 20px;
777
- cursor: pointer;
778
- &:first-child {
779
- margin-left: 10px;
780
- }
781
- &:last-child {
782
- margin-right: 0;
783
- }
784
- &:hover {
785
- // background-color: white;
786
- color: #409eff;
787
- }
788
- }
789
- .nav-btn.btn-active {
790
- // background-color: white;
791
- color: #409eff;
792
- }
793
- }
794
- }
795
- // .head-nav {
796
- // flex: 1;
797
- // > div {
798
- // width: 25%;
799
- // text-align: center;
800
- // cursor: pointer;
801
- // // overflow: hidden;
802
- // }
803
- // .nav-item {
804
- // // padding: 0 40px;
805
- // position: relative;
806
- // &:not(:last-child):after {
807
- // content: "";
808
- // width: 1px;
809
- // height: 24px;
810
- // position: absolute;
811
- // background-color: #e4e7ed;
812
- // top: 50%;
813
- // right: 0;
814
- // margin-top: -12px;
815
- // }
816
-
817
- // .el-dropdown {
818
- // height: 40px;
819
- // color: #000;
820
- // font-size: 16px;
821
- // }
822
- // }
823
- // .color02 {
824
- // color: #0286df;
825
- // }
826
- // }
827
- .head-user {
828
- padding-right: 12px;
829
- display: flex;
830
- flex-direction: column;
831
- .company {
832
- height: 30px;
833
- line-height: 30px;
834
- }
835
- .user {
836
- height: 17px;
837
- line-height: 30px;
838
- .el-dropdown {
839
- height: 40px;
840
- }
841
- .el-avatar {
842
- vertical-align: middle;
843
- margin-right: 10px;
844
- }
845
- .el-dropdown-link {
846
- .name {
847
- cursor: pointer;
848
- color: #0286df;
849
- padding-right: 4px;
850
- }
851
- }
852
- }
853
- .header-tel {
854
- display: flex;
855
- align-items: center;
856
- margin-right: 80px;
857
- img {
858
- display: block;
859
- width: 34px;
860
- height: 34px;
861
- margin: 16px;
862
- }
863
- .tel {
864
- flex: 1;
865
- line-height: 20px;
866
- .telnumber {
867
- font-size: 18px;
868
- font-weight: 600;
869
- }
870
- .time {
871
- font-size: 14px;
872
- color: #666;
873
- }
874
- }
875
- }
876
- }
877
- .flex-center {
878
- display: flex;
879
- align-items: center;
880
- }
881
- }
882
- /deep/.popper__arrow {
883
- left: 52.5% !important;
884
- }
885
- .nav-btn-dropdow {
886
- position: absolute;
887
- top: 55px !important;
888
- left: 550px !important;
889
- padding: 10px 0;
890
- margin: 5px 0;
891
- background-color: #fff;
892
- border-radius: 4px;
893
- box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
894
- }
895
- .nav-span-hover {
896
- font-size: 20px;
897
- height: 34px;
898
- color: #333;
899
- cursor: pointer;
900
- }
901
- .nav-span-hover:hover {
902
- color: #0286df;
903
- }
904
- // 弹框
905
- .dialog-pop-up {
906
- width: 780px;
907
- padding: 20px;
908
- div {
909
- p {
910
- margin: 6px 0 11px 0;
911
- font-size: 18px;
912
- font-family: Microsoft YaHei;
913
- font-weight: bold;
914
- color: #343434;
915
- }
916
- span {
917
- margin: 0;
918
- font-size: 16px;
919
- font-family: Microsoft YaHei;
920
- font-weight: 400;
921
- color: #343434;
922
- padding-top: 20px;
923
- padding-right: 21px;
924
- cursor: pointer;
925
- &:last-child {
926
- padding: 0;
927
- }
928
- }
929
- &:first-child {
930
- p {
931
- margin: 0px 0 11px 0;
932
- }
933
- }
934
- }
935
- }
936
- </style>
1
+ <template>
2
+ <div>
3
+ <div class="top-bar">
4
+ <div class="head-logo flex-center">
5
+ <div class="logo-content flex-center" @click="toPush">
6
+ <img class="logo" src="@/assets/public/logo.png" />
7
+ <span class="name">企管帮</span>
8
+ </div>
9
+ <!-- <div
10
+ class="collapse"
11
+ :class=" !$store.state.isCollapse ? 'unfold-menu' : 'fold-menu'"
12
+ @click="changeCollapse"
13
+ ></div>-->
14
+ </div>
15
+ <!-- <div class="head-nav flex-center"></div> -->
16
+ <div class="postios">
17
+ <i class="el-icon-arrow-left left" v-show="showController" @click="scroll('left')"></i>
18
+ </div>
19
+ <div class="menu" ref="menu">
20
+ <div class="menu-content" :style="styles" ref="btns">
21
+ <span
22
+ v-for="(item,index) in topmenuList"
23
+ :key="index"
24
+ type="text"
25
+ class="nav-btn background"
26
+ v-if="!item.hidden"
27
+ :class="currentMenu == item.index?'btn-active':''"
28
+ @click="navTo(item)"
29
+ >
30
+ <!-- @mouseover="mouseovers" -->
31
+ <el-badge
32
+ v-if="item.name === 'communication'"
33
+ :value="noRead"
34
+ class="communication"
35
+ >{{item.title}}</el-badge>
36
+ <span v-else>{{item.title}}</span>
37
+ </span>
38
+ <span type="text" class="nav-btn background nav-btn-hover">
39
+ <el-dropdown :show-timeout="0">
40
+ <span class="nav-span-hover">市场</span>
41
+ <el-dropdown-menu class="nav-btn-dropdow" slot="dropdown">
42
+ <div class="dialog-pop-up" v-for="(item,i) in marketplace" :key="i">
43
+ <div v-for="(list,index) in item" :key="index">
44
+ <p>{{list.name}}</p>
45
+ <span
46
+ class="nav-span-hover"
47
+ v-for="(key,indexes) in list.ListeachItem"
48
+ :key="indexes"
49
+ @click="skipLink(key)"
50
+ >{{key.name}}</span>
51
+ </div>
52
+ </div>
53
+ </el-dropdown-menu>
54
+ </el-dropdown>
55
+ </span>
56
+ <span type="text" class="nav-btn background nav-btn-hover">
57
+ <span class="nav-span-hover">监督</span>
58
+ </span>
59
+ <span type="text" class="nav-btn background nav-btn-hover">
60
+ <span class="nav-span-hover">咨询</span>
61
+ </span>
62
+ <span
63
+ v-if="$store.state.user && $store.state.user.roleName == '管理员'"
64
+ type="text"
65
+ class="nav-btn background"
66
+ @click="navTo({index:11})"
67
+ >
68
+ <span>表单设计</span>
69
+ </span>
70
+ </div>
71
+ </div>
72
+ <div class="postios">
73
+ <i class="el-icon-arrow-right right" v-show="showController" @click="scroll('right')"></i>
74
+ </div>
75
+ <div class="head-user">
76
+ <div class="user">
77
+ <!-- <img src="@/assets/center/admin.png" /> -->
78
+ <!--
79
+ <el-avatar size="small">
80
+ <img
81
+ v-if="$store.state.user.userRole == 1 && $store.state.storeInformation && $store.state.storeInformation.logo"
82
+ alt
83
+ :src="$store.state.storeInformation.logo"
84
+ />
85
+ <img
86
+ v-if="$store.state.user.userRole == 0 || $store.state.user.userRole == 1 && !$store.state.storeInformation"
87
+ src="@/assets/center/admin.png"
88
+ alt
89
+ />
90
+ <img
91
+ v-if="$store.state.user.userRole == 0 || $store.state.user.userRole == 1 && $store.state.storeInformation && !$store.state.storeInformation.logo"
92
+ src="@/assets/center/admin.png"
93
+ alt
94
+ />
95
+ </el-avatar>-->
96
+ <!-- <el-dropdown trigger="click" @command="logout">
97
+ <span class="el-dropdown-link">
98
+ 您好!
99
+ <span class="name">{{this.$store.state.user.accountName}}</span>
100
+ <i class="el-icon-arrow-down el-icon--right"></i>
101
+ </span>
102
+ <el-dropdown-menu slot="dropdown">
103
+ <el-dropdown-item command="out">退出</el-dropdown-item>
104
+ </el-dropdown-menu>
105
+ </el-dropdown>-->
106
+ <el-popover
107
+ ref="popover"
108
+ placement="bottom"
109
+ trigger="click"
110
+ popper-class="h-popover"
111
+ :width="jWidth"
112
+ v-if="$store.state.auth_user.comName"
113
+ >
114
+ <el-row class="infor">
115
+ <el-col :span="24">
116
+ <div class="company cursor" v-if="$store.state.auth_user.comName">
117
+ <span style="padding-right: 10px;">{{$store.state.auth_user.comName}}</span>
118
+ <el-popover placement="bottom" trigger="click">
119
+ <div
120
+ v-for="item in $store.state.auth_user.company"
121
+ :key="item.no"
122
+ @click="changeCompany(item.no)"
123
+ class="jSet"
124
+ style="padding: 5px 0;cursor: pointer;"
125
+ >
126
+ <i
127
+ class="el-icon-office-building"
128
+ v-if="item.default == 1"
129
+ style="color: #409EFF;"
130
+ ></i>
131
+ <i class="el-icon-office-building" v-else></i>
132
+ {{item.name}}
133
+ </div>
134
+ <el-button type="text" slot="reference">设置主企业</el-button>
135
+ </el-popover>
136
+ </div>
137
+ </el-col>
138
+ <el-col :span="24" class="infor-item">
139
+ <span>所属部门:{{this.$store.state.auth_user.departmentName}}</span>
140
+ </el-col>
141
+ <el-col :span="24" class="infor-item">
142
+ <span>所属角色:{{this.$store.state.auth_user.roleName}}</span>
143
+ </el-col>
144
+
145
+ <!-- <el-col :span="24" class="infor-item">
146
+ <div style="display:flex">
147
+ <div>会员类型:</div>
148
+ <div class="marginRight20" v-if="$store.state.user.userRole == 0">普通会员</div>
149
+ <div class="marginRight20" v-if="$store.state.user.userRole != 0">企业会员</div>
150
+ </div>
151
+ </el-col>-->
152
+ <!-- <el-col class="img-box">
153
+ <div class="admin-box-img1 admin-box-img" @mouseover="mouseOver('tel')" @mouseleave="mouseLeave('tel')">
154
+ <img src="@/assets/center/tel.png" alt />
155
+ <div class="admin-box-img-tel" v-if="show.tel">
156
+ {{this.$store.state.user.telPhone | tel}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
157
+ <span class="color02 cursor" @click="$router.push({path:'/enterPassword'})">更换</span>
158
+ </div>
159
+ </div>
160
+ <div class="admin-box-img2 admin-box-img" @mouseover="mouseOver(realName)" @mouseleave="mouseLeave(realName)">
161
+ <img v-if="$store.state.user.personalAuth == 1" src="@/assets/center/real-name.png" alt />
162
+ <img v-if="$store.state.user.personalAuth == 0" src="@/assets/center/real-name-no.png" alt />
163
+ <div class="admin-box-img-no-real-name" v-if="show.noRealName">
164
+ 您尚未实名认证&nbsp;&nbsp;&nbsp;点击完成
165
+ <span class="color02 cursor" @click="toAuthentication('sm')">认证</span>
166
+ </div>
167
+ </div>
168
+ <div class="admin-box-img3 admin-box-img" v-if="!showEnterprise" @mouseover="mouseOver(Enterprise)" @mouseleave="mouseLeave(Enterprise)">
169
+ <img src="@/assets/center/enterprise.png" v-if="$store.state.user.userRole != 0" alt />
170
+ <img src="@/assets/center/enterprise-no.png" v-if="$store.state.user.userRole == 0" alt />
171
+ <div class="admin-box-img-no-enterprise" v-if="show.noEnterprise">
172
+ 您尚未进行企业认证&nbsp;&nbsp;&nbsp;点击完成
173
+ <span class="color02 cursor" @click="toAuthentication('qy')">认证</span>
174
+ </div>
175
+ </div>
176
+ </el-col>-->
177
+ <el-col class="btn-box">
178
+ <el-button class="btn" type="text" @click="modifyPass()">账户设置</el-button>
179
+ <b class="line"></b>
180
+ <el-button class="btn" type="text" @click="quit">退出登录</el-button>
181
+ </el-col>
182
+ </el-row>
183
+ <!-- <span class="hello-box" slot="reference">
184
+ 您好!
185
+ <el-button
186
+ type="text"
187
+ v-if="this.$store.state.user.realName"
188
+ >{{this.$store.state.user.realName}}</el-button>
189
+ <el-button
190
+ type="text"
191
+ v-if="!this.$store.state.user.realName"
192
+ >{{this.$store.state.user.accountName}}</el-button>
193
+ </span>-->
194
+ </el-popover>
195
+ </div>
196
+ <div class="company cursor" v-if="$store.state.auth_user.comName">
197
+ <el-dropdown trigger="click" @command="companyHandleCommand" @visible-change="visible">
198
+ <span class="el-dropdown-link">
199
+ {{$store.state.auth_user.comName}}
200
+ <i class="el-icon-arrow-down el-icon--right"></i>
201
+ </span>
202
+ <el-dropdown-menu slot="dropdown">
203
+ <el-dropdown-item
204
+ :command="item.no"
205
+ v-for="item in CompanyOrganization"
206
+ :key="item.no"
207
+ :class="{'actived':$store.state.auth_user.comNo == item.no}"
208
+ >
209
+ <i class="el-icon-office-building" v-if="item.default == 1" style="color: #409EFF;"></i>
210
+ <i class="el-icon-office-building" v-else></i>
211
+ {{item.name}}
212
+ </el-dropdown-item>
213
+ </el-dropdown-menu>
214
+ </el-dropdown>
215
+ </div>
216
+ </div>
217
+ </div>
218
+ </div>
219
+ </template>
220
+
221
+ <script>
222
+ import localStorage from "@/storage/localStorage";
223
+ import link from "@/public/link.js";
224
+ import topmenu from "@/public/topmenu.js";
225
+ import apiAuth from "@/api/apiAuth";
226
+ import marketplace from "@/assets/marketplace.js";
227
+ import datas from "@/assets/data.js";
228
+
229
+ export default {
230
+ name: "HeadBar",
231
+ data() {
232
+ return {
233
+ data: datas.workList,
234
+ defaultProps: {
235
+ children: "children",
236
+ label: "label"
237
+ },
238
+ marketplace: marketplace,
239
+ dialogVisible: true,
240
+ messNum: 0,
241
+ showBg: "center",
242
+ menuList: [],
243
+ topmenuList: topmenu,
244
+ showController: false,
245
+ CompanyOrganization: [],
246
+ styles: {
247
+ left: 0
248
+ },
249
+ show: {
250
+ tel: false,
251
+ realName: false,
252
+ noRealName: false,
253
+ enterprise: false,
254
+ noEnterprise: false
255
+ },
256
+ shake: {
257
+ tel: true,
258
+ realName: true,
259
+ noRealName: true,
260
+ enterprise: true,
261
+ noEnterprise: true
262
+ }
263
+ };
264
+ },
265
+ watch: {
266
+ "$store.state.auth_user": {
267
+ deep: true,
268
+ handler: function(newVal) {
269
+ if (
270
+ this.$store.state.auth_user.comNo == "" ||
271
+ this.$store.state.auth_user.comNo == "0"
272
+ ) {
273
+ this.getCompanyOrganization();
274
+ }
275
+ }
276
+ }
277
+ },
278
+ computed: {
279
+ jWidth() {
280
+ const num = this.$store.state.auth_user.comName.length;
281
+ return num * 16 + 126;
282
+ },
283
+ isCollapse() {
284
+ return this.collapse;
285
+ },
286
+ currentMenu() {
287
+ return this.$store.state.currentTopMenu;
288
+ console.log(this.$store.state.currentTopMenu);
289
+ },
290
+ Enterprise() {
291
+ const bol1 = this.$store.state.user.userRole === 0
292
+ const str = bol1 ? "noEnterprise" : "enterprise"
293
+ return str
294
+ },
295
+ showEnterprise() {
296
+ const bol1 = this.$store.state.user.userRole === 0; // 普通用户
297
+ const bol2 = this.$store.state.user.personalAuth === 1; // 实名认证
298
+ const bol3 = this.$store.state.user.relevance; // 关联企业
299
+ return bol1 && bol2 && bol3;
300
+ },
301
+ realName() {
302
+ const bol1 = this.$store.state.user.personalAuth === 1;
303
+ const str = bol1 ? "realName" : "noRealName";
304
+ return str;
305
+ },
306
+ noRead() {
307
+ const no = this.$store.state.sysMsgUnread.applyFriend;
308
+ if (no < 1) {
309
+ return "";
310
+ } else {
311
+ return no > 99 ? "99+" : no;
312
+ }
313
+ }
314
+ },
315
+ mounted() {
316
+ window.onresize = () => {
317
+ return (() => {
318
+ this.initShow();
319
+ })();
320
+ };
321
+ this.$nextTick(function() {
322
+ this.initShow();
323
+ setTimeout(() => {
324
+ this.getCompanyOrganization();
325
+ }, 3000);
326
+ });
327
+ },
328
+ methods: {
329
+ handleNodeClick(data) {
330
+ console.log(data);
331
+ },
332
+ mouseLeaveS() {
333
+ this.dialogVisible = false;
334
+ },
335
+ mouseovers() {
336
+ this.dialogVisible = true;
337
+ },
338
+ skipLink(item) {
339
+ console.log(item);
340
+ window.open(item.path);
341
+ this.dialogVisible = false;
342
+ },
343
+ visible(val) {
344
+ if (val) {
345
+ this.getCompanyOrganization();
346
+ }
347
+ },
348
+ /**
349
+ * 切换企业
350
+ */
351
+ async getCompanyOrganization() {
352
+ const res = await apiAuth.getUserCompany();
353
+ if (res.data.code == 200) {
354
+ this.CompanyOrganization = res.data.data;
355
+ if (
356
+ (this.$store.state.auth_user.comNo == "" ||
357
+ this.$store.state.auth_user.comNo == "0") &&
358
+ res.data.data[0]
359
+ ) {
360
+ this.companyHandleCommand(res.data.data[0].no);
361
+ }
362
+ }
363
+ },
364
+ async companyHandleCommand(command) {
365
+ const { data } = await apiAuth.companyCut(command);
366
+ if (data.code === 0) {
367
+ window.location.reload();
368
+ } else {
369
+ this.$message.error(data.msg);
370
+ }
371
+ },
372
+ async getAuth() {
373
+ const { data } = await apiAuth.getAuthList();
374
+ if (data.code === 0) {
375
+ this.$store.commit("SET_AUTH_USER", data.result);
376
+ localStorage.set("menu", JSON.stringify(data.result.routes));
377
+ } else {
378
+ this.$message.error(data.msg);
379
+ }
380
+ },
381
+ // 切换主企业
382
+ changeCompany(e) {
383
+ this.$confirm("确定要设置为主企业吗?", "提示", {
384
+ confirmButtonText: "确定",
385
+ cancelButtonText: "取消",
386
+ type: "warning"
387
+ })
388
+ .then(async() => {
389
+ const data = {
390
+ userNo: this.$store.state.user.no,
391
+ companyNo: e
392
+ };
393
+ const res = await apiAuth.updateDefaultCompany(data);
394
+ if (res.data.code === 200) {
395
+ this.$message({
396
+ message: "切换成功",
397
+ type: "success"
398
+ });
399
+ this.getAuth();
400
+ this.companyHandleCommand(e);
401
+ } else {
402
+ this.$message.error(res.data.msg);
403
+ }
404
+ })
405
+ .catch(() => {
406
+ this.$message({
407
+ type: "info",
408
+ message: "已取消删除"
409
+ });
410
+ });
411
+ },
412
+ navTo(item) {
413
+ if (item.index === 11) {
414
+ // this.$router.push({ path: '/formBuilder' })
415
+ const routeData = this.$router.resolve({
416
+ name: "formBuilder"
417
+ });
418
+ window.open(routeData.href, "_blank");
419
+ } else if (item.index === 13) {
420
+ this.$router.push({ path: "/setting" });
421
+ this.$store.commit("SET_CURRENTTOPMENU", item.index);
422
+ } else {
423
+ this.$router.push({ path: "/" });
424
+ localStorage.set("isTop", true);
425
+ this.$store.commit("SET_CURRENTTOPMENU", item.index);
426
+ }
427
+ },
428
+ toAuthentication(type) {
429
+ if (type === "qy" && this.$store.getters.getUser.personalAuth === 0) {
430
+ this.$message({
431
+ message: "请先完成实名认证",
432
+ type: "warning"
433
+ });
434
+ return;
435
+ }
436
+ if (type === "sm") {
437
+ this.$router.push({ path: "/authenticationRealName" });
438
+ }
439
+ if (type === "qy") {
440
+ this.$router.push({ path: "/enterpriseAuthentication" });
441
+ }
442
+ },
443
+ modifyPass() {
444
+ this.$router.push({ path: "/security" });
445
+ this.$refs.popover.showPopper = false;
446
+ },
447
+ mouseOver(type) {
448
+ for (const item in this.show) {
449
+ if (item !== type) {
450
+ this.$set(this.show, item, false);
451
+ }
452
+ }
453
+ this.$set(this.show, type, true);
454
+ this.$set(this.shake, type, false); // 防抖
455
+ },
456
+ mouseLeave(type) {
457
+ const that = this;
458
+ this.$set(this.shake, type, true); // 防抖
459
+ setTimeout(function() {
460
+ if (that.shake[type]) {
461
+ that.$set(that.show, type, false);
462
+ }
463
+ }, 300);
464
+ },
465
+ toPush() {
466
+ link.blank_index();
467
+ },
468
+ logout(e) {
469
+ if (e === "out") {
470
+ this.quit();
471
+ }
472
+ },
473
+ quit() {
474
+ // LOGIN_OUT
475
+ this.$confirm("确认退出?", "提示", {
476
+ confirmButtonText: "确定",
477
+ cancelButtonText: "取消",
478
+ type: "warning"
479
+ })
480
+ .then(async(res) => {
481
+ const result = await apiAuth.sendLogout();
482
+ if (result.status === 200) {
483
+ this.$store.commit("LOGIN_OUT");
484
+ localStorage.clear("menu");
485
+ // this.$message.success(data.msg)
486
+ this.$router.push("/");
487
+ } else {
488
+ this.$message.error("退出失败");
489
+ }
490
+ })
491
+ .catch(() => {});
492
+ },
493
+ errorHandler() {
494
+ return true;
495
+ },
496
+ changeCollapse() {
497
+ this.$store.commit("SET_ISCOLLAPSE");
498
+ },
499
+ toOther(path) {
500
+ const personallist = ["/Hzlgl", "/Hlabor"]; // 租赁 // 工队
501
+
502
+ const qiyelist = ["/Hgcgl", "/Hshop", "/ZCJY", "/ZSFX"]; // 企业管理
503
+
504
+ const bol1 = personallist.indexOf(path); // 个人认证
505
+ const bol2 = qiyelist.indexOf(path); // 企业认证
506
+
507
+ const bol3 = this.$store.getters.getUser.personalAuth === 0; // 未实名认证
508
+ const bol4 = this.$store.state.user.userRole === 0; // 未企业认证
509
+
510
+ if (!bol3 && !bol4) {
511
+ return false;
512
+ }
513
+ if (bol1 != -1 && bol3) {
514
+ const data = {
515
+ type: "error",
516
+ buttonSubmit: "去认证",
517
+ buttonClose: "暂不认证",
518
+ msg: {
519
+ title: "提示",
520
+ content: "当前功能需要完成个人认证后才可使用,请先进行个人认证!"
521
+ },
522
+ callBack: async function() {
523
+ this.$router.push({ path: "/authenticationRealName" });
524
+ }.bind(this)
525
+ };
526
+ this.$_popout1(data);
527
+ return true;
528
+ }
529
+
530
+ if (bol2 != -1 && bol4) {
531
+ const data = {
532
+ type: "error",
533
+ buttonSubmit: "去认证",
534
+ buttonClose: "暂不认证",
535
+ msg: {
536
+ title: "提示",
537
+ content: "当前功能需要完成企业认证后才可使用,请先进行企业认证!"
538
+ },
539
+ callBack: async function() {
540
+ this.$router.push({ path: "/enterpriseAuthentication" });
541
+ }.bind(this)
542
+ };
543
+ this.$_popout1(data);
544
+ return true;
545
+ }
546
+ return false;
547
+ },
548
+ initShow: function() {
549
+ const TagWidth = this.$refs.btns.offsetWidth;
550
+ const TagContentWidth = this.$refs.menu.offsetWidth;
551
+ if (TagWidth > TagContentWidth) {
552
+ this.showController = true;
553
+ } else {
554
+ this.showController = false;
555
+ this.styles.left = 0;
556
+ }
557
+ },
558
+ transform() {
559
+ const TagWidth = this.$refs.btns.offsetWidth;
560
+ const TagContentWidth = this.$refs.menu.offsetWidth;
561
+ if (TagWidth > TagContentWidth) {
562
+ this.styles.left = TagWidth - TagContentWidth + "px";
563
+ } else {
564
+ this.styles.left = 0;
565
+ }
566
+ },
567
+ scroll: function(position) {
568
+ const TagWidth = this.$refs.btns.offsetWidth;
569
+ const TagLeft = this.$refs.btns.offsetLeft;
570
+ const TagContentWidth = this.$refs.menu.offsetWidth;
571
+ if (position === "left") {
572
+ if (TagLeft >= 0) {
573
+ return false;
574
+ } else {
575
+ this.styles.left = TagLeft + 86 >= 0 ? 0 : TagLeft + 86 + "px";
576
+ }
577
+ } else {
578
+ if (TagLeft >= TagWidth - TagContentWidth) {
579
+ return false;
580
+ } else {
581
+ this.styles.left =
582
+ TagLeft - 86 <= -1 * (TagWidth - TagContentWidth)
583
+ ? -1 * (TagWidth - TagContentWidth) + "px"
584
+ : TagLeft - 86 + "px";
585
+ }
586
+ }
587
+ }
588
+ }
589
+ };
590
+ </script>
591
+ <style lang="scss">
592
+ .h-popover.el-popover {
593
+ padding: 0;
594
+ }
595
+ .communication {
596
+ line-height: 59px;
597
+ .el-badge__content.is-fixed {
598
+ top: 20px;
599
+ right: 5px;
600
+ }
601
+ }
602
+ .jSet:hover,
603
+ .el-dropdown-menu__item:focus,
604
+ .el-dropdown-menu__item:not(.is-disabled):hover,
605
+ .el-dropdown-menu__item.actived:not(.is-disabled) {
606
+ background-color: #ecf5ff;
607
+ color: #66b1ff;
608
+ }
609
+ </style>
610
+ <style lang="scss" scoped>
611
+ .el-badge{
612
+ vertical-align:inherit;
613
+ }
614
+ .el-dropdown + .el-dropdown {
615
+ margin-left: 15px;
616
+ }
617
+ .el-icon-arrow-down {
618
+ font-size: 12px;
619
+ }
620
+
621
+ .hello-box {
622
+ font-size: 14px;
623
+ margin-left: 10px;
624
+ cursor: pointer;
625
+ }
626
+ .infor {
627
+ padding: 10px 20px 0 20px;
628
+ .company {
629
+ font-size: 16px;
630
+ font-weight: bold;
631
+ color: #333;
632
+ line-height: 32px;
633
+ }
634
+ .infor-item {
635
+ font-size: 14px;
636
+ color: #666666;
637
+ line-height: 26px;
638
+ }
639
+ .img-box {
640
+ margin: 6px 0 14px 0;
641
+ }
642
+ .btn-box {
643
+ border-top: 1px solid #e4e7ed;
644
+ .btn {
645
+ display: inline-block;
646
+ width: 48%;
647
+ color: #969696;
648
+ }
649
+ .line {
650
+ display: inline-block;
651
+ width: 1px;
652
+ height: 23px;
653
+ background: #e4e7ed;
654
+ position: relative;
655
+ top: 8px;
656
+ }
657
+ }
658
+ .admin-box-img {
659
+ // margin-right: 15px;
660
+ display: inline-block;
661
+ margin: 0 7px;
662
+ position: relative;
663
+ > img {
664
+ vertical-align: middle;
665
+ }
666
+ .admin-box-img-tel {
667
+ width: 140px;
668
+ }
669
+ .admin-box-img-no-real-name {
670
+ width: 190px;
671
+ }
672
+ .admin-box-img-real-name {
673
+ width: 130px;
674
+ }
675
+ .admin-box-img-no-enterprise {
676
+ width: 210px;
677
+ }
678
+ .admin-box-img-enterprise {
679
+ width: 105px;
680
+ }
681
+ > div {
682
+ font-size: 12px;
683
+ color: #666666;
684
+ // text-align: center;
685
+ text-indent: 11px;
686
+ position: absolute;
687
+ height: 22px;
688
+ line-height: 22px;
689
+ border: 1px solid rgba(150, 150, 150, 1);
690
+ box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.08);
691
+ background: #fff;
692
+ left: 0px;
693
+ top: 32px;
694
+ }
695
+ }
696
+ }
697
+ //
698
+ .top-bar {
699
+ display: flex;
700
+ background-color: white;
701
+ height: 50px;
702
+ line-height: 50px;
703
+ border-bottom: 1px solid #e4e7ed;
704
+ .head-logo {
705
+ width: 162px;
706
+ padding: 10px 0 10px 10px;
707
+ position: relative;
708
+ .logo-content {
709
+ cursor: pointer;
710
+ .logo {
711
+ display: block;
712
+ width: 40px;
713
+ height: 40px;
714
+ margin-right: 6px;
715
+ }
716
+ .name {
717
+ font-size: 32px;
718
+ }
719
+ }
720
+ .collapse {
721
+ width: 136px;
722
+ height: 42px;
723
+ position: absolute;
724
+ right: 0;
725
+ top: 22px;
726
+ margin-top: -14px;
727
+ cursor: pointer;
728
+ border-radius: 6px;
729
+ }
730
+ .unfold-menu {
731
+ background: url("../../../assets/center/fold.png") no-repeat center;
732
+ border-color: #80c2ef;
733
+ background-size: cover;
734
+ }
735
+ .fold-menu {
736
+ background: url("../../../assets/center/packup.png") no-repeat center;
737
+ border-color: #e4e7ed;
738
+ background-size: cover;
739
+ // -moz-transform: rotate(180deg);
740
+ // -webkit-transform: rotate(180deg);
741
+ // transform: rotate(180deg);
742
+ // filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
743
+ }
744
+ }
745
+
746
+ .postios {
747
+ line-height: 60px;
748
+ height: 60px;
749
+ padding: 0 10px;
750
+ > i {
751
+ display: inline-block;
752
+ cursor: pointer;
753
+ }
754
+ .left {
755
+ left: 14px;
756
+ }
757
+ .right {
758
+ right: 14px;
759
+ }
760
+ }
761
+ .menu {
762
+ flex: 1;
763
+ // height: 34px;
764
+ position: relative;
765
+ overflow: hidden;
766
+ white-space: nowrap;
767
+ .menu-content {
768
+ position: absolute;
769
+ left: 0;
770
+ top: 0;
771
+ transition: left 0.3s ease-out;
772
+ .nav-btn {
773
+ font-size: 20px;
774
+ height: 34px;
775
+ color: #333;
776
+ margin: 0 10px 0 20px;
777
+ cursor: pointer;
778
+ &:first-child {
779
+ margin-left: 10px;
780
+ }
781
+ &:last-child {
782
+ margin-right: 0;
783
+ }
784
+ &:hover {
785
+ // background-color: white;
786
+ color: #409eff;
787
+ }
788
+ }
789
+ .nav-btn.btn-active {
790
+ // background-color: white;
791
+ color: #409eff;
792
+ }
793
+ }
794
+ }
795
+ // .head-nav {
796
+ // flex: 1;
797
+ // > div {
798
+ // width: 25%;
799
+ // text-align: center;
800
+ // cursor: pointer;
801
+ // // overflow: hidden;
802
+ // }
803
+ // .nav-item {
804
+ // // padding: 0 40px;
805
+ // position: relative;
806
+ // &:not(:last-child):after {
807
+ // content: "";
808
+ // width: 1px;
809
+ // height: 24px;
810
+ // position: absolute;
811
+ // background-color: #e4e7ed;
812
+ // top: 50%;
813
+ // right: 0;
814
+ // margin-top: -12px;
815
+ // }
816
+
817
+ // .el-dropdown {
818
+ // height: 40px;
819
+ // color: #000;
820
+ // font-size: 16px;
821
+ // }
822
+ // }
823
+ // .color02 {
824
+ // color: #0286df;
825
+ // }
826
+ // }
827
+ .head-user {
828
+ padding-right: 12px;
829
+ display: flex;
830
+ flex-direction: column;
831
+ .company {
832
+ height: 30px;
833
+ line-height: 30px;
834
+ }
835
+ .user {
836
+ height: 17px;
837
+ line-height: 30px;
838
+ .el-dropdown {
839
+ height: 40px;
840
+ }
841
+ .el-avatar {
842
+ vertical-align: middle;
843
+ margin-right: 10px;
844
+ }
845
+ .el-dropdown-link {
846
+ .name {
847
+ cursor: pointer;
848
+ color: #0286df;
849
+ padding-right: 4px;
850
+ }
851
+ }
852
+ }
853
+ .header-tel {
854
+ display: flex;
855
+ align-items: center;
856
+ margin-right: 80px;
857
+ img {
858
+ display: block;
859
+ width: 34px;
860
+ height: 34px;
861
+ margin: 16px;
862
+ }
863
+ .tel {
864
+ flex: 1;
865
+ line-height: 20px;
866
+ .telnumber {
867
+ font-size: 18px;
868
+ font-weight: 600;
869
+ }
870
+ .time {
871
+ font-size: 14px;
872
+ color: #666;
873
+ }
874
+ }
875
+ }
876
+ }
877
+ .flex-center {
878
+ display: flex;
879
+ align-items: center;
880
+ }
881
+ }
882
+ /deep/.popper__arrow {
883
+ left: 52.5% !important;
884
+ }
885
+ .nav-btn-dropdow {
886
+ position: absolute;
887
+ top: 55px !important;
888
+ left: 550px !important;
889
+ padding: 10px 0;
890
+ margin: 5px 0;
891
+ background-color: #fff;
892
+ border-radius: 4px;
893
+ box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
894
+ }
895
+ .nav-span-hover {
896
+ font-size: 20px;
897
+ height: 34px;
898
+ color: #333;
899
+ cursor: pointer;
900
+ }
901
+ .nav-span-hover:hover {
902
+ color: #0286df;
903
+ }
904
+ // 弹框
905
+ .dialog-pop-up {
906
+ width: 780px;
907
+ padding: 20px;
908
+ div {
909
+ p {
910
+ margin: 6px 0 11px 0;
911
+ font-size: 18px;
912
+ font-family: Microsoft YaHei;
913
+ font-weight: bold;
914
+ color: #343434;
915
+ }
916
+ span {
917
+ margin: 0;
918
+ font-size: 16px;
919
+ font-family: Microsoft YaHei;
920
+ font-weight: 400;
921
+ color: #343434;
922
+ padding-top: 20px;
923
+ padding-right: 21px;
924
+ cursor: pointer;
925
+ &:last-child {
926
+ padding: 0;
927
+ }
928
+ }
929
+ &:first-child {
930
+ p {
931
+ margin: 0px 0 11px 0;
932
+ }
933
+ }
934
+ }
935
+ }
936
+ </style>