index.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869
  1. <template>
  2. <view class="content">
  3. <view class="head">
  4. <text>订单号: {{formData.orderNo}}</text>
  5. </view>
  6. <view class="striping"></view>
  7. <view class="head" @click="telFun">
  8. <text>驾驶员: {{formData.driver1Name == null ? '' : formData.driver1Name}}&nbsp;电话:&nbsp;{{formData.driver1mobile == null ? '' : formData.driver1mobile}}</text>
  9. </view>
  10. <u-collapse>
  11. <!-- <u-collapse-item title="报销费用" name="claim expense"> -->
  12. <view class="box-box">
  13. <view class="box">
  14. <view class="data">
  15. <text class="key">ETC金额</text>
  16. <input class="value" selection-start="0" selection-end="9999" :disabled="disabled"
  17. inputmode="decimal" @input="checkUnLoadetc" v-model="formData.loadetc" />
  18. </view>
  19. <view class="data">
  20. <text class="key">现金过路费</text>
  21. <input class="value" selection-start="0" selection-end="9999" :disabled="disabled"
  22. inputmode="decimal" @input="checkUnLoadtoll" v-model="formData.loadtoll" />
  23. </view>
  24. </view>
  25. <view class="box">
  26. <view class="data">
  27. <text class="key">公司加油(升)</text>
  28. <input class="value" selection-start="0" selection-end="9999" :disabled="disabled"
  29. inputmode="decimal" @input="checkUnOilhomeQty" v-model="formData.oilhomeQty" />
  30. </view>
  31. <view class="data">
  32. <text class="key">加油金额</text>
  33. <input class="value" selection-start="0" selection-end="9999" :disabled="disabled"
  34. inputmode="decimal" @input="checkUnOilhomeAmt" v-model="formData.oilhomeAmt" />
  35. </view>
  36. </view>
  37. <view class="box">
  38. <view class="data-two">
  39. <text class="key">定点加油</text>
  40. <view class="list">
  41. <uni-data-select :disabled="disabled" :localdata="gasStationList"
  42. v-model="formData.gasstation1" @change="gasstation1Change"></uni-data-select>
  43. </view>
  44. </view>
  45. </view>
  46. <view class="box">
  47. <view class="data">
  48. <text class="key">升数</text>
  49. <input class="value" selection-start="0" selection-end="9999" :disabled="disabled"
  50. inputmode="decimal" @input="checkUnOilappoint1Qty" placeholder="请输入升数"
  51. v-model="formData.oilappoint1Qty" />
  52. </view>
  53. <view class="data">
  54. <text class="key">金额</text>
  55. <input class="value" selection-start="0" selection-end="9999" :disabled="disabled"
  56. inputmode="decimal" @input="checkUnOilappoint1Amt" placeholder="请输入金额"
  57. v-model="formData.oilappoint1Amt" />
  58. </view>
  59. </view>
  60. <view class="box">
  61. <view class="data-two">
  62. <text class="key">定点加油</text>
  63. <view class="list">
  64. <uni-data-select :disabled="disabled" :localdata="gasStationList"
  65. v-model="formData.gasstation2" @change="gasstation2Change"></uni-data-select>
  66. </view>
  67. </view>
  68. </view>
  69. <view class="box">
  70. <view class="data">
  71. <text class="key">升数</text>
  72. <input class="value" selection-start="0" selection-end="9999" :disabled="disabled"
  73. inputmode="decimal" @input="checkUnOilappoint2Qty" placeholder="请输入升数"
  74. v-model="formData.oilappoint2Qty" />
  75. </view>
  76. <view class="data">
  77. <text class="key">金额</text>
  78. <input class="value" selection-start="0" selection-end="9999" :disabled="disabled"
  79. inputmode="decimal" @input="checkUnOilappoint2Amt" placeholder="请输入金额"
  80. v-model="formData.oilappoint2Amt" />
  81. </view>
  82. </view>
  83. <view class="box">
  84. <view class="data">
  85. <text class="key">现金加油(升)</text>
  86. <input class="value" selection-start="0" selection-end="9999" :disabled="disabled"
  87. inputmode="decimal" @input="checkUnOilcash1Qty" v-model="formData.oilcash1Qty" />
  88. </view>
  89. <view class="data">
  90. <text class="key">加油金额</text>
  91. <input class="value" selection-start="0" selection-end="9999" :disabled="disabled"
  92. inputmode="decimal" @input="checkUnOilcash1Amt" v-model="formData.oilcash1Amt" />
  93. </view>
  94. </view>
  95. <view class="box">
  96. <view class="data">
  97. <text class="key">油卡加油(升)</text>
  98. <input class="value" selection-start="0" selection-end="9999" :disabled="disabled"
  99. inputmode="decimal" @input="checkUnOilcardQty" v-model="formData.oilcardQty" />
  100. </view>
  101. <view class="data">
  102. <text class="key">加油金额</text>
  103. <input class="value" selection-start="0" selection-end="9999" :disabled="disabled"
  104. inputmode="decimal" @input="checkUnOilcardAmt" v-model="formData.oilcardAmt" />
  105. </view>
  106. </view>
  107. <view class="box-two">
  108. <text class="key">备&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注</text>
  109. <input class="value" selection-start="0" selection-end="9999" :disabled="disabled" v-model="formData.driverassdesc" />
  110. </view>
  111. <!-- </u-collapse-item> -->
  112. </view>
  113. <view class="box-box" style="margin-top: 40rpx;">
  114. <u-upload :fileList="fileList1" @afterRead="imgUploading" @delete="deletePic" name="1" multiple
  115. :disabled="this.status376 == 6" :previewFullImage="true"></u-upload>
  116. </view>
  117. <!-- <u-collapse-item title="照片" name="img" ref="collapseHeight">
  118. <u-upload :fileList="fileList1" @afterRead="imgUploading" @delete="deletePic" name="1" multiple
  119. :disabled="this.status376 == 6" :previewFullImage="true"></u-upload>
  120. </u-collapse-item> -->
  121. <u-collapse-item title="其他费用" name="cost breakdown">
  122. <view class="table">
  123. <view class="data vertical-layout" v-for="(item, index) in itemsList" :key="index">
  124. <view class="name">
  125. <text style="color: #3c9cff;">{{ item.cname }}</text>
  126. </view>
  127. <view class="sum">
  128. <!-- <input class="value" selection-start="0" selection-end="9999" :disabled="disabled"
  129. inputmode="decimal" @input="checkUnAmt(item.amt, index)" cursor-spacing="15"
  130. :adjust-position="true" v-model="item.amt" /> -->
  131. <input class="value" selection-start="0" selection-end="9999" :disabled="disabled"
  132. inputmode="decimal" @input="checkUnAmt(item.amt, index)" @click="inputHeight" cursor-spacing="30"
  133. :always-embed="true" :adjust-position="true" v-model="item.amt" />
  134. </view>
  135. </view>
  136. </view>
  137. </u-collapse-item>
  138. </u-collapse>
  139. <view class="input" :style="{'height':vHeight + 'rpx'}">
  140. </view>
  141. <view class="cushion">
  142. </view>
  143. <view class="bottom vertical-layout" v-if="status376 == 2 || status376 == 0">
  144. <button class="submit" iconColor="#3c9cff" type="primary" @click="submit">提交费用</button>
  145. </view>
  146. <!-- 遮盖罩 -->
  147. <u-loading-page :loading="loading"></u-loading-page>
  148. <!-- 消息提示 -->
  149. <u-toast ref="uToast"></u-toast>
  150. <u-modal :show="deleteShow" title="提示" showCancelButton @confirm="deleteImg" @cancel="deleteShow = false">
  151. <view class="slot-content">
  152. <rich-text nodes="确定删除这张图片吗?"></rich-text>
  153. </view>
  154. </u-modal>
  155. </view>
  156. </template>
  157. <script>
  158. import {
  159. getGasStations,
  160. getItems,
  161. insertLoadFeeItems,
  162. getLoadFeeItems
  163. } from "@/api/reimbursement"
  164. import {
  165. getOrderBillsPlansByid,
  166. putOrderBillsPlansByid,
  167. insertTmsAttachMngs,
  168. pictureUploading,
  169. deleteTmsAttachMngs
  170. } from "@/api/particulars"
  171. export default {
  172. data() {
  173. return {
  174. aaa: [],
  175. // 遮盖罩
  176. loading: true,
  177. formData: {
  178. itemsVoList: [],
  179. oilappoint1Qty: 1,
  180. oilappoint2Qty: 1
  181. },
  182. // 报销费用list
  183. gasStationList: [],
  184. // 其他费用list
  185. itemsList: [],
  186. // 其他费用被选中
  187. selectedIndexs: [],
  188. radioValueOne: '', // 当前 radio 的值
  189. numOne: 0, //用于区分是否是重复选中
  190. radioValueTwo: '', // 当前 radio 的值
  191. numTwo: 0, //用于区分是否是重复选中
  192. // 输入框禁用
  193. disabled: false,
  194. status376: 0,
  195. selectionLength: 0,
  196. fileList1: [],
  197. // 删除弹框
  198. deleteShow: false,
  199. event: {},
  200. vHeight: 0
  201. }
  202. },
  203. onUnload() {
  204. this.formData = {};
  205. this.loading = true;
  206. },
  207. onLoad: function(option) {
  208. this.status376 = option.status376;
  209. if (this.status376 == 6) {
  210. this.disabled = true;
  211. }
  212. // 报销费用下拉选
  213. getGasStations().then(res => {
  214. // this.gasStationList = res.data
  215. for (var item in res.data) {
  216. var data = {
  217. text: res.data[item].cname,
  218. value: res.data[item].cname
  219. };
  220. this.gasStationList.push(data);
  221. }
  222. getItems().then(res => {
  223. this.itemsList = res.data
  224. getLoadFeeItems(option.orderNo).then(res => {
  225. this.formData = res.data;
  226. var costBreakdownList = res.data.loadFeeItemsList;
  227. this.itemsList = costBreakdownList;
  228. this.fileList1 = res.data.fileList1;
  229. this.loading = false;
  230. })
  231. })
  232. })
  233. },
  234. methods: {
  235. // 保存内容
  236. submit() {
  237. if (this.status376 == 6) {
  238. this.$refs.uToast.show({
  239. type: 'warning',
  240. icon: false,
  241. message: "不允许保存!",
  242. iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/warning.png'
  243. })
  244. } else if (this.status376 == 2 || this.status376 == 0) {
  245. if (this.formData.loadetc == null ||
  246. this.formData.loadtoll == null ||
  247. this.formData.oilhomeQty == null ||
  248. this.formData.oilhomeAmt == null ||
  249. this.formData.oilappoint1Qty == null ||
  250. this.formData.oilappoint1Amt == null ||
  251. this.formData.oilappoint2Qty == null ||
  252. this.formData.oilappoint2Amt == null ||
  253. this.formData.oilcash1Qty == null ||
  254. this.formData.oilcash1Amt == null ||
  255. this.formData.oilcardQty == null ||
  256. this.formData.oilcardAmt == null
  257. ) {
  258. this.$refs.uToast.show({
  259. type: 'warning',
  260. icon: false,
  261. message: "请输入金额或升数!",
  262. iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/warning.png'
  263. })
  264. } else {
  265. this.loading = true;
  266. var list = [];
  267. for (var item in this.itemsList) {
  268. var amt = this.itemsList[item].amt;
  269. if (amt != null) {
  270. var items = this.itemsList[item];
  271. list.push(items);
  272. }
  273. }
  274. this.formData.itemsVoList = list;
  275. insertLoadFeeItems(this.formData).then(res => {
  276. this.loading = false;
  277. if (res.code == 200) {
  278. // 保存成功弹窗提示
  279. this.$refs.uToast.show({
  280. type: 'success',
  281. message: "保存成功!",
  282. iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/success.png'
  283. })
  284. } else {
  285. // 保存失败消息
  286. this.$refs.uToast.show({
  287. icon: false,
  288. message: "保存失败请重试!",
  289. iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/error.png'
  290. })
  291. }
  292. })
  293. }
  294. }
  295. },
  296. // 删除图片
  297. deletePic(event) {
  298. if (this.status376 == 6) {
  299. this.$refs.uToast.show({
  300. type: 'warning',
  301. icon: false,
  302. message: "不允许修改!",
  303. iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/warning.png'
  304. })
  305. } else if (this.status376 == 2 || this.status376 == 0) {
  306. this.event = event;
  307. this.deleteShow = true;
  308. }
  309. },
  310. deleteImg() {
  311. var event = this.event;
  312. var url = event.file.url;
  313. var index = url.lastIndexOf("\/");
  314. var attachId = url.substring(index + 1, url.length);
  315. deleteTmsAttachMngs(attachId).then(res => {
  316. if (res.code == 200) {
  317. this[`fileList${event.name}`].splice(event.index, 1)
  318. // 删除成功消息
  319. this.$refs.uToast.show({
  320. type: 'success',
  321. message: "删除成功!",
  322. iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/success.png'
  323. })
  324. } else {
  325. // 删除失败消息
  326. this.$refs.uToast.show({
  327. icon: false,
  328. message: "删除失败请重试!",
  329. iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/error.png'
  330. })
  331. }
  332. this.event = {};
  333. this.deleteShow = false;
  334. })
  335. },
  336. // 新增图片
  337. imgUploading(event) {
  338. // 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
  339. let lists = [].concat(event.file)
  340. let fileListLen = this[`fileList${event.name}`].length
  341. lists.map((item) => {
  342. this[`fileList${event.name}`].push({
  343. ...item,
  344. status: 'uploading',
  345. message: '上传中'
  346. })
  347. })
  348. for (let i = 0; i < lists.length; i++) {
  349. insertTmsAttachMngs(this.formData).then(res => {
  350. if (res.code == 200) {
  351. let data = {
  352. name: 'avatarfile',
  353. filePath: lists[i].url
  354. }
  355. let dataForm = {
  356. attachId: res.data
  357. }
  358. pictureUploading(data, dataForm).then(res => {
  359. let item = this[`fileList${event.name}`][fileListLen]
  360. this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(
  361. item, {
  362. status: 'success',
  363. message: '',
  364. url: res.data
  365. }))
  366. fileListLen++
  367. })
  368. }
  369. })
  370. }
  371. },
  372. // 定点加油1清空
  373. gasstation1Change() {
  374. this.formData.oilappoint1Qty = 0;
  375. this.formData.oilappoint1Amt = 0;
  376. },
  377. // 定点加油2清空
  378. gasstation2Change() {
  379. this.formData.oilappoint2Qty = 0;
  380. this.formData.oilappoint2Amt = 0;
  381. },
  382. // 点击拨打电话
  383. telFun() {
  384. if (this.formData.driver1mobile != null && this.formData.driver1mobile != '') {
  385. uni.makePhoneCall({
  386. phoneNumber: this.formData.driver1mobile, //电话号码
  387. success: function(e) {
  388. // console.log(e);
  389. },
  390. fail: function(e) {
  391. // console.log(e);
  392. }
  393. })
  394. }
  395. },
  396. // 其他费用表格勾选事件
  397. selectionChange(e) {
  398. this.selectedIndexs = e.detail.index;
  399. },
  400. groupChangeOne(n) {
  401. if (n == this.radioValueOne && this.numOne == 0) {
  402. // 第一次相等即执行以下代码
  403. this.numOne++
  404. } else {
  405. // 第一次后相等即执行以下代码
  406. // 置空 radioGroupValue 即取消选中的值
  407. this.formData.gasstation1 = ''
  408. // 初始化 num
  409. this.numOne = 0
  410. }
  411. },
  412. radioChangeOne(n) {
  413. this.radioValueOne = n
  414. // 切换选项后需要初始化 num
  415. this.numOne = 0
  416. },
  417. groupChangeTwo(n) {
  418. if (n == this.radioValueTwo && this.numTwo == 0) {
  419. // 第一次相等即执行以下代码
  420. this.numTwo++
  421. } else {
  422. // 第一次后相等即执行以下代码
  423. // 置空 radioGroupValue 即取消选中的值
  424. this.formData.gasstation2 = ''
  425. // 初始化 num
  426. this.numTwo = 0
  427. }
  428. },
  429. radioChangeTwo(n) {
  430. this.radioValueTwo = n
  431. // 切换选项后需要初始化 num
  432. this.numTwo = 0
  433. },
  434. checkUnLoadetc(e) {
  435. //正则表达试
  436. e.target.value = (e.target.value.match(/^\d*(\.?\d{0,2})/g)[0]) || null
  437. //重新赋值给input
  438. this.$nextTick(() => {
  439. this.formData.loadetc = e.target.value
  440. })
  441. },
  442. checkUnLoadtoll(e) {
  443. //正则表达试
  444. e.target.value = (e.target.value.match(/^\d*(\.?\d{0,2})/g)[0]) || null
  445. //重新赋值给input
  446. this.$nextTick(() => {
  447. this.formData.loadtoll = e.target.value
  448. })
  449. },
  450. checkUnOilhomeQty(e) {
  451. //正则表达试
  452. e.target.value = (e.target.value.match(/^\d*(\.?\d{0,3})/g)[0]) || null
  453. //重新赋值给input
  454. this.$nextTick(() => {
  455. this.formData.oilhomeQty = e.target.value
  456. })
  457. },
  458. checkUnOilhomeAmt(e) {
  459. //正则表达试
  460. e.target.value = (e.target.value.match(/^\d*(\.?\d{0,2})/g)[0]) || null
  461. //重新赋值给input
  462. this.$nextTick(() => {
  463. this.formData.oilhomeAmt = e.target.value
  464. })
  465. },
  466. checkUnOilappoint1Qty(e) {
  467. //正则表达试
  468. e.target.value = (e.target.value.match(/^\d*(\.?\d{0,3})/g)[0]) || null
  469. //重新赋值给input
  470. this.$nextTick(() => {
  471. this.formData.oilappoint1Qty = e.target.value
  472. })
  473. },
  474. checkUnOilappoint1Amt(e) {
  475. //正则表达试
  476. e.target.value = (e.target.value.match(/^\d*(\.?\d{0,2})/g)[0]) || null
  477. //重新赋值给input
  478. this.$nextTick(() => {
  479. this.formData.oilappoint1Amt = e.target.value
  480. })
  481. },
  482. checkUnOilappoint2Qty(e) {
  483. //正则表达试
  484. e.target.value = (e.target.value.match(/^\d*(\.?\d{0,3})/g)[0]) || null
  485. //重新赋值给input
  486. this.$nextTick(() => {
  487. this.formData.oilappoint2Qty = e.target.value
  488. })
  489. },
  490. checkUnOilappoint2Amt(e) {
  491. //正则表达试
  492. e.target.value = (e.target.value.match(/^\d*(\.?\d{0,2})/g)[0]) || null
  493. //重新赋值给input
  494. this.$nextTick(() => {
  495. this.formData.oilappoint2Amt = e.target.value
  496. })
  497. },
  498. checkUnOilcash1Qty(e) {
  499. //正则表达试
  500. e.target.value = (e.target.value.match(/^\d*(\.?\d{0,3})/g)[0]) || null
  501. //重新赋值给input
  502. this.$nextTick(() => {
  503. this.formData.oilcash1Qty = e.target.value
  504. })
  505. },
  506. checkUnOilcash1Amt(e) {
  507. //正则表达试
  508. e.target.value = (e.target.value.match(/^\d*(\.?\d{0,2})/g)[0]) || null
  509. //重新赋值给input
  510. this.$nextTick(() => {
  511. this.formData.oilcash1Amt = e.target.value
  512. })
  513. },
  514. checkUnOilcardQty(e) {
  515. //正则表达试
  516. e.target.value = (e.target.value.match(/^\d*(\.?\d{0,3})/g)[0]) || null
  517. //重新赋值给input
  518. this.$nextTick(() => {
  519. this.formData.oilcardQty = e.target.value
  520. })
  521. },
  522. checkUnOilcardAmt(e) {
  523. //正则表达试
  524. e.target.value = (e.target.value.match(/^\d*(\.?\d{0,2})/g)[0]) || null
  525. //重新赋值给input
  526. this.$nextTick(() => {
  527. this.formData.oilcardAmt = e.target.value
  528. })
  529. },
  530. checkUnAmt(amt, index) {
  531. var amt = (amt.match(/^\d*(\.?\d{0,2})/g)[0]) || null
  532. //重新赋值给input
  533. this.$nextTick(() => {
  534. this.itemsList[index].amt = amt
  535. })
  536. },
  537. inputHeight() {
  538. // if (this.vHeight == 0) {
  539. this.vHeight = 600;
  540. // } else {
  541. // this.vHeight = 0;
  542. // }
  543. }
  544. }
  545. }
  546. </script>
  547. <style lang="scss">
  548. // 修改布局方向为纵向布局
  549. .vertical-layout {
  550. display: flex;
  551. }
  552. // 分割线
  553. .striping {
  554. width: 100%;
  555. height: 4rpx;
  556. background-color: #f0f0f0f0;
  557. }
  558. .box-box {
  559. padding-left: 50rpx;
  560. padding-right: 50rpx;
  561. }
  562. .content {
  563. box-sizing: border-box;
  564. background-color: white;
  565. .head {
  566. color: #3c9cff;
  567. // width: 100%;
  568. height: 100rpx;
  569. padding-left: 30rpx;
  570. vertical-align: middle;
  571. display: table-cell;
  572. font-size: 34rpx;
  573. font-weight: 900;
  574. // background-color: red;
  575. }
  576. .box-list {
  577. color: #3b3b3b;
  578. width: 100%;
  579. border-bottom: 2rpx solid #f0f0f0f0;
  580. // padding-left: 50rpx;
  581. font-size: 30rpx;
  582. color: #3b3b3b;
  583. .icon {
  584. // width: 100rpx;
  585. margin-top: 50rpx;
  586. // font-size: 50rpx;
  587. // color: #4888ff;
  588. }
  589. .list {
  590. margin-top: 30rpx;
  591. margin-bottom: 20rpx;
  592. width: 100%;
  593. height: 100%;
  594. // background-color: pink;
  595. height: auto;
  596. display: flex;
  597. flex-wrap: wrap;
  598. font-size: 30rpx;
  599. }
  600. .quantity-aum {
  601. margin-bottom: 25rpx;
  602. .aaa {
  603. width: 50%;
  604. .key {
  605. display: inline-block;
  606. width: 50%;
  607. margin-left: 20rpx;
  608. // margin-right: 80rpx;
  609. border-bottom: 2rpx dotted #000;
  610. }
  611. }
  612. .bbb {
  613. width: 50%;
  614. .value {
  615. width: 50%;
  616. margin-left: 20rpx;
  617. // margin-right: 20rpx;
  618. border-bottom: 2rpx dotted #000;
  619. }
  620. }
  621. }
  622. }
  623. .box {
  624. color: #3b3b3b;
  625. // overflow: hidden;
  626. height: 100rpx;
  627. border-bottom: 2rpx solid #f0f0f0f0;
  628. font-size: 30rpx;
  629. display: flex;
  630. align-items: center;
  631. .data {
  632. width: 50%;
  633. display: flex;
  634. align-items: center;
  635. .key {
  636. width: 55%;
  637. text-align: right;
  638. color: #3c9cff;
  639. }
  640. .value {
  641. margin-left: 20rpx;
  642. width: 45%;
  643. color: #3b3b3b;
  644. border-bottom: 2rpx dotted #000;
  645. }
  646. }
  647. .data-two {
  648. width: 100%;
  649. display: flex;
  650. align-items: center;
  651. .key {
  652. width: 35%;
  653. text-align: right;
  654. color: #3c9cff;
  655. }
  656. .list {
  657. margin-top: 30rpx;
  658. margin-bottom: 20rpx;
  659. width: 100%;
  660. height: 100%;
  661. // background-color: pink;
  662. height: auto;
  663. display: flex;
  664. flex-wrap: wrap;
  665. font-size: 30rpx;
  666. }
  667. }
  668. }
  669. .box-two {
  670. color: #3b3b3b;
  671. overflow: hidden;
  672. height: 100rpx;
  673. padding-left: 20rpx;
  674. // margin-right: 20rpx;
  675. font-size: 30rpx;
  676. display: flex;
  677. align-items: center;
  678. .key {
  679. display: inline-block;
  680. width: 24%;
  681. color: #3c9cff;
  682. }
  683. .value {
  684. margin-left: 20rpx;
  685. width: calc(100% - 24%);
  686. color: #3b3b3b;
  687. // margin-right: 20rpx;
  688. border-bottom: 2rpx dotted #000;
  689. }
  690. }
  691. .table {
  692. margin-left: 20rpx;
  693. margin-right: 20rpx;
  694. .data {
  695. font-size: 30rpx;
  696. width: 100%;
  697. height: 100rpx;
  698. border-bottom: 2rpx solid #f0f0f0f0;
  699. align-items: center;
  700. .name {
  701. text-align: right;
  702. width: 20%;
  703. margin-left: 20rpx;
  704. color: #000;
  705. }
  706. .sum {
  707. margin-left: 20rpx;
  708. margin-right: 80rpx;
  709. border-bottom: 2rpx dotted #000;
  710. }
  711. }
  712. }
  713. .primary {
  714. background-color: #0b68ffff;
  715. }
  716. .attention {
  717. padding: 30rpx;
  718. padding-left: 50rpx;
  719. padding-bottom: 40rpx;
  720. }
  721. // 底部提交按钮
  722. .bottom {
  723. display: block;
  724. position: fixed;
  725. bottom: calc(var(--window-bottom));
  726. width: 100%;
  727. .submit {
  728. background-color: #0b68ffff;
  729. }
  730. }
  731. .input {
  732. width: 100%;
  733. // height: 100rpx;
  734. // background-color: red;
  735. }
  736. .cushion {
  737. width: 100%;
  738. height: 104rpx;
  739. background-color: #f0f0f0f0;
  740. }
  741. }
  742. </style>