pan.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471
  1. Page({
  2. /**
  3. * 页面的初始数据
  4. */
  5. data: {
  6. mark:'',
  7. showRollFilm:false,
  8. showNumber:false,
  9. chooseIndex:null,
  10. searchValue:'',
  11. productList:[],
  12. rollFilmList:[],
  13. searchList:[],
  14. set_status:''
  15. },
  16. onSearchRollFilm(event){
  17. let arr = [];
  18. arr = this.data.rollFilmList.filter(v=>v.title.indexOf(event.detail)!=-1);
  19. this.setData({
  20. searchList:arr
  21. })
  22. },
  23. handleChooseRollFilm(data){
  24. let arr = this.data.productList;
  25. arr[this.data.chooseIndex].roll_film_id = data.target.dataset.item.id;
  26. arr[this.data.chooseIndex].roll_film_name = data.target.dataset.item.title;
  27. arr[this.data.chooseIndex].roll_film_number = '';
  28. arr[this.data.chooseIndex].basic_roll_film_name = data.target.dataset.item.b_r_f_name;
  29. arr[this.data.chooseIndex].basic_roll_film_id = data.target.dataset.item.b_r_f_id;
  30. this.setData({
  31. showRollFilm:false,
  32. productList:arr
  33. })
  34. },
  35. onSearchNumber(event){
  36. let arr = this.data.rollFilmList.find(v=>v.id==this.data.productList[this.data.chooseIndex].roll_film_id).roll_film_number_arr;
  37. let arr1 = arr.filter(v=>v.roll_film_number.indexOf(event.detail)!=-1);
  38. this.setData({
  39. searchList:arr1
  40. })
  41. },
  42. handleChooseNumber(data){
  43. let arr = this.data.productList;
  44. arr[this.data.chooseIndex].roll_film_number = data.target.dataset.item.roll_film_number;
  45. arr[this.data.chooseIndex].inventory_number = data.target.dataset.item.number;
  46. arr[this.data.chooseIndex].number = data.target.dataset.item.number;
  47. arr[this.data.chooseIndex].inventory_id = data.target.dataset.item.inventory_id;
  48. this.setData({
  49. showNumber:false,
  50. productList:arr
  51. })
  52. },
  53. onChooseNumber(data){
  54. if(this.data.productList[data.target.dataset.index].roll_film_id){
  55. let arr = this.data.rollFilmList.find(v=>v.id==this.data.productList[data.target.dataset.index].roll_film_id).roll_film_number_arr;
  56. this.setData({
  57. showNumber:true,
  58. chooseIndex:data.target.dataset.index,
  59. searchList:arr,
  60. searchValue:''
  61. })
  62. }else{
  63. wx.showToast({
  64. icon:'error',
  65. title: '请选择卷膜型号',
  66. })
  67. }
  68. },
  69. onChooseRollFilm(data){
  70. this.setData({
  71. showRollFilm:true,
  72. chooseIndex:data.target.dataset.index,
  73. searchList:this.data.rollFilmList,
  74. searchValue:''
  75. })
  76. },
  77. handleCancel(){
  78. this.setData({
  79. showNumber:false,
  80. showRollFilm:false,
  81. searchValue:'',
  82. searchList:[]
  83. })
  84. },
  85. handleAdd(){
  86. let arr = this.data.productList;
  87. arr.push({
  88. basic_roll_film_id:'',
  89. basic_roll_film_name:"",
  90. roll_film_id:'',
  91. roll_film_name:"",
  92. roll_film_number:'',
  93. number:'',
  94. inventory_number:0,
  95. inventory_id:0
  96. })
  97. this.setData({
  98. productList:arr
  99. })
  100. },
  101. handleDelete(data){
  102. let arr = this.data.productList;
  103. arr.splice(data.target.dataset.index,1);
  104. console.log(arr);
  105. this.setData({
  106. productList:arr
  107. })
  108. },
  109. handleNext(){
  110. let app = getApp();
  111. let data = {};
  112. data.openid = app.globalData.openID;
  113. data.sub = JSON.parse(JSON.stringify(this.data.productList));
  114. data.out =[];
  115. data.in = [];
  116. data.sub.forEach(v=>{
  117. if(v.number>v.inventory_number){
  118. v.loss_gain_number = v.number-v.inventory_number;
  119. v.inventory_loss_number = 0;
  120. data.in.push(v)
  121. }
  122. if(v.number<v.inventory_number){
  123. v.loss_gain_number = 0;
  124. v.inventory_loss_number = v.inventory_number-v.number;
  125. data.out.push(v)
  126. }
  127. if(v.number==v.inventory_number){
  128. v.loss_gain_number = 0;
  129. v.inventory_loss_number = 0;
  130. }
  131. v.inventory_number = v.number;
  132. })
  133. data.in.forEach(v=>{
  134. v.inventory_number = v.number;
  135. })
  136. data.out.forEach(v=>{
  137. v.inventory_number = v.number;
  138. })
  139. data.storehouse_id = app.globalData.storehouse_id;
  140. data.mark = this.data.mark;
  141. if(this.data.set_status){
  142. data.order_number = app.globalData.detailData.order_number;
  143. data.in_status = app.globalData.detailData.in_status;
  144. data.out_status = app.globalData.detailData.out_status;
  145. data.status = app.globalData.detailData.status;
  146. wx.p.request({
  147. url: `${app.globalData.url}wx/inventoryEdit`,
  148. method:'POST',
  149. data
  150. }).then(res=>{
  151. if(res.data.code==200){
  152. wx.showToast({
  153. title: res.data.msg
  154. })
  155. app.globalData={
  156. stepData:[],
  157. openID:app.globalData.openID,
  158. url:'https://zhapi.qingyaokeji.com/'
  159. }
  160. wx.redirectTo({
  161. url: '../report/PanList/PanList',
  162. })
  163. }else{
  164. wx.showModal({
  165. content: res.data.msg,
  166. showCancel:false,
  167. confirmText:'返回'
  168. })
  169. }
  170. })
  171. }else{
  172. wx.p.request({
  173. url: `${app.globalData.url}wx/inventoryAdd`,
  174. method:'POST',
  175. data
  176. }).then(res=>{
  177. if(res.data.code==200){
  178. wx.showToast({
  179. title: res.data.msg
  180. })
  181. wx.redirectTo({
  182. url: '../../../pages/zero/zero',
  183. })
  184. }else{
  185. wx.showModal({
  186. content: res.data.msg,
  187. showCancel:false,
  188. confirmText:'返回'
  189. })
  190. }
  191. })
  192. }
  193. },
  194. handleChangeMark(e){
  195. this.setData({
  196. mark:e.detail
  197. })
  198. },
  199. handleChangeNumber(e){
  200. if(e.detail){
  201. var index = e.currentTarget.dataset.index;
  202. var app = getApp();
  203. var openid = app.globalData.openID;
  204. var storehouse_id = app.globalData.storehouse_id;
  205. let arr = this.data.productList;
  206. wx.p.request({
  207. url: `${app.globalData.url}wx/getFilmByNumber`,
  208. method:'POST',
  209. data:{
  210. openid,
  211. roll_film_number:e.detail.value,
  212. storehouse_id
  213. }
  214. }).then(req=>{
  215. if(req.data.code==200){
  216. arr[index].roll_film_number = e.detail.value;
  217. arr[index].basic_roll_film_id = req.data.data.b_r_f_id;
  218. arr[index].basic_roll_film_name = req.data.data.b_r_f_name;
  219. arr[index].roll_film_id = req.data.data.id;
  220. arr[index].roll_film_name = req.data.data.title;
  221. arr[index].number = req.data.data.number;
  222. arr[index].inventory_number = req.data.data.number;
  223. arr[index].inventory_id = req.data.data.inventory_id;
  224. this.setData({
  225. productList:arr,
  226. })
  227. }else{
  228. wx.showToast({
  229. title: req.data.msg,
  230. })
  231. }
  232. })
  233. }
  234. },
  235. scanBarcode(data) {
  236. var that = this;
  237. var index = data.target.dataset.index;
  238. var app = getApp();
  239. var openid = app.globalData.openID;
  240. var storehouse_id = app.globalData.storehouse_id;
  241. wx.scanCode({
  242. success: function(res) {
  243. let arr = that.data.productList;
  244. wx.p.request({
  245. url: `${app.globalData.url}wx/getFilmByNumber`,
  246. method:'POST',
  247. data:{
  248. openid,
  249. roll_film_number:res.result,
  250. storehouse_id
  251. }
  252. }).then(req=>{
  253. if(req.data.code==200){
  254. arr[index].roll_film_number = res.result;//条形码信息
  255. arr[index].basic_roll_film_id = req.data.data.b_r_f_id;
  256. arr[index].basic_roll_film_name = req.data.data.b_r_f_name;
  257. arr[index].roll_film_id = req.data.data.id;
  258. arr[index].roll_film_name = req.data.data.title;
  259. arr[index].number = req.data.data.number;
  260. arr[index].inventory_number = req.data.data.number;
  261. arr[index].inventory_id = req.data.data.inventory_id;
  262. that.setData({
  263. productList:arr,
  264. })
  265. }else{
  266. wx.showToast({
  267. title: req.data.msg,
  268. })
  269. }
  270. })
  271. },
  272. fail: function(res) {
  273. console.log(res);
  274. }
  275. })
  276. },
  277. onsave(){
  278. let app = getApp();
  279. let openid = app.globalData.openID;
  280. let data = JSON.stringify(this.data.productList);
  281. wx.p.request({
  282. url: `${app.globalData.url}wx/saveWxConstructionData`,
  283. method:'POST',
  284. data:{
  285. openid,
  286. type:2,
  287. data:data
  288. }
  289. }).then(res=>{
  290. if(res.data.code==200){
  291. wx.showToast({
  292. title: res.data.msg
  293. })
  294. }else{
  295. wx.showModal({
  296. content: res.data.msg,
  297. showCancel:false,
  298. confirmText:'返回'
  299. })
  300. }
  301. })
  302. },
  303. onget(){
  304. let app = getApp();
  305. let openid = app.globalData.openID;
  306. wx.p.request({
  307. url: `${app.globalData.url}wx/getWxConstructionData`,
  308. method:'POST',
  309. data:{
  310. openid,
  311. type:2
  312. }
  313. }).then(res=>{
  314. if(res.data.code==200){
  315. wx.showToast({
  316. title: res.data.msg
  317. })
  318. let data = JSON.parse(res.data.data.data);
  319. this.setData({
  320. productList:data
  321. })
  322. }else{
  323. wx.showModal({
  324. content: res.data.msg,
  325. showCancel:false,
  326. confirmText:'返回'
  327. })
  328. }
  329. })
  330. },
  331. onblur(data){
  332. let arr = this.data.productList;
  333. let index = data.target.dataset.index;
  334. arr[index].roll_film_number = data.detail.value;
  335. arr[index].number = 0;
  336. arr[index].inventory_number = 0;
  337. arr[index].inventory_id =0;
  338. this.setData({
  339. productList:arr
  340. })
  341. },
  342. handleBack(){
  343. let app = getApp();
  344. app.globalData={
  345. set_status:'',
  346. stepData:[],
  347. openID:app.globalData.openID,
  348. url:'https://zhapi.qingyaokeji.com/'
  349. }
  350. wx.redirectTo({
  351. url: '../report/PanList/PanList',
  352. })
  353. },
  354. onchangeNumber(data){
  355. let arr = this.data.productList;
  356. let index = data.target.dataset.index;
  357. arr[index].number = data.detail;
  358. this.setData({
  359. productList:arr
  360. })
  361. },
  362. handleReturn(){
  363. wx.redirectTo({
  364. url: '../first/first',
  365. })
  366. },
  367. getArr(arr){
  368. let data = [];
  369. arr.forEach(v=>{
  370. if(v.children.length==0){
  371. data.push(v);
  372. }else{
  373. data = [...data,...this.getArr(v.children)]
  374. }
  375. })
  376. return data;
  377. },
  378. /**
  379. * 生命周期函数--监听页面加载
  380. */
  381. onLoad(options) {
  382. let app = getApp();
  383. let openid = app.globalData.openID;
  384. let storehouse_id = app.globalData.storehouse_id;
  385. //获取卷膜型号
  386. wx.p.request({
  387. url: `${app.globalData.url}wx/rollFilmList`,
  388. method:'POST',
  389. data:{
  390. use:1,
  391. openid,
  392. storehouse_id
  393. }
  394. }).then(res=>{
  395. if(res.data.code==200){
  396. this.setData({
  397. rollFilmList:res.data.data.data
  398. })
  399. }
  400. })
  401. this.setData({
  402. set_status:app.globalData.set_status?app.globalData.set_status:''
  403. })
  404. if(app.globalData.set_status){
  405. let arr = JSON.parse(JSON.stringify(app.globalData.detailData.sub));
  406. arr.forEach(v=>{
  407. v.basic_roll_film_name = v.b_r_f_name;
  408. v.roll_film_name = v.title;
  409. v.number = v.inventory_number;
  410. if(v.loss_gain_number===0){
  411. v.inventory_number = v.inventory_number+v.inventory_loss_number;
  412. }
  413. if(v.inventory_loss_number===0){
  414. v.inventory_number = v.inventory_number-v.loss_gain_number
  415. }
  416. })
  417. this.setData({
  418. productList:arr,
  419. mark:app.globalData.detailData.mark
  420. })
  421. }
  422. },
  423. /**
  424. * 生命周期函数--监听页面初次渲染完成
  425. */
  426. onReady() {
  427. },
  428. /**
  429. * 生命周期函数--监听页面显示
  430. */
  431. onShow() {
  432. },
  433. /**
  434. * 生命周期函数--监听页面隐藏
  435. */
  436. onHide() {
  437. },
  438. /**
  439. * 生命周期函数--监听页面卸载
  440. */
  441. onUnload() {
  442. },
  443. /**
  444. * 页面相关事件处理函数--监听用户下拉动作
  445. */
  446. onPullDownRefresh() {
  447. },
  448. /**
  449. * 页面上拉触底事件的处理函数
  450. */
  451. onReachBottom() {
  452. },
  453. /**
  454. * 用户点击右上角分享
  455. */
  456. onShareAppMessage() {
  457. }
  458. })