contract_detail.vue 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349
  1. <template>
  2. <view class="container">
  3. <!-- <block v-if="TabCur==2"> -->
  4. <view class="cu-form-group">
  5. <view class="title">派车编号</view>
  6. <input disabled name="input" v-model="goods.tranCarNo"></input>
  7. </view>
  8. <view class="cu-form-group">
  9. <view class="title">车牌号</view>
  10. <input maxlength='7' placeholder="请输入车牌号" name="input" v-model="goods.carNo"></input>
  11. </view>
  12. <view class="cu-form-group">
  13. <view class="title">司机手机号</view>
  14. <input placeholder="请输入司机身份认证的手机号" name="input" v-model="goods.driverPhone"></input>
  15. </view>
  16. <view class="cu-form-group">
  17. <view class="title">毛重(吨)</view>
  18. <input placeholder="请输入毛重" type="mobile" name="input" @input="grossWeightchange" v-model="goods.grossWeight"></input>
  19. </view>
  20. <view class="cu-form-group">
  21. <view class="title">皮重(吨)</view>
  22. <input placeholder="请输入皮重" type="mobile" name="input" @input="tarechange" v-model="goods.tare"></input>
  23. </view>
  24. <view class="cu-form-group">
  25. <view class="title">净重(吨)</view>
  26. <input placeholder="自动计算" type="mobile" name="input" v-model="goods.loadNetWeight"></input>
  27. </view>
  28. <view class="cu-form-group">
  29. <view class="title">发货日期</view>
  30. <picker mode="date" :start="startDate" :end="endDate" :value="goods.sendDateStart" @change="DateChange">
  31. <view class="picker">
  32. {{goods.sendDateStart}}
  33. </view>
  34. </picker>
  35. </view>
  36. <view class="cu-bar bg-white margin-top">
  37. <view class="action">
  38. 上传磅单照片
  39. </view>
  40. </view>
  41. <view class="cu-form-group">
  42. <view class="grid col-4 grid-square flex-sub">
  43. <view class="bg-img" v-if="goods.loadPoundImg != ''" @tap="ViewImage" :data-url="goods.loadPoundImg">
  44. <image :src="goods.loadPoundImg" mode="aspectFit"></image>
  45. <view class="cu-tag bg-red" @tap.stop="DelImg" :data-index="0">
  46. <text class='cuIcon-close'></text>
  47. </view>
  48. </view>
  49. <view class="solids" @tap="ChooseImagePerson" v-if="goods.loadPoundImg == ''">
  50. <text class='cuIcon-cameraadd'></text>
  51. </view>
  52. </view>
  53. </view>
  54. <view class="padding flex flex-direction">
  55. <button class="cu-btn commit margin-tb-sm lg" @click="getList">提交</button>
  56. </view>
  57. <!-- </block> -->
  58. </view>
  59. </template>
  60. <script>
  61. import uploadImage from '@/components/ossutil/uploadFile.js';
  62. import {
  63. mapState
  64. } from 'vuex';
  65. export default {
  66. name: "trust",
  67. data() {
  68. return {
  69. goods: {
  70. tranCarNo:'',
  71. carNo:'',
  72. grossWeight:'',
  73. tare:'',
  74. loadNetWeight:'',
  75. loadPoundImg:'',
  76. contractNo:'',
  77. goodsName:'',
  78. sendDateStart:'请选择'
  79. },
  80. carNo:'',
  81. PageCur: "trust",
  82. TabCur: 0,
  83. priceTypeIndex:-1,
  84. priceType: ['库内价', '到库价', '到港价'],
  85. unitPrice:0,
  86. price:'',
  87. seller:'',
  88. sellerPhone:'',
  89. minSale:'',
  90. exsitCount:0,
  91. origin:'',
  92. stock:'',
  93. goodsName:'',
  94. verifyCode:'',
  95. sendText0:'获取验证码',
  96. sendText1:'获取验证码',
  97. sendText2:'获取验证码',
  98. sendText3:'获取验证码',
  99. sendDisabled0: false,
  100. sendDisabled1: false,
  101. sendDisabled2: false,
  102. sendDisabled3: false,
  103. buyer:'',
  104. buyerPhone:'',
  105. level:'',
  106. sender:'',
  107. senderPhone:'',
  108. receiver:'',
  109. receiverPhone:'',
  110. total:0,
  111. startPlace:'',
  112. endPlace:'',
  113. driver:'',
  114. driverPhone:'',
  115. carNo:'',
  116. personNoImg:'',
  117. personNoImg1:'',
  118. driverNoImg:'',
  119. driverNoImg1:'',
  120. carNoImg:'',
  121. carNoImg1:'',
  122. showTran:true
  123. };
  124. },
  125. computed: {
  126. ...mapState(['hasLogin','userInfo']),
  127. startDate() {
  128. //限制开始时间;
  129. //也可以直接限定为当天日期 var date= new Date(); return date
  130. return new Date(new Date(new Date().toLocaleDateString()).getTime()-(1*60*60*1000))
  131. },
  132. endDate() {
  133. return new Date()
  134. }
  135. },
  136. onShow() {
  137. },
  138. onLoad(option) {
  139. this.goods.goodsName=option.goodsName
  140. this.goods.contractNo = option.contractNo
  141. this.goods.tranCarNo=option.tranCarNo
  142. },
  143. methods: {
  144. DateChange(e) {
  145. this.goods.sendDateStart = e.detail.value
  146. },
  147. commit1(item){
  148. uni.navigateTo({
  149. url: `/pageB/contract/look?id=${item.id}&netWeight=${item.netWeight}&carNo=${item.carNo}&sendDateStart=${item.sendDateStart}`
  150. })
  151. },
  152. grossWeightchange(e) {
  153. if (this.goods.grossWeight && this.goods.tare) {
  154. this.goods.loadNetWeight = Number(
  155. this.goods.grossWeight - this.goods.tare
  156. )
  157. }
  158. },
  159. tarechange(e) {
  160. if (this.goods.grossWeight && this.goods.tare) {
  161. this.goods.loadNetWeight = Number(
  162. this.goods.grossWeight - this.goods.tare
  163. )
  164. }
  165. },
  166. getList(){
  167. // tranCarNo:'',
  168. // carNo:'',
  169. // grossWeight:'',
  170. // tare:'',
  171. // loadNetWeight:'',
  172. // loadPoundImg:'',
  173. // contractNo:'',
  174. // goodsName:'',
  175. if(this.goods.carNo.length==0){
  176. this.$api.msg('车牌号不能为空')
  177. return
  178. }
  179. if(this.goods.carNo.length!=7){
  180. this.$api.msg('车牌号输入错误')
  181. return
  182. }
  183. if(this.goods.driverPhone.length==0){
  184. this.$api.msg('手机号不能为空')
  185. return
  186. }
  187. if(this.goods.driverPhone.length!=11){
  188. this.$api.msg('司机手机号输入错误')
  189. return
  190. }
  191. if(this.goods.grossWeight>100){
  192. this.$api.msg('毛重输入错误')
  193. return
  194. }
  195. if(this.goods.tare>50){
  196. this.$api.msg('皮重输入错误')
  197. return
  198. }
  199. this.$api.doRequest('post','/tranCarInfo/api/addTranTask',this.goods).then(res => {
  200. if(res.data.code==200){
  201. uni.showToast({
  202. title: '添加发车信息成功',
  203. icon:'none',
  204. duration: 2000
  205. })
  206. uni.navigateBack();
  207. }else if(res.data.code==11015){
  208. uni.showToast({
  209. title: '该司机未认证身份,请司机认证后再操作',
  210. icon:'none',
  211. duration: 2000
  212. })
  213. }
  214. })
  215. .catch(res => {
  216. uni.showToast({
  217. title: res.errmsg,
  218. icon:'none',
  219. duration: 2000
  220. })
  221. });
  222. },
  223. ChooseImagePerson() {
  224. uni.chooseImage({
  225. count: 1, //默认9
  226. sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
  227. sourceType: ['album','camera'], //从相册选择
  228. success: (res) => {
  229. //上传图片
  230. //图片路径可自行修改
  231. uploadImage(res.tempFilePaths[0], 'loadPoundImg/',
  232. result => {
  233. this.goods.loadPoundImg = result
  234. uni.hideLoading();
  235. }
  236. )
  237. }
  238. });
  239. },
  240. ChooseImageDriver() {
  241. uni.chooseImage({
  242. count: 1, //默认9
  243. sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
  244. sourceType: ['album','camera'], //从相册选择
  245. success: (res) => {
  246. //上传图片
  247. //图片路径可自行修改
  248. uploadImage(res.tempFilePaths[0], 'driverNoImg/',
  249. result => {
  250. if (this.driverNoImg.length != 0) {
  251. this.driverNoImg1 = result
  252. } else {
  253. this.driverNoImg = result
  254. }
  255. uni.hideLoading();
  256. }
  257. )
  258. }
  259. });
  260. },
  261. ChooseImageCar() {
  262. uni.chooseImage({
  263. count: 1, //默认9
  264. sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
  265. sourceType: ['album','camera'], //从相册选择
  266. success: (res) => {
  267. //上传图片
  268. //图片路径可自行修改
  269. uploadImage(res.tempFilePaths[0], 'carNoImg/',
  270. result => {
  271. if (this.carNoImg.length != 0) {
  272. this.carNoImg1 = result
  273. } else {
  274. this.carNoImg = result
  275. }
  276. uni.hideLoading();
  277. }
  278. )
  279. }
  280. });
  281. },
  282. ViewImage(e) {
  283. var img = [];
  284. img = e.currentTarget.dataset.url.split(' ')
  285. uni.previewImage({
  286. current:0,
  287. urls: img
  288. });
  289. },
  290. DelImg(e) {
  291. uni.showModal({
  292. title: '提示',
  293. content: '确定要删除该照片吗?',
  294. cancelText: '取消',
  295. confirmText: '确定',
  296. success: res => {
  297. if (res.confirm) {
  298. if(e.currentTarget.dataset.index == 0){
  299. this.personNoImg = "";
  300. }
  301. else if(e.currentTarget.dataset.index == 1){
  302. this.personNoImg1 = "";
  303. }
  304. else if(e.currentTarget.dataset.index == 2){
  305. this.driverNoImg = "";
  306. }
  307. else if(e.currentTarget.dataset.index == 3){
  308. this.driverNoImg1 = "";
  309. }
  310. else if(e.currentTarget.dataset.index == 4){
  311. this.carNoImg = "";
  312. }
  313. else if(e.currentTarget.dataset.index == 5){
  314. this.carNoImg1 = "";
  315. }
  316. }
  317. }
  318. })
  319. },
  320. },
  321. }
  322. </script>
  323. <style scoped>
  324. .container{
  325. padding-bottom: 160rpx;
  326. }
  327. .cu-form-group input {
  328. text-align: right;
  329. }
  330. .text-white text{
  331. background: linear-gradient(45deg, #3DC146, #B2D612);
  332. padding:5px 10px;
  333. border-radius: 38rpx;
  334. }
  335. .cu-form-group textarea {
  336. text-align: right;
  337. }
  338. .commit{
  339. background: linear-gradient(45deg, #DF331C, #DA611A);
  340. color:#fff;
  341. }
  342. </style>