confirmLoading.vue 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. <!-- 确认装车 -->
  2. <template>
  3. <view class="content">
  4. <!-- <div class='content1'>
  5. <view class="level2-title">承运合同</view>
  6. <view class='row-between'>
  7. <view class="row-left-text">合同编号</view>
  8. <view class="row-right-text">{{detailData.contractNo?detailData.contractNo:'未签订'}}</view>
  9. </view>
  10. </div> -->
  11. <view class="content2">
  12. <view class="level2-title">基本信息</view>
  13. <view class='row-between'>
  14. <view class="row-left-text">订单编号</view>
  15. <view class="row-right-text">{{detailData.orderNo}}</view>
  16. </view>
  17. <view class='row-between'>
  18. <view class="row-left-text">货主</view>
  19. <view class="row-right-text">{{detailData.cargoOwner}}</view>
  20. </view>
  21. <view class='row-between'>
  22. <view class="row-left-text">货主单位</view>
  23. <view class="row-right-text">{{detailData.compName?detailData.compName:'个人货主'}}</view>
  24. </view>
  25. <view class='row-between'>
  26. <view class="row-left-text">发货地</view>
  27. <view class="row-right-text place">
  28. {{detailData.sendPrivate}}{{detailData.sendCity}}{{detailData.sendArea}}{{detailData.sendDetailedAddress}}
  29. </view>
  30. </view>
  31. <view class='row-between'>
  32. <view class="row-left-text">卸货地</view>
  33. <view class="row-right-text place">
  34. {{detailData.unloadPrivate}}{{detailData.unloadCity}}{{detailData.unloadArea}}{{detailData.unloadDetailedAddress}}
  35. </view>
  36. </view>
  37. <view class='row-between'>
  38. <view class="row-left-text">货名</view>
  39. <view class="row-right-text">{{detailData.goodsName}}</view>
  40. </view>
  41. <view class='row-between'>
  42. <view class="row-left-text">运费</view>
  43. <view class="row-right-text">{{detailData.freight}}{{detailData.illingMethod==0?'元/吨':'元/车'}}</view>
  44. </view>
  45. </view>
  46. <view class="content2">
  47. <view class="level2-title">装车信息</view>
  48. <view class='row-between'>
  49. <view class="row-left-text">车牌号</view>
  50. <view class="row-right-text">{{detailData.carrierInfo.carNo}}</view>
  51. </view>
  52. <view class='row-between'>
  53. <view class="row-left-text">装车日期</view>
  54. <view class="row-right-text">{{detailData.carrierInfo.loadingDate}}</view>
  55. </view>
  56. <view class='row-between'>
  57. <view class="row-left-text">预计运费(元)</view>
  58. <view class="row-right-text">{{detailData.carrierInfo.estimatedFreight}}</view>
  59. </view>
  60. <view class='row-between'>
  61. <view class="row-left-text">定位</view>
  62. <view>{{detailData.carrierInfo.sendCity}}{{detailData.carrierInfo.sendArea}}</view>
  63. <!-- <view class="row-right-text place">去授权</view>
  64. <view class="row-right-text place">刷新</view> -->
  65. </view>
  66. <view class='s-flex'>
  67. <view class="row-left-text">上传装车照片</view>
  68. <upload class="upload" ref="upload" :action="action" :max-size="maxSize" :max-count="3"
  69. :size-type="['compressed']" @on-success="getImgUrl" @on-error="onError" @on-remove="onRemove"
  70. @on-uploaded="isAdd = true" :before-upload="filterFileType" @on-progress="onProgress"></upload>
  71. </view>
  72. <!-- <view class='s-flex'>
  73. <view class="row-left-text">上传装车磅单</view>
  74. <upload class="upload" ref="upload" :action="action" :max-size="maxSize" :max-count="1"
  75. :size-type="['compressed']" @on-success="getImgUrl" @on-error="onError" @on-remove="onRemove"
  76. @on-uploaded="isAdd = true" :before-upload="filterFileType" @on-progress="onProgress"></upload>
  77. </view> -->
  78. </view>
  79. <view class="bottom-btn">
  80. <view class="store" @click="submit(1)">暂存</view>
  81. <view class="submit" @click="submit(3)">提交</view>
  82. </view>
  83. <u-modal :show="isShowAlert" :title="alertTitle" :content='alertContent' :closeOnClickOverlay='true'
  84. :showCancelButton='true' confirmColor='#2772FB' @confirm="confirmClick" @close="cancelClick"
  85. @cancel="cancelClick"></u-modal>
  86. <u-toast ref="uToast"></u-toast>
  87. </view>
  88. </template>
  89. <script>
  90. import upload from '@/components/upload.vue';
  91. export default {
  92. components: {
  93. upload
  94. },
  95. data() {
  96. return {
  97. detailData: {
  98. addressUrl: '',
  99. contractNo: 'CYHT20220317000001',
  100. },
  101. action: this.$helper.ossUploadUrl,
  102. maxSize: 50 * 1024 * 1024, //限制文件大小 50M
  103. isAdd: true,
  104. isShowAlert: false,
  105. alertContent: '',
  106. alertTitle: '',
  107. }
  108. },
  109. onLoad(options) {
  110. console.log(options)
  111. this.detailData = options;
  112. this.detailData.contractNo = 'CYHT20220317000001'
  113. this.detailData.id = this.detailData.carrierId
  114. this.detailData.carrierInfo = {
  115. id:this.detailData.carrierId,
  116. carNo: '123',
  117. loadingDate: '2022-03-17',
  118. estimatedFreight: '100',
  119. loadingAreaLongitude: '123.123',
  120. loadingAreaLatitude: '321.321',
  121. sendCity: '营口',
  122. sendArea: '鲅鱼圈',
  123. loadingImg: ''
  124. }
  125. },
  126. methods: {
  127. alertBtn() {
  128. // uni.navigateTo({
  129. // url: '/pages/public/login'
  130. // })
  131. },
  132. cancelClick() {
  133. this.isShowAlert = false
  134. },
  135. getImgUrl(res) {
  136. this.detailData.carrierInfo.loadingImg += res + ','
  137. console.log(res)
  138. console.log('------------res-----------')
  139. },
  140. onError(error) {
  141. alert(error)
  142. console.log('------------error-----------')
  143. console.log(error)
  144. },
  145. onRemove(index) {},
  146. filterFileType(index, lists) {
  147. if (lists[index].fileType != 'jpg' && lists[index].fileType != 'png' && lists[index].fileType != 'gif') {
  148. lists.splice(index, 1);
  149. // 当前文件不支持
  150. uni.showModal({
  151. title: '暂不支持当前图片类型',
  152. showCancel: false
  153. });
  154. } else {
  155. this.isAdd = false;
  156. }
  157. },
  158. onProgress(e) {
  159. console.log(e)
  160. },
  161. submit(type) {
  162. console.log(type)
  163. if (type == 1) {
  164. //暂存
  165. } else {
  166. this.alertContent = '确定提交装车信息?'
  167. this.alertTitle = '提示'
  168. this.isShowAlert = true
  169. this.detailData.statusFlag = type
  170. }
  171. // this.$refs.uToast.show({
  172. // ...params,
  173. // complete() {
  174. // params.url && uni.navigateTo({
  175. // url: params.url
  176. // })
  177. // }
  178. // })
  179. },
  180. confirmClick() {
  181. this.$request.baseRequest('post', '/carrierInfo/loadingAdd', this.detailData.carrierInfo).then(res => {
  182. if (res.code == 200) {
  183. this.$refs.uToast.show({
  184. type: 'success',
  185. message: "提交成功!",
  186. complete() {
  187. uni.switchTab({
  188. url:'/pages/order/index'
  189. })
  190. }
  191. })
  192. }
  193. })
  194. .catch(res => {
  195. uni.$u.toast(res.message);
  196. });
  197. }
  198. },
  199. }
  200. </script>
  201. <style scoped lang="scss">
  202. .content {
  203. .row-left-text {
  204. color: #333333;
  205. }
  206. }
  207. .level2-title {
  208. margin: 0 0 20rpx 0;
  209. }
  210. .content1,
  211. .content2 {
  212. background: white;
  213. margin: 20rpx;
  214. border-radius: 20rpx;
  215. padding: 20rpx;
  216. .place {
  217. width: 80%;
  218. text-align: right;
  219. }
  220. }
  221. .upload {}
  222. .bottom-btn {
  223. display: flex;
  224. justify-content: space-around;
  225. margin-bottom: 50rpx;
  226. background: #FFFFFF;
  227. padding: 40rpx 0;
  228. }
  229. .store {
  230. padding: 20rpx 30rpx;
  231. color: #2772FB;
  232. width: 40%;
  233. background: #EEF4FF;
  234. border-radius: 40rpx;
  235. font-size: 36rpx;
  236. text-align: center;
  237. }
  238. .submit {
  239. font-size: 36rpx;
  240. padding: 20rpx 30rpx;
  241. color: white;
  242. width: 40%;
  243. background: #2772FB;
  244. border-radius: 40rpx;
  245. text-align: center;
  246. }
  247. </style>