王英杰 преди 1 година
родител
ревизия
d3458e426e

+ 3 - 2
api/pages/report/report.js

@@ -56,8 +56,9 @@ module.exports = {
     getOrderSummaryItem:'get_order_summary_item',
   },
   routeUrl: {
-    report: {
-      edit: { key: 'edit', url: '/package-purchase/pages/pur-track-report/detail/detail' },
+    report: { 
+      edit: { key: 'edit', url: '/package-purchase/pages/pur-track-report/detail/detail' }, 
+      orderSumReportDetail: { key: 'orderSumReportDetail', url: '/package-sales/pages/order-sum-report/detail/detail' },
       editIvtSum: { key: 'editIvtSum', url: '/package-inventory/pages/ivt-sum-report/detail/detail' },
       editIvt: { key: 'editIvt', url: '/package-inventory/pages/ivt-detail-report/detail/detail' },
       inBound: { key: 'inBound', url: '/package-inventory/pages/warehousing-processing/detail/detail' },

+ 3 - 2
app.json

@@ -83,7 +83,7 @@
                 "pages/order-return/select-original-order/select-original-order",
                 "pages/order-return/sales-return-confirm/sales-return-confirm",
                 "pages/sales-outbound/sales-outbound",
-                "pages/sales-outbound/add/add",  
+                "pages/sales-outbound/add/add",
                 "pages/customer-collection/customer-collection",
                 "pages/customer-collection/add/add",
                 "pages/customer-collection/detail/detail",
@@ -91,7 +91,8 @@
                 "pages/customer-collection/refund-detail/refund-detail",
                 "pages/sales-tracking-report/sales-tracking-report",
                 "pages/sales-tracking-report/detail/detail",
-                "pages/order-sum-report/order-sum-report"
+                "pages/order-sum-report/order-sum-report",
+                "pages/order-sum-report/detail/detail"
             ]
         },
         {

+ 1 - 1
components/dkbase/dk-list-report/dk-list-report.js

@@ -250,7 +250,7 @@ Component({
      * @author : 周兴
      * @date   : 2024/1/26 11:46
      */
-    toDetail(e) {
+    toDetail(e) { 
       // 相当于勾选
       if (this.data.chooseFlag) {
         this.chooseData(e);

+ 8 - 43
components/dkbase/dk-list-report/dk-list-report.wxml

@@ -92,61 +92,26 @@
               <dk-text fontSize="24rpx" value="{{item.skuSpec}}"></dk-text>
             </view>
             <view>
-              <dk-text fontSize="24rpx" value="{{item.whName}}"></dk-text>
-            </view>
-          </view>
-          <view style="display: flex;justify-content: space-between;align-items: center;margin-top:5rpx;">
-            <!-- 系列 -->
-            <view wx:if="{{item.seriesName && item.seriesName !== ''}}">
               <dk-text fontSize="24rpx" value="{{item.seriesName}}"></dk-text>
             </view>
           </view>
+           
         </view>
       </view> 
         <!--销售金额-->
-        <dk-cell contentColor="#A5814A" titleColor="#95A8CB;" title="销售金额"  content="1111111"></dk-cell>
+        <dk-cell titleWid="200rpx" contentColor="#A5814A" titleColor="#95A8CB;" title="销售金额" contentRight="{{true}}" content="{{item.factAmt}}"></dk-cell>
         <!--销售数量-->
-        <dk-cell contentColor="#1B365D" titleColor="#95A8CB;" title="销售数量" amount="{{false}}"content="1111111" ></dk-cell>  
+        <dk-cell titleWid="200rpx" contentColor="#1B365D" titleColor="#95A8CB;" title="销售数量" contentRight="{{true}}" amount="{{false}}"content="{{item.itemQty}}" ></dk-cell>  
     </view>
     <!-- 销售汇总表-客户  -->
     <view  wx:if="{{reportNameKey == 'saleSumCus'}}" class="goods-cell-class " catchtap="toDetail" data-item="{{item}}" data-index="{{index}}">
-      <view style="display: flex;">
-        <view>
-          <van-image radius="15rpx" custom-class="goods-item-image" fit="fill" src="{{item.imagesUrl}}" />
-        </view>
-        <view style="margin-left: 26rpx;width: 100%; ">
-          <!-- 标题 -->
-          <view style="display: flex;">
-            <dk-title titleTag="{{item.brandName}}" title="{{item.skuModel}}"></dk-title>
-          </view>
-          <!-- 描述 -->
-          <view style="display: flex;padding-top: 10rpx;">
-            <dk-text fontSize="24rpx" value="{{item.skuName}}"></dk-text>
-          </view>
-          <view style="display: flex;padding-top: 10rpx;">
-            <dk-text fontSize="24rpx" value="{{item.nonStdCode}}"></dk-text>
-          </view>
-          <view style="display: flex;justify-content: space-between;align-items: center;margin-top:10rpx;">
-            <!-- 仓库-->
-            <view>
-              <dk-text fontSize="24rpx" value="{{item.skuSpec}}"></dk-text>
-            </view>
-            <view>
-              <dk-text fontSize="24rpx" value="{{item.whName}}"></dk-text>
-            </view>
-          </view>
-          <view style="display: flex;justify-content: space-between;align-items: center;margin-top:5rpx;">
-            <!-- 系列 -->
-            <view wx:if="{{item.seriesName && item.seriesName !== ''}}">
-              <dk-text fontSize="24rpx" value="{{item.seriesName}}"></dk-text>
-            </view>
-          </view>
-        </view>
+      <view style="display:flex;font-weight:600;font-size:15px;padding:25rpx;">
+       <view wx:if="{{item.cusName}}">{{item.cusName}}/</view>    <view  wx:if="{{item.cusPhone}}">{{item.cusPhone}}</view>
       </view> 
-        <!--销售金额-->
-        <dk-cell contentColor="#A5814A" titleColor="#95A8CB;" title="销售金额"  content="1111111"></dk-cell>
+       <!--销售金额-->
+       <dk-cell  titleWid="200rpx" contentColor="#A5814A" titleColor="#95A8CB;" title="销售金额" contentRight="{{true}}"  content="{{item.factAmt}}"></dk-cell>
         <!--销售数量-->
-        <dk-cell contentColor="#1B365D" titleColor="#95A8CB;" title="销售数量" amount="{{false}}"content="1111111" ></dk-cell>  
+        <dk-cell  titleWid="200rpx" contentColor="#1B365D" titleColor="#95A8CB;" title="销售数量" contentRight="{{true}}" amount="{{false}}"content="{{item.itemQty}}" ></dk-cell>  
     </view>
     <!-- 内容 -->
     <view style="width:100%;display: flex;flex-wrap: wrap;justify-content: center;" catchtap="toDetail" data-item="{{item}}" data-index="{{index}}">

+ 172 - 0
package-sales/pages/order-sum-report/detail/detail.js

@@ -0,0 +1,172 @@
+/*******************************************************************************
+ * Copyright(c) 2022 dongke All rights reserved. / Confidential
+ * 类的信息:
+ *		1.程序名称:
+ *		2.销售汇总表
+ * 编辑履历:
+ *		作者				日期					版本				修改内容
+ *		王英杰		        2022-0-12	            1.00		   	    
+ *******************************************************************************/
+const Constants = require('@/utils/Constants.js');
+const util = require('@/utils/util.js')
+const app = getApp()
+const mixins = require('@/mixins/index.js')
+Page({
+  mixins: [mixins],
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    active: 0,
+    // 查询条件
+    searchContent: [{
+        code: 'makeTime',
+        title: mixins.$t('pastThirthtyDays'),
+        defaultValue: 5,
+        searchType: Constants.searchType.date
+      },
+      {
+        code: 'sort',
+        title: '排序',
+        searchType: Constants.searchType.radio,
+        value: 1,
+        options: [{
+            "text": "升序",
+            "value": 1
+          },
+          {
+            "text": "降序",
+            "value": 2
+          }
+        ],
+      },
+      {
+        code: 'choose',
+        title: mixins.$t('choose'),
+        searchType: Constants.searchType.pick
+      }
+    ],
+
+    // 查询条件-筛选
+    pullMenuList: [{
+      code: 'skuModel',
+      title: mixins.$t('skuModel')
+    }, {
+      code: 'skuName',
+      title: mixins.$t('skuName')
+    }, {
+      code: 'goodsBrand',
+      title: mixins.$t('goodsBrand')
+    }, {
+      code: 'sukSpec',
+      title: mixins.$t('sukSpec')
+    }, {
+      code: 'colorNumber',
+      title: mixins.$t('colorNumber')
+    }, {
+      code: 'goodsSeries',
+      title: mixins.$t('goodsSeries')
+    }, {
+      code: 'cusName',
+      title: mixins.$t('cusName')
+    }, {
+      code: 'cusPhone',
+      title: mixins.$t('cusPhone')
+    }, ],
+    tagList: [{
+        title: mixins.$t("goods"),
+        code: mixins.$t("goods")
+      },
+      {
+        title: mixins.$t("customer"),
+        code: mixins.$t("customer")
+      }
+    ],
+    tableData: [],
+    // 路由
+    routeObjName: 'report',
+  },
+  /**
+   * @desc : 设置查询参数
+   * @date : 2024年3月8日
+   * @author : 王英杰
+   */
+  setSearchParams(params) {
+    let querys = {
+      accDatestart: params.makeTimeStart,
+      accDateEnd: params.makeTimeEnd,
+      type: this.data.active == 0 ? 1 : 2,
+      sortAmt: params.sort ? params.sort : '1',
+      searchText: params.searchText,
+      skuModel: params.skuModel,
+      skuName: params.skuName,
+      brandName: params.goodsBrand,
+      skuSpec: params.sukSpec,
+      nonStdCode: params.colorNumber,
+      seriesName: params.goodsSeries,
+      cusName: params.cusName,
+      cusPhone: params.cusPhone,
+    }
+    params.querys = JSON.stringify(querys)
+    return params;
+  },
+  /**
+   * @desc : 查询
+   * @date : 2024/6/6 08:59
+   * @author : 王英杰
+   */
+  getData(params) {
+    return this.excute(this.data.service, this.data.service.getOrderSummary, params).then(res => {
+      if (res.data.code === Constants.SUCESS_CODE) {
+        console.log('getData', res);
+        let total = {}
+        let tableData = []
+        if (res.data && res.data.data && res.data.data.total) { //头部数据
+          total = res.data.data.total[0]
+        }
+        if (res.data && res.data.data && res.data.data.detail) { //头部数据
+          tableData = res.data.data.detail
+        }
+        this.setData({
+          total: total,
+          tableData: tableData
+        })
+      }
+    })
+  },
+  /**
+   * @desc : 切换 商品 客户
+   * @date : 2024年3月8日
+   * @author : 王英杰
+   */
+  onChangeTabs(e) {
+    let index = e.detail.detail.index
+    this.setData({
+      active: index,
+    })
+    if (index == 0) {
+      this.selectComponent('#dk-list-report').setReportNameKey('saleSumGoods')
+    } else {
+      this.selectComponent('#dk-list-report').setReportNameKey('saleSumCus')
+    }
+
+    this.searchData()
+  },
+  /**
+   * @desc : 跳转明细
+   * @date : 2024年3月8日
+   * @author : 王英杰
+   */
+  toDetail(e) {
+   console.log('toDetail',e); 
+   let skuId = e.detail.item.skuId
+   debugger
+    wx.navigateTo({
+      url: this.data.route.orderSumReportDetail.url,
+      success: function (res) {
+        // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
+        res.eventChannel.emit('params', { id: skuId, formMode: Constants.formMode.detail, formType: Constants.formMode.detail })
+      }
+    })
+  },
+})

+ 4 - 0
package-sales/pages/order-sum-report/detail/detail.json

@@ -0,0 +1,4 @@
+{
+  "usingComponents": {},
+  "navigationBarTitleText":"销售汇总详细"
+}

+ 34 - 0
package-sales/pages/order-sum-report/detail/detail.wxml

@@ -0,0 +1,34 @@
+<!-- 前台导入wxmlUtil.wxs -->
+<wxs src='/utils/wxmlUtil.wxs' module="wxmlUtil"></wxs>
+<loading wx:if="{{loading}}"></loading>
+<van-dialog id="van-dialog" />
+<van-sticky scroll-top="0">
+  <!-- 查询条件 -->
+  <dk-dropdown-menu model:value="{{searchForm}}" menuList="{{searchContent}}" pullMenuList="{{pullMenuList}}" navBarHeight="{{navBarHeight}}" bind:search="searchData" searchTextPlaceholder="{{wxmlUtil.setSearchPlaceholder($t,['customerName','orderNo','telephone','adddress'])}}">
+  </dk-dropdown-menu>
+  <dk-tabs active="{{active}}" list="{{tagList}}" bind:onChange="onChangeTabs"> </dk-tabs>
+</van-sticky>
+
+<!-- 总头 -->
+<view class="content">
+<view class="item-card">
+  <view class="card-title">
+    <view style="flex: 1;">
+      <view class="title"> 销售金额</view>
+    </view>
+    <view style="flex: 1;">
+      <view class="title"> 销售数量</view>
+    </view>
+  </view>
+  <view class="card-content">
+    <view style="flex: 1;"> 
+        <dk-cell left="0rpx" height="45rpx"   contentFontSize="14" contentColor="#A5814A" contentFontWeight="bold" content="{{total.factAmt?total.factAmt:0}}" center="center"></dk-cell> 
+    </view>
+    <view style="flex: 1;"> 
+        <dk-cell left="0rpx" height="45rpx"   contentFontSize="14" contentColor="#1B365D" contentFontWeight="bold" content="{{total.itemQty?total.itemQty:0}}"center=" center"amount="{{false}}"></dk-cell> 
+    </view>
+  </view>
+</view>
+</view> 
+<!-- 列表区 -->
+<dk-list-report id="dk-list-report" list="{{tableData}}" flgSubFormatDate="{{true}}"  titleTagCol="shortName"  titleCol="skuModel" iconCol="imagesUrl" descCol="skuName" title="skuCode" colorLeft="#437FF8" colorRight="#F43636" statusLeft="outStatusName" reportNameKey="saleSumGoods" contentCardTwoFlg="{{true}}" content="{{contentList}}" contentObj="{{contentObj}}" bind:toDetail="toDetail" bind:toTitle="toTitle"  routeObjName="{{routeObjName}}" buttonList="{{buttonList}}" bind:open="open"></dk-list-report>

+ 30 - 0
package-sales/pages/order-sum-report/detail/detail.wxss

@@ -0,0 +1,30 @@
+.content{
+  padding: 0 16rpx;
+}
+.item-card{
+  border-radius: 16rpx;
+  margin-top: 32rpx;
+  background: linear-gradient(152.98deg, #FFF9EC 15.09%, #FFFFFF 45.02%);
+  box-shadow: 0px 10px 20px 0px #0000000D;
+  box-shadow: 0px -6px 20px 0px #0000000D;
+  padding: 32rpx 32rpx 40rpx 32rpx;
+}
+.card-title{
+  width: 100%;
+  display: flex;
+  flex-direction: row;
+  justify-content: space-between;
+  align-items: center;
+}
+.card-content{
+  width: 100%;
+  display: flex !important;
+  
+  padding-top: 20rpx;
+}
+.title{
+  font-size: 30rpx;
+  font-weight: 600;
+  color: #1B365D;
+  text-align: center;
+}

+ 82 - 90
package-sales/pages/order-sum-report/order-sum-report.js

@@ -9,7 +9,7 @@
  *******************************************************************************/
 const Constants = require('@/utils/Constants.js');
 const util = require('@/utils/util.js')
-const app = getApp()
+const app = getApp() 
 const mixins = require('@/mixins/index.js')
 Page({
   mixins: [mixins],
@@ -17,7 +17,7 @@ Page({
    * 页面的初始数据
    */
   data: {
-    active:0,
+    active: 0,
     // 查询条件
     searchContent: [{
         code: 'makeTime',
@@ -49,20 +49,30 @@ Page({
 
     // 查询条件-筛选
     pullMenuList: [{
-        code: 'orderNo',
-      }, {
-        code: 'cusName',
-      }, {
-        code: 'cusPhone',
-      }, {
-        code: 'addressFull',
-        title: mixins.$t('address')
-      },
-      {
-        code: 'viewVoidedDocuments',
-        dataType: 'checkbox'
-      },
-    ],
+      code: 'skuModel',
+      title: mixins.$t('skuModel')
+    }, {
+      code: 'skuName',
+      title: mixins.$t('skuName')
+    }, {
+      code: 'goodsBrand',
+      title: mixins.$t('goodsBrand')
+    }, {
+      code: 'sukSpec',
+      title: mixins.$t('sukSpec')
+    }, {
+      code: 'colorNumber',
+      title: mixins.$t('colorNumber')
+    }, {
+      code: 'goodsSeries',
+      title: mixins.$t('goodsSeries')
+    }, {
+      code: 'cusName',
+      title: mixins.$t('cusName')
+    }, {
+      code: 'cusPhone',
+      title: mixins.$t('cusPhone')
+    }, ],
     tagList: [{
         title: mixins.$t("goods"),
         code: mixins.$t("goods")
@@ -72,49 +82,7 @@ Page({
         code: mixins.$t("customer")
       }
     ],
-    tableData: [{
-        "brandName": "冠珠GUANZHU",
-        "currentIntoAmt": 0,
-        "currentIntoQty": 0,
-        "currentOutAmt": 0,
-        "currentOutQty": 0,
-        "decimalPlaces": 0,
-        "endingIvtAmt": 99,
-        "endingIvtQty": 99,
-        "invId": "10112024-0624-0000-0000-00045b3b9096",
-        "nonStdCode": "WW",
-        "openingIvtAmt": 99,
-        "openingIvtQty": 99,
-        "packBox": 1,
-        "shortName": "冠珠GUANZHU",
-        "skuModel": "WAGYJ",
-        "skuName": "WANGYJ",
-        "skuSpec": "1",
-        "unitName": "套",
-        "whName": "主仓"
-      },
-      {
-        "brandName": "冠珠GUANZHU",
-        "currentIntoAmt": 0,
-        "currentIntoQty": 0,
-        "currentOutAmt": 0,
-        "currentOutQty": 0,
-        "decimalPlaces": 0,
-        "endingIvtAmt": 33,
-        "endingIvtQty": 1,
-        "invId": "10112024-0624-0000-0000-00045b53e1fc",
-        "nonStdCode": "-",
-        "openingIvtAmt": 33,
-        "openingIvtQty": 1,
-        "packBox": 1,
-        "shortName": "冠珠GUANZHU",
-        "skuModel": "WAGYJ",
-        "skuName": "WANGYJ",
-        "skuSpec": "1",
-        "unitName": "套",
-        "whName": "主仓"
-      },
-    ],
+    tableData: [],
     // 路由
     routeObjName: 'report',
   },
@@ -125,10 +93,19 @@ Page({
    */
   setSearchParams(params) {
     let querys = {
-      accDatestart: "2024-6-1",
-      accDateEnd: "2024-7-1",
-      type: this.data.active==0?1:2,
-      sortAmt: "1"
+      accDatestart: params.makeTimeStart,
+      accDateEnd: params.makeTimeEnd,
+      type: this.data.active == 0 ? 1 : 2,
+      sortAmt: params.sort ? params.sort : '1',
+      searchText: params.searchText,
+      skuModel: params.skuModel,
+      skuName: params.skuName,
+      brandName: params.goodsBrand,
+      skuSpec: params.sukSpec,
+      nonStdCode: params.colorNumber,
+      seriesName: params.goodsSeries,
+      cusName: params.cusName,
+      cusPhone: params.cusPhone,
     }
     params.querys = JSON.stringify(querys)
     return params;
@@ -141,39 +118,54 @@ Page({
   getData(params) {
     return this.excute(this.data.service, this.data.service.getOrderSummary, params).then(res => {
       if (res.data.code === Constants.SUCESS_CODE) {
-         console.log('getData',res);
-         let total = {}
-         let tableData = []
-         if(res.data&&res.data.data&&res.data.data.total){ //头部数据
+        console.log('getData', res);
+        let total = {}
+        let tableData = []
+        if (res.data && res.data.data && res.data.data.total) { //头部数据
           total = res.data.data.total[0]
-         }
-         if(res.data&&res.data.data&&res.data.data.detail){ //头部数据
+        }
+        if (res.data && res.data.data && res.data.data.detail) { //头部数据
           tableData = res.data.data.detail
-         }
+        }
         this.setData({
-          total:total,
-          tableData:tableData
+          total: total,
+          tableData: tableData
         })
       }
     })
   },
-/**
-  * @desc : 切换 商品 客户
-  * @date : 2024年3月8日
-  * @author : 王英杰
-  */
- onChangeTabs(e) {
-  let index = e.detail.detail.index
-  this.setData({
-    active: index,
-  })
-  if(index==0){
-    this.selectComponent('#dk-list-report').setReportNameKey('saleSumGoods')
-  }else{
-    this.selectComponent('#dk-list-report').setReportNameKey('saleSumCus') 
-  }
- 
-  this.searchData()
-},
+  /**
+   * @desc : 切换 商品 客户
+   * @date : 2024年3月8日
+   * @author : 王英杰
+   */
+  onChangeTabs(e) {
+    let index = e.detail.detail.index
+    this.setData({
+      active: index,
+    })
+    if (index == 0) {
+      this.selectComponent('#dk-list-report').setReportNameKey('saleSumGoods')
+    } else {
+      this.selectComponent('#dk-list-report').setReportNameKey('saleSumCus')
+    }
 
+    this.searchData()
+  },
+  /**
+   * @desc : 跳转明细
+   * @date : 2024年3月8日
+   * @author : 王英杰
+   */
+  toDetail(e) {
+   console.log('toDetail',e); 
+   let skuId = e.detail.item.skuId 
+    wx.navigateTo({
+      url: this.data.route.orderSumReportDetail.url,
+      success: function (res) {
+        // 通过eventChannel向被打开页面传送数据 TODO 测试例子url是写死的,实际中,需要从route中读取
+        res.eventChannel.emit('params', { id: skuId, formMode: Constants.formMode.detail, formType: Constants.formMode.detail })
+      }
+    })
+  },
 })