addChain.js 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358
  1. const app = getApp();
  2. var dateTimePicker = require('../../../../utils/dateTimePicker');
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. seleteType:[
  9. {name:'支',type:'10'},
  10. {name:'包',type:'20'},
  11. {name:'箱',type:'30'},
  12. {name:'托盘',type:'40'},
  13. {name:'其他',type:'50'},
  14. ],
  15. //运输类型id 10 汽车 20船 30火车 40飞机 50其他
  16. transportType:[
  17. {name:'汽车',type:'10'},
  18. {name:'船',type:'20'},
  19. {name:'火车',type:'30'},
  20. {name:'飞机',type:'40'},
  21. {name:'其他',type:'50'},
  22. ],
  23. transportOrder:{}, // 订单信息
  24. warningList:[],
  25. productList:[],
  26. userInfo:{},
  27. name:'',
  28. deptType:'',
  29. transport:'',
  30. warning:'',
  31. product:'',
  32. num:'',
  33. remark:'',
  34. pid:0,
  35. productId:'',
  36. chainsNum:1,
  37. multiArray: [],
  38. listByType:[],
  39. multiIndex: [],
  40. //时间
  41. dateTimeArray1: null,
  42. dateTime1: null,
  43. startYear: null,
  44. endYear: null,
  45. estiTime:null,
  46. },
  47. /**
  48. * 生命周期函数--监听页面加载
  49. */
  50. onLoad: function (options) {
  51. if(options.item){
  52. var item = JSON.parse(options.item);
  53. this.setData({
  54. item,
  55. name:item.name,
  56. deptType:this.setOptonsType(item.packageType,this.data.seleteType,'type'),
  57. transport:this.setOptonsType(item.transportType,this.data.transportType,'type'),
  58. num:item.num,
  59. remark:item.remark,
  60. pid:item.pid,
  61. productName:item.productName,
  62. productId:item.productId || '',
  63. estiTime:item.estiTime,
  64. })
  65. if(item.id){
  66. this.getInfo(item.id)
  67. }
  68. }else if(options.pid){
  69. this.setData({
  70. pid:options.pid
  71. })
  72. }
  73. var userInfo = wx.getStorageSync('userInfo');
  74. this.setData({userInfo})
  75. this.getWarningList();
  76. // this.getProductInfo();
  77. this.getProductList();
  78. this.getTime()
  79. },
  80. getTime(){
  81. // 获取完整的年月日 时分秒,以及默认显示的数组
  82. var obj = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear);
  83. var obj1 = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear);
  84. // 精确到分的处理,将数组的秒去掉
  85. //var lastArray = obj1.dateTimeArray.pop();
  86. //var lastTime = obj1.dateTime.pop();
  87. this.setData({
  88. dateTimeArray1: obj1.dateTimeArray,
  89. dateTime1: obj1.dateTime
  90. });
  91. },
  92. // 选择日期时间
  93. changeDateTime1(e) {
  94. var that = this;
  95. // {{dateTimeArray1[0][dateTime1[0]]}}-{{dateTimeArray1[1][dateTime1[1]]}}-{{dateTimeArray1[2][dateTime1[2]]}} {{dateTimeArray1[3][dateTime1[3]]}}:{{dateTimeArray1[4][dateTime1[4]]}}:{{dateTimeArray1[5][dateTime1[5]]}}
  96. this.setData({
  97. dateTime1: e.detail.value,
  98. // estiTime:
  99. },()=>{
  100. var dateTimeArray1 = that.data.dateTimeArray1;
  101. var dateTime1 = that.data.dateTime1;
  102. var years = dateTimeArray1[0][dateTime1[0]] //年
  103. var month = dateTimeArray1[1][dateTime1[1]] // 月
  104. var day = dateTimeArray1[2][dateTime1[2]] // 日
  105. var hours = dateTimeArray1[3][dateTime1[3]] // 时
  106. var min = dateTimeArray1[4][dateTime1[4]] // 分
  107. var seconds = dateTimeArray1[5][dateTime1[5]] // 秒
  108. that.setData({
  109. estiTime:years+'-'+month+'-'+day+' '+hours+':'+min+':'+seconds,
  110. })
  111. });
  112. },
  113. changeDateTimeColumn1(e) {
  114. var arr = this.data.dateTime1,
  115. dateArr = this.data.dateTimeArray1;
  116. arr[e.detail.column] = e.detail.value;
  117. dateArr[2] = dateTimePicker.getMonthDay(dateArr[0][arr[0]], dateArr[1][arr[1]]);
  118. this.setData({
  119. dateTimeArray1: dateArr,
  120. dateTime1: arr
  121. });
  122. },
  123. onShow(){
  124. // var orderSelect = wx.getStorageSync('orderSelect') || {}
  125. // this.setData({
  126. // transportOrder:orderSelect,
  127. // transportUid:orderSelect.uid,
  128. // transCode:orderSelect.code,
  129. // })
  130. },
  131. //扫描订单二维码
  132. goOrderScan(){
  133. var that=this
  134. wx.scanCode({
  135. success (res) {
  136. app.requestP({
  137. url: "/transport/pageByCode?code="+res.result,
  138. method: "get",
  139. }).then(res=>{
  140. var data = res.data.rows
  141. if(data.length){
  142. var order = data[0]
  143. that.setData({
  144. transportOrder:{
  145. transCode:order.transportCode,
  146. transportUid:order.transportUid,
  147. },
  148. })
  149. }else{
  150. app.showToptip(this,'error','未查询到此订单')
  151. }
  152. })
  153. }
  154. })
  155. },
  156. //去选择订单绑定页面
  157. goOrderSelcet(){
  158. wx.navigateTo({
  159. url: '/pages/workbench/orderList/orderSelect',
  160. })
  161. },
  162. getInfo(pid){
  163. app.requestP({
  164. url: "/chain/info?chainId="+pid,
  165. method: "post",
  166. contentType: 'application/json',
  167. }).then(res=>{
  168. const {transportCode,transportUid,estiTime} = res.data.data;
  169. this.setData({
  170. transportOrder:{
  171. transCode:transportCode,
  172. transportUid:transportUid,
  173. estiTime,
  174. },
  175. })
  176. })
  177. },
  178. setOptonsType(item,params,type){
  179. var index;
  180. for(var i=0;i<params.length;i++){
  181. if(item == params[i][type]){
  182. index = i;
  183. break;
  184. }
  185. }
  186. return index;
  187. },
  188. setType(e){
  189. //数据
  190. var value = e.detail.value;
  191. this.setData({
  192. deptType:value+''
  193. })
  194. },
  195. setTransportType(e){
  196. var value = e.detail.value;
  197. this.setData({
  198. transport:value+''
  199. })
  200. },
  201. setWarningType(e){
  202. var value = e.detail.value;
  203. this.setData({
  204. warning:value+''
  205. })
  206. },
  207. setProduct(e){
  208. var value = e.detail.value;
  209. var productList = this.data.productList;
  210. console.log(value)
  211. var multiIndex = this.data.multiIndex;
  212. if(productList[1][value[1]]){
  213. this.setData({
  214. multiIndex: e.detail.value,
  215. productName:'请选择'
  216. })
  217. }else{
  218. app.showToptip(this,'error','当前分组暂无产品')
  219. }
  220. },
  221. bindMultiPickerColumnChange(e){
  222. var that = this;
  223. // console.log('修改的列为', e.detail.column, ',值为', e.detail.value);
  224. var data = {
  225. multiArray: this.data.productList,
  226. multiIndex: this.data.multiIndex
  227. };
  228. data.multiIndex[e.detail.column] = e.detail.value;
  229. app.requestP({
  230. url: '/product/pageProduct',
  231. method: 'post',
  232. contentType: ' application/json',
  233. data: {
  234. productTypeId: data.multiArray[0][data.multiIndex[0]].id,
  235. keyword: "",
  236. pageNum: 1,
  237. pageSize: 99
  238. }
  239. }).then(response => {
  240. var productList = 'productList[1]';
  241. that.setData({
  242. [productList]: response.data.data
  243. });
  244. }).catch(err => {
  245. app.showToptip(that, 'error', err.data.msg);
  246. })
  247. this.setData({
  248. productList:data.multiArray,
  249. multiIndex:data.multiIndex
  250. })
  251. },
  252. getWarningList() {
  253. var that = this;
  254. app.requestP({
  255. url: '/tempRuleGroup/list',
  256. method: 'post',
  257. }).then(res => {
  258. that.setData({
  259. warningList: res.data.data,
  260. })
  261. if(that.data.item){
  262. that.setData({warning:that.setOptonsType(that.data.item.ruleGroupId,res.data.data,'id')})
  263. }
  264. }).catch(err=>{
  265. app.showToptip(that,'error',err.data.msg);
  266. })
  267. },
  268. getProductList() { //获取产品类别列表
  269. var that = this;
  270. var arr = [];
  271. var productList = that.data.productList;
  272. var listByType = that.data.listByType;
  273. app.requestP({
  274. url: '/productType/productTypeState',
  275. method: 'post',
  276. data: {
  277. keyword : '',
  278. pageNum:1,
  279. pageSize:99,
  280. productTypeId:''
  281. }
  282. }).then(res => {
  283. var data = res.data.data;
  284. var productList = 'productList[0]';
  285. that.setData({
  286. [productList]:data
  287. })
  288. app.requestP({
  289. url:'/product/pageProduct',
  290. method:'post',
  291. contentType:' application/json',
  292. data:{
  293. productTypeId:data[0].id,
  294. keyword: '',
  295. pageNum: 1,
  296. pageSize: 99
  297. }
  298. }).then(response=>{
  299. var productList = 'productList[1]';
  300. that.setData({
  301. [productList] : response.data.data
  302. });
  303. }).catch(err=>{
  304. app.showToptip(that,'error',err.data.msg);
  305. })
  306. }).catch(err=>{
  307. app.showToptip(that,'error',err.data.msg);
  308. })
  309. },
  310. bindinputWeight(e){
  311. let value =e.detail.value;
  312. value = value.replace(/\D/g, '');
  313. this.setData({
  314. chainsNum: value
  315. });
  316. },
  317. formSubmit(e){
  318. var that = this;
  319. var value = e.detail.value;
  320. const {transportOrder:{transCode,transportUid},seleteType,warningList,productList,transportType,userInfo,item,pid,productId,chainsNum,estiTime} = that.data;
  321. const {name,deptType,transport,warning,nickName,product,num,remarks} = value;
  322. var productInfoId = productId || productList[1][product[1]].id || '';
  323. if (name && estiTime && deptType.length != 0 && transport.length!=0 && warning.length!=0 && nickName && num && productInfoId && String(chainsNum).length > 0) {
  324. app.requestP({
  325. url:item ?'/chain/update':'/chain/createChains',
  326. method:'post',
  327. contentType:' application/json',
  328. data:{
  329. chainsNum,
  330. name,
  331. num,
  332. packageType:seleteType[deptType].type,
  333. ruleGroupId:warningList[warning].id,
  334. productId:productInfoId,
  335. remark:remarks || '',
  336. transportType:transportType[transport].type,
  337. pid,
  338. chainId:item ?item.id:'',
  339. transportUid,
  340. estiTime
  341. }
  342. }).then(res=>{
  343. app.showToptip(this,'success',item ?'修改成功' :'创建成功');
  344. wx.navigateBack({
  345. delta: 1
  346. });
  347. }).catch(err=>{
  348. app.showToptip(this,'error',err.data.msg);
  349. })
  350. }else{
  351. app.showToptip(this,'error','冷链内容不能为空');
  352. }
  353. },
  354. })