set.vue 59 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858
  1. <!-- -->
  2. <template>
  3. <div class="hc-layout-box">
  4. <hc-card :scrollbar="true" action-size="lg">
  5. <div class="warning-box">
  6. <div class="demo-collapse">
  7. <el-collapse v-model="activeNames" accordion @change="handleChange">
  8. <el-collapse-item name="1" class="p-3">
  9. <template #title>
  10. <hc-icon name="alarm-warning" style="font-size: 20px;" class="font-bold" />
  11. <span class="font-bold" style="font-size: 18px;">预警设置</span>
  12. </template>
  13. <el-collapse v-model="activeNames1" accordion class="demo-collapse1" @change="handleChange1">
  14. <el-collapse-item name="1" class="p-10" style="padding-bottom: 100px;">
  15. <template #title>
  16. <span style="font-size: 16px;">项目预警设置</span>
  17. </template>
  18. <div class="warn-box-items h-100 flex">
  19. <div class="warn-item">
  20. <div class="warn-item-tilte">投资进展缓慢</div>
  21. <div class="warn-item-inner">
  22. <hc-row style="height: 100%;" :gutter="30">
  23. <hc-col :span="12">
  24. <div class="warn-item-inner-box">
  25. <div class="text-center" style="font-size: 16px;">第一季度</div>
  26. <div class="warn-item-inner-title text-right">该季度投资计划完成比例</div>
  27. <div class="warn-item-inner-box-detail">
  28. <!-- <div class="arrow"> |||</div> -->
  29. <div class="arrow" style="width: auto;min-width:60px"> 三级预警</div>
  30. <div class="container">
  31. <div class="triangle" />
  32. </div>
  33. <div style="text-align: center; align-items: center;" class="flex">
  34. <span><</span>
  35. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  36. <span>%</span>
  37. </div>
  38. </div>
  39. <div class="warn-item-inner-box-detail">
  40. <div class="arrow arrow-oringe" style="width: auto;min-width:60px"> 二级预警</div>
  41. <div class="container">
  42. <div class="triangle" />
  43. </div>
  44. <div style="text-align: right; align-items: center;" class="flex">
  45. <span><</span>
  46. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  47. <span>%</span>
  48. </div>
  49. </div>
  50. <div class="warn-item-inner-box-detail">
  51. <div class="arrow arrow-red"> 一级预警</div>
  52. <div class="container">
  53. <div class="triangle" />
  54. </div>
  55. <div style="text-align: right; align-items: center;" class="flex">
  56. <span><</span>
  57. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  58. <span>%</span>
  59. </div>
  60. </div>
  61. </div>
  62. </hc-col>
  63. <hc-col :span="12">
  64. <div class="warn-item-inner-box">
  65. <div class="text-center" style="font-size: 16px;">第二季度</div>
  66. <div class="warn-item-inner-box-title">
  67. <div class="flex-1" />
  68. <div class="warn-item-inner-title flex-1">该季度投资计划完成比例</div>
  69. <div class="warn-item-inner-title ml-2 flex-1">前两季度累计投资计化完成比例</div>
  70. </div>
  71. <div class="warn-item-inner-box-detail">
  72. <div>
  73. <div class="arrow"> 三级预警</div>
  74. <div class="container">
  75. <div class="triangle" />
  76. </div>
  77. </div>
  78. <div style="text-align: right; align-items: center;" class="flex">
  79. <span><</span>
  80. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  81. <span>%</span>
  82. </div>
  83. <div style="text-align: right; align-items: center;" class="flex">
  84. <span><</span>
  85. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  86. <span>%</span>
  87. </div>
  88. </div>
  89. <div class="warn-item-inner-box-detail">
  90. <div>
  91. <div class="arrow arrow-oringe"> 二级预警</div>
  92. <div class="container">
  93. <div class="triangle" />
  94. </div>
  95. </div>
  96. <div style="text-align: right; align-items: center;" class="flex">
  97. <span><</span>
  98. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  99. <span>%</span>
  100. </div>
  101. <div style="text-align: right; align-items: center;" class="flex">
  102. <span><</span>
  103. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  104. <span>%</span>
  105. </div>
  106. </div>
  107. <div class="warn-item-inner-box-detail">
  108. <div>
  109. <div class="arrow arrow-red"> 一级预警</div>
  110. <div class="container">
  111. <div class="triangle" />
  112. </div>
  113. </div>
  114. <div style="text-align: right; align-items: center;" class="flex">
  115. <span><</span>
  116. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  117. <span>%</span>
  118. </div>
  119. <div style="text-align: right; align-items: center;" class="flex">
  120. <span><</span>
  121. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  122. <span>%</span>
  123. </div>
  124. </div>
  125. </div>
  126. </hc-col>
  127. <hc-col :span="12">
  128. <div class="warn-item-inner-box">
  129. <div class="text-center" style="font-size: 16px;">第三季度</div>
  130. <div class="warn-item-inner-box-title">
  131. <div class="flex-1" />
  132. <div class="warn-item-inner-title flex-1">该季度投资计划完成比例</div>
  133. <div class="warn-item-inner-title ml-2 flex-1">前三季度累计投资计化完成比例</div>
  134. </div>
  135. <div class="warn-item-inner-box-detail">
  136. <div>
  137. <div class="arrow"> 三级预警</div>
  138. <div class="container">
  139. <div class="triangle" />
  140. </div>
  141. </div>
  142. <div style="text-align: right; align-items: center;" class="flex">
  143. <span><</span>
  144. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  145. <span>%</span>
  146. </div>
  147. <div style="text-align: right; align-items: center;" class="flex">
  148. <span><</span>
  149. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  150. <span>%</span>
  151. </div>
  152. </div>
  153. <div class="warn-item-inner-box-detail">
  154. <div>
  155. <div class="arrow arrow-oringe"> 二级预警</div>
  156. <div class="container">
  157. <div class="triangle" />
  158. </div>
  159. </div>
  160. <div style="text-align: right; align-items: center;" class="flex">
  161. <span><</span>
  162. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  163. <span>%</span>
  164. </div>
  165. <div style="text-align: right; align-items: center;" class="flex">
  166. <span><</span>
  167. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  168. <span>%</span>
  169. </div>
  170. </div>
  171. <div class="warn-item-inner-box-detail">
  172. <div>
  173. <div class="arrow arrow-red"> 一级预警</div>
  174. <div class="container">
  175. <div class="triangle" />
  176. </div>
  177. </div>
  178. <div style="text-align: right; align-items: center;" class="flex">
  179. <span><</span>
  180. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  181. <span>%</span>
  182. </div>
  183. <div style="text-align: right; align-items: center;" class="flex">
  184. <span><</span>
  185. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  186. <span>%</span>
  187. </div>
  188. </div>
  189. </div>
  190. </hc-col>
  191. <hc-col :span="12">
  192. <div class="warn-item-inner-box">
  193. <div class="text-center" style="font-size: 16px;">第四季度</div>
  194. <div class="warn-item-inner-box-title">
  195. <div class="flex-1" />
  196. <div class="warn-item-inner-title flex-1">该季度投资计划完成比例</div>
  197. <div class="warn-item-inner-title ml-2 flex-1">当年度累计投资计化完成比例</div>
  198. </div>
  199. <div class="warn-item-inner-box-detail">
  200. <div>
  201. <div class="arrow"> 三级预警</div>
  202. <div class="container">
  203. <div class="triangle" />
  204. </div>
  205. </div>
  206. <div style="text-align: right; align-items: center;" class="flex">
  207. <span><</span>
  208. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  209. <span>%</span>
  210. </div>
  211. <div style="text-align: right; align-items: center;" class="flex">
  212. <span><</span>
  213. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  214. <span>%</span>
  215. </div>
  216. </div>
  217. <div class="warn-item-inner-box-detail">
  218. <div>
  219. <div class="arrow arrow-oringe"> 二级预警</div>
  220. <div class="container">
  221. <div class="triangle" />
  222. </div>
  223. </div>
  224. <div style="text-align: right; align-items: center;" class="flex">
  225. <span><</span>
  226. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  227. <span>%</span>
  228. </div>
  229. <div style="text-align: right; align-items: center;" class="flex">
  230. <span><</span>
  231. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  232. <span>%</span>
  233. </div>
  234. </div>
  235. <div class="warn-item-inner-box-detail">
  236. <div>
  237. <div class="arrow arrow-red"> 一级预警</div>
  238. <div class="container">
  239. <div class="triangle" />
  240. </div>
  241. </div>
  242. <div style="text-align: right; align-items: center;" class="flex">
  243. <span><</span>
  244. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  245. <span>%</span>
  246. </div>
  247. <div style="text-align: right; align-items: center;" class="flex">
  248. <span><</span>
  249. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  250. <span>%</span>
  251. </div>
  252. </div>
  253. </div>
  254. </hc-col>
  255. </hc-row>
  256. </div>
  257. </div>
  258. <div class="warn-item">
  259. <div class="warn-item-tilte">建设进展缓慢</div>
  260. <div class="warn-item-inner">
  261. <hc-row style="height: 100%;" :gutter="20">
  262. <hc-col :span="12">
  263. <div class="warn-item-inner-box">
  264. <div class="text-center" style="font-size: 16px;">第一季度</div>
  265. <div class="warn-item-inner-title text-right">该季度投资计划完成比例</div>
  266. <div class="warn-item-inner-box-detail">
  267. <!-- <div class="arrow"> |||级预警</div> -->
  268. <div class="arrow" style="width: auto;min-width:60px"> 三级预警</div>
  269. <div class="container">
  270. <div class="triangle" />
  271. </div>
  272. <div style="text-align: center; align-items: center;" class="flex">
  273. <span><</span>
  274. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  275. <span>%</span>
  276. </div>
  277. </div>
  278. <div class="warn-item-inner-box-detail">
  279. <div class="arrow arrow-oringe" style="width: auto;min-width:60px"> 二级预警</div>
  280. <div class="container">
  281. <div class="triangle" />
  282. </div>
  283. <div style="text-align: right; align-items: center;" class="flex">
  284. <span><</span>
  285. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  286. <span>%</span>
  287. </div>
  288. </div>
  289. <div class="warn-item-inner-box-detail">
  290. <div class="arrow arrow-red"> 一级预警</div>
  291. <div class="container">
  292. <div class="triangle" />
  293. </div>
  294. <div style="text-align: right; align-items: center;" class="flex">
  295. <span><</span>
  296. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  297. <span>%</span>
  298. </div>
  299. </div>
  300. </div>
  301. </hc-col>
  302. <hc-col :span="12">
  303. <div class="warn-item-inner-box">
  304. <div class="text-center" style="font-size: 16px;">第二季度</div>
  305. <div class="warn-item-inner-box-title">
  306. <div class="flex-1" />
  307. <div class="warn-item-inner-title flex-1">该季度投资计划完成比例</div>
  308. <div class="warn-item-inner-title ml-2 flex-1">前两季度累计投资计化完成比例</div>
  309. </div>
  310. <div class="warn-item-inner-box-detail">
  311. <div>
  312. <div class="arrow"> 三级预警</div>
  313. <div class="container">
  314. <div class="triangle" />
  315. </div>
  316. </div>
  317. <div style="text-align: right; align-items: center;" class="flex">
  318. <span><</span>
  319. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  320. <span>%</span>
  321. </div>
  322. <div style="text-align: right; align-items: center;" class="flex">
  323. <span><</span>
  324. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  325. <span>%</span>
  326. </div>
  327. </div>
  328. <div class="warn-item-inner-box-detail">
  329. <div>
  330. <div class="arrow arrow-oringe"> 二级预警</div>
  331. <div class="container">
  332. <div class="triangle" />
  333. </div>
  334. </div>
  335. <div style="text-align: right; align-items: center;" class="flex">
  336. <span><</span>
  337. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  338. <span>%</span>
  339. </div>
  340. <div style="text-align: right; align-items: center;" class="flex">
  341. <span><</span>
  342. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  343. <span>%</span>
  344. </div>
  345. </div>
  346. <div class="warn-item-inner-box-detail">
  347. <div>
  348. <div class="arrow arrow-red"> 一级预警</div>
  349. <div class="container">
  350. <div class="triangle" />
  351. </div>
  352. </div>
  353. <div style="text-align: right; align-items: center;" class="flex">
  354. <span><</span>
  355. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  356. <span>%</span>
  357. </div>
  358. <div style="text-align: right; align-items: center;" class="flex">
  359. <span><</span>
  360. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  361. <span>%</span>
  362. </div>
  363. </div>
  364. </div>
  365. </hc-col>
  366. <hc-col :span="12">
  367. <div class="warn-item-inner-box">
  368. <div class="text-center" style="font-size: 16px;">第三季度</div>
  369. <div class="warn-item-inner-box-title">
  370. <div class="flex-1" />
  371. <div class="warn-item-inner-title flex-1">该季度投资计划完成比例</div>
  372. <div class="warn-item-inner-title ml-2 flex-1">前三季度累计投资计化完成比例</div>
  373. </div>
  374. <div class="warn-item-inner-box-detail">
  375. <div>
  376. <div class="arrow"> 三级预警</div>
  377. <div class="container">
  378. <div class="triangle" />
  379. </div>
  380. </div>
  381. <div style="text-align: right; align-items: center;" class="flex">
  382. <span><</span>
  383. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  384. <span>%</span>
  385. </div>
  386. <div style="text-align: right; align-items: center;" class="flex">
  387. <span><</span>
  388. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  389. <span>%</span>
  390. </div>
  391. </div>
  392. <div class="warn-item-inner-box-detail">
  393. <div>
  394. <div class="arrow arrow-oringe"> 二级预警</div>
  395. <div class="container">
  396. <div class="triangle" />
  397. </div>
  398. </div>
  399. <div style="text-align: right; align-items: center;" class="flex">
  400. <span><</span>
  401. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  402. <span>%</span>
  403. </div>
  404. <div style="text-align: right; align-items: center;" class="flex">
  405. <span><</span>
  406. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  407. <span>%</span>
  408. </div>
  409. </div>
  410. <div class="warn-item-inner-box-detail">
  411. <div>
  412. <div class="arrow arrow-red"> 一级预警</div>
  413. <div class="container">
  414. <div class="triangle" />
  415. </div>
  416. </div>
  417. <div style="text-align: right; align-items: center;" class="flex">
  418. <span><</span>
  419. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  420. <span>%</span>
  421. </div>
  422. <div style="text-align: right; align-items: center;" class="flex">
  423. <span><</span>
  424. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  425. <span>%</span>
  426. </div>
  427. </div>
  428. </div>
  429. </hc-col>
  430. <hc-col :span="12">
  431. <div class="warn-item-inner-box">
  432. <div class="text-center" style="font-size: 16px;">第四季度</div>
  433. <div class="warn-item-inner-box-title">
  434. <div class="flex-1" />
  435. <div class="warn-item-inner-title flex-1">该季度投资计划完成比例</div>
  436. <div class="warn-item-inner-title ml-2 flex-1">当年度累计投资计化完成比例</div>
  437. </div>
  438. <div class="warn-item-inner-box-detail">
  439. <div>
  440. <div class="arrow"> 三级预警</div>
  441. <div class="container">
  442. <div class="triangle" />
  443. </div>
  444. </div>
  445. <div style="text-align: right; align-items: center;" class="flex">
  446. <span><</span>
  447. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  448. <span>%</span>
  449. </div>
  450. <div style="text-align: right; align-items: center;" class="flex">
  451. <span><</span>
  452. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  453. <span>%</span>
  454. </div>
  455. </div>
  456. <div class="warn-item-inner-box-detail">
  457. <div>
  458. <div class="arrow arrow-oringe"> 二级预警</div>
  459. <div class="container">
  460. <div class="triangle" />
  461. </div>
  462. </div>
  463. <div style="text-align: right; align-items: center;" class="flex">
  464. <span><</span>
  465. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  466. <span>%</span>
  467. </div>
  468. <div style="text-align: right; align-items: center;" class="flex">
  469. <span><</span>
  470. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  471. <span>%</span>
  472. </div>
  473. </div>
  474. <div class="warn-item-inner-box-detail">
  475. <div>
  476. <div class="arrow arrow-red"> 一级预警</div>
  477. <div class="container">
  478. <div class="triangle" />
  479. </div>
  480. </div>
  481. <div style="text-align: right; align-items: center;" class="flex">
  482. <span><</span>
  483. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  484. <span>%</span>
  485. </div>
  486. <div style="text-align: right; align-items: center;" class="flex">
  487. <span><</span>
  488. <el-input v-model="inputVal" style="width: 50px;" class="warn-innput" />
  489. <span>%</span>
  490. </div>
  491. </div>
  492. </div>
  493. </hc-col>
  494. </hc-row>
  495. </div>
  496. </div>
  497. </div>
  498. <div class="save-btn-left">
  499. <el-button color="#20C98B" type="primary" @click="addClick">
  500. <hc-icon name="save" class="text-white" />
  501. <span class="text-white">保存</span>
  502. </el-button>
  503. </div>
  504. </el-collapse-item>
  505. </el-collapse>
  506. </el-collapse-item>
  507. </el-collapse>
  508. </div>
  509. </div>
  510. <div class="other-box">
  511. <div class="demo-collapse">
  512. <el-collapse accordion>
  513. <el-collapse-item name="1" class="p-3">
  514. <template #title>
  515. <hc-icon name="microsoft" style="font-size: 20px;" class="font-bold" />
  516. <span class="font-bold" style="font-size: 18px;">其他设置</span>
  517. </template>
  518. <el-collapse accordion class="demo-collapse1">
  519. <el-collapse-item name="1" class="p-4">
  520. <template #title>
  521. <hc-icon name="projector" style="font-size: 18px;" />
  522. <span style="font-size: 16px;">项目相关</span>
  523. </template>
  524. <div class="ml-4 font-bold">
  525. 重点项目推进计划
  526. </div>
  527. <div class="main-project">
  528. <div class="main-project-item">
  529. <div>
  530. <span>项目阶段</span>
  531. <hc-icon name="arrow-right-s" style="font-size: 16px;" class="ml-2 mr-2 font-bold" />
  532. </div>
  533. <div>
  534. <div v-for="(item, index) in proStation" :key="index" class="mt-1">
  535. <el-input v-model="item.name" style="width: 340px" placeholder="阶段名称" />
  536. <el-link :underline="false" type="primary">
  537. <hc-icon name="add" style="font-size: 20px;" class="font-bold" @click="addClick(item, index)" />
  538. </el-link>
  539. <el-link :underline="false" type="primary">
  540. <hc-icon name="close" style="font-size: 20px;" class="font-bold" @click="delClick(item, index)" />
  541. </el-link>
  542. </div>
  543. <div class="mt-3">
  544. <el-button color="#20C98B" type="primary" class="ml-28">
  545. <hc-icon name="save" class="text-white" />
  546. <span class="text-white">保存</span>
  547. </el-button>
  548. </div>
  549. </div>
  550. </div>
  551. <div class="main-project-item">
  552. <div>
  553. <span>项目类型</span>
  554. <hc-icon name="arrow-right-s" style="font-size: 16px;" class="ml-2 mr-2 font-bold" />
  555. </div>
  556. <div>
  557. <div v-for="(item, index) in proType" :key="index" class="mt-1">
  558. <el-input v-model="item.name" style="width: 340px" placeholder="类型名称" />
  559. <el-link :underline="false" type="primary">
  560. <hc-icon name="add" style="font-size: 20px;" class="font-bold" @click="addClickType(item, index)" />
  561. </el-link>
  562. <el-link :underline="false" type="primary">
  563. <hc-icon name="close" style="font-size: 20px;" class="font-bold" @click="delClickType(item, index)" />
  564. </el-link>
  565. </div>
  566. <div class="mt-3">
  567. <el-button color="#20C98B" type="primary" class="ml-28">
  568. <hc-icon name="save" class="text-white" />
  569. <span class="text-white">保存</span>
  570. </el-button>
  571. </div>
  572. </div>
  573. </div>
  574. </div>
  575. <el-divider class="mt-10" />
  576. <div class="ml-4 font-bold">
  577. 工作要点任务分工
  578. </div>
  579. <div class="main-project">
  580. <div class="main-project-item">
  581. <div>
  582. <span>项目阶段</span>
  583. <hc-icon name="arrow-right-s" style="font-size: 16px;" class="ml-2 mr-2 font-bold" />
  584. </div>
  585. <div>
  586. <div v-for="(item, index) in proStationTip" :key="index" class="mt-1">
  587. <el-input v-model="item.name" style="width: 340px" placeholder="阶段名称" />
  588. <el-link :underline="false" type="primary">
  589. <hc-icon name="add" style="font-size: 20px;" class="font-bold" @click="addClickTip(item, index)" />
  590. </el-link>
  591. <el-link :underline="false" type="primary">
  592. <hc-icon name="close" style="font-size: 20px;" class="font-bold" @click="delClickTip(item, index)" />
  593. </el-link>
  594. </div>
  595. <div class="mt-3">
  596. <el-button color="#20C98B" type="primary" class="ml-28">
  597. <hc-icon name="save" class="text-white" />
  598. <span class="text-white">保存</span>
  599. </el-button>
  600. </div>
  601. </div>
  602. </div>
  603. </div>
  604. </el-collapse-item>
  605. </el-collapse>
  606. </el-collapse-item>
  607. </el-collapse>
  608. </div>
  609. </div>
  610. </hc-card>
  611. </div>
  612. </template>
  613. <script setup>
  614. import { ref, watch } from 'vue'
  615. const inputVal = ref(75)
  616. const inputVal2 = ref('')
  617. const activeNames = ref(['1'])
  618. const activeNames1 = ref(['1'])
  619. const handleChange1 = (val)=>{
  620. if (!val) {
  621. activeNames.value = ''
  622. }
  623. }
  624. const handleChange = (val)=>{
  625. if (val) {
  626. activeNames1.value = '1'
  627. }
  628. }
  629. const proStation = ref([
  630. { name:'新开项目' },
  631. { name:'建成项目' },
  632. { name:'在建项目' },
  633. { name:'加快前期工作项目' },
  634. ])
  635. const addClick = (item, index)=>{
  636. proStation.value.splice(index, 0, { name:'' })
  637. }
  638. const delClick = (item, index)=>{
  639. proStation.value.splice(index, 1)
  640. }
  641. const proType = ref([
  642. { name:'铁路' },
  643. { name:'建成项目' },
  644. ])
  645. const addClickType = (item, index)=>{
  646. proType.value.splice(index, 0, { name:'' })
  647. }
  648. const delClickType = (item, index)=>{
  649. proType.value.splice(index, 1)
  650. }
  651. const proStationTip = ref([
  652. { name:'紧盯重大项目,推动交通投资稳进增效' },
  653. { name:'深化战略研究,优化完善交通规划体系' },
  654. ])
  655. const addClickTip = (item, index)=>{
  656. proStationTip.value.splice(index, 0, { name:'' })
  657. }
  658. const delClickTip = (item, index)=>{
  659. proStationTip.value.splice(index, 1)
  660. }
  661. </script>
  662. <style lang='scss' scoped>
  663. .hc-layout-box{
  664. position: relative;
  665. height: 100%;
  666. width: 100%;
  667. }
  668. .warning-box{
  669. width: 100%;
  670. height: auto;
  671. position: relative;
  672. // border:1px solid red;
  673. .warn-box-items{
  674. display: flex;
  675. justify-content: space-between;
  676. .warn-item{
  677. border:1px solid rgb(187, 187, 187);
  678. height: 520px;
  679. width: 48%;
  680. .warn-item-tilte{
  681. height: 45px;
  682. line-height: 45px;
  683. background-color: #015EA7;
  684. color: white;
  685. font-size: 18px;
  686. font-weight: 800;
  687. text-align: center;
  688. }
  689. .warn-item-inner{
  690. padding: 10px;
  691. .warn-item-inner-box{
  692. padding: 15px;
  693. // border:1px solid rgb(187, 187, 187);
  694. .warn-item-inner-box-detail{
  695. margin-top: 10px;
  696. width: 100%;
  697. display: flex;
  698. justify-content: space-between;
  699. align-items: center;
  700. }
  701. }
  702. }
  703. }
  704. }
  705. .save-btn-left{
  706. position: absolute;
  707. right:50px;
  708. bottom:0px
  709. }
  710. }
  711. .other-box{
  712. width: 100%;
  713. margin-top: 30px;
  714. // border:1px solid black;
  715. }
  716. .arrow {
  717. color: white;
  718. position: relative;
  719. width: 80px; /* 矩形的宽度 */
  720. height: 30px; /* 矩形的高度 */
  721. line-height: 30px;
  722. background-color:#06B2F6; /* 矩形的背景颜色 */
  723. padding-left: 5px;
  724. width: auto;
  725. min-width:60px
  726. }
  727. .arrow::after {
  728. content: '';
  729. position: absolute;
  730. top: 50%;
  731. right: -15px; /* 三角形相对于右边缘的偏移量 */
  732. width: 0;
  733. height: 0;
  734. border-top: 15px solid transparent; /* 上三角形的大小 */
  735. border-bottom: 15px solid transparent; /* 下三角形的大小 */
  736. border-left:15px solid #06B2F6; /* 三角形的颜色 */
  737. transform: translateY(-50%);
  738. }
  739. .arrow-oringe::after{
  740. border-left:15px solid #FF9102; /* 三角形的颜色 */
  741. }
  742. .arrow-red::after{
  743. border-left:15px solid #FF0001; /* 三角形的颜色 */
  744. }
  745. .warn-item-inner-box-detail-right{
  746. margin-top: 10px;
  747. width: 100%;
  748. display: flex;
  749. justify-content: space-around;
  750. align-items: center;
  751. }
  752. .warn-item-inner-box-title{
  753. display: flex;
  754. text-align: right;
  755. }
  756. .demo-collapse{
  757. height: auto;
  758. }
  759. .warn-item-inner-title{
  760. height: 35px;
  761. }
  762. .main-project{
  763. display: flex;
  764. justify-content: space-between;
  765. padding-left: 40px;
  766. padding-right: 40px;
  767. width: 100%;
  768. padding-top: 20px;
  769. .main-project-item{
  770. flex: 1;
  771. display: flex;
  772. align-items: center;
  773. }
  774. }
  775. .arrow-oringe{
  776. background-color: #FF9102;
  777. }
  778. .arrow-red{
  779. background-color:#FF0001;
  780. }
  781. </style>
  782. <style>
  783. .demo-collapse .el-collapse-item__wrap{
  784. border-bottom: none;
  785. }
  786. .demo-collapse .el-collapse{
  787. border-bottom: none;
  788. }
  789. .demo-collapse1 .el-collapse-item__header.is-active{
  790. border-bottom:1px solid var(--el-collapse-border-color);
  791. margin-bottom: 10px;
  792. }
  793. .demo-collapse .el-collapse-item__wrap{
  794. overflow: initial;
  795. }
  796. .warn-innput .el-input__inner{
  797. font-weight: 900;
  798. }
  799. </style>