index.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652
  1. <template>
  2. <view>
  3. <view class="ordertop">
  4. <view>
  5. <view class="iconblue"></view>
  6. <text class="license">基础信息</text>
  7. <view class="various">{{form.billstatus}}</view>
  8. </view>
  9. <view class="line">
  10. <u-line color="#ccc" border-style='dashed' />
  11. </view>
  12. <view class="basic">
  13. <view>货主</view>
  14. <view>{{form.corpName}}</view>
  15. </view>
  16. <view class="basic">
  17. <view>提单号</view>
  18. <view>{{form.fMblno}}</view>
  19. </view>
  20. <view class="basic">
  21. <view>箱型/箱量/箱号</view>
  22. <view>{{form.cntrtypes}}/{{form.fCntqty}}/{{form.fCntrno}}</view>
  23. </view>
  24. <!-- <view class="basic">
  25. <view>箱量</view>
  26. <view>{{form.cntqty}}</view>
  27. </view> -->
  28. <!-- <view class="basic">
  29. <view>箱号</view>
  30. <view>{{form.cntrno}}</view>
  31. </view> -->
  32. <!-- <view class="basic">
  33. <view>入库日期</view>
  34. <view>{{form.bsdate}}</view>
  35. </view> -->
  36. <!-- <view class="basic">
  37. <view>入库状态</view>
  38. <view>{{form.billstatus}}</view>
  39. </view> -->
  40. <view class="basic">
  41. <view>品名/属性详情</view>
  42. <view>{{form.goodsName}}/{{form.fMarks}}</view>
  43. </view>
  44. <view class="basic">
  45. <view>车号/司机</view>
  46. <view>{{form.fTruckno}}/{{form.fDriverName}}</view>
  47. </view>
  48. <!-- <view class="basic">
  49. <view>司机</view>
  50. <view>{{form.fDriverName}}</view>
  51. </view> -->
  52. <view class="basic">
  53. <view>司机电话</view>
  54. <view>{{form.fDriverTel}}</view>
  55. </view>
  56. <view class="basic">
  57. <view>货物属性</view>
  58. <view>{{form.businessType}}</view>
  59. </view>
  60. <!-- <view class="basic">
  61. <view>货物名称</view>
  62. <view>{{form.fMarks}}</view>
  63. </view> -->
  64. <!-- <view class="basic">
  65. <view>属性详情</view>
  66. <view>{{form.marks}}</view>
  67. </view> -->
  68. <view class="basic">
  69. <view>劳务公司</view>
  70. <view>{{form.fleetName}}</view>
  71. </view>
  72. </view>
  73. <view class="ordertop">
  74. <view>
  75. <view class="iconblue"></view>
  76. <text class="license">可编辑</text>
  77. </view>
  78. <view class="line">
  79. <u-line color="#ccc" border-style='dashed' />
  80. </view>
  81. <view class="basic" style="margin: 0 auto;height: 55rpx;">
  82. <u-form-item style="width: 100%;" :border-bottom="false" label-width="100rpx" label="件数:">
  83. <u-input type="digit" :clearable="false" v-model="form.fQty" />
  84. </u-form-item>
  85. </view>
  86. <view class="basic" style="margin: 0 auto;height: 55rpx;">
  87. <u-form-item style="width: 100%;" :border-bottom="false" label-width="100rpx" label="毛重:">
  88. <u-input type="digit" :clearable="false" v-model="form.fGrossweight" />
  89. </u-form-item>
  90. </view>
  91. <view class="basic" style="margin: 0 auto;height: 55rpx;">
  92. <u-form-item style="width: 100%;" :border-bottom="false" label-width="100rpx" label="净重:">
  93. <u-input type="digit" :clearable="false" v-model="form.fNetweight" />
  94. </u-form-item>
  95. </view>
  96. <view class="basic" style="margin: 0 auto;height: 55rpx;">
  97. <u-form-item style="width: 100%;" :border-bottom="false" label-width="130rpx" label="装卸工:">
  98. <u-input type="type" :clearable="false" v-model="form.fStevedore" />
  99. </u-form-item>
  100. </view>
  101. <view class="basic" style="margin: 0 auto;height: 55rpx;">
  102. <u-form-item style="width: 100%;" :border-bottom="false" label-width="130rpx" label="叉车工:">
  103. <u-input type="type" :clearable="false" v-model="form.fForkliftman" />
  104. </u-form-item>
  105. </view>
  106. <view class="basic" style="margin: 0 auto;height: 55rpx;">
  107. <u-form-item style="width: 100%;" :border-bottom="false" label-width="100rpx" label="库区:">
  108. <u-select v-model="formation" mode="mutil-column-auto" :list="list" @confirm="mation" label-name="label" value-name="id" child-name="children"></u-select>
  109. <u-input type="type" :clearable="false" v-model="form.fWarehouseInformation" placeholder="请选择库区" disabled @click="formation = !formation"/>
  110. </u-form-item>
  111. </view>
  112. <view class="basic" style="margin: 0 auto;height: 55rpx;">
  113. <u-form-item style="width: 100%;" :border-bottom="false" label-width="160rpx" label="入库日期:">
  114. <u-calendar v-model="show_bsdate" mode="date" max-date="2050" @change="changeBsdate"></u-calendar>
  115. <u-input type="type" :clearable="false" v-model="form.fBsdate" placeholder="请选择日期" disabled @click="show_bsdate = !show_bsdate"/>
  116. </u-form-item>
  117. </view>
  118. <view class="basic" style="margin: 0 auto;">
  119. <u-form-item style="width: 100%;" :border-bottom="false" label-width="100rpx" label="备注:">
  120. <u-input type="textarea" height="20rpx" :clearable="false" v-model="form.remark" />
  121. </u-form-item>
  122. </view>
  123. </view>
  124. <view class="ordertop" v-if="entryPrinting == 0?form.billstatus == '入库中'||form.billstatus == '已入库':true" style="margin-bottom: 60rpx;">
  125. <view>
  126. <view class="iconblue"></view>
  127. <text class="license">{{form.billstatus != '已入库'?"附件上传":'查看附件'}}</text>
  128. <view class="various" @click="attachmentP" v-if="deptName != '外部用户'&&form.billstatus != '已入库'">保存附件</view>
  129. </view>
  130. <view class="line">
  131. <u-line color="#ccc" border-style='dashed'/>
  132. </view>
  133. <view style="width: 94%;margin: 0 auto;">
  134. <u-upload ref="uUpload" :max-count="form.billstatus == '已入库'?fileList.length:999" :deletable="form.billstatus == '已入库'?false:true" @on-remove="onRemove" :action="action" :header="headers" @on-success="success"
  135. :file-list="fileList" :before-upload="beforeUpload">
  136. </u-upload>
  137. <u-empty v-if="fileList.length == 0&&form.billstatus == '已入库'" text="无图片" mode="list" style="margin: 20rpx auto;"></u-empty>
  138. </view>
  139. </view>
  140. <br>
  141. <view style="width: 100%;position:fixed; bottom:0;background-color: #FFFFFF;padding-left: 20px;padding-right: 20px;z-index: 9999;" v-if="deptName != '外部用户'">
  142. <u-button type="primary" @click="appCheckCode" v-if="entryPrinting != 0?form.billstatus == '入库中'||form.billstatus == '计划'||form.billstatus == '待入库':form.billstatus == '入库中'">入库确认</u-button>
  143. <u-button type="primary" @click="appCheckCode" v-else-if="entryPrinting == 0?form.billstatus == '计划'||form.billstatus == '待入库':false">叫车进场</u-button>
  144. </view>
  145. <u-modal v-model="submIt" @confirm="submit" :content="content" @cancel="submIt = false" :show-cancel-button="true" />
  146. <u-modal v-model="CheckStatus" @confirm="getForm" :content="content2" @cancel="CheckStatus = false"
  147. :show-cancel-button="true" />
  148. <view style="position: absolute;top: -999999px;">
  149. <view>
  150. <canvas style="width: 1000px;height: 1000px;" canvas-id="firstCanvas"></canvas>
  151. </view>
  152. </view>
  153. </view>
  154. </template>
  155. <script>
  156. export default {
  157. data() {
  158. return {
  159. title: '', //标题
  160. action: this.$u.http.config.baseUrl + '/common/upload',
  161. headers: {
  162. Authorization: 'Bearer ' + this.$store.state.vuex_token
  163. },
  164. content: '是否确认提交',
  165. content2: "数据发生变化,是否需要更新一下?",
  166. fileList: [],
  167. show_bsdate:false,
  168. submIt: false,
  169. formation: false,
  170. list: [],
  171. operationType: '',
  172. lists: [],
  173. warehouseInformation: '',
  174. form: {},
  175. CheckStatus: false,
  176. warehouseBills:{},
  177. entryPrinting:1,
  178. deptName:''
  179. }
  180. },
  181. onLoad: function(option) { //option为object类型,会序列化上个页面传递的参数
  182. this.deptName = uni.getStorageSync('deptName')
  183. this.$u.get('/system/config/configKey/entry.printing').then(res =>{
  184. // console.log(res)
  185. this.entryPrinting = res.msg
  186. })
  187. console.log(option); //打印出上个页面传递的参数.
  188. let listi = {
  189. fId:JSON.parse(decodeURIComponent(option.item)).fId
  190. }
  191. let liste = {
  192. fId:JSON.parse(decodeURIComponent(option.item)).fPid
  193. }
  194. this.$u.get('/warehouseBusiness/applets/appBasicInformation',liste).then(res => {
  195. // console.log(res)
  196. this.list = res.data.warehouse
  197. this.warehouseInformation = this.form.warehouseInformation
  198. })
  199. this.$u.get('/warehouseBusiness/applets/appWarehouseItemDataById',listi).then(res =>{
  200. this.form = res.data.item
  201. this.warehouseInformation = this.form.warehouseInformation
  202. this.warehouseBills =res.data.warehouseBills
  203. this.form.enclosure = res.data.enclosure
  204. for (let item in this.form.enclosure) {
  205. this.fileList.push({
  206. url: this.form.enclosure[item].fUrl,
  207. response: {
  208. fileName: this.form.enclosure[item].fName,
  209. url: this.form.enclosure[item].fUrl
  210. }
  211. })
  212. }
  213. })
  214. uni.showLoading({
  215. title: '加载中'
  216. });
  217. setTimeout(function() {
  218. uni.hideLoading();
  219. }, 1000);
  220. },
  221. methods: {
  222. changeBsdate(e){
  223. this.form.fBsdate = e.result
  224. },
  225. getForm() {
  226. this.$u.get('/warehouseBusiness/applets/appWarehouseItemDataById',{fId: this.form.fId}).then(res => {
  227. this.form = res.data.item
  228. this.warehouseInformation = this.form.warehouseInformation
  229. this.warehouseBills =res.data.warehouseBills
  230. }).catch(err => {
  231. console.log(err)
  232. })
  233. },
  234. mation(e) {
  235. console.log(e)
  236. let res = ''
  237. let id = ''
  238. for (let item in e) {
  239. id = e[item].value
  240. res += e[item].label + '/'
  241. }
  242. this.form.fWarehouseInformation = res.substr(0, res.length - 1)
  243. this.form.fWarehouselocid = id
  244. this.warehouseInformation = res.substr(0, res.length - 1)
  245. },
  246. receiving(id, i) {
  247. // 获取当前时间
  248. let date = new Date();
  249. let dateYear = date.getFullYear(); //获取年 
  250. let dateMonth = date.getMonth(); //获取月  
  251. let dateDate = date.getDate(); //获取当日
  252. uni.setNavigationBarTitle({
  253. title: this.title
  254. })
  255. this.$u.post('/fleet/ftmsorderbillscars/selectDriver',{id: id}).then(res => {
  256. console.log(res)
  257. this.form = res.data.cars
  258. switch (i) {
  259. case 1:
  260. this.form.acceptDate = dateYear + '-' + dateMonth + '-' + dateDate
  261. break
  262. case 3:
  263. this.form.loadDate = dateYear + '-' + dateMonth + '-' + dateDate
  264. break
  265. case 4:
  266. this.form.mdLoadDate = dateYear + '-' + dateMonth + '-' + dateDate
  267. break
  268. case 5:
  269. this.form.unLoadDate = dateYear + '-' + dateMonth + '-' + dateDate
  270. break
  271. default:
  272. uni.showToast({
  273. icon: 'none',
  274. title: '未知错误状态=' + i,
  275. position: "bottom"
  276. })
  277. break
  278. }
  279. if (this.form.acceptDate) {
  280. this.form.acceptDate = this.form.acceptDate.slice(0, 10)
  281. }
  282. if (this.form.loadDate) {
  283. this.form.loadDate = this.form.loadDate.slice(0, 10)
  284. }
  285. if (this.form.mdLoadDate) {
  286. this.form.mdLoadDate = this.form.mdLoadDate.slice(0, 10)
  287. }
  288. if (this.form.unLoadDate) {
  289. this.form.unLoadDate = this.form.unLoadDate.slice(0, 10)
  290. }
  291. }).catch(err => {
  292. uni.showToast({
  293. icon: 'none',
  294. title: '网络繁忙请稍后再试',
  295. position: "bottom"
  296. })
  297. })
  298. },
  299. success(data, index, lists, name) {
  300. // console.log(data)
  301. // console.log(index)
  302. console.log(lists)
  303. // console.log(name)
  304. // console.log(this.fileList)
  305. },
  306. onRemove(res, index, lists, name) {
  307. console.log(res)
  308. },
  309. attachmentP() {
  310. this.lists = []
  311. let lists = this.$refs.uUpload.lists
  312. if (lists.length != 0) {
  313. for (let item in this.$refs.uUpload.lists) {
  314. if (this.$refs.uUpload.lists[item].response) {
  315. this.lists.push({
  316. fUrl: this.$refs.uUpload.lists[item].response.url,
  317. fName: this.$refs.uUpload.lists[item].response.fileName
  318. })
  319. }
  320. }
  321. }
  322. let fileList = []
  323. console.log(this.fileList)
  324. if (this.fileList.length != 0) {
  325. for (let item in this.fileList) {
  326. fileList.push({
  327. fUrl: this.fileList[item].response.url,
  328. fName: this.fileList[item].response.fileName
  329. })
  330. }
  331. }
  332. this.lists = this.lists.concat(fileList)
  333. this.$u.post('/warehouseBusiness/applets/appSubmitWarehouse',{
  334. item: this.form,
  335. attachs: this.lists
  336. }).then(res => {
  337. console.log(res)
  338. if (res.code == 500) {
  339. if (res.msg == 'parseDecimal error, field : oilAmt') {
  340. uni.showToast({
  341. icon: 'none',
  342. title: '数字不正确,请检查后再提交',
  343. position: "bottom"
  344. })
  345. } else {
  346. uni.showToast({
  347. icon: 'none',
  348. title: res.msg,
  349. position: "bottom"
  350. })
  351. }
  352. } else if (res.code == 200) {
  353. // uni.navigateBack();
  354. uni.showToast({
  355. icon: 'none',
  356. title: '保存成功',
  357. position: "bottom"
  358. })
  359. }
  360. }).catch(err => {
  361. uni.showToast({
  362. icon: 'none',
  363. title: '网络繁忙请稍后再试',
  364. position: "bottom"
  365. })
  366. })
  367. },
  368. appCheckCode() {
  369. if(this.form.fWarehouseInformation){
  370. this.$u.get('/warehouseBusiness/applets/appCheckCode',{
  371. fId: this.warehouseBills.fId,
  372. fType: "warehouse",
  373. codeVal: this.warehouseBills.fDateChanged,
  374. }).then(res => {
  375. if (!res.data) {
  376. this.CheckStatus = true
  377. } else {
  378. this.submIt = true
  379. }
  380. })
  381. }else{
  382. uni.showToast({
  383. icon: 'none',
  384. title: '请选择库区',
  385. position: "bottom"
  386. })
  387. }
  388. },
  389. //提交
  390. submit() {
  391. if (this.form.billstatus == '入库中' || this.entryPrinting != 0) {
  392. this.lists = []
  393. let lists = this.$refs.uUpload.lists
  394. if (lists.length != 0) {
  395. for (let item in this.$refs.uUpload.lists) {
  396. if (this.$refs.uUpload.lists[item].response) {
  397. this.lists.push({
  398. fUrl: this.$refs.uUpload.lists[item].response.url,
  399. fName: this.$refs.uUpload.lists[item].response.fileName
  400. })
  401. }
  402. }
  403. }
  404. let fileList = []
  405. if (this.fileList.length != 0) {
  406. for (let item in this.fileList) {
  407. fileList.push({
  408. fUrl: this.fileList[item].response.url,
  409. fName: this.fileList[item].response.fileName
  410. })
  411. }
  412. }
  413. this.lists = this.lists.concat(fileList)
  414. // console.log(this.lists)
  415. this.$u.post('/warehouseBusiness/applets/appOperationConfirmation',{
  416. item: this.form,
  417. attachs: this.lists
  418. }).then(res => {
  419. console.log(res)
  420. if (res.code == 500) {
  421. if (res.msg == 'parseDecimal error, field : oilAmt') {
  422. uni.showToast({
  423. icon: 'none',
  424. title: '数字不正确,请检查后再提交',
  425. position: "bottom"
  426. })
  427. } else {
  428. uni.showToast({
  429. icon: 'none',
  430. title: res.msg,
  431. position: "bottom"
  432. })
  433. }
  434. } else if (res.code == 200) {
  435. uni.navigateBack();
  436. }
  437. }).catch(err => {
  438. uni.showToast({
  439. icon: 'none',
  440. title: '网络繁忙请稍后再试',
  441. position: "bottom"
  442. })
  443. })
  444. } else {
  445. this.$u.post('/warehouseBusiness/applets/appWarehouseOperation',{
  446. item: this.form,
  447. attachs: []
  448. }).then(res => {
  449. console.log(res)
  450. if (res.code == 500) {
  451. if (res.msg == 'parseDecimal error, field : oilAmt') {
  452. uni.showToast({
  453. icon: 'none',
  454. title: '数字不正确,请检查后再提交',
  455. position: "bottom"
  456. })
  457. } else {
  458. uni.showToast({
  459. icon: 'none',
  460. title: res.msg,
  461. position: "bottom"
  462. })
  463. }
  464. } else if (res.code == 200) {
  465. uni.redirectTo({
  466. url: '../index'
  467. });
  468. uni.makePhoneCall({
  469. phoneNumber: '' + this.form.fDriverTel, // 手机号
  470. });
  471. }
  472. }).catch(err => {
  473. uni.showToast({
  474. icon: 'none',
  475. title: '网络繁忙请稍后再试',
  476. position: "bottom"
  477. })
  478. })
  479. }
  480. },
  481. // 上传照片
  482. async beforeUpload(index, list) {
  483. uni.showLoading({
  484. title: '上传中...',
  485. })
  486. var data = await this.getWatermark(index, list);
  487. uni.hideLoading()
  488. return data;
  489. },
  490. //照片添加水印
  491. getWatermark(index, list) {
  492. return new Promise((resolve, reject) => {
  493. var that = this;
  494. uni.getImageInfo({
  495. src: list[index].url,
  496. success: (ress) => {
  497. let ctx = uni.createCanvasContext('firstCanvas'); //创建画布
  498. //将图片src放到cancas内,宽高为图片大小
  499. ctx.drawImage(list[index].url, 0, 0, ress.width / 3, ress.height / 3)
  500. ctx.setFillStyle('#FFFFFF') //字体颜色
  501. let textToWidth = ress.width / 3 * 0.3; //字体宽度
  502. let textToHeight = ress.height / 3; //字体高度
  503. let address = ''
  504. //获取当前时间
  505. let dataTime = new Date().getFullYear() + '-' + Number(new Date()
  506. .getMonth() + 1) + '-' + new Date().getDate() + ' ' + new Date()
  507. .getHours() + ':' + new Date().getMinutes() + ':' + new Date()
  508. .getSeconds()
  509. // 获取地理位置
  510. uni.getLocation({
  511. type: 'gcj02',
  512. geocode: true,
  513. success: function(res) {
  514. address = res.address.province + res.address.city + res.address.district + res.address.street + res.address.streetNum
  515. if (uni.getSystemInfoSync().platform == 'ios') {
  516. ctx.setFontSize(34) //字体大小
  517. ctx.fillText("时间:" + dataTime, textToWidth * 0.2, textToHeight * 0.7) // 设置字体
  518. ctx.fillText("地址:"+address, textToWidth * 0.2,textToHeight * 0.7 + 34) // 设置字体
  519. } else {
  520. ctx.setFontSize(12) //字体大小
  521. ctx.fillText("时间:" + dataTime, textToWidth * 0.2, textToHeight *0.95) // 设置字体
  522. ctx.fillText("地址:"+address, textToWidth * 0.2,textToHeight * 0.95 + 12) // 设置字体
  523. }
  524. ctx.draw(false, () => {
  525. setTimeout(() => { //使用定时是因为制作水印需要时间,设置定时才不会出bug
  526. uni.canvasToTempFilePath({ //将画布中内容转成图片,即水印与图片合成
  527. width: ress.width / 3, // 画布宽
  528. height: ress.height / 3, // 画布高
  529. canvasId: 'firstCanvas',
  530. success: (res) => {
  531. list[index].url = res.tempFilePath
  532. uni.saveImageToPhotosAlbum({ //保存到手机
  533. filePath: res.tempFilePath,
  534. success: (re) => {
  535. resolve(true);
  536. }
  537. })
  538. }
  539. })
  540. }, 500)
  541. });
  542. },
  543. fail: function(e) {
  544. uni.showToast({
  545. icon: 'none',
  546. title: '获取地址失败, 请检查是否开启定位权限',
  547. duration: 5000,
  548. position:'bottom'
  549. })
  550. if (uni.getSystemInfoSync().platform == 'ios') {
  551. ctx.setFontSize(34) //字体大小
  552. ctx.fillText("时间:" + dataTime, textToWidth * 0.2, textToHeight *
  553. 0.7) // 设置字体
  554. ctx.fillText("地址:"+address, textToWidth * 0.2,
  555. textToHeight * 0.7 + 34) // 设置字体
  556. } else {
  557. ctx.setFontSize(12) //字体大小
  558. ctx.fillText("时间:" + dataTime, textToWidth * 0.2, textToHeight *
  559. 0.95) // 设置字体
  560. ctx.fillText("地址:"+address, textToWidth * 0.2,
  561. textToHeight * 0.95 + 12) // 设置字体
  562. }
  563. ctx.draw(false, () => {
  564. setTimeout(() => { //使用定时是因为制作水印需要时间,设置定时才不会出bug
  565. uni.canvasToTempFilePath({ //将画布中内容转成图片,即水印与图片合成
  566. width: ress.width / 3, // 画布宽
  567. height: ress.height / 3, // 画布高
  568. canvasId: 'firstCanvas',
  569. success: (res) => {
  570. list[index].url = res
  571. .tempFilePath
  572. uni.saveImageToPhotosAlbum({ //保存到手机
  573. filePath: res
  574. .tempFilePath,
  575. success: (re) => {
  576. resolve(true);
  577. }
  578. })
  579. }
  580. })
  581. }, 500)
  582. });
  583. }
  584. });
  585. }
  586. })
  587. })
  588. }
  589. }
  590. };
  591. </script>
  592. <style scoped lang="scss">
  593. .basic {
  594. width: 94%;
  595. margin: 10rpx auto;
  596. display: flex;
  597. justify-content: space-between;
  598. }
  599. .basic>view {
  600. margin-bottom: 10rpx;
  601. }
  602. .basic>view:nth-child(1) {
  603. color: #797979;
  604. }
  605. .license {
  606. float: left;
  607. font-size: 32rpx;
  608. }
  609. .ordertop {
  610. width: 96%;
  611. background-color: #fff;
  612. margin: 20rpx auto;
  613. border-radius: 20rpx;
  614. padding-top: 20rpx;
  615. box-shadow: 0px 0px 8px 0px rgba(165, 189, 251, 0.4);
  616. padding-bottom: 10rpx;
  617. }
  618. .ordertop>view:nth-child(1) {
  619. width: 98%;
  620. margin-bottom: 60rpx;
  621. }
  622. .iconblue {
  623. width: 10rpx;
  624. height: 45rpx;
  625. float: left;
  626. background-color: #3a63cf;
  627. margin-right: 10rpx;
  628. }
  629. .various {
  630. float: right;
  631. width: 150rpx;
  632. border: 2rpx solid #3a63cf;
  633. text-align: center;
  634. border-radius: 100rpx;
  635. color: #3a63cf;
  636. }
  637. .line {
  638. width: 92%;
  639. margin: 0 auto;
  640. }
  641. </style>