18016688350 4 tahun lalu
induk
melakukan
0e2c01809d

+ 2 - 2
pages/vendingMachine/select.js

@@ -97,7 +97,7 @@ Page({
     var row = e.currentTarget.dataset.item;
     var pages = getCurrentPages();
     var prevPage = pages[pages.length - 2];  //上一个页面
-    var list = prevPage.data.values.gridProductList
+    var list = prevPage.data.selectGridProductList
     var itemProduct = JSON.parse(JSON.stringify(list))[this.data.index]
     itemProduct.productId = row.id
     itemProduct.productName = row.skuProductName
@@ -106,7 +106,7 @@ Page({
     itemProduct.productPrice = row.productPrice
     list.splice(this.data.index,1,itemProduct)
     prevPage.setData({
-      ["values.gridProductList"]:list
+      selectGridProductList:list,
     })
     wx.navigateBack()
   },

+ 55 - 14
pages/vendingMachine/settledStore.js

@@ -7,6 +7,11 @@ Page({
    * 页面的初始数据
    */
   data: {
+    tabs: [],
+    tabsWidth:'100%',
+    currentTab:0,
+    isTabs:false,
+    selectGridProductList:[],//当前选中得柜子
     userInfo: {},
     storeList: [],
     schemeList:[],
@@ -25,8 +30,8 @@ Page({
       agentId: '',
       payType:'wx,zfb,xj',//默认选择所有支付方式
       gridProductList:[]
-    }
-
+    },
+    gridProductList:[]//商品数据
   },
 
   /**
@@ -103,7 +108,6 @@ Page({
   
   
   formSubmit: function (e) {
-    console.log(this.data.values)
     var that = this
     //表单规则
     let rules = [{
@@ -155,6 +159,26 @@ Page({
     let formData = e.detail.value;
     let checkRes = form.validation(formData, rules);
     if (!checkRes) {
+      let currentTab = this.data.currentTab;
+      //提交时设置当前选中柜子商品  
+      var gridProductList = `gridProductList[${currentTab}]`
+      var selectGridProductList = this.data.selectGridProductList;
+      that.setData({
+        [gridProductList]:selectGridProductList
+      })
+      var gridProductListSub =  this.data.gridProductList;
+      var gridList = [];
+      gridProductListSub.forEach((d,index) => {
+          gridList = gridList.concat(d)
+      });
+      
+
+      var valuesGridList = `values.gridProductList`
+      that.setData({
+        [valuesGridList]:gridList
+      })
+      console.log( that.data.values)
+
       util.request(util.api.addDevice, that.data.values, "POST", false, true,app.globalData.token).then((res) => {
         if (res.code == 200) {
           wx.redirectTo({
@@ -176,19 +200,31 @@ Page({
   },
 //选设备类型
   bindDeviceTypePickerChange: function (e) {
-    var item = this.data.deviceTypeList[e.detail.value]
+    var that = this;
+    var item = that.data.deviceTypeList[e.detail.value]
     var gridSize =  item.gridSize?item.gridSize:0
-    var gridProductList =[];
-    for (let index = 0; index < gridSize; index++) {
-      gridProductList.push({productGrid:index+1});
+    var gridLists =[];//机子数量
+    var tabs = [];
+    for (let deviceNum = 0; deviceNum < item.deviceNums; deviceNum++) {//柜子数量
+      var gridProductList =[];
+      var tab = {};
+      tab.name = '柜子'+deviceNum
+      tabs.push(tab)
+      for (let index = 0; index < gridSize; index++) {
+        gridProductList.push({productGrid:index+1,deviceNum:deviceNum});
+      }
+      gridLists.push(gridProductList)
     }
 
-    console.log(gridProductList)
 
-    this.setData({
+    that.setData({
       ['values.deviceTypeId']: item.id,
       ['values.deviceTypeName']: item.deviceName,
-      ['values.gridProductList']:gridProductList
+      ['gridProductList']:gridLists,
+      isTabs:true,
+      tabsWidth:100/tabs.length+'%',
+      tabs:tabs,
+      selectGridProductList:gridLists[that.data.currentTab]
     })
   },
 //选门店
@@ -231,9 +267,7 @@ Page({
     },
     //选择支付类别 数组拼装成逗号分割
     checkboxChange(e){
-      console.log(e)
       var selectPayTypeList =  e.detail.value;
-      
       var payTypes = "";
       selectPayTypeList.forEach(payType => {
         payTypes+=payType+","
@@ -246,9 +280,8 @@ Page({
       }
     },
     number: function (e) {
-      console.log(e)
       let value = this.validateNumber(e.detail.value)
-      let inx = `values.gridProductList[${e.target.dataset.index}].${e.target.dataset.name}`
+      let inx = `selectGridProductList[${e.target.dataset.index}].${e.target.dataset.name}`
       this.setData({
         //parseInt将数字字符串转换成数字
         [inx]: parseInt(value)
@@ -268,4 +301,12 @@ Page({
         [name]: _this.data[name]
       });
     },
+    //选择柜子
+    selectDevice: function(e){
+        var gridProductList = this.data.gridProductList[e.detail.index]
+        this.setData({
+          currentTab:e.detail.index,
+          selectGridProductList:gridProductList
+        });
+    }
 })

+ 1 - 0
pages/vendingMachine/settledStore.json

@@ -3,6 +3,7 @@
   "navigationBarBackgroundColor": "#5677fc",
   "navigationBarTextStyle": "white",
   "usingComponents": {
+    "tui-tabs": "/components/tui-tabs/tui-tabs",
     "tui-list-cell":"/components/list-cell/list-cell",
     "tui-button": "/components/button/button",
     "tui-icon": "../../components/icon/icon"

+ 37 - 33
pages/vendingMachine/settledStore.wxml

@@ -89,44 +89,48 @@
         </checkbox-group>
     </view>
   </tui-list-cell>
+  <view style="width:100%">
+    <tui-tabs tabs="{{tabs}}" currentTab="{{currentTab}}" wx:if="{{isTabs}}" bind:change="selectDevice" itemWidth="{{tabsWidth}}"></tui-tabs>
+  </view>
 
 
 
 
-  <view class="tui-goods-item" wx:for="{{values.gridProductList}}">
-      <image wx:if="{{!item.productImg==''}}" src="{{item.productImg}}" class="tui-goods-img"  data-index="{{index}}"></image>      
-      <view wx:else class="tui-goods-grid" bindtap="toSelect" data-index="{{index}}"><text>{{index+1}}号柜</text></view>
-      <view class="tui-goods-center">
-
-        <tui-list-cell hover="{{false}}" padding="0rpx 20rpx">
-          <view class="tui-line-cell">
-            <view class="tui-title">{{item.productName?item.productName:'请选择商品'}}</view>
-          </view>
-        </tui-list-cell>
-
-        
-        <tui-list-cell hover="{{false}}" padding="0rpx 20rpx">
-          <view class="tui-line-cell">
-            <view class="tui-title">格子数量</view>
-            <input placeholder-class="phcolor" class="tui-input" type="number" placeholder="请输入格子数量"
-            data-name="gridCount" maxlength="50" type="digit" value="{{item.gridCount}}"  bindinput="number" data-index="{{index}}" data-item="{{item}}"/>
-          </view>
-        </tui-list-cell>
-        <tui-list-cell hover="{{false}}" padding="0rpx 20rpx">
-          <view class="tui-line-cell">
-            <view class="tui-title">库存数量:</view>
-            <input placeholder-class="phcolor" class="tui-input" placeholder="请填写库存数量" type="number" value="{{item.stockCount}}" bindinput="number" data-name="stockCount" data-index="{{index}}" data-item="{{item}}"/>
-          </view>
-        </tui-list-cell>
-
-        <tui-list-cell hover="{{false}}" padding="0rpx 20rpx">
-          <view class="tui-line-cell">
-            <view class="tui-title">货道:</view>
-            <view style="margin-left:20rpx;color:red">{{item.productGrid?item.productGrid:index+1}}</view>
-          </view>
-        </tui-list-cell>
-      </view>
+
+  <view wx:if="{{isTabs}}" class="tui-goods-item" wx:for="{{selectGridProductList}}">
+    <image wx:if="{{!item.productImg==''}}" bindtap="toSelect" src="{{item.productImg}}" class="tui-goods-img"  data-index="{{index}}"></image>      
+    <view wx:else class="tui-goods-grid" bindtap="toSelect" data-index="{{index}}"><text>{{index+1}}号柜</text></view>
+    <view class="tui-goods-center">
+
+      <tui-list-cell hover="{{false}}" padding="0rpx 20rpx">
+        <view class="tui-line-cell">
+          <view class="tui-title">{{item.productName?item.productName:'请选择商品'}}</view>
+        </view>
+      </tui-list-cell>
+
+      
+      <tui-list-cell hover="{{false}}" padding="0rpx 20rpx">
+        <view class="tui-line-cell">
+          <view class="tui-title">格子数量</view>
+          <input placeholder-class="phcolor" class="tui-input" type="number" placeholder="请输入格子数量"
+          data-name="gridCount" maxlength="50" type="digit" value="{{item.gridCount}}"  bindinput="number" data-index="{{index}}" data-item="{{item}}"/>
+        </view>
+      </tui-list-cell>
+      <tui-list-cell hover="{{false}}" padding="0rpx 20rpx">
+        <view class="tui-line-cell">
+          <view class="tui-title">库存数量:</view>
+          <input placeholder-class="phcolor" class="tui-input" placeholder="请填写库存数量" type="number" value="{{item.stockCount}}" bindinput="number" data-name="stockCount" data-index="{{index}}" data-item="{{item}}"/>
+        </view>
+      </tui-list-cell>
+
+      <tui-list-cell hover="{{false}}" padding="0rpx 20rpx">
+        <view class="tui-line-cell">
+          <view class="tui-title">货道:</view>
+          <view style="margin-left:20rpx;color:red">{{item.productGrid?item.productGrid:index+1}}</view>
+        </view>
+      </tui-list-cell>
     </view>
+  </view>