approvalPage.vue 46 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204
  1. <template>
  2. <div class="approvalPage">
  3. <div class="approvalPage-min" v-if="pageType == 1">
  4. <div class="title-box">
  5. <p>化学品申购</p>
  6. <p class="reset-button-one button-p" @click="backPage(0)">返回</p>
  7. <!--已拒绝/已撤销时显示-->
  8. <p class="inquire-button-one button-p" v-if="(dataInfo.approvalStatus==2||dataInfo.approvalStatus==3)&&approvalPagePropsData.myDataType==1" @click="goEditPage">编辑</p>
  9. </div>
  10. <div class="page-max-box scrollbar-box">
  11. <div class="text-box-one">
  12. <p>编号:</p>
  13. <p>{{dataInfo.applyNum}}</p>
  14. <p>申购人:{{dataInfo.applyUserName}}</p>
  15. <p :class="dataInfo.approvalStatus==0?'colorA':(dataInfo.approvalStatus==1?'colorB':(dataInfo.approvalStatus==2?'colorC':(dataInfo.approvalStatus==3?'colorD':'')))"
  16. >{{dataInfo.approvalStatus==0&&approvalPagePropsData.userType==1?'等待我审批':(dataInfo.approvalStatus==0&&approvalPagePropsData.userType!=1?'等待审批':(dataInfo.approvalStatus==1?'已通过':(dataInfo.approvalStatus==2?'已拒绝':(dataInfo.approvalStatus==3?'已撤销':''))))}}</p>
  17. </div>
  18. <div class="text-box-two">
  19. <p>申购原因:</p>
  20. <p>{{dataInfo.applyReason}}</p>
  21. </div>
  22. <div class="text-box-one">
  23. <p>实验室:</p>
  24. <p style="flex:1;">{{dataInfo.subName}}</p>
  25. </div>
  26. <div class="text-box-three">
  27. <p class="el-icon-info"></p>
  28. <p>勾选的化学品为已同意申购</p>
  29. </div>
  30. <!--审批单-->
  31. <div class="table-title-box-one" v-if="approvalPagePropsData.type == 2">
  32. <!--<img @click="allCheckClick" :class="approvalPagePropsData.type==1?'cursor-img':''" v-if="!allCheckType" src="@/assets/ZDimages/medicUniversity-3_1/icon_sp_wxz.png">-->
  33. <!--<img @click="allCheckClick" :class="approvalPagePropsData.type==1?'cursor-img':''" v-if="allCheckType" src="@/assets/ZDimages/medicUniversity-3_1/icon_ytg_xz.png">-->
  34. <p></p>
  35. <p></p>
  36. <p>化学品名</p>
  37. <p>化学品柜</p>
  38. <p>位置</p>
  39. <p>申购人剩余可存放量</p>
  40. <p>本次申购量</p>
  41. </div>
  42. <div class="table-list-box-one" v-if="approvalPagePropsData.type == 2" v-for="(item,index) in dataInfo.actHxpapplyDetailList" :key="index">
  43. <img @click="checkClick(item)" v-if="item.tickStatus != 1" src="@/assets/ZDimages/medicUniversity-3_1/icon_sp_wxz.png">
  44. <img @click="checkClick(item)" v-if="item.tickStatus == 1" src="@/assets/ZDimages/medicUniversity-3_1/icon_ytg_xz.png">
  45. <p></p>
  46. <el-tooltip class="item" effect="dark" :content="item.chemicalName" placement="top">
  47. <p>{{item.chemicalName}}</p>
  48. </el-tooltip>
  49. <el-tooltip class="item" effect="dark" :content="item.cabinetName" placement="top">
  50. <p>{{item.cabinetName}}</p>
  51. </el-tooltip>
  52. <el-tooltip class="item" effect="dark" :content="item.posi" placement="top">
  53. <p>{{item.posi}}</p>
  54. </el-tooltip>
  55. <p>{{item.remainingStorage}}g</p>
  56. <p>{{item.applyNum}}</p>
  57. </div>
  58. <!--审批-->
  59. <div class="table-title-box-two" v-if="approvalPagePropsData.type == 1">
  60. <img @click="allCheckClick" :class="approvalPagePropsData.type==1?'cursor-img':''" v-if="!allCheckType" src="@/assets/ZDimages/medicUniversity-3_1/icon_sp_wxz.png">
  61. <img @click="allCheckClick" :class="approvalPagePropsData.type==1?'cursor-img':''" v-if="allCheckType" src="@/assets/ZDimages/medicUniversity-3_1/icon_ytg_xz.png">
  62. <p>全选</p>
  63. <p>化学品名</p>
  64. <p>化学品柜</p>
  65. <p>位置</p>
  66. <p>学院库存</p>
  67. <p>实验室库存</p>
  68. <p>化学品柜库存</p>
  69. <p>申购人剩余可存放量</p>
  70. <p>本次申购量</p>
  71. <p>操作</p>
  72. </div>
  73. <div class="table-list-box-two" v-if="approvalPagePropsData.type == 1" v-for="(item,index) in dataInfo.actHxpapplyDetailList" :key="index">
  74. <img @click="checkClick(item)" :class="approvalPagePropsData.type==1?'cursor-img':''" v-if="!item.checkType" src="@/assets/ZDimages/medicUniversity-3_1/icon_sp_wxz.png">
  75. <img @click="checkClick(item)" :class="approvalPagePropsData.type==1?'cursor-img':''" v-if="item.checkType" src="@/assets/ZDimages/medicUniversity-3_1/icon_ytg_xz.png">
  76. <p></p>
  77. <el-tooltip class="item" effect="dark" :content="item.chemicalName" placement="top">
  78. <p>{{item.chemicalName}}</p>
  79. </el-tooltip>
  80. <el-tooltip class="item" effect="dark" :content="item.cabinetName" placement="top">
  81. <p>{{item.cabinetName}}</p>
  82. </el-tooltip>
  83. <el-tooltip class="item" effect="dark" :content="item.posi" placement="top">
  84. <p>{{item.posi}}</p>
  85. </el-tooltip>
  86. <p>{{item.collegeInventory}}</p>
  87. <p>{{item.subInventory}}</p>
  88. <p>{{item.cabinetStorage}}</p>
  89. <p>{{item.remainingStorage}}g</p>
  90. <p>{{item.applyNum}}</p>
  91. <p @click="pageToggle(2,item)">化学品</p>
  92. <p @click="getHxpChemicalInfo(item.chemicalId)">化学品详情</p>
  93. </div>
  94. <p class="approval-title-p">审批流程</p>
  95. <!--审批流程-->
  96. <div class="approval-list-max-box">
  97. <div class="approval-for-box">
  98. <div class="approval-for-box-min">
  99. <div class="left-max-box">
  100. <div class="left-top-box">
  101. <img v-if="dataInfo.avatar" :src="dataInfo.avatar">
  102. <img v-if="!dataInfo.avatar" src="@/assets/ZDimages/tx_cion.png">
  103. <div class="left-top-text-box">
  104. <p>发起申请</p>
  105. <p>{{dataInfo.applyUserName}}</p>
  106. </div>
  107. </div>
  108. <p class="left-bottom-p"></p>
  109. <img class="left-position-img" src="@/assets/ZDimages/medicUniversity-3_1/icon_cgsq_ytg.png">
  110. </div>
  111. <div class="right-max-box" style="border:none;">
  112. </div>
  113. <p class="right-right-time-p">{{dataInfo.createTime}}</p>
  114. </div>
  115. </div>
  116. <div class="approval-for-box" v-if="dataInfo.approvalStatus!=3" v-for="(item,index) in dataInfo.configInfoList" :key="index">
  117. <div class="approval-for-box-min">
  118. <div class="left-max-box">
  119. <div class="left-top-box" v-if="item.auditType == 1">
  120. <img v-if="item.actApplytaskNodeList[1]" src="@/assets/ZDimages/medicUniversity-3_1/icon_cgsq_ycsp.png">
  121. <img v-if="!item.actApplytaskNodeList[1]&&item.actApplytaskNodeList[0].applyUserList[0].avatar" :src="item.actApplytaskNodeList[0].applyUserList[0].avatar">
  122. <img v-if="!item.actApplytaskNodeList[1]&&!item.actApplytaskNodeList[0].applyUserList[0].avatar" src="@/assets/ZDimages/tx_cion.png">
  123. <div class="left-top-text-box">
  124. <p>{{item.actApplytaskNodeList[1]?'依次审批':item.actApplytaskNodeList[0].applyUserList[0].postName}}</p>
  125. <p>{{item.approvalName}}</p>
  126. </div>
  127. </div>
  128. <div class="left-top-box" v-if="item.auditType == 2">
  129. <img v-if="item.actApplytaskNodeList[0].applyUserList[1]" src="@/assets/ZDimages/medicUniversity-3_1/icon_cgsq_ycsp.png">
  130. <img v-if="!item.actApplytaskNodeList[0].applyUserList[1]&&item.actApplytaskNodeList[0].applyUserList[0].avatar" :src="item.actApplytaskNodeList[0].applyUserList[0].avatar">
  131. <img v-if="!item.actApplytaskNodeList[0].applyUserList[1]&&!item.actApplytaskNodeList[0].applyUserList[0].avatar" src="@/assets/ZDimages/tx_cion.png">
  132. <div class="left-top-text-box">
  133. <p>{{item.actApplytaskNodeList[0].applyUserList[1]?'或签':item.actApplytaskNodeList[0].applyUserList[0].postName}}</p>
  134. <p>{{item.approvalName}}</p>
  135. </div>
  136. </div>
  137. <p class="left-bottom-p" v-if="index!=dataInfo.configInfoList.length-1"></p>
  138. <img class="left-position-img" v-if="item.applyTaskStatus == 1" src="@/assets/ZDimages/medicUniversity-3_1/icon_cgsq_ytg.png">
  139. <img class="left-position-img" v-if="item.applyTaskStatus == 2" src="@/assets/ZDimages/medicUniversity-3_1/icon_cgsq_yjj.png">
  140. </div>
  141. <!--依次审批-->
  142. <div class="right-max-box" v-if="item.auditType == 1">
  143. <div class="right-for-name-box" v-for="(minItem,minIndex) in item.actApplytaskNodeList" :key="minIndex">
  144. <div class="right-for-name-box-min">
  145. <img v-if="minItem.applyUserList[0].avatar" :src="minItem.applyUserList[0].avatar">
  146. <img v-if="!minItem.applyUserList[0].avatar" src="@/assets/ZDimages/tx_cion.png">
  147. <p>{{minItem.applyUserList[0].id==userId?'我':minItem.applyUserList[0].name}}</p>
  148. <img class="right-min-img" src="@/assets/ZDimages/medicUniversity-3_1/icon_bz_1.png" v-if="minItem.nodeStatus == 1&&minIndex!=item.actApplytaskNodeList.length-1">
  149. <img class="right-min-img" src="@/assets/ZDimages/medicUniversity-3_1/icon_bz_2.png" v-if="!minItem.nodeStatus == 1&&minIndex!=item.actApplytaskNodeList.length-1">
  150. <img class="position-min-img" src="@/assets/ZDimages/medicUniversity-3_1/icon_cgsq_ytg.png" v-if="minItem.nodeStatus == 1">
  151. <img class="position-min-img" src="@/assets/ZDimages/medicUniversity-3_1/icon_cgsq_yjj.png" v-if="minItem.nodeStatus == 2">
  152. </div>
  153. </div>
  154. </div>
  155. <!--或审-->
  156. <div class="right-max-box" v-if="item.auditType == 2">
  157. <div class="right-for-name-box" v-for="(minItem,minIndex) in item.actApplytaskNodeList[0].applyUserList" :key="minIndex">
  158. <div class="right-for-name-box-min">
  159. <img v-if="minItem.avatar" :src="minItem.avatar">
  160. <img v-if="!minItem.avatar" src="@/assets/ZDimages/tx_cion.png">
  161. <p>{{minItem.id==userId?'我':minItem.name}}</p>
  162. <img class="right-min-img" src="@/assets/ZDimages/medicUniversity-3_1/icon_bz_1.png" v-if="item.actApplytaskNodeList[0].applyUserid == minItem.id&&minIndex!=item.actApplytaskNodeList[0].applyUserList.length-1">
  163. <img class="right-min-img" src="@/assets/ZDimages/medicUniversity-3_1/icon_bz_2.png" v-if="item.actApplytaskNodeList[0].applyUserid != minItem.id&&minIndex!=item.actApplytaskNodeList[0].applyUserList.length-1">
  164. <img class="position-min-img" src="@/assets/ZDimages/medicUniversity-3_1/icon_cgsq_ytg.png" v-if="item.actApplytaskNodeList[0].applyUserid == minItem.id&&item.actApplytaskNodeList[0].nodeStatus == 1">
  165. <img class="position-min-img" src="@/assets/ZDimages/medicUniversity-3_1/icon_cgsq_yjj.png" v-if="item.actApplytaskNodeList[0].applyUserid == minItem.id&&item.actApplytaskNodeList[0].nodeStatus == 2">
  166. </div>
  167. </div>
  168. </div>
  169. <p class="right-right-time-p">{{item.applyTaskTime}}</p>
  170. </div>
  171. </div>
  172. <div class="approval-for-box" v-if="dataInfo.approvalStatus==3">
  173. <div class="approval-for-box-min">
  174. <div class="left-max-box">
  175. <div class="left-top-box">
  176. <img src="">
  177. <!--<img src="">-->
  178. <div class="left-top-text-box">
  179. <p>已撤销</p>
  180. <p>{{dataInfo.applyUserName}}</p>
  181. </div>
  182. </div>
  183. </div>
  184. <div class="right-max-box" style="border:none;">
  185. </div>
  186. <p class="right-right-time-p">{{dataInfo.actApplytask.overTime}}</p>
  187. </div>
  188. </div>
  189. <p class="approval-for-min-p" v-if="dataInfo.approvalStatus==2">{{refuseContentText}}</p>
  190. </div>
  191. <div class="bottom-button-box" v-if="approvalPagePropsData.type == 1">
  192. <p class="add-button-two-90" @click="rejectButton" v-hasPermi="['chemical:refuseApplytask:edit']">拒绝</p>
  193. <p class="inquire-button-one" @click="agreeButton" v-hasPermi="['chemical:applytask:edit']">同意</p>
  194. </div>
  195. </div>
  196. </div>
  197. <el-dialog title="化学品详情" :visible.sync="infoDialogType" v-if="infoDialogType" width="900px" append-to-body class="approvalPage-info-dialog-box">
  198. <div class="approvalPage-info-dialog-text-big-box">
  199. <div class="approvalPage-info-dialog-box-text-box">
  200. <p>化学品名:</p>
  201. <p>{{infoDialogData.chemicalName}}</p>
  202. </div>
  203. <div class="approvalPage-info-dialog-box-text-box">
  204. <p>化学品ID:</p>
  205. <p>{{infoDialogData.id}}</p>
  206. </div>
  207. </div>
  208. <div class="approvalPage-info-dialog-text-big-box">
  209. <div class="approvalPage-info-dialog-box-text-box">
  210. <p>CAS:</p>
  211. <p>{{infoDialogData.casNum}}</p>
  212. </div>
  213. <div class="approvalPage-info-dialog-box-text-box">
  214. <p>别名:</p>
  215. <p>{{infoDialogData.anotherName}}</p>
  216. </div>
  217. </div>
  218. <div class="approvalPage-info-dialog-text-big-box">
  219. <div class="approvalPage-info-dialog-box-text-box">
  220. <p>分类:</p>
  221. <p>{{infoDialogData.chemicalClassify}}</p>
  222. </div>
  223. <div class="approvalPage-info-dialog-box-text-box">
  224. <p>属性:</p>
  225. <el-tooltip class="item" effect="dark" :content="infoDialogData.classifyAttribute" placement="top">
  226. <p style="display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;">{{infoDialogData.classifyAttribute}}</p>
  227. </el-tooltip>
  228. </div>
  229. </div>
  230. <div class="approvalPage-info-dialog-text-big-box">
  231. <div class="approvalPage-info-dialog-box-text-box">
  232. <p>纯度:</p>
  233. <p>{{infoDialogData.purity}}</p>
  234. </div>
  235. <div class="approvalPage-info-dialog-box-text-box">
  236. <p>形态:</p>
  237. <p>{{infoDialogData.chemicalShape}}</p>
  238. </div>
  239. </div>
  240. <div slot="footer" class="dialog-footer">
  241. <el-button type="primary" @click="getHxpChemicalInfoOff">确 定</el-button>
  242. </div>
  243. </el-dialog>
  244. <el-dialog title="拒绝审批意见" :visible.sync="approvalTextType" v-if="approvalTextType" width="900px" append-to-body class="approvalPage-info-dialog-box">
  245. <el-form :model="formData" ref="form" :inline="true" label-width="120px">
  246. <el-form-item label="拒绝意见:" prop="refuseContent">
  247. <el-input
  248. maxlength="50"
  249. style="width:500px;"
  250. v-model="refuseContent"
  251. placeholder="请输入拒绝意见"
  252. clearable
  253. size="small"/>
  254. </el-form-item>
  255. </el-form>
  256. <div slot="footer" class="dialog-footer">
  257. <el-button @click="rejectButton">取 消</el-button>
  258. <el-button type="primary" @click="rejectDialogButton">确 定</el-button>
  259. </div>
  260. </el-dialog>
  261. <list-page-one :listPropsData="listPropsData" v-if="pageType == 2"></list-page-one>
  262. </div>
  263. </template>
  264. <script>
  265. import listPageOne from "./listPageOne.vue"
  266. import { classifyList,hxpapplyAudit,hxpapply,approvalTask,approvalRefuse,getHxpChemicalInfo } from "@/api/medicUniversity-3_1/index";
  267. export default {
  268. name: "approvalPage",
  269. components: {
  270. listPageOne
  271. },
  272. props:{
  273. approvalPagePropsData:{},
  274. },
  275. data(){
  276. return{
  277. //页面状态
  278. pageType:0,
  279. //详情展示弹窗开关
  280. infoDialogType:false,
  281. //拒绝审批开关
  282. approvalTextType:false,
  283. formData:{},
  284. refuseContent:"",
  285. dataInfo:{},
  286. //全选状态
  287. allCheckType:false,
  288. refuseContentText:"",
  289. //化学品详情
  290. infoDialogData:{},
  291. //化学品形态
  292. optionsList:[],
  293. //化学品分类列表
  294. optionsListOne:[],
  295. //属性列表
  296. optionsListTwo:[],
  297. //机柜页面传参
  298. listPropsData:{},
  299. userId:"",
  300. }
  301. },
  302. created() {
  303. },
  304. mounted(){
  305. this.classifyList();
  306. this.getDicts("chemical_shape").then(response => {
  307. this.optionsList = response.data;
  308. })
  309. this.getDicts("hxp_classifyattribute").then(response => {
  310. this.optionsListTwo = response.data;
  311. })
  312. this.hxpapplyAudit();
  313. this.userId = localStorage.getItem('userId');
  314. },
  315. methods: {
  316. //同意审批
  317. agreeButton(){
  318. let self = this;
  319. let list = [];
  320. for(let i=0;i<self.dataInfo.actHxpapplyDetailList.length;i++){
  321. if(self.dataInfo.actHxpapplyDetailList[i].checkType){
  322. let obj = {
  323. // cabinetId:self.dataInfo.actHxpapplyDetailList[i].cabinetId,
  324. // chemicalId:self.dataInfo.actHxpapplyDetailList[i].chemicalId,
  325. id:self.dataInfo.actHxpapplyDetailList[i].id,
  326. remainingStorage:self.dataInfo.actHxpapplyDetailList[i].remainingStorage
  327. };
  328. list.push(obj);
  329. }
  330. }
  331. if(!list[0]){
  332. this.msgError('请选择通过审批的化学品')
  333. return
  334. }
  335. self.$confirm(`是否确认审批通过?`, "提示", {
  336. confirmButtonText: "确定",
  337. cancelButtonText: "取消",
  338. type: "warning"
  339. }).then(async () => {
  340. let obj = {
  341. taskId:self.dataInfo.id,
  342. actHxpapplyDetailList:list,
  343. };
  344. approvalTask(obj).then(response => {
  345. this.msgSuccess(response.msg);
  346. this.backPage(1);
  347. });
  348. }).catch(() => {})
  349. },
  350. //拒绝审批
  351. rejectButton(){
  352. this.approvalTextType = !this.approvalTextType;
  353. },
  354. rejectDialogButton(){
  355. let self = this;
  356. // self.$confirm(`是否确认拒绝通过?`, "提示", {
  357. // confirmButtonText: "确定",
  358. // cancelButtonText: "取消",
  359. // type: "warning"
  360. // }).then(async () => {
  361. // let obj = {
  362. // taskId:self.dataInfo.id,
  363. // refuseContent:self.refuseContent,
  364. // };
  365. // approvalRefuse(obj).then(response => {
  366. // this.msgSuccess(response.msg);
  367. // this.backPage(1);
  368. // });
  369. // }).catch(() => {})
  370. let obj = {
  371. taskId:self.dataInfo.id,
  372. refuseContent:self.refuseContent,
  373. };
  374. approvalRefuse(obj).then(response => {
  375. this.msgSuccess(response.msg);
  376. this.backPage(1);
  377. });
  378. },
  379. //获取审批详情
  380. hxpapplyAudit(){
  381. let userId = localStorage.getItem('userId')
  382. if(this.approvalPagePropsData.type == 1){
  383. hxpapplyAudit(this.approvalPagePropsData.id).then(response => {
  384. //处理添加勾选状态
  385. for(let i=0;i<response.data.actHxpapplyDetailList.length;i++){
  386. response.data.actHxpapplyDetailList[i].checkType = false;
  387. }
  388. for(let i=0;i<response.data.configInfoList.length;i++){
  389. if(response.data.configInfoList[i].auditType == 1){
  390. //依次审批
  391. for(let o=0;o<response.data.configInfoList[i].actApplytaskNodeList.length;o++){
  392. if(response.data.configInfoList[i].applyTaskStatus == 0){
  393. if(response.data.actApplytask.nowStep == response.data.configInfoList[i].actApplytaskNodeList[o].id){
  394. //进行中
  395. if(response.data.configInfoList[i].actApplytaskNodeList[o].nodeStatus == 0){
  396. if(userId == response.data.configInfoList[i].actApplytaskNodeList[o].id){
  397. response.data.configInfoList[i].approvalName = '我(审批中)'
  398. break
  399. }else{
  400. response.data.configInfoList[i].approvalName = response.data.configInfoList[i].actApplytaskNodeList[o].applyUserList[0].name+'(审批中)'
  401. break
  402. }
  403. }
  404. }else{
  405. //未进行的
  406. if(response.data.configInfoList[i].actApplytaskNodeList[o].nodeStatus == 0){
  407. if(userId == response.data.configInfoList[i].actApplytaskNodeList[o].id){
  408. response.data.configInfoList[i].approvalName = '我(审批人)'
  409. break
  410. }else{
  411. response.data.configInfoList[i].approvalName = response.data.configInfoList[i].actApplytaskNodeList[o].applyUserList[0].name+'(审批人)'
  412. break
  413. }
  414. }
  415. }
  416. }else if(response.data.configInfoList[i].applyTaskStatus == 1){
  417. if(response.data.configInfoList[i].actApplytaskNodeList[1]){
  418. response.data.configInfoList[i].approvalName = '已通过'
  419. break
  420. }else{
  421. response.data.configInfoList[i].approvalName = response.data.configInfoList[i].actApplytaskNodeList[o].applyUserList[0].name+'(已通过)'
  422. break
  423. }
  424. }else if(response.data.configInfoList[i].applyTaskStatus == 2){
  425. if(userId == response.data.configInfoList[i].actApplytaskNodeList[o].applyUserList[0].id){
  426. response.data.configInfoList[i].approvalName = '我(已拒绝)'
  427. break
  428. }else{
  429. response.data.configInfoList[i].approvalName = response.data.configInfoList[i].actApplytaskNodeList[o].applyUserList[0].name+'(已拒绝)'
  430. break
  431. }
  432. }
  433. }
  434. }else if(response.data.configInfoList[i].auditType == 2){
  435. //或签审批
  436. for(let o=0;o<response.data.configInfoList[i].actApplytaskNodeList.length;o++) {
  437. let minNum = 0;
  438. for(let x=0;x<response.data.configInfoList[i].actApplytaskNodeList[o].applyUserList.length;x++){
  439. if(userId == response.data.configInfoList[i].actApplytaskNodeList[o].applyUserList[x].id){
  440. minNum++
  441. }
  442. }
  443. if(minNum == 0){
  444. //没自己
  445. if(response.data.configInfoList[i].applyTaskStatus == 0){
  446. //未审批
  447. if(response.data.actApplytask.nowStep == response.data.configInfoList[i].actApplytaskNodeList[o].id){
  448. response.data.configInfoList[i].approvalName = "审批中";
  449. }else{
  450. response.data.configInfoList[i].approvalName = "待审批";
  451. }
  452. }else if(response.data.configInfoList[i].applyTaskStatus == 1){
  453. //已通过
  454. response.data.configInfoList[i].approvalName = "已通过";
  455. }else if(response.data.configInfoList[i].applyTaskStatus == 2){
  456. //已拒绝
  457. response.data.configInfoList[i].approvalName = "已拒绝";
  458. }
  459. }else{
  460. //有自己
  461. if(response.data.configInfoList[i].applyTaskStatus == 0){
  462. //未审批
  463. if(response.data.actApplytask.nowStep == response.data.configInfoList[i].actApplytaskNodeList[o].id){
  464. response.data.configInfoList[i].approvalName = "我(审批中)";
  465. }else{
  466. response.data.configInfoList[i].approvalName = "我(审批人)";
  467. }
  468. }else if(response.data.configInfoList[i].applyTaskStatus == 1){
  469. //已通过
  470. response.data.configInfoList[i].approvalName = "我(已通过)";
  471. }else if(response.data.configInfoList[i].applyTaskStatus == 2){
  472. //已拒绝
  473. response.data.configInfoList[i].approvalName = "我(已拒绝)";
  474. }
  475. }
  476. }
  477. }
  478. }
  479. let type = true;
  480. let configInfoList = [];
  481. for(let i=0;i<response.data.configInfoList.length;i++){
  482. if(type){
  483. configInfoList.push(response.data.configInfoList[i]);
  484. }
  485. if(response.data.configInfoList[i].applyTaskStatus == 2){
  486. type = false;
  487. }
  488. }
  489. this.$set(response.data,'configInfoList',configInfoList);
  490. this.$set(this,'dataInfo',response.data);
  491. this.$set(this,'pageType',1);
  492. });
  493. }else if(this.approvalPagePropsData.type == 2){
  494. hxpapply(this.approvalPagePropsData.id).then(response => {
  495. //处理添加勾选状态
  496. for(let i=0;i<response.data.actHxpapplyDetailList.length;i++){
  497. if(response.data.actHxpapplyDetailList[i].tickStatus == 1){
  498. response.data.actHxpapplyDetailList[i].checkType = true;
  499. }else{
  500. response.data.actHxpapplyDetailList[i].checkType = false;
  501. }
  502. }
  503. for(let i=0;i<response.data.configInfoList.length;i++){
  504. if(response.data.configInfoList[i].auditType == 1){
  505. //依次审批
  506. for(let o=0;o<response.data.configInfoList[i].actApplytaskNodeList.length;o++){
  507. if(response.data.configInfoList[i].applyTaskStatus == 0){
  508. if(response.data.actApplytask.nowStep == response.data.configInfoList[i].actApplytaskNodeList[o].id){
  509. //进行中
  510. if(response.data.configInfoList[i].actApplytaskNodeList[o].nodeStatus == 0){
  511. if(userId == response.data.configInfoList[i].actApplytaskNodeList[o].id){
  512. response.data.configInfoList[i].approvalName = '我(审批中)'
  513. break
  514. }else{
  515. response.data.configInfoList[i].approvalName = response.data.configInfoList[i].actApplytaskNodeList[o].applyUserList[0].name+'(审批中)'
  516. break
  517. }
  518. }
  519. }else{
  520. //未进行的
  521. if(response.data.configInfoList[i].actApplytaskNodeList[o].nodeStatus == 0){
  522. if(userId == response.data.configInfoList[i].actApplytaskNodeList[o].id){
  523. response.data.configInfoList[i].approvalName = '我(审批人)'
  524. break
  525. }else{
  526. response.data.configInfoList[i].approvalName = response.data.configInfoList[i].actApplytaskNodeList[o].applyUserList[0].name+'(审批人)'
  527. break
  528. }
  529. }
  530. }
  531. }else if(response.data.configInfoList[i].applyTaskStatus == 1){
  532. if(response.data.configInfoList[i].actApplytaskNodeList[1]){
  533. response.data.configInfoList[i].approvalName = '已通过'
  534. break
  535. }else{
  536. response.data.configInfoList[i].approvalName = response.data.configInfoList[i].actApplytaskNodeList[o].applyUserList[0].name+'(已通过)'
  537. break
  538. }
  539. }else if(response.data.configInfoList[i].applyTaskStatus == 2){
  540. this.refuseContentText = response.data.configInfoList[i].refuseContent;
  541. if(userId == response.data.configInfoList[i].actApplytaskNodeList[o].applyUserList[0].id){
  542. response.data.configInfoList[i].approvalName = '我(已拒绝)'
  543. break
  544. }else{
  545. response.data.configInfoList[i].approvalName = response.data.configInfoList[i].actApplytaskNodeList[o].applyUserList[0].name+'(已拒绝)'
  546. break
  547. }
  548. }
  549. }
  550. }else if(response.data.configInfoList[i].auditType == 2){
  551. //或签审批
  552. for(let o=0;o<response.data.configInfoList[i].actApplytaskNodeList.length;o++) {
  553. let minNum = 0;
  554. for(let x=0;x<response.data.configInfoList[i].actApplytaskNodeList[o].applyUserList.length;x++){
  555. if(userId == response.data.configInfoList[i].actApplytaskNodeList[o].applyUserList[x].id){
  556. minNum++
  557. }
  558. }
  559. if(minNum == 0){
  560. //没自己
  561. if(response.data.configInfoList[i].applyTaskStatus == 0){
  562. //未审批
  563. if(response.data.actApplytask.nowStep == response.data.configInfoList[i].actApplytaskNodeList[o].id){
  564. response.data.configInfoList[i].approvalName = "审批中";
  565. }else{
  566. response.data.configInfoList[i].approvalName = "待审批";
  567. }
  568. }else if(response.data.configInfoList[i].applyTaskStatus == 1){
  569. //已通过
  570. response.data.configInfoList[i].approvalName = "已通过";
  571. }else if(response.data.configInfoList[i].applyTaskStatus == 2){
  572. //已拒绝
  573. this.refuseContentText = response.data.configInfoList[i].refuseContent;
  574. response.data.configInfoList[i].approvalName = "已拒绝";
  575. }
  576. }else{
  577. //有自己
  578. if(response.data.configInfoList[i].applyTaskStatus == 0){
  579. //未审批
  580. if(response.data.actApplytask.nowStep == response.data.configInfoList[i].actApplytaskNodeList[o].id){
  581. response.data.configInfoList[i].approvalName = "我(审批中)";
  582. }else{
  583. response.data.configInfoList[i].approvalName = "我(审批人)";
  584. }
  585. }else if(response.data.configInfoList[i].applyTaskStatus == 1){
  586. //已通过
  587. response.data.configInfoList[i].approvalName = "我(已通过)";
  588. }else if(response.data.configInfoList[i].applyTaskStatus == 2){
  589. //已拒绝
  590. this.refuseContentText = response.data.configInfoList[i].refuseContent;
  591. response.data.configInfoList[i].approvalName = "我(已拒绝)";
  592. }
  593. }
  594. }
  595. }
  596. }
  597. let type = true;
  598. let configInfoList = [];
  599. for(let i=0;i<response.data.configInfoList.length;i++){
  600. if(type){
  601. configInfoList.push(response.data.configInfoList[i]);
  602. }
  603. if(response.data.configInfoList[i].applyTaskStatus == 2){
  604. type = false;
  605. }
  606. }
  607. this.$set(response.data,'configInfoList',configInfoList);
  608. this.$set(this,'dataInfo',response.data);
  609. this.$set(this,'pageType',1);
  610. });
  611. }
  612. },
  613. //返回
  614. backPage(type){
  615. if(type == 0){
  616. this.$parent.pageToggle(0);
  617. }else if(type == 1){
  618. this.$parent.pageToggle(1);
  619. }
  620. },
  621. goEditPage(){
  622. let obj = {
  623. id:this.approvalPagePropsData.id
  624. }
  625. this.$parent.pageToggle(5,obj);
  626. },
  627. //勾选处理
  628. checkClick(item){
  629. let self = this;
  630. if(self.approvalPagePropsData.type != 1){
  631. return
  632. }
  633. item.checkType = !item.checkType;
  634. let num = 0;
  635. for(let i=0;i<self.dataInfo.actHxpapplyDetailList.length;i++){
  636. if(self.dataInfo.actHxpapplyDetailList[i].checkType){
  637. num++
  638. }
  639. }
  640. this.allCheckType = num == self.dataInfo.actHxpapplyDetailList.length;
  641. },
  642. //全选
  643. allCheckClick(){
  644. let self = this;
  645. if(self.approvalPagePropsData.type != 1){
  646. return
  647. }
  648. if(this.allCheckType){
  649. this.allCheckType = false;
  650. for(let i=0;i<self.dataInfo.actHxpapplyDetailList.length;i++){
  651. self.dataInfo.actHxpapplyDetailList[i].checkType = false;
  652. }
  653. }else{
  654. this.allCheckType = true;
  655. for(let i=0;i<self.dataInfo.actHxpapplyDetailList.length;i++){
  656. self.dataInfo.actHxpapplyDetailList[i].checkType = true;
  657. }
  658. }
  659. },
  660. //化学品详情
  661. getHxpChemicalInfo(id){
  662. let self = this;
  663. getHxpChemicalInfo(id).then(response => {
  664. //化学品形态
  665. for(let i=0;i<self.optionsList.length;i++){
  666. if(response.data.chemicalShape == self.optionsList[i].dictValue){
  667. this.$set(response.data,'chemicalShape',self.optionsList[i].dictLabel);
  668. }
  669. }
  670. //化学品分类列表
  671. for(let i=0;i<self.optionsListOne.length;i++){
  672. if(response.data.chemicalClassify == self.optionsListOne[i].id){
  673. this.$set(response.data,'chemicalClassify',self.optionsListOne[i].classifyName);
  674. }
  675. }
  676. //属性列表
  677. let list = response.data.classifyAttribute.split(',');
  678. let newText = '';
  679. for(let o=0;o<list.length;o++){
  680. for(let i=0;i<self.optionsListTwo.length;i++){
  681. if(list[o] == self.optionsListTwo[i].dictValue){
  682. if(o == 0){
  683. newText = self.optionsListTwo[i].dictLabel
  684. }else{
  685. newText = newText + ',' +self.optionsListTwo[i].dictLabel
  686. }
  687. }
  688. }
  689. }
  690. this.$set(response.data,'classifyAttribute',newText);
  691. this.infoDialogData = response.data;
  692. this.infoDialogType = true;
  693. });
  694. },
  695. getHxpChemicalInfoOff(){
  696. this.infoDialogType = false;
  697. },
  698. //获取化学品分类列表
  699. classifyList(){
  700. classifyList().then(response => {
  701. this.optionsListOne = response.rows;
  702. });
  703. },
  704. pageToggle(type,item){
  705. if(type == 1){
  706. this.pageType = 1;
  707. }else if(type == 2){
  708. let obj = {
  709. cabinetName:item.chemicalName,
  710. posi:item.posi,
  711. safeUserName:item.safeUserNames,
  712. id:item.cabinetId,
  713. };
  714. this.$set(this,'listPropsData',obj);
  715. this.pageType = 2;
  716. }
  717. }
  718. }
  719. }
  720. </script>
  721. <style scoped lang="scss">
  722. .approvalPage{
  723. flex:1;
  724. display: flex;
  725. flex-direction: column;
  726. overflow: hidden;
  727. p{
  728. margin:0;
  729. padding:0;
  730. }
  731. .approvalPage-min{
  732. flex:1;
  733. display: flex;
  734. flex-direction: column;
  735. overflow: hidden;
  736. .title-box{
  737. display: flex;
  738. height:90px;
  739. border-bottom: 1px solid #D8D8D8;
  740. p:nth-child(1){
  741. flex:1;
  742. font-size:16px;
  743. line-height:90px;
  744. margin-left:18px;
  745. color:#0045AF;
  746. }
  747. .button-p{
  748. margin:25px 25px 0 0;
  749. }
  750. }
  751. .page-max-box{
  752. flex:1;
  753. display: flex;
  754. flex-direction: column;
  755. padding:20px 80px;
  756. .text-box-one{
  757. display: flex;
  758. margin-bottom:10px;
  759. font-size:16px;
  760. p{
  761. color:#333;
  762. line-height:50px;
  763. }
  764. p:nth-child(1){
  765. width:85px;
  766. text-align: right;
  767. }
  768. p:nth-child(2){
  769. width:205px;
  770. padding-left:10px;
  771. }
  772. p:nth-child(3){
  773. flex:1;
  774. }
  775. p:nth-child(4){
  776. }
  777. .colorA{
  778. color:#FF8C00;
  779. }
  780. .colorB{
  781. color:#25C402;
  782. }
  783. .colorC{
  784. color:#FA5151;
  785. }
  786. .colorD{
  787. color:#666666;
  788. }
  789. }
  790. .text-box-two{
  791. display: flex;
  792. margin-bottom:10px;
  793. font-size:16px;
  794. p{
  795. color:#333;
  796. line-height:50px;
  797. }
  798. p:nth-child(1){
  799. width:85px;
  800. text-align: right;
  801. }
  802. p:nth-child(2){
  803. padding-left:10px;
  804. flex:1;
  805. background: #F5F5F5;
  806. border-radius:4px;
  807. }
  808. }
  809. .text-box-three{
  810. display: flex;
  811. font-size:14px;
  812. p:nth-child(1){
  813. font-size:14px;
  814. width:14px;
  815. height:14px;
  816. margin:14px 11px 14px 14px;
  817. text-align: center;
  818. color:#ffb400;
  819. border-radius:50%;
  820. }
  821. p:nth-child(2){
  822. flex:1;
  823. line-height:42px;
  824. }
  825. }
  826. .table-title-box-one{
  827. display: flex;
  828. background: #f5f5f5;
  829. margin-bottom:10px;
  830. .cursor-img{
  831. cursor: pointer;
  832. }
  833. p:nth-child(1){
  834. width:16px;
  835. height:16px;
  836. margin:17px 17px 0 29px;
  837. }
  838. p{
  839. line-height: 50px;
  840. font-size:16px;
  841. }
  842. p:nth-child(2){
  843. width:130px;
  844. }
  845. p:nth-child(3){
  846. width:184px;
  847. }
  848. p:nth-child(4){
  849. width:299px;
  850. }
  851. p:nth-child(5){
  852. width:288px;
  853. }
  854. p:nth-child(6){
  855. flex:1;
  856. }
  857. p:nth-child(7){
  858. width:145px;
  859. }
  860. }
  861. .table-list-box-one{
  862. display: flex;
  863. .cursor-img{
  864. cursor: pointer;
  865. }
  866. img:nth-child(1){
  867. width:16px;
  868. height:16px;
  869. margin:13px 17px 0 29px;
  870. }
  871. p{
  872. line-height: 42px;
  873. font-size:14px;
  874. }
  875. p:nth-child(2){
  876. width:130px;
  877. }
  878. p:nth-child(3){
  879. width:184px;
  880. padding-right:20px;
  881. display:block;
  882. overflow:hidden;
  883. text-overflow:ellipsis;
  884. white-space:nowrap;
  885. }
  886. p:nth-child(4){
  887. width:299px;
  888. padding-right:20px;
  889. display:block;
  890. overflow:hidden;
  891. text-overflow:ellipsis;
  892. white-space:nowrap;
  893. }
  894. p:nth-child(5){
  895. width:288px;
  896. padding-right:20px;
  897. display:block;
  898. overflow:hidden;
  899. text-overflow:ellipsis;
  900. white-space:nowrap;
  901. }
  902. p:nth-child(6){
  903. flex:1;
  904. }
  905. p:nth-child(7){
  906. width:145px;
  907. color: #0045AF;
  908. }
  909. }
  910. .table-title-box-two{
  911. display: flex;
  912. background: #f5f5f5;
  913. margin-bottom:10px;
  914. .cursor-img{
  915. cursor: pointer;
  916. }
  917. img:nth-child(1){
  918. width:16px;
  919. height:16px;
  920. margin:17px 17px 0 18px;
  921. }
  922. p{
  923. line-height: 50px;
  924. font-size:16px;
  925. }
  926. p:nth-child(2){
  927. width:72px;
  928. }
  929. p:nth-child(3){
  930. width:113px;
  931. }
  932. p:nth-child(4){
  933. width:121px;
  934. }
  935. p:nth-child(5){
  936. width:165px;
  937. }
  938. p:nth-child(6){
  939. width:121px;
  940. }
  941. p:nth-child(7){
  942. width:136px;
  943. }
  944. p:nth-child(8){
  945. width:132px;
  946. }
  947. p:nth-child(9){
  948. width:169px;
  949. }
  950. p:nth-child(10){
  951. flex:1;
  952. }
  953. p:nth-child(11){
  954. width:145px;
  955. margin-left:55px;
  956. }
  957. }
  958. .table-list-box-two{
  959. display: flex;
  960. .cursor-img{
  961. cursor: pointer;
  962. }
  963. img:nth-child(1){
  964. width:16px;
  965. height:16px;
  966. margin:17px 17px 0 18px;
  967. }
  968. p{
  969. line-height: 50px;
  970. font-size:14px;
  971. }
  972. p:nth-child(2){
  973. width:72px;
  974. }
  975. p:nth-child(3){
  976. width:113px;
  977. padding-right:20px;
  978. display:block;
  979. overflow:hidden;
  980. text-overflow:ellipsis;
  981. white-space:nowrap;
  982. }
  983. p:nth-child(4){
  984. width:121px;
  985. padding-right:20px;
  986. display:block;
  987. overflow:hidden;
  988. text-overflow:ellipsis;
  989. white-space:nowrap;
  990. }
  991. p:nth-child(5){
  992. width:165px;
  993. padding-right:20px;
  994. display:block;
  995. overflow:hidden;
  996. text-overflow:ellipsis;
  997. white-space:nowrap;
  998. }
  999. p:nth-child(6){
  1000. width:121px;
  1001. }
  1002. p:nth-child(7){
  1003. width:136px;
  1004. }
  1005. p:nth-child(8){
  1006. width:132px;
  1007. }
  1008. p:nth-child(9){
  1009. width:169px;
  1010. }
  1011. p:nth-child(10){
  1012. flex:1;
  1013. }
  1014. p:nth-child(11){
  1015. width:80px;
  1016. height:28px;
  1017. line-height:28px;
  1018. margin-right:14px;
  1019. color:#0045af;
  1020. border:1px solid #0045af;
  1021. border-radius:4px;
  1022. text-align: center;
  1023. margin-top:11px;
  1024. cursor: pointer;
  1025. }
  1026. p:nth-child(12){
  1027. width:100px;
  1028. height:28px;
  1029. line-height:28px;
  1030. margin-right:14px;
  1031. color:#0045af;
  1032. border:1px solid #0045af;
  1033. border-radius:4px;
  1034. text-align: center;
  1035. margin-top:11px;
  1036. cursor: pointer;
  1037. }
  1038. }
  1039. .approval-title-p{
  1040. font-size:16px;
  1041. background: #f5f5f5;
  1042. line-height: 50px;
  1043. margin-bottom:23px;
  1044. padding-left:20px;
  1045. margin-top:10px;
  1046. }
  1047. .approval-list-max-box{
  1048. .approval-for-box{
  1049. .approval-for-box-min{
  1050. display: flex;
  1051. .left-max-box{
  1052. display: flex;
  1053. flex-direction: column;
  1054. width:219px;
  1055. position: relative;
  1056. .left-top-box{
  1057. display: flex;
  1058. img{
  1059. width:60px;
  1060. height:60px;
  1061. border-radius:4px;
  1062. margin-right:30px;
  1063. }
  1064. .left-top-text-box{
  1065. p{
  1066. line-height:30px;
  1067. font-size:14px;
  1068. color:#333;
  1069. }
  1070. }
  1071. }
  1072. .left-bottom-p{
  1073. width:2px;
  1074. flex:1;
  1075. background: #e0e0e0;
  1076. margin-left:29px;
  1077. }
  1078. .left-position-img{
  1079. width:20px;
  1080. height:20px;
  1081. position: absolute;
  1082. top:50px;
  1083. left:50px;
  1084. }
  1085. }
  1086. .right-max-box{
  1087. flex:1;
  1088. min-height:80px;
  1089. border:1px solid #e0e0e0;
  1090. margin-bottom:27px;
  1091. padding:19px 14px 0;
  1092. .right-for-name-box{
  1093. display: inline-block;
  1094. margin-bottom:17px;
  1095. .right-for-name-box-min{
  1096. display: flex;
  1097. position: relative;
  1098. img:nth-child(1){
  1099. width:40px;
  1100. height:40px;
  1101. border-radius:4px;
  1102. margin-right:8px;
  1103. }
  1104. p:nth-child(2){
  1105. line-height:44px;
  1106. font-size:14px;
  1107. }
  1108. .right-min-img{
  1109. width:12px;
  1110. height:10px;
  1111. margin:16px 17px 0 13px;
  1112. }
  1113. .position-min-img{
  1114. width:20px;
  1115. height:20px;
  1116. position: absolute;
  1117. top:30px;
  1118. left:30px;
  1119. }
  1120. }
  1121. }
  1122. }
  1123. .right-max-box-border-none{
  1124. border:none;
  1125. }
  1126. .right-max-end{
  1127. margin-bottom:0;
  1128. }
  1129. .right-right-time-p{
  1130. font-size:14px;
  1131. color: #666666;
  1132. width:160px;
  1133. text-align: right;
  1134. padding-top:10px;
  1135. }
  1136. }
  1137. }
  1138. .approval-for-min-p{
  1139. margin:20px 95px;
  1140. font-size:14px;
  1141. line-height:20px;
  1142. color:#666666;
  1143. background: #F5F5F5;
  1144. padding:10px 35px;
  1145. word-wrap:break-word;
  1146. word-break:break-all;
  1147. overflow: hidden;
  1148. }
  1149. }
  1150. .bottom-button-box{
  1151. display: flex;
  1152. width:217px;
  1153. margin:30px auto;
  1154. p{
  1155. width:100px;
  1156. }
  1157. p:nth-child(1){
  1158. margin-right:17px;
  1159. }
  1160. }
  1161. }
  1162. }
  1163. }
  1164. </style>
  1165. <style lang="scss">
  1166. .approvalPage-info-dialog-box{
  1167. p{
  1168. margin:0;
  1169. }
  1170. .approvalPage-info-dialog-text-big-box{
  1171. display: flex;
  1172. .approvalPage-info-dialog-box-text-box:nth-child(1){
  1173. margin-right:100px;
  1174. margin-left:20px;
  1175. }
  1176. .approvalPage-info-dialog-box-text-box{
  1177. width:357px;
  1178. display: flex;
  1179. p{
  1180. line-height:50px;
  1181. color:#333;
  1182. font-size:16px;
  1183. }
  1184. p:nth-child(1){
  1185. width:80px;
  1186. text-align: right;
  1187. }
  1188. p:nth-child(2){
  1189. flex:1;
  1190. text-align: right;
  1191. }
  1192. }
  1193. }
  1194. .el-dialog__footer{
  1195. text-align:center;
  1196. }
  1197. }
  1198. </style>