于继渤 1 год назад
Родитель
Сommit
430a291b7e

+ 2 - 2
api/pages/ivt/saleOutBoundReturn.js

@@ -25,8 +25,8 @@ module.exports = {
       add:{key:'add',url:'/package-sales/pages/order-return/add/add'},
       edit:{key:'edit',url:'/package-sales/pages/order-return/add/add',idKey:'outId',formType:'detail'},
       selectSourceSaleOrder:{
-        key:'selectSourceSaleOrder',url:'/package-base-select/pages/select-source-sale-order/select-source-sale-order'
-      },
+        key:'selectSourceSaleOrder',url:'/package-base-select/pages/select-source-sale-out-order/select-source-sale-out-order'
+      }, 
       selectCustomers: { key: 'selectCustomers', url: '/package-base-select/pages/select-customers/select-customers' },
       openingInventory: { key: 'openingInventory', url: '/package-base-select/pages/select-data/select-data',type:'warehouse'  },
     }

+ 1 - 0
app.json

@@ -206,6 +206,7 @@
                 "pages/select-source-purchase-order-reversal/select-source-purchase-order-reversal",
                 "pages/select-fund-account/select-fund-account",
                 "pages/select-source-sale-order/select-source-sale-order",
+                "pages/select-source-sale-out-order/select-source-sale-out-order",
                 "pages/select-master-slave/select-master-slave",
                 "pages/web-view-select/web-view-select"
             ]

+ 2 - 17
components/dkbase/dk-form-bill/dk-form-bill.js

