exWarehousing.vue 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206
  1. <template>
  2. <view class="warp">
  3. <view class="top">
  4. <view class="top-left">{{warehouseName}}</view>
  5. <view>{{binNumber}}仓位</view>
  6. </view>
  7. <view class="content">
  8. <view class="row">
  9. <view class="left">任务编号</view>
  10. <view @click='inOutShow=true'>{{detailData.inOutTaskNo ? detailData.inOutTaskNo : "暂未获取到任务编号"}}</view>
  11. <u-picker :range="inOutNoList" range-key="inOutTaskNo" @confirm='inOutChange' v-model="inOutShow"
  12. mode="selector">
  13. </u-picker>
  14. </view>
  15. <view class="row ">
  16. <view class="left">已完成量</view>
  17. <view class="right">
  18. <view >{{detailData.donecount?detailData.detailData:'自动获取,不可编辑'}}</view>
  19. </view>
  20. </view>
  21. <view class="row row-bottom">
  22. <view class="left">合同编号</view>
  23. <!-- <view @click='slectcontractNo'>{{detailData.contractNo}}</view> -->
  24. <input v-model='detailData.contractNo' style="width: 200px;" class="right-bottom" placeholder="暂未获取到合同编号" disabled=""></input>
  25. </view>
  26. <view class="row">
  27. <view class="left" style="width: 100px;">提示</view>
  28. <view class="right" style="text-align: right;">{{detailData.tips}}</view>
  29. </view>
  30. <view class="row">
  31. <view class="left">货名</view>
  32. <view class="right">{{detailData.goodsName ? detailData.goodsName : "选择合同,自动获取"}}
  33. </view>
  34. </view>
  35. <view class="row row-bottom" v-if="detailData.inOutType == '销售出库'">
  36. <view class="left">价格(元/吨)</view>
  37. <input type="digit" v-model='detailData.cost' class="right-bottom"
  38. placeholder="输入价格"></input>
  39. </view>
  40. <!-- <view class="row">
  41. <view class="left">类型</view>
  42. <view @click='show1=true'>{{detailData.type}}</view>
  43. <u-picker :range="typeList" range-key="type" @confirm='typePicker($event)' v-model="show1"
  44. mode="selector">
  45. <view class="">{{detailData.type}}</view>
  46. </u-picker>
  47. </view> -->
  48. <view class="row row-bottom">
  49. <view class="left">毛重(吨)</view>
  50. <input type="digit" @input='calculate' v-model='detailData.grossWeight' class="right-bottom"
  51. placeholder="输入毛重"></input>
  52. </view>
  53. <view class="row row-bottom">
  54. <view class="left">皮重(吨)</view>
  55. <input type="digit" @input='calculate' v-model='detailData.tare' class="right-bottom"
  56. placeholder="输入皮重"></input>
  57. </view>
  58. <view class="row row-bottom">
  59. <view class="left">净重(吨)</view>
  60. <input v-model='netWeight' disabled class="right-bottom" placeholder="不可编辑,自动计算"></input>
  61. </view>
  62. <view class="row row-bottom" v-if="detailData.type == '潮粮'">
  63. <view class="left">扣重比</view>
  64. <input type="digit" v-model='detailData.buckleWeightRatio' class="right-bottom" placeholder="输入扣重比"
  65. @input="pureWeightCount"></input>
  66. </view>
  67. <view class="row row-bottom" v-if="detailData.type == '潮粮'">
  68. <view class="left">干粮水分(%)</view>
  69. <input type="digit" v-model='detailData.solidGrainWater' class="right-bottom" placeholder="输入干粮水分占比"
  70. @input="pureWeightCount"></input>
  71. </view>
  72. <view class="row row-bottom" v-if="detailData.type == '潮粮'">
  73. <view class="left">潮粮水分(%)</view>
  74. <input type="digit" v-model='detailData.tidalGrainWater' class="right-bottom" placeholder="输入潮粮水分占比"
  75. @input="pureWeightCount"></input>
  76. </view>
  77. <view class="row row-bottom" v-if="detailData.type == '潮粮'">
  78. <view class="left">纯重(吨)</view>
  79. <input v-model='detailData.pureWeight' class="right-bottom" placeholder="不可编辑,自动计算"></input>
  80. </view>
  81. <view class="row row-bottom">
  82. <view class="left">运费(元/吨)</view>
  83. <input v-model='detailData.freight' class="right-bottom" placeholder="输入运费"></input>
  84. </view>
  85. <view class="row">
  86. <view class="left">品级</view>
  87. <view @click='show3=true'>{{detailData.grade}}</view>
  88. <u-picker :range="pjList" range-key="type" @confirm='pjPicker($event)' v-model="show3" mode="selector">
  89. </u-picker>
  90. </view>
  91. <view class="row">
  92. <view class="left">经办人</view>
  93. <view @click='show6=true'>{{detailData.agent}}</view>
  94. <u-picker :range="handlerList" range-key="staffName" @confirm='handlerPicker($event)' v-model="show6"
  95. mode="selector">
  96. </u-picker>
  97. </view>
  98. <view class="row">
  99. <view class="left">出库日期</view>
  100. <view @click='show7=true'>{{detailData.inOutDate}}</view>
  101. <u-picker v-model="show7" mode="time" @confirm='dateChange($event)' :params="params">
  102. </u-picker>
  103. </view>
  104. <view class="row row-bottom">
  105. <view class="left">出库类型</view>
  106. <input v-model='detailData.inOutType' class="right-bottom" :disabled="isSelectType"
  107. placeholder="自动获取"></input>
  108. <!-- <u-picker :range="warehousingTypeList" range-key="constValue" @confirm='warehousingTypePicker($event)'
  109. v-model="show5" mode="selector">
  110. </u-picker> -->
  111. </view>
  112. <view class="row">
  113. <view class="left">出库方式</view>
  114. <view @click='show8=true'>{{detailData.outType?detailData.outType:'汽运'}}</view>
  115. <u-picker v-model="show8" mode="selector" range-key="name" :range="multiSelector"
  116. @confirm='outtypeChange($event)'>
  117. </u-picker>
  118. </view>
  119. <view class="row row-bottom" v-if="detailData.outType!='火运' && detailData.outType!='散船'">
  120. <!-- <view class="left">车牌号</view>
  121. <input v-if="!isPC" v-model='detailData.carNo' class="right-bottom" placeholder="请输入车牌号"></input>
  122. <view @click='slectCarNo' v-if="isPC">{{detailData.carNo}}</view> -->
  123. <view class="left">车牌号</view>
  124. <!-- 他运合同车牌号输入 -->
  125. <!-- <input v-model='detailData.carNo' @click.stop="handleShowKeyboard":disabled="true" class="right-bottom" placeholder="请输入车牌号" v-if="!showCar"></input> -->
  126. <view v-show="showCar" @click="carno = true" v-if="detailData.inOutType == '移库出库'|| (showCar&&contractType=='1')"><!-- showCar = true时为自运 carjudge为切换状态 contractType==1 为销售合同-->
  127. <view v-if="detailData.tranCarNo">
  128. {{detailData.carNo?detailData.carNo +'('+detailData.tranCarNo+')':"请选择车牌号"}}
  129. </view>
  130. <view v-else>
  131. {{detailData.carNo?detailData.carNo:"请选择车牌号"}}
  132. </view>
  133. </view>
  134. <input v-model='detailData.carNo' @click.stop="handleShowKeyboard":disabled="true" class="right-bottom" placeholder="请输入车牌号" v-else ></input>
  135. <master-keyboard ref="keyboard" keyboardtype="car" :randomNumber="true" :newCar="false" :defaultValue="detailData.carNo" @keyboardClick="handleClick"></master-keyboard>
  136. <!-- <view @click='slectCarNo' v-if="isPC">{{detailData.carNo}}</view> -->
  137. <!-- 自运合同车牌号需下拉 -->
  138. <u-picker :range="carList" range-key="carNo1" @confirm='carPicker($event)' v-model="carno"
  139. mode="selector">
  140. </u-picker>
  141. <!-- <view type="success" @click="carNoTypeChange" class="carNo_but" v-if="showCar||carjudge" v-show="showCar">{{carChange1}}</view> -->
  142. </view>
  143. <view class="row row-bottom" v-if="detailData.outType=='火运'">
  144. <view class="left">车号</view>
  145. <input v-model='detailData.carNo' class="right-bottom" placeholder="请输入车号"></input>
  146. </view>
  147. <view v-if='detailData.outType=="集装箱船"||!detailData.outType||detailData.outType=="汽运"'
  148. class="row row-bottom">
  149. <view class="left">箱号</view>
  150. <input v-model='detailData.boxNo' class="right-bottom" placeholder="请输入箱号" type="digit"></input>
  151. <input v-model='detailData.boxNoOther' class="right-bottom" type="digit" placeholder="请输入箱号"></input>
  152. </view>
  153. <view v-if='!detailData.outType||detailData.outType=="汽运" || detailData.outType=="集装箱船"'
  154. class="row row-bottom">
  155. <view class="left">封号</view>
  156. <input v-model='detailData.titleNo' class="right-bottom" placeholder="请输入封号" type="digit"></input>
  157. <input v-model='detailData.titleNoOther' class="right-bottom" placeholder="请输入封号" type="digit"></input>
  158. </view>
  159. <view v-if='detailData.outType=="火运"' class="row row-bottom">
  160. <view class="left">车厢号</view>
  161. <input v-model='detailData.wingNumber' @input="toUpperCase2" class="right-bottom" placeholder="请输入车厢号"
  162. type="digit"></input>
  163. <input v-model='detailData.wingNumberOther' @input="toUpperCase3" class="right-bottom"
  164. placeholder="请输入车厢号" type="digit"></input>
  165. </view>
  166. <view v-if='detailData.outType=="散船"' class="row row-bottom">
  167. <view class="left">航次</view>
  168. <input v-model='detailData.shipNumber' class="right-bottom" placeholder="请输入航次"></input>
  169. </view>
  170. <view v-if='detailData.outType=="散船"' class="row row-bottom">
  171. <view class="left">船名</view>
  172. <input v-model='detailData.shipName' class="right-bottom" placeholder="请输入船名"></input>
  173. </view>
  174. </view>
  175. <view class="content2">
  176. <view class="left">上传磅单</view>
  177. <upload class="upload" ref="upload" :action="action" :max-size="maxSize" :max-count="1"
  178. :size-type="['compressed']" @on-success="getImgUrl" @on-error="onError" @on-remove="onRemove"
  179. @on-uploaded="isAdd = true" :before-upload="filterFileType" @on-progress="onProgress"></upload>
  180. </view>
  181. <view class="content1">
  182. <view class="title">
  183. 质检数据(选填)
  184. </view>
  185. <view class="row row-bottom">
  186. <view class="left">质检员</view>
  187. <input v-model='detailData.warehouseInOutDetail.qualityInspector' class="right-bottom"
  188. placeholder="输入质检员姓名"></input>
  189. </view>
  190. <view class="row row-bottom">
  191. <view class="left">水分(%)</view>
  192. <input type="digit" v-model='detailData.warehouseInOutDetail.waterContent' class="right-bottom"
  193. placeholder="输入水分占比"></input>
  194. </view>
  195. <view class="row row-bottom">
  196. <view class="left">容重(克/升)</view>
  197. <input type="digit" v-model='detailData.warehouseInOutDetail.bulkDensity' class="right-bottom"
  198. placeholder="输入容重"></input>
  199. </view>
  200. <view class="row row-bottom">
  201. <view class="left">热损伤(%)</view>
  202. <input type="digit" v-model='detailData.warehouseInOutDetail.jiaorenli' class="right-bottom"
  203. placeholder="输入热损伤占比"></input>
  204. </view>
  205. <view class="row row-bottom">
  206. <view class="left">杂质(%)</view>
  207. <input type="digit" v-model='detailData.warehouseInOutDetail.impurity' class="right-bottom"
  208. placeholder="输入杂质占比"></input>
  209. </view>
  210. <view class="row row-bottom">
  211. <view class="left">霉变粒(%)</view>
  212. <input type="digit" v-model='detailData.warehouseInOutDetail.mildewGrain' class="right-bottom"
  213. placeholder="输入霉变粒占比"></input>
  214. </view>
  215. <view class="row row-bottom">
  216. <view class="left">不完善粒(%)</view>
  217. <input type="digit" v-model='detailData.warehouseInOutDetail.imperfectGrain' class="right-bottom"
  218. placeholder="输入不完善粒占比"></input>
  219. </view>
  220. </view>
  221. <u-toast ref="uToast" />
  222. <view class="bottom-btn">
  223. <u-button type="primary" class="submit" hover-class="none" @click="submit(1)">暂存</u-button>
  224. <u-button type="primary" class="submit" hover-class="none" @click="submit(2)">提交</u-button>
  225. </view>
  226. <u-popup v-model="isShowPrint" class="popup" @close="close" mode="bottom" border-radius="30" :closeable="true">
  227. <view class="buns_item">
  228. <view class="but_css" @click="print">打印小票</view>
  229. <view class="but_css" @click="close">返回</view>
  230. </view>
  231. </u-popup>
  232. </view>
  233. </template>
  234. <script>
  235. import upload from '@/components/upload.vue';
  236. import helper from '@/common/helper.js';
  237. import keyboard from "@/components/master-keyboard/master-keyboard.vue";
  238. import {
  239. mapState
  240. } from 'vuex';
  241. export default {
  242. components: {
  243. upload,
  244. keyboard
  245. },
  246. data() {
  247. return {
  248. weightbills: {},
  249. isShowPrint: false,
  250. show: false,
  251. show1: false,
  252. show2: false,
  253. show3: false,
  254. show4: false,
  255. show5: false,
  256. show6: false,
  257. show7: false,
  258. isPC: true,
  259. show8: false,
  260. carno: false,
  261. usestart: '',
  262. multiSelector: [{
  263. name: '汽运',
  264. value: '0'
  265. },
  266. {
  267. name: '火运',
  268. value: '1'
  269. },
  270. {
  271. name: '集装箱船',
  272. value: '2'
  273. },
  274. {
  275. name: '散船',
  276. value: '3'
  277. },
  278. ],
  279. show9: false,
  280. multiSelector1: [{
  281. name: '汽运',
  282. value: '0'
  283. },
  284. {
  285. name: '火运',
  286. value: '1'
  287. },
  288. {
  289. name: '集装箱船',
  290. value: '2'
  291. },
  292. {
  293. name: '散船',
  294. value: '3'
  295. },
  296. ],
  297. isSelectType: true,
  298. // contractNoList: [{
  299. // contractNo: ""
  300. // }],
  301. typeList: [{
  302. type: "干粮"
  303. },
  304. {
  305. type: "潮粮"
  306. }
  307. ],
  308. pjList: [{
  309. type: "一等品"
  310. },
  311. {
  312. type: "二等品"
  313. },
  314. {
  315. type: "三等品"
  316. },
  317. {
  318. type: "等外"
  319. }
  320. ],
  321. handlerList: [],
  322. warehousingTypeList: [],
  323. action: this.$uploadUrl,
  324. maxSize: 50 * 1024 * 1024, //限制文件大小 50M
  325. btnLoading: false, //防止重复点击
  326. isAdd: true,
  327. warehouseName: '',
  328. binNumber: '',
  329. detailData: {
  330. outType: '汽运',
  331. contractNo: "",
  332. type: "干粮",
  333. grade: "请输入品级",
  334. agent: "请选择经办人",
  335. inOutDate: "请选择出库日期",
  336. inOutType: "请选择出库类型",
  337. warehouseInOutDetail: {},
  338. gradeKey: "",
  339. grossWeight: "",
  340. tare: "",
  341. tips: '',
  342. cost:'',
  343. carNo:'',
  344. selfLoading:"0",
  345. goodsName:"",
  346. },
  347. params: {
  348. year: true,
  349. month: true,
  350. day: true,
  351. },
  352. netWeight: "",
  353. inOutShow: false,
  354. inOutNoList: [],
  355. carList: [], //车牌号下拉
  356. showCar: false,
  357. carChange1:"手动填写",
  358. carjudge:false,
  359. contractType:"",
  360. contractList:[],
  361. }
  362. },
  363. computed: {
  364. ...mapState(['hasLogin', 'userInfo'])
  365. },
  366. watch: {
  367. netWeight: function(v) {
  368. this.pureWeightCount()
  369. },
  370. },
  371. onLoad(options) {
  372. this.id = options.id
  373. this.cangId = options.cangId
  374. this.binNumber = helper.erpWarehouse.binNumber
  375. this.warehouseName = helper.erpWarehouse.warehouseName
  376. //查看任务编号
  377. // this.inOutNo()
  378. },
  379. onShow() {
  380. uni.showLoading({
  381. title:"加载中...",
  382. mask:true
  383. })
  384. // let _data = uni.getStorageSync('erpContractNoCK') == '' ? {} : uni.getStorageSync('erpContractNoCK')
  385. // if(_data.goodsName){
  386. // this.detailData.goodsName = _data.goodsName;
  387. // }
  388. // this.detailData.inOutType = _data.inOutType ? _data.inOutType : '';
  389. // if (this.detailData.inOutType == '销售出库') {
  390. // this.detailData.inOutTypeKey = 1
  391. // } else if (this.detailData.inOutType == '移库出库') {
  392. // this.detailData.inOutTypeKey = 3
  393. // } else if (this.detailData.inOutType == '暂存出库') {
  394. // this.detailData.inOutTypeKey = 4
  395. // } else if (this.detailData.inOutType == '贸易服务出库') {
  396. // this.detailData.inOutTypeKey = 5
  397. // } else if (this.detailData.inOutType == '采购出库') {
  398. // this.detailData.inOutTypeKey = 6
  399. // }
  400. // if (_data.contractNo) {
  401. // this.detailData.contractNo = _data.contractNo;
  402. // }
  403. // this.detailData.goodsNameKey = _data.goodsNameKey ? _data.goodsNameKey : '';
  404. // if (!_data.tranCarInfoList) {
  405. // this.isPC = false
  406. // _data.tranCarInfoList = []
  407. // } else {
  408. // this.isPC = true
  409. // if (uni.getStorageSync('ContractNoCarCK')) {
  410. // this.detailData.carNo = uni.getStorageSync('ContractNoCarCK')
  411. // } else {
  412. // this.detailData.carNo = _data.tranCarInfoList[0].carNo
  413. // }
  414. // }
  415. // if (this.detailData.carNo) {
  416. // for (let i = 0; i < uni.getStorageSync('erpContractNoCK').tranCarInfoList.length; i++) {
  417. // if (uni.getStorageSync('erpContractNoCK').tranCarInfoList[i].carNo == this.detailData.carNo)
  418. // this.detailData.tranCarNo = uni.getStorageSync('erpContractNoCK').tranCarInfoList[i].tranCarNo
  419. // }
  420. // }
  421. // if (!this.detailData.contractNo) {
  422. // this.detailData.contractNo = '请选择合同编号'
  423. // } else {
  424. // if (_data.tranCarInfoList.length == 0) {
  425. // this.isPC = false
  426. // }
  427. // }
  428. if (!this.detailData.goodsName) {
  429. this.detailData.goodsName = '暂无'
  430. }
  431. let _day = new Date();
  432. _day.setTime(_day.getTime());
  433. this.detailData.inOutDate = _day.getFullYear() + "-" + (_day.getMonth() + 1) + "-" + _day.getDate();
  434. //出库类型
  435. this.outWarehouse()
  436. if (helper.erpWarehouse.personCharge) {
  437. this.detailData.agent = helper.erpWarehouse.personCharge
  438. }
  439. //经办人
  440. this.handler()
  441. this.inOutNo()
  442. },
  443. methods: {
  444. //切换车牌号输入状态
  445. carNoTypeChange(){
  446. this.carjudge = !this.carjudge
  447. if(!this.carjudge){
  448. this.detailData.selfLoading = "0"
  449. this.carChange1="手动填写"
  450. }else{
  451. this.detailData.selfLoading = "1"
  452. this.carChange1="识别下拉"
  453. }
  454. },
  455. print() {
  456. uni.navigateTo({
  457. url: '/pages/erpbusiness/exbleConnect'
  458. })
  459. },
  460. close() {
  461. this.isShowPrint = false
  462. uni.navigateBack({})
  463. },
  464. hidden(){
  465. this.$refs.keyboard.open(false)
  466. },
  467. handleShowKeyboard(){
  468. if(this.$refs.keyboard.open){
  469. this.$refs.keyboard.open(true)//true 键盘显示 false 键盘隐藏
  470. }else{
  471. this.$refs.keyboard[0].open(true)
  472. }
  473. },
  474. handleClick(e){
  475. this.detailData.carNo = e.value //键盘输入值
  476. },
  477. inOutNo() {
  478. uni.showLoading({
  479. title:"加载中...",
  480. mask:true
  481. })
  482. var that=this
  483. this.$api.doRequest('get', '/inOutWarehouseTask/selectInOutWarehouseNo', {
  484. flag: 1,
  485. warehouseName: this.warehouseName,
  486. agentKey: this.userInfo.id
  487. }).then(res => {
  488. if(res.data.data.length == 0){
  489. this.$api.msg('暂无出库任务')
  490. }else{
  491. this.inOutNoList = res.data.data
  492. this.detailData.goodsNameKey = res.data.data[0].goodsNameKey
  493. this.detailData.inOutTaskNo = this.inOutNoList[0].inOutTaskNo ? this.inOutNoList[0]
  494. .inOutTaskNo : ''
  495. this.detailData.donecount = this.inOutNoList[0].completedQuantity + '/' + this.inOutNoList[0].weight
  496. this.detailData.agent = this.inOutNoList[0].agent
  497. if (this.inOutNoList[0].contractNo) {
  498. this.detailData.contractNo = this.inOutNoList[0].contractNo
  499. } else {
  500. this.detailData.contractNo = this.inOutNoList[0].moveTaskNo
  501. }
  502. this.detailData.goodsName = this.inOutNoList[0].goodsName
  503. this.detailData.goodsNameKey = this.inOutNoList[0].goodsNameKey
  504. this.detailData.grade = this.inOutNoList[0].grade
  505. this.detailData.inOutType = this.inOutNoList[0].inOutType
  506. if (this.detailData.inOutType == '销售出库') {
  507. this.detailData.inOutTypeKey = 1
  508. } else if (this.detailData.inOutType == '移库出库') {
  509. this.detailData.inOutTypeKey = 3
  510. } else if (this.detailData.inOutType == '暂存出库') {
  511. this.detailData.inOutTypeKey = 4
  512. } else if (this.detailData.inOutType == '贸易服务出库') {
  513. this.detailData.inOutTypeKey = 5
  514. } else if (this.detailData.inOutType == '采购出库') {
  515. this.detailData.inOutTypeKey = 6
  516. }
  517. }
  518. this.$api.doRequest('get', '/contractManagementInfo/getOutContract', {
  519. contractNo:this.detailData.contractNo,warehouseName: this.warehouseName,compId:uni.getStorageSync('pcUserInfo').compId
  520. }).then(res => {
  521. if (res.data.code == 200) {
  522. this.contractList = res.data.data
  523. // "MYCGYMHLJ2021102401"
  524. if (this.detailData.inOutType == '销售出库') {
  525. this.detailData.tips = '买方' + res.data.data.buyer
  526. if(res.data.data.unitContractPrice){
  527. this.detailData.cost=res.data.data.unitContractPrice
  528. }
  529. } else if (this.detailData.inOutType == '移库出库') {
  530. this.detailData.tips = '入货库' + this.inOutNoList[0].receiveWarehouse
  531. }
  532. if(this.detailData.inOutType != '移库出库'){
  533. this.contractType = res.data.data.contractType //获取合同类型 用于判断输入车牌号
  534. }
  535. //如果查到该合同
  536. // res.data.data[i].deliverType = !res.data.data[i].deliverType?'1':res.data.data[i].deliverType
  537. if (res.data.data.deliverType == '1') { //判断自运1,他运2合同
  538. that.showCar = true
  539. } else {
  540. that.showCar = false
  541. }
  542. if (res.data.data.tranCarInfoList) {
  543. for(var num = 0 ; num < res.data.data.tranCarInfoList.length; num++){
  544. res.data.data.tranCarInfoList[num].carNo1 = res.data.data.tranCarInfoList[num].carNo + '('+res.data.data.tranCarInfoList[num].tranCarNo+')'
  545. }
  546. this.carList = res.data.data.tranCarInfoList //车牌号下拉列表
  547. }
  548. else{
  549. this.carList =[]
  550. }
  551. uni.hideLoading()
  552. }
  553. })
  554. })
  555. // this.$api.doRequest('get', 'warehouseBaseInfo/selectContractNoList', ).then(res => {
  556. // this.contractNoList = res.data.data
  557. // for (var i = 0; i < this.contractNoList.length; i++) {
  558. // if (this.contractNoList[i].contractNo == this.detailData.contractNo) {
  559. // if (this.detailData.inOutType == '销售出库') {
  560. // this.detailData.tips = '买方' + this.contractNoList[i].buyer
  561. // } else if (this.detailData.inOutType == '移库出库') {
  562. // this.detailData.tips = '入货库' + this.inOutNoList[0].warehouseName
  563. // }
  564. // }
  565. // }
  566. // })
  567. },
  568. inOutChange(e) {
  569. console.log(e)
  570. this.detailData.inOutTaskNo = this.inOutNoList[e[0]].inOutTaskNo
  571. this.detailData.inOutType = this.inOutNoList[e[0]].inOutType
  572. this.detailData.goodsName = this.inOutNoList[e[0]].goodsName
  573. this.detailData.goodsNameKey = this.inOutNoList[e[0]].goodsNameKey
  574. this.detailData.grade = this.inOutNoList[e[0]].grade
  575. this.detailData.donecount = this.inOutNoList[e[0]].completedQuantity + '/' + this.inOutNoList[e[0]].weight
  576. // this.detailData.inOutType = this.inOutNoList[e[0]].inOutType
  577. this.weightbills.goodsName = this.inOutNoList[e[0]].goodsName
  578. // this.contractType = this.inOutNoList[e[0]].contractType //获取合同类型 用于判断输入车牌号
  579. this.detailData.agent = this.inOutNoList[e[0]].agent
  580. if (this.inOutNoList[e[0]].contractNo) {
  581. this.detailData.contractNo = this.inOutNoList[e[0]].contractNo
  582. } else {
  583. this.detailData.contractNo = this.inOutNoList[e[0]].moveTaskNo
  584. }
  585. this.$api.doRequest('get', '/contractManagementInfo/getOutContract', {
  586. contractNo:this.detailData.contractNo,warehouseName: this.warehouseName,compId:uni.getStorageSync('pcUserInfo').compId
  587. }).then(res => {
  588. this.contractList=res.data.data
  589. if(this.detailData.inOutType != '移库出库'){
  590. this.contractType = this.contractList.contractType //获取合同类型 用于判断输入车牌号
  591. }
  592. if (this.contractList.deliverType == '1') { //判断自运1,他运2合同
  593. this.showCar = true
  594. } else {
  595. this.showCar = false
  596. }
  597. if (res.data.data.tranCarInfoList) {
  598. for(var num = 0 ; num < res.data.data.tranCarInfoList.length; num++){
  599. res.data.data.tranCarInfoList[num].carNo1 = res.data.data.tranCarInfoList[num].carNo + '('+res.data.data.tranCarInfoList[num].tranCarNo+')'
  600. }
  601. this.carList = res.data.data.tranCarInfoList //车牌号下拉列表
  602. }
  603. else{
  604. this.carList = []
  605. }
  606. if (this.detailData.inOutType == '销售出库') {
  607. this.detailData.inOutTypeKey=1
  608. this.weightbills.buyer = this.inOutNoList[e[0]].buyer
  609. if(uni.getStorageSync('compName1')){
  610. this.weightbills.seller = uni.getStorageSync('compName1').company
  611. }
  612. if (this.contractList.unitContractPrice) {
  613. this.detailData.tips = '买方' + this.contractList.buyer +
  614. '( ' +
  615. this.contractList.unitContractPrice +
  616. '元/吨)'
  617. this.detailData.cost=this.contractList.unitContractPrice
  618. } else {
  619. this.detailData.tips = '买方' + this.contractList.buyer
  620. this.detailData.cost=''
  621. }
  622. } else if (this.detailData.inOutType == '移库出库') {
  623. this.detailData.inOutTypeKey=3
  624. this.weightbills.buyer = this.inOutNoList[e[0]].receiveWarehouse
  625. if(uni.getStorageSync('compName1')){
  626. this.weightbills.seller = uni.getStorageSync('compName1').company
  627. }
  628. this.detailData.tips = '入货库' + this.inOutNoList[e[0]].receiveWarehouse
  629. }
  630. })
  631. },
  632. toUpperCase(val) {
  633. this.detailData.boxNo = val.detail.value.toUpperCase()
  634. },
  635. toUpperCase1(val) {
  636. this.detailData.boxNoOther = val.detail.value.toUpperCase()
  637. },
  638. usestartChange(e) {
  639. this.usestart = this.multiSelector1[e].name
  640. },
  641. //计算纯重
  642. pureWeightCount() {
  643. if (this.netWeight && this.detailData.buckleWeightRatio && this.detailData.solidGrainWater && this
  644. .detailData.tidalGrainWater) {
  645. // 纯重=净重x[100-(潮粮水分-干粮水分)x扣重比]/100
  646. this.detailData.pureWeight = 100 - (this.detailData.tidalGrainWater - this.detailData
  647. .solidGrainWater) * this.netWeight * this.detailData.buckleWeightRatio / 100
  648. this.detailData.pureWeight = this.detailData.pureWeight.toFixed(3)
  649. }
  650. },
  651. outtypeChange(e) {
  652. this.detailData.outType = this.multiSelector[e].name
  653. console.log(e)
  654. },
  655. toUpperCase2(val) {
  656. this.detailData.wingNumber = val.detail.value.toUpperCase()
  657. },
  658. toUpperCase3(val) {
  659. this.detailData.wingNumberOther = val.detail.value.toUpperCase()
  660. },
  661. outWarehouse() {
  662. this.$api.doRequest('get', '/commonSysParameter/getInfo', {
  663. constId: 'CON6'
  664. }).then(res => {
  665. this.warehousingTypeList = res.data.data
  666. })
  667. },
  668. handler() {
  669. this.$api.doRequest('get', '/staff/query/getStaffListByCompIdAndWarehouseId', {
  670. compId: helper.erpWarehouse.compId,
  671. warehouseId: helper.erpWarehouse.warehouseId
  672. }).then(res => {
  673. this.handlerList = res.data.data
  674. })
  675. },
  676. contractNopicker(e) {
  677. },
  678. typePicker(e) {
  679. this.detailData.type = this.typeList[e].type
  680. },
  681. pjPicker(e) {
  682. this.detailData.gradeKey = e[0] + 1
  683. this.detailData.grade = this.pjList[e].type
  684. },
  685. handlerPicker(e) {
  686. this.detailData.agentKey = e[0]
  687. this.detailData.agent = this.handlerList[e].staffName
  688. },
  689. dateChange(e) {
  690. this.detailData.inOutDate = e.year + "-" + e.month + "-" + e.day
  691. },
  692. warehousingTypePicker(e) {
  693. this.detailData.inOutType = this.warehousingTypeList[e].constValue
  694. if (this.detailData.inOutType == '销售出库') {
  695. this.detailData.inOutTypeKey = 1
  696. } else if (this.detailData.inOutType == '移库出库') {
  697. this.detailData.inOutTypeKey = 3
  698. } else if (this.detailData.inOutType == '暂存出库') {
  699. this.detailData.inOutTypeKey = 4
  700. } else if (this.detailData.inOutType == '贸易服务出库') {
  701. this.detailData.inOutTypeKey = 5
  702. } else if (this.detailData.inOutType == '采购出库') {
  703. this.detailData.inOutTypeKey = 6
  704. }
  705. },
  706. filterFileType(index, lists) {
  707. if (lists[index].fileType != 'jpg' && lists[index].fileType != 'png' && lists[index].fileType != 'gif') {
  708. lists.splice(index, 1);
  709. // 当前文件不支持
  710. uni.showModal({
  711. title: '暂不支持当前图片类型',
  712. showCancel: false
  713. });
  714. } else {
  715. this.isAdd = false;
  716. }
  717. },
  718. calculate() {
  719. if (this.detailData.grossWeight && this.detailData.tare) {
  720. this.netWeight =(this.detailData.grossWeight - this.detailData.tare).toFixed(3)
  721. }
  722. },
  723. getImgUrl(res) {
  724. this.detailData.addressUrl = res
  725. },
  726. onError(error) {
  727. console.log('------------error-----------')
  728. console.log(error)
  729. },
  730. binNumberpicker(e) {
  731. this.detailData.binNumber = this.positionList[e[0]].binNumber
  732. },
  733. carPicker(e) {
  734. // this.detailData.gradeKey = e[0] + 1
  735. // this.detailData.tranCarNo = this.carList[e].tranCarNo
  736. this.detailData.carNo = this.carList[e].carNo
  737. this.detailData.tranCarNo = this.carList[e].tranCarNo
  738. this.detailData.carId = this.carList[e].id
  739. },
  740. onProgress(e) {},
  741. onRemove() {
  742. this.detailData.addressUrl = ""
  743. },
  744. submit(num) {
  745. if (!this.detailData.inOutTaskNo) {
  746. this.$api.msg('暂无出库任务')
  747. return
  748. }
  749. if (!this.detailData.contractNo) {
  750. this.$api.msg('合同编号不能为空')
  751. return
  752. }
  753. if (!this.detailData.goodsName) {
  754. this.$api.msg('货名不能为空')
  755. return
  756. }
  757. if (!this.detailData.grossWeight && num == 2) {
  758. this.$api.msg('毛重不能为空')
  759. return
  760. }
  761. if (isNaN(this.detailData.grossWeight) ||
  762. (String(this.detailData.grossWeight).indexOf('.') != -1 &&
  763. String(this.detailData.grossWeight).length -
  764. (String(this.detailData.grossWeight).indexOf('.') + 1) >
  765. 3) ||
  766. this.detailData.grossWeight < 0 ||
  767. this.detailData.grossWeight > 10000
  768. ) {
  769. this.$api.msg('毛重输入错误!')
  770. return
  771. }
  772. if (!this.detailData.tare && num == 2) {
  773. this.$api.msg('皮重不能为空')
  774. return
  775. }
  776. if (isNaN(this.detailData.tare) ||
  777. (String(this.detailData.tare).indexOf('.') != -1 &&
  778. String(this.detailData.tare).length -
  779. (String(this.detailData.tare).indexOf('.') + 1) >
  780. 3) ||
  781. this.detailData.tare < 0 ||
  782. this.detailData.tare > 10000
  783. ) {
  784. this.$api.msg('皮重输入错误!')
  785. return
  786. }
  787. if (Number(this.detailData.tare) > Number(this.detailData.grossWeight)) {
  788. this.$api.msg('皮重不能大于毛重')
  789. return
  790. }
  791. if (this.netWeight <= 0 && num == 2) {
  792. this.$api.msg('净重不能小于等于0')
  793. return
  794. }
  795. if (this.detailData.type == "潮粮") {
  796. if (!this.detailData.buckleWeightRatio && num == 2) {
  797. this.$api.msg('扣重比不能为空')
  798. return
  799. }
  800. if (isNaN(this.detailData.buckleWeightRatio) ||
  801. (String(this.detailData.buckleWeightRatio).indexOf('.') != -1 &&
  802. String(this.detailData.buckleWeightRatio).length -
  803. (String(this.detailData.buckleWeightRatio).indexOf('.') + 1) >
  804. 2) ||
  805. this.detailData.buckleWeightRatio < 0 ||
  806. this.detailData.buckleWeightRatio > 3
  807. ) {
  808. this.$api.msg('扣重比输入错误!')
  809. return
  810. }
  811. if (!this.detailData.solidGrainWater && num == 2) {
  812. this.$api.msg('干粮水分不能为空')
  813. return
  814. }
  815. if (isNaN(this.detailData.solidGrainWater) ||
  816. (String(this.detailData.solidGrainWater).indexOf('.') != -1 &&
  817. String(this.detailData.solidGrainWater).length -
  818. (String(this.detailData.solidGrainWater).indexOf('.') + 1) >
  819. 1) ||
  820. this.detailData.solidGrainWater < 1 ||
  821. this.detailData.solidGrainWater > 40
  822. ) {
  823. this.$api.msg('干粮水分输入错误!')
  824. return
  825. }
  826. if (!this.detailData.tidalGrainWater && num == 2) {
  827. this.$api.msg('潮粮水分不能为空')
  828. return
  829. }
  830. if (isNaN(this.detailData.tidalGrainWater) ||
  831. (String(this.detailData.tidalGrainWater).indexOf('.') != -1 &&
  832. String(this.detailData.tidalGrainWater).length -
  833. (String(this.detailData.tidalGrainWater).indexOf('.') + 1) >
  834. 1) ||
  835. this.detailData.tidalGrainWater < 1 ||
  836. this.detailData.tidalGrainWater > 40
  837. ) {
  838. this.$api.msg('潮粮水分输入错误!')
  839. return
  840. }
  841. if (this.detailData.tidalGrainWater <= this.detailData.solidGrainWater) {
  842. this.$api.msg('潮粮水分输入错误!')
  843. return
  844. }
  845. if (!this.detailData.pureWeight && num == 2) {
  846. this.$api.msg('纯重不能为空')
  847. return
  848. }
  849. }
  850. if (this.detailData.grade == "请输入品级" && num == 2) {
  851. this.$api.msg('品级不能为空')
  852. return
  853. }
  854. if (!this.detailData.cost && this.detailData.inOutType == '销售出库'&& num == 2) {
  855. this.$api.msg('价格不能为空')
  856. return
  857. }
  858. if (this.detailData.agent == "请选择经办人") {
  859. this.$api.msg('经办人不能为空')
  860. return
  861. }
  862. if (this.detailData.inOutDate == "请选择出库日期") {
  863. this.$api.msg('出库日期不能为空')
  864. return
  865. }
  866. if (this.detailData.inOutType == "请选择出库类型") {
  867. this.$api.msg('出库类型不能为空')
  868. return
  869. }
  870. if (this.detailData.outType == "集装箱船" || this.detailData.outType == "汽运") {
  871. if (!this.detailData.carNo && num == 2) {
  872. this.$api.msg('车牌号不能为空')
  873. return
  874. }
  875. if (this.detailData.carNo.length != 7) {
  876. this.$api.msg('车牌号输入有误!')
  877. return
  878. }
  879. }
  880. if (!this.detailData.addressUrl && num == 2) {
  881. this.$api.msg('请上传磅单')
  882. return
  883. }
  884. if (this.detailData.warehouseInOutDetail.qualityInspector) {
  885. if (this.detailData.warehouseInOutDetail.qualityInspector.length < 2 || this.detailData.warehouseInOutDetail
  886. .qualityInspector.length > 10) {
  887. this.$api.msg('质检员姓名需要2-10个字')
  888. return
  889. }
  890. }
  891. if (this.detailData.warehouseInOutDetail.waterContent) {
  892. if (this.detailData.type == "潮粮" && this.detailData.warehouseInOutDetail.waterContent != this
  893. .detailData.tidalGrainWater) {
  894. this.$api.msg('水分占比与潮粮水分不一致')
  895. return
  896. }
  897. if (this.detailData.type == "干粮") {
  898. if (this.detailData.warehouseInOutDetail.waterContent < 0 || this.detailData.warehouseInOutDetail
  899. .waterContent > 40) {
  900. this.$api.msg('水分占比输入错误')
  901. return
  902. }
  903. }
  904. if (String(this.detailData.warehouseInOutDetail.waterContent).indexOf('.') != -1 && String(this
  905. .detailData.warehouseInOutDetail.waterContent).length - (String(
  906. this.detailData.warehouseInOutDetail.waterContent).indexOf('.') + 1) > 1) {
  907. this.$api.msg('水分占比输入错误')
  908. return
  909. }
  910. }
  911. if (this.detailData.warehouseInOutDetail.bulkDensity) {
  912. if (this.detailData.warehouseInOutDetail.bulkDensity < 500 || this.detailData.warehouseInOutDetail
  913. .bulkDensity > 1000) {
  914. this.$api.msg('容重输入错误')
  915. return
  916. }
  917. if (String(this.detailData.warehouseInOutDetail.bulkDensity).indexOf('.') != -1 && String(this
  918. .detailData.warehouseInOutDetail.bulkDensity).length - (
  919. String(this.detailData.warehouseInOutDetail.bulkDensity).indexOf('.') + 1) > 0) {
  920. this.$api.msg('容重输入错误')
  921. return
  922. }
  923. }
  924. if(this.detailData.goodsName!='小麦'){
  925. if (this.detailData.warehouseInOutDetail.jiaorenli) {
  926. if (this.detailData.warehouseInOutDetail.jiaorenli < 0 || this.detailData.warehouseInOutDetail
  927. .jiaorenli > 40) {
  928. this.$api.msg('热损伤占比输入错误')
  929. return
  930. }
  931. if (String(this.detailData.warehouseInOutDetail.jiaorenli).indexOf('.') != -1 && String(this
  932. .detailData
  933. .warehouseInOutDetail.jiaorenli).length - (String(
  934. this.detailData.warehouseInOutDetail.jiaorenli).indexOf('.') + 1) > 1) {
  935. this.$api.msg('热损伤占比输入错误')
  936. return
  937. }
  938. }
  939. }
  940. if (this.detailData.warehouseInOutDetail.impurity) {
  941. if (this.detailData.warehouseInOutDetail.impurity < 0 || this.detailData.warehouseInOutDetail
  942. .impurity > 40) {
  943. this.$api.msg('杂质占比输入错误')
  944. return
  945. }
  946. if (String(this.detailData.warehouseInOutDetail.impurity).indexOf('.') != -1 && String(this.detailData
  947. .warehouseInOutDetail.impurity).length - (String(
  948. this.detailData.warehouseInOutDetail.impurity).indexOf('.') + 1) > 1) {
  949. this.$api.msg('杂质占比输入错误')
  950. return
  951. }
  952. }
  953. if (this.detailData.warehouseInOutDetail.mildewGrain) {
  954. if (this.detailData.warehouseInOutDetail.mildewGrain < 0 || this.detailData.warehouseInOutDetail
  955. .mildewGrain > 40) {
  956. this.$api.msg('霉变粒占比输入错误')
  957. return
  958. }
  959. if (String(this.detailData.warehouseInOutDetail.mildewGrain).indexOf('.') != -1 && String(this
  960. .detailData
  961. .warehouseInOutDetail.mildewGrain).length - (String(
  962. this.detailData.warehouseInOutDetail.mildewGrain).indexOf('.') + 1) > 1) {
  963. this.$api.msg('霉变粒占比输入错误')
  964. return
  965. }
  966. }
  967. if (this.detailData.warehouseInOutDetail.imperfectGrain) {
  968. if (this.detailData.warehouseInOutDetail.imperfectGrain < 0 || this.detailData.warehouseInOutDetail
  969. .imperfectGrain > 40) {
  970. this.$api.msg('不完善粒占比输入错误')
  971. return
  972. }
  973. if (String(this.detailData.warehouseInOutDetail.imperfectGrain).indexOf('.') != -1 && String(this
  974. .detailData
  975. .warehouseInOutDetail.imperfectGrain).length - (String(
  976. this.detailData.warehouseInOutDetail.imperfectGrain).indexOf('.') + 1) > 1) {
  977. this.$api.msg('不完善粒占比输入错误')
  978. return
  979. }
  980. }
  981. if(!this.showCar){//若自运的合同该字段置空
  982. this.detailData.selfLoading = ""
  983. }
  984. if (this.detailData.boxNo) {
  985. this.detailData.boxNo = this.detailData.boxNo.toUpperCase()
  986. }
  987. if (this.detailData.boxNoOther) {
  988. this.detailData.boxNoOther = this.detailData.boxNoOther.toUpperCase()
  989. }
  990. this.detailData.baseId = helper.erpWarehouse.warehouseId
  991. this.detailData.warehouseName = helper.erpWarehouse.warehouseName
  992. this.detailData.positionId = helper.erpWarehouse.positionId
  993. this.detailData.binNumber = this.binNumber
  994. this.detailData.compId = helper.erpWarehouse.compId
  995. this.detailData.netWeight = this.netWeight
  996. this.detailData.inOutFlag = 1
  997. this.detailData.taskType = "出库任务"
  998. this.detailData.pcFlag = 0
  999. let title = ""
  1000. if (num == 1) {
  1001. this.detailData.statusFlag = 1
  1002. this.detailData.backOffice = this.userInfo.userName
  1003. this.detailData.backOfficeId = this.userInfo.id
  1004. title = "暂存成功"
  1005. } else if (num == 2) {
  1006. this.detailData.statusFlag = 3
  1007. this.detailData.backOffice = this.userInfo.userName
  1008. this.detailData.backOfficeId = this.userInfo.id
  1009. title = "提交成功"
  1010. }
  1011. let that = this
  1012. uni.showModal({
  1013. content: "确定提交出库信息?",
  1014. success(res) {
  1015. if (res.confirm) {
  1016. uni.showLoading({
  1017. title: "正在提交",
  1018. mask: true
  1019. })
  1020. that.$api.doRequest('post', '/warehouseInOutInfo/InOutWarehouse',
  1021. that.detailData).then(res => {
  1022. console.log(res, "报异常")
  1023. if (res.data.code == 200) {
  1024. that.weightbills.carNo = that.detailData.carNo
  1025. that.weightbills.boxNo = that.detailData.boxNo
  1026. that.weightbills.boxNoOther = that.detailData.boxNoOther
  1027. that.weightbills.wingNumber = that.detailData.wingNumber
  1028. that.weightbills.wingNumberOther = that.detailData.wingNumberOther
  1029. that.weightbills.shipName = that.detailData.shipName
  1030. that.weightbills.shipNumber = that.detailData.shipNumber
  1031. that.weightbills.type = that.detailData.type
  1032. that.weightbills.grossWeight = that.detailData.grossWeight
  1033. that.weightbills.tare = that.detailData.tare
  1034. that.weightbills.netWeight = that.detailData.netWeight
  1035. that.weightbills.outType = that.detailData.outType
  1036. that.weightbills.backOffice = that.detailData.outType
  1037. var date = new Date()
  1038. that.weightbills.updateDate = date.getFullYear() + '-' + (date
  1039. .getMonth() + 1) + '-' + date.getDate() + ' ' + date
  1040. .getHours() + ':' + date.getMinutes() + ':' + date.getSeconds()
  1041. that.$api.msg(title)
  1042. that.isShowPrint = true
  1043. uni.setStorageSync("exWarehousing_print", that.weightbills)
  1044. // setTimeout(() => {
  1045. // uni.navigateBack()
  1046. // }, 1000)
  1047. } else {
  1048. that.$api.msg(res.data.message)
  1049. }
  1050. uni.hideLoading()
  1051. })
  1052. .catch(res => {
  1053. uni.hideLoading()
  1054. })
  1055. }
  1056. }
  1057. })
  1058. },
  1059. slectcontractNo() {
  1060. uni.navigateTo({
  1061. url: '/pages/erp/exWarehousing/selectContractNo?flag=' + 5
  1062. })
  1063. },
  1064. slectCarNo() {
  1065. uni.navigateTo({
  1066. url: '/pages/erp/exWarehousing/selectCarNo'
  1067. })
  1068. },
  1069. }
  1070. }
  1071. </script>
  1072. <style scoped lang="scss">
  1073. uni-page-body {
  1074. overflow: hidden;
  1075. }
  1076. .warp {
  1077. margin: 10rpx;
  1078. padding: 20rpx 20rpx 300rpx 20rpx;
  1079. .top {
  1080. display: flex;
  1081. margin-bottom: 20rpx;
  1082. align-items: center;
  1083. .top-left {
  1084. margin-right: 20rpx;
  1085. }
  1086. }
  1087. }
  1088. .content,
  1089. .content1,
  1090. .content2 {
  1091. border-radius: 20rpx;
  1092. background: white;
  1093. padding: 20rpx;
  1094. .title {
  1095. font-size: 28rpx;
  1096. font-weight: 600;
  1097. color: #333333;
  1098. }
  1099. .row {
  1100. display: flex;
  1101. justify-content: space-between;
  1102. border-bottom: 1px solid #EEEEEE;
  1103. padding: 21rpx 0;
  1104. .right,
  1105. input {
  1106. font-size: 28rpx;
  1107. color: #333333;
  1108. }
  1109. }
  1110. .row-bottom {
  1111. // border: 0;
  1112. .right-bottom {
  1113. width: 280rpx;
  1114. text-align: right;
  1115. }
  1116. }
  1117. }
  1118. .content1 {
  1119. margin-top: 20rpx;
  1120. }
  1121. .content2 {
  1122. margin-top: 10px;
  1123. // display: flex;
  1124. align-items: center;
  1125. .left {
  1126. margin-right: 20px;
  1127. }
  1128. }
  1129. .submit {
  1130. width: 40%;
  1131. background: #22C572;
  1132. border-radius: 10rpx;
  1133. }
  1134. .edit-btn {
  1135. background: #22C572;
  1136. width: 100rpx;
  1137. height: 50rpx;
  1138. margin: 0;
  1139. color: white;
  1140. }
  1141. .has-btn {
  1142. align-items: center;
  1143. }
  1144. .bottom-btn {
  1145. padding: 30rpx;
  1146. background: #FFFFFF;
  1147. width: 92%;
  1148. position: fixed;
  1149. bottom: 0rpx;
  1150. display: flex;
  1151. z-index: 9999;
  1152. }
  1153. .buns_item {
  1154. display: flex;
  1155. padding: 80rpx 0 50rpx 0;
  1156. justify-content: space-around;
  1157. }
  1158. .but_css {
  1159. background: #22C572;
  1160. width: 40%;
  1161. padding: 20rpx;
  1162. color: #fff;
  1163. text-align: center;
  1164. border-radius: 20rpx;
  1165. }
  1166. .carNo_but{
  1167. // padding: 2rpx 5rpx;
  1168. background: #19be6b;
  1169. line-height: 50rpx;
  1170. text-align: center;
  1171. width: 130rpx!important;
  1172. height: 50rpx;
  1173. color: #FFFFFF;
  1174. border-radius: 10rpx;
  1175. }
  1176. </style>