freight_settlement_approval.vue 28 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246
  1. <template>
  2. <view class="container">
  3. <view class="topInfo">
  4. <view class="topInfo-item">
  5. <view class="flex info">
  6. <view class="logo">
  7. <image src="../../../static/img/reject.png" mode="" v-if="list[0].approveStatus == '已驳回'"
  8. style="height: 40rpx;"></image><!-- 驳回 -->
  9. <image src="../../../static/img/tongguo.png" mode="" v-if="list[0].approveStatus == '已通过'"
  10. style="height: 40rpx;"></image><!-- 通过 -->
  11. <image src="../../../static/img/daishenhe.png" mode=""
  12. v-if="list[0].approveStatus == '待决策人审核'|| list[0].approveStatus == '待财务审核'"
  13. style="height: 40rpx;"></image><!-- 待审核 -->
  14. </view>
  15. <view class="infoText">{{list[0].approveStatus?list[0].approveStatus:list[0].status}}</view>
  16. </view>
  17. <view class="infoData">{{list[0].updateDate}}</view>
  18. </view>
  19. </view>
  20. <view class="content">
  21. <view class="top">
  22. <view v-if='list[0].contractFlag=="1"'>合同编号</view>
  23. <view v-if='list[0].contractFlag=="0"'>移库编号</view>
  24. <view>{{list[0].contractNo}}</view>
  25. </view>
  26. <view class="person-info">
  27. <view v-if='list[0].contractFlag=="1"' class="top1" style="display: flex;">
  28. <view>客户</view>
  29. <view>{{list[0].customer}}</view>
  30. </view>
  31. <view class="top1">
  32. <view>发货地址</view>
  33. <view class="top_info">{{list[0].send ? list[0].send : "暂无发货地址"}}</view>
  34. </view>
  35. <view class="top1">
  36. <view>收货地址</view>
  37. <view class="top_info">{{list[0].receive ? list[0].receive : "暂无收货地址"}}</view>
  38. </view>
  39. </view>
  40. <view class="car-container">
  41. <view v-for="item in list" class="car-container-item">
  42. <view class="car-num title" v-if="item.tranTypeKey== '1'">{{item.carNo}} ({{item.tranCarNo}})</view>
  43. <view class="car-num title" v-if="item.tranTypeKey== '2'">车厢号{{item.boxNo}}</view>
  44. <view class="car-num title" v-if="item.tranTypeKey== '3'&&item.shipType== '散船'">仓位号{{item.boxNo}}
  45. </view>
  46. <view class="car-num title" v-if="item.tranTypeKey== '3'&&item.shipType== '集装箱'">箱号{{item.boxNo}}
  47. </view>
  48. <view class="car-type-item">
  49. <view class="left">装</view>
  50. <view class="textInfo">{{item.loadingWeight}}吨</view>
  51. </view>
  52. <view class="car-type-item">
  53. <view class="center">卸</view>
  54. <view class="textInfo">{{item.unloadingWeight}}吨</view>
  55. </view>
  56. <view class="car-type-item">
  57. <view class="right">结</view>
  58. <view class="textInfo">{{item.settlementWeight}}吨</view>
  59. </view>
  60. <view class="car-type-item">
  61. <view class="left">单</view>
  62. <view class="textInfo">{{item.transportPrice}}元/吨</view>
  63. </view>
  64. <view class="car-type-item">
  65. <view v-if='item.deductionAmount>=0' class="center">扣</view>
  66. <view v-if='item.deductionAmount<0' class="center">加</view>
  67. <view v-if='item.deductionAmount<0' class="textInfo">{{-item.deductionAmount}}元</view>
  68. <view v-if='item.deductionAmount>=0' class="textInfo">{{item.deductionAmount}}元</view>
  69. </view>
  70. <view class="car-type-item">
  71. <view class="right">服</view>
  72. <view class="textInfo">{{item.serviceCharge}}元</view>
  73. </view>
  74. <view class="car-type-item">
  75. <view class="left">税</view>
  76. <view class="textInfo">{{item.taxPoint}}元</view>
  77. </view>
  78. <view class="car-type-item">
  79. <view class="center">实</view>
  80. <view class="textInfo">{{item.amountActuallyPaid}}元</view>
  81. </view>
  82. <view class="car-type-item">
  83. <view class="right">合</view>
  84. <view class="textInfo">{{item.totalPayable}}元</view>
  85. </view>
  86. </view>
  87. </view>
  88. </view>
  89. <u-form ref="uForm">
  90. <view class="form_top">流程</view>
  91. <view class="content2">
  92. <view v-for="(item,index) in auditList" :key='index' class="audit">
  93. <view class="row">
  94. <view class="row-left">
  95. <view class="item1">
  96. <view class="item-content">{{item.operatorTitle}}</view>
  97. <view v-if="item.status=='success'" class='status success'>
  98. <u-icon name="checkmark" color="#2979ff" size="24"></u-icon>
  99. </view>
  100. <view v-if="item.status=='error'" class='status error'>
  101. <u-icon name="close" color="rgb(245, 108, 108)" size="24"></u-icon>
  102. </view>
  103. <view v-if="item.status=='question'" class='status question'>
  104. <u-icon name="question" color="#f9ae3d" size="24"></u-icon>
  105. </view>
  106. </view>
  107. </view>
  108. <view class="row-right">
  109. <view class="right-item">
  110. <view class="item2">
  111. <view class="name">{{item.desc}}
  112. </view>
  113. <!-- <view class='time'>{{item.updateDate}}</view> -->
  114. <view v-if="item.status=='success'" class="status success">
  115. {{item.commonStaffs1?item.staffscontent:item.operatorName}}<text
  116. v-if='!item.commonStaffs1&&index!=0'>已审核</text></view>
  117. <view v-if="item.status=='error'" class="status error">
  118. {{item.commonStaffs1?item.staffscontent:item.operatorName}}<text
  119. v-if='!item.commonStaffs1'>{{item.workflowHistoricTasks ? "已驳回":''}}</text>
  120. </view>
  121. <view v-if="item.status=='question'" class="status question">
  122. {{item.commonStaffs1?item.staffscontent:''}}<text
  123. v-if='!item.commonStaffs1'>未审核</text></view>
  124. <!-- <view class="status success">吕波(已审核)</view> -->
  125. </view>
  126. <view v-if='index==0||item.workflowHistoricTasks&&item.workflowHistoricTasks.length>0'
  127. class='time'>
  128. {{item.updateDate}}
  129. </view>
  130. </view>
  131. <view v-if='item.auditMind' class="right-content">
  132. {{item.auditMind}}
  133. </view>
  134. </view>
  135. <view v-if='item.commonStaffs1' class="right">
  136. <u-icon @click='showcontent(item)' :name="item.showflow?'arrow-up':'arrow-down'" size="28">
  137. </u-icon>
  138. </view>
  139. </view>
  140. <view v-if='item.showflow' style='padding:10px 0 0 50px;'>
  141. <view class='row2'>
  142. <view v-for='item1 in item.commonStaffs1' style='margin:5px;text-align:center;'>
  143. <view class="item-content">
  144. <u-icon v-if='item1.status' name="checkmark" color="#fff" size="14"></u-icon>
  145. <u-icon v-if='!item1.status' name="question" color="#f9ae3d" size="14"></u-icon>
  146. </view>
  147. <view class="name">{{item1.staffName}}</view>
  148. </view>
  149. </view>
  150. </view>
  151. <view class="row-line" v-if="index!= auditList.length - 1"></view>
  152. </view>
  153. </view>
  154. </u-form>
  155. <view v-if='show' class="shade">
  156. <view class="wrap">
  157. <view class="alert-top">
  158. <view class="title">
  159. {{title}}
  160. </view>
  161. <u-icon name="close" class="close" color="#8890B1" @click="close()"></u-icon>
  162. </view>
  163. <view class="u-textarea-style">
  164. <view class="right-bottom">
  165. {{auditMind.length}}/100个字
  166. </view>
  167. <u-input class="" v-model='auditMind' placeholder="请在此输入审核意见" type="textarea" height="414"
  168. maxlength="100" />
  169. </view>
  170. <view @click='close()' class="cancel">取消</view>
  171. <view @click='passSubmit()' class="confirm">确定</view>
  172. </view>
  173. </view>
  174. <u-toast ref="uToast" />
  175. <view style='padding:10px;' class='flex bottom-btn'>
  176. <u-button v-if='isSHowBtn' @click='reject' type="error" class="btn1" hover-class='none'>驳回</u-button>
  177. <u-button v-if='isSHowBtn' @click='pass' type="success" class="btn2">通过</u-button>
  178. </view>
  179. </view>
  180. </template>
  181. <script>
  182. import helper from '@/common/helper.js';
  183. export default {
  184. data() {
  185. return {
  186. isSHowBtn: true,
  187. currentPage: 1,
  188. pageSize: 10,
  189. list: {
  190. approveStatus: "",
  191. },
  192. title: '',
  193. show: false,
  194. height: 200,
  195. auditList:[],
  196. auditMind: '',
  197. autoHeight: true,
  198. border: false,
  199. everyCheck: '',
  200. customerName: "", //客户
  201. shippingAddress: "", //发货地址
  202. receivingAddress: "", //收货地址
  203. }
  204. },
  205. onBackPress(e) {
  206. if (this.everyCheck) {
  207. uni.navigateTo({
  208. url: "/pages/task/my_task"
  209. })
  210. return true;
  211. }
  212. },
  213. onLoad(options) {
  214. this.id = options.id
  215. this.everyCheck = uni.getStorageSync("everyTask")
  216. this.isSHowBtn = options.isShowbtn
  217. this.getList()
  218. },
  219. methods: {
  220. getList() {
  221. this.$api.doRequest('get', '/tranSettlementReport/getTranSettlementReport', {
  222. batchId: this.id
  223. }).then(res => {
  224. if (res.data.code == 200) {
  225. this.list = res.data.data
  226. // console.log(this.list, 124)
  227. // 查流程
  228. this.$api.doRequest('get', '/workflow/query/workflowDefinitions', {
  229. businessCode: 'TRANSPORTATION-SETTLEMENT-REPORT',
  230. tmpCompId: uni.getStorageSync('pcUserInfo').compId
  231. }).then(res1 => {
  232. this.$api.doRequest('get', '/commonUser/getHis', {
  233. workflowId: res1.data.data[0].id,
  234. businessKey: this.id
  235. }).then(response => {
  236. uni.hideLoading()
  237. for (let i = 0; i < response.data.data.length; i++) {
  238. this.$set(response.data.data[i], 'status', 'question')
  239. console.log(response.data.data[i].workflowHistoricTasks, i)
  240. if (response.data.data[i].commonStaffs) {
  241. response.data.data[i].showflow = false
  242. response.data.data[i].operatorTitle = response.data.data[i]
  243. .desc.substring(0, 2)
  244. response.data.data[i].operatorName = response.data.data[i]
  245. .desc
  246. response.data.data[i].staffscontent = '共' + response.data
  247. .data[i].commonStaffs.length + '人,当前审核' + response.data
  248. .data[i].workflowHistoricTasks.length + '人'
  249. if (response.data.data[i].workflowHistoricTasks && response
  250. .data.data[i].workflowHistoricTasks.length > 0) {
  251. if (response.data.data[i].workflowHistoricTasks
  252. .length != response.data.data[i].commonStaffs
  253. .length) {
  254. // response.data.data[i].status='question'
  255. this.$set(response.data.data[i], 'status',
  256. 'question')
  257. } else {
  258. this.$set(response.data.data[i], 'status',
  259. 'success')
  260. // response.data.data[i].status='success'
  261. }
  262. response.data.data[i].workflowlen = response.data.data[
  263. i].workflowHistoricTasks.length
  264. var workflowdata = response.data.data[i]
  265. .workflowHistoricTasks
  266. var staffsdata = response.data.data[i].commonStaffs
  267. for (let q = 0; q < staffsdata.length; q++) {
  268. staffsdata[q].status = false
  269. staffsdata[q].staffTitle = staffsdata[q].staffName
  270. for (let k = 0; k < workflowdata.length; k++) {
  271. if (staffsdata[q].staffId == workflowdata[k]
  272. .operatorId) {
  273. staffsdata[q].status = true
  274. }
  275. }
  276. }
  277. }
  278. response.data.data[i].commonStaffs1 = response.data.data[i]
  279. .commonStaffs
  280. } else {
  281. if (response.data.data[i].workflowHistoricTasks && response
  282. .data.data[i].workflowHistoricTasks.length > 0) {
  283. var len = response.data.data[i].workflowHistoricTasks
  284. .length - 1
  285. if (response.data.data[i].workflowHistoricTasks[len]
  286. .approved) {
  287. this.$set(response.data.data[i], 'status',
  288. 'success')
  289. } else {
  290. this.$set(response.data.data[i], 'status', 'error')
  291. }
  292. response.data.data[i].operatorTitle = response.data
  293. .data[i].workflowHistoricTasks[len].operatorName
  294. .substring(response.data.data[i]
  295. .workflowHistoricTasks[0].operatorName.length -
  296. 2)
  297. response.data.data[i].operatorName = response.data
  298. .data[i].workflowHistoricTasks[len].operatorName
  299. var time = new Date(response.data.data[i]
  300. .workflowHistoricTasks[len].claimTime)
  301. .getTime()
  302. response.data.data[i].updateDate = this.$u.timeFormat(
  303. time, 'mm.dd hh:MM')
  304. response.data.data[i].auditMind = response.data.data[i]
  305. .workflowHistoricTasks[len].auditMind
  306. } else {
  307. this.$set(response.data.data[i], 'status', 'question')
  308. // response.data.data[i].status='question'
  309. if (response.data.data[i].desc == '总经理助理审核') {
  310. response.data.data[i].operatorTitle = '总助'
  311. } else if (response.data.data[i].desc == '杜大光审核') {
  312. response.data.data[i].operatorTitle = '大光'
  313. } else {
  314. response.data.data[i].operatorTitle = response.data
  315. .data[i].desc.substring(0, 2)
  316. }
  317. response.data.data[i].operatorName = response.data
  318. .data[i].desc
  319. var time1 = new Date(response.data.data[i].updateDate)
  320. .getTime()
  321. response.data.data[i].updateDate = this.$u.timeFormat(
  322. time1, 'mm.dd hh:MM')
  323. response.data.data[i].auditMind = ''
  324. }
  325. }
  326. }
  327. console.log(response.data.data)
  328. for(let i = 0 ;i<response.data.data.length;i++){
  329. if(response.data.data[i].status == "error"){
  330. this.auditCheck = "error"
  331. break;
  332. }else if(response.data.data[i].status == "question"){
  333. this.auditCheck = "question"
  334. break;
  335. }else{
  336. this.auditCheck = "success"
  337. }
  338. }
  339. this.auditList = response.data.data
  340. var time2 = new Date(this.list[0].createDate).getTime()
  341. var time3 = this.$u.timeFormat(time2, 'mm.dd hh:MM')
  342. this.auditList.unshift({
  343. operatorTitle: this.list[0].requester.substring(0, 2),
  344. operatorName: this.list[0].requester,
  345. updateDate: time3,
  346. auditMind: '',
  347. desc: '发起申请',
  348. showflow: false,
  349. commonStaffs1: null,
  350. commonStaffs: null,
  351. workflowHistoricTasks: [],
  352. status: 'success'
  353. })
  354. })
  355. })
  356. }
  357. })
  358. // this.$api.doRequest('get', '/tranSettlementReport/getInfo', {
  359. // id: this.id
  360. // }).then(res => {
  361. // this.contractNo = res.data.data.contractNo
  362. // this.carId = res.data.data.carId
  363. // this.customerName = res.data.data.customer
  364. // this.shippingAddress = res.data.data.send
  365. // this.receivingAddress = res.data.data.receive
  366. // if (res.data.code == 200) {
  367. // this.$api.doRequest('get', '/tranSettlementReport/getTranSettlementReport', {
  368. // compId: "2710b21efc1e4393930c5dc800010dc4",
  369. // currentPage: this.currentPage,
  370. // pageSize: this.pageSize,
  371. // contractNo: this.contractNo,
  372. // carId: this.carId,
  373. // }).then(res => {
  374. // if (res.data.code == 200) {
  375. // this.list = res.data.data.records[0]
  376. // console.log(this.list, 124)
  377. // }
  378. // })
  379. // }
  380. // })
  381. },
  382. close() {
  383. this.show = false
  384. },
  385. pass() {
  386. this.show = true
  387. this.title = '审核意见(通过)'
  388. },
  389. reject() {
  390. this.show = true
  391. this.title = '驳回原因(驳回)'
  392. },
  393. // 驳回
  394. rejectSubmit() {
  395. var that = this
  396. if (!this.auditMind) {
  397. this.$api.msg('驳回原因不能为空!')
  398. } else {
  399. this.show = false
  400. uni.showModal({
  401. content: "是否确定驳回?",
  402. showCancel: true,
  403. confirmText: '确定',
  404. success: function(res) {
  405. if (res.confirm) {
  406. that.audit(that.list[0], 0, false, true, that.auditMind)
  407. }
  408. }
  409. })
  410. }
  411. },
  412. //通过
  413. passSubmit() {
  414. var that = this
  415. if (this.title == '驳回原因(驳回)') {
  416. this.rejectSubmit()
  417. } else {
  418. this.show = false
  419. uni.showModal({
  420. content: "是否确定通过?",
  421. showCancel: true,
  422. confirmText: '确定',
  423. success: function(res) {
  424. if (res.confirm) {
  425. that.audit(that.list[0], 0, true, 2, that.auditMind)
  426. }
  427. }
  428. })
  429. }
  430. },
  431. //审核方法
  432. audit(list, index, status, status2, reason) {
  433. uni.showLoading({
  434. title: "审核中"
  435. })
  436. let that = this
  437. if (this.list) {
  438. this.$api.doRequest('post', '/newWorkflow/api/handle', {
  439. taskId: list.taskId,
  440. approved: status,
  441. auditMind: this.auditMind ,
  442. needReapply: status2 != undefined ? true : false,
  443. }).then(res => {
  444. if (status == true) {
  445. this.$api.msg('通过成功')
  446. } else if (status == false) {
  447. this.$api.msg('驳回成功')
  448. }
  449. setTimeout(function() {
  450. if (that.everyCheck) {
  451. helper.setAudit(that.list[0])
  452. } else {
  453. uni.navigateBack()
  454. }
  455. }, 1000);
  456. })
  457. }
  458. },
  459. }
  460. }
  461. </script>
  462. <style scoped lang="scss">
  463. .container {
  464. margin: 10rpx;
  465. padding: 20rpx 20rpx 230rpx 20rpx;
  466. }
  467. .u-form {
  468. margin-bottom: 20rpx;
  469. background: #fff;
  470. border-radius: 10px;
  471. padding: 30rpx 10px;
  472. .u-form-item {
  473. line-height: 30px;
  474. padding: 0px 0;
  475. font-size: 26rpx;
  476. color: #878C9C;
  477. }
  478. }
  479. .content {
  480. .top {
  481. display: flex;
  482. justify-content: space-between;
  483. border-radius: 20rpx;
  484. background: white;
  485. padding: 30rpx 20rpx;
  486. font-size: 36rpx;
  487. margin-top: 20rpx;
  488. }
  489. .top1 {
  490. // display: flex;
  491. justify-content: space-between;
  492. border-radius: 20rpx;
  493. background: white;
  494. padding: 10rpx 20rpx;
  495. font-size: 30rpx;
  496. margin-top: 20rpx;
  497. }
  498. .top_info {
  499. margin: 10rpx 0;
  500. }
  501. .title {
  502. font-size: 28rpx;
  503. font-weight: 600;
  504. color: #333333;
  505. text-align: left;
  506. margin-bottom: 30rpx;
  507. }
  508. .car-container {
  509. // border-bottom: 2rpx solid #EEEEEE;
  510. }
  511. .car-container-item {
  512. background: white;
  513. padding: 10rpx 20rpx;
  514. border-radius: 20rpx;
  515. margin: 20rpx 0;
  516. }
  517. .car-type-item {
  518. display: inline-flex;
  519. // justify-content: center;
  520. width: 33.33%;
  521. margin-bottom: 40rpx;
  522. }
  523. .title {
  524. font-size: 36rpx;
  525. }
  526. }
  527. .bottom-btn {
  528. width: 100%;
  529. position: fixed;
  530. bottom: 0;
  531. display: flex;
  532. z-index: 2;
  533. left: 0;
  534. background-color: #f8f8f8;
  535. flex-direction: column;
  536. .btn1,
  537. .btn2 {
  538. width: 100%;
  539. margin-bottom: 26rpx;
  540. border-radius: 90rpx;
  541. }
  542. .btn1 {
  543. background: white;
  544. color: #00C265;
  545. }
  546. }
  547. .submit {
  548. width: 40%;
  549. background: #22C572;
  550. border-radius: 10rpx;
  551. }
  552. .left {
  553. background: #FEECE6;
  554. color: #FE6430;
  555. }
  556. .center {
  557. background: #EBEEFA;
  558. color: #5C76DF;
  559. }
  560. .right {
  561. background: #E9F8F0;
  562. color: #22C572;
  563. }
  564. .left,
  565. .center,
  566. .right {
  567. width: 50rpx;
  568. height: 50rpx;
  569. text-align: center;
  570. line-height: 50rpx;
  571. border-radius: 10rpx;
  572. }
  573. .textInfo {
  574. margin: 6rpx 0 0 10rpx;
  575. }
  576. .topInfo {
  577. height: 210rpx;
  578. background: linear-gradient(270deg, #22C572 0%, #34DE8A 100%);
  579. padding: 30rpx;
  580. .topInfo-item {
  581. height: 158rpx;
  582. background-color: #FFFFFF;
  583. border-radius: 20rpx;
  584. padding: 40rpx;
  585. .logo {
  586. width: 40rpx;
  587. height: 40rpx;
  588. margin-top: 8rpx;
  589. }
  590. .infoText {
  591. font-size: 36rpx;
  592. font-weight: 600;
  593. margin-left: 20rpx;
  594. }
  595. .infoData {
  596. color: #878C9C;
  597. font-size: 26rpx;
  598. margin-top: 10rpx;
  599. }
  600. }
  601. }
  602. .shade {
  603. position: fixed;
  604. top: 0;
  605. left: 0;
  606. height: 100%;
  607. width: 100%;
  608. background: rgba(0, 0, 0, 0.4);
  609. z-index: 3;
  610. .wrap {
  611. position: absolute;
  612. left: 0;
  613. top: 0;
  614. right: 0;
  615. bottom: 0;
  616. margin: auto;
  617. background: #fff;
  618. width: calc(100% - 198rpx);
  619. height: 700rpx;
  620. border-radius: 20rpx;
  621. .alert-top {
  622. padding: 33rpx;
  623. display: flex;
  624. justify-content: center;
  625. align-items: center;
  626. position: relative;
  627. }
  628. .title {
  629. font-size: 32rpx;
  630. font-weight: 600;
  631. color: #333333;
  632. }
  633. .close {
  634. position: absolute;
  635. right: 33rpx;
  636. }
  637. }
  638. }
  639. .cancel,
  640. .confirm {
  641. position: absolute;
  642. display: inline-block;
  643. width: 50%;
  644. text-align: center;
  645. bottom: 0;
  646. padding: 10px;
  647. border-top: 1px solid #eee;
  648. font-size: 34rpx;
  649. }
  650. .cancel {
  651. left: 0;
  652. border-right: 1px solid #eee;
  653. color: #AFB3BF;
  654. }
  655. .confirm {
  656. right: 0;
  657. color: #22C572;
  658. }
  659. .u-textarea-style {
  660. margin: 20rpx;
  661. background: #F9F9FA;
  662. border-radius: 10px;
  663. border: 1px solid #EEEEEE;
  664. padding: 10rpx 20rpx;
  665. position: relative;
  666. .right-bottom {
  667. position: absolute;
  668. right: 20rpx;
  669. bottom: 20rpx;
  670. color: #AFB3BF;
  671. }
  672. }
  673. /deep/.u-input__textarea {
  674. height: 300rpx !important;
  675. }
  676. .person-info {
  677. background: white;
  678. padding: 20rpx 0;
  679. border-radius: 20rpx;
  680. // margin-bottom: 50rpx;
  681. margin: 20rpx 0;
  682. .tit {
  683. font-size: 36rpx;
  684. }
  685. }
  686. .c-row {
  687. display: -webkit-box;
  688. display: -webkit-flex;
  689. display: flex;
  690. -webkit-box-align: center;
  691. -webkit-align-items: center;
  692. align-items: center;
  693. padding: 20rpx 30rpx;
  694. position: relative;
  695. }
  696. .c-row1 {
  697. // display: -webkit-box;
  698. // display: -webkit-flex;
  699. // display: flex;
  700. -webkit-box-align: center;
  701. -webkit-align-items: center;
  702. align-items: center;
  703. padding: 20rpx 30rpx;
  704. position: relative;
  705. }
  706. .container {
  707. padding: 20rpx 20rpx 250rpx 20rpx;
  708. }
  709. .u-form {
  710. margin-bottom: 20rpx;
  711. background: #fff;
  712. border-radius: 10px;
  713. padding: 30rpx 10px;
  714. .u-form-item {
  715. line-height: 30px;
  716. padding: 0px 0;
  717. font-size: 26rpx;
  718. color: #878C9C;
  719. }
  720. }
  721. .content {
  722. margin-top: 30rpx;
  723. .top {
  724. display: flex;
  725. justify-content: space-between;
  726. }
  727. .content-item {
  728. border-radius: 20rpx;
  729. background: white;
  730. padding: 40rpx 20rpx;
  731. margin-bottom: 30rpx;
  732. }
  733. .title {
  734. font-size: 32rpx;
  735. font-weight: 600;
  736. color: #333333;
  737. text-align: left;
  738. margin: 20rpx 0;
  739. }
  740. .car-container {
  741. border-bottom: 2rpx solid #EEEEEE;
  742. }
  743. .car-type-item {
  744. font-size: 28rpx;
  745. margin: 20rpx 0;
  746. color: #878C9C;
  747. }
  748. .weightInfoCss {
  749. font-size: 28rpx;
  750. color: #333333;
  751. font-weight: 500;
  752. }
  753. .row {
  754. display: flex;
  755. justify-content: space-between;
  756. // .right,
  757. // input {
  758. // font-size: 28rpx;
  759. // // color: #333333;
  760. // }
  761. }
  762. .money {
  763. font-size: 32rpx;
  764. font-weight: 500;
  765. margin-bottom: 30rpx;
  766. }
  767. .moneyInfo {
  768. color: #22C572;
  769. font-size: 32rpx;
  770. }
  771. }
  772. .bottom-btn {
  773. width: 100%;
  774. position: fixed;
  775. bottom: 0;
  776. display: flex;
  777. z-index: 2;
  778. left: 0;
  779. background-color: #f8f8f8;
  780. flex-direction: column;
  781. .btn1,
  782. .btn2 {
  783. width: 100%;
  784. margin-bottom: 26rpx;
  785. border-radius: 90rpx;
  786. }
  787. .btn1 {
  788. background: white;
  789. color: #00C265;
  790. }
  791. }
  792. .topInfo {
  793. height: 210rpx;
  794. background: linear-gradient(270deg, #22C572 0%, #34DE8A 100%);
  795. padding: 30rpx;
  796. .topInfo-item {
  797. height: 150rpx;
  798. background-color: #FFFFFF;
  799. border-radius: 20rpx;
  800. padding: 40rpx;
  801. .logo {
  802. width: 40rpx;
  803. height: 40rpx;
  804. margin-top: 8rpx;
  805. }
  806. .infoText {
  807. font-size: 36rpx;
  808. font-weight: 600;
  809. margin-left: 20rpx;
  810. }
  811. .infoData {
  812. color: #878C9C;
  813. font-size: 26rpx;
  814. margin-top: 10rpx;
  815. }
  816. }
  817. }
  818. .shade {
  819. position: fixed;
  820. top: 0;
  821. left: 0;
  822. height: 100%;
  823. width: 100%;
  824. background: rgba(0, 0, 0, 0.4);
  825. z-index: 3;
  826. .wrap {
  827. position: absolute;
  828. left: 0;
  829. top: 0;
  830. right: 0;
  831. bottom: 0;
  832. margin: auto;
  833. background: #fff;
  834. width: calc(100% - 198rpx);
  835. height: 700rpx;
  836. border-radius: 20rpx;
  837. .alert-top {
  838. padding: 33rpx;
  839. display: flex;
  840. justify-content: center;
  841. align-items: center;
  842. position: relative;
  843. }
  844. .title {
  845. font-size: 32rpx;
  846. font-weight: 600;
  847. color: #333333;
  848. }
  849. .close {
  850. position: absolute;
  851. right: 33rpx;
  852. }
  853. }
  854. }
  855. .cancel,
  856. .confirm {
  857. position: absolute;
  858. display: inline-block;
  859. width: 50%;
  860. text-align: center;
  861. bottom: 0;
  862. padding: 10px;
  863. border-top: 1px solid #eee;
  864. font-size: 34rpx;
  865. }
  866. .cancel {
  867. left: 0;
  868. border-right: 1px solid #eee;
  869. color: #AFB3BF;
  870. }
  871. .confirm {
  872. right: 0;
  873. color: #22C572;
  874. }
  875. .textarea {
  876. margin: 18rpx auto;
  877. width: 100%;
  878. background: #F9F9FA;
  879. border-radius: 10px;
  880. border: 1px solid #EEEEEE;
  881. font-size: 28rpx;
  882. padding: 10px;
  883. }
  884. .textCss {
  885. display: flex;
  886. justify-content: flex-end;
  887. width: 100%;
  888. text-align: right;
  889. color: #333333;
  890. }
  891. .u-textarea-style {
  892. margin: 20rpx;
  893. background: #F9F9FA;
  894. border-radius: 10px;
  895. border: 1px solid #EEEEEE;
  896. padding: 10rpx 20rpx;
  897. position: relative;
  898. height:240px;
  899. /deep/.uni-textarea-textarea{
  900. width: 80%;
  901. }
  902. .right-bottom {
  903. position: absolute;
  904. right: 20rpx;
  905. bottom: 20rpx;
  906. color: #AFB3BF;
  907. }
  908. }
  909. /deep/.u-input__textarea {
  910. height: 300rpx !important;
  911. }
  912. .content2 {
  913. background: white;
  914. margin: 20rpx 0;
  915. border-radius: 20rpx;
  916. padding: 20rpx;
  917. .row {
  918. display: flex;
  919. .row-left {
  920. display: flex;
  921. align-items: center;
  922. .item1 {
  923. position: relative;
  924. .item-content {
  925. background: #617AE0;
  926. width: 44px;
  927. height: 44px;
  928. border-radius: 22px;
  929. line-height: 44px;
  930. text-align: center;
  931. font-size: 15px;
  932. color: #fff;
  933. }
  934. .status {
  935. position: absolute;
  936. border-radius: 50%;
  937. padding: 0px 2px;
  938. right: -3px;
  939. bottom: -3px;
  940. background: #fff;
  941. }
  942. .status.success {
  943. border: 1px solid rgb(60, 156, 255);
  944. }
  945. .status.error {
  946. border: 1px solid rgb(245, 108, 108);
  947. }
  948. .status.question {
  949. border: 1px solid #f9ae3d;
  950. }
  951. }
  952. }
  953. .row-right {
  954. width: 80%;
  955. // color: #B0B1B5;
  956. margin-top: 10px;
  957. .right-content {
  958. background: #F2F3F7;
  959. margin-left: 10px;
  960. margin-top: 10px;
  961. padding: 10px;
  962. border-radius: 5px;
  963. color: #B0B1B5;
  964. }
  965. .right-item {
  966. display: flex;
  967. justify-content: space-between;
  968. .time {
  969. color: #999;
  970. }
  971. .item2 {
  972. margin-left: 20rpx;
  973. margin-top: -7px;
  974. .name {
  975. font-size: 28rpx;
  976. font-weight: 800;
  977. margin-bottom: 4px;
  978. }
  979. .status.success {
  980. color: #6CC48C;
  981. }
  982. .status.error {
  983. color: rgb(245, 108, 108);
  984. }
  985. .status.question {
  986. color: #f9ae3d;
  987. }
  988. }
  989. }
  990. }
  991. }
  992. .row2 {
  993. display: flex;
  994. .item-content {
  995. background: #22C572;
  996. width: 30px;
  997. height: 30px;
  998. border-radius: 50%;
  999. line-height: 30px;
  1000. text-align: center;
  1001. font-size: 12px;
  1002. color: #fff;
  1003. padding: 0 2px;
  1004. margin: 0 auto;
  1005. }
  1006. .status {
  1007. position: absolute;
  1008. top: 0;
  1009. right: 0;
  1010. }
  1011. }
  1012. .row-line {
  1013. width: 1px;
  1014. height: 30px;
  1015. background: #F2F2F2;
  1016. margin: 10rpx 50rpx;
  1017. }
  1018. .audit {
  1019. margin-top: 20rpx;
  1020. }
  1021. }
  1022. .form_top {
  1023. border-bottom: 1px solid #C7CAD6;
  1024. padding-bottom: 10px;
  1025. font-size: 30rpx;
  1026. font-weight: 600;
  1027. }
  1028. .form_view{
  1029. margin: 20rpx 0;
  1030. border-radius: 20rpx;
  1031. background: #F9F9FA;
  1032. padding: 30rpx 20rpx;
  1033. }
  1034. .label_css{
  1035. font-size: 26rpx;
  1036. color: #878C9C;
  1037. }
  1038. .input_css{
  1039. font-size: 20rpx;
  1040. }
  1041. /deep/.uni-textarea-wrapper{
  1042. height:200px;
  1043. }
  1044. // .fujian_title{
  1045. // font-size: 34rpx;
  1046. // margin-top: 20px;
  1047. // font-weight: 600;
  1048. // // margin-left: 10px;
  1049. // }
  1050. .headInfo{
  1051. height: 100px;
  1052. background-color: #FFFFFF;
  1053. margin-bottom: 20rpx;
  1054. border-radius: 10px;
  1055. padding: 30rpx 10px;
  1056. display: flex;
  1057. .headInfo_left{
  1058. width: 10%;
  1059. line-height: 60px;
  1060. text-align: center;
  1061. }
  1062. .headInfo_middle{
  1063. width: 70%;
  1064. padding-left: 10px;
  1065. }
  1066. .headInfo_right{
  1067. width: 20%;
  1068. line-height: 60px;
  1069. .char_a{
  1070. color: #22C572;
  1071. }
  1072. .char_b{
  1073. color: #FE6430;
  1074. }
  1075. .char_c{
  1076. color: #FB2323;
  1077. }
  1078. .char_a,.char_b,.char_c{
  1079. font-size: 16px;
  1080. }
  1081. }
  1082. .adopt{
  1083. position: absolute;
  1084. right: 30px;
  1085. top: 60px;
  1086. .adopt_img{
  1087. width: 90px;
  1088. height: 90px;
  1089. }
  1090. }
  1091. .headInfo_title{
  1092. font-size: 19px;
  1093. color: #333333;
  1094. font-weight: 600;
  1095. }
  1096. .headInfo_No{
  1097. color: #878C9C;
  1098. font-size: 13px;
  1099. margin-top: 10px;
  1100. }
  1101. }
  1102. .img_item {
  1103. display: flex;
  1104. width: 100%;
  1105. margin: 10px 0;
  1106. padding: 0 10rpx;
  1107. .imgsign{
  1108. width: 25px;
  1109. height: 25px;
  1110. margin-top: 6px;
  1111. }
  1112. .char_css {
  1113. font-size: 28rpx;
  1114. font-weight: 600;
  1115. display: -webkit-box;
  1116. overflow: hidden;
  1117. /*! autoprefixer: off; */
  1118. -webkit-box-orient: vertical;
  1119. -webkit-line-clamp: 1;
  1120. -webkit-box-orient: vertical;
  1121. text-overflow: ellipsis;
  1122. word-break: break-all;
  1123. }
  1124. .img_size{
  1125. color: #B0B3BF;
  1126. font-size: 12px;
  1127. margin-top: 5px;
  1128. }
  1129. .img_dowload {
  1130. width: 14%;
  1131. color: #22C572;
  1132. text-align: right;
  1133. }
  1134. }
  1135. </style>