index.vue 23 KB

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