@@ -1399,18 +1399,12 @@ Component({
       let form = this.data.form
       let index = cardList.findIndex(it => it.name == 'items');
       if (form.goodsList && form.goodsList.length > 0) {
-        let sumStandard = Number(0)
         let sumAmount = Number(0)
         let sumQuantity = Number(0)
         form.goodsList.forEach(item => {
           //标价合计 =  商品标价 x  商品数量
           item.priceStd = item.priceStandard//标价
-          item.outingQty = item.itemQty
-          // delete item['outQty']
-          // delete item['outAmt']
           item.outingAmt = item.priceOut * item.outingQty
-          item.priceOut = item.priceOut
-
           sumQuantity += item.outingQty //数量
           sumAmount += item.priceOut * item.outingQty //没有售价默认取标价
 
@@ -1439,21 +1433,16 @@ Component({
       let form = this.data.form
       let index = cardList.findIndex(it => it.name == 'items');
       if (form.goodsList && form.goodsList.length > 0) {
-        let sumStandard = Number(0)
         let sumAmount = Number(0)
         let sumQuantity = Number(0)
         form.goodsList.forEach(item => {
           //标价合计 =  商品标价 x  商品数量
           item.priceStd = item.priceStandard//标价
           item.outingQty = item.outingQty  ? item.outingQty  : item.itemQty * -1 
-          // delete item['outQty']
-          // delete item['outAmt']
           item.outingAmt = item.priceOut * item.outingQty
           item.priceOut = item.priceOut
-
           sumQuantity += item.outingQty //数量
           sumAmount += item.priceOut * item.outingQty //没有售价默认取标价
-
         })
 
         //合计金额
@@ -1463,8 +1452,6 @@ Component({
         form.outingAmt = sumAmount
         form.outingQty = sumQuantity
       }
-      console.log('form',form)
-      console.log('cardList',cardList)
       this.setData({
         cardList: cardList,
         form: form
@@ -1480,10 +1467,8 @@ Component({
       if (form.goodsList && form.goodsList.length > 0) {
         form.goodsList.forEach(item => {
           item.priceOut = item.priceStandard
-          item.outQty = item.itemQty
-          item.outingQty = item.outingQty
-          item.outAmt = item.priceOut * item.itemQty
-          // item.outingAmt = item.priceOut * item.itemQty
+          item.outingAmt = item.priceOut * item.itemQty
+          item.outingQty = item.itemQty
           item['outingQty_min'] = 1
           item['outingQty_max'] = item.itemQty
           delete item['priceLimited']

+ 1 - 0
i18n/zh-CN.js

@@ -314,6 +314,7 @@ const columns = {
 const saleOrder = {
 
   delivery_Time: '送货日期',
+  deliveryDate: '送货日期',
   viewVoidedDocuments: '查看作废单据',
   orderNo: '单号',
   saleOrderNo: '订单单号',

+ 52 - 28
package-base-select/pages/select-source-sale-order/select-source-sale-order.js

@@ -24,20 +24,35 @@ Page({
    * @author : 于继渤
    */
   getData(params) {
-    return this.excute(this.data.service, this.data.service.selectByCondDetail, params);
+    return this.excute(this.data.orderService, this.data.orderService.selectTotalSingleTapeDetailPage, params);
   },
   /**
+   * @desc :   处理接口返回数据
+   * @date : 2024年3月8日
+   * @author : 王英杰
+   */
+  handleSearchData(tableData) {
+   
+    tableData.forEach(item=>{
+      item.outingQty = Number(item.itemQty  - item.outQty) 
+    })
+    this.setData({
+      tableData:tableData
+    })
+  },
+
+ 
+  /**
  * @desc : 设置查询参数
  * @date : 2024/2/1 15:49
  * @author : 于继渤
  */
-setSearchParams(params) {
-  //销售状态
-  params.outStatus = Constants.outStatus.outBounded
-  params.outType = Constants.outType.sale
-  return params
-},
-  
+  setSearchParams(params) {
+    //销售状态
+    params.outStatusList = [Constants.outStatus.unOutBound]
+    return params
+  },
+
   /**
    * @desc :   父级商品信息选择
    * @date : 2024/2/1 15:49
@@ -46,16 +61,16 @@ setSearchParams(params) {
   onListItemChange(e) {
     let tableData = this.data.tableData
     let index = e.currentTarget.dataset.index
-    tableData.forEach(res=>{
-      res.checked =  false
-      res.goodsList.forEach(item=>{
+    tableData.forEach(res => {
+      res.checked = false
+      res.orderItemResponseList.forEach(item => {
         item.checked = false
       })
     })
-    tableData[index].checked = !tableData[index].checked
-    let goodsList = tableData[index].goodsList
-    if (goodsList && goodsList.length > 0) {
-      goodsList.forEach(res => {
+    tableData[index].checked = e.detail
+    let orderItemResponseList = tableData[index].orderItemResponseList
+    if (orderItemResponseList && orderItemResponseList.length > 0) {
+      orderItemResponseList.forEach(res => {
         res.checked = tableData[index].checked
       })
     }
@@ -75,13 +90,19 @@ setSearchParams(params) {
     let index = e.currentTarget.dataset.index
     let index_ = e.currentTarget.dataset.index_
     console.log(index, index_)
-    tableData.forEach(res=>{
-      res.checked =  false
-      // res.goodsList.forEach(item=>{
+    tableData.forEach(res => {
+      res.checked = false
+      // res.orderItemResponseList.forEach(item=>{
       //   item.checked = false
       // })
     })
-    tableData[index].goodsList[index_].checked = !tableData[index].goodsList[index_].checked
+    // tableData.forEach(item => {
+    //   item.checked = false
+    //   item.orderItemResponseList.forEach(it => {
+    //     it.checked = false
+    //   })
+    // })
+    tableData[index].orderItemResponseList[index_].checked = e.detail
 
     this.setData({
       tableData: tableData
@@ -101,8 +122,8 @@ setSearchParams(params) {
     let tableData = this.data.tableData
     tableData.forEach(res => {
       res.checked = checked
-      if (res.goodsList && res.goodsList.length > 0) {
-        res.goodsList.forEach(item => {
+      if (res.orderItemResponseList && res.orderItemResponseList.length > 0) {
+        res.orderItemResponseList.forEach(item => {
           item.checked = checked
         })
       }
@@ -125,12 +146,15 @@ setSearchParams(params) {
     let returnTotalAmount = Number(0)
     //过滤出已选数据
     tableData.forEach(res => {
-      if (res.goodsList && res.goodsList.length > 0) {
-        res.goodsList.forEach(item => {
+      if (res.orderItemResponseList && res.orderItemResponseList.length > 0) {
+        res.orderItemResponseList.forEach(item => {
           if (item.checked) {
-            // item.priceOut = item.priceStandard
-            item.outQty = item.outQty 
-            item.outAmt = item.priceOut * item.outQty
+            item.priceOut = item.priceSale
+            // item.outingQty = Number(item.itemQty  - item.outQty) 
+            item.outingAmt = item.priceOut * item.outingQty
+            //设置最大值
+            item['outingQty_min'] = 1
+            item['outingQty_max'] = item.outingQty
             delete item['priceLimited']
             delete item['pricePurchase']
             delete item['priceWholesale']
@@ -141,7 +165,7 @@ setSearchParams(params) {
     })
     if (choooseInboundItemList && choooseInboundItemList.length > 0) {
       choooseInboundItemList.forEach(res => {
-        returnTotalAmount += Number(res.outQty * res.priceOut)
+        returnTotalAmount += Number(res.itemQty * res.priceSale)
       })
     }
 
@@ -160,7 +184,7 @@ setSearchParams(params) {
   toAdd() {
     let itemList = this.data.choooseInboundItemList
     const eventChannel = this.getOpenerEventChannel();
-    eventChannel.emit('bindData', { itemList: itemList,fromNo: itemList[0].outNo})
+    eventChannel.emit('bindData', { itemList: itemList, fromNo: itemList[0].orderNo })
     wx.navigateBack({
       data: 1
     })

+ 8 - 8
package-base-select/pages/select-source-sale-order/select-source-sale-order.wxml

@@ -19,13 +19,13 @@
             <van-checkbox checked-color="#E4002B" value="{{ item.checked }}" data-index="{{index}}" data-index_="{{index_}}" bind:change="onListItemChange"></van-checkbox> <view style="color:#95A8CB;font-size:13px;padding-left: 6px;">全出</view>
           </view>
           <view style="width: 60%;">
-            <view style="font-size: 26rpx;color:#1B365D">{{item.outNo}}</view>
+            <view style="font-size: 26rpx;color:#1B365D">{{item.orderNo}}</view>
             <view style="font-size: 24rpx;color:#95A8CB;padding-top:10rpx"> {{item.makeTime ? wxmlUtil.format(item.makeTime) : ''}}</view>
           </view>
-          <view style="width: 20%;text-align: right;font-size: 26rpx;color:#1B365D">销售出库</view>
+          <view style="width: 20%;text-align: right;font-size: 26rpx;color:#1B365D">销售订单</view>
         </view>
       </view>
-      <view wx:for="{{item.goodsList}}" wx:for-item="item_" wx:for-index="index_">
+      <view wx:for="{{item.orderItemResponseList}}" wx:for-item="item_" wx:for-index="index_">
         <view style="display: flex;" data-index="{{index}}" data-index_="{{index_}}">
           <view style="place-self: center;padding-left: 15rpx;padding-right: 15rpx;">
             <view style="display: flex;padding-left: 10rpx;">
@@ -33,7 +33,7 @@
               <view class="red-checkbox" style="{{item_.checked ? 'color:#E4002B;' : ''}}">出</view>
             </view>
           </view>
-          <view class="border-solid" style="{{index_ === 0 ? (item.goodsList.length  == 1 ? 'margin-top:30rpx;margin-bottom:30rpx;' : 'margin-top:30rpx;') : index_ ===(item.goodsList.length -1) ? 'margin-bottom:30rpx;': ''}}"></view>
+          <view class="border-solid" style="{{index_ === 0 ? (item.orderItemResponseList.length  == 1 ? 'margin-top:30rpx;margin-bottom:30rpx;' : 'margin-top:30rpx;') : index_ ===(item.orderItemResponseList.length -1) ? 'margin-bottom:30rpx;': ''}}"></view>
           <view style="display: flex;width: 100%;">
             <view style="padding:20rpx;">
               <van-image radius="5px" width="80" height="80" src="{{item_.skuImages? item_.skuImages.path : ''}}" />
@@ -47,14 +47,14 @@
               </view>
               <view style="display: flex;width: 100%;margin-top: 20rpx;">
                 <view style="width: 50%;">
-                  <dk-cell contentFontSize="15" height="25rpx" fontWeight="bold" left="0rpx" contentColor="#FF7B1A" title="" content="{{ item_.priceOut ? item_.priceOut : 0}}"></dk-cell>
+                  <dk-cell contentFontSize="15" height="25rpx" fontWeight="bold" left="0rpx" contentColor="#FF7B1A" title="" content="{{ item_.priceSale ? item_.priceSale : 0}}"></dk-cell>
                 </view>
-                <view style="width: 50%;font-size:24rpx;color: #1B365D;line-height: 34rpx;font-weight: bold;text-align: right;">{{ ' x ' + (item_.outQty ? item_.outQty : 0)}}</view>
+                <view style="width: 50%;font-size:24rpx;color: #1B365D;line-height: 34rpx;font-weight: bold;text-align: right;">{{ ' x ' + (item_.itemQty ? item_.itemQty : 0)}}</view>
               </view>
             </view>
           </view>
         </view>
-        <view wx:if="{{index_ !== (item.goodsList.length -1)  && item.goodsList.length > 1}}" style="text-align: center;margin-left: 30rpx;margin-right: 30rpx;">
+        <view wx:if="{{index_ !== (item.orderItemResponseList.length -1)  && item.orderItemResponseList.length > 1}}" style="text-align: center;margin-left: 30rpx;margin-right: 30rpx;">
           <view style="border: solid 1rpx #A0A2A7;"></view>
         </view>
       </view>
@@ -62,7 +62,7 @@
   </view>
 </view>
 
-<van-empty wx:if="{{!tableData[0].goodsList || tableData[0].goodsList.length ==0}}" description="暂无出库单" />
+<van-empty wx:if="{{!tableData[0].orderItemResponseList || tableData[0].orderItemResponseList.length ==0}}" description="暂无出库单" />
 
 <view style="height: 200rpx;"></view>
 

+ 184 - 0
package-base-select/pages/select-source-sale-out-order/select-source-sale-out-order.js

@@ -0,0 +1,184 @@
+const Constants = require('@/utils/Constants.js');
+const app = getApp()
+const mixins = require('@/mixins/index.js')
+
+Page({
+  mixins: [mixins],
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    returnTotalAmount: 0,
+    allChecked: false,
+    // 路由
+    routeObjName: 'saleOutBound',
+    orderService: app.globalData['orderService'],
+    tableData: [],
+    choooseInboundItemList: [],
+    buttonSaveList: [{ code: 'add', title: mixins.$t('confirm'), width: '120rpx', color: '#1B365D' }],
+    contentSaveList: [{ code: 'need', title: '合计金额', type: 'str' }, { code: 'amount', content: 0, type: 'number' }],
+  },
+  /**
+   * @desc :   加载数据源
+   * @date : 2024/2/1 15:49
+   * @author : 于继渤
+   */
+  getData(params) {
+    return this.excute(this.data.service, this.data.service.selectByCondDetail, params);
+  },
+  /**
+ * @desc : 设置查询参数
+ * @date : 2024/2/1 15:49
+ * @author : 于继渤
+ */
+setSearchParams(params) {
+  //销售状态
+  params.outStatus = Constants.outStatus.outBounded
+  params.outType = Constants.outType.sale
+  return params
+},
+  
+  /**
+   * @desc :   父级商品信息选择
+   * @date : 2024/2/1 15:49
+   * @author : 于继渤
+   */
+  onListItemChange(e) {
+    let tableData = this.data.tableData
+    let index = e.currentTarget.dataset.index
+    tableData.forEach(res=>{
+      res.checked =  false
+      res.goodsList.forEach(item=>{
+        item.checked = false
+      })
+    })
+    tableData[index].checked =  e.detail
+    let goodsList = tableData[index].goodsList
+    if (goodsList && goodsList.length > 0) {
+      goodsList.forEach(res => {
+        res.checked = tableData[index].checked
+      })
+    }
+
+    this.setData({
+      tableData: tableData
+    })
+    this.calculateTotal()
+  },
+  /**
+   * @desc :   子级商品信息选择
+   * @date : 2024/2/1 15:49
+   * @author : 于继渤
+   */
+  onChangeItemCheckbox(e) {
+    let tableData = this.data.tableData
+    let index = e.currentTarget.dataset.index
+    let index_ = e.currentTarget.dataset.index_
+    console.log(index, index_)
+    tableData.forEach(res=>{
+      res.checked =  false
+      // res.goodsList.forEach(item=>{
+      //   item.checked = false
+      // })
+    })
+    tableData.forEach(item=>{
+      item.checked = false
+      item.goodsList.forEach(it => {
+        it.checked = false
+      })
+    })
+    tableData[index].goodsList[index_].checked =  e.detail
+
+    this.setData({
+      tableData: tableData
+    })
+
+    this.calculateTotal()
+  },
+
+  /**
+    * @desc :  全退
+    * @date : 2024/2/1 15:49
+    * @author : 于继渤
+    */
+  onCheckboxChange(e) {
+    console.log(e.detail.checked)
+    let checked = e.detail.checked
+    let tableData = this.data.tableData
+    tableData.forEach(res => {
+      res.checked = checked
+      if (res.goodsList && res.goodsList.length > 0) {
+        res.goodsList.forEach(item => {
+          item.checked = checked
+        })
+      }
+    })
+    this.setData({
+      tableData: tableData
+    })
+    this.calculateTotal()
+  },
+
+  /**
+    * @desc :   计算金额/过滤出已选数据
+    * @date : 2024/2/1 15:49
+    * @author : 于继渤
+    */
+  calculateTotal() {
+    let tableData = this.data.tableData
+    let contentSaveList = this.data.contentSaveList
+    let choooseInboundItemList = []
+    let returnTotalAmount = Number(0)
+    //过滤出已选数据
+    tableData.forEach(res => {
+      if (res.goodsList && res.goodsList.length > 0) {
+        res.goodsList.forEach(item => {
+          if (item.checked) {
+            // item.priceOut = item.priceStandard
+            item.outQty = item.outQty 
+            item.outAmt = item.priceOut * item.outQty
+            delete item['priceLimited']
+            delete item['pricePurchase']
+            delete item['priceWholesale']
+            choooseInboundItemList.push(item)
+          }
+        })
+      }
+    })
+    if (choooseInboundItemList && choooseInboundItemList.length > 0) {
+      choooseInboundItemList.forEach(res => {
+        returnTotalAmount += Number(res.outQty * res.priceOut)
+      })
+    }
+
+    contentSaveList[1]['content'] = returnTotalAmount.toFixed(2)
+
+    this.setData({
+      choooseInboundItemList: choooseInboundItemList,
+      contentSaveList: contentSaveList,
+    })
+  },
+  /**
+  * @desc :   跳转退货页
+  * @date : 2024/2/1 15:49
+  * @author : 于继渤
+  */
+  toAdd() {
+    let itemList = this.data.choooseInboundItemList
+    const eventChannel = this.getOpenerEventChannel();
+    eventChannel.emit('bindData', { itemList: itemList,fromNo: itemList[0].outNo})
+    wx.navigateBack({
+      data: 1
+    })
+
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad(options) {
+
+  },
+
+
+})

+ 4 - 0
package-base-select/pages/select-source-sale-out-order/select-source-sale-out-order.json

@@ -0,0 +1,4 @@
+{
+  "usingComponents": {},
+  "navigationBarTitleText": "选择源单"
+}

+ 70 - 0
package-base-select/pages/select-source-sale-out-order/select-source-sale-out-order.wxml

@@ -0,0 +1,70 @@
+<wxs src='/utils/wxmlUtil.wxs' module="wxmlUtil"></wxs>
+<loading wx:if="{{loading}}" loadingName="加载中" backgroundColor="#f2f2f2;" opacity="0.8"></loading>
+
+<van-sticky scroll-top="0">
+  <!-- 查询条件 -->
+  <dk-dropdown-menu model:value="{{searchForm}}" menuList="{{searchContent}}" pullMenuList="{{pullMenuList}}" bind:search="searchData" searchTextPlaceholder="{{wxmlUtil.setSearchPlaceholder($t,['roleName','roleCode'])}}">
+  </dk-dropdown-menu>
+
+</van-sticky>
+
+
+
+<view wx:for="{{tableData}}" data-item="{{item}}" wx:key="index" class="main-class-source">
+  <view class="main-foot-source" style="border-radius: 15rpx;">
+    <view class="table-content" data-item="{{item}}">
+      <view style="padding:16rpx;">
+        <view style="display:flex;justify-content: left;align-items: center;">
+          <view style="width: 20%;display: flex;">
+            <van-checkbox checked-color="#E4002B" value="{{ item.checked }}" data-index="{{index}}" data-index_="{{index_}}" bind:change="onListItemChange"></van-checkbox> <view style="color:#95A8CB;font-size:13px;padding-left: 6px;">全出</view>
+          </view>
+          <view style="width: 60%;">
+            <view style="font-size: 26rpx;color:#1B365D">{{item.outNo}}</view>
+            <view style="font-size: 24rpx;color:#95A8CB;padding-top:10rpx"> {{item.makeTime ? wxmlUtil.format(item.makeTime) : ''}}</view>
+          </view>
+          <view style="width: 20%;text-align: right;font-size: 26rpx;color:#1B365D">销售出库</view>
+        </view>
+      </view>
+      <view wx:for="{{item.goodsList}}" wx:for-item="item_" wx:for-index="index_">
+        <view style="display: flex;" data-index="{{index}}" data-index_="{{index_}}">
+          <view style="place-self: center;padding-left: 15rpx;padding-right: 15rpx;">
+            <view style="display: flex;padding-left: 10rpx;">
+              <van-checkbox checked-color="#E4002B" value="{{ item_.checked }}" data-index="{{index}}" data-index_="{{index_}}" bind:change="onChangeItemCheckbox" checked-color="#E4002B"></van-checkbox>
+              <view class="red-checkbox" style="{{item_.checked ? 'color:#E4002B;' : ''}}">出</view>
+            </view>
+          </view>
+          <view class="border-solid" style="{{index_ === 0 ? (item.goodsList.length  == 1 ? 'margin-top:30rpx;margin-bottom:30rpx;' : 'margin-top:30rpx;') : index_ ===(item.goodsList.length -1) ? 'margin-bottom:30rpx;': ''}}"></view>
+          <view style="display: flex;width: 100%;">
+            <view style="padding:20rpx;">
+              <van-image radius="5px" width="80" height="80" src="{{item_.skuImages? item_.skuImages.path : ''}}" />
+            </view>
+            <view style="width: 100%;padding:20rpx;padding-left: 10rpx;">
+              <view>
+                <dk-title titleTag="{{'HEGII'}}" title="{{item_.skuCode}}"></dk-title>
+              </view>
+              <view>
+                <view style="width: 100%;margin-top: 10rpx;" class="font">{{item_.skuName}}</view>
+              </view>
+              <view style="display: flex;width: 100%;margin-top: 20rpx;">
+                <view style="width: 50%;">
+                  <dk-cell contentFontSize="15" height="25rpx" fontWeight="bold" left="0rpx" contentColor="#FF7B1A" title="" content="{{ item_.priceOut ? item_.priceOut : 0}}"></dk-cell>
+                </view>
+                <view style="width: 50%;font-size:24rpx;color: #1B365D;line-height: 34rpx;font-weight: bold;text-align: right;">{{ ' x ' + (item_.outQty ? item_.outQty : 0)}}</view>
+              </view>
+            </view>
+          </view>
+        </view>
+        <view wx:if="{{index_ !== (item.goodsList.length -1)  && item.goodsList.length > 1}}" style="text-align: center;margin-left: 30rpx;margin-right: 30rpx;">
+          <view style="border: solid 1rpx #A0A2A7;"></view>
+        </view>
+      </view>
+    </view>
+  </view>
+</view>
+
+<van-empty wx:if="{{!tableData[0].goodsList || tableData[0].goodsList.length ==0}}" description="暂无出库单" />
+
+<view style="height: 200rpx;"></view>
+
+
+<dk-save-button model:value="{{btnFormData}}" btnAutoWidthFlag="{{true}}" btnRightFlag="{{true}}" buttonList="{{buttonSaveList}}" contentList="{{contentSaveList}}" bind:open="toAdd"></dk-save-button>

+ 91 - 0
package-base-select/pages/select-source-sale-out-order/select-source-sale-out-order.wxss

@@ -0,0 +1,91 @@
+.fontSizeStyle {
+  font-size: 15px;
+}
+
+
+
+
+.choose-item {
+  display: flex;
+  background: #FFFFFF;
+  box-shadow: 0px 10rpx 20rpx rgba(225, 229, 238, 0.6);
+  border-radius: 15rpx;
+  margin-top: 25rpx;
+}
+
+/* 选中的样式 */
+.choose-item-select {
+  height: 255rpx;
+  background: #FFFFFF;
+  border: 2rpx solid #606EB2;
+  box-shadow: 0px 10rpx 20rpx rgba(225, 229, 238, 0.6);
+  border-radius: 15rpx;
+}
+
+
+/* 没有选中的样式 */
+.choose-item-unchecked {
+  height: 255rpx;
+}
+
+
+
+.red-checkbox {
+  color: #95A8CB;
+  font-size: 28rpx;
+  padding-left: 10rpx;
+}
+
+.border-solid {
+  border: solid 1rpx #A0A2A7;
+}
+
+
+.van-card {
+  width: 100% !important;
+}
+
+.font {
+  font-family: PingFang HK;
+  font-size: 28rpx;
+  font-weight: 600;
+  line-height: 34rpx;
+  letter-spacing: 0em;
+  text-align: left;
+
+}
+
+.top-class {
+  margin: 10px 32rpx 10px 32rpx;
+  margin-top: 15rpx;
+  border-radius: 15rpx;
+  box-shadow: 2px 2px 5px #bbb7b7;
+}
+
+.top-class-2 {
+  flex-direction: column;
+  justify-content: center;
+  align-items: flex-start;
+  background: linear-gradient(90.12deg, #718AC6 0.84%, #4A5E98 99.43%);
+  border-radius: 15rpx;
+}
+
+
+
+.main-foot-source {
+  background: linear-gradient(95.33deg, #ADC6FF -2.27%, #F0F5FF 60.66%),
+
+    radial-gradient(58.28% 235.72% at 10.78% 50%, rgba(191, 213, 255, 0.6) 0%, rgba(216, 229, 255, 0) 56.69%);
+
+  width: 100%;
+  border-radius: 15rpx 15rpx 0px 0px;
+  background-repeat: no-repeat;
+  background-size: 100% 46px;
+}
+
+.main-class-source {
+  margin: 10px 32rpx 10px 32rpx;
+  margin-top: 10px;
+  border-radius: 15rpx;
+  box-shadow: 0px 10px 20px 0px #0000000D;
+}

+ 5 - 3
package-sales/pages/order-billing/order-billing.js

@@ -30,7 +30,7 @@ Page({
     pullMenuList: [
       { code: 'outStatus', pullType: 'mSelect', typeName: 'outStatus' },
       { code: 'receiveStatus', pullType: 'mSelect', typeName: 'receiveStatus' },
-      { code: 'delivery_Time', dataType: 'date' },
+      { code: 'deliveryDate', dataType: 'date' },
       { code: 'viewVoidedDocuments', dataType: 'checkbox' },
     ],
     // 列表区(脚部金额)
@@ -201,9 +201,11 @@ Page({
 * @author : 于继渤
 */
   setSearchParams(params) {
-    //销售状态
-    params.outStatusList = this.data.outStatus == 'all' ? [] : this.data.outStatus
+    if (!params.outStatusList) {
+      params.outStatusList = this.data.outStatus == 'all' ? [] : this.data.outStatus
+    }
     params.viewVoidedDocuments = params.viewVoidedDocuments ? true : false
+    delete params['deliveryDate']
     return params
   },
   /**

+ 49 - 43
package-sales/pages/sales-outbound/add/add.js

@@ -19,7 +19,7 @@ Page({
     cardList: [
       { name: 'main', title: mixins.$t("customerInformation") },
       { name: 'relation' },
-      { name: 'items', title: mixins.$t("goodsDetail"), chooseGoodsFlag: true, itemAmt: '', displayNum: 2 , controls:[{card:'relation',code:'fromNo'}],},
+      { name: 'items', title: mixins.$t("goodsDetail"), chooseGoodsFlag: true, itemAmt: '', displayNum: 2, controls: [{ card: 'relation', code: 'fromNo' }], },
       { name: 'other', title: mixins.$t("otherInfo") },
 
     ],
@@ -56,16 +56,14 @@ Page({
     },
     //按钮
     buttonSaveList: [
-      // { code: 'collection', title: mixins.$t("collection"), width: '120rpx' },
       { code: 'save', title: mixins.$t("save"), width: '120rpx' }
     ],
     contentSaveList: [
       { code: 'flag', title: mixins.$t("autoSaleOutBoundFlag"), type: 'checkbox' },
-      // { code: 'need', title: mixins.$t("saleCollection"), type: 'str' },
-      { code: 'receivable', content: 0, type: 'number',title: mixins.$t("saleCollection") }
+      { code: 'receivable', content: 0, type: 'number', title: mixins.$t("saleCollection") }
     ],
     popContent: [
-      { code: 'outQty', type: 'step', title: mixins.$t("count"), required: true },
+      { code: 'outingQty', type: 'step', title: mixins.$t("count"), required: true },
       { code: 'priceOut', type: 'number', title: mixins.$t("priceSale"), required: true, readonly: false },
       {
         code: 'whId', name: 'whName', choosePopupType: 'inventorySku', title: mixins.$t("warehouseId"), type: 'choose', urlKey: 'selectInventorySku',
@@ -162,16 +160,16 @@ Page({
       params.deleteList = []
     }
     params.fromId = params.orderId
-    params.outingAmt = params.outAmt
-    params.outingQty = params.outQty
+    // params.outingAmt = params.outAmt
+    // params.outingQty = params.outQty
     params.outAmt = null
     params.outQty = null
     params.goodsList.forEach(res => {
-      res.outingAmt = res.outAmt
-      res.outingQty = res.outQty
       res.canNegativeFlag = false
       res.outAmt = null
       res.outQty = null
+
+      // delete
     })
 
     params.itemList = params.goodsList //明细
@@ -180,11 +178,11 @@ Page({
     let btnFormData = this.data.btnFormData ? JSON.parse(this.data.btnFormData) : ''
     if (this.data.flgHandleSetting) {
       params.flgAutoHandle = true
-  } else {
+    } else {
       params.flgAutoHandle = btnFormData ? btnFormData.flag : false //自动出入库标识 
-  }
-  // 系统参数
-  params.flgHandleSetting = this.data.flgHandleSetting
+    }
+    // 系统参数
+    params.flgHandleSetting = this.data.flgHandleSetting
     params.addressName = params.address.addressName
     params.canNegativeFlag = false
     params.outDate = util.formatDayTime(new Date())
@@ -230,49 +228,60 @@ Page({
         //处理地址
         formData.address = this.setAddress(formData)
         //处理明细
-        if (res.data.data.dataItem && res.data.data.dataItem.length > 0) {
+        let listData = res.data.data.dataItem
+        if (listData && listData.length > 0) {
+       
+          if (this.data.formMode == 'other') {
+            //过滤可出库量为0的
+            listData = listData.filter(item => {
+              return item.canOutingQty > 0
+            })
+          }
           let list = []
-          res.data.data.dataItem.forEach(item => {
-            item.outQty = item.orderQty ? item.orderQty : item.outingQty //出库数量
-            item.outQtyMax = item.canOutingQty //可出库最大值
-            item.outQtyMin = 1  //可出库最小值
+          listData.forEach(item => {
+            if (this.data.formMode == 'detail') {
+              item.outingQty = item.outQty
+              item.outingAmt = Number(item.outingQty * item.priceOut)
+            } else {
+              item.outingQty = item.canOutingQty
+              item.outingAmt = Number(item.outingQty * item.priceOut)
+            }
+
+            item.outingQtyMax = item.canOutingQty //可出库最大值
+            item.outingQtyMin = 1  //可出库最小值
             list.push({
               skuId: item.skuId,
               nonStdCode: item.nonStdCode,
               whId: item.whId
             })
           })
-
+          console.log('listData',listData)
+          let that = - this
           //批量查库存
           this.getInventory({ skuIdNonStdCodeWhIdList: list }).then(item => {
-            res.data.data.dataItem.forEach(res => {
+            listData.forEach(res => {
               if (item.length > 0) {
                 item.forEach(it => {
                   if (it.nonStdCode == res.nonStdCode && it.skuId == res.skuId && it.whId == res.whId) {
                     res.invId = it.invId
                     res.invQty = it.invQty ? it.invQty : 0
                     res.usableQty = it.usableQty ? it.usableQty : 0
-                  } else {
-                    res.invQty = 0
-                    res.usableQty = 0
                   }
                 })
-              } else {
-                res.invQty = 0
-                res.usableQty = 0
               }
 
+      
             })
+            formData.goodsList = listData
             this.setData({
               formData: JSON.stringify(formData)
             })
+    
             //处理库存量
             this.calculationSalesUsableQty()
           })
-
-
         }
-        formData.goodsList = res.data.data.dataItem
+        formData.goodsList = listData
         //处理默认值  业务员业务部门
         formData = this.setStaffOrg(formData)
         //设置选商品不可用
@@ -487,11 +496,12 @@ Page({
       console.log('item.itemList', item.itemList)
       if (item.itemList && item.itemList.length > 0) {
         item.itemList.forEach(res => {
-
           res.fromId = res.orderId
           res.fromItemId = res.itemId
-
           res.itemId = null
+          //设置最大值
+          res['outQty_min'] = 1
+          res['outQty_max'] = res.outQty
         })
         formData.goodsList = item.itemList
         formData.fromNo = item.fromNo
@@ -529,30 +539,26 @@ Page({
     */
   calculateAmount(formData) {
     ///设置总单信息
-    let sumStandard = Number(0)
     let sumAmount = Number(0)
     let sumQuantity = Number(0)
     formData.goodsList.forEach(item => {
       //标价合计 =  商品标价 x  商品数量
-      sumStandard += item.amtStd
-      item.outAmt = item.outQty * item.priceOut
-      sumAmount += item.outQty * item.priceOut
-      sumQuantity += item.outQty //数量
+      item.outingAmt = item.outingQty * item.priceOut
+      sumAmount += item.outingQty * item.priceOut
+      sumQuantity += item.outingQty //数量
     })
-    formData.sumStandard = sumStandard
-    formData.saleDiscount = Number((sumAmount / sumStandard) * 100).toFixed(2)
+
     formData.sumAmount = sumAmount
-    formData.outAmt = sumAmount
+    formData.outingAmt = sumAmount
     formData.canUseCollect = 0
     formData.useCollect = 0
     formData.sumQuantity = sumQuantity
-    formData.outQty = sumQuantity
+    formData.outingQty = sumQuantity
     let cardList = this.data.cardList
     let contentSaveList = this.data.contentSaveList
+    console.log(' formData.sumAmount', formData.sumAmount)
     cardList[2].sumAmount = formData.sumAmount
-    cardList[2].sumStandard = formData.sumStandard
     cardList[2].sumQuantity = formData.sumQuantity
-    cardList[2].saleDiscount = formData.saleDiscount
     //详情 办理
     if (this.data.formMode == Constants.formMode.detail) {
       contentSaveList[0].content = formData.sumAmount
@@ -636,7 +642,7 @@ Page({
       ]
       contentSaveList = [
         // { code: 'need', title: mixins.$t("saleCollection"), type: 'str' },
-        { code: 'receivable', content: 0, type: 'number',title: mixins.$t("saleCollection") }
+        { code: 'receivable', content: 0, type: 'number', title: mixins.$t("saleCollection") }
       ]
       popContent = [
         { code: 'outQty', type: 'step', title: mixins.$t("count"), required: true, readonly: true },

+ 1 - 1
package-sales/pages/sales-outbound/add/add.wxml

@@ -3,7 +3,7 @@
 <loading wx:if="{{loading}}"></loading>
 
 
-<dk-form-bill type="saleOut" id="{{formName}}" routeObjName="{{routeObjName}}" cardList="{{cardList}}" titleTagCol="shortName" titleCol="skuCode"  subCol="skuCode" descCol="skuModel" priceCol="priceOut" quantityCol="outQty" sumAmountCol="sumAmount" discountStandardCol="saleDiscount" contentObj="{{contentObj}}" model:value="{{formData}}" popContent="{{popContent}}" bind:chooseData="chooseData" bind:setGoods="setGoods"   table="{{table}}"
+<dk-form-bill type="saleOut" id="{{formName}}" routeObjName="{{routeObjName}}" cardList="{{cardList}}" titleTagCol="shortName" titleCol="skuCode"  subCol="skuCode" descCol="skuModel" priceCol="priceOut" quantityCol="outingQty" sumAmountCol="sumAmount" discountStandardCol="saleDiscount" contentObj="{{contentObj}}" model:value="{{formData}}" popContent="{{popContent}}" bind:chooseData="chooseData" bind:setGoods="setGoods"   table="{{table}}"
 bind:editItems="editItems"  bind:openChoosedItemInfo="openChoosedItemInfo" deleteName="deleteItemList"
 bind:customersChoose="customersChoose"   popType="sale" priceTitle="标价:" staff="staff" org="org"
 popupTopObj="{{popupTopObj}}"