list.vue 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778
  1. <template>
  2. <view>
  3. <u-sticky bgColor="#fff" offset-top="-100rpx" style="z-index: 99;">
  4. <pageHead pageTitle="审批" :showBack="false" :showLogout="true" style="margin-bottom: -15px;"></pageHead>
  5. <u-tabs :list="approveTypes" :scrollable="false"
  6. :activeStyle="{color: '#E60013', fontSize: '32rpx', fontWeight: 'bold'}"
  7. :inactiveStyle="{color: '#6B7688', fontSize: '32rpx',}" lineWidth="128rpx" lineHeight="8rpx"
  8. lineColor="#E60114" :itemStyle="{height: '120rpx'}" @change="tabChange"></u-tabs>
  9. </u-sticky>
  10. <view class="list-content">
  11. <!-- 项目报备 -->
  12. <view v-if="index == 0">
  13. <view class="list-card" v-for="(item, index) in projectList">
  14. <view class="flex-center-between">
  15. <uni-tooltip :content="item.projectName" placement="bottom">
  16. <view class="list-card__title">{{item.projectName}}</view>
  17. </uni-tooltip>
  18. <view class="flex-center">
  19. <u-icon name="map" color="#E60114" size="16"></u-icon>
  20. <view class="list-card__area">{{item.areaName}}</view>
  21. </view>
  22. </view>
  23. <u-divider class="divider"></u-divider>
  24. <view class="flex-center">
  25. <view class="list-card__text">申&ensp;报&ensp;人:
  26. <text style="color: rgba(0, 0, 0, 0.85);">{{item.createByName}}</text>
  27. </view>
  28. </view>
  29. <view class="flex-center">
  30. <view class="list-card__text">客户名称:
  31. <text style="color: rgba(0, 0, 0, 0.85);">{{item.accountName}}</text>
  32. </view>
  33. </view>
  34. <view class="flex-center">
  35. <view class="list-card__text">代&ensp;理&ensp;商:
  36. <text style="color: rgba(0, 0, 0, 0.85);">{{item.ownerAgentName}}</text>
  37. </view>
  38. </view>
  39. <view class="flex-center">
  40. <view class="list-card__left">国&emsp;&emsp;家:
  41. <text style="color: rgba(0, 0, 0, 0.85);">{{item.countryName}}</text>
  42. </view>
  43. <view class="list-card__text">城&emsp;&emsp;市:
  44. <text style="color: rgba(0, 0, 0, 0.85);">{{item.city}}</text>
  45. </view>
  46. </view>
  47. <view class="flex-center">
  48. <view class="list-card__text">类&emsp;&emsp;型:
  49. <text style="color: rgba(0, 0, 0, 0.85);">{{item.typeName}}</text>
  50. </view>
  51. </view>
  52. <view class="flex-center mt32">
  53. <view class="button-left flex-center-middle" @click="toggle(item,'ret')">
  54. <img class="button-icon" src="@/static/img/approve/reject.png" alt="" />
  55. <view class="reject-text">驳回</view>
  56. </view>
  57. <view class="button-right flex-center-middle" @click="toggle(item, 'pass')">
  58. <img class="button-icon" src="@/static/img/approve/pass.png" alt="" />
  59. <view class="pass-text">通过</view>
  60. </view>
  61. </view>
  62. </view>
  63. <u-empty v-if="approveTypes[0].badge.value == 0" text="列表为空" mode="list"></u-empty>
  64. </view>
  65. <!-- 议价审批 -->
  66. <view v-if="index == 1">
  67. <view class="list-card" v-for="(item, index) in bargainList"
  68. @click="jumpPage('1',item.id)">
  69. <view class="flex-center-between">
  70. <uni-tooltip :content="item.projectName" placement="bottom">
  71. <view class="list-card__title">{{item.projectName}}</view>
  72. </uni-tooltip>
  73. <view class="flex-center">
  74. <u-icon name="arrow-right" color="#000000" size="16"></u-icon>
  75. </view>
  76. </view>
  77. <view class="flex-center">
  78. <view class="list-card__text">报价者:
  79. <text style="color:#3C485B;">{{item.nickName}}</text>
  80. </view>
  81. </view>
  82. <view class="flex-center">
  83. <view class="list-card__text">区&emsp;域:
  84. <text style="color:#3C485B;">{{item.countryName+'/'+item.city}}</text>
  85. </view>
  86. </view>
  87. <u-divider class="divider"></u-divider>
  88. <view class="flex-center">
  89. <view class="list-card__price">
  90. <view class="txt-label">报价金额</view>
  91. <view class="txt-value" style="display: flex;align-items: center;justify-content: center;">
  92. <view class="txt-value-min">{{item.currencyName}}</view>
  93. <view class="txt-value" > {{stateFormat(item.price,0)}}</view>
  94. </view>
  95. </view>
  96. <u-line direction="col"></u-line>
  97. <view style=" transform: scaleX(0.5) ;border: 1px solid #E9EEF3;height: 25px;"></view>
  98. <view class="list-card__price">
  99. <view class="txt-label">议价金额</view>
  100. <view class="txt-value2" style="display: flex;align-items: center;justify-content: center;">
  101. <view class="txt-value-min">{{item.currencyName}}</view>
  102. <view class="txt-value2">{{stateFormat(item.bargainPrice,0)}}</view>
  103. </view>
  104. </view>
  105. </view>
  106. <!-- <view class="flex-center mt32">
  107. <view class="button-left flex-center-middle" @click="handleApprove(item, '02')">
  108. <img class="button-icon" src="@/static/img/approve/reject.png" alt="" />
  109. <view class="reject-text">驳回</view>
  110. </view>
  111. <view class="button-right flex-center-middle" @cl<strong></strong>ick="handleApprove(item, '03')">
  112. <img class="button-icon" src="@/static/img/approve/pass.png" alt="" />
  113. <view class="pass-text">通过</view>
  114. </view>
  115. </view> -->
  116. </view>
  117. <u-empty v-if="approveTypes[1].badge.value == 0" text="列表为空" mode="list"></u-empty><strong></strong>
  118. </view>
  119. <!-- 合同审批 -->
  120. <view v-if="index == 2">
  121. <view class="list-card" v-for="(item, index) in contractList"
  122. @click="jumpPage('2',item.id)">
  123. <view class="flex-center-between">
  124. <uni-tooltip :content="item.contractNo" placement="bottom">
  125. <view class="list-card__title">{{item.contractNo}}</view>
  126. </uni-tooltip>
  127. <view class="flex-center">
  128. <u-icon name="arrow-right" color="#000000" size="16"></u-icon>
  129. </view>
  130. </view>
  131. <u-divider class="divider"></u-divider>
  132. <view class="flex-center">
  133. <view class="list-card__text">合同名称:
  134. <text style="color: rgba(0, 0, 0, 0.85);">{{item.contractName}}</text>
  135. </view>
  136. </view>
  137. <view class="flex-center">
  138. <view class="list-card__text">申&ensp;报&ensp;人:
  139. <text style="color: rgba(0, 0, 0, 0.85);">{{item.salesmanName}}</text>
  140. </view>
  141. </view>
  142. <view class="flex-center">
  143. <view class="list-card__text">终端客户:
  144. <text style="color: rgba(0, 0, 0, 0.85);">{{item.endCustomersName}}</text>
  145. </view>
  146. </view>
  147. <view class="flex-center">
  148. <view class="list-card__text">代&ensp;理&ensp;商:
  149. <text style="color: rgba(0, 0, 0, 0.85);">{{item.agentName}}</text>
  150. </view>
  151. </view>
  152. <view class="flex-center">
  153. <view class="list-card__left">国&emsp;&emsp;家:
  154. <text style="color: rgba(0, 0, 0, 0.85);">{{item.countryName}}</text>
  155. </view>
  156. <view class="list-card__text">城&emsp;&emsp;市:
  157. <text style="color: rgba(0, 0, 0, 0.85);">{{item.city}}</text>
  158. </view>
  159. </view>
  160. <view class="flex-center">
  161. <view class="list-card__text">装船期限:
  162. <text style="color: rgba(0, 0, 0, 0.85);">{{item.shipmentDeadline}}</text>
  163. </view>
  164. </view>
  165. </view>
  166. <u-empty v-if="approveTypes[2].badge.value == 0" text="列表为空" mode="list"></u-empty>
  167. </view>
  168. </view>
  169. <!-- 弹窗 -->
  170. <view>
  171. <!-- 驳回弹窗 -->
  172. <uni-popup ref="popup" type="bottom" background-color="#fff" style="border-radius: 8rpx;">
  173. <view class="popup-content" >
  174. <view class="return_title">
  175. <text style="color: rgba(0, 0, 0, 0.85);">驳回原因:</text>
  176. </view>
  177. <view class="uni-textarea">
  178. <textarea v-model.trim="returnMsg" placeholder-style="color:#6B7688" placeholder="请输入驳回原因…" class="return_content" maxlength="200"/>
  179. </view>
  180. <view class="flex-center mt32">
  181. <view class="button-left flex-center-middle" @click="closePup()">
  182. <img class="button-icon" src="@/static/img/approve/reject.png" alt="" />
  183. <view class="reject-text">取消</view>
  184. </view>
  185. <view class="button-right flex-center-middle" @click="handleApprove('02')">
  186. <img class="button-icon" src="@/static/img/approve/pass.png" alt="" />
  187. <view class="pass-text">提交</view>
  188. </view>
  189. </view>
  190. </view>
  191. </uni-popup>
  192. <!-- 通过弹窗 -->
  193. <uni-popup ref="popupPass" background-color="#fff" borderRadius="10px 10px 10px 10px" style="width: 90%;">
  194. <view class="popup-content" style="padding: 20rpx 40rpx" >
  195. <view class="flex-center" style="justify-content: center;margin-bottom: 20rpx 0 30rpx">
  196. <view><img style="height: 100%;width: 300rpx;" src="@/static/img/approve/nomessage.png" alt="" /></view>
  197. </view>
  198. <view style="text-align: center;margin-bottom: 30rpx">
  199. <img class="button-icon" src="@/static/img/approve/warning.png" alt="" />
  200. <text style="color: rgba(0, 0, 0, 0.85);">确认无误并通过审核?</text>
  201. </view>
  202. <view class="flex-center mt32" style="margin-bottom: 30rpx;justify-content: center;">
  203. <view class="button-left-one flex-center-middle" @click="closePup()">
  204. <img class="button-icon" src="@/static/img/approve/reject.png" alt="" />
  205. <view class="reject-text">取消</view>
  206. </view>
  207. <view style="width: 50rpx;"></view>
  208. <view class="button-right-one flex-center-middle" @click="handleApprove('03')">
  209. <img class="button-icon" src="@/static/img/approve/pass.png" alt="" />
  210. <view class="pass-text">通过</view>
  211. </view>
  212. </view>
  213. </view>
  214. </uni-popup>
  215. </view>
  216. </view>
  217. </template>
  218. <script>
  219. import * as ApproveApi from '@/api/work/approve'
  220. import {
  221. stateFormat
  222. } from '@/utils/common.js'
  223. export default {
  224. data() {
  225. return {
  226. index: 0,
  227. approveTypes: [{
  228. index: 0,
  229. name: '项目报备',
  230. badge: {
  231. value: 0
  232. }
  233. }, {
  234. index: 1,
  235. name: '议价审批',
  236. badge: {
  237. value: 0
  238. }
  239. },
  240. {
  241. index: 2,
  242. name: '合同审批',
  243. badge: {
  244. value: 0
  245. }
  246. }
  247. ],
  248. projectPageParam: {
  249. pageNum: 1,
  250. pageSize: 5
  251. },
  252. bargainPageParam: {
  253. pageNum: 1,
  254. pageSize: 5
  255. },
  256. contractPageParam: {
  257. pageNum: 1,
  258. pageSize: 5
  259. },
  260. projectList: [],
  261. bargainList: [],
  262. contractList:[],
  263. projectLoadAll: false,
  264. bargainLoadAll: false,
  265. contractLoadAll: false,
  266. returnItem:{},
  267. returnMsg:"",
  268. currencyTypeList:[]
  269. }
  270. },
  271. onLoad() {
  272. this.getProjectList()
  273. this.getBargainList()
  274. this.getContractList()
  275. this.currencyParam();
  276. uni.getStorage({
  277. key: 'activePage',
  278. success: function (res) {
  279. if(res){
  280. this.index = res
  281. uni.removeStorage({
  282. key: 'activePage'
  283. });
  284. }
  285. }
  286. });
  287. },
  288. onReachBottom() {
  289. if (this.index == 0) {
  290. //项目报备
  291. if (!this.projectLoadAll) {
  292. this.projectPageParam.pageNum++
  293. this.getProjectListPage()
  294. }
  295. }
  296. if (this.index == 1) {
  297. //议价审批
  298. if (!this.bargainLoadAll) {
  299. this.bargainPageParam.pageNum++
  300. this.getBargainListPage()
  301. }
  302. }
  303. if (this.index == 2) {
  304. //合同审批
  305. if (!this.contractLoadAll) {
  306. this.contractPageParam.pageNum++
  307. this.getContractListPage()
  308. }
  309. }
  310. },
  311. methods: {
  312. jumpPage(type,id){
  313. debugger
  314. if(type== '1'){
  315. uni.navigateTo({url:'/pages/work/approve/bargainDtl?quotationId='+id})
  316. uni.setStorage({
  317. key: 'activePage',
  318. data: 1,
  319. success: function () {
  320. console.log('success');
  321. }
  322. });
  323. }
  324. if(type== '2'){
  325. uni.navigateTo({url:'/pages/work/approve/contractDtl?contractId='+id})
  326. uni.setStorage({
  327. key: 'activePage',
  328. data: 2,
  329. success: function () {
  330. console.log('success');
  331. }
  332. });
  333. }
  334. },
  335. currencyParam(){
  336. ApproveApi.getDicts("currency_type").then(res => {
  337. if (res.code == 200) {
  338. this.currencyTypeList = res.data;
  339. }
  340. })
  341. },
  342. onPullDownRefresh(){
  343. this.getProjectList()
  344. this.getBargainList()
  345. this.getContractList()
  346. setTimeout(() => {
  347. uni.stopPullDownRefresh()
  348. }, 1000);
  349. },
  350. closePup(){
  351. this.returnItem = {};
  352. this.returnMsg = "";
  353. this.$refs.popup.close()
  354. this.$refs.popupPass.close()
  355. },
  356. toggle(item,type) {
  357. this.returnItem = item
  358. // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
  359. if(type == 'ret'){
  360. this.$refs.popup.open()
  361. }else{
  362. this.$refs.popupPass.open()
  363. }
  364. },
  365. handleApprove(status){
  366. let that = this
  367. if(status == '02' && this.returnMsg == ""){
  368. uni.showToast({
  369. icon: 'error',
  370. mask: true,
  371. title: '请输入驳回原因..',
  372. })
  373. return
  374. }
  375. //设置实体
  376. const project = {
  377. projectId: this.returnItem.projectId,
  378. status: status,
  379. updateTime: this.returnItem.updateTime
  380. }
  381. if (status == '02') {
  382. project.refuseReason = this.returnMsg
  383. }
  384. ApproveApi.projectApprove(project).then(res => {
  385. if (res.code == 200) {
  386. this.closePup();
  387. setTimeout(() => {
  388. uni.showToast({
  389. icon: 'none',
  390. mask: true,
  391. title: '操作成功',
  392. })
  393. }, 500)
  394. this.getProjectList()
  395. }
  396. })
  397. },
  398. navigateTo(url) {
  399. uni.navigateTo({
  400. url: url
  401. })
  402. },
  403. stateFormat,
  404. tabChange(item) {
  405. this.index = item.index
  406. switch (item.index) {
  407. case 0:
  408. this.getProjectList();
  409. break;
  410. case 1:
  411. this.getBargainList()
  412. break;
  413. case 2:
  414. this.getContractList()
  415. break;
  416. }
  417. },
  418. //获取项目报备
  419. getProjectList() {
  420. this.projectLoadAll = false
  421. this.projectPageParam.pageNum = 1
  422. this.getProjectListPage()
  423. },
  424. getProjectListPage() {
  425. ApproveApi.projectList(this.projectPageParam).then(res => {
  426. if (res.code == 200) {
  427. // 没有下一页数据了
  428. if (res.rows.length < this.projectPageParam.pageSize) {
  429. this.projectLoadAll = true
  430. }
  431. if (this.projectPageParam.pageNum == 1) {
  432. this.projectList = res.rows
  433. } else {
  434. this.projectList = [...this.projectList, ...res.rows]
  435. }
  436. this.approveTypes[0].badge.value = res.total
  437. }
  438. })
  439. },
  440. //获议价审批
  441. getBargainList() {
  442. this.bargainLoadAll = false
  443. this.bargainPageParam.pageNum = 1
  444. this.getBargainListPage()
  445. },
  446. getBargainListPage() {
  447. ApproveApi.bargainList(this.bargainPageParam).then(res => {
  448. if (res.code == 200) {
  449. // 没有下一页数据了
  450. if (res.rows.length < this.bargainPageParam.pageSize) {
  451. this.bargainLoadAll = true
  452. }
  453. if (this.bargainPageParam.pageNum == 1) {
  454. this.bargainList = res.rows
  455. } else {
  456. this.bargainList = [...this.bargainList, ...res.rows]
  457. }
  458. this.approveTypes[1].badge.value = res.total
  459. }
  460. })
  461. },
  462. getContractList(){
  463. this.contractLoadAll = false
  464. this.contractPageParam.pageNum = 1
  465. this.getContractListPage()
  466. },
  467. getContractListPage(){
  468. ApproveApi.contractList(this.contractPageParam).then(res => {
  469. if (res.code == 200) {
  470. // 没有下一页数据了
  471. if (res.rows.length < this.contractPageParam.pageSize) {
  472. this.contractLoadAll = true
  473. }
  474. if (this.contractPageParam.pageNum == 1) {
  475. this.contractList = res.rows
  476. } else {
  477. this.contractList = [...this.contractList, ...res.rows]
  478. }
  479. this.approveTypes[2].badge.value = res.total
  480. }
  481. })
  482. },
  483. // 审批
  484. handleApproveOld(item, status) {
  485. const that = this
  486. uni.showModal({
  487. title: status == '02' ? '是否确认驳回' : '是否确认通过',
  488. editable: status == '02',
  489. placeholderText: status == '02' ? '请输入驳回原因' : null,
  490. cancelColor: '#6B7688',
  491. confirmColor: '#E60114',
  492. success: function(res) {
  493. if (res.confirm) {
  494. const project = {
  495. projectId: item.projectId,
  496. status: status,
  497. updateTime: item.updateTime
  498. }
  499. if (status == '02') {
  500. project.refuseReason = res.content
  501. }
  502. ApproveApi.projectApprove(project).then(res => {
  503. if (res.code == 200) {
  504. setTimeout(() => {
  505. uni.showToast({
  506. icon: 'none',
  507. mask: true,
  508. title: '操作成功',
  509. })
  510. }, 500)
  511. that.getProjectList()
  512. }
  513. })
  514. }
  515. }
  516. })
  517. }
  518. }
  519. }
  520. </script>
  521. <style>
  522. page {
  523. background-color: #EFF2F6;
  524. }
  525. </style>
  526. <style lang="scss" scoped>
  527. .list-card__text{
  528. }
  529. .list-card__left{
  530. width: 55%;
  531. font-size: 18px;
  532. color: #6B7688;
  533. line-height: 20px;
  534. }
  535. .txt-label {
  536. color: #3C485B;
  537. text-align: center;
  538. margin-bottom: 5px;
  539. }
  540. .txt-value-min {
  541. color: #000000;
  542. text-align: center;
  543. font-size: 16px;
  544. font-weight: 600;
  545. }
  546. .txt-value {
  547. color: #000000;
  548. text-align: center;
  549. font-size: 20px;
  550. font-weight: 600;
  551. }
  552. .txt-value2 {
  553. color: #E60012;
  554. text-align: center;
  555. font-size: 20px;
  556. font-weight: 600;
  557. }
  558. .list-card__price {
  559. width: 50%;
  560. }
  561. ::v-deep .u-badge--error {
  562. background-color: #E60114;
  563. }
  564. .flex-center {
  565. display: flex;
  566. align-items: center;
  567. margin-bottom: 5px;
  568. }
  569. .flex-center-between {
  570. display: flex;
  571. align-items: center;
  572. justify-content: space-between;
  573. margin-bottom: 10px;
  574. }
  575. .flex-center-middle {
  576. display: flex;
  577. align-items: center;
  578. justify-content: center;
  579. }
  580. .ml40 {
  581. margin-left: 40rpx
  582. }
  583. .mt32 {
  584. margin-top: 32rpx;
  585. }
  586. .list-content {
  587. padding: 20rpx 24rpx;
  588. .divider {
  589. margin: 32rpx 0;
  590. border: 2rpx solid #E9EEF3;
  591. }
  592. .list-card {
  593. background: #FFFFFF;
  594. border-radius: 8rpx;
  595. padding: 32rpx;
  596. margin-bottom: 20rpx;
  597. &__title {
  598. font-weight: 600;
  599. font-size: 34rpx;
  600. color: #000000;
  601. line-height: 48rpx;
  602. width: 480rpx;
  603. white-space: nowrap;
  604. overflow: hidden;
  605. text-overflow: ellipsis;
  606. }
  607. &__area {
  608. font-size: 32rpx;
  609. color: rgba(0, 0, 0, 0.85);
  610. line-height: 32rpx;
  611. }
  612. &__text {
  613. font-size: 32rpx;
  614. color: #6B7688;
  615. line-height: 40rpx;
  616. }
  617. .developer {
  618. color: rgba(0, 0, 0, 0.85);
  619. width: 490rpx;
  620. white-space: nowrap;
  621. overflow: hidden;
  622. text-overflow: ellipsis;
  623. }
  624. .button-icon {
  625. width: 28rpx;
  626. height: 28rpx;
  627. margin-right: 8rpx;
  628. }
  629. .button-left {
  630. width: 350rpx;
  631. height: 84rpx;
  632. background: #FFF8F8;
  633. border-radius: 200rpx 0rpx 0rpx 200rpx;
  634. box-shadow: 0px 2px 8px 0px #DFDFDF;
  635. .reject-text {
  636. font-size: 32rpx;
  637. color: #E60114;
  638. line-height: 44rpx;
  639. }
  640. }
  641. .button-right {
  642. width: 350rpx;
  643. height: 84rpx;
  644. background: linear-gradient(90deg, #DC0736 0%, #E60114 100%);
  645. box-shadow: 0px 2px 8px 0px #DFDFDF;
  646. border-radius: 0rpx 200rpx 200rpx 0rpx;
  647. .pass-text {
  648. font-size: 32rpx;
  649. color: #FFFFFF;
  650. line-height: 44rpx;
  651. }
  652. }
  653. }
  654. }
  655. .popup-content {
  656. padding: 20rpx 20rpx;
  657. .return_content{
  658. width: 92%;
  659. padding: 20rpx 28rpx;
  660. background: #EFF2F6;
  661. border-radius: 4px;
  662. }
  663. .return_title{
  664. font-family: PingFangSC, PingFang SC;
  665. font-weight: 600;
  666. font-size: 16px;
  667. color: rgba(0,0,0,0.85);
  668. margin-bottom: 10rpx;
  669. }
  670. .button-icon {
  671. width: 28rpx;
  672. height: 28rpx;
  673. margin-right: 8rpx;
  674. }
  675. .button-left {
  676. width: 350rpx;
  677. height: 84rpx;
  678. background: #FFF8F8;
  679. border-radius: 200rpx 0rpx 0rpx 200rpx;
  680. box-shadow: 0px 2px 8px 0px #DFDFDF;
  681. .reject-text {
  682. font-size: 32rpx;
  683. color: #E60114;
  684. line-height: 44rpx;
  685. }
  686. }
  687. .button-right {
  688. width: 350rpx;
  689. height: 84rpx;
  690. background: linear-gradient(90deg, #DC0736 0%, #E60114 100%);
  691. border-radius: 0rpx 200rpx 200rpx 0rpx;
  692. box-shadow: 0px 2px 8px 0px #DFDFDF;
  693. .pass-text {
  694. font-size: 32rpx;
  695. color: #FFFFFF;
  696. line-height: 44rpx;
  697. }
  698. }
  699. .button-left-one {
  700. width: 220rpx;
  701. height: 84rpx;
  702. background: #FFF8F8;
  703. border-radius: 200rpx;
  704. box-shadow: 0px 2px 8px 0px #DFDFDF;
  705. .reject-text {
  706. font-size: 32rpx;
  707. color: #E60114;
  708. line-height: 44rpx;
  709. }
  710. }
  711. .button-right-one {
  712. width: 220rpx;
  713. height: 84rpx;
  714. background: linear-gradient(90deg, #DC0736 0%, #E60114 100%);
  715. border-radius: 200rpx;
  716. box-shadow: 0px 2px 8px 0px #DFDFDF;
  717. .pass-text {
  718. font-size: 32rpx;
  719. color: #FFFFFF;
  720. line-height: 44rpx;
  721. }
  722. }
  723. }
  724. </style>