humanResources.js 110 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622
  1. Vue.use(scroll);
  2. let app = new Vue({
  3. el: "#app",
  4. data() {
  5. return {
  6. title: "人才中心双选服务平台",
  7. treeList: [
  8. {
  9. name: "岗位发布",
  10. flag: true,
  11. src: "./images/humanResources/post.png",
  12. onSrc: "./images/humanResources/post_on.png",
  13. style: {
  14. top: "65%",
  15. left: "13%",
  16. backgroundImage: "url(./images/humanResources/icon_bg_blue.png)",
  17. },
  18. onStyle: {
  19. top: "65%",
  20. left: "13%",
  21. backgroundImage: "url(./images/humanResources/iconBg_yellow.png)",
  22. },
  23. },
  24. {
  25. name: "自主报名",
  26. flag: false,
  27. src: "./images/humanResources/notes.png",
  28. onSrc: "./images/humanResources/notes_on.png",
  29. style: {
  30. top: "30%",
  31. left: "22%",
  32. backgroundImage: "url(./images/humanResources/icon_bg_blue.png)",
  33. },
  34. onStyle: {
  35. top: "30%",
  36. left: "22%",
  37. backgroundImage: "url(./images/humanResources/iconBg_yellow.png)",
  38. },
  39. },
  40. {
  41. name: "资格审查",
  42. flag: false,
  43. src: "./images/humanResources/qualification.png",
  44. onSrc: "./images/humanResources/qualification_on.png",
  45. style: {
  46. top: "125px",
  47. left: "calc(50% - 202px)",
  48. backgroundImage: "url(./images/humanResources/icon_bg_blue.png)",
  49. },
  50. onStyle: {
  51. top: "125px",
  52. left: "calc(50% - 202px)",
  53. backgroundImage: "url(./images/humanResources/iconBg_yellow.png)",
  54. },
  55. },
  56. {
  57. name: "综合测评",
  58. flag: false,
  59. src: "./images/humanResources/comprehensive.png",
  60. onSrc: "./images/humanResources/comprehensive_on.png",
  61. style: {
  62. top: "30%",
  63. right: "22%",
  64. backgroundImage: "url(./images/humanResources/icon_bg_blue.png)",
  65. },
  66. onStyle: {
  67. top: "30%",
  68. right: "22%",
  69. backgroundImage: "url(./images/humanResources/iconBg_yellow.png)",
  70. },
  71. },
  72. {
  73. name: "录用公示",
  74. flag: false,
  75. src: "./images/humanResources/publicity.png",
  76. onSrc: "./images/humanResources/publicity_on.png",
  77. style: {
  78. top: "65%",
  79. right: "13%",
  80. backgroundImage: "url(./images/humanResources/icon_bg_blue.png)",
  81. },
  82. onStyle: {
  83. top: "65%",
  84. right: "13%",
  85. backgroundImage: "url(./images/humanResources/iconBg_yellow.png)",
  86. },
  87. },
  88. ],
  89. treeIndex: 0,
  90. rollFlag: true,
  91. currentFlag: null,
  92. config1: {
  93. waitTime: 7000,
  94. header: ["双选单位", "双选岗位", "双选人数", "报名人数", "发布时间"],
  95. headerHeight: 55,
  96. columnWidth: [230, 170],
  97. rowNum: 10,
  98. data: [
  99. ["西山煤电屯兰矿", "井下普工", "50", "100", "2023.07.01"],
  100. ["西山煤电斜沟煤矿", "井下钻探工", "10", "30", "2023.07.01"],
  101. ["汾西矿业高阳煤矿", "井下安全检查员", "5", "10", "2023.07.01"],
  102. ["汾西矿业柳湾煤矿", "井下设备管理员", "10", "50", "2023.07.01"],
  103. ["霍州煤电辛置煤矿", "矿井维修电工", "10", "30", "2023.07.01"],
  104. ["霍州煤电恒兴煤业", "生产调度员", "4", "10", "2023.07.01"],
  105. ["霍州煤电吕梁山煤电公司", "汽车驾驶员", "5", "10", "2023.07.01"],
  106. ["山煤国际凌志达煤业", "电工", "5", "16", "2023.07.01"],
  107. ["华晋焦煤沙曲一号煤矿", "井下普工", "40", "120", "2023.07.01"],
  108. ["山西焦化", "技术员", "2", "12", "2023.07.01"],
  109. ["汾西矿业高阳煤矿", "井下安全检查员", "5", "10", "2023.07.01"],
  110. ],
  111. align: ["center", "center", "center", "center", "center"],
  112. headerBGC: "#69c1ff2d",
  113. oddRowBGC: "rgba(105, 193, 255, 0)",
  114. evenRowBGC: "#69c1ff21",
  115. hoverPause: false,
  116. },
  117. configIndex: 1,
  118. config2: {
  119. waitTime: 2000,
  120. header: ["序号", "单位名称", "双选岗位数"],
  121. headerHeight: 55,
  122. rowNum: 5,
  123. data: [
  124. // ["<span class='yellow'>01</span>", "<span class='yellow'>西山煤电</span>", "<span class='yellow'>30个</span>"],
  125. // ["<span class='red'>02</span>", "<span class='red'>山煤国际</span>", "<span class='red'>25个</span>"],
  126. // ["<span class='green'>03</span>", "<span class='green'>汾西矿业</span>", "<span class='green'>20个</span>"],
  127. // ["04", "汾西矿业", "10个"],
  128. // ["05", "汾西矿业", "8个"],
  129. // ["<span class='yellow'>01</span>", "<span class='yellow'>西山煤电</span>", "<span class='yellow'>30个</span>"],
  130. // ["<span class='red'>02</span>", "<span class='red'>山煤国际</span>", "<span class='red'>25个</span>"],
  131. // ["<span class='green'>03</span>", "<span class='green'>汾西矿业</span>", "<span class='green'>20个</span>"],
  132. // ["06", "汾西矿业", "4个"],
  133. // ["07", "山煤国际", "4个"],
  134. ],
  135. align: ["center", "center", "center", "center", "center"],
  136. headerBGC: "#69c1ff2d",
  137. oddRowBGC: "rgba(105, 193, 255, 0)",
  138. evenRowBGC: "#69c1ff21",
  139. carousel: "page",
  140. },
  141. targetIndex: 0,
  142. classChange: false,
  143. listData: [
  144. {
  145. title: "无缝滚动第一行无缝滚动第一行",
  146. date: "2017-12-16",
  147. },
  148. {
  149. title: "无缝滚动第二行无缝滚动第二行",
  150. date: "2017-12-16",
  151. },
  152. {
  153. title: "无缝滚动第三行无缝滚动第三行",
  154. date: "2017-12-16",
  155. },
  156. {
  157. title: "无缝滚动第四行无缝滚动第四行",
  158. date: "2017-12-16",
  159. },
  160. {
  161. title: "无缝滚动第五行无缝滚动第五行",
  162. date: "2017-12-16",
  163. },
  164. {
  165. title: "无缝滚动第六行无缝滚动第六行",
  166. date: "2017-12-16",
  167. },
  168. {
  169. title: "无缝滚动第七行无缝滚动第七行",
  170. date: "2017-12-16",
  171. },
  172. {
  173. title: "无缝滚动第八行无缝滚动第八行",
  174. date: "2017-12-16",
  175. },
  176. {
  177. title: "无缝滚动第九行无缝滚动第九行",
  178. date: "2017-12-16",
  179. },
  180. ],
  181. classOption: {
  182. step: 0.5,
  183. },
  184. configMark: {
  185. waitTime: 2000,
  186. header: ["头像", "姓名", "报名岗位", "时间"],
  187. rowNum: 6,
  188. headerHeight: 55,
  189. columnWidth: [120],
  190. data: [
  191. [
  192. "<img class='list_img' src='./images/header/1.jpg' alt=''>",
  193. "<span class=''>程嘉鑫</span>",
  194. "<span class=''>技术员</span>",
  195. "<span class=''>2023.07.29</span>",
  196. ],
  197. [
  198. "<img class='list_img' src='./images/header/2.jpg' alt=''>",
  199. "<span class=''>池富婕</span>",
  200. "<span class=''>生产调度员</span>",
  201. "<span class=''>2023.07.26</span>",
  202. ],
  203. [
  204. "<img class='list_img' src='./images/header/3.jpg' alt=''>",
  205. "<span class=''>邓文奇</span>",
  206. "<span class=''>井下钻探工</span>",
  207. "<span class=''>2023.07.18</span>",
  208. ],
  209. [
  210. "<img class='list_img' src='./images/header/4.jpg' alt=''>",
  211. "<span class=''>翟世佳</span>",
  212. "<span class=''>井下钻探工</span>",
  213. "<span class=''>2023.07.11</span>",
  214. ],
  215. [
  216. "<img class='list_img' src='./images/header/5.jpg' alt=''>",
  217. "<span class=''>丁一帆</span>",
  218. "<span class=''>生产调度员</span>",
  219. "<span class=''>2023.07.08</span>",
  220. ],
  221. [
  222. "<img class='list_img' src='./images/header/6.jpg' alt=''>",
  223. "<span class=''>董明霞</span>",
  224. "<span class=''>生产调度员</span>",
  225. "<span class=''>2023.07.01</span>",
  226. ],
  227. [
  228. "<img class='list_img' src='./images/header/7.jpg' alt=''>",
  229. "<span class=''>杜沛宣</span>",
  230. "<span class=''>技术员</span>",
  231. "<span class=''>2023.06.29</span>",
  232. ],
  233. [
  234. "<img class='list_img' src='./images/header/8.jpg' alt=''>",
  235. "<span class=''>樊宇浩</span>",
  236. "<span class=''>技术员</span>",
  237. "<span class=''>2023.07.29</span>",
  238. ],
  239. [
  240. "<img class='list_img' src='./images/header/9.jpg' alt=''>",
  241. "<span class=''>冯凯</span>",
  242. "<span class=''>井下钻探工</span>",
  243. "<span class=''>2023.07.26</span>",
  244. ],
  245. [
  246. "<img class='list_img' src='./images/header/10.png' alt=''>",
  247. "<span class=''>耿越</span>",
  248. "<span class=''>生产调度员</span>",
  249. "<span class=''>2023.07.18</span>",
  250. ],
  251. ],
  252. align: ["center", "center", "center", "center", "center"],
  253. headerBGC: "#69c1ff2d",
  254. oddRowBGC: "rgba(105, 193, 255, 0)",
  255. evenRowBGC: "#69c1ff21",
  256. },
  257. configInterview: {
  258. waitTime: 2000,
  259. header: ["序号", "姓名", "地点", "双选单位", "时间"],
  260. headerHeight: 55,
  261. columnWidth: [90, 120, 170, 200],
  262. rowNum: 6,
  263. data: [],
  264. align: ["center", "center", "center", "center", "center"],
  265. headerBGC: "#69c1ff2d",
  266. oddRowBGC: "rgba(105, 193, 255, 0)",
  267. evenRowBGC: "#69c1ff21",
  268. hoverPause: false,
  269. },
  270. configInterviewElse: {
  271. waitTime: 2000,
  272. header: ["序号", "姓名", "地点", "双选单位", "时间"],
  273. headerHeight: 55,
  274. columnWidth: [240, 320, 370, 460, 480],
  275. rowNum: 25,
  276. data: [],
  277. align: ["center", "center", "center", "center", "center"],
  278. headerBGC: "#69c1ff2d",
  279. oddRowBGC: "rgba(105, 193, 255, 0)",
  280. evenRowBGC: "#69c1ff21",
  281. },
  282. configWritten: {
  283. waitTime: 2000,
  284. hoverPause: false,
  285. header: ["序号", "姓名", "地点", "双选单位", "时间"],
  286. headerHeight: 55,
  287. columnWidth: [90, 120, 170, 200],
  288. rowNum: 6,
  289. data: [],
  290. align: ["center", "center", "center", "center", "center"],
  291. headerBGC: "#69c1ff2d",
  292. oddRowBGC: "rgba(105, 193, 255, 0)",
  293. evenRowBGC: "#69c1ff21",
  294. },
  295. mainList: [
  296. [
  297. {
  298. name: "累计双选场次",
  299. value: 0,
  300. unit: "场",
  301. icon: "./images/humanResources/times.png",
  302. },
  303. {
  304. name: "累计参与人数",
  305. value: 0,
  306. unit: "人",
  307. icon: "./images/humanResources/user.png",
  308. },
  309. ],
  310. [
  311. {
  312. name: "月度双选场次",
  313. value: 0,
  314. unit: "场",
  315. icon: "./images/humanResources/times.png",
  316. },
  317. {
  318. name: "月度参与人数",
  319. value: 0,
  320. unit: "人",
  321. icon: "./images/humanResources/user.png",
  322. },
  323. ]
  324. ],
  325. employmentList1: {
  326. waitTime: 2000,
  327. header: ["序号", "姓名", "性别", "身份证号", "拟录用单位"],
  328. rowNum: 5,
  329. headerHeight: 55,
  330. columnWidth: [100, 140, 100, 280],
  331. data: [],
  332. align: ["center", "center", "center", "center", "center"],
  333. headerBGC: "#69c1ff2d",
  334. oddRowBGC: "rgba(105, 193, 255, 0)",
  335. evenRowBGC: "#69c1ff21",
  336. hoverPause: false,
  337. },
  338. employmentList2: {
  339. waitTime: 2000,
  340. header: ["序号", "姓名", "性别", "身份证号", "拟录用单位"],
  341. rowNum: 5,
  342. headerHeight: 55,
  343. columnWidth: [100, 140, 100, 280],
  344. data: [],
  345. align: ["center", "center", "center", "center", "center"],
  346. headerBGC: "#69c1ff2d",
  347. oddRowBGC: "rgba(105, 193, 255, 0)",
  348. evenRowBGC: "#69c1ff21",
  349. hoverPause: false,
  350. },
  351. employmentList3: {
  352. waitTime: 2000,
  353. header: ["序号", "姓名", "性别", "身份证号", "拟录用单位"],
  354. rowNum: 5,
  355. headerHeight: 55,
  356. columnWidth: [100, 140, 100, 280],
  357. data: [],
  358. align: ["center", "center", "center", "center", "center"],
  359. headerBGC: "#69c1ff2d",
  360. oddRowBGC: "rgba(105, 193, 255, 0)",
  361. evenRowBGC: "#69c1ff21",
  362. hoverPause: false,
  363. },
  364. typeList: {
  365. waitTime: 2000,
  366. header: ["单位名称", "岗位名称", "报名人数"],
  367. rowNum: 6,
  368. headerHeight: 55,
  369. columnWidth: [100, 200, 400],
  370. data: [
  371. ["汾西矿业", "综合管理岗", "40"],
  372. ["西山煤电", "综合管理岗", "35"],
  373. ["西山煤电", "财务管理岗", "30"],
  374. ["汾西矿业", "综合管理岗", "25"],
  375. ["西山煤电", "综合管理岗", "20"],
  376. ["西山煤电", "财务管理岗", "15"],
  377. ["汾西矿业", "综合管理岗", "10"],
  378. ],
  379. align: ["center", "center", "center", "center", "center"],
  380. index: true,
  381. headerBGC: "#69c1ff2d",
  382. oddRowBGC: "rgba(105, 193, 255, 0)",
  383. evenRowBGC: "#69c1ff21",
  384. hoverPause: false,
  385. },
  386. vitaEcharts: null,
  387. newList: [],
  388. allTimeList: [],
  389. showMark: false,
  390. showSelect: false,
  391. showMonth: false,
  392. monthList,
  393. monthItem: "08",
  394. timeList1: ["2022-08", "2023-08"],
  395. timeList2: ["2022-08", "2023-08"],
  396. from: "",
  397. type: 0,
  398. echartsIndex: 1,
  399. downholeFlag: true,
  400. markStyle: {
  401. bottom: "4%",
  402. right: "5%",
  403. },
  404. rightList: [
  405. {
  406. name: "当前数",
  407. flag: true,
  408. num1: 0,
  409. num2: 0,
  410. num3: "0%",
  411. },
  412. {
  413. name: "累计数",
  414. flag: false,
  415. num1: 0,
  416. num2: 0,
  417. num3: "0%",
  418. },
  419. ],
  420. rightIndex: 0,
  421. leftList: [
  422. {
  423. name: "双选岗位",
  424. flag: true,
  425. },
  426. {
  427. name: "双选岗位类别",
  428. flag: false,
  429. },
  430. ],
  431. leftIndex: 0,
  432. roseEcharts: null,
  433. leftFlag: true,
  434. rollTitle: "西山煤电屯兰矿井下普工工双选公告",
  435. leftTime: null,
  436. rightTime: null,
  437. recruitInfoList: [],
  438. recruitInfoIndex: 0,
  439. vitaData: {
  440. x: ["4月", "5月", "6月", "7月", "8月", "9月"],
  441. y: [56, 32, 64, 81, 43, 13],
  442. },
  443. isChangeList: false,
  444. imageList: ["./images/humanResources/ppt1.jpg", "", ""],
  445. imageIndex: 0,
  446. imageFlag: false,
  447. pageFlag: true,
  448. hecharts: null,
  449. leftErrorList: [],
  450. // leftErrorList: ["信息不完整", "信息有误", "任职条件不符", "出勤不足", "工作年限不符"],
  451. isShowList: true,
  452. isListEnd: 0,
  453. // address: "西山煤电屯兰矿。",
  454. interviewIndex: 0,
  455. examinationIndex: 0,
  456. showInterview: true, // 面试
  457. showExamination: true, //笔试
  458. noticeList: [],
  459. noticeIndex: 0,
  460. isShowInfoList: false,
  461. recruitTypeMax: 0,
  462. recruitTypeList: [],
  463. showBigList: true,
  464. rightData: [],
  465. noticIndex: 0,
  466. noticList: [],
  467. noticTime: null,
  468. configDataIndex: 1,
  469. itemClass: "item_content_6_false",
  470. dataFlag: true,
  471. lineRight1: null,
  472. lineRight2: null,
  473. lineRight3: null,
  474. lineRight4: null,
  475. lineRight5: null,
  476. listChange: null,
  477. mianshiTime: null,
  478. bishiTime: null,
  479. noteListIndex: 0,
  480. mianBiTime: null,
  481. scrollType: 0,
  482. scrollType2: true,
  483. };
  484. },
  485. beforeCreate() {
  486. // 跳转地址
  487. let AddUrl = location.protocol + "//" + location.host + "/ierp";
  488. return;
  489. if (!window.location.search) {
  490. // alert("链接已失效,请重新打开")
  491. window.location.href = AddUrl;
  492. }
  493. let arr = window.location.search.split("&");
  494. let dataList = [];
  495. arr.forEach((item) => {
  496. dataList.push(item.split("=")[1]);
  497. });
  498. window.user = dataList[0];
  499. let newDate = new Date().getTime();
  500. let authorityType = window.sessionStorage.getItem("authorityType") || false;
  501. // console.log(newDate);
  502. // console.log(parseInt(dataList[1]));
  503. // console.log(parseInt(dataList[1]) + 30000 >= newDate);
  504. // return
  505. var diff = Math.abs(newDate - parseInt(dataList[1])); // 获取两个时间戳的差值(以毫秒为单位)
  506. var diffInSeconds = Math.floor(diff / 1000); // 将差值转换为秒数
  507. let effective = diffInSeconds <= 300; // 判断差值是否在30秒以内
  508. console.log(diff);
  509. console.log(diffInSeconds);
  510. console.log(effective);
  511. debugger;
  512. if (!authorityType) {
  513. if (!effective) {
  514. console.log("链接已失效,请重新打开");
  515. window.location.href = AddUrl;
  516. } else {
  517. console.log("链接未失效");
  518. window.sessionStorage.setItem("authorityType", true);
  519. }
  520. }
  521. },
  522. beforeDestroy() {
  523. window.sessionStorage.removeItem("authorityType");
  524. },
  525. created() {
  526. let date = new Date();
  527. let year = date.getFullYear();
  528. let year2 = date.getFullYear() - 1;
  529. let month = date.getMonth() + 1;
  530. if (month < 10) {
  531. month = "0" + month;
  532. this.timeList1 = [year2 + "-" + month, year + "-" + month];
  533. this.timeList2 = [year2 + "-" + month, year + "-" + month];
  534. } else {
  535. this.timeList1 = [year2 + "-" + month, year + "-" + month];
  536. this.timeList2 = [year2 + "-" + month, year + "-" + month];
  537. }
  538. this.newList = listToChange(yearList, monthList);
  539. this.employmentList3.data = employmentList;
  540. if (employmentList.length % 2 != 0) {
  541. employmentList.push([]);
  542. }
  543. employmentList.forEach((item, index) => {
  544. if (index % 2 == 0) {
  545. this.employmentList1.data.push(item);
  546. } else {
  547. this.employmentList2.data.push(item);
  548. }
  549. });
  550. this.keyDown();
  551. },
  552. directives: {
  553. resize: {
  554. bind(el, binding) {
  555. let width = ''
  556. let height = ''
  557. function isResize() {
  558. const style = document.defaultView.getComputedStyle(el)
  559. if (width !== style.width || height !== style.height) {
  560. binding.value({ width: style.width, height: style.height }) // 关键(这传入的是函数,所以执行此函数)
  561. }
  562. width = style.width
  563. height = style.height
  564. }
  565. el.__vueSetInterval__ = setInterval(isResize, 300)
  566. },
  567. unbind(el) {
  568. // console.log(el, '解绑')
  569. clearInterval(el.__vueSetInterval__)
  570. }
  571. }
  572. },
  573. watch: {
  574. '$refs.displayNone.innerText': function (newVal, oldVal) {
  575. console.log(newVal, oldVal)
  576. this.$nextTick(() => {
  577. // 在DOM更新后获取高度
  578. this.height = this.$refs.content.offsetHeight;
  579. });
  580. },
  581. imageIndex() {
  582. let that = this;
  583. if (this.imageIndex == this.imageList.length) {
  584. that.downhole.dispose();
  585. that.vitaEcharts.dispose();
  586. setTimeout(() => {
  587. let pageBtm = that.$refs.pageBtm;
  588. that.initDownholeEcharts(pageBtm, {
  589. x: admissionList.x,
  590. y1: admissionList.y1,
  591. y2: admissionList.y2,
  592. y3: admissionList.y3,
  593. });
  594. let vita = that.$refs.vita;
  595. that.initVitaEcharts(vita);
  596. });
  597. this.imageIndex = 0;
  598. this.imageFlag = false;
  599. }
  600. },
  601. },
  602. mounted() {
  603. let that = this;
  604. this.$nextTick(() => {
  605. // setInterval(() => {
  606. // const timer = setTimeout(() => {
  607. // clearTimeout(timer)
  608. // console.log(that.$refs.displayNone.offsetHeight, '--')
  609. // if ( that.$refs.displayNone?.offsetHeight + 30 > that.$refs.father?.offsetHeight ) {
  610. // that.scrollType = false;
  611. // } else {
  612. // that.scrollType = true;
  613. // }
  614. // }, 0);
  615. // }, that.config1.waitTime)
  616. // 判断是否轮播
  617. setTimeout(() => {
  618. console.log(that.$refs.father?.offsetHeight, that.$refs.father?.offsetWidth)
  619. // if (
  620. // that.$refs.child?.offsetHeight + 30 >
  621. // that.$refs.father?.offsetHeight
  622. // ) {
  623. // that.scrollType = false;
  624. // }
  625. if (
  626. that.$refs.child2?.offsetHeight + 30 >
  627. that.$refs.father2?.offsetHeight
  628. ) {
  629. that.scrollType2 = false;
  630. }
  631. }, 1000);
  632. setInterval(() => {
  633. let that = this;
  634. that.treeList.forEach((item) => {
  635. item.flag = false;
  636. });
  637. if (that.treeIndex >= that.treeList.length - 1) {
  638. that.treeIndex = 0;
  639. } else {
  640. that.treeIndex = that.treeIndex + 1;
  641. }
  642. that.treeList[that.treeIndex].flag = true;
  643. }, 5000);
  644. localEnvAppToken()
  645. .then((res) => {
  646. localStorage.setItem("app_token", res.app_token);
  647. getLocalEnvAccessToken().then((res) => {
  648. localStorage.setItem("access_token", res.access_token);
  649. that.getPlayers();
  650. that.getPostDetail();
  651. that.getHalfYearDelivcv();
  652. that.getHotDelivcv();
  653. that.arrToListArr();
  654. that.getDelivcvAndApply();
  655. that.getRecruitType();
  656. that.getFailReason();
  657. that.getQualAudits();
  658. that.getNoticePerson();
  659. that.getNotice();
  660. that.getDoubleChoice();
  661. that.getPositionAll();
  662. that.getTotalRate();
  663. });
  664. })
  665. .catch((err) => {
  666. this.isChangeList = true;
  667. this.isShowInfoList = true;
  668. let pageBtm = this.$refs.pageBtm;
  669. this.initDownholeEcharts(pageBtm, {
  670. x: admissionList.x,
  671. y1: admissionList.y1,
  672. y2: admissionList.y2,
  673. y3: admissionList.y3,
  674. });
  675. let vita = this.$refs.vita;
  676. that.initVitaEcharts(vita);
  677. setTimeout(() => {
  678. let itemContent = document.getElementById("itemContent");
  679. if (itemContent) {
  680. let target = itemContent.getElementsByClassName("row-item");
  681. let targetList = target.item(0);
  682. targetList.style.background = "#302e2d50";
  683. targetList.style.color = "#E1AF27";
  684. }
  685. }, 10);
  686. });
  687. });
  688. this.leftTime = setInterval(() => {
  689. that.leftList.forEach((item, index) => {
  690. item.flag = !item.flag;
  691. if (item.flag) {
  692. if (index == 0) {
  693. that.leftFlag = true;
  694. // that.timeList2 = [that.allTimeList[1][1], that.allTimeList[1][0]]
  695. that.getPositionAll();
  696. } else {
  697. that.leftFlag = false;
  698. // that.timeList2 = [that.allTimeList[0][1], that.allTimeList[0][0]]
  699. that.getRecruitType();
  700. setTimeout(() => {
  701. let leftChange = that.$refs.leftChange;
  702. that.initThreeBig(leftChange);
  703. });
  704. }
  705. }
  706. });
  707. }, 15000);
  708. this.rightTime = setInterval(() => {
  709. that.rightList.forEach((item, index) => {
  710. item.flag = !item.flag;
  711. if (item.flag) {
  712. that.rightIndex = index;
  713. }
  714. });
  715. }, 5000);
  716. },
  717. methods: {
  718. handleResize(data) {
  719. console.log('handleResize', Number(data.height.slice(0, -2)) + 30)
  720. const fatherHeight = this.$refs.father?.offsetHeight
  721. this.scrollType = fatherHeight > Number(data.height.slice(0, -2)) + 30 ? 1 : 2
  722. },
  723. handleClickIcon(type, index) {
  724. if (type === 1) return
  725. let that = this;
  726. if (index == 1) {
  727. that.mianBiTime && clearInterval(that.mianBiTime);
  728. if (that.showBigList) {
  729. that.configInterview.rowNum = 20;
  730. that.configWritten.rowNum = 20;
  731. that.employmentList3.rowNum = 20;
  732. that.configInterview.columnWidth = [];
  733. that.configInterview.columnWidth = [240, 320, 370, 460, 480];
  734. that.configWritten.columnWidth = [];
  735. that.configWritten.columnWidth = [240, 320, 370, 460, 480];
  736. that.employmentList3.columnWidth = [];
  737. that.employmentList3.columnWidth = [240, 320, 370, 460, 480];
  738. that.leftTime && clearInterval(that.leftTime);
  739. that.rightTime && clearInterval(that.rightTime);
  740. if (that.roseEcharts) {
  741. that.roseEcharts.dispose();
  742. }
  743. if (
  744. that.configInterviewElse.data.length <=
  745. that.configInterviewElse.rowNum
  746. ) {
  747. that.mianBiTime = setInterval(() => {
  748. that.getNoticePerson();
  749. }, 1000 * 60 * 5);
  750. }
  751. setTimeout(() => {
  752. that.showBigList = false;
  753. }, 10);
  754. } else {
  755. that.configInterview.rowNum = 6;
  756. that.configWritten.rowNum = 6;
  757. that.configInterview.columnWidth = [90, 120, 170, 200];
  758. that.configWritten.columnWidth = [90, 120, 170, 200];
  759. that.leftFlag = true;
  760. that.leftList = [
  761. {
  762. name: "双选岗位",
  763. flag: true,
  764. },
  765. {
  766. name: "双选岗位类别",
  767. flag: false,
  768. },
  769. ];
  770. setTimeout(() => {
  771. that.showBigList = true;
  772. that.leftTime = setInterval(() => {
  773. that.leftList.forEach((item, index) => {
  774. item.flag = !item.flag;
  775. if (item.flag) {
  776. if (index == 0) {
  777. that.leftFlag = true;
  778. // that.timeList2 = [that.allTimeList[1][1], that.allTimeList[1][0]]
  779. that.getPositionAll();
  780. } else {
  781. that.leftFlag = false;
  782. // that.timeList2 = [that.allTimeList[0][1], that.allTimeList[0][0]]
  783. that.getRecruitType();
  784. setTimeout(() => {
  785. let leftChange = that.$refs.leftChange;
  786. that.initThreeBig(leftChange);
  787. });
  788. }
  789. }
  790. });
  791. }, 15000);
  792. }, 10);
  793. }
  794. setTimeout(() => {
  795. if (that.showBigList) {
  796. let total = 0;
  797. that.rightData.forEach((item) => {
  798. total = total + item.value;
  799. });
  800. return new Promise(() => {
  801. that.getFailReason();
  802. that.getHalfYearDelivcv();
  803. });
  804. }
  805. }, 15);
  806. } else {
  807. that.dataFlag = !that.dataFlag;
  808. that.leftTime && clearInterval(that.leftTime);
  809. that.leftTime = setInterval(() => {
  810. that.leftList.forEach((item, index) => {
  811. item.flag = !item.flag;
  812. if (item.flag) {
  813. if (index == 0) {
  814. that.leftFlag = true;
  815. // that.timeList2 = [that.allTimeList[1][1], that.allTimeList[1][0]]
  816. that.getPositionAll();
  817. } else {
  818. that.leftFlag = false;
  819. // that.timeList2 = [that.allTimeList[0][1], that.allTimeList[0][0]]
  820. that.getRecruitType();
  821. setTimeout(() => {
  822. let leftChange = that.$refs.leftChange;
  823. that.initThreeBig(leftChange);
  824. });
  825. }
  826. }
  827. });
  828. }, 15000);
  829. that.rightTime && clearInterval(that.rightTime);
  830. that.rightTime = setInterval(() => {
  831. that.rightList.forEach((item, index) => {
  832. item.flag = !item.flag;
  833. if (item.flag) {
  834. that.rightIndex = index;
  835. }
  836. });
  837. }, 5000);
  838. that.getPlayers();
  839. that.getPostDetail();
  840. that.getHalfYearDelivcv();
  841. that.getHotDelivcv();
  842. that.arrToListArr();
  843. that.getDelivcvAndApply();
  844. that.getRecruitType();
  845. that.getFailReason();
  846. that.getQualAudits();
  847. that.getNoticePerson();
  848. that.getNotice();
  849. that.getDoubleChoice();
  850. that.getPositionAll();
  851. that.getTotalRate();
  852. }
  853. },
  854. // 监听键盘
  855. keyDown() {
  856. let that = this;
  857. document.onkeydown = (e) => {
  858. //事件对象兼容
  859. if (this.imageFlag) {
  860. let e1 =
  861. e || event || window.event || arguments.callee.caller.arguments[0];
  862. //键盘按键判断:左箭头-37;上箭头-38;右箭头-39;下箭头-40
  863. if (e1 && e1.keyCode == 37) {
  864. if (that.imageIndex != 0) {
  865. that.imageIndex = that.imageIndex - 1;
  866. }
  867. } else if (e1 && e1.keyCode == 38) {
  868. // that.imageIndex = that.imageIndex - 1
  869. if (that.imageIndex != 0) {
  870. that.imageIndex = that.imageIndex - 1;
  871. }
  872. } else if (e1 && e1.keyCode == 33) {
  873. // that.imageIndex = that.imageIndex - 1
  874. if (that.imageIndex != 0) {
  875. that.imageIndex = that.imageIndex - 1;
  876. }
  877. } else if (e1 && e1.keyCode == 39) {
  878. that.imageIndex = that.imageIndex + 1;
  879. } else if (e1 && e1.keyCode == 40) {
  880. that.imageIndex = that.imageIndex + 1;
  881. } else if (e1 && e1.keyCode == 34) {
  882. that.imageIndex = that.imageIndex + 1;
  883. }
  884. }
  885. };
  886. },
  887. handleChangeImage() {
  888. this.imageIndex += 1;
  889. },
  890. fullScreen() {
  891. let docElm = document.documentElement;
  892. if (docElm.requestFullscreen) {
  893. docElm.requestFullscreen();
  894. } else if (docElm.msRequestFullscreen) {
  895. docElm.msRequestFullscreen();
  896. } else if (docElm.mozRequestFullScreen) {
  897. docElm.mozRequestFullScreen();
  898. } else if (docElm.webkitRequestFullScreen) {
  899. docElm.webkitRequestFullScreen();
  900. }
  901. this.imageFlag = true;
  902. this.pageFlag = false;
  903. },
  904. initDownholeEcharts(el, data) {
  905. if (this.downhole) {
  906. this.downhole.dispose();
  907. }
  908. this.downhole = echarts.init(el);
  909. let series = [];
  910. let grid = {
  911. top: "15%",
  912. bottom: 50, //也可设置left和right设置距离来控制图表的大小
  913. left: "3%",
  914. right: "1%",
  915. };
  916. option = {
  917. tooltip: {
  918. backgroundColor: "rgba(0, 0, 0, 0.3)",
  919. borderColor: "rgba(0,0,0,0.5)",
  920. show: true,
  921. trigger: "axis",
  922. textStyle: {
  923. fontSize: 30,
  924. color: "#A3E2F4",
  925. },
  926. axisPointer: {
  927. // 坐标轴指示器,坐标轴触发有效
  928. type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
  929. },
  930. },
  931. grid,
  932. legend: {
  933. data: ["需求人数", "报名人数", "录用人数"],
  934. align: "left",
  935. itemGap: 50,
  936. right: 500,
  937. y: "2%",
  938. icon: "rect",
  939. textStyle: {
  940. color: "#fff",
  941. fontSize: 30,
  942. },
  943. },
  944. xAxis: {
  945. axisTick: {
  946. show: false,
  947. },
  948. axisLine: {
  949. show: false,
  950. },
  951. axisLabel: {
  952. interval: 0,
  953. show: true,
  954. fontSize: 30,
  955. textStyle: {
  956. color: "#fff", //X轴文字颜色
  957. },
  958. },
  959. data: data.x,
  960. },
  961. yAxis: {
  962. type: "value",
  963. name: "人",
  964. gridIndex: 0,
  965. // splitNumber: 4,
  966. splitLine: {
  967. show: false,
  968. lineStyle: {
  969. color: "#A3C0DF",
  970. width: 1,
  971. },
  972. },
  973. nameTextStyle: {
  974. fontSize: 30,
  975. },
  976. axisTick: {
  977. show: false,
  978. },
  979. axisLine: {
  980. show: false,
  981. lineStyle: {
  982. color: "#A3C0DF",
  983. },
  984. },
  985. axisLabel: {
  986. show: true,
  987. margin: 14,
  988. fontSize: 28,
  989. textStyle: {
  990. color: "#fff", //X轴文字颜色
  991. },
  992. },
  993. },
  994. series: [
  995. {
  996. type: "bar",
  997. name: "需求人数",
  998. barWidth: 26,
  999. itemStyle: {
  1000. color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
  1001. {
  1002. offset: 1,
  1003. color: "#40A9FF",
  1004. },
  1005. {
  1006. offset: 0,
  1007. color: "#082049",
  1008. },
  1009. ]),
  1010. },
  1011. data: data.y1,
  1012. },
  1013. {
  1014. type: "bar",
  1015. name: "报名人数",
  1016. barWidth: 26,
  1017. itemStyle: {
  1018. color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
  1019. {
  1020. offset: 1,
  1021. color: "#EAE179",
  1022. },
  1023. {
  1024. offset: 0,
  1025. color: "#082049",
  1026. },
  1027. ]),
  1028. },
  1029. data: data.y2,
  1030. },
  1031. {
  1032. type: "bar",
  1033. name: "录用人数",
  1034. barWidth: 26,
  1035. itemStyle: {
  1036. color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
  1037. {
  1038. offset: 1,
  1039. color: "#6A83FF",
  1040. },
  1041. {
  1042. offset: 0,
  1043. color: "#082049",
  1044. },
  1045. ]),
  1046. },
  1047. data: data.y3,
  1048. },
  1049. ],
  1050. };
  1051. this.downhole.setOption(option);
  1052. tools.loopShowTooltip(this.downhole, option, {
  1053. nterval: 2000,
  1054. loopSeries: true,
  1055. });
  1056. },
  1057. scrollChange(index) {
  1058. this.scrollType = 1
  1059. let that = this;
  1060. (this.itemClass = "item_content_6"), (this.rollFlag = false);
  1061. if (that.noteListIndex >= this.config1.data.length - 1) {
  1062. that.noteListIndex = 0;
  1063. this.recruitInfoIndex = 0;
  1064. } else {
  1065. that.noteListIndex += 1;
  1066. that.recruitInfoIndex += 1;
  1067. }
  1068. // this.address = this.config1.data[listIndex][0] + "。"
  1069. if (
  1070. this.config1.data[that.noteListIndex][0] &&
  1071. this.config1.data[that.noteListIndex][1]
  1072. ) {
  1073. this.rollTitle =
  1074. this.config1.data[that.noteListIndex][0] +
  1075. this.config1.data[that.noteListIndex][1] +
  1076. "双选公告";
  1077. }
  1078. setTimeout(() => {
  1079. this.rollFlag = true;
  1080. });
  1081. },
  1082. initRightCycle(el, data) {
  1083. var getvalue = [data];
  1084. let chat = echarts.init(el);
  1085. option = {
  1086. title: {
  1087. text: getvalue + "%",
  1088. textStyle: {
  1089. color: "#fff",
  1090. fontSize: 20,
  1091. },
  1092. itemGap: 20,
  1093. left: "55%",
  1094. top: "38%",
  1095. },
  1096. // tooltip: {
  1097. // formatter: function (params) {
  1098. // return '<span style="color: #fff;">综合得分:' + getvalue + '分</span>';
  1099. // }
  1100. // },
  1101. angleAxis: {
  1102. max: 100,
  1103. clockwise: true, // 逆时针
  1104. // 隐藏刻度线
  1105. show: false,
  1106. },
  1107. radiusAxis: {
  1108. type: "category",
  1109. show: true,
  1110. axisLabel: {
  1111. show: false,
  1112. },
  1113. axisLine: {
  1114. show: false,
  1115. },
  1116. axisTick: {
  1117. show: false,
  1118. },
  1119. },
  1120. polar: {
  1121. center: ["70%", "50%"],
  1122. radius: ["60%", "75%"],
  1123. // radius: '100%' //图形大小
  1124. },
  1125. series: [
  1126. {
  1127. type: "bar",
  1128. data: getvalue,
  1129. showBackground: true,
  1130. backgroundStyle: {
  1131. color: "#BDEBFF",
  1132. },
  1133. coordinateSystem: "polar",
  1134. roundCap: true,
  1135. barWidth: 30,
  1136. itemStyle: {
  1137. normal: {
  1138. opacity: 1,
  1139. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1140. {
  1141. offset: 0,
  1142. color: "#25BFFF",
  1143. },
  1144. {
  1145. offset: 1,
  1146. color: "#5284DE",
  1147. },
  1148. ]),
  1149. shadowBlur: 5,
  1150. shadowColor: "#2A95F9",
  1151. },
  1152. },
  1153. },
  1154. ],
  1155. };
  1156. chat.setOption(option);
  1157. },
  1158. initLineRight(el, data, type) {
  1159. let that = this;
  1160. let myChart;
  1161. if (type) {
  1162. if (that[type]) {
  1163. that[type].dispose();
  1164. }
  1165. that[type] = echarts.init(el);
  1166. } else {
  1167. myChart = echarts.init(el);
  1168. }
  1169. let nameList = ["a"];
  1170. let valueList = [data.value];
  1171. let total = data.total; // 数据总数
  1172. var category = nameList.map((item, index) => {
  1173. return {
  1174. value: valueList[index],
  1175. itemStyle: {
  1176. color: new echarts.graphic.LinearGradient(
  1177. 1,
  1178. 0,
  1179. 0,
  1180. 1,
  1181. [
  1182. {
  1183. offset: 0,
  1184. color: "#40A9FF50",
  1185. },
  1186. {
  1187. offset: 1,
  1188. color: "#40A9FF",
  1189. },
  1190. ],
  1191. false
  1192. ),
  1193. },
  1194. };
  1195. });
  1196. var totalList = [];
  1197. var totalBorderList = [];
  1198. nameList.map((item, index) => {
  1199. totalList.push({
  1200. value: total,
  1201. itemStyle: {
  1202. color: "rgba(51, 147, 236, 0.29)",
  1203. },
  1204. });
  1205. totalBorderList.push({
  1206. value: total,
  1207. itemStyle: {
  1208. borderColor: "rgba(51, 147, 236, 0.29)",
  1209. color: "transparent",
  1210. },
  1211. });
  1212. });
  1213. var datas = [];
  1214. category.forEach((value) => {
  1215. datas.push(value.value);
  1216. });
  1217. if (total == 0) {
  1218. total += 1;
  1219. }
  1220. option = {
  1221. // backgroundColor: 'rgb(231,238,249)',
  1222. xAxis: {
  1223. max: total,
  1224. splitLine: {
  1225. show: false,
  1226. },
  1227. axisLine: {
  1228. show: false,
  1229. },
  1230. axisLabel: {
  1231. show: false,
  1232. },
  1233. axisTick: {
  1234. show: false,
  1235. },
  1236. },
  1237. grid: {
  1238. left: "1%",
  1239. top: 20, // 设置条形图的边距
  1240. right: "40%",
  1241. bottom: 20,
  1242. },
  1243. yAxis: [
  1244. {
  1245. type: "category",
  1246. inverse: false,
  1247. data: nameList,
  1248. axisLine: {
  1249. show: false,
  1250. },
  1251. axisTick: {
  1252. show: false,
  1253. },
  1254. axisLabel: {
  1255. show: false,
  1256. },
  1257. },
  1258. ],
  1259. series: [
  1260. {
  1261. // 内
  1262. type: "bar",
  1263. barWidth: 16,
  1264. barGap: "20%",
  1265. silent: true,
  1266. // label: {
  1267. // normal: {
  1268. // formatter: (item) => {
  1269. // return `${item['name']}:${item['value']} `;
  1270. // },
  1271. // textStyle: {
  1272. // color: 'rgba(105, 120, 136, 1)',
  1273. // fontSize: 14,
  1274. // },
  1275. // position: [0, '-25px'],
  1276. // show: true,
  1277. // },
  1278. // },
  1279. data: category,
  1280. z: 1,
  1281. itemStyle: {
  1282. normal: {
  1283. color: new echarts.graphic.LinearGradient(
  1284. 1,
  1285. 0,
  1286. 0,
  1287. 1,
  1288. [
  1289. {
  1290. offset: 0,
  1291. color: "rgba(81, 193, 156, 1)",
  1292. },
  1293. {
  1294. offset: 1,
  1295. color: "rgba(234, 177, 100, 1)",
  1296. },
  1297. ],
  1298. false
  1299. ),
  1300. },
  1301. },
  1302. animationEasing: "elasticOut",
  1303. },
  1304. {
  1305. // 分隔
  1306. type: "pictorialBar",
  1307. itemStyle: {
  1308. normal: {
  1309. color: "#143362",
  1310. },
  1311. },
  1312. symbolRepeat: "fixed",
  1313. symbolMargin: 8,
  1314. symbol: "rect",
  1315. symbolClip: false,
  1316. symbolSize: [4, 20],
  1317. symbolPosition: "start",
  1318. symbolOffset: [0, -2],
  1319. symbolBoundingData: total,
  1320. data: [total, total, total, total],
  1321. z: 2,
  1322. animationEasing: "elasticOut",
  1323. },
  1324. {
  1325. // label
  1326. type: "pictorialBar",
  1327. symbolBoundingData: total,
  1328. itemStyle: {
  1329. normal: {
  1330. color: "none",
  1331. },
  1332. },
  1333. label: {
  1334. normal: {
  1335. formatter: (params) => {
  1336. var text;
  1337. if (total == 0) {
  1338. text = `0 人 | 0%`;
  1339. return text;
  1340. }
  1341. if (params.value >= 10) {
  1342. if (((params.value / total) * 100).toFixed(0) < 10) {
  1343. text = `${" " + params.value}人 | ${data.point}`;
  1344. } else {
  1345. text = `${params.value}人 | ${data.point}`;
  1346. }
  1347. } else {
  1348. text = `${" " + params.value}人 | ${data.point}`;
  1349. }
  1350. return text;
  1351. },
  1352. textStyle: {
  1353. // 图列内容样式
  1354. fontSize: "30",
  1355. fontWeight: 800,
  1356. },
  1357. position: "right",
  1358. offset: [0, -3],
  1359. distance: 10, // 向右偏移位置
  1360. show: true,
  1361. color: "#FFF",
  1362. },
  1363. },
  1364. data: datas,
  1365. z: 0,
  1366. },
  1367. {
  1368. name: "外框",
  1369. type: "bar",
  1370. barGap: "-130%", // 设置外框粗细
  1371. data: totalBorderList,
  1372. barWidth: 26,
  1373. itemStyle: {
  1374. normal: {
  1375. // barBorderRadius: [5, 5, 5, 5],
  1376. borderWidth: 1, // 边框宽度
  1377. borderColor: "rgb(51, 147, 236)", // 边框色
  1378. color: "rgb(231,238,249)",
  1379. },
  1380. },
  1381. z: 0,
  1382. },
  1383. ],
  1384. };
  1385. //轮播
  1386. // tools.loopShowTooltip(leftEcharts1, option, {
  1387. // interval: 2000,
  1388. // loopSeries: true,
  1389. // });
  1390. //注册
  1391. if (type) {
  1392. that[type].setOption(option);
  1393. } else {
  1394. myChart.setOption(option);
  1395. }
  1396. },
  1397. initVitaEcharts(el, data) {
  1398. let that = this;
  1399. if (this.vitaEcharts) {
  1400. this.vitaEcharts.dispose();
  1401. }
  1402. this.vitaEcharts = echarts.init(el);
  1403. let dataList = [...that.vitaData.y];
  1404. let max = dataList.sort(function (a, b) {
  1405. return b - a;
  1406. })[0];
  1407. let maxList = [];
  1408. this.vitaData.x.forEach((item) => {
  1409. maxList.push(max);
  1410. });
  1411. option = {
  1412. tooltip: {
  1413. show: true,
  1414. backgroundColor: "rgba(0, 0, 0, 0.3)",
  1415. borderColor: "rgba(0,0,0,0.5)",
  1416. trigger: "axis",
  1417. textStyle: {
  1418. fontSize: 30,
  1419. color: "#A3E2F4",
  1420. },
  1421. axisPointer: {
  1422. // 坐标轴指示器,坐标轴触发有效
  1423. type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
  1424. },
  1425. formatter: "{a} : {c}人",
  1426. },
  1427. animation: true,
  1428. grid: {
  1429. top: "12%",
  1430. bottom: "8%",
  1431. right: "2%",
  1432. },
  1433. xAxis: {
  1434. data: that.vitaData.x,
  1435. axisLine: {
  1436. show: false, //隐藏X轴轴线
  1437. },
  1438. axisTick: {
  1439. show: false, //隐藏X轴轴线
  1440. },
  1441. splitLine: {
  1442. show: false,
  1443. lineStyle: {
  1444. color: "rgba(77, 128, 254, 0.2)",
  1445. width: 2,
  1446. },
  1447. },
  1448. axisLabel: {
  1449. show: true,
  1450. interval: 0,
  1451. fontSize: 24,
  1452. textStyle: {
  1453. color: "#fff", //X轴文字颜色
  1454. },
  1455. },
  1456. },
  1457. yAxis: [
  1458. {
  1459. name: "报名/人",
  1460. type: "value",
  1461. gridIndex: 0,
  1462. min: 0,
  1463. splitNumber: 4,
  1464. splitLine: {
  1465. show: false,
  1466. lineStyle: {
  1467. color: "rgba(77, 128, 254, 0.2)",
  1468. width: 2,
  1469. },
  1470. },
  1471. axisTick: {
  1472. show: false,
  1473. },
  1474. nameTextStyle: {
  1475. fontSize: 28,
  1476. color: "#B6BFCE",
  1477. },
  1478. axisLine: {
  1479. show: false,
  1480. lineStyle: {
  1481. color: "rgba(77, 128, 254, 0.2)",
  1482. },
  1483. },
  1484. axisLabel: {
  1485. show: true,
  1486. margin: 14,
  1487. fontSize: 26,
  1488. textStyle: {
  1489. color: "#65D5FF",
  1490. },
  1491. },
  1492. },
  1493. ],
  1494. series: [
  1495. {
  1496. name: "报名人数",
  1497. type: "bar",
  1498. barWidth: 16,
  1499. itemStyle: {
  1500. normal: {
  1501. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1502. {
  1503. offset: 1,
  1504. color: "#004E8E",
  1505. },
  1506. {
  1507. offset: 0,
  1508. color: "#40A9FF",
  1509. },
  1510. ]),
  1511. },
  1512. },
  1513. data: that.vitaData.y,
  1514. z: 10,
  1515. zlevel: 0,
  1516. },
  1517. {
  1518. // 分隔
  1519. type: "pictorialBar",
  1520. itemStyle: {
  1521. normal: {
  1522. color: "#0F375F",
  1523. },
  1524. },
  1525. symbolRepeat: "fixed",
  1526. symbolMargin: 6,
  1527. symbol: "rect",
  1528. symbolClip: true,
  1529. symbolSize: [18, 2],
  1530. symbolPosition: "start",
  1531. symbolOffset: [1, 1],
  1532. data: that.vitaData.y,
  1533. width: 2,
  1534. z: 0,
  1535. zlevel: 1,
  1536. },
  1537. {
  1538. name: "外框",
  1539. type: "bar",
  1540. barGap: "-110%", // 设置外框粗细
  1541. data: maxList,
  1542. barWidth: 16,
  1543. itemStyle: {
  1544. normal: {
  1545. color: "transparent", // 填充色
  1546. // barBorderRadius: 0, //圆角半径
  1547. label: {
  1548. // 标签显示位置
  1549. show: false,
  1550. position: "top", // insideTop 或者横向的 insideLeft
  1551. },
  1552. },
  1553. },
  1554. z: 0,
  1555. },
  1556. {
  1557. name: "背影",
  1558. type: "line",
  1559. smooth: true, //平滑曲线显示
  1560. showAllSymbol: false, //显示所有图形。
  1561. symbolSize: 0,
  1562. lineStyle: {
  1563. width: 0,
  1564. },
  1565. areaStyle: {
  1566. color: "rgba(0, 151, 251, 0.1)",
  1567. },
  1568. data: that.vitaData.y,
  1569. z: 5,
  1570. },
  1571. ],
  1572. dataZoom: [
  1573. {
  1574. type: "slider",
  1575. show: false,
  1576. xAxisIndex: [0],
  1577. endValue: 12,
  1578. startValue: 0,
  1579. },
  1580. ],
  1581. };
  1582. this.vitaEcharts.setOption(option);
  1583. tools.loopShowTooltip(this.vitaEcharts, option, {
  1584. nterval: 2000,
  1585. loopSeries: true,
  1586. });
  1587. },
  1588. initRoseEcharts(
  1589. el,
  1590. myData = {
  1591. number: ["10", "13", "20"],
  1592. titlename: ["地面", "辅助", "一线"],
  1593. }
  1594. ) {
  1595. this.roseEcharts = echarts.init(el);
  1596. var colorArr = [
  1597. "#218de0",
  1598. "#01cbb3",
  1599. "#85e647",
  1600. "#5d5cda",
  1601. "#f6d54a",
  1602. "#f845f1",
  1603. ];
  1604. var colorAlpha = [
  1605. "rgba(60,170,211,0.05)",
  1606. "rgba(1,203,179,0.05)",
  1607. "rgba(133,230,71,0.05)",
  1608. "rgba(93,92,218,0.05)",
  1609. "rgba(5,197,176,0.05)",
  1610. "rgba(194,153,39,0.05)",
  1611. ];
  1612. var myProperty = {
  1613. titlefontsize: 30,
  1614. polarradius: "60%",
  1615. pieradius: "60%",
  1616. length1: 10,
  1617. length2: 55,
  1618. };
  1619. var data = [];
  1620. var total = 0;
  1621. for (var i = 0; i < myData.number.length; i++) {
  1622. total += Number(myData.number[i]);
  1623. }
  1624. for (let index = 0; index < myData.titlename.length; index++) {
  1625. data.push({
  1626. value: myData.number[index],
  1627. name: myData.titlename[index],
  1628. itemStyle: {
  1629. normal: {
  1630. borderColor: colorArr[index],
  1631. borderWidth: 2,
  1632. shadowBlur: 20,
  1633. shadowColor: colorArr[index],
  1634. shadowOffsetx: 25,
  1635. shadowOffsety: 20,
  1636. color: colorAlpha[index],
  1637. },
  1638. },
  1639. label: {
  1640. normal: {
  1641. formatter: ["{b|{b}: {c}个}", "{d| {d}%}"].join("\n"), //join函数将数组中的元素用选择的分隔符拼接成一个字符串
  1642. rich: {
  1643. b: {
  1644. color: colorArr[index],
  1645. fontSize: myProperty.titlefontsize,
  1646. lineHeight: 20,
  1647. },
  1648. d: {
  1649. color: "#d0fffc",
  1650. fontSize: myProperty.titlefontsize, //手动输入的字体大小
  1651. height: 50,
  1652. align: "center", //这里是控制文本的位置 此时是居中
  1653. },
  1654. },
  1655. },
  1656. },
  1657. });
  1658. }
  1659. option = {
  1660. grid: {
  1661. left: -100,
  1662. top: 50,
  1663. bottom: 10,
  1664. right: 10,
  1665. containLabel: true,
  1666. },
  1667. tooltip: {
  1668. show: true,
  1669. backgroundColor: "rgba(0, 0, 0, 0.3)",
  1670. borderColor: "rgba(0,0,0,0.5)",
  1671. trigger: "item",
  1672. textStyle: {
  1673. fontSize: 30,
  1674. color: "#A3E2F4",
  1675. },
  1676. },
  1677. polar: {
  1678. // radius: ['0%','60%'],
  1679. //radius:[0,200]
  1680. radius: myProperty.polarradius,
  1681. },
  1682. angleAxis: {
  1683. interval: 1,
  1684. type: "category",
  1685. data: [],
  1686. z: 10,
  1687. axisLine: {
  1688. show: false,
  1689. lineStyle: {
  1690. color: "#0B4A6B",
  1691. width: 1,
  1692. type: "solid",
  1693. },
  1694. },
  1695. axisLabel: {
  1696. interval: 0,
  1697. show: true,
  1698. color: "#0B4A6B",
  1699. margin: 8,
  1700. fontSize: 16,
  1701. },
  1702. },
  1703. radiusAxis: {
  1704. min: 20,
  1705. max: 120,
  1706. interval: 20,
  1707. axisLine: {
  1708. show: false,
  1709. lineStyle: {
  1710. color: "#0B3E5E",
  1711. width: 1,
  1712. type: "solid",
  1713. },
  1714. },
  1715. axisLabel: {
  1716. formatter: "{value} %",
  1717. show: false,
  1718. padding: [0, 0, 20, 0],
  1719. color: "#0B3E5E",
  1720. fontSize: 16,
  1721. },
  1722. splitLine: {
  1723. lineStyle: {
  1724. color: "#07385e",
  1725. width: 2,
  1726. type: "dashed",
  1727. },
  1728. },
  1729. },
  1730. calculable: true,
  1731. series: [
  1732. {
  1733. stack: "a",
  1734. type: "pie",
  1735. radius: myProperty.pieradius,
  1736. roseType: "radius",
  1737. zlevel: 10,
  1738. startAngle: 100,
  1739. labelLine: {
  1740. normal: {
  1741. show: true,
  1742. length: myProperty.length1,
  1743. length2: myProperty.length2,
  1744. lineStyle: {
  1745. color: "#0096b1",
  1746. },
  1747. },
  1748. emphasis: {
  1749. show: false,
  1750. },
  1751. },
  1752. data: data,
  1753. },
  1754. ],
  1755. };
  1756. this.roseEcharts.setOption(option);
  1757. tools.loopShowTooltip(this.roseEcharts, option, {
  1758. nterval: 2000,
  1759. loopSeries: true,
  1760. });
  1761. },
  1762. initChartsBig(
  1763. arr = [
  1764. {
  1765. name: "地面",
  1766. y: 10,
  1767. sliced: false,
  1768. selected: false,
  1769. },
  1770. {
  1771. name: "辅助",
  1772. y: 10,
  1773. sliced: false,
  1774. selected: false,
  1775. },
  1776. {
  1777. name: "一线",
  1778. y: 10,
  1779. sliced: false,
  1780. selected: false,
  1781. },
  1782. ]
  1783. ) {
  1784. let left5 = arr;
  1785. var chartData = left5;
  1786. var timer = null;
  1787. var i = 0;
  1788. let that = this;
  1789. var option = {
  1790. colors: ["#D9E1F2", "#B4C6E7", "#8EA9DB", "#305496", "#203764"],
  1791. chart: {
  1792. type: "pie",
  1793. backgroundColor: "rgba(0,0,0,0)",
  1794. options3d: {
  1795. enabled: true,
  1796. alpha: 45,
  1797. //beta: 0
  1798. },
  1799. events: {
  1800. // load,图表加载完成时触发
  1801. load: function () {
  1802. var chart = this;
  1803. var points = chart.series[0].points;
  1804. var len = points.length;
  1805. timer && clearInterval(timer);
  1806. timer = setInterval(function () {
  1807. autoTooltip(points[i]);
  1808. chartData.forEach((item, index) => {
  1809. item.sliced = false;
  1810. item.selected = false;
  1811. if (index == i) {
  1812. item.sliced = true;
  1813. item.selected = true;
  1814. }
  1815. });
  1816. chart.update({
  1817. series: [
  1818. {
  1819. type: "pie",
  1820. name: "占比",
  1821. data: chartData,
  1822. },
  1823. ],
  1824. });
  1825. i++;
  1826. if (i === len) {
  1827. i = 0;
  1828. chartData.forEach((item, index) => {
  1829. item.sliced = false;
  1830. item.selected = false;
  1831. });
  1832. chart.update({
  1833. series: [
  1834. {
  1835. type: "pie",
  1836. name: "占比",
  1837. data: chartData,
  1838. },
  1839. ],
  1840. });
  1841. }
  1842. }, 1000);
  1843. },
  1844. legendItemClick: function (event) {
  1845. return true;
  1846. },
  1847. },
  1848. },
  1849. credits: {
  1850. enabled: false, //去掉hightchats水印
  1851. },
  1852. legend: {
  1853. align: "right", //横向位置
  1854. verticalAlign: "middle", // 纵向位置
  1855. layout: "vertical", //横排还是竖排
  1856. x: 10,
  1857. y: 100,
  1858. symbolWidth: 30,
  1859. itemStyle: {
  1860. fontSize: "30px",
  1861. color: "#fff",
  1862. x: 20,
  1863. fontWeight: 0,
  1864. fontFamily: "Microsoft YaHei",
  1865. },
  1866. },
  1867. title: {
  1868. enabled: false,
  1869. text: "",
  1870. },
  1871. tooltip: {
  1872. crosshairs: false,
  1873. trigger: "axis",
  1874. backgroundColor: "rgba(0, 0, 0, 0.5)",
  1875. borderColor: "rgba(0,0,0,0.5)",
  1876. style: {
  1877. fontSize: 30,
  1878. color: "#A3E2F4",
  1879. fontWeight: 0,
  1880. },
  1881. axisPointer: {
  1882. lineStyle: {
  1883. color: "#ddd",
  1884. },
  1885. },
  1886. formatter: function (e) {
  1887. this.percentage = this.percentage.toFixed(2); //Math.round(this.percentage)
  1888. return `${this.key}:<b><b>${this.y}</b>(${this.percentage}%)</b></b>`;
  1889. },
  1890. },
  1891. plotOptions: {
  1892. pie: {
  1893. allowPointSelect: true,
  1894. showInLegend: true, // 图例
  1895. cursor: "pointer",
  1896. size: 350,
  1897. innerSize: 0, //环形图中间空白,0为饼图
  1898. depth: 80, //立体高度
  1899. slicedOffset: 40, //动画距离
  1900. dataLabels: {
  1901. enabled: false, // 是否展示指示线
  1902. format: "{point.name}: {point.percentage}",
  1903. },
  1904. },
  1905. },
  1906. series: [
  1907. {
  1908. type: "pie",
  1909. name: "占比",
  1910. center: ["50%", "50%"],
  1911. point: {
  1912. events: {
  1913. mouseOver: function (e) {
  1914. //鼠标移入停止轮播并且找到移入的当前数据设为选中
  1915. chartData.forEach((item, index) => {
  1916. item.sliced = false;
  1917. item.selected = false;
  1918. });
  1919. chartData[e.target.index].sliced = true;
  1920. chartData[e.target.index].selected = true;
  1921. chart.update({
  1922. series: [
  1923. {
  1924. type: "pie",
  1925. name: "占比",
  1926. point: {
  1927. events: {
  1928. click: function (e) {
  1929. that.showChartLTipDouble(e.point.name);
  1930. },
  1931. },
  1932. },
  1933. data: chartData,
  1934. },
  1935. ],
  1936. });
  1937. timer && clearInterval(timer);
  1938. },
  1939. mouseOut: function () {
  1940. // 鼠标移出后需要继续执行轮播
  1941. var points = chart.series[0].points;
  1942. var len = points.length;
  1943. timer && clearInterval(timer);
  1944. timer = setInterval(function () {
  1945. autoTooltip(points[i]);
  1946. chartData.forEach((item, index) => {
  1947. item.sliced = false;
  1948. item.selected = false;
  1949. if (index == i) {
  1950. item.sliced = true;
  1951. item.selected = true;
  1952. }
  1953. });
  1954. chart.update({
  1955. series: [
  1956. {
  1957. type: "pie",
  1958. name: "占比",
  1959. data: chartData,
  1960. },
  1961. ],
  1962. });
  1963. i++;
  1964. if (i === len) {
  1965. i = 0;
  1966. chartData.forEach((item, index) => {
  1967. item.sliced = false;
  1968. item.selected = false;
  1969. });
  1970. chart.update({
  1971. series: [
  1972. {
  1973. type: "pie",
  1974. name: "占比",
  1975. data: chartData,
  1976. },
  1977. ],
  1978. });
  1979. }
  1980. }, 2000);
  1981. },
  1982. },
  1983. },
  1984. data: chartData,
  1985. },
  1986. ],
  1987. };
  1988. if (that.hecharts) {
  1989. that.hecharts.destroy();
  1990. }
  1991. that.hecharts = Highcharts.chart("echartL2", option);
  1992. function autoTooltip(point) {
  1993. that.hecharts.tooltip.refresh(point);
  1994. }
  1995. },
  1996. initThreeBig(el) {
  1997. let that = this;
  1998. this.roseEcharts = echarts.init(el);
  1999. var placeHolderStyle = {
  2000. normal: {
  2001. label: {
  2002. show: false,
  2003. },
  2004. labelLine: {
  2005. show: false,
  2006. },
  2007. color: "rgba(0,0,0,0)",
  2008. borderWidth: 0,
  2009. },
  2010. emphasis: {
  2011. color: "rgba(0,0,0,0)",
  2012. borderWidth: 0,
  2013. },
  2014. };
  2015. var dataStyle = {
  2016. normal: {
  2017. formatter: function (res) {
  2018. return res.data.value;
  2019. },
  2020. position: "center",
  2021. show: true,
  2022. textStyle: {
  2023. fontSize: "35",
  2024. fontWeight: "bolder",
  2025. color: "#fff",
  2026. },
  2027. },
  2028. };
  2029. option = {
  2030. title: [
  2031. {
  2032. text: "地面",
  2033. left: "19%",
  2034. top: "70%",
  2035. textAlign: "center",
  2036. textStyle: {
  2037. fontWeight: "normal",
  2038. fontSize: "30",
  2039. color: "#fff",
  2040. textAlign: "center",
  2041. },
  2042. },
  2043. {
  2044. text: "辅助",
  2045. left: "49%",
  2046. top: "70%",
  2047. textAlign: "center",
  2048. textStyle: {
  2049. color: "#fff",
  2050. fontWeight: "normal",
  2051. fontSize: "30",
  2052. textAlign: "center",
  2053. },
  2054. },
  2055. {
  2056. text: "一线",
  2057. left: "79%",
  2058. top: "70%",
  2059. textAlign: "center",
  2060. textStyle: {
  2061. color: "#fff",
  2062. fontWeight: "normal",
  2063. fontSize: "30",
  2064. textAlign: "center",
  2065. },
  2066. },
  2067. ],
  2068. series: [
  2069. {
  2070. type: "pie",
  2071. hoverAnimation: false, //鼠标经过的特效
  2072. // radius: ['55%', '61%'],
  2073. radius: ["45%", "50%"],
  2074. center: ["20%", "50%"],
  2075. startAngle: 225,
  2076. labelLine: {
  2077. normal: {
  2078. show: false,
  2079. },
  2080. },
  2081. label: {
  2082. normal: {
  2083. position: "center",
  2084. },
  2085. },
  2086. data: [
  2087. {
  2088. value: that.recruitTypeList[0] || 0,
  2089. itemStyle: {
  2090. normal: {
  2091. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  2092. {
  2093. offset: 0,
  2094. color: "#99da69",
  2095. },
  2096. {
  2097. offset: 1,
  2098. color: "#01babc",
  2099. },
  2100. ]),
  2101. },
  2102. },
  2103. label: dataStyle,
  2104. },
  2105. {
  2106. value: that.recruitTypeMax || 0,
  2107. itemStyle: placeHolderStyle,
  2108. },
  2109. ],
  2110. },
  2111. {
  2112. type: "pie",
  2113. hoverAnimation: false, //鼠标经过的特效
  2114. radius: ["45%", "50%"],
  2115. center: ["50%", "50%"],
  2116. startAngle: 225,
  2117. labelLine: {
  2118. normal: {
  2119. show: false,
  2120. },
  2121. },
  2122. label: {
  2123. normal: {
  2124. position: "center",
  2125. },
  2126. },
  2127. data: [
  2128. {
  2129. value: that.recruitTypeList[1] || 0,
  2130. itemStyle: {
  2131. normal: {
  2132. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  2133. {
  2134. offset: 0,
  2135. color: "#FBAB7E",
  2136. },
  2137. {
  2138. offset: 1,
  2139. color: "#F7CE68",
  2140. },
  2141. ]),
  2142. },
  2143. },
  2144. label: dataStyle,
  2145. },
  2146. {
  2147. value: that.recruitTypeMax || 0,
  2148. itemStyle: placeHolderStyle,
  2149. },
  2150. ],
  2151. },
  2152. {
  2153. type: "pie",
  2154. hoverAnimation: false,
  2155. // radius: ['55%', '61%'],
  2156. radius: ["45%", "50%"],
  2157. center: ["80%", "50%"],
  2158. startAngle: 225,
  2159. labelLine: {
  2160. normal: {
  2161. show: false,
  2162. },
  2163. },
  2164. label: {
  2165. normal: {
  2166. position: "center",
  2167. },
  2168. },
  2169. data: [
  2170. {
  2171. value: that.recruitTypeList[2] || 0,
  2172. itemStyle: {
  2173. normal: {
  2174. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  2175. {
  2176. offset: 0,
  2177. color: "#9f3edd",
  2178. },
  2179. {
  2180. offset: 1,
  2181. color: "#4897f6",
  2182. },
  2183. ]),
  2184. },
  2185. },
  2186. label: dataStyle,
  2187. },
  2188. {
  2189. value: that.recruitTypeMax || 0,
  2190. itemStyle: placeHolderStyle,
  2191. },
  2192. ],
  2193. },
  2194. //外圈的边框
  2195. {
  2196. // name: '总人数',
  2197. type: "pie",
  2198. hoverAnimation: false, //鼠标经过的特效
  2199. radius: ["51%", "52%"],
  2200. center: ["20%", "50%"],
  2201. startAngle: 225,
  2202. labelLine: {
  2203. normal: {
  2204. show: false,
  2205. },
  2206. },
  2207. label: {
  2208. normal: {
  2209. position: "center",
  2210. },
  2211. },
  2212. data: [
  2213. {
  2214. value: 12,
  2215. itemStyle: {
  2216. normal: {
  2217. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  2218. {
  2219. offset: 0,
  2220. color: "#01babc",
  2221. },
  2222. {
  2223. offset: 1,
  2224. color: "#99da69",
  2225. },
  2226. ]),
  2227. },
  2228. },
  2229. },
  2230. {
  2231. value: 4,
  2232. itemStyle: placeHolderStyle,
  2233. },
  2234. ],
  2235. },
  2236. {
  2237. // name: '总人数',
  2238. type: "pie",
  2239. hoverAnimation: false, //鼠标经过的特效
  2240. // radius: ['61%', '62%'],
  2241. radius: ["51%", "52%"],
  2242. center: ["50%", "50%"],
  2243. startAngle: 225,
  2244. labelLine: {
  2245. normal: {
  2246. show: false,
  2247. },
  2248. },
  2249. label: {
  2250. normal: {
  2251. position: "center",
  2252. },
  2253. },
  2254. data: [
  2255. {
  2256. value: 15,
  2257. itemStyle: {
  2258. normal: {
  2259. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  2260. {
  2261. offset: 0,
  2262. color: "#FBAB7E",
  2263. },
  2264. {
  2265. offset: 1,
  2266. color: "#F7CE68",
  2267. },
  2268. ]),
  2269. },
  2270. },
  2271. },
  2272. {
  2273. value: 5,
  2274. itemStyle: placeHolderStyle,
  2275. },
  2276. ],
  2277. },
  2278. {
  2279. type: "pie",
  2280. hoverAnimation: false,
  2281. // radius: ['61%', '62%'],
  2282. radius: ["51%", "52%"],
  2283. center: ["80%", "50%"],
  2284. startAngle: 225,
  2285. labelLine: {
  2286. normal: {
  2287. show: false,
  2288. },
  2289. },
  2290. label: {
  2291. normal: {
  2292. position: "center",
  2293. },
  2294. },
  2295. data: [
  2296. {
  2297. value: 9,
  2298. itemStyle: {
  2299. normal: {
  2300. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  2301. {
  2302. offset: 0,
  2303. color: "#4897f6",
  2304. },
  2305. {
  2306. offset: 1,
  2307. color: "#9f3edd",
  2308. },
  2309. ]),
  2310. },
  2311. },
  2312. },
  2313. {
  2314. value: 3,
  2315. itemStyle: placeHolderStyle,
  2316. },
  2317. ],
  2318. },
  2319. ],
  2320. };
  2321. this.roseEcharts.setOption(option);
  2322. // tools.loopShowTooltip(this.roseEcharts, option, {
  2323. // nterval: 2000,
  2324. // loopSeries: true,
  2325. // });
  2326. },
  2327. handleClick(from, type) {
  2328. this.handleMark();
  2329. let that = this;
  2330. this.from = from;
  2331. this.type = type;
  2332. this.newList = [];
  2333. if (that.from == "timeList2" && that.leftFlag) {
  2334. this.newList = that.allTimeList[1];
  2335. } else if (that.from == "timeList2" && !that.leftFlag) {
  2336. this.newList = that.allTimeList[0];
  2337. } else if (that.from == "timeList1") {
  2338. this.newList = that.allTimeList[2];
  2339. }
  2340. // let that = this;
  2341. if (from == "timeList1" && type == 1) {
  2342. that.markStyle = {
  2343. right: "1%",
  2344. bottom: "4%",
  2345. };
  2346. } else if (from == "timeList1" && type == 0) {
  2347. that.markStyle = {
  2348. right: "5%",
  2349. bottom: "4%",
  2350. };
  2351. } else if (from == "timeList2" && type == 0) {
  2352. that.markStyle = {
  2353. right: "87%",
  2354. bottom: "43%",
  2355. };
  2356. } else if (from == "timeList2" && type == 1) {
  2357. that.markStyle = {
  2358. right: "84%",
  2359. bottom: "43%",
  2360. };
  2361. }
  2362. this.showMark = true;
  2363. this.showSelect = true;
  2364. },
  2365. handleMark() {
  2366. this.showMark = false;
  2367. this.showSelect = false;
  2368. this.showMonth = false;
  2369. },
  2370. handleOption(item) {
  2371. let that = this;
  2372. this[this.from][this.type] = item;
  2373. this.handleMark();
  2374. if (this.from == "timeList2") {
  2375. if (that.from == "timeList2" && that.leftFlag) {
  2376. this.getPositionAll();
  2377. } else {
  2378. that.getRecruitType();
  2379. }
  2380. }
  2381. if (this.from == "timeList1") {
  2382. this.getDelivcvAndApply();
  2383. }
  2384. },
  2385. handleMonthOption(item) {
  2386. this.monthItem = item;
  2387. this.handleMark();
  2388. },
  2389. handleMonth() {
  2390. this.handleMark();
  2391. this.showMark = true;
  2392. this.showMonth = true;
  2393. },
  2394. ortherEcharts(el, data) {
  2395. this.vitaEcharts = echarts.init(el);
  2396. option = {
  2397. tooltip: {
  2398. show: true,
  2399. trigger: "axis",
  2400. textStyle: {
  2401. fontSize: 30,
  2402. color: "#A3E2F4",
  2403. },
  2404. axisPointer: {
  2405. // 坐标轴指示器,坐标轴触发有效
  2406. type: "none", // 默认为直线,可选为:'line' | 'shadow'
  2407. },
  2408. },
  2409. grid: {
  2410. top: "8%",
  2411. left: "1%",
  2412. right: "1%",
  2413. bottom: "8%",
  2414. containLabel: true,
  2415. },
  2416. xAxis: [
  2417. {
  2418. type: "category",
  2419. boundaryGap: false,
  2420. axisLine: {
  2421. //坐标轴轴线相关设置。数学上的x轴
  2422. show: false,
  2423. lineStyle: {
  2424. color: "#233e64",
  2425. },
  2426. },
  2427. axisLabel: {
  2428. //坐标轴刻度标签的相关设置
  2429. textStyle: {
  2430. color: "#fff",
  2431. fontSize: 26,
  2432. margin: 15,
  2433. },
  2434. },
  2435. axisTick: { show: false },
  2436. data: ["6.1", "6.2", "6.3", "6.4", "6.5", "6.6", "6.7"],
  2437. },
  2438. ],
  2439. yAxis: [
  2440. {
  2441. type: "value",
  2442. min: 0,
  2443. max: 140,
  2444. splitLine: {
  2445. show: true,
  2446. lineStyle: {
  2447. color: "#233e64",
  2448. },
  2449. },
  2450. axisLine: { show: false },
  2451. axisLabel: {
  2452. margin: 20,
  2453. textStyle: {
  2454. color: "#fff",
  2455. fontSize: 24,
  2456. },
  2457. },
  2458. axisTick: { show: false },
  2459. },
  2460. ],
  2461. series: [
  2462. {
  2463. name: "异常流量",
  2464. type: "line",
  2465. smooth: true, //是否平滑曲线显示
  2466. symbol: "circle", // 默认是空心圆(中间是白色的),改成实心圆
  2467. symbolSize: 0,
  2468. lineStyle: {
  2469. normal: {
  2470. color: "#3deaff", // 线条颜色
  2471. },
  2472. },
  2473. areaStyle: {
  2474. //区域填充样式
  2475. normal: {
  2476. //线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。
  2477. color: new echarts.graphic.LinearGradient(
  2478. 0,
  2479. 0,
  2480. 0,
  2481. 1,
  2482. [
  2483. { offset: 0, color: "rgba(61,234,255, 0.9)" },
  2484. { offset: 0.7, color: "rgba(61,234,255, 0.1)" },
  2485. ],
  2486. false
  2487. ),
  2488. shadowColor: "rgba(53,142,215, 0.9)", //阴影颜色
  2489. shadowBlur: 20, //shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。
  2490. },
  2491. },
  2492. data: [90, 105, 84, 125, 110, 92, 98],
  2493. },
  2494. ],
  2495. };
  2496. this.vitaEcharts.setOption(option);
  2497. tools.loopShowTooltip(this.vitaEcharts, option, {
  2498. nterval: 2000,
  2499. loopSeries: true,
  2500. });
  2501. },
  2502. hanleIcon() {
  2503. this.vitaEcharts.dispose();
  2504. this.downholeFlag = !this.downholeFlag;
  2505. if (this.downholeFlag) {
  2506. setTimeout(() => {
  2507. let vita = this.$refs.vita;
  2508. this.initVitaEcharts(vita);
  2509. });
  2510. }
  2511. // if (this.echartsIndex == 1) {
  2512. // this.ortherEcharts(vita)
  2513. // this.echartsIndex = 2
  2514. // } else {
  2515. // this.echartsIndex = 1
  2516. // }
  2517. },
  2518. handleChangeType(type, index) {
  2519. let that = this;
  2520. if (type) {
  2521. that.rightTime && clearInterval(that.rightTime);
  2522. that.rightList.forEach((item) => {
  2523. item.flag = false;
  2524. });
  2525. that.rightList[index].flag = true;
  2526. that.rightIndex = index;
  2527. this.rightTime = setInterval(() => {
  2528. that.rightList.forEach((item, index) => {
  2529. item.flag = !item.flag;
  2530. if (item.flag) {
  2531. that.rightIndex = index;
  2532. }
  2533. });
  2534. }, 5000);
  2535. } else {
  2536. that.leftTime && clearInterval(that.leftTime);
  2537. that.leftList.forEach((item) => {
  2538. item.flag = false;
  2539. });
  2540. that.leftList[index].flag = true;
  2541. that.leftIndex = index;
  2542. if (index == 0) {
  2543. that.leftFlag = true;
  2544. // that.timeList2 = [that.allTimeList[1][1], that.allTimeList[1][0]]
  2545. that.getPositionAll();
  2546. } else {
  2547. that.leftFlag = false;
  2548. // that.timeList2 = [that.allTimeList[0][1], that.allTimeList[0][0]]
  2549. that.getRecruitType();
  2550. setTimeout(() => {
  2551. let leftChange = that.$refs.leftChange;
  2552. that.initThreeBig(leftChange);
  2553. });
  2554. }
  2555. that.leftTime = setInterval(() => {
  2556. that.leftList.forEach((item, index) => {
  2557. item.flag = !item.flag;
  2558. if (item.flag) {
  2559. if (index == 0) {
  2560. that.leftFlag = true;
  2561. // that.timeList2 = [that.allTimeList[1][1], that.allTimeList[1][0]]
  2562. that.getPositionAll();
  2563. } else {
  2564. that.leftFlag = false;
  2565. // that.timeList2 = [that.allTimeList[0][1], that.allTimeList[0][0]]
  2566. that.getRecruitType();
  2567. setTimeout(() => {
  2568. let leftChange = that.$refs.leftChange;
  2569. that.initThreeBig(leftChange);
  2570. });
  2571. }
  2572. }
  2573. });
  2574. }, 15000);
  2575. }
  2576. },
  2577. getPlayers() {
  2578. let that = this;
  2579. let data = {
  2580. flag: that.dataFlag,
  2581. };
  2582. fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/Players", data).then(
  2583. (res) => {
  2584. if (res) {
  2585. that.mainList[0][1].value = res.data[0].value;
  2586. that.mainList[1][1].value = res.data[1].value;
  2587. if (res.data[1].value == 0) {
  2588. that.mainList.splice(1, 1);
  2589. }
  2590. }
  2591. }
  2592. );
  2593. },
  2594. getPostDetail() {
  2595. let that = this;
  2596. let data = {
  2597. flag: that.dataFlag,
  2598. };
  2599. that.isShowInfoList = false;
  2600. that.recruitInfoIndex = 0;
  2601. that.recruitInfoList = [];
  2602. that.rollTitle = "";
  2603. that.listChange && clearInterval(that.listChange);
  2604. fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/PostDetail", data).then(
  2605. (res) => {
  2606. let list = [];
  2607. let a = [];
  2608. if (res) {
  2609. if (res.data.length != 0) {
  2610. res.data.forEach((item, index) => {
  2611. // list.push([item[0], item[1], item[2], item[3], item[4]]);
  2612. list.push(item)
  2613. a[index] = [];
  2614. let arr = item[5].split("&");
  2615. if (arr[0].length == 2) {
  2616. arr.shift();
  2617. }
  2618. arr.forEach((i) => {
  2619. let infos = i.split("\r");
  2620. let obj = {
  2621. title: infos[0],
  2622. content: infos[1],
  2623. };
  2624. a[index].push(obj);
  2625. });
  2626. });
  2627. that.config1.data = list;
  2628. that.recruitInfoList.push(...a);
  2629. that.isShowInfoList = true;
  2630. that.itemClass = "item_content_99";
  2631. if (that.config1.data.length <= that.config1.rowNum) {
  2632. that.listChange = setInterval(() => {
  2633. // that.configDataIndex
  2634. if (that.configDataIndex >= that.config1.data.length) {
  2635. that.configDataIndex = 1;
  2636. that.itemClass = "item_content_99";
  2637. that.funChangeList(0);
  2638. that.recruitInfoIndex = 0;
  2639. return;
  2640. }
  2641. that.itemClass = "item_content_" + (that.configDataIndex + 5);
  2642. that.funChangeList(that.configDataIndex);
  2643. // that.recruitInfoIndex = that.configDataIndex
  2644. that.configDataIndex += 1;
  2645. that.recruitInfoIndex += 1;
  2646. }, that.config1.waitTime);
  2647. } else {
  2648. setTimeout(() => {
  2649. // that.classChange = true
  2650. that.itemClass = "item_content_6";
  2651. setTimeout(() => {
  2652. let itemContent = document.getElementById("itemContent");
  2653. if (itemContent) {
  2654. let target =
  2655. itemContent.getElementsByClassName("row-item");
  2656. let targetList = target.item(0);
  2657. targetList.style.background = "#302e2d50";
  2658. targetList.style.color = "#E1AF27";
  2659. }
  2660. }, 0);
  2661. }, 5000);
  2662. }
  2663. that.funChangeList(0);
  2664. } else {
  2665. that.config1.data = list;
  2666. that.itemClass = "item_content_6";
  2667. that.listChange && clearInterval(that.listChange);
  2668. setTimeout(() => {
  2669. let itemContent = document.getElementById("itemContent");
  2670. if (itemContent) {
  2671. let target = itemContent.getElementsByClassName("row-item");
  2672. let targetList = target.item(0);
  2673. targetList.style.background = "#302e2d50";
  2674. targetList.style.color = "#E1AF27";
  2675. }
  2676. }, 0);
  2677. }
  2678. }
  2679. setTimeout(() => {
  2680. this.recruitInfoList.forEach((item) => {
  2681. // if(item.content){
  2682. // console.log(item.content.split("\n"));
  2683. // }
  2684. item.forEach((i) => {
  2685. i.content && (i.infos = i.content.split("\n").filter(Boolean));
  2686. });
  2687. });
  2688. that.isShowInfoList = true;
  2689. });
  2690. }
  2691. );
  2692. },
  2693. handleBR(item) {
  2694. return item;
  2695. },
  2696. funChangeList(idnex) {
  2697. this.rollFlag = false
  2698. let listIndex = idnex;
  2699. // this.address = this.config1.data[listIndex][0] + "。"
  2700. this.rollTitle =
  2701. this.config1.data[listIndex][0] +
  2702. this.config1.data[listIndex][1] +
  2703. "双选公告" || "";
  2704. setTimeout(() => {
  2705. this.rollFlag = true;
  2706. });
  2707. },
  2708. getHalfYearDelivcv() {
  2709. let that = this;
  2710. let data = {
  2711. flag: that.dataFlag,
  2712. };
  2713. fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/HalfYearDelivcv", data)
  2714. .then((res) => {
  2715. if (res) {
  2716. let list = [];
  2717. res.forEach((item) => {
  2718. if (item.key == "月份") {
  2719. // that.vitaData.x = item.value
  2720. item.value.forEach((i) => {
  2721. list.push(i + "月");
  2722. });
  2723. }
  2724. if (item.key == "数量") {
  2725. that.vitaData.y = item.value;
  2726. }
  2727. });
  2728. that.vitaData.x = list;
  2729. let vita = this.$refs.vita;
  2730. that.initVitaEcharts(vita);
  2731. }
  2732. })
  2733. .catch((err) => {
  2734. let vita = this.$refs.vita;
  2735. that.initVitaEcharts(vita);
  2736. });
  2737. },
  2738. getHotDelivcv() {
  2739. let that = this;
  2740. let data = {
  2741. flag: that.dataFlag,
  2742. };
  2743. fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/HotDelivcv", data).then(
  2744. (res) => {
  2745. if (res) {
  2746. that.typeList.data = res.data;
  2747. }
  2748. }
  2749. );
  2750. },
  2751. arrToListArr() {
  2752. this.isChangeList = false;
  2753. let that = this;
  2754. let data = {
  2755. flag: that.dataFlag,
  2756. };
  2757. fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/Delivcv", data).then(
  2758. (res) => {
  2759. let imageList = [];
  2760. let nameList = [];
  2761. let stationList = [];
  2762. let timeList = [];
  2763. let dataList = [];
  2764. if (res) {
  2765. res.data.forEach((item) => {
  2766. if (item.key == "头像地址") {
  2767. imageList.push(...item.value);
  2768. }
  2769. if (item.key == "姓名") {
  2770. nameList.push(...item.value);
  2771. }
  2772. if (item.key == "投递岗位") {
  2773. stationList.push(...item.value);
  2774. }
  2775. if (item.key == "申请时间") {
  2776. timeList.push(...item.value);
  2777. }
  2778. });
  2779. nameList.forEach((item, index) => {
  2780. dataList.push([
  2781. "<img class='list_img' src='" + imageList[index] + "' alt=''>",
  2782. item,
  2783. stationList[index],
  2784. timeList[index],
  2785. ]);
  2786. });
  2787. this.configMark.data = dataList;
  2788. this.isChangeList = true;
  2789. delete imageList;
  2790. delete nameList;
  2791. delete stationList;
  2792. delete timeList;
  2793. }
  2794. }
  2795. );
  2796. },
  2797. getDelivcvAndApply() {
  2798. let that = this;
  2799. let data = {
  2800. flag: that.dataFlag,
  2801. data1: that.timeList1[0],
  2802. data2: that.timeList1[1],
  2803. };
  2804. let pageBtm = this.$refs.pageBtm;
  2805. fetchPostMethods(
  2806. "/ierp/kapi/v2/mdnb/mdnb_control/DelivcvAndApply",
  2807. data
  2808. ).then((res) => {
  2809. if (res) {
  2810. res.data.forEach((item) => {
  2811. if (item.key == "单位名称") {
  2812. admissionList.x = item.value;
  2813. }
  2814. if (item.key == "招聘人数") {
  2815. admissionList.y1 = item.value;
  2816. }
  2817. if (item.key == "报名人数") {
  2818. admissionList.y2 = item.value;
  2819. }
  2820. if (item.key == "录用人数") {
  2821. admissionList.y3 = item.value;
  2822. }
  2823. if (item.key == "开始时间") {
  2824. that.allTimeList[2] = that.getYearMonth(item.value);
  2825. }
  2826. });
  2827. this.initDownholeEcharts(pageBtm, {
  2828. x: admissionList.x,
  2829. y1: admissionList.y1,
  2830. y2: admissionList.y2,
  2831. y3: admissionList.y3,
  2832. });
  2833. }
  2834. });
  2835. },
  2836. isRendering(data, type, key, flag) {
  2837. let that = this;
  2838. if (that[type] == 0) {
  2839. that[key].data = data;
  2840. setTimeout(() => {
  2841. that[flag] = true;
  2842. }, 10);
  2843. that[type] = 1;
  2844. } else {
  2845. if (
  2846. data[0][1] != that[key].data[0][1] ||
  2847. data[0][2] != that[key].data[0][2] ||
  2848. data[0][3] != that[key].data[0][3]
  2849. ) {
  2850. that[flag] = false;
  2851. that[key].data = data;
  2852. setTimeout(() => {
  2853. that[flag] = true;
  2854. }, 10);
  2855. }
  2856. }
  2857. },
  2858. getRecruitType() {
  2859. let that = this;
  2860. let data = {
  2861. flag: that.dataFlag,
  2862. start: that.timeList2[0],
  2863. end: that.timeList2[1],
  2864. };
  2865. that.recruitTypeList = [];
  2866. fetchPostMethods(
  2867. "/ierp/kapi/v2/mdnb/mdnb_control/RecruitType",
  2868. data
  2869. ).then((res) => {
  2870. if (res) {
  2871. res.data.forEach((item) => {
  2872. if (item.key == "一线") {
  2873. that.recruitTypeList[2] = item.value;
  2874. that.recruitTypeMax += item.value;
  2875. } else if (item.key == "地面") {
  2876. that.recruitTypeList[0] = item.value;
  2877. that.recruitTypeMax += item.value;
  2878. } else if (item.key == "辅助") {
  2879. that.recruitTypeList[1] = item.value;
  2880. that.recruitTypeMax += item.value;
  2881. } else if (item.key == "开始时间") {
  2882. that.allTimeList[0] = that.getYearMonth(item.value);
  2883. }
  2884. });
  2885. let leftChange = that.$refs.leftChange;
  2886. if (leftChange) {
  2887. that.initThreeBig(leftChange);
  2888. }
  2889. that.leftTime && clearInterval(that.leftTime);
  2890. that.leftTime = setInterval(() => {
  2891. that.leftList.forEach((item, index) => {
  2892. item.flag = !item.flag;
  2893. if (item.flag) {
  2894. if (index == 0) {
  2895. that.leftFlag = true;
  2896. // that.timeList2 = [that.allTimeList[1][1], that.allTimeList[1][0]]
  2897. that.getPositionAll();
  2898. } else {
  2899. that.leftFlag = false;
  2900. // that.timeList2 = [that.allTimeList[0][1], that.allTimeList[0][0]]
  2901. that.getRecruitType();
  2902. setTimeout(() => {
  2903. let leftChange = that.$refs.leftChange;
  2904. that.initThreeBig(leftChange);
  2905. });
  2906. }
  2907. }
  2908. });
  2909. }, 15000);
  2910. }
  2911. });
  2912. },
  2913. getYearMonth(date) {
  2914. // 获取指定日期的年份和月份
  2915. let targetDate = new Date(date);
  2916. let targetYear = targetDate.getFullYear();
  2917. let targetMonth = targetDate.getMonth() + 1; // 月份从0开始计数,需要加1
  2918. // 获取当前日期的年份和月份
  2919. let currentDate = new Date();
  2920. let currentYear = currentDate.getFullYear();
  2921. let currentMonth = currentDate.getMonth() + 1; // 月份从0开始计数,需要加1
  2922. // 定义结果数组
  2923. let result = [];
  2924. // 循环遍历年份和月份,从目标日期到当前日期
  2925. for (let year = targetYear; year <= currentYear; year++) {
  2926. // 起始月份为目标年份的起始月份,结束月份为当前年份的结束月份
  2927. let startMonth = year === targetYear ? targetMonth : 1;
  2928. let endMonth = year === currentYear ? currentMonth : 12;
  2929. // 循环遍历月份,并将年份和月份添加到结果中
  2930. for (let month = startMonth; month <= endMonth; month++) {
  2931. let formattedMonth = month.toString().padStart(2, "0"); // 格式化为两位数的月份
  2932. result.push(`${year}-${formattedMonth}`);
  2933. }
  2934. }
  2935. // 输出全部的年月
  2936. return result.reverse();
  2937. },
  2938. getFailReason() {
  2939. let that = this;
  2940. let data = {
  2941. flag: that.dataFlag,
  2942. };
  2943. // leftErrorList:["信息不完整","信息有误","任职条件不符","出勤不足","工作年限不符"]
  2944. fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/FailReason", data).then(
  2945. (res) => {
  2946. if (res) {
  2947. if (res.data.length != 0) {
  2948. let dataList = [];
  2949. let total = 0;
  2950. // dataList.forEach(item => {
  2951. // total = total + item.value
  2952. // })
  2953. // that.rightData.push(...dataList)
  2954. res.data.forEach((item, index) => {
  2955. let obj = {};
  2956. item.forEach((i) => {
  2957. if (i.key == "不通过原因") {
  2958. that.leftErrorList[index] = i.value;
  2959. }
  2960. if (i.key == "百分比") {
  2961. obj.point = i.value;
  2962. }
  2963. if (i.key == "不通过数量") {
  2964. obj.value = i.value;
  2965. dataList[index] = obj;
  2966. total = total + i.value;
  2967. }
  2968. });
  2969. });
  2970. let echartsErrorBox = that.$refs.echartsErrorBox;
  2971. setTimeout(() => {
  2972. for (const child of echartsErrorBox.children) {
  2973. const index = Array.prototype.indexOf.call(
  2974. echartsErrorBox.children,
  2975. child
  2976. );
  2977. let title = "lineRight" + (index + 1);
  2978. that.initLineRight(
  2979. child.children[1],
  2980. {
  2981. value: dataList[index].value,
  2982. point: dataList[index].point,
  2983. total,
  2984. },
  2985. title
  2986. );
  2987. }
  2988. }, 100);
  2989. }
  2990. }
  2991. }
  2992. );
  2993. },
  2994. getQualAudits() {
  2995. let that = this;
  2996. let data = {
  2997. flag: that.dataFlag,
  2998. };
  2999. fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/QualAudits", data).then(
  3000. (res) => {
  3001. if (res) {
  3002. res.data.forEach((item) => {
  3003. if (item.key == "当前总人数") {
  3004. that.rightList[0].num1 = item.value;
  3005. }
  3006. if (item.key == "通过总人数") {
  3007. that.rightList[0].num2 = item.value;
  3008. }
  3009. if (item.key == "当前通过率") {
  3010. that.rightList[0].num3 = item.value;
  3011. }
  3012. });
  3013. }
  3014. }
  3015. );
  3016. },
  3017. getNo(arr) {
  3018. if (Array.isArray(arr)) {
  3019. arr.forEach((item, index) => {
  3020. if (index <= 8) {
  3021. item.unshift("0" + (index + 1));
  3022. } else {
  3023. item.unshift((index + 1).toString());
  3024. }
  3025. });
  3026. }
  3027. return arr;
  3028. },
  3029. getNoticePerson(type) {
  3030. let that = this;
  3031. if (type == 1) {
  3032. that.showExamination = false;
  3033. } else if (type == 2) {
  3034. that.showInterview = false;
  3035. } else {
  3036. this.showExamination = false;
  3037. this.showInterview = false;
  3038. }
  3039. let year = new Date().getFullYear();
  3040. let data = {
  3041. flag: that.dataFlag,
  3042. year,
  3043. month: 0,
  3044. };
  3045. fetchPostMethods(
  3046. "/ierp/kapi/v2/mdnb/mdnb_control/assessmentarrangement",
  3047. data
  3048. ).then((res) => {
  3049. if (res) {
  3050. for (let key in res) {
  3051. if (Array.isArray(res[key])) {
  3052. res[key].forEach((item) => {
  3053. // item.splice(item.length - 2, 1);
  3054. if (item[item.length - 1]) {
  3055. item[item.length - 1] = item[item.length - 1].replaceAll(
  3056. "年",
  3057. "-"
  3058. );
  3059. item[item.length - 1] = item[item.length - 1].replaceAll(
  3060. "月",
  3061. "-"
  3062. );
  3063. item[item.length - 1] = item[item.length - 1].replaceAll(
  3064. "日",
  3065. " "
  3066. );
  3067. item[item.length - 1] = item[item.length - 1].replaceAll(
  3068. "/",
  3069. "-"
  3070. );
  3071. item[item.length - 1] = item[item.length - 1].replaceAll(
  3072. "|",
  3073. "-"
  3074. );
  3075. }
  3076. });
  3077. }
  3078. }
  3079. let arr = [];
  3080. let len = false;
  3081. if (res.bishiList.length != 0) {
  3082. arr.push(...that.getNo(res.bishiList));
  3083. if (arr.length % 2 == 0) {
  3084. arr.push([]);
  3085. len = true;
  3086. }
  3087. res.bishiList = [];
  3088. res.bishiList = arr.filter((_, index) => index % 2 === 0);
  3089. res.mianshiList = arr.filter((_, index) => index % 2 !== 0);
  3090. that.configInterviewElse.data = [...arr];
  3091. if (len) {
  3092. that.configInterviewElse.data.pop();
  3093. }
  3094. } else if (res.mianshiList.length != 0) {
  3095. arr.push(...that.getNo(res.mianshiList));
  3096. if (arr.length % 2 != 0) {
  3097. arr.push([]);
  3098. len = true;
  3099. }
  3100. res.mianshiList = [];
  3101. res.bishiList = arr.filter((_, index) => index % 2 === 0);
  3102. res.mianshiList = arr.filter((_, index) => index % 2 !== 0);
  3103. that.configInterviewElse.data = [...arr];
  3104. if (len) {
  3105. that.configInterviewElse.data.pop();
  3106. }
  3107. }
  3108. if (type == 1) {
  3109. that.configWritten.data = res.bishiList;
  3110. // that.configWritten.data = that.getNo(res.bishiList)
  3111. setTimeout(() => {
  3112. that.showExamination = true;
  3113. }, 10);
  3114. } else if (type == 2) {
  3115. that.configInterview.data = res.mianshiList;
  3116. // that.configInterview.data = that.getNo(res.mianshiList)
  3117. setTimeout(() => {
  3118. that.showInterview = true;
  3119. }, 10);
  3120. } else {
  3121. that.configWritten.data = res.bishiList;
  3122. // that.configWritten.data = that.getNo(res.bishiList)
  3123. that.configInterview.data = res.mianshiList;
  3124. // that.configInterview.data = that.getNo(res.mianshiList)
  3125. setTimeout(() => {
  3126. that.showInterview = true;
  3127. that.showExamination = true;
  3128. }, 10);
  3129. if (that.configWritten.data.length <= that.configWritten.rowNum) {
  3130. that.bishiTime && clearInterval(that.bishiTime);
  3131. that.bishiTime = setInterval(() => {
  3132. console.log("笔试面试数据更新");
  3133. that.getNoticePerson(1);
  3134. }, 10000 * 6 * 5);
  3135. }
  3136. if (
  3137. that.configInterview.data.length <= that.configInterview.rowNum
  3138. ) {
  3139. that.mianshiTime && clearInterval(that.mianshiTime);
  3140. that.mianshiTime = setInterval(() => {
  3141. console.log("笔试面试数据更新");
  3142. that.getNoticePerson(2);
  3143. }, 10000 * 6 * 5);
  3144. }
  3145. }
  3146. }
  3147. });
  3148. },
  3149. scrollChangeList(index) {
  3150. let that = this;
  3151. if (that.noticList.length != 1) {
  3152. if (
  3153. index + that.employmentList1.rowNum ==
  3154. that.employmentList1.data.length + 1 ||
  3155. index == 0
  3156. ) {
  3157. if (that.noticIndex >= that.noticList.length - 1) {
  3158. that.noticIndex = 0;
  3159. } else {
  3160. that.noticIndex += 1;
  3161. }
  3162. if (that.noticList[that.noticIndex]) {
  3163. that.employmentList1.data = [];
  3164. that.employmentList2.data = [];
  3165. that.employmentList3.data = [];
  3166. that.isShowList = false;
  3167. that.noticList[that.noticIndex].noticeUserList.forEach(
  3168. (item, index) => {
  3169. if (index % 2 == 0) {
  3170. that.employmentList1.data.push(item);
  3171. } else {
  3172. that.employmentList2.data.push(item);
  3173. }
  3174. }
  3175. );
  3176. that.employmentList3.data.push(
  3177. ...that.noticList[that.noticIndex].noticeUserList
  3178. );
  3179. if (
  3180. that.employmentList1.rowNum >= that.employmentList1.data.length
  3181. ) {
  3182. setTimeout(() => {
  3183. that.scrollChangeList(0);
  3184. }, 10000);
  3185. }
  3186. setTimeout(() => {
  3187. that.isShowList = true;
  3188. }, 10);
  3189. }
  3190. }
  3191. }
  3192. },
  3193. changeCardNo(str) {
  3194. let arr = [];
  3195. let list = [];
  3196. if (str.length != 0) {
  3197. arr = str.split("");
  3198. for (let i = 0; i <= arr.length - 1; i++) {
  3199. if (i < 5) {
  3200. list.push(arr[i]);
  3201. } else if (i > 5 && i < 14) {
  3202. list.push("*");
  3203. } else {
  3204. list.push(arr[i]);
  3205. }
  3206. }
  3207. }
  3208. return list.join("");
  3209. },
  3210. changeNoticList(arr) {
  3211. let list = [];
  3212. let that = this;
  3213. if (Array.isArray(arr)) {
  3214. arr.forEach((item, index) => {
  3215. let a = [];
  3216. if (Array.isArray(item)) {
  3217. list.push(a);
  3218. return;
  3219. }
  3220. if (index <= 8) {
  3221. a = [
  3222. "0" + (index + 1),
  3223. item.name,
  3224. item.sex,
  3225. item.cardno,
  3226. item.org1,
  3227. ];
  3228. } else {
  3229. a = [
  3230. (index + 1).toString(),
  3231. item.name,
  3232. item.sex,
  3233. item.cardno,
  3234. item.org1,
  3235. ];
  3236. }
  3237. list.push(a);
  3238. });
  3239. }
  3240. return list;
  3241. },
  3242. getNotice() {
  3243. let that = this;
  3244. let data = {
  3245. flag: that.dataFlag,
  3246. };
  3247. this.isShowList = false;
  3248. that.noticIndex = 0;
  3249. that.employmentList1.data = [];
  3250. that.employmentList2.data = [];
  3251. that.employmentList3.data = [];
  3252. that.noticList = [];
  3253. fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/getNotice", data).then(
  3254. (res) => {
  3255. if (res && res.length != 0) {
  3256. res.forEach((item, index) => {
  3257. if (item.noticeUserList.length % 2 != 0) {
  3258. item.noticeUserList.push([]);
  3259. }
  3260. let obj = {
  3261. noticeDataList: item.noticeDataList,
  3262. noticeUserList: that.changeNoticList(item.noticeUserList),
  3263. };
  3264. that.noticList.push(obj);
  3265. });
  3266. if (that.noticList[that.noticIndex]) {
  3267. that.noticList[that.noticIndex].noticeUserList.forEach(
  3268. (item, index) => {
  3269. if (index % 2 == 0) {
  3270. that.employmentList1.data.push(item);
  3271. } else {
  3272. that.employmentList2.data.push(item);
  3273. }
  3274. }
  3275. );
  3276. that.employmentList3.data.push(
  3277. ...that.noticList[that.noticIndex].noticeUserList
  3278. );
  3279. }
  3280. if (res.length != 1) {
  3281. // that.noticIndex += 1
  3282. if (
  3283. that.employmentList2.data.length <= that.employmentList2.rowNum
  3284. ) {
  3285. that.noticTime = setInterval(() => {
  3286. that.employmentList1.data = [];
  3287. that.employmentList2.data = [];
  3288. that.employmentList3.data = [];
  3289. that.isShowList = false;
  3290. if (that.noticList[that.noticIndex]) {
  3291. that.noticList[that.noticIndex].noticeUserList.forEach(
  3292. (item, index) => {
  3293. if (index % 2 == 0) {
  3294. that.employmentList1.data.push(item);
  3295. } else {
  3296. that.employmentList2.data.push(item);
  3297. }
  3298. }
  3299. );
  3300. that.employmentList3.data.push(
  3301. ...that.noticList[that.noticIndex].noticeUserList
  3302. );
  3303. }
  3304. // that.noticIndex += 1
  3305. // if (that.noticIndex > that.noticList.length - 1) {
  3306. // that.noticIndex = 0
  3307. // }
  3308. setTimeout(() => {
  3309. that.isShowList = true;
  3310. }, 10);
  3311. }, that.employmentList2.data.length * 2000);
  3312. }
  3313. }
  3314. setTimeout(() => {
  3315. that.isShowList = true;
  3316. });
  3317. }
  3318. }
  3319. );
  3320. // that.noticeList = res.data
  3321. },
  3322. getDoubleChoice() {
  3323. let that = this;
  3324. let data = {
  3325. flag: that.dataFlag,
  3326. };
  3327. fetchPostMethods(
  3328. "/ierp/kapi/v2/mdnb/mdnb_control/DoubleChoice",
  3329. data
  3330. ).then((res) => {
  3331. if (res) {
  3332. that.mainList[0][0].value = res.data[0].value;
  3333. that.mainList[1][0].value = res.data[1].value;
  3334. if (res.data[1].value == 0) {
  3335. that.mainList.splice(1, 1);
  3336. }
  3337. }
  3338. });
  3339. },
  3340. getPositionAll() {
  3341. let that = this;
  3342. let data = {
  3343. flag: that.dataFlag,
  3344. start: that.timeList2[0],
  3345. end: that.timeList2[1],
  3346. };
  3347. // this.leftTime && clearInterval(this.leftTime)
  3348. fetchPostMethods(
  3349. "/ierp/kapi/v2/mdnb/mdnb_control/PositionAll",
  3350. data
  3351. ).then((res) => {
  3352. if (res?.data) {
  3353. res.data.sort((a, b) => b[1] - a[1]);
  3354. }
  3355. setTimeout(() => {
  3356. that.leftFlag = false;
  3357. that.config2.data = [];
  3358. let lastList = [];
  3359. let topList = [];
  3360. let mainList = [];
  3361. console.log(res.data, 'spArrspArrspArr');
  3362. if (res) {
  3363. if (res.date) {
  3364. that.allTimeList[1] = that.getYearMonth(res.date.value);
  3365. }
  3366. res.data.forEach((item, index) => {
  3367. if (index <= 8) {
  3368. item.unshift("0" + (index + 1));
  3369. } else {
  3370. item.unshift((index + 1).toString());
  3371. }
  3372. });
  3373. if (res.data.length > 5) {
  3374. for (let i = 0; i < 3; i++) {
  3375. let color;
  3376. if (i == 0) {
  3377. color = "yellow";
  3378. } else if (i == 1) {
  3379. color = "red";
  3380. } else {
  3381. color = "green";
  3382. }
  3383. topList.push([
  3384. "<span class='" + color + "'>" + res.data[i][0] + "</span>",
  3385. "<span class='" + color + "'>" + res.data[i][1] + "</span>",
  3386. "<span class='" + color + "'>" + res.data[i][2] + "</span>",
  3387. ]);
  3388. }
  3389. res.data.splice(0, 3);
  3390. mainList.push(...spArr(res.data, 2));
  3391. mainList.forEach((item) => {
  3392. item.unshift(...topList);
  3393. if (item.length < 5) {
  3394. item.push(["", "", ""]);
  3395. }
  3396. lastList.push(...item);
  3397. });
  3398. } else if (res.data.length <= 5 && res.data.length >= 3) {
  3399. for (let i = 0; i < 3; i++) {
  3400. let color;
  3401. if (i == 0) {
  3402. color = "yellow";
  3403. } else if (i == 1) {
  3404. color = "red";
  3405. } else {
  3406. color = "green";
  3407. }
  3408. topList.push([
  3409. "<span class='" + color + "'>" + res.data[i][0] + "</span>",
  3410. "<span class='" + color + "'>" + res.data[i][1] + "</span>",
  3411. "<span class='" + color + "'>" + res.data[i][2] + "</span>",
  3412. ]);
  3413. }
  3414. res.data.splice(0, 3);
  3415. lastList.push(...topList, ...res.data);
  3416. } else if (res.data.length < 3) {
  3417. for (let i = 0; i < res.data.length; i++) {
  3418. let color;
  3419. if (i == 0) {
  3420. color = "yellow";
  3421. } else if (i == 1) {
  3422. color = "red";
  3423. } else {
  3424. color = "green";
  3425. }
  3426. lastList.push([
  3427. "<span class='" + color + "'>" + res.data[i][0] + "</span>",
  3428. "<span class='" + color + "'>" + res.data[i][1] + "</span>",
  3429. "<span class='" + color + "'>" + res.data[i][2] + "</span>",
  3430. ]);
  3431. }
  3432. }
  3433. that.config2.data = lastList;
  3434. that.leftTime && clearInterval(that.leftTime);
  3435. that.leftTime = setTimeout(() => {
  3436. that.leftFlag = true;
  3437. that.leftTime = setInterval(() => {
  3438. that.leftList.forEach((item, index) => {
  3439. item.flag = !item.flag;
  3440. if (item.flag) {
  3441. if (index == 0) {
  3442. that.leftFlag = true;
  3443. // that.timeList2 = [that.allTimeList[1][1], that.allTimeList[1][0]]
  3444. that.getPositionAll();
  3445. } else {
  3446. that.leftFlag = false;
  3447. // that.timeList2 = [that.allTimeList[0][1], that.allTimeList[0][0]]
  3448. that.getRecruitType();
  3449. setTimeout(() => {
  3450. let leftChange = that.$refs.leftChange;
  3451. that.initThreeBig(leftChange);
  3452. });
  3453. }
  3454. }
  3455. });
  3456. }, 15000);
  3457. }, 10);
  3458. }
  3459. }, 0);
  3460. });
  3461. },
  3462. getTotalRate() {
  3463. let that = this;
  3464. let data = {
  3465. flag: that.dataFlag,
  3466. };
  3467. fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/TotalRate", data).then(
  3468. (res) => {
  3469. if (res) {
  3470. // that.rightList
  3471. res.data.forEach((item) => {
  3472. if (item.key == "累计人数") {
  3473. that.rightList[1].num1 = item.value;
  3474. }
  3475. if (item.key == "累计通过人数") {
  3476. that.rightList[1].num2 = item.value;
  3477. }
  3478. if (item.key == "通过率") {
  3479. that.rightList[1].num3 = item.value;
  3480. }
  3481. });
  3482. }
  3483. }
  3484. );
  3485. },
  3486. scrollChangeListW(index) {
  3487. let that = this;
  3488. if (
  3489. index + that.configInterview.rowNum ==
  3490. that.configInterview.data.length
  3491. ) {
  3492. console.log("笔试更新");
  3493. setTimeout(() => {
  3494. that.getNoticePerson(1);
  3495. }, 1700);
  3496. }
  3497. },
  3498. scrollChangeListIn(index) {
  3499. let that = this;
  3500. if (
  3501. index + that.configInterview.rowNum ==
  3502. that.configInterview.data.length
  3503. ) {
  3504. console.log("面试更新");
  3505. setTimeout(() => {
  3506. that.getNoticePerson(2);
  3507. }, 1700);
  3508. }
  3509. },
  3510. scrollChangeListElse(index) {
  3511. let that = this;
  3512. if (
  3513. index + that.configInterviewElse.rowNum ==
  3514. that.configInterviewElse.data.length
  3515. ) {
  3516. console.log("面试更新");
  3517. setTimeout(() => {
  3518. that.getNoticePerson();
  3519. }, 1700);
  3520. }
  3521. },
  3522. },
  3523. computed: {
  3524. config3() {
  3525. const data = this.config1.data.map(el => {
  3526. return el.slice(0, 5)
  3527. })
  3528. return {
  3529. ...this.config1,
  3530. data
  3531. }
  3532. }
  3533. },
  3534. });