pt.vue 56 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130
  1. <template>
  2. <div class="header">
  3. <!-- 大盒子 -->
  4. <div class="box">
  5. <!-- 头部区域 -->
  6. <div class="tou">
  7. <div class="yong_hu">
  8. <!-- <span style="color: ">单位 :</span> -->
  9. <span class="span" style="padding-left: 4px">{{ danWie }}</span>
  10. <span style="color: #00f6ff">用户名 :</span>
  11. <span style="padding-left: 4px; color: #00f6ff">{{ yongHu }}</span>
  12. </div>
  13. <span
  14. class="iconfont icon-logout"
  15. @click="logout"
  16. style="
  17. font-size: 24px;
  18. cursor: pointer;
  19. position: absolute;
  20. right: 16px;
  21. top: 8px;
  22. "
  23. ></span>
  24. <span style="color: #00f6ff; font-size: 1vw" class="tiem">
  25. {{ times }}
  26. </span>
  27. <!-- <img class="liuxian" src="../assets/images/流线.gif" alt />
  28. <img class="img-left" src="../assets/images/闪烁GIF-慢.gif" alt />-->
  29. </div>
  30. <!-- 主体区域 -->
  31. <div class="centen">
  32. <!-- 左面盒子 -->
  33. <div class="boxx">
  34. <ul
  35. class="ul"
  36. v-if="
  37. str.includes('admin') ||
  38. str.includes('基层登记') ||
  39. str.includes('集中文印') ||
  40. str.includes('工作安排') ||
  41. str.includes('规章制度') ||
  42. str.includes('态势分析') ||
  43. str.includes('通知公告')
  44. "
  45. >
  46. <li v-show="str.includes('基层登记') || str.includes('admin')">
  47. <div class="demo-box">
  48. <div class="demo active" v-on:click="doThis">
  49. <img src="../images/dj.png" alt />
  50. <span class="tanhao" v-show="yuStatus"></span>
  51. </div>
  52. </div>
  53. <div class="demo-a">
  54. <a href="#" class="a">基 层 登 记</a>
  55. </div>
  56. </li>
  57. <li v-show="str.includes('集中文印') || str.includes('admin')">
  58. <div class="demo-box">
  59. <div
  60. class="demo active"
  61. id="a1"
  62. v-on:click="wenyinfun"
  63. data-url="/diary?ref=addtabs"
  64. >
  65. <img src="../images/dy.png" alt />
  66. </div>
  67. </div>
  68. <div class="demo-a">
  69. <a href="#" class="a">集 中 文 印</a>
  70. </div>
  71. </li>
  72. <li v-show="str.includes('工作安排') || str.includes('admin')">
  73. <div class="demo-box">
  74. <div
  75. class="demo active"
  76. v-on:click="gongzuofun"
  77. data-url="/diary?ref=addtabs"
  78. >
  79. <img src="../images/gz.png" alt />
  80. <span class="tanhao" v-show="yuStatus1"></span>
  81. </div>
  82. </div>
  83. <div class="demo-a">
  84. <a href="#" class="a">工 作 安 排</a>
  85. </div>
  86. </li>
  87. <li v-show="str.includes('规章制度') || str.includes('admin')">
  88. <div class="demo-box">
  89. <div
  90. class="demo active"
  91. v-on:click="guizhangfun"
  92. data-url="/diary?ref=addtabs"
  93. >
  94. <img src="../images/zd.png" alt />
  95. </div>
  96. </div>
  97. <div class="demo-a">
  98. <a href="#" class="a">规 章 制 度</a>
  99. </div>
  100. </li>
  101. <li v-show="str.includes('态势分析') || str.includes('admin')">
  102. <div class="demo-box">
  103. <div
  104. class="demo active"
  105. v-on:click="taishifun"
  106. data-url="/diary?ref=addtabs"
  107. >
  108. <img src="../images/fx.png" alt />
  109. </div>
  110. </div>
  111. <div class="demo-a">
  112. <a href="#" class="a">态 势 分 析</a>
  113. </div>
  114. </li>
  115. <li v-show="str.includes('通知公告') || str.includes('admin')">
  116. <div class="demo-box">
  117. <div
  118. id="q1"
  119. class="demo active"
  120. v-on:click="tongzhifun"
  121. data-url="/diary?ref=addtabs"
  122. >
  123. <img src="../assets/images/通知公告1.png" alt />
  124. </div>
  125. </div>
  126. <div class="demo-a">
  127. <a href="#" class="a">通 知 公 告</a>
  128. </div>
  129. </li>
  130. <img
  131. src="../assets/images/椭圆 513 (2).png"
  132. class="li-img"
  133. alt
  134. v-if="
  135. str.includes('admin') ||
  136. str.includes('基层登记') ||
  137. str.includes('集中文印') ||
  138. str.includes('工作安排') ||
  139. str.includes('规章制度') ||
  140. str.includes('态势分析') ||
  141. str.includes('通知公告')
  142. "
  143. />
  144. </ul>
  145. <!-- <hr /> -->
  146. <ul
  147. class="ul"
  148. v-if="
  149. str.includes('admin') ||
  150. str.includes('战备值班') ||
  151. str.includes('检查督导') ||
  152. str.includes('人员进出') ||
  153. str.includes('安防监控') ||
  154. str.includes('车行闸道') ||
  155. str.includes('门岗管理') ||
  156. str.includes('门禁管理')
  157. "
  158. >
  159. <li v-if="str.includes('战备值班') || str.includes('admin')">
  160. <div class="demo-box">
  161. <div
  162. class="demo active"
  163. v-on:click="zhanbeifun"
  164. data-url="/diary?ref=addtabs"
  165. >
  166. <img src="../images/zb.png" alt />
  167. </div>
  168. </div>
  169. <div class="demo-a">
  170. <a href="#" class="a">战备值班</a>
  171. </div>
  172. </li>
  173. <li v-if="str.includes('检查督导') || str.includes('admin')">
  174. <div class="demo-box">
  175. <div
  176. class="demo active"
  177. v-on:click="jianchafun"
  178. data-url="/diary?ref=addtabs"
  179. >
  180. <img src="../images/jc.png" alt />
  181. <span class="tanhao" v-show="yuStatus2"></span>
  182. </div>
  183. </div>
  184. <div class="demo-a">
  185. <a href="#" class="a">检查督导</a>
  186. </div>
  187. </li>
  188. <li v-if="str.includes('人员进出') || str.includes('admin')">
  189. <div class="demo-box">
  190. <div
  191. class="demo active"
  192. v-on:click="renyuanfun"
  193. data-url="/diary?ref=addtabs"
  194. >
  195. <img src="../images/ry.png" alt />
  196. </div>
  197. </div>
  198. <div class="demo-a">
  199. <a href="#" class="a">人员进出</a>
  200. </div>
  201. </li>
  202. <li v-if="str.includes('安防监控') || str.includes('admin')">
  203. <div class="demo-box">
  204. <div
  205. class="demo active"
  206. v-on:click="anfangfun"
  207. data-url="/diary?ref=addtabs"
  208. >
  209. <img src="../images/af.png" alt />
  210. </div>
  211. </div>
  212. <div class="demo-a">
  213. <a href="#" class="a">安防监控</a>
  214. </div>
  215. </li>
  216. <li v-if="str.includes('车行闸道') || str.includes('admin')">
  217. <div class="demo-box">
  218. <div
  219. class="demo active"
  220. v-on:click="chexingfun"
  221. data-url="/diary?ref=addtabs"
  222. >
  223. <img src="../images/ag.png" alt />
  224. </div>
  225. </div>
  226. <div class="demo-a">
  227. <a href="#" class="a">车行闸道</a>
  228. </div>
  229. </li>
  230. <li v-if="str.includes('门岗管理') || str.includes('admin')">
  231. <div class="demo-box">
  232. <div
  233. class="demo active"
  234. v-on:click="mengangfun"
  235. data-url="/diary?ref=addtabs"
  236. >
  237. <img src="../images/ag.png" alt />
  238. </div>
  239. </div>
  240. <div class="demo-a">
  241. <a href="#" class="a">门岗管理</a>
  242. </div>
  243. </li>
  244. <li v-if="str.includes('门禁管理') || str.includes('admin')">
  245. <div class="demo-box">
  246. <div
  247. class="demo active"
  248. id="a2"
  249. data-url="/diary?ref=addtabs"
  250. v-on:click="mengJinFun"
  251. >
  252. <img src="../images/mj.png" alt />
  253. </div>
  254. </div>
  255. <div class="demo-a">
  256. <a href="#" class="a">门禁管理</a>
  257. </div>
  258. </li>
  259. <img
  260. src="../assets/images/椭圆 513 (2).png"
  261. class="li-img"
  262. alt
  263. v-if="
  264. str.includes('admin') ||
  265. str.includes('战备值班') ||
  266. str.includes('检查督导') ||
  267. str.includes('人员进出') ||
  268. str.includes('安防监控') ||
  269. str.includes('车行闸道') ||
  270. str.includes('门岗管理') ||
  271. str.includes('门禁管理')
  272. "
  273. />
  274. </ul>
  275. <!-- <hr /> -->
  276. <ul
  277. class="ul"
  278. v-if="
  279. str.includes('admin') ||
  280. str.includes('手机管理') ||
  281. str.includes('安全风险预警') ||
  282. str.includes('思想政治') ||
  283. str.includes('人力资源')
  284. // || str.includes('门岗demo')
  285. "
  286. >
  287. <li v-if="str.includes('手机管理') || str.includes('admin')">
  288. <div class="demo-box">
  289. <div
  290. class="demo active"
  291. v-on:click="zhinengfun"
  292. data-url="/diary?ref=addtabs"
  293. >
  294. <img
  295. src="../assets/images/智能手机柜.png"
  296. alt
  297. class="phone"
  298. />
  299. </div>
  300. </div>
  301. <div class="demo-a">
  302. <a href="#" class="a">手机管理</a>
  303. </div>
  304. </li>
  305. <li v-if="str.includes('安全风险预警') || str.includes('admin')">
  306. <div class="demo-box">
  307. <div
  308. class="demo active"
  309. v-on:click="safetyfun"
  310. data-url="/diary?ref=addtabs"
  311. >
  312. <img src="../images/sx.png" alt />
  313. </div>
  314. </div>
  315. <div class="demo-a">
  316. <a href="#" class="a">安全风险预警</a>
  317. </div>
  318. </li>
  319. <li v-if="str.includes('思想政治') || str.includes('admin')">
  320. <div class="demo-box">
  321. <div
  322. class="demo active"
  323. v-on:click="sixiangfun"
  324. data-url="/diary?ref=addtabs"
  325. >
  326. <img src="../images/sx.png" alt />
  327. </div>
  328. </div>
  329. <div class="demo-a">
  330. <a href="#" class="a">思想政治教育</a>
  331. </div>
  332. </li>
  333. <li v-if="str.includes('人力资源') || str.includes('admin')">
  334. <div class="demo-box">
  335. <div
  336. class="demo active"
  337. v-on:click="renlifun"
  338. data-url="/diary?ref=addtabs"
  339. >
  340. <img src="../images/rl.png" alt />
  341. </div>
  342. </div>
  343. <div class="demo-a">
  344. <a href="#" class="a">人力资源</a>
  345. </div>
  346. </li>
  347. <li v-if="str.includes('admin') || str.includes('系统工具')">
  348. <div class="demo-box">
  349. <div
  350. class="demo active"
  351. v-on:click="gongju"
  352. data-url="/diary?ref=addtabs"
  353. id="xitong"
  354. >
  355. <img src="../images/xtong.png" alt />
  356. </div>
  357. </div>
  358. <div class="demo-a">
  359. <a href="#" class="a">系统工具</a>
  360. </div>
  361. </li>
  362. <!-- <li v-if="str.includes('门岗demo') || str.includes('admin')">-->
  363. <!-- <div class="demo-box">-->
  364. <!-- <div-->
  365. <!-- class="demo active"-->
  366. <!-- v-on:click="mengangdemofun"-->
  367. <!-- data-url="/diary?ref=addtabs"-->
  368. <!-- >-->
  369. <!-- <img src="../images/sx.png" alt />-->
  370. <!-- </div>-->
  371. <!-- </div>-->
  372. <!-- <div class="demo-a">-->
  373. <!-- <a href="#" class="a">门岗demo</a>-->
  374. <!-- </div>-->
  375. <!-- </li>-->
  376. <img
  377. src="../assets/images/椭圆 513 (2).png"
  378. class="li-img"
  379. alt
  380. v-if="
  381. str.includes('admin') ||
  382. str.includes('手机管理') ||
  383. str.includes('安全风险预警') ||
  384. str.includes('思想政治') ||
  385. str.includes('人力资源')
  386. // ||str.includes('门岗demo')
  387. "
  388. />
  389. </ul>
  390. <!-- <hr /> -->
  391. <ul class="ul">
  392. <li v-if="str.includes('车辆管理') || str.includes('admin')">
  393. <div class="demo-box">
  394. <div class="demo active" id="a3" v-on:click="junchefun">
  395. <img src="../images/cart.png" alt />
  396. </div>
  397. </div>
  398. <div class="demo-a">
  399. <a href="#" class="a">车辆管理</a>
  400. </div>
  401. </li>
  402. <li v-if="str.includes('营房管理') || str.includes('admin')">
  403. <div class="demo-box">
  404. <div
  405. class="demo active"
  406. v-on:click="yingfangfun"
  407. data-url="/diary?ref=addtabs"
  408. >
  409. <img src="../images/git.png" alt />
  410. </div>
  411. </div>
  412. <div class="demo-a">
  413. <a href="#" class="a">营房管理</a>
  414. </div>
  415. </li>
  416. <li v-if="str.includes('库房管理') || str.includes('admin')">
  417. <div class="demo-box">
  418. <div
  419. class="demo active"
  420. v-on:click="yingjufun"
  421. data-url="/diary?ref=addtabs"
  422. >
  423. <img src="../images/gl.png" alt />
  424. </div>
  425. </div>
  426. <div class="demo-a">
  427. <a href="#" class="a">库房管理</a>
  428. </div>
  429. </li>
  430. <li v-if="str.includes('医疗卫生') || str.includes('admin')">
  431. <div class="demo-box">
  432. <div
  433. class="demo active"
  434. v-on:click="yiliaofun"
  435. data-url="/diary?ref=addtabs"
  436. >
  437. <img src="../images/yl.png" alt />
  438. </div>
  439. </div>
  440. <div class="demo-a">
  441. <a href="#" class="a">医疗卫生管理</a>
  442. </div>
  443. </li>
  444. <li v-if="str.includes('涉密载体外借') || str.includes('admin')">
  445. <div class="demo-box">
  446. <div
  447. class="demo active"
  448. v-on:click="baomifun"
  449. data-url="/diary?ref=addtabs"
  450. >
  451. <img src="../assets/images/保密协议.png" alt />
  452. </div>
  453. </div>
  454. <div class="demo-a">
  455. <a href="#" class="a">涉密载体外借</a>
  456. </div>
  457. </li>
  458. <li v-if="str.includes('系统管理') || str.includes('admin')">
  459. <div class="demo-box">
  460. <div
  461. class="demo active"
  462. v-on:click="xitongfun"
  463. data-url="/diary?ref=addtabs"
  464. >
  465. <img src="../images/xt1.png" alt />
  466. </div>
  467. </div>
  468. <div class="demo-a">
  469. <a href="#" class="a">系统管理</a>
  470. </div>
  471. </li>
  472. </ul>
  473. </div>
  474. <!-- 右面盒子 -->
  475. <div class="rigin">
  476. <div class="num1">
  477. <div class="num2">
  478. <img src="../images/db.png" alt />
  479. <span style="font-family: siyuanbold; font-size: 15.5px"
  480. >待办事项</span
  481. >
  482. </div>
  483. <ul class="num1-ul">
  484. <div class="num2-ul-title">
  485. <div class="num2-ul-title-l">任务名称</div>
  486. <div class="num2-ul-title-c">优先级</div>
  487. <div class="num2-ul-title-r">执行人</div>
  488. </div>
  489. <li
  490. class="num2-ul-li"
  491. v-for="item in worklist"
  492. :key="item.id"
  493. @click="dbsxfun"
  494. >
  495. <div class="num2-ul-li-l">{{ item.workName }}</div>
  496. <div class="num2-ul-li-c" v-if="item.workPriority == 0">
  497. 紧急
  498. </div>
  499. <div class="num2-ul-li-c" v-if="item.workPriority == 1">高</div>
  500. <div class="num2-ul-li-c" v-if="item.workPriority == 2">中</div>
  501. <div class="num2-ul-li-c" v-if="item.workPriority == 3">低</div>
  502. <div class="num2-ul-li-r">{{ item.executorPeople }}</div>
  503. </li>
  504. </ul>
  505. </div>
  506. <div class="num1">
  507. <div class="num2">
  508. <img src="../assets/images/通知公告.png" alt />
  509. <span style="font-family: siyuanbold; font-size: 15.5px"
  510. >通知公告</span
  511. >
  512. </div>
  513. <div class="addspan" @click="tiaddfun">查看更多</div>
  514. <div class="num1-box">
  515. <div
  516. class="num1-box-div"
  517. v-for="item in noticeList"
  518. :key="item.noticeId"
  519. @click="tzggfun(item)"
  520. >
  521. <div class="num1-box-l">
  522. <span
  523. style="
  524. color: #bcbcbc;
  525. font-size: 14px;
  526. font-weight: 400;
  527. margin-right: 10px;
  528. "
  529. >[ {{ item.createTime }} ]</span
  530. >
  531. {{ item.noticeTitle }}
  532. </div>
  533. <div class="num1-box-r">
  534. <img
  535. src="../assets/images/通知.png"
  536. v-if="item.start == 1"
  537. alt
  538. />
  539. <img
  540. src="../assets/images/通知 拷贝 3.png"
  541. v-if="item.start == 0"
  542. alt
  543. />
  544. </div>
  545. </div>
  546. </div>
  547. </div>
  548. </div>
  549. </div>
  550. </div>
  551. <div class="tkbox2" v-if="open2">
  552. <div class="tkbox-title">
  553. <div class="tkbox-title-left">
  554. <img src="../assets/images/八一.png" alt />
  555. <span>重要消息</span>
  556. </div>
  557. <div class="tkbox-title-right">
  558. <img src="../assets/images/关闭.png" alt @click="showfun2" />
  559. </div>
  560. </div>
  561. <div class="tkbox-main">
  562. <p>
  563. <img src="../assets/images/警示.png" alt />
  564. <span>{{ title2 }}</span>
  565. </p>
  566. </div>
  567. <div class="tkbox-footer">
  568. <button @click="quchulifun2">去处理</button>
  569. </div>
  570. </div>
  571. <div class="tkbox" v-if="open">
  572. <div class="tkbox-title">
  573. <div class="tkbox-title-left">
  574. <img src="../assets/images/八一.png" alt />
  575. <span>重要消息</span>
  576. </div>
  577. <div class="tkbox-title-right">
  578. <img src="../assets/images/关闭.png" alt @click="showfun" />
  579. </div>
  580. </div>
  581. <div class="tkbox-main">
  582. <p>
  583. <img src="../assets/images/警示.png" alt />
  584. <span>{{ title }}</span>
  585. </p>
  586. </div>
  587. <div class="tkbox-footer">
  588. <button @click="quchulifun">去处理</button>
  589. </div>
  590. </div>
  591. <div class="tkbox3" v-if="open3">
  592. <div class="tkbox-title">
  593. <div class="tkbox-title-left">
  594. <img src="../assets/images/八一.png" alt />
  595. <span>重要消息</span>
  596. </div>
  597. <div class="tkbox-title-right">
  598. <img src="../assets/images/关闭.png" alt @click="showfun3" />
  599. </div>
  600. </div>
  601. <div class="tkbox-main">
  602. <p>
  603. <img src="../assets/images/警示.png" alt />
  604. <span>{{ title3 }}</span>
  605. </p>
  606. </div>
  607. <div class="tkbox-footer">
  608. <button @click="quchulifun3">去处理</button>
  609. </div>
  610. </div>
  611. <div class="tkbox4" v-if="open4">
  612. <div class="tkbox-title">
  613. <div class="tkbox-title-left">
  614. <img src="../assets/images/八一.png" alt />
  615. <span>重要消息</span>
  616. </div>
  617. <div class="tkbox-title-right">
  618. <img src="../assets/images/关闭.png" alt @click="showfun4" />
  619. </div>
  620. </div>
  621. <div class="tkbox-main">
  622. <p>
  623. <img src="../assets/images/警示.png" alt />
  624. <span>{{ title4 }}</span>
  625. </p>
  626. </div>
  627. <div class="tkbox-footer">
  628. <button @click="quchulifun4">去处理</button>
  629. </div>
  630. </div>
  631. <!-- 提示打印 -->
  632. <div class="tkbox4" v-if="open6">
  633. <div class="tkbox-title">
  634. <div class="tkbox-title-left">
  635. <img src="../assets/images/八一.png" alt />
  636. <span>重要消息</span>
  637. </div>
  638. <div class="tkbox-title-right">
  639. <img src="../assets/images/关闭.png" alt @click="showfun5" />
  640. </div>
  641. </div>
  642. <div class="tkbox-main">
  643. <p>
  644. <img src="../assets/images/警示.png" alt />
  645. <span>{{ opentitel }}</span>
  646. </p>
  647. </div>
  648. <div class="tkbox-footer">
  649. <button @click="quchulifun5">去处理</button>
  650. </div>
  651. </div>
  652. <div class="tkbox4" v-if="open7">
  653. <div class="tkbox-title">
  654. <div class="tkbox-title-left">
  655. <img src="../assets/images/八一.png" alt />
  656. <span>重要消息</span>
  657. </div>
  658. <div class="tkbox-title-right">
  659. <img src="../assets/images/关闭.png" alt @click="showfun7" />
  660. </div>
  661. </div>
  662. <div class="tkbox-main">
  663. <p>
  664. <img src="../assets/images/警示.png" alt />
  665. <span>{{ opentitel7 }}</span>
  666. </p>
  667. </div>
  668. <div class="tkbox-footer">
  669. <button @click="quchulifun7">去处理</button>
  670. </div>
  671. </div>
  672. <!-- 添加或修改集中文印记录对话框 -->
  673. <!-- <el-dialog :title="title" style="margin-top: 200px;" :visible.sync="open5" width="565px" append-to-body>
  674. <el-form ref="form" :model="form" :inline="true" :rules="rules" label-width="120px">
  675. <el-form-item label="通知公告标题" prop>
  676. <el-input value placeholder="请输入通知公告标题" />
  677. </el-form-item>
  678. <el-form-item label="通知公告内容">
  679. <el-input value type="textarea" placeholder="请输入通知公告内容" />
  680. <el-input value type="textarea" placeholder="请输入通知公告内容" />
  681. </el-form-item>
  682. </el-form>
  683. <div slot="footer" class="dialog-footer">
  684. <el-button type="primary" style="width:55px;height:25px;" @click="submitForm">确 定</el-button>
  685. <button @click="cancel" style="width:55px;height:25px;margin-left:10px;" >取 消</button>
  686. </div>
  687. </el-dialog>-->
  688. <el-dialog
  689. title="查看通知公告"
  690. :visible.sync="open5"
  691. width="800px"
  692. append-to-body
  693. >
  694. <div class="jiben">基本信息</div>
  695. <el-form ref="form" :model="form" :rules="rules" :inline="true">
  696. <el-row>
  697. <el-col :span="12">
  698. <p
  699. style="
  700. width: 100%;
  701. height: 30px;
  702. line-height: 30px;
  703. color: #fff;
  704. fontsize: 16px;
  705. "
  706. v-if="!ggflg"
  707. >
  708. 公告标题:
  709. <span style="margin-left: 10px; fontsize: 14px">
  710. {{ form.noticeTitle }}
  711. </span>
  712. </p>
  713. <el-form-item label="公告标题" v-if="ggflg" prop="noticeTitle">
  714. <el-input
  715. v-model="form.noticeTitle"
  716. placeholder="请输入公告标题"
  717. />
  718. </el-form-item>
  719. <!-- <el-form-item label="公告标题" prop="noticeTitle">
  720. <el-input
  721. v-model="form.noticeTitle"
  722. placeholder="请输入公告标题"
  723. style="width: 300px"
  724. />
  725. </el-form-item>-->
  726. </el-col>
  727. <el-col :span="12" v-if="ggflg">
  728. <el-form-item label="公告类型" prop="noticeType">
  729. <el-select v-model="form.noticeType" placeholder="请选择">
  730. <el-option
  731. v-for="dict in dict.type.sys_notice_type"
  732. :key="dict.value"
  733. :label="dict.label"
  734. :value="dict.value"
  735. ></el-option>
  736. </el-select>
  737. </el-form-item>
  738. </el-col>
  739. <el-col
  740. :span="24"
  741. style="margin-top: 15px; margin-bottom: 10px"
  742. v-if="ggflg"
  743. >
  744. <el-form-item label="状态">
  745. <el-radio-group v-model="form.status">
  746. <el-radio
  747. v-for="dict in dict.type.sys_notice_status"
  748. :key="dict.value"
  749. :label="dict.value"
  750. style="margin-right: 20px"
  751. >{{ dict.label }}</el-radio
  752. >
  753. </el-radio-group>
  754. </el-form-item>
  755. </el-col>
  756. </el-row>
  757. <el-row style="margin-top: 10px">
  758. <el-col :span="12" v-if="!ggflg">
  759. <el-form-item label="发布人" prop="createBy" label-width="0">
  760. <el-input
  761. v-model="form.createBy"
  762. disabled
  763. placeholder="请输入发布人"
  764. />
  765. </el-form-item>
  766. </el-col>
  767. <el-col :span="12" v-if="!ggflg">
  768. <el-form-item label="附件" label-width="0px" prop="filename">
  769. <a
  770. :href="url + form.filename"
  771. target="_blank"
  772. download
  773. style="
  774. display: inline-block;
  775. width: 90px;
  776. height: 30px;
  777. background-color: #409eff;
  778. border: none;
  779. border-radus: 3px;
  780. color: #fff;
  781. line-height: 30px;
  782. text-align: center;
  783. "
  784. >下载附件</a
  785. >
  786. <!-- <fileUpload v-model="form.filename" class="m-l-20" /> -->
  787. </el-form-item>
  788. </el-col>
  789. </el-row>
  790. <div class="jiben">内容</div>
  791. <el-col :span="24">
  792. <el-form-item
  793. label
  794. prop="remark"
  795. class="textareas"
  796. style="width: 100%"
  797. >
  798. <el-input
  799. v-model="form.remark"
  800. type="textarea"
  801. placeholder="请输入内容"
  802. />
  803. </el-form-item>
  804. </el-col>
  805. </el-form>
  806. <div slot="footer" class="dialog-footer">
  807. <button class="button1" v-if="ggflg" @click="submitForm">确 定</button>
  808. <button @click="cancel">取 消</button>
  809. </div>
  810. </el-dialog>
  811. </div>
  812. </template>
  813. <script>
  814. import {
  815. printTrigger,
  816. printTriggerClear,
  817. printPeople,
  818. printEachTrigger,
  819. } from "@/api/PrintsManage/manage";
  820. import {
  821. workEachTrigger,
  822. workTrigger,
  823. addNotice,
  824. listNotice,
  825. updateNotice,
  826. getWorkTask,
  827. getNone,
  828. noReminder,
  829. remindPrint,
  830. syTaskView,
  831. getInfoD,
  832. } from "@/api/pt";
  833. import { getUserProfile } from "@/api/system/user";
  834. import Cookies from "js-cookie";
  835. import axios from "axios";
  836. import WebSocketService from "@/utils/WebSocketService";
  837. export default {
  838. dicts: ["sys_notice_status", "sys_notice_type"],
  839. data() {
  840. return {
  841. times: null,
  842. timer: null,
  843. open: false,
  844. open2: false,
  845. open3: false,
  846. open4: false,
  847. timer2: null,
  848. open5: false,
  849. ggflg: false,
  850. title: "",
  851. title2: "",
  852. title3: "",
  853. title4: "",
  854. url: process.env.VUE_APP_BASE_API,
  855. form: "",
  856. rules: {
  857. noticeTitle: [
  858. { required: true, message: "公告标题不能为空", trigger: "blur" },
  859. ],
  860. noticeType: [
  861. { required: true, message: "公告类型不能为空", trigger: "change" },
  862. ],
  863. },
  864. noticeList: [],
  865. worklist: [],
  866. // 用户信息
  867. user: {},
  868. danWie: "",
  869. yongHu: "",
  870. str: "",
  871. // 获取预警列表
  872. yuJing: [],
  873. yuStatus: false,
  874. yuStatus1: false,
  875. yuStatus2: false,
  876. // 提示打印
  877. open6: false,
  878. open7: false,
  879. opentitel7: null,
  880. opentitel: null,
  881. };
  882. },
  883. created() {
  884. this.getUser();
  885. this.timer = null;
  886. this.startTime();
  887. this.timer2 = null;
  888. this.startTime2();
  889. this.xianShang();
  890. this.getTiXing();
  891. getNone().then((res) => {
  892. console.log("getNone", res);
  893. this.str = res.msg;
  894. });
  895. noReminder().then((res) => {
  896. if (res.data[0] != 0) {
  897. this.yuStatus = true;
  898. }
  899. if (res.data[1] != 0) {
  900. this.yuStatus1 = true;
  901. }
  902. if (res.data[2] != 0) {
  903. this.yuStatus2 = true;
  904. }
  905. });
  906. },
  907. mounted() {
  908. if (this.$route.params.name) {
  909. this.$modal.msgSuccess(this.$route.params.name);
  910. }
  911. this.getlist();
  912. this.getworklist();
  913. },
  914. methods: {
  915. // 获取提示信息
  916. getTiXing() {
  917. remindPrint().then((res) => {
  918. console.log("getTiXing", res);
  919. this.opentitel = res.msg;
  920. if (res.num == 0) {
  921. this.open6 = false;
  922. } else {
  923. var ti = Cookies.get("tixing") || false;
  924. if (ti) {
  925. this.open6 = false;
  926. } else {
  927. this.open6 = true;
  928. Cookies.set("tixing", "true");
  929. }
  930. }
  931. });
  932. },
  933. // 退出
  934. async logout() {
  935. try {
  936. await this.$confirm("确定注销并退出系统吗?", "提示", {
  937. confirmButtonText: "确定",
  938. cancelButtonText: "取消",
  939. type: "warning",
  940. });
  941. // 调用 Vuex 退出登录
  942. await this.$store.dispatch("LogOut");
  943. // 清理本地数据
  944. Cookies.remove("tixing");
  945. // 断开 WebSocket(如果存在)
  946. if (this.$store.getters.webSocketState === 'open') {
  947. WebSocketService.close();
  948. }
  949. // 跳转登录页
  950. location.href = "/index";
  951. } catch (err) {
  952. // 用户取消操作,不处理
  953. }
  954. },
  955. // 手机柜线S地址console
  956. xianShang() {
  957. // axios
  958. // // 线上地址
  959. // .post("http://172.4.5.232:12092/wl/api/getAccessToken", {
  960. // password: "123456",
  961. // username: "admin"
  962. // })
  963. // .then(res => {
  964. // Cookies.set("accessToken", res.data.accessToken);
  965. // });
  966. Cookies.set("accessToken", "res.data.accessToken");
  967. },
  968. // 获取登录信息
  969. getUser() {
  970. getUserProfile().then((response) => {
  971. console.log("getUserProfile", response);
  972. this.user = response.data;
  973. this.danWie = response.data.dept.deptName;
  974. this.yongHu = response.data.nickName;
  975. });
  976. },
  977. getlist() {
  978. listNotice().then((res) => {
  979. this.noticeList = res.data;
  980. this.noticeList.forEach((item) => {
  981. // var newDate=/\d{4}-\d{1,2}-\d{1,2}/g.exec(item.createTime)
  982. var a = item.createTime.substring(0, 10).split("-");
  983. return (item.createTime = a[0] + "-" + a[1] + "-" + a[2]);
  984. });
  985. });
  986. },
  987. // 获取代办事项
  988. getworklist() {
  989. syTaskView().then((res) => {
  990. this.worklist = res.rows;
  991. });
  992. },
  993. // 表单重置
  994. reset() {
  995. this.form = {
  996. noticeId: undefined,
  997. noticeTitle: undefined,
  998. noticeType: undefined,
  999. noticeContent: undefined,
  1000. status: "0",
  1001. };
  1002. this.resetForm("form");
  1003. },
  1004. startTime() {
  1005. this.timer = setInterval(() => {
  1006. var today = new Date();
  1007. var y = today.getFullYear();
  1008. var M = today.getMonth() + 1;
  1009. var d = today.getDate();
  1010. var h = today.getHours();
  1011. var m = today.getMinutes();
  1012. var s = today.getSeconds();
  1013. var w = today.getDay();
  1014. if (M < 10) {
  1015. M = "0" + M;
  1016. }
  1017. if (d < 10) {
  1018. d = "0" + d;
  1019. }
  1020. if (h < 10) {
  1021. h = "0" + h;
  1022. }
  1023. if (m < 10) {
  1024. m = "0" + m;
  1025. }
  1026. if (s < 10) {
  1027. s = "0" + s;
  1028. }
  1029. this.times = y + "-" + M + "-" + d + " " + h + ":" + m + ":" + s;
  1030. }, 500); /* 每500毫秒执行一次,实现动态显示时间效果 */
  1031. },
  1032. doThis() {
  1033. this.$router
  1034. .push({ path: "/index", query: { name: "/grassrootsregistration" } })
  1035. .catch(() => {});
  1036. Cookies.set("shuaxin", "false");
  1037. },
  1038. zhanbeifun() {
  1039. this.$router
  1040. .push({ path: "/index", query: { name: "/combatduty" } })
  1041. .catch(() => {});
  1042. Cookies.set("shuaxin", "false");
  1043. },
  1044. safetyfun() {
  1045. this.$router
  1046. .push({ path: "/index", query: { name: "/safety" } })
  1047. .catch(() => {});
  1048. Cookies.set("shuaxin", "false");
  1049. },
  1050. mengangdemofun() {
  1051. this.$router
  1052. .push({ path: "/index", query: { name: "/demo" } })
  1053. .catch(() => {});
  1054. Cookies.set("shuaxin", "false");
  1055. },
  1056. renlifun() {
  1057. this.$router
  1058. .push({ path: "/index", query: { name: "/peopleManage" } })
  1059. .catch(() => {});
  1060. Cookies.set("shuaxin", "false");
  1061. },
  1062. renyuanfun() {
  1063. this.$router
  1064. .push({ path: "/index", query: { name: "/peopleChuRu" } })
  1065. .catch(() => {});
  1066. Cookies.set("shuaxin", "false");
  1067. },
  1068. yingfangfun() {
  1069. this.$router
  1070. .push({ path: "/index", query: { name: "/barracksManagement" } })
  1071. .catch(() => {});
  1072. Cookies.set("shuaxin", "false");
  1073. },
  1074. junchefun() {
  1075. this.$router
  1076. .push({ path: "/index", query: { name: "/militaryvehicleManagement" } })
  1077. .catch(() => {});
  1078. Cookies.set("shuaxin", "false");
  1079. },
  1080. gongzuofun() {
  1081. this.$router
  1082. .push({ path: "/index", query: { name: "/workingArrangements" } })
  1083. .catch(() => {});
  1084. Cookies.set("shuaxin", "false");
  1085. },
  1086. guizhangfun() {
  1087. this.$router
  1088. .push({ path: "/index", query: { name: "/regulations" } })
  1089. .catch(() => {});
  1090. Cookies.set("shuaxin", "false");
  1091. },
  1092. yiliaofun() {
  1093. this.$router
  1094. .push({ path: "/index", query: { name: "/medicalhealth" } })
  1095. .catch(() => {});
  1096. Cookies.set("shuaxin", "false");
  1097. },
  1098. jianchafun() {
  1099. this.$router
  1100. .push({ path: "/index", query: { name: "/bdglregular" } })
  1101. .catch(() => {});
  1102. Cookies.set("shuaxin", "false");
  1103. },
  1104. anfangfun() {
  1105. this.$router
  1106. .push({ path: "/index", query: { name: "/monitoring" } })
  1107. .catch(() => {});
  1108. Cookies.set("shuaxin", "false");
  1109. },
  1110. chexingfun() {
  1111. this.$router
  1112. .push({ path: "/index", query: { name: "/doorcarManage" } })
  1113. .catch(() => {});
  1114. Cookies.set("shuaxin", "false");
  1115. },
  1116. mengangfun() {
  1117. this.$router
  1118. .push({ path: "/index", query: { name: "/doormanManage" } })
  1119. .catch(() => {});
  1120. Cookies.set("shuaxin", "false");
  1121. },
  1122. mengJinFun() {
  1123. this.$router
  1124. .push({ path: "/index", query: { name: "/access" } })
  1125. .catch(() => {});
  1126. Cookies.set("shuaxin", "false");
  1127. },
  1128. yingjufun() {
  1129. this.$router
  1130. .push({ path: "/index", query: { name: "/materialManagement" } })
  1131. .catch(() => {});
  1132. Cookies.set("shuaxin", "false");
  1133. },
  1134. xitongfun() {
  1135. this.$router
  1136. .push({ path: "/index", query: { name: "/system" } })
  1137. .catch(() => {});
  1138. Cookies.set("shuaxin", "false");
  1139. },
  1140. gongju() {
  1141. this.$router
  1142. .push({ path: "/index", query: { name: "/tool" } })
  1143. .catch(() => {});
  1144. Cookies.set("shuaxin", "false");
  1145. },
  1146. wenyinfun() {
  1147. this.$router
  1148. .push({ path: "/index", query: { name: "/print" } })
  1149. .catch(() => {});
  1150. Cookies.set("shuaxin", "false");
  1151. },
  1152. taishifun() {
  1153. this.$router.push({ path: "/taishi" }).catch(() => {});
  1154. Cookies.set("shuaxin", "false");
  1155. // window.open(`/taishi`,'_self');
  1156. },
  1157. baomifun() {
  1158. this.$router
  1159. .push({ path: "/index", query: { name: "/bdglSecret" } })
  1160. .catch(() => {});
  1161. },
  1162. sixiangfun() {
  1163. this.$router
  1164. .push({ path: "/index", query: { name: "/thought" } })
  1165. .catch(() => {});
  1166. },
  1167. zhinengfun() {
  1168. this.$router
  1169. .push({ path: "/index", query: { name: "/phone" } })
  1170. .catch(() => {});
  1171. },
  1172. showfun() {
  1173. this.open = false;
  1174. printTriggerClear().then((res) => {});
  1175. },
  1176. showfun2() {
  1177. this.open2 = false;
  1178. printTriggerClear().then((res) => {});
  1179. },
  1180. showfun3() {
  1181. this.open3 = false;
  1182. printTriggerClear().then((res) => {});
  1183. },
  1184. showfun4() {
  1185. this.open4 = false;
  1186. printTriggerClear().then((res) => {});
  1187. },
  1188. showfun5() {
  1189. this.open6 = false;
  1190. printTriggerClear().then((res) => {});
  1191. },
  1192. showfun7() {
  1193. this.open7 = false;
  1194. printTriggerClear().then((res) => {});
  1195. },
  1196. quchulifun() {
  1197. printTriggerClear().then((res) => {
  1198. if (res.code == 200) {
  1199. this.open = true;
  1200. window.open(`/print/manage`, "_self");
  1201. }
  1202. });
  1203. },
  1204. quchulifun2() {
  1205. printTriggerClear().then((res) => {
  1206. if (res.code == 200) {
  1207. this.open = false;
  1208. window.open(`/print/manage`, "_self");
  1209. }
  1210. });
  1211. },
  1212. quchulifun3() {
  1213. printTriggerClear().then((res) => {
  1214. if (res.code == 200) {
  1215. this.open3 = false;
  1216. window.open(`/#/workingArrangements/workTask`, "_self");
  1217. }
  1218. });
  1219. },
  1220. quchulifun4() {
  1221. printTriggerClear().then((res) => {
  1222. if (res.code == 200) {
  1223. this.open4 = false;
  1224. window.open(`/#/workingArrangements/planTask`, "_self");
  1225. }
  1226. });
  1227. },
  1228. quchulifun5() {
  1229. Cookies.set("tixing", "false");
  1230. printTriggerClear().then((res) => {
  1231. if (res.code == 200) {
  1232. window.open(`/#/print/printlog`, "_self");
  1233. }
  1234. });
  1235. },
  1236. quchulifun7() {
  1237. printTriggerClear().then((res) => {
  1238. if (res.code == 200) {
  1239. window.open(`/#/barracksManagement/repair`, "_self");
  1240. }
  1241. });
  1242. },
  1243. startTime2() {
  1244. this.timer = setInterval(() => {
  1245. // printTrigger().then((res) => {
  1246. // if (res.code == 200) {
  1247. // if (res.print == "print") {
  1248. // if (res.numb != 0) {
  1249. // this.title2 = "您有打印文件需要处理,请尽快处理";
  1250. // this.open2 = true;
  1251. // }
  1252. // }
  1253. // }
  1254. // });
  1255. printEachTrigger().then((res) => {
  1256. if (res.code == 200) {
  1257. if (res.print == "printUserInfo") {
  1258. var sendId = Cookies.get("userId");
  1259. if (res.printUserInfo == sendId) {
  1260. if (res.numb != 0) {
  1261. this.title = res.msg;
  1262. this.open = true;
  1263. }
  1264. }
  1265. }
  1266. }
  1267. });
  1268. workEachTrigger().then((res) => {
  1269. var sendId = Cookies.get("userId");
  1270. if (res.code == 200) {
  1271. if (res.workEach != 0) {
  1272. if (res.workUserid == sendId) {
  1273. this.title3 = res.msg;
  1274. this.open3 = true;
  1275. }
  1276. }
  1277. }
  1278. });
  1279. workTrigger().then((res) => {
  1280. // var sendId = Cookies.get("userId");
  1281. if (res.code == 200) {
  1282. if (res.workRequest != 0) {
  1283. this.title4 = res.msg;
  1284. this.open4 = true;
  1285. }
  1286. }
  1287. });
  1288. getInfoD().then((res) => {
  1289. if (res.code == 200) {
  1290. if (res.data != 0) {
  1291. this.opentitel7 = res.data;
  1292. this.open7 = true;
  1293. }
  1294. }
  1295. });
  1296. }, 10000); /* 每500毫秒执行一次,实现动态显示时间效果 */
  1297. },
  1298. tongzhifun() {
  1299. // this.$router.push({ path: "/system/notice" }).catch(() => {});
  1300. this.$router
  1301. .push({ path: "/index", query: { name: "/notice" } })
  1302. .catch(() => {});
  1303. },
  1304. submitForm() {
  1305. // addNotice(this.form).then((response) => {
  1306. // this.$modal.msgSuccess("新增成功");
  1307. // this.open5 = false;
  1308. // this.ggflg = false;
  1309. // this.getlist();
  1310. // });
  1311. },
  1312. cancel() {
  1313. this.open5 = false;
  1314. this.ggflg = false;
  1315. this.getlist();
  1316. },
  1317. tiaddfun() {
  1318. this.$router
  1319. .push({ path: "/index", query: { name: "/notice" } })
  1320. .catch(() => {});
  1321. // this.$router.push({ path: "/system/notice" }).catch(() => {});
  1322. },
  1323. tzggfun(item) {
  1324. // item.start = 1;
  1325. this.reset();
  1326. this.form = item;
  1327. updateNotice({
  1328. noticeId: item.noticeId,
  1329. start: 1,
  1330. noticeTitle: item.noticeTitle,
  1331. }).then((res) => {
  1332. if (res.code == 200) {
  1333. this.getlist();
  1334. }
  1335. });
  1336. this.open5 = true;
  1337. this.ggflg = false;
  1338. },
  1339. dbsxfun() {
  1340. this.$router
  1341. .push({ path: "/workingArrangements/workCalendar" })
  1342. .catch(() => {});
  1343. },
  1344. },
  1345. destroyed() {
  1346. clearInterval(this.timer); // 清除定时器
  1347. this.timer = null;
  1348. clearInterval(this.timer2); // 清除定时器
  1349. this.timer2 = null;
  1350. },
  1351. };
  1352. </script>
  1353. <style scoped>
  1354. .el-dialog {
  1355. margin-top: 500px;
  1356. }
  1357. * {
  1358. margin: 0;
  1359. padding: 0;
  1360. }
  1361. body,
  1362. html {
  1363. height: 100%;
  1364. width: 100%;
  1365. }
  1366. li {
  1367. list-style: none;
  1368. }
  1369. .header {
  1370. height: 100%;
  1371. width: 100%;
  1372. overflow: auto;
  1373. background: url("~@/images/背景1.png") no-repeat center;
  1374. background-size: 100% 100%;
  1375. position: relative;
  1376. }
  1377. .tou {
  1378. color: #fff;
  1379. position: relative;
  1380. height: 120px;
  1381. background: url("~@/assets/images/首页顶部.gif") no-repeat center;
  1382. background-size: cover;
  1383. }
  1384. .tou .yong_hu {
  1385. position: absolute;
  1386. right: 24px;
  1387. top: 33px;
  1388. min-width: 320px;
  1389. font-size: 16px;
  1390. box-sizing: border-box;
  1391. }
  1392. .tou .tiem {
  1393. position: absolute;
  1394. /* right: 24px; */
  1395. left: 124px;
  1396. top: 33px;
  1397. min-width: 320px;
  1398. font-size: 15px;
  1399. box-sizing: border-box;
  1400. }
  1401. .tou .span {
  1402. margin-right: 20px;
  1403. }
  1404. .liuxian {
  1405. position: absolute;
  1406. top: -7px;
  1407. }
  1408. .in1 {
  1409. padding: 0 84px;
  1410. }
  1411. .demo {
  1412. color: #fff;
  1413. width: 107px;
  1414. height: 95%;
  1415. background: url("~@/images/tx.png") no-repeat;
  1416. text-align: center;
  1417. margin-top: 10%;
  1418. position: relative;
  1419. /* margin-bottom: 10px; */
  1420. /* margin: 0 80px; */
  1421. }
  1422. .demo img {
  1423. margin-top: 35px;
  1424. }
  1425. #q1 img {
  1426. margin-top: 42px;
  1427. }
  1428. .demo-box {
  1429. width: 100%;
  1430. height: 70%;
  1431. display: flex;
  1432. justify-content: center;
  1433. align-items: center;
  1434. }
  1435. .demo-a {
  1436. width: 100%;
  1437. height: 30%;
  1438. font-size: 1rem;
  1439. color: #fff;
  1440. display: flex;
  1441. justify-content: center;
  1442. align-items: center;
  1443. }
  1444. .ul {
  1445. margin-bottom: 20px;
  1446. height: 23%;
  1447. display: flex;
  1448. flex-flow: wrap;
  1449. }
  1450. .ul li {
  1451. /* margin: 0 48px; */
  1452. cursor: pointer;
  1453. width: 14.1%;
  1454. height: 100%;
  1455. display: inline-block;
  1456. }
  1457. .li-img {
  1458. width: 100%;
  1459. /* height: 2px;
  1460. background-color: #06668a;
  1461. border: none;
  1462. margin-bottom: 20px; */
  1463. }
  1464. .boxx {
  1465. padding: 0 0 0 80px;
  1466. flex: 2.2;
  1467. }
  1468. .img-left {
  1469. position: absolute;
  1470. top: -8px;
  1471. }
  1472. hr {
  1473. height: 2px;
  1474. background-color: #06668a;
  1475. border: none;
  1476. margin-bottom: 20px;
  1477. }
  1478. .centen {
  1479. display: flex;
  1480. height: 85vh;
  1481. }
  1482. .num1 {
  1483. color: #fff;
  1484. width: 529px;
  1485. height: 41vh;
  1486. background: url("~@/images/底3.png") no-repeat;
  1487. margin-bottom: 10px;
  1488. padding: 16px 20px 0px 20px;
  1489. background-size: 100% 100%;
  1490. }
  1491. .num1 img {
  1492. /* width: 20px;
  1493. height: 20px; */
  1494. vertical-align: bottom;
  1495. margin-right: 10px;
  1496. }
  1497. .rigin {
  1498. flex: 1;
  1499. margin-left: 52px;
  1500. }
  1501. .table {
  1502. margin-top: 20px;
  1503. width: 492px;
  1504. height: 80%;
  1505. /* height: 182px; */
  1506. /* 去除中间的线 */
  1507. border-collapse: collapse;
  1508. border-spacing: 0;
  1509. }
  1510. .table tr td {
  1511. height: 28px;
  1512. text-align: center;
  1513. }
  1514. .table tr:nth-child(even) {
  1515. background-color: rgba(39, 104, 136, 0.2);
  1516. }
  1517. .table tr:hover {
  1518. background: rgba(0, 246, 255, 0.3);
  1519. }
  1520. #a2 img {
  1521. margin-top: 40px;
  1522. }
  1523. #a1 img {
  1524. margin-top: 40px;
  1525. }
  1526. #a3 img {
  1527. margin-top: 43px;
  1528. }
  1529. .num1-box {
  1530. width: 100%;
  1531. height: 86%;
  1532. margin-top: 5%;
  1533. }
  1534. .num1-box .num1-box-div {
  1535. width: 100%;
  1536. height: 36px;
  1537. display: flex;
  1538. flex-direction: row;
  1539. font-size: 14px;
  1540. color: #fff;
  1541. line-height: 36px;
  1542. }
  1543. .num1-box-div:nth-child(odd) {
  1544. background-color: rgba(39, 104, 136, 0.2);
  1545. }
  1546. .num1-box-div:hover {
  1547. background: rgba(0, 246, 255, 0.3);
  1548. }
  1549. .num1-box-l {
  1550. flex: 8;
  1551. height: 100%;
  1552. text-align: left;
  1553. margin-left: 10px;
  1554. text-overflow: ellipsis;
  1555. white-space: nowrap;
  1556. overflow: hidden;
  1557. }
  1558. .num1-box-r {
  1559. flex: 1;
  1560. height: 100%;
  1561. text-align: right;
  1562. margin-right: 10px;
  1563. margin-top: -4px;
  1564. line-height: 30px;
  1565. }
  1566. .num1-ul {
  1567. width: 100%;
  1568. height: 86%;
  1569. margin-top: 2%;
  1570. overflow: auto;
  1571. }
  1572. .num1-ul::-webkit-scrollbar {
  1573. width: 14px;
  1574. /* height: 2px !important; */
  1575. background: #002745;
  1576. }
  1577. /*定义滑块,内阴影及圆角*/
  1578. .num1-ul::-webkit-scrollbar-thumb {
  1579. background: rgba(0, 39, 69, 1);
  1580. }
  1581. .num1-ul-li {
  1582. width: 100%;
  1583. height: 36px;
  1584. display: flex;
  1585. flex-direction: row;
  1586. font-size: 14px;
  1587. color: #fff;
  1588. line-height: 36px;
  1589. }
  1590. .num1-ul-li:nth-child(even) {
  1591. background-color: rgba(39, 104, 136, 0.2);
  1592. }
  1593. .num1-ul-li:hover {
  1594. background: rgba(0, 246, 255, 0.3);
  1595. }
  1596. .num1-ul-li-l {
  1597. flex: 7;
  1598. height: 100%;
  1599. text-align: center;
  1600. }
  1601. .num1-ul-li-r {
  1602. flex: 3;
  1603. height: 100%;
  1604. text-align: center;
  1605. }
  1606. .num2-ul-li {
  1607. width: 100%;
  1608. height: 36px;
  1609. display: flex;
  1610. flex-direction: row;
  1611. font-size: 14px;
  1612. color: #fff;
  1613. line-height: 36px;
  1614. }
  1615. .num2-ul-li:nth-child(even) {
  1616. background-color: rgba(39, 104, 136, 0.2);
  1617. }
  1618. .num2-ul-li:hover {
  1619. background: rgba(0, 246, 255, 0.3);
  1620. }
  1621. .num2-ul-li-l {
  1622. flex: 6;
  1623. height: 100%;
  1624. text-align: left;
  1625. margin-left: 10px;
  1626. }
  1627. .num2-ul-li-c {
  1628. flex: 3;
  1629. height: 100%;
  1630. text-align: center;
  1631. }
  1632. .num2-ul-li-r {
  1633. flex: 3;
  1634. height: 100%;
  1635. text-align: center;
  1636. }
  1637. .num1-ul-title {
  1638. width: 100%;
  1639. height: 45px;
  1640. display: flex;
  1641. flex-direction: row;
  1642. font-size: 16px;
  1643. color: #fff;
  1644. line-height: 45px;
  1645. }
  1646. .num1-ul-title-l {
  1647. flex: 7;
  1648. height: 100%;
  1649. text-align: center;
  1650. }
  1651. .num1-ul-title-r {
  1652. flex: 3;
  1653. height: 100%;
  1654. text-align: center;
  1655. }
  1656. .num2-ul-title {
  1657. width: 100%;
  1658. height: 45px;
  1659. display: flex;
  1660. flex-direction: row;
  1661. font-size: 16px;
  1662. color: #fff;
  1663. line-height: 45px;
  1664. }
  1665. .num2-ul-title-l {
  1666. flex: 6;
  1667. height: 100%;
  1668. text-align: left;
  1669. margin-left: 10px;
  1670. }
  1671. .num2-ul-title-c {
  1672. flex: 3;
  1673. height: 100%;
  1674. text-align: center;
  1675. }
  1676. .num2-ul-title-r {
  1677. flex: 3;
  1678. height: 100%;
  1679. text-align: center;
  1680. }
  1681. .num1 {
  1682. position: relative;
  1683. }
  1684. .num1 .addspan:hover {
  1685. color: #1d96ff;
  1686. }
  1687. .num1 .addspan {
  1688. width: 80px;
  1689. /* background-color: pink; */
  1690. height: 20px;
  1691. display: inline-block;
  1692. /* background-color: #1c86e1; */
  1693. line-height: 25px;
  1694. text-align: center;
  1695. font-size: 14px;
  1696. cursor: pointer;
  1697. color: #dcdcdc;
  1698. background-repeat: no-repeat;
  1699. /* margin-left: 3.5px; */
  1700. background-position: 70px 5px;
  1701. position: absolute;
  1702. right: 1.6%;
  1703. top: 2%;
  1704. font-family: siyuan;
  1705. }
  1706. ::v-deep .el-dialog {
  1707. background-color: #004d86;
  1708. }
  1709. ::v-deep .el-dialog__header {
  1710. border-bottom: 1px solid #718a9d;
  1711. }
  1712. ::v-deep .el-dialog__title {
  1713. color: #fff;
  1714. font: 18px;
  1715. }
  1716. ::v-deep .el-dialog__headerbtn .el-dialog__close {
  1717. color: #fff;
  1718. }
  1719. .el-form-item ::v-deep .el-input__inner {
  1720. width: 355px;
  1721. height: 36px;
  1722. background: #004d86;
  1723. color: #000000;
  1724. border: 1px solid #fff !important;
  1725. }
  1726. ::v-deep .el-textarea__inner {
  1727. width: 450px;
  1728. height: 104px;
  1729. margin-left: 25px;
  1730. }
  1731. /* 通知 */
  1732. ::v-deep .el-tag.el-tag--success {
  1733. background-color: #e7faf0;
  1734. border-color: #d0f5e0;
  1735. color: #13ce66;
  1736. }
  1737. /* 公告 */
  1738. ::v-deep .el-tag.el-tag--warning {
  1739. background-color: #fff8e6;
  1740. border-color: #fff1cc;
  1741. color: #ffba00;
  1742. }
  1743. /* 对话框背景颜色 */
  1744. ::v-deep .el-dialog {
  1745. background: #004d86 !important;
  1746. }
  1747. ::v-deep .el-textarea__inner {
  1748. width: 760px;
  1749. height: 104px;
  1750. margin: auto !important;
  1751. }
  1752. ::v-deep .el-dialog__header {
  1753. border-bottom: 1px solid #718a9d;
  1754. }
  1755. ::v-deep .el-dialog__title {
  1756. color: #fff;
  1757. font: 18px;
  1758. }
  1759. ::v-deep .el-dialog__headerbtn .el-dialog__close {
  1760. color: #fff;
  1761. }
  1762. ::v-deep .el-form-item__label {
  1763. font: 16px;
  1764. color: #fff;
  1765. width: auto !important;
  1766. }
  1767. ::v-deep .el-input__inner {
  1768. width: 250px !important;
  1769. height: 36px;
  1770. background: transparent;
  1771. color: #fff;
  1772. }
  1773. /* 单位框背景颜色 */
  1774. ::v-deep .vue-treeselect__control {
  1775. background: #004d86 !important;
  1776. }
  1777. /* 基本信息背景 */
  1778. .jiben {
  1779. width: 760px;
  1780. height: 32px;
  1781. background-image: url("~@/images/小标题底.png");
  1782. margin-bottom: 25px;
  1783. color: #fff;
  1784. padding-left: 16px;
  1785. line-height: 32px;
  1786. margin-top: 10px;
  1787. }
  1788. /*调整表单间距 */
  1789. ::v-deep .el-form-item__content {
  1790. width: 200px;
  1791. }
  1792. .contents {
  1793. padding: 0px 40px !important;
  1794. }
  1795. /* 单位框背景颜色 */
  1796. ::v-deep .vue-treeselect__control {
  1797. background: #004d86 !important;
  1798. color: #fff;
  1799. }
  1800. /* 备注输入框 */
  1801. .textareas ::v-deep .el-form-item__content {
  1802. width: 100%;
  1803. }
  1804. /* 状态 */
  1805. .el-radio {
  1806. color: rgb(204, 198, 198);
  1807. }
  1808. /* 备注输入框 */
  1809. .textareas ::v-deep .el-form-item__content {
  1810. width: 100%;
  1811. }
  1812. /* 富文本 */
  1813. ::v-deep .ql-snow .ql-fill,
  1814. .ql-snow .ql-stroke.ql-fill {
  1815. fill: #fff !important;
  1816. }
  1817. ::v-deep .ql-snow .ql-stroke {
  1818. stroke: #fff !important;
  1819. }
  1820. ::v-deep .ql-snow .ql-picker {
  1821. color: #fff !important;
  1822. }
  1823. ::v-deep .ql-editor ql-blank {
  1824. color: #fff !important;
  1825. }
  1826. /* 分页按钮 */
  1827. ::v-deep .el-pagination.is-background .el-pager li {
  1828. background-color: #004d86;
  1829. color: #fff;
  1830. }
  1831. ::v-deep .el-pagination.is-background .btn-next {
  1832. background-color: #004d86;
  1833. color: #fff;
  1834. }
  1835. ::v-deep .el-pagination.is-background .btn-prev,
  1836. .el-pagination.is-background .btn-next,
  1837. .el-pagination.is-background .el-pager li {
  1838. background: #004d86 !important;
  1839. color: #fff !important;
  1840. }
  1841. .el-select-dropdown__item {
  1842. left: 10px !important;
  1843. }
  1844. ::v-deep .el-upload__tip {
  1845. display: none;
  1846. }
  1847. </style>
  1848. <style lang="scss" scoped>
  1849. .tkbox {
  1850. width: 500px;
  1851. height: 220px;
  1852. background-image: url("~@/assets/images/框.png");
  1853. background-size: 100% 100%;
  1854. background-repeat: no-repeat;
  1855. position: absolute;
  1856. left: 20%;
  1857. top: 30%;
  1858. }
  1859. .tkbox2 {
  1860. width: 500px;
  1861. height: 220px;
  1862. background-image: url("~@/assets/images/框.png");
  1863. background-size: 100% 100%;
  1864. background-repeat: no-repeat;
  1865. position: absolute;
  1866. right: 26%;
  1867. top: 30%;
  1868. }
  1869. .tkbox3 {
  1870. width: 500px;
  1871. height: 220px;
  1872. background-image: url("~@/assets/images/框.png");
  1873. background-size: 100% 100%;
  1874. background-repeat: no-repeat;
  1875. position: absolute;
  1876. left: 20%;
  1877. top: 38%;
  1878. }
  1879. .tkbox4 {
  1880. width: 500px;
  1881. height: 220px;
  1882. background-image: url("~@/assets/images/框.png");
  1883. background-size: 100% 100%;
  1884. background-repeat: no-repeat;
  1885. position: absolute;
  1886. right: 42%;
  1887. top: 38%;
  1888. }
  1889. .tkbox-title {
  1890. width: 100%;
  1891. height: 90px;
  1892. }
  1893. .tkbox-title-left {
  1894. width: 90%;
  1895. display: inline-block;
  1896. line-height: 90px;
  1897. position: relative;
  1898. }
  1899. .tkbox-title-left img {
  1900. position: absolute;
  1901. left: 35px;
  1902. top: 30px;
  1903. }
  1904. .tkbox-title-left span {
  1905. color: #fff;
  1906. line-height: 95px;
  1907. margin-left: 75px;
  1908. }
  1909. .tkbox-title-right {
  1910. width: 10%;
  1911. text-align: right;
  1912. display: inline-block;
  1913. }
  1914. .tkbox-title-right img {
  1915. text-align: right;
  1916. margin-right: 30px;
  1917. }
  1918. .tkbox-main {
  1919. width: 100%;
  1920. height: 60px;
  1921. }
  1922. .tkbox-main p {
  1923. width: 90%;
  1924. height: auto;
  1925. margin: 0 auto;
  1926. color: #fff;
  1927. font-size: 14px;
  1928. display: flex;
  1929. align-items: center;
  1930. justify-content: center;
  1931. }
  1932. .tkbox-main p span {
  1933. margin-left: 10px;
  1934. }
  1935. .tkbox-footer {
  1936. width: 100%;
  1937. height: 30px;
  1938. margin-bottom: 30px;
  1939. text-align: center;
  1940. }
  1941. .fixed-header + .app-main {
  1942. padding-top: 50px;
  1943. }
  1944. .hasTagsView {
  1945. .app-main {
  1946. /* 84 = navbar + tags-view = 50 + 34 */
  1947. min-height: calc(100vh - 84px);
  1948. }
  1949. .fixed-header + .app-main {
  1950. padding-top: 84px;
  1951. }
  1952. }
  1953. .tkbox-footer button {
  1954. width: 60px;
  1955. height: 25px;
  1956. text-align: center;
  1957. line-height: 21px;
  1958. background-color: #409eff;
  1959. color: #fff;
  1960. border-radius: 6px;
  1961. border: none;
  1962. }
  1963. .dialog-footer button {
  1964. width: 60px;
  1965. height: 30px;
  1966. text-align: center;
  1967. line-height: 21px;
  1968. color: #fff;
  1969. border-radius: 3px;
  1970. border: none;
  1971. background-color: #196299;
  1972. margin-top: 20px;
  1973. }
  1974. .dialog-footer .button1 {
  1975. background-color: #409eff;
  1976. margin-right: 10px;
  1977. }
  1978. .phone {
  1979. margin-top: 40px !important;
  1980. }
  1981. #xitong img {
  1982. margin-top: 44px !important;
  1983. }
  1984. .tanhao {
  1985. position: absolute;
  1986. right: 7%;
  1987. width: 30px;
  1988. height: 30px;
  1989. top: 6.5%;
  1990. background: url(~@/images/无光_00000.png) no-repeat;
  1991. animation: mymove 2s 0.5s infinite linear alternate forwards;
  1992. }
  1993. @keyframes mymove {
  1994. 0% {
  1995. background: url(~@/images/无光_00000.png) no-repeat;
  1996. }
  1997. 3% {
  1998. background: url(~@/images/无光_00001.png) no-repeat;
  1999. }
  2000. 6% {
  2001. background: url(~@/images/无光_00002.png) no-repeat;
  2002. }
  2003. 9% {
  2004. background: url(~@/images/无光_00003.png) no-repeat;
  2005. }
  2006. 12% {
  2007. background: url(~@/images/无光_00004.png) no-repeat;
  2008. }
  2009. 15% {
  2010. background: url(~@/images/无光_00005.png) no-repeat;
  2011. }
  2012. 18% {
  2013. background: url(~@/images/无光_00006.png) no-repeat;
  2014. }
  2015. 21% {
  2016. background: url(~@/images/无光_00007.png) no-repeat;
  2017. }
  2018. 24% {
  2019. background: url(~@/images/无光_00008.png) no-repeat;
  2020. }
  2021. 27% {
  2022. background: url(~@/images/无光_00009.png) no-repeat;
  2023. }
  2024. 30% {
  2025. background: url(~@/images/无光_00010.png) no-repeat;
  2026. }
  2027. 33% {
  2028. background: url(~@/images/无光_00011.png) no-repeat;
  2029. }
  2030. 36% {
  2031. background: url(~@/images/无光_00012.png) no-repeat;
  2032. }
  2033. 39% {
  2034. background: url(~@/images/无光_00013.png) no-repeat;
  2035. }
  2036. 42% {
  2037. background: url(~@/images/无光_00014.png) no-repeat;
  2038. }
  2039. 45% {
  2040. background: url(~@/images/无光_00015.png) no-repeat;
  2041. }
  2042. 48% {
  2043. background: url(~@/images/无光_00016.png) no-repeat;
  2044. }
  2045. 51% {
  2046. background: url(~@/images/无光_00017.png) no-repeat;
  2047. }
  2048. 54% {
  2049. background: url(~@/images/无光_00018.png) no-repeat;
  2050. }
  2051. 57% {
  2052. background: url(~@/images/无光_00019.png) no-repeat;
  2053. }
  2054. 60% {
  2055. background: url(~@/images/无光_00020.png) no-repeat;
  2056. }
  2057. 63% {
  2058. background: url(~@/images/无光_00021.png) no-repeat;
  2059. }
  2060. 66% {
  2061. background: url(~@/images/无光_00022.png) no-repeat;
  2062. }
  2063. 69% {
  2064. background: url(~@/images/无光_00023.png) no-repeat;
  2065. }
  2066. 72% {
  2067. background: url(~@/images/无光_00024.png) no-repeat;
  2068. }
  2069. 75% {
  2070. background: url(~@/images/无光_00025.png) no-repeat;
  2071. }
  2072. 78% {
  2073. background: url(~@/images/无光_00026.png) no-repeat;
  2074. }
  2075. 81% {
  2076. background: url(~@/images/无光_00027.png) no-repeat;
  2077. }
  2078. 84% {
  2079. background: url(~@/images/无光_00028.png) no-repeat;
  2080. }
  2081. 87% {
  2082. background: url(~@/images/无光_00029.png) no-repeat;
  2083. }
  2084. 90% {
  2085. background: url(~@/images/无光_00030.png) no-repeat;
  2086. }
  2087. 92% {
  2088. background: url(~@/images/无光_00031.png) no-repeat;
  2089. }
  2090. 95% {
  2091. background: url(~@/images/无光_00032.png) no-repeat;
  2092. }
  2093. 98% {
  2094. background: url(~@/images/无光_00033.png) no-repeat;
  2095. }
  2096. 100% {
  2097. background: url(~@/images/无光_00034.png) no-repeat;
  2098. }
  2099. }
  2100. </style>