index.vue 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865
  1. <template>
  2. <view class="content">
  3. <view class="headbgbox flex2">
  4. <view class="searchbox">
  5. <u-icon name="search" bold="true" size="25" color="rgb(246,185,78)"></u-icon>
  6. <input type="text" v-model="keywords" placeholder="合同名称/编号、承兑人名称或出票人名称"
  7. placeholder-style="color:#BBBCBE" @blur="changeSeach"/>
  8. </view>
  9. <view class="screen" @click="show = true">
  10. <text>筛选</text>
  11. <view style="padding-left: 10rpx;">
  12. <u-icon name="arrow-down" color="#1F242A" size="14" bold="true"></u-icon>
  13. </view>
  14. </view>
  15. </view>
  16. <view class="cardlist">
  17. <view>
  18. <view class="lable " v-for="(item,index) in listall" :key="index">
  19. <view class="radiobox" v-if="editall">
  20. <radio :value="index" :checked="item.checked" color="#D8AB5A" @click="checkBox(item.id)" />
  21. </view>
  22. <view class="card" @click.stop="moveDetail(item.id)">
  23. <view class="passreview" v-if="item.statusText=='成功'">
  24. <image src="../../static/img/resuccess.png" mode="aspectFill"></image>
  25. </view>
  26. <view class="passreview" v-if="item.statusText=='待审核'">
  27. <image src="../../static/img/toreviewe.png" mode="aspectFill"></image>
  28. </view>
  29. <view class="passreview" v-if="item.statusText=='失败'">
  30. <image src="../../static/img/falis.png" mode="aspectFill"></image>
  31. </view>
  32. <view class="passreview" v-if="item.statusText=='已删除'">
  33. <image src="../../static/img/redel.png" mode="aspectFill"></image>
  34. </view>
  35. <view class="timebox" v-if="item.statusText=='成功'"><text>{{item.createdAt}}</text></view>
  36. <view class="timebox" v-if="item.statusText=='待审核'" :style="{'background-color':'#FFEBE5'}">
  37. <text>{{item.createdAt}}</text>
  38. </view>
  39. <view class="timebox" v-if="item.statusText=='失败'" :style="{'background-color':'#E7E7E7'}">
  40. <text>{{item.createdAt}}</text>
  41. </view>
  42. <view class="timebox" v-if="item.statusText=='已删除'" :style="{'background-color':'#F6F6F6'}">
  43. <text>{{item.createdAt}}</text>
  44. </view>
  45. <view class="innerbox">
  46. <view class="listicon">
  47. <image src="/static/img/listticon.png" mode="aspectFill"></image>
  48. </view>
  49. <text class="cardtitle hideone">{{item.name}}</text>
  50. </view>
  51. <view class="contractmsg flex5">
  52. <text>合同编号:{{item.contractNo}}</text>
  53. <text style="padding-top: 10rpx;">承兑人:{{item.acceptorName}}</text>
  54. <text style="padding-top: 10rpx;" v-if="state==0">供应商:{{item.supplierName}}</text>
  55. </view>
  56. <view class="flex6 contadra">
  57. <text>出票人:{{item.drawersName}}</text>
  58. <text>汇票状态:{{item.contractStatusText}}</text>
  59. </view>
  60. </view>
  61. </view>
  62. </view>
  63. </view>
  64. <view class="nomore" v-if="listall.length==0">
  65. <text>暂无数据</text>
  66. </view>
  67. <view class="totalmanage " v-if="listall.length>0">
  68. <text style="color:#68625B;font-size: 28rpx;">合计:{{total}}份</text>
  69. <view class=" maboxtitls" @click="editall=true">
  70. <view class="managebox">
  71. <image src="/static/img/manage.png" mode="aspectFit"></image>
  72. </view>
  73. <text style="padding-left: 15rpx;">管理</text>
  74. </view>
  75. </view>
  76. <view class="safebt"></view>
  77. <!-- <view class="plusicon" @click="addContract" v-if="state==1"></view> -->
  78. <u-popup :show="show" @close="close" @open="open">
  79. <view class="popscreen">
  80. <view class="checklist" v-for="(item,index) in ctrstatus" :key="index">
  81. <view class="alllistbtn">
  82. <text class="btntitle" style="">{{item.title}}</text>
  83. <view class="yunbtn">
  84. <view class="btnchoose" v-for="(i,k) in item.list" :key="k" @click="choose(item.title,k)"
  85. :class="[contract_status == k?'active':'btnchoose']">
  86. <text>{{i.name}}</text>
  87. </view>
  88. </view>
  89. </view>
  90. </view>
  91. <view class="checklist" v-for="(item,index) in billstatus" :key="index">
  92. <view class="alllistbtn">
  93. <text class="btntitle" style="">{{item.title}}</text>
  94. <view class="yunbtn">
  95. <view class="btnchoose" v-for="(i,k) in item.list" :key="k" @click="choose(item.title,k)"
  96. :class="[draft_status == k?'active':'btnchoose']">
  97. <text>{{i.name}}</text>
  98. </view>
  99. </view>
  100. </view>
  101. </view>
  102. <view class="checklist" v-for="(item,index) in upstauts" :key="index">
  103. <view class="alllistbtn">
  104. <text class="btntitle" style="">{{item.title}}</text>
  105. <view class="yunbtn">
  106. <view class="btnchoose" v-for="(i,k) in item.list" :key="k" @click="choose(item.title,k)"
  107. :class="[time_status == k?'active':'btnchoose']">
  108. <text>{{i.name}}</text>
  109. </view>
  110. </view>
  111. </view>
  112. </view>
  113. <view class="flex4 custom" v-if="time_status==3">
  114. <text style="font-size: 26rpx;font-weight: 600;">自定义</text>
  115. <view class="custombox flex3">
  116. <view class="creatdata flex6">
  117. <text>开始日期</text>
  118. <view class="flex4 chodatain" @click="openDatePicker(1)">
  119. <text>{{creatTime}}</text>
  120. <u-icon name="arrow-right" color="#BEBDBB" bold="true" size="12"></u-icon>
  121. </view>
  122. </view>
  123. <view class="creatdata flex6">
  124. <text>结束日期</text>
  125. <view class="flex4 chodatain" @click="openDatePicker(2)">
  126. <text>{{endTime}}</text>
  127. <u-icon name="arrow-right" color="#BEBDBB" bold="true" size="12"></u-icon>
  128. </view>
  129. </view>
  130. </view>
  131. </view>
  132. <view class="searchbox" style="margin: 0 20px;margin-bottom: 30px;" v-if="state==0">
  133. <u-icon name="search" bold="true" size="25" color="rgb(246,185,78)"></u-icon>
  134. <input type="text" v-model="supkeywords" placeholder="请输入供应商名称" placeholder-style="color:#BBBCBE" />
  135. </view>
  136. <view class="aszs flex6">
  137. <view class="againbtn" @click="restoreALL"><text>重置</text></view>
  138. <view class="againbtn" style="color: #D8AB5A;border: 1rpx solid #D8AB5A;" @click="makeSureSelect">
  139. <text>确认</text>
  140. </view>
  141. </view>
  142. </view>
  143. </u-popup>
  144. <u-datetime-picker :show="dateshow" v-model="value1" mode="date" @confirm="chooseDate" @cancel="closeDate">
  145. </u-datetime-picker>
  146. <!-- 底部删除 -->
  147. <u-popup :show="editall&&state==1" @close="closeEidt" @open="openEidt" :overlay="false">
  148. <view class="editbox">
  149. <view class="chooseall flex6">
  150. <view class="leftchoose ">
  151. <radio :checked="quan" @click="makeSureAll" color="#D8AB5A"></radio>
  152. <text>全选</text>
  153. </view>
  154. <view class="surebtn" @click="selectDown">
  155. 完成
  156. </view>
  157. </view>
  158. <view class="choosebtn">
  159. <view class="delbtn flex1" @click="dele">删除</view>
  160. <view class="restorebtn flex1" @click="restore">复原</view>
  161. </view>
  162. </view>
  163. </u-popup>
  164. <u-popup :show="editall&&state==0" @close="closeEidt" @open="openEidt" :overlay="false">
  165. <view class="editbox">
  166. <view class="chooseall flex6">
  167. <view class="leftchoose ">
  168. <radio :checked="quan" @click="makeSureAll" color="#D8AB5A"></radio>
  169. <text>全选</text>
  170. </view>
  171. <view class="anniu">
  172. <text class="usa" @click="dele">删除</text>
  173. <text class="usa" @click="restore">复原</text>
  174. <text @click="selectDown" class="usa">完成</text>
  175. </view>
  176. </view>
  177. <view class="choosebtn">
  178. <view class="delbtn flex1" @click="examineFail">审核失败</view>
  179. <view class="restorebtn flex1" @click="examineSuccess">审核成功</view>
  180. </view>
  181. </view>
  182. </u-popup>
  183. <tabar></tabar>
  184. </view>
  185. </template>
  186. <script>
  187. let that
  188. import tabar from "@/componet/tabbar/tabbar.vue"
  189. export default {
  190. components: {
  191. tabar
  192. },
  193. data() {
  194. return {
  195. keywords: '',
  196. supkeywords:'',
  197. state: 0,
  198. show: false,
  199. editall: false,
  200. dateshow: false,
  201. quan: false,
  202. creatTime: '',
  203. endTime: '',
  204. value1: Number(new Date()),
  205. intime: 1,
  206. contract_status: '',
  207. draft_status: '',
  208. time_status: '',
  209. listall: [],
  210. pageIndex: 1,
  211. total: '',
  212. nomore: false,
  213. shai: false,
  214. startTime:'',
  215. ctrstatus: [{
  216. title: "合同状态",
  217. list: [{
  218. name: "全部",
  219. },
  220. {
  221. name: "待审核",
  222. },
  223. {
  224. name: "成功",
  225. },
  226. {
  227. name: "失败",
  228. },
  229. {
  230. name: "已删除",
  231. },
  232. ]
  233. }],
  234. billstatus: [{
  235. title: "汇票状态",
  236. list: [{
  237. name: "全部",
  238. },
  239. {
  240. name: "待审核",
  241. },
  242. {
  243. name: "成功",
  244. },
  245. {
  246. name: "失败",
  247. },
  248. {
  249. name: "已删除",
  250. },
  251. ]
  252. }],
  253. upstauts: [{
  254. title: "上传日期",
  255. list: [{
  256. name: "全部",
  257. },
  258. {
  259. name: "今日",
  260. },
  261. {
  262. name: "昨日",
  263. },
  264. {
  265. name: "自定义",
  266. },
  267. ]
  268. }],
  269. }
  270. },
  271. onLoad() {
  272. that = this
  273. this.state = this.$store.state.admin
  274. // this.init()
  275. },
  276. onShow() {
  277. that.pageIndex = 1
  278. that.nomore = false
  279. that.listall = []
  280. this.init()
  281. },
  282. // 下拉到底部后加载新数据
  283. onReachBottom() {
  284. //判断下一页是否存在数据,不存在将显示暂无数据等提示语
  285. if (this.listall.length >= this.pageIndex * 10) {
  286. this.pageIndex++; //页数加一
  287. this.init(); //回调接口
  288. } else {
  289. this.nomore = true
  290. }
  291. },
  292. methods: {
  293. init() {
  294. uni.showLoading()
  295. uni.$u.http.post('/api/Contract/search', {
  296. pageIndex: this.pageIndex,
  297. pageSize: 10,
  298. startTime: this.creatTime,
  299. endTime: this.endTime,
  300. name: this.keywords,
  301. contractStatus: this.contract_status,
  302. draftStatus: this.draft_status,
  303. supplierName:this.supkeywords
  304. }, {
  305. custom: {
  306. auth: true
  307. }
  308. }).then((res) => {
  309. uni.hideLoading()
  310. this.total = res.total
  311. let list = res.result
  312. if (list.length > 0) {
  313. list.forEach(item => {
  314. item.checked = false
  315. this.listall.push(item)
  316. })
  317. if (list.length < 10) {
  318. that.nomore = true
  319. }
  320. }
  321. }).catch((err) => {
  322. uni.hideLoading()
  323. console.log(err)
  324. })
  325. },
  326. changeSeach(e){
  327. this.keywords=e.detail.value
  328. that.pageIndex = 1
  329. that.nomore = false
  330. that.listall = []
  331. this.init()
  332. },
  333. examineFail() {
  334. let ids = []
  335. that.listall.forEach(item => {
  336. if (item.checked) {
  337. ids.push(item.id)
  338. }
  339. })
  340. if (ids.length == 0) {
  341. this.$toast("请选择合同")
  342. return
  343. }
  344. uni.showModal({
  345. title: '提示',
  346. content: '是否批量审核失败?',
  347. success: function(res) {
  348. if (res.confirm) {
  349. uni.showLoading()
  350. uni.$u.http.post('/api/Contract/manage', {
  351. ids: ids,
  352. operateType: 4
  353. }, {
  354. custom: {
  355. auth: true
  356. }
  357. }).then((res) => {
  358. uni.hideLoading()
  359. that.editall = false
  360. that.quan = false
  361. that.$toast("操作成功")
  362. setTimeout(() => {
  363. that.pageIndex = 1
  364. that.nomore = false
  365. that.listall = []
  366. that.init()
  367. }, 500)
  368. }).catch((err) => {
  369. uni.hideLoading()
  370. that.$toast(err.msg)
  371. })
  372. } else if (res.cancel) {
  373. console.log('用户点击取消');
  374. }
  375. }
  376. });
  377. },
  378. dele() {
  379. let ids = []
  380. that.listall.forEach(item => {
  381. if (item.checked) {
  382. ids.push(item.id)
  383. }
  384. })
  385. if (ids.length == 0) {
  386. that.$toast("请选择合同")
  387. return
  388. }
  389. uni.showModal({
  390. title: '提示',
  391. content: "是否批量删除?",
  392. success: function(res) {
  393. if (res.confirm) {
  394. uni.showLoading()
  395. uni.$u.http.post('/api/Contract/manage', {
  396. ids: ids,
  397. operateType: 1
  398. }, {
  399. custom: {
  400. auth: true
  401. }
  402. }).then((res) => {
  403. uni.hideLoading()
  404. that.editall = false
  405. that.quan = false
  406. that.$toast("操作成功")
  407. setTimeout(() => {
  408. that.pageIndex = 1
  409. that.nomore = false
  410. that.listall = []
  411. that.init()
  412. }, 500)
  413. }).catch((err) => {
  414. uni.hideLoading()
  415. that.$toast(err.msg)
  416. })
  417. } else if (res.cancel) {
  418. }
  419. }
  420. })
  421. },
  422. restore() {
  423. let ids = []
  424. that.listall.forEach(item => {
  425. if (item.checked) {
  426. ids.push(item.id)
  427. }
  428. })
  429. if (ids.length == 0) {
  430. that.$toast("请选择合同")
  431. return
  432. }
  433. uni.showModal({
  434. title: '提示',
  435. content: "是否批量复原?",
  436. success: function(res) {
  437. if (res.confirm) {
  438. uni.showLoading()
  439. uni.$u.http.post('/api/Contract/manage', {
  440. ids: ids,
  441. operateType: 2
  442. }, {
  443. custom: {
  444. auth: true
  445. }
  446. }).then((res) => {
  447. uni.hideLoading()
  448. that.editall = false
  449. that.quan = false
  450. that.$toast("操作成功")
  451. setTimeout(() => {
  452. that.pageIndex = 1
  453. that.nomore = false
  454. that.listall = []
  455. that.init()
  456. }, 500)
  457. }).catch((err) => {
  458. uni.hideLoading()
  459. that.$toast(err.msg)
  460. })
  461. } else if (res.cancel) {
  462. }
  463. }
  464. })
  465. },
  466. examineSuccess() {
  467. let ids = []
  468. that.listall.forEach(item => {
  469. if (item.checked) {
  470. ids.push(item.id)
  471. }
  472. })
  473. if (ids.length == 0) {
  474. that.$toast("请选择合同")
  475. return
  476. }
  477. uni.showModal({
  478. title: '提示',
  479. content: "是否批量审核成功?",
  480. success: function(res) {
  481. if (res.confirm) {
  482. uni.showLoading()
  483. uni.$u.http.post('/api/Contract/manage', {
  484. ids: ids,
  485. operateType: 3
  486. }, {
  487. custom: {
  488. auth: true
  489. }
  490. }).then((res) => {
  491. uni.hideLoading()
  492. that.editall = false
  493. that.quan = false
  494. that.$toast("操作成功")
  495. setTimeout(() => {
  496. that.pageIndex = 1
  497. that.nomore = false
  498. that.listall = []
  499. that.init()
  500. }, 500)
  501. }).catch((err) => {
  502. uni.hideLoading()
  503. that.$toast(err.msg)
  504. })
  505. } else if (res.cancel) {
  506. }
  507. }
  508. })
  509. },
  510. checkBox(id) {
  511. let list = this.listall
  512. list.forEach(item => {
  513. if (item.id == id) {
  514. item.checked = !item.checked
  515. }
  516. })
  517. this.listall = JSON.parse(JSON.stringify(list))
  518. },
  519. allSelect() {
  520. let list = this.listall
  521. if (this.quan) {
  522. list.forEach(item => {
  523. item.checked = true
  524. })
  525. } else {
  526. list.forEach(item => {
  527. item.checked = false
  528. })
  529. }
  530. this.listall = JSON.parse(JSON.stringify(list))
  531. console.log(this.listall)
  532. },
  533. addContract() {
  534. uni.navigateTo({
  535. url: '/pages/alldeatil/upcontract'
  536. })
  537. },
  538. moveDetail(id) {
  539. uni.navigateTo({
  540. url: "/pages/alldeatil/contractdetail?id=" + id
  541. })
  542. },
  543. makeSureAll() {
  544. this.quan = !this.quan
  545. this.allSelect()
  546. },
  547. selectDown() {
  548. this.editall = false
  549. this.quan = false
  550. let list = this.listall
  551. list.forEach(item => {
  552. item.checked = false
  553. })
  554. },
  555. closeEidt() {
  556. this.editall = false
  557. },
  558. openEidt() {
  559. this.editall = true
  560. },
  561. chooseDate(e) {
  562. this.dateshow = false
  563. const timeFormat = uni.$u.timeFormat
  564. if (this.intime == 1) {
  565. this.creatTime = timeFormat(e.value, 'yyyy-mm-dd')
  566. } else {
  567. this.endTime = timeFormat(e.value, 'yyyy-mm-dd')
  568. }
  569. },
  570. openDatePicker(e) {
  571. console.log(e)
  572. if (e == 1) {
  573. this.intime = 1
  574. } else {
  575. this.intime = 2
  576. }
  577. this.dateshow = true
  578. },
  579. closeDate() {
  580. this.dateshow = false
  581. },
  582. open() {
  583. // console.log('open');
  584. },
  585. close() {
  586. this.show = false
  587. // console.log('close');
  588. },
  589. makeSureSelect() {
  590. this.shai = true
  591. that.pageIndex = 1
  592. that.nomore = false
  593. that.listall = []
  594. this.init()
  595. this.close()
  596. },
  597. restoreALL() {
  598. this.creatTime = ''
  599. this.endTime = ''
  600. this.time_status = 0
  601. this.contract_status = 0
  602. this.draft_status = 0
  603. that.pageIndex = 1
  604. that.nomore = false
  605. that.listall = []
  606. this.init()
  607. },
  608. choose(title, k) {
  609. if (title == "合同状态") {
  610. this.contract_status = k
  611. } else if (title == "汇票状态") {
  612. this.draft_status = k
  613. } else if (title == "上传日期") {
  614. this.time_status = k
  615. if (k == 0) {
  616. this.creatTime = ''
  617. } else if (k == 1) {
  618. let myDate = new Date()
  619. let yy = String(myDate.getFullYear())
  620. let mm = String(myDate.getMonth() + 1 < 10 ? '0' + (myDate.getMonth() + 1) : myDate.getMonth() + 1)
  621. let dd = String(myDate.getDate() < 10 ? '0' + myDate.getDate() : myDate.getDate())
  622. let nowDate = yy + '-' + mm + '-' + dd
  623. this.creatTime = nowDate
  624. } else if (k == 2) {
  625. let myDate = new Date()
  626. let yy = String(myDate.getFullYear())
  627. let mm = String(myDate.getMonth() + 1 < 10 ? '0' + (myDate.getMonth() + 1) : myDate.getMonth() + 1)
  628. let dd = String(myDate.getDate() - 1 < 10 ? '0' + myDate.getDate() - 1 : myDate.getDate() - 1)
  629. let nowDate = yy + '-' + mm + '-' + dd
  630. this.creatTime = nowDate
  631. }
  632. }
  633. }
  634. }
  635. }
  636. </script>
  637. <style lang="scss">
  638. page {
  639. background-color: #F6F6F6 !important;
  640. }
  641. .headbgbox {
  642. background-color: #fff;
  643. padding: 23rpx 31rpx;
  644. box-sizing: border-box;
  645. position: fixed;
  646. top: 0;
  647. z-index: 999;
  648. width: 100%;
  649. .screen {
  650. display: flex;
  651. justify-content: center;
  652. align-items: center;
  653. padding-left: 30rpx;
  654. }
  655. }
  656. .searchbox {
  657. padding-left: 30rpx;
  658. box-sizing: border-box;
  659. background-color: #ECECEC;
  660. border-radius: 38rpx;
  661. // width: 688rpx;
  662. flex: 1;
  663. height: 75rpx;
  664. margin: 0 auto;
  665. display: flex;
  666. align-items: center;
  667. // justify-content: center;
  668. // margin-top: -10rpx;
  669. input {
  670. width: 240px;
  671. overflow: hidden;
  672. text-overflow: ellipsis;
  673. white-space: nowrap;
  674. }
  675. }
  676. .cardlist {
  677. display: flex;
  678. justify-content: center;
  679. flex-direction: column;
  680. // align-items: center;
  681. margin: 0 auto;
  682. margin-top: 120rpx;
  683. }
  684. .lable {
  685. display: flex;
  686. margin: 0 auto;
  687. margin-top: 20rpx;
  688. .radiobox {
  689. margin-right: -10rpx;
  690. margin-left: 30rpx;
  691. }
  692. }
  693. .card {
  694. flex: 1;
  695. overflow: hidden;
  696. margin: 0 30rpx;
  697. // width: 690rpx;
  698. // height: 315rpx;
  699. border-radius: 20rpx;
  700. background-color: #fff;
  701. position: relative;
  702. box-shadow: 0px 8rpx 20rpx 1rpx rgba(31, 36, 42, 0.08);
  703. .passreview {
  704. position: absolute;
  705. right: 30rpx;
  706. top: 30rpx;
  707. width: 141rpx;
  708. height: 123.5rpx;
  709. image {
  710. width: 100%;
  711. height: 100%;
  712. }
  713. }
  714. .contadra {
  715. font-size: 24rpx;
  716. color: #BEBDBB;
  717. padding: 20rpx 0;
  718. margin: 0 30rpx;
  719. border-top: 1rpx solid #E8E8E8;
  720. }
  721. .innerbox {
  722. padding: 49rpx 0rpx;
  723. padding-bottom: 30rpx;
  724. margin: 0 30rpx;
  725. display: flex;
  726. align-items: center;
  727. border-bottom: 1rpx solid #E8E8E8;
  728. .listicon {
  729. width: 32rpx;
  730. height: 36rpx;
  731. image {
  732. width: 100%;
  733. height: 100%;
  734. }
  735. }
  736. }
  737. .cardtitle {
  738. display: block;
  739. max-width: 390rpx;
  740. font-size: 32rpx;
  741. font-weight: 600;
  742. padding-left: 10rpx;
  743. }
  744. .timebox {
  745. background-color: #FFF8E5;
  746. width: 100%;
  747. padding: 0 30rpx;
  748. box-sizing: border-box;
  749. color: #D8AB5A;
  750. font-size: 28rpx;
  751. height: 60rpx;
  752. line-height: 60rpx;
  753. }
  754. .contractmsg {
  755. padding: 30rpx;
  756. box-sizing: border-box;
  757. color: #68625B;
  758. font-size: 26rpx;
  759. // border-bottom: 1rpx solid #E8E8E8;
  760. }
  761. }
  762. .totalmanage {
  763. margin-top: 90rpx;
  764. margin-bottom: 100rpx;
  765. // position: fixed;
  766. // bottom: 0;
  767. display: flex;
  768. justify-content: space-between;
  769. align-items: center;
  770. width: 100%;
  771. padding: 0 30rpx;
  772. box-sizing: border-box;
  773. .managebox {
  774. width: 23.8rpx;
  775. height: 29.7rpx;
  776. image {
  777. width: 100%;
  778. height: 100%;
  779. }
  780. }
  781. .maboxtitls {
  782. width: 160rpx;
  783. height: 60rpx;
  784. display: flex;
  785. align-items: center;
  786. justify-content: center;
  787. border-radius: 30rpx;
  788. background-color: #D9D9D9;
  789. // line-height: 60rpx;
  790. font-size: 28rpx;
  791. box-sizing: border-box;
  792. // align-items: center;
  793. }
  794. }
  795. </style>