contract_detail.vue 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483
  1. <template>
  2. <view class="container">
  3. <view class="information">
  4. <!-- <block v-if="TabCur==2"> -->
  5. <view class="c-row">
  6. <view class="title1">发车信息</view>
  7. </view>
  8. <view class="c-row b-b">
  9. <view class="title">派车编号</view>
  10. <view class="con-list">
  11. <input disabled name="input" v-model="goods.tranCarNo"></input>
  12. </view>
  13. </view>
  14. <view class="c-row b-b">
  15. <view class="title">车牌号</view>
  16. <view class="con-list">
  17. <input maxlength='7' placeholder="请输入车牌号" name="input" v-model="goods.carNo"></input>
  18. </view>
  19. </view>
  20. <view class="c-row b-b">
  21. <view class="title">司机手机号</view>
  22. <view class="con-list">
  23. <input maxlength='11' placeholder="请输入司机手机号" name="input" v-model="goods.driverPhone"></input>
  24. </view>
  25. </view>
  26. <view class="c-row b-b">
  27. <view class="title">毛重(吨)</view>
  28. <view class="con-list">
  29. <input placeholder="请输入毛重" type="mobile" name="input" @input="grossWeightchange" v-model="goods.grossWeight"></input>
  30. </view>
  31. </view>
  32. <view class="c-row b-b">
  33. <view class="title">皮重(吨)</view>
  34. <view class="con-list">
  35. <input placeholder="请输入皮重" type="mobile" name="input" @input="tarechange" v-model="goods.tare"></input>
  36. </view>
  37. </view>
  38. <view class="c-row b-b">
  39. <view class="title">净重(吨)</view>
  40. <view class="con-list">
  41. <view class="con-list">
  42. <input placeholder="自动计算" type="mobile" name="input" v-model="goods.loadNetWeight"></input>
  43. </view>
  44. </view>
  45. </view>
  46. <view class="c-row ">
  47. <view class="title">发货日期</view>
  48. <view class="con-list">
  49. <view @click="show = true">{{goods.sendDateStart!=''?goods.sendDateStart:time}}</view>
  50. <u-picker :params='params' :default-time='time' @confirm="DateChange" v-model="show" mode="time"></u-picker>
  51. </view>
  52. </view>
  53. </view>
  54. <view class="information">
  55. <view class="c-row">
  56. <view class="action">
  57. 上传磅单照片
  58. </view>
  59. </view>
  60. <view class="c-row">
  61. <view class="grid col-4 grid-square flex-sub">
  62. <view class="bg-img" v-if="goods.loadPoundImg != ''" @tap="ViewImage" :data-url="goods.loadPoundImg">
  63. <image :src="goods.loadPoundImg" mode="aspectFit"></image>
  64. <view class="cu-tag bg-red" @tap.stop="DelImg" :data-index="0">
  65. <text class='cuIcon-close'></text>
  66. </view>
  67. </view>
  68. <view class="solids" @tap="ChooseImagePerson" v-if="goods.loadPoundImg == ''">
  69. <text class='cuIcon-cameraadd'></text>
  70. </view>
  71. </view>
  72. </view>
  73. </view>
  74. <button class="btn btns" @click="getList">提交</button>
  75. <!-- </block> -->
  76. </view>
  77. </template>
  78. <script>
  79. import uploadImage from '@/components/ossutil/uploadFile.js';
  80. import {
  81. mapState
  82. } from 'vuex';
  83. export default {
  84. name: "trust",
  85. data() {
  86. return {
  87. goods: {
  88. tranCarNo:'',
  89. carNo:'',
  90. grossWeight:'',
  91. tare:'',
  92. loadNetWeight:'',
  93. loadPoundImg:'',
  94. contractNo:'',
  95. goodsName:'',
  96. sendDateStart:''
  97. },
  98. params:{
  99. year: true,
  100. month: true,
  101. day: true,
  102. },
  103. carNo:'',
  104. PageCur: "trust",
  105. TabCur: 0,
  106. priceTypeIndex:-1,
  107. priceType: ['库内价', '到库价', '到港价'],
  108. unitPrice:0,
  109. price:'',
  110. seller:'',
  111. sellerPhone:'',
  112. minSale:'',
  113. exsitCount:0,
  114. origin:'',
  115. stock:'',
  116. show:false,
  117. goodsName:'',
  118. verifyCode:'',
  119. sendText0:'获取验证码',
  120. sendText1:'获取验证码',
  121. sendText2:'获取验证码',
  122. sendText3:'获取验证码',
  123. sendDisabled0: false,
  124. sendDisabled1: false,
  125. sendDisabled2: false,
  126. sendDisabled3: false,
  127. buyer:'',
  128. buyerPhone:'',
  129. level:'',
  130. sender:'',
  131. senderPhone:'',
  132. receiver:'',
  133. receiverPhone:'',
  134. total:0,
  135. startPlace:'',
  136. endPlace:'',
  137. driver:'',
  138. driverPhone:'',
  139. carNo:'',
  140. personNoImg:'',
  141. personNoImg1:'',
  142. driverNoImg:'',
  143. driverNoImg1:'',
  144. carNoImg:'',
  145. carNoImg1:'',
  146. goodsName:'',
  147. showTran:true
  148. };
  149. },
  150. computed: {
  151. ...mapState(['hasLogin','userInfo']),
  152. time() {
  153. var date=new Date()
  154. var year=date.getFullYear()
  155. var month=date.getMonth()
  156. var date1=date.getDate()
  157. if(month+1<10){
  158. month="0"+(month+1)
  159. }
  160. if(date1+1<10){
  161. date1="0"+date1
  162. }
  163. return year+'-'+month+"-"+date1
  164. },
  165. startDate() {
  166. //限制开始时间;
  167. //也可以直接限定为当天日期 var date= new Date(); return date
  168. return new Date(new Date(new Date().toLocaleDateString()).getTime()-(1*60*60*1000))
  169. },
  170. endDate() {
  171. return new Date()
  172. }
  173. },
  174. onShow() {
  175. },
  176. onLoad(option) {
  177. this.goods.planId=option.planId
  178. this.goodsName=option.goodsName
  179. this.contractNo = option.contractNo
  180. this.goods.goodsName=option.goodsName
  181. this.goods.contractNo = option.contractNo
  182. this.goods.tranCarNo=option.tranCarNo
  183. console.log(this.goods.tranCarNo)
  184. },
  185. methods: {
  186. DateChange(e) {
  187. this.goods.sendDateStart=e.year+'-'+e.month+'-'+e.day
  188. // this.goods.sendDateStart = e.detail.value
  189. },
  190. commit1(item){
  191. uni.navigateTo({
  192. url: `/pageB/contract/look?id=${item.id}&netWeight=${item.netWeight}&carNo=${item.carNo}&sendDateStart=${item.sendDateStart}`
  193. })
  194. },
  195. grossWeightchange(e) {
  196. if (this.goods.grossWeight && this.goods.tare) {
  197. this.goods.loadNetWeight = Number(
  198. this.goods.grossWeight - this.goods.tare
  199. )
  200. }
  201. },
  202. tarechange(e) {
  203. if (this.goods.grossWeight && this.goods.tare) {
  204. this.goods.loadNetWeight = Number(
  205. this.goods.grossWeight - this.goods.tare
  206. )
  207. }
  208. },
  209. getList(){
  210. // tranCarNo:'',
  211. // carNo:'',
  212. // grossWeight:'',
  213. // tare:'',
  214. // loadNetWeight:'',
  215. // loadPoundImg:'',
  216. // contractNo:'',
  217. // goodsName:'',
  218. if(this.goods.carNo.length==0){
  219. this.$api.msg('车牌号不能为空')
  220. return
  221. }
  222. if(this.goods.carNo.length!=7){
  223. this.$api.msg('车牌号输入错误')
  224. return
  225. }
  226. if(this.goods.driverPhone.length==0){
  227. this.$api.msg('手机号不能为空')
  228. return
  229. }
  230. if(this.goods.driverPhone.length!=11){
  231. this.$api.msg('司机手机号输入错误')
  232. return
  233. }
  234. if(this.goods.grossWeight==''){
  235. this.$api.msg('毛重不能为空')
  236. return
  237. }
  238. if(this.goods.tare==''){
  239. this.$api.msg('皮重不能为空')
  240. return
  241. }
  242. if(this.goods.grossWeight>100){
  243. this.$api.msg('毛重输入错误')
  244. return
  245. }
  246. if(this.goods.tare>50){
  247. this.$api.msg('皮重输入错误')
  248. return
  249. }
  250. var that=this
  251. uni.showModal({
  252. content: '确定提交发车信息?',
  253. success: function (res) {
  254. if (res.confirm) {
  255. that.$api.doRequest('post','/tranCarInfo/api/addTranTask',that.goods).then(res => {
  256. if(res.data.code==200){
  257. console.log(that.goods)
  258. uni.showModal({
  259. content: '提交成功!',
  260. success: function (res) {
  261. if (res.confirm) {
  262. var result = that.goods.tranCarNo.substr(that.goods.tranCarNo.indexOf("C") + 1,that.goods.tranCarNo.length);
  263. var num=Number(result)+1
  264. if(num<=9){
  265. num='C00'+num
  266. }else if(num<100&&num>9){
  267. num='C0'+num
  268. }else if(num<1000&&num>99){
  269. num='C'+num
  270. }
  271. that.goods={
  272. tranCarNo:num,
  273. carNo:'',
  274. grossWeight:'',
  275. tare:'',
  276. loadNetWeight:'',
  277. loadPoundImg:'',
  278. contractNo:that.contractNo,
  279. goodsName:that.goodsName,
  280. sendDateStart:''
  281. }
  282. }else if (res.cancel) {
  283. uni.navigateBack();
  284. }
  285. }
  286. });
  287. }else if(res.data.code==11015){
  288. uni.showToast({
  289. title: '该司机未认证身份,请司机认证后再操作',
  290. icon:'none',
  291. duration: 2000
  292. })
  293. }
  294. })
  295. .catch(res => {
  296. uni.showToast({
  297. title: res.errmsg,
  298. icon:'none',
  299. duration: 2000
  300. })
  301. });
  302. } else if (res.cancel) {
  303. }
  304. }
  305. });
  306. },
  307. ChooseImagePerson() {
  308. uni.chooseImage({
  309. count: 1, //默认9
  310. sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
  311. sourceType: ['album','camera'], //从相册选择
  312. success: (res) => {
  313. //上传图片
  314. //图片路径可自行修改
  315. uploadImage(res.tempFilePaths[0], 'loadPoundImg/',
  316. result => {
  317. this.goods.loadPoundImg = result
  318. uni.hideLoading();
  319. }
  320. )
  321. }
  322. });
  323. },
  324. ChooseImageDriver() {
  325. uni.chooseImage({
  326. count: 1, //默认9
  327. sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
  328. sourceType: ['album','camera'], //从相册选择
  329. success: (res) => {
  330. //上传图片
  331. //图片路径可自行修改
  332. uploadImage(res.tempFilePaths[0], 'driverNoImg/',
  333. result => {
  334. if (this.driverNoImg.length != 0) {
  335. this.driverNoImg1 = result
  336. } else {
  337. this.driverNoImg = result
  338. }
  339. uni.hideLoading();
  340. }
  341. )
  342. }
  343. });
  344. },
  345. ChooseImageCar() {
  346. uni.chooseImage({
  347. count: 1, //默认9
  348. sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
  349. sourceType: ['album','camera'], //从相册选择
  350. success: (res) => {
  351. //上传图片
  352. //图片路径可自行修改
  353. uploadImage(res.tempFilePaths[0], 'carNoImg/',
  354. result => {
  355. if (this.carNoImg.length != 0) {
  356. this.carNoImg1 = result
  357. } else {
  358. this.carNoImg = result
  359. }
  360. uni.hideLoading();
  361. }
  362. )
  363. }
  364. });
  365. },
  366. ViewImage(e) {
  367. var img = [];
  368. img = e.currentTarget.dataset.url.split(' ')
  369. uni.previewImage({
  370. current:0,
  371. urls: img
  372. });
  373. },
  374. DelImg(e) {
  375. uni.showModal({
  376. title: '提示',
  377. content: '确定要删除该照片吗?',
  378. cancelText: '取消',
  379. confirmText: '确定',
  380. success: res => {
  381. if (res.confirm) {
  382. if(e.currentTarget.dataset.index == 0){
  383. this.personNoImg = "";
  384. }
  385. else if(e.currentTarget.dataset.index == 1){
  386. this.personNoImg1 = "";
  387. }
  388. else if(e.currentTarget.dataset.index == 2){
  389. this.driverNoImg = "";
  390. }
  391. else if(e.currentTarget.dataset.index == 3){
  392. this.driverNoImg1 = "";
  393. }
  394. else if(e.currentTarget.dataset.index == 4){
  395. this.carNoImg = "";
  396. }
  397. else if(e.currentTarget.dataset.index == 5){
  398. this.carNoImg1 = "";
  399. }
  400. }
  401. }
  402. })
  403. },
  404. },
  405. }
  406. </script>
  407. <style scoped>
  408. .container{
  409. padding: 10px 10px;
  410. background-color: #F5F6FA;
  411. }
  412. .title1{
  413. font-size: 18px;
  414. font-weight: 600;
  415. }
  416. .cu-form-group input {
  417. text-align: right;
  418. }
  419. .text-white text{
  420. background: linear-gradient(45deg, #3DC146, #B2D612);
  421. padding:5px 10px;
  422. border-radius: 38rpx;
  423. }
  424. .cu-form-group textarea {
  425. text-align: right;
  426. }
  427. .commit{
  428. background: linear-gradient(45deg, #DF331C, #DA611A);
  429. color:#fff;
  430. }
  431. .c-row {
  432. display: -webkit-box;
  433. display: -webkit-flex;
  434. display: flex;
  435. -webkit-box-align: center;
  436. -webkit-align-items: center;
  437. align-items: center;
  438. padding: 20rpx 30rpx;
  439. position: relative;
  440. }
  441. .con-list {
  442. -webkit-box-flex: 1;
  443. -webkit-flex: 1;
  444. flex: 1;
  445. display: -webkit-box;
  446. display: -webkit-flex;
  447. display: flex;
  448. -webkit-box-orient: vertical;
  449. -webkit-box-direction: normal;
  450. -webkit-flex-direction: column;
  451. flex-direction: column;
  452. color: #303133;
  453. line-height: 40rpx;
  454. text-align: right;
  455. padding-right: 20rpx;
  456. font-size: 14px;
  457. }
  458. .information{
  459. background-color: #FFFFFF;
  460. border-radius: 20px;
  461. margin-top: 10px;
  462. }
  463. .btn{
  464. margin-top: 10px;
  465. border-radius: 25px;
  466. background-color: #22C572;
  467. border: none;
  468. color: #FFFFFF;
  469. }
  470. </style>