index.vue 23 KB

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