Approvals.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589
  1. <!-- 审批进度 -->
  2. <template>
  3. <div class="autoBox box1" style="position: relative; background: #f5f5f5">
  4. <div class="center" style="margin-top: 20px;height:885px;">
  5. <div class="left">
  6. <div class="centerLeft1">
  7. <div class="top">
  8. <div class="top1"></div>
  9. <div class="top2"></div>
  10. <div class="allApplication">
  11. <span>{{
  12. $t("common.submitapplications")
  13. }}</span>
  14. </div>
  15. <div @click="back" class="more">
  16. <span>{{ "<" }}{{ $t("common.return") }}</span>
  17. </div>
  18. </div>
  19. <div class="content">
  20. <div class="content2">
  21. <div class="success_1">
  22. <div style="display:flex">
  23. <div class="leftfont">{{ $i18n.locale == 'en' ? 'title ' : '标题' }}:</div><div class="rightfont">{{applytitle}}</div>
  24. </div>
  25. <div style="display:flex">
  26. <div class="leftfont">{{ $i18n.locale == 'en' ? 'Applynum ' : '申请编号' }}:</div><div class="rightfont">{{applynumber}}</div>
  27. </div>
  28. <div style="display:flex">
  29. <div class="leftfont">{{ $i18n.locale == 'en' ? 'ApplyName ' : '申请人' }}:</div><div class="rightfont">{{applyer}}</div>
  30. </div>
  31. <div style="display:flex">
  32. <div class="leftfont"> {{ $i18n.locale == 'en' ? 'Applytime ' : '提交时间' }}:</div><div class="rightfont">{{applytime}}</div>
  33. </div>
  34. </div>
  35. <div class="success_2" style="margin-top:59px;">
  36. <div>
  37. <img src="@/assets/img/nationaIntorduction/duigou_green.png" alt="" style=" ">
  38. </div>
  39. <div style="color: #67C23A;">{{ $i18n.locale == 'en' ? 'Create Apply ' : '提交申请' }}</div>
  40. <div style="margin-top:-4px">
  41. <img src="@/assets/img/nationaIntorduction/zhixian_green.png" alt="" style="margin-top:-4px">
  42. </div>
  43. <div>
  44. <img v-if="green_quyu" src="@/assets/img/nationaIntorduction/duigou_green.png" alt="" style="">
  45. <img v-else src="@/assets/img/nationaIntorduction/duigou_grey.png" alt="" style="">
  46. </div>
  47. <div v-if="green_quyu" style="color:#67C23A;">{{ $i18n.locale == 'en' ? 'Regional Secretariat Review' : '区域秘书处审核' }}</div>
  48. <div v-else style="color:rgba(7, 7, 7, 0.25);">{{ $i18n.locale == 'en' ? 'Regional Secretariat Review' : '区域秘书处审核' }}</div>
  49. <div style="margin-top:-4px">
  50. <img v-if="green_quyu" src="@/assets/img/nationaIntorduction/zhixian_green.png" alt="" style="margin-top:-4px">
  51. <img v-else src="@/assets/img/nationaIntorduction/zhixian_grey.png" alt="" style="margin-top:-4px">
  52. </div>
  53. <div >
  54. <img v-if="green_zongbu" src="@/assets/img/nationaIntorduction/duigou_green.png" alt="" style="">
  55. <img v-else src="@/assets/img/nationaIntorduction/duigou_grey.png" alt="" style="">
  56. </div>
  57. <div v-if="green_zongbu" style="color:#67C23A;">{{ $i18n.locale == 'en' ? 'Headquarters Review' : '总部审核' }}</div>
  58. <div v-else style="color:rgba(7, 7, 7, 0.25);">{{ $i18n.locale == 'en' ? 'Headquarters Review' : '总部审核' }}</div>
  59. <div style="margin-top:-4px">
  60. <img v-if="green_zongbu" src="@/assets/img/nationaIntorduction/zhixian_green.png" alt="" style="margin-top:-4px">
  61. <img v-else src="@/assets/img/nationaIntorduction/zhixian_grey.png" alt="" >
  62. </div>
  63. <div >
  64. <img v-if="green_wancheng" src="@/assets/img/nationaIntorduction/duigou_green.png" alt="" style="">
  65. <img v-else src="@/assets/img/nationaIntorduction/duigou_grey.png" alt="" style="">
  66. </div>
  67. <div v-if="green_wancheng" style="color:#67C23A;">{{ $i18n.locale == 'en' ? 'Complete' : '完成' }}</div>
  68. <div v-else style="color:rgba(7, 7, 7, 0.25);">{{ $i18n.locale == 'en' ? 'Complete' : '完成' }}</div>
  69. </div>
  70. <div style="margin-top:112px;margin-left:34px;margin-right:41px;">
  71. <el-table
  72. :data="tableData"
  73. :header-cell-style="{background:'#FAFAFA',fontSize: '14px',fontWeight:'600',color:'#000000'}"
  74. stripe
  75. border
  76. style="width: 100%;border: 1px solid rgba(0, 0, 0, 0.1); ">
  77. <el-table-column
  78. align="center"
  79. prop="handleNode"
  80. :label="$i18n.locale === 'zh' ? '环节' : 'Link'">
  81. </el-table-column>
  82. <el-table-column
  83. align="center"
  84. prop="handlerName"
  85. :label="$i18n.locale === 'zh' ? '人员' : 'Personnel'"
  86. width="180">
  87. </el-table-column>
  88. <el-table-column
  89. align="center"
  90. prop="handleTime"
  91. :label="$i18n.locale === 'zh' ? '处理时间' : 'Process Time'"
  92. width="180">
  93. </el-table-column>
  94. <el-table-column
  95. align="center"
  96. prop="handleResult"
  97. :label="$i18n.locale === 'zh' ? '处理结果' : 'Process Result'">
  98. </el-table-column>
  99. <el-table-column
  100. align="center"
  101. prop="handleCondition"
  102. :label="$i18n.locale === 'zh' ? '处理情况' : 'Process State'">
  103. </el-table-column>
  104. <el-table-column
  105. align="center"
  106. prop="handleOpinion"
  107. :label="$i18n.locale === 'zh' ? '处理意见' : 'Process Opinion'">
  108. </el-table-column>
  109. </el-table>
  110. </div>
  111. <div style="margin-top:162px;display:flex">
  112. <div class="submit" @click="backlist">{{ $i18n.locale == 'en' ? 'backlist ' : '返回列表' }}</div>
  113. </div>
  114. </div>
  115. </div>
  116. </div>
  117. </div>
  118. </div>
  119. </div>
  120. </template>
  121. <script>
  122. import Screen from "@/components/screen";
  123. import {getwaitdetail,getcommittee1,getwaitacceser,editwaitapply,editwaittijiao,uploadfile} from '@/api/committee/nrc';
  124. export default {
  125. name: "Submitapplication",
  126. props: ["detailids","logo"],
  127. components: {
  128. Screen,
  129. },
  130. data() {
  131. return {
  132. applytitle:undefined,
  133. applynumber:undefined,
  134. applyer:undefined,
  135. applytime:undefined,
  136. tableData:[],
  137. green_quyu:false,
  138. green_zongbu:false,
  139. green_wancheng:false,
  140. };
  141. },
  142. watch: {
  143. "$i18n.locale"() {
  144. this.tableData.forEach(item=>{
  145. if(this.$i18n.locale=='en'){
  146. if(item.handleNode=="申请人修改"){
  147. item.handleNode="Applicant Modification";
  148. }
  149. if(item.handleNode=="区域秘书处审核"){
  150. item.handleNode="Regional Secretariat Review";
  151. }
  152. if(item.handleNode=="总部流转"){
  153. item.handleNode="Headquarters Processing";
  154. }
  155. if(item.handleNode=="秘书处修改"){
  156. item.handleNode="Secretariat Modification";
  157. }
  158. if(item.handleCondition=="发起申请"){
  159. item.handleCondition="Create Apply";
  160. }
  161. if(item.handleCondition=="对内容进行了修改"){
  162. item.handleCondition="Modified content";
  163. }
  164. if(item.handleResult=="驳回"){
  165. item.handleResult="Reject";
  166. }
  167. if(item.handleResult=="通过"){
  168. item.handleResult="Pass";
  169. }
  170. }else {
  171. if(item.handleNode=="Applicant Modification"){
  172. item.handleNode="申请人修改";
  173. }
  174. if(item.handleNode=="Regional Secretariat Review"){
  175. item.handleNode="区域秘书处审核";
  176. }
  177. if(item.handleNode=="Headquarters Processing"){
  178. item.handleNode="总部流转";
  179. }
  180. if(item.handleNode=="Secretariat Modification"){
  181. item.handleNode="秘书处修改";
  182. }
  183. if(item.handleCondition=="Create Apply"){
  184. item.handleCondition="发起申请";
  185. }
  186. if(item.handleCondition=="Modified content"){
  187. item.handleCondition="对内容进行了修改";
  188. }
  189. if(item.handleResult=="Reject"){
  190. item.handleResult="驳回";
  191. }
  192. if(item.handleResult=="Pass"){
  193. item.handleResult="通过";
  194. }
  195. }
  196. })
  197. },
  198. CountryId() {},
  199. },
  200. updated(){
  201. },
  202. mounted() {
  203. getwaitdetail(this.detailids).then(res => {
  204. this.applyer = res.data.nrcApply.applyPeopleName;
  205. this.applynumber = res.data.nrcApply.applyNumber
  206. this.applytime = res.data.nrcApply.createDate
  207. this.applytitle=res.data.nrcApply.title
  208. this.tableData=res.data.nrcApprovalHistorys
  209. this.tableData.forEach(item=>{
  210. if(item.handleCondition==''||item.handleCondition==undefined){
  211. item.handleCondition='--'
  212. }
  213. if(this.$i18n.locale=='en'){
  214. if(item.handleNode=="申请人修改"){
  215. item.handleNode="Applicant Modification";
  216. }
  217. if(item.handleNode=="区域秘书处审核"){
  218. item.handleNode="Regional Secretariat Review";
  219. }
  220. if(item.handleNode=="总部流转"){
  221. item.handleNode="Headquarters Processing";
  222. }
  223. if(item.handleNode=="秘书处修改"){
  224. item.handleNode="Secretariat Modification";
  225. }
  226. if(item.handleCondition=="发起申请"){
  227. item.handleCondition="Create Apply";
  228. }
  229. if(item.handleCondition=="对内容进行了修改"){
  230. item.handleCondition="Modified content";
  231. }
  232. if(item.handleResult=="驳回"){
  233. item.handleResult="Reject";
  234. }
  235. if(item.handleResult=="通过"){
  236. item.handleResult="Pass";
  237. }
  238. }
  239. })
  240. if(res.data.nrcApply.applyStatus==6||res.data.nrcApply.applyStatus==11){
  241. this.green_quyu=false
  242. this.green_zongbu=false
  243. this.green_wancheng=false
  244. }
  245. else if(res.data.nrcApply.applyStatus==7||res.data.nrcApply.applyStatus==10){
  246. this.green_quyu=true
  247. this.green_zongbu=false
  248. this.green_wancheng=false
  249. }
  250. else if(res.data.nrcApply.applyStatus==2){
  251. this.green_quyu=true
  252. this.green_zongbu=true
  253. this.green_wancheng=true
  254. }
  255. else{
  256. this.green_quyu=false
  257. this.green_zongbu=false
  258. this.green_wancheng=false
  259. }
  260. })
  261. },
  262. destroyed() {},
  263. methods: {
  264. handleCurrentChange() {},
  265. back() {
  266. if(this.logo == "my"){
  267. var params = {
  268. name: "application",
  269. type: true,
  270. };
  271. this.$emit("applicationType", params);
  272. }else {
  273. var params = {
  274. name: "application",
  275. type: false,
  276. };
  277. this.$emit("applicationType", params);
  278. }
  279. },
  280. screenBack() {},
  281. backlist(){
  282. if(this.logo == "my"){
  283. var params = {
  284. name: "application",
  285. type: true,
  286. };
  287. this.$emit("applicationType", params);
  288. }else {
  289. var params = {
  290. name: "application",
  291. type: false,
  292. };
  293. this.$emit("applicationType", params);
  294. }
  295. }
  296. },
  297. };
  298. </script>
  299. <style scoped>
  300. /deep/ .el-table .el-table__cell.is-center{
  301. font-family: 'Roboto';
  302. font-style: normal;
  303. font-weight: 400;
  304. font-size: 14px;
  305. line-height: 22px;
  306. color: rgba(0, 0, 0, 0.85);
  307. }
  308. .submit{
  309. box-sizing: border-box;
  310. margin-left: 568px;
  311. width: 120px;
  312. height: 40px;
  313. background: #3A8EE6;
  314. border: 1px solid #3A8EE6;
  315. border-radius: 4px;
  316. /* Bold/Body */
  317. padding-left:32px;
  318. font-family: 'Noto Sans SC';
  319. font-style: normal;
  320. font-weight: 500;
  321. font-size: 14px;
  322. line-height: 22px;
  323. /* identical to box height, or 157% */
  324. cursor:pointer;
  325. display: flex;
  326. align-items: center;
  327. text-align: center;
  328. font-feature-settings: 'tnum' on, 'lnum' on;
  329. /* Neutral Color/White */
  330. color: #FFFFFF;
  331. }
  332. .box1 {
  333. padding: 0 0 20px 0;
  334. position: absolute;
  335. }
  336. .successfont{
  337. font-family: 'PingFang SC';
  338. font-style: normal;
  339. font-weight: bold;
  340. font-size: 20px;
  341. line-height: 0px;
  342. /* identical to box height, or 0% */
  343. color: rgba(0, 0, 0, 0.85);
  344. }
  345. .successfont1{
  346. font-family: 'PingFang SC';
  347. font-style: normal;
  348. font-weight: 400;
  349. font-size: 14px;
  350. line-height: 0px;
  351. /* identical to box height, or 0% */
  352. color: rgba(0, 0, 0, 0.65);
  353. }
  354. .success_1{
  355. margin-top:40px;
  356. margin-left:465px;
  357. }
  358. .leftfont{
  359. width:105px;
  360. font-family: 'PingFang SC';
  361. font-style: normal;
  362. font-weight: bold;
  363. font-size: 14px;
  364. line-height: 30px;
  365. /* or 214% */
  366. color: rgba(0, 0, 0, 0.85);
  367. }
  368. .success_2{
  369. display:flex;
  370. flex-wrap: wrap;
  371. justify-content:space-around;
  372. /*padding-left:30%;
  373. padding-right:30%;*/
  374. margin-top:30px;
  375. font-size:15px;
  376. padding-left:150px;
  377. padding-right:150px;
  378. }
  379. .right_two_4_div{
  380. position:relative;height:35px;width:35px;border-radius: 50%;border:1px solid #1890ff
  381. }
  382. .right_two_4_i{
  383. position:absolute;top:50%;left:20%;transform:translateY(-50%)
  384. }
  385. .rightfont{
  386. width:180px;
  387. margin-left:19px;
  388. font-family: 'PingFang SC';
  389. font-style: normal;
  390. font-weight: 400;
  391. font-size: 14px;
  392. line-height: 30px;
  393. /* or 214% */
  394. color: rgba(0, 0, 0, 0.65);
  395. }
  396. .center {
  397. display: flex;
  398. }
  399. .topImg img {
  400. display: inline-block;
  401. width: 1200px;
  402. height: 324px;
  403. }
  404. .centerLeft1 {
  405. border-radius: 0px;
  406. width: 1198px;
  407. height: 877px;
  408. left: 360px;
  409. top: 317px;
  410. background: #FFFFFF;
  411. }
  412. .left {
  413. position: relative;
  414. }
  415. .top .top1 {
  416. position: absolute;
  417. width: 5.5px;
  418. height: 10.5px;
  419. left: 20px;
  420. top: 35px;
  421. background: #376ac7;
  422. z-index: 1;
  423. }
  424. .top .top2 {
  425. position: absolute;
  426. width: 5.5px;
  427. height: 15px;
  428. left: 20px;
  429. top: 35px;
  430. background: #83bd50;
  431. }
  432. .top .allApplication {
  433. position: absolute;
  434. height: 22px;
  435. left: 34px;
  436. top: 31px;
  437. }
  438. .top .allApplication span {
  439. font-family: "PingFang SC";
  440. font-style: normal;
  441. font-weight: 600;
  442. font-size: 16px;
  443. line-height: 22px;
  444. color: #375586;
  445. }
  446. .top .notice {
  447. position: absolute;
  448. height: 22px;
  449. left: 160px;
  450. top: 32px;
  451. }
  452. .top .notice span {
  453. font-family: "PingFang SC";
  454. font-style: normal;
  455. font-weight: 600;
  456. font-size: 16px;
  457. line-height: 22px;
  458. color: rgba(10, 10, 10, 0.85);
  459. }
  460. .top .more {
  461. position: absolute;
  462. height: 16px;
  463. right: 21px;
  464. top: 31px;
  465. }
  466. .top .more span {
  467. font-family: "Roboto";
  468. font-style: normal;
  469. font-weight: 500;
  470. font-size: 14px;
  471. line-height: 16px;
  472. color: #4790f7;
  473. }
  474. .content .content1 {
  475. position: absolute;
  476. width: 1198px;
  477. height: 39px;
  478. left: 0px;
  479. top: 136px;
  480. }
  481. .content .content2 {
  482. position: absolute;
  483. width:1198px;
  484. height:844px;
  485. top:51px;
  486. }
  487. .content .title {
  488. font-family: "PingFang SC";
  489. font-style: normal;
  490. font-weight: 600;
  491. font-size: 14px;
  492. line-height: 20px;
  493. color: rgba(0, 0, 0, 0.85);
  494. position: absolute;
  495. left: 16px;
  496. top: 16px;
  497. right: 14px;
  498. bottom: 113px;
  499. }
  500. .content .time {
  501. font-family: "Roboto";
  502. font-style: normal;
  503. font-weight: 400;
  504. font-size: 12px;
  505. line-height: 14px;
  506. color: rgba(0, 0, 0, 0.65);
  507. position: absolute;
  508. left: 16px;
  509. top: 61px;
  510. }
  511. .content .type {
  512. font-family: "PingFang SC";
  513. font-style: normal;
  514. font-weight: 400;
  515. font-size: 14px;
  516. line-height: 20px;
  517. color: rgba(0, 0, 0, 0.85);
  518. position: absolute;
  519. left: 16px;
  520. top: 89px;
  521. }
  522. .content .toView {
  523. margin-left: 100px;
  524. font-family: "Roboto";
  525. font-style: normal;
  526. font-weight: 400;
  527. font-size: 14px;
  528. line-height: 16px;
  529. color: #274e92;
  530. }
  531. .content .toProgress {
  532. font-family: "Roboto";
  533. font-style: normal;
  534. font-weight: 400;
  535. font-size: 14px;
  536. line-height: 16px;
  537. color: #274e92;
  538. }
  539. .centerLeft2 {
  540. position: relative;
  541. margin-top: 20px;
  542. height: 177px;
  543. width: 850px;
  544. border-radius: 0px;
  545. background: #fff;
  546. }
  547. .content .audit {
  548. position: absolute;
  549. right: 5%;
  550. }
  551. .area {
  552. position: absolute;
  553. top: 100px;
  554. }
  555. .pag {
  556. position: absolute;
  557. bottom: 0;
  558. right: 0;
  559. }
  560. </style>