diff --git a/app/AdminAgent/Controllers/ProductStatisticsController.php b/app/AdminAgent/Controllers/ProductStatisticsController.php
index 412df87..df35f2f 100755
--- a/app/AdminAgent/Controllers/ProductStatisticsController.php
+++ b/app/AdminAgent/Controllers/ProductStatisticsController.php
@@ -2,6 +2,8 @@
 
 namespace App\AdminAgent\Controllers;
 
+use App\Admin\Actions\Tools\DataReportOption;
+use App\AdminAgent\Tools\DataReportDate;
 use App\AdminAgent\Metrics\Examples\FinanceStatistics;
 use App\AdminAgent\Metrics\Examples\OrderStatistics;
 use App\AdminAgent\Metrics\Examples\ProductStatistics;
@@ -9,6 +11,7 @@ use App\AdminAgent\Metrics\Examples\UserStatistics;
 use App\Common\OrderStatus;
 use App\Common\ProductStatus;
 use App\Models\AgentProduct;
+use App\Models\ImsCjdcMarket;
 use App\Models\Order;
 use App\Models\OrderProductItem;
 use Dcat\Admin\Admin;
@@ -54,10 +57,21 @@ class ProductStatisticsController extends AdminController
 			)
 
 			->body(function (Row $row){
+				$row->column(6,function (Column $column){
+					$column->row(new \App\AdminAgent\Tools\DataReportDate('data_report'));
+				});
+
+			})
 
+			->body(function (Row $row){
 				$row->column(4, function (Column $column) {
 					$column->row(Card::make('总数', function () {
-						$count = AgentProduct::query()->where('agent_id',Admin::user()->id)->count();
+						$dateTime = request()->get('created_at')??null;
+						$count = AgentProduct::query()->where('agent_id',Admin::user()->id);
+						if (!empty($dateTime)) {
+							$count->whereBetween('created_at',$dateTime);
+						}
+						$count = $count->count();
 						return <<
     
$count
@@ -68,7 +82,12 @@ HTML;
 
 				$row->column(4, function (Column $column) {
 					$column->row(Card::make('上架', function () {
-						$profit = AgentProduct::query()->where('agent_id',Admin::user()->id)->where('status',ProductStatus::ON_SALE)->count();
+						$dateTime = request()->get('created_at')??null;
+						$profit = AgentProduct::query()->where('agent_id',Admin::user()->id)->where('status',ProductStatus::ON_SALE);
+						if (!empty($dateTime)) {
+							$profit->whereBetween('created_at',$dateTime);
+						}
+						$profit = $profit->count();
 						return <<
     $profit
@@ -82,8 +101,12 @@ HTML;
 					$column->row(Card::make('下架', function () {
 						$unSale = AgentProduct::query()
 							->where('agent_id',Admin::user()->id)
-							->where('status',ProductStatus::SOLD_OUT)
-							->count();
+							->where('status',ProductStatus::SOLD_OUT);
+						$dateTime = request()->get('created_at')??null;
+						if (!empty($dateTime)) {
+							$unSale->whereBetween('created_at',$dateTime);
+						}
+						$unSale = $unSale->count();
 						return <<
     $unSale
@@ -95,8 +118,8 @@ HTML;
 
 			})
 			->body(function (Row $row){
-				$row->column(12,new ProductStatistics()
-			);
-		});
+					$row->column(12,new ProductStatistics()
+				);
+			});
     }
 }
diff --git a/app/AdminAgent/Tools/DataReportDate.php b/app/AdminAgent/Tools/DataReportDate.php
new file mode 100644
index 0000000..52edceb
--- /dev/null
+++ b/app/AdminAgent/Tools/DataReportDate.php
@@ -0,0 +1,111 @@
+route = $route;
+        parent::__construct();
+    }
+
+    protected function script()
+    {
+        $url = $path =  request()->url();
+        $fullUrl = request()->fullUrl();
+        $date = request()->input('created_at');
+        $start = $date?$date['start']:'';
+        $end = $date?$date['end']:'';
+        return << Date.now();
+                  },
+                  shortcuts: [{
+                    text: '今天',
+                    onClick(picker) {
+                      picker.\$emit('pick', new Date());
+                    }
+                  }, {
+                    text: '昨天',
+                    onClick(picker) {
+                      const date = new Date();
+                      date.setTime(date.getTime() - 3600 * 1000 * 24);
+                      picker.\$emit('pick', date);
+                    }
+                  }, {
+                    text: '一周前',
+                    onClick(picker) {
+                      const date = new Date();
+                      date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
+                      picker.\$emit('pick', date);
+                    }
+                  }]
+                },
+            },
+            methods:{
+                doSearch(){
+
+                    var url = this.url;
+                    if (this.start){
+                        url = url+"?type=date&option=0&created_at[start]="+this.start;
+                    }
+                    if (this.end){
+                        if (!this.start){
+                            this.\$message({message:'请选择起始时间',type:"error"})
+                            return false;
+                        }
+                        url = url+"&created_at[end]="+this.end;
+                    }else {
+                        if (this.start){
+                             this.\$message({message:'请选择截止时间',type:"error"})
+                             return false;
+                        }
+                    }
+
+                    if (this.start&&this.end&&(this.start>this.end)){
+                          this.\$message({message:'截止时间不能小于起始时间',type:"error"})
+                          return false;
+                    }
+
+                    window.location.href=url;
+                },
+                reset(){
+                    window.location.href=this.path;
+                }
+            }
+
+        });
+
+JS;
+
+    }
+
+    public function render()
+    {
+        Admin::js(LinkUrl::VUE_JS);
+        Admin::js(LinkUrl::ELEMENT_UI_JS);
+        Admin::css(LinkUrl::ELEMENT_UI_CSS);
+        Admin::css('css/data_report.css');
+        Admin::script($this->script());
+        return view('admin.tools.data_report_date');
+    }
+}
diff --git a/app/Common/LinkUrl.php b/app/Common/LinkUrl.php
new file mode 100644
index 0000000..00e51d7
--- /dev/null
+++ b/app/Common/LinkUrl.php
@@ -0,0 +1,26 @@
+3?0:(e-e%10!=10)*e%10]}};var g={D:function(e){return e.getDay()},DD:function(e){return d(e.getDay())},Do:function(e,t){return t.DoFn(e.getDate())},d:function(e){return e.getDate()},dd:function(e){return d(e.getDate())},ddd:function(e,t){return t.dayNamesShort[e.getDay()]},dddd:function(e,t){return t.dayNames[e.getDay()]},M:function(e){return e.getMonth()+1},MM:function(e){return d(e.getMonth()+1)},MMM:function(e,t){return t.monthNamesShort[e.getMonth()]},MMMM:function(e,t){return t.monthNames[e.getMonth()]},yy:function(e){return d(String(e.getFullYear()),4).substr(2)},yyyy:function(e){return d(e.getFullYear(),4)},h:function(e){return e.getHours()%12||12},hh:function(e){return d(e.getHours()%12||12)},H:function(e){return e.getHours()},HH:function(e){return d(e.getHours())},m:function(e){return e.getMinutes()},mm:function(e){return d(e.getMinutes())},s:function(e){return e.getSeconds()},ss:function(e){return d(e.getSeconds())},S:function(e){return Math.round(e.getMilliseconds()/100)},SS:function(e){return d(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return d(e.getMilliseconds(),3)},a:function(e,t){return e.getHours()<12?t.amPm[0]:t.amPm[1]},A:function(e,t){return e.getHours()<12?t.amPm[0].toUpperCase():t.amPm[1].toUpperCase()},ZZ:function(e){var t=e.getTimezoneOffset();return(t>0?"-":"+")+d(100*Math.floor(Math.abs(t)/60)+Math.abs(t)%60,4)}},b={d:["\\d\\d?",function(e,t){e.day=t}],Do:["\\d\\d?"+o,function(e,t){e.day=parseInt(t,10)}],M:["\\d\\d?",function(e,t){e.month=t-1}],yy:["\\d\\d?",function(e,t){var i=+(""+(new Date).getFullYear()).substr(0,2);e.year=""+(t>68?i-1:i)+t}],h:["\\d\\d?",function(e,t){e.hour=t}],m:["\\d\\d?",function(e,t){e.minute=t}],s:["\\d\\d?",function(e,t){e.second=t}],yyyy:["\\d{4}",function(e,t){e.year=t}],S:["\\d",function(e,t){e.millisecond=100*t}],SS:["\\d{2}",function(e,t){e.millisecond=10*t}],SSS:["\\d{3}",function(e,t){e.millisecond=t}],D:["\\d\\d?",u],ddd:[o,u],MMM:[o,h("monthNamesShort")],MMMM:[o,h("monthNames")],a:[o,function(e,t,i){var n=t.toLowerCase();n===i.amPm[0]?e.isPm=!1:n===i.amPm[1]&&(e.isPm=!0)}],ZZ:["[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z",function(e,t){var i,n=(t+"").match(/([+-]|\d\d)/gi);n&&(i=60*n[1]+parseInt(n[2],10),e.timezoneOffset="+"===n[0]?i:-i)}]};b.dd=b.d,b.dddd=b.ddd,b.DD=b.D,b.mm=b.m,b.hh=b.H=b.HH=b.h,b.MM=b.M,b.ss=b.s,b.A=b.a,s.masks={default:"ddd MMM dd yyyy HH:mm:ss",shortDate:"M/D/yy",mediumDate:"MMM d, yyyy",longDate:"MMMM d, yyyy",fullDate:"dddd, MMMM d, yyyy",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},s.format=function(e,t,i){var n=i||s.i18n;if("number"==typeof e&&(e=new Date(e)),"[object Date]"!==Object.prototype.toString.call(e)||isNaN(e.getTime()))throw new Error("Invalid Date in fecha.format");t=s.masks[t]||t||s.masks.default;var r=[];return(t=(t=t.replace(l,function(e,t){return r.push(t),"@@@"})).replace(a,function(t){return t in g?g[t](e,n):t.slice(1,t.length-1)})).replace(/@@@/g,function(){return r.shift()})},s.parse=function(e,t,i){var n=i||s.i18n;if("string"!=typeof t)throw new Error("Invalid format in fecha.parse");if(t=s.masks[t]||t,e.length>1e3)return null;var r={},o=[],u=[];t=t.replace(l,function(e,t){return u.push(t),"@@@"});var c,h=(c=t,c.replace(/[|\\{()[^$+*?.-]/g,"\\$&")).replace(a,function(e){if(b[e]){var t=b[e];return o.push(t[1]),"("+t[0]+")"}return e});h=h.replace(/@@@/g,function(){return u.shift()});var d=e.match(new RegExp(h,"i"));if(!d)return null;for(var p=1;pe?u():!0!==t&&(r=setTimeout(n?function(){r=void 0}:u,void 0===n?e-o:e))}}},function(e,t){var i=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(e,t){var i=/^(attrs|props|on|nativeOn|class|style|hook)$/;function n(e,t){return function(){e&&e.apply(this,arguments),t&&t.apply(this,arguments)}}e.exports=function(e){return e.reduce(function(e,t){var r,s,a,o,l;for(a in t)if(r=e[a],s=t[a],r&&i.test(a))if("class"===a&&("string"==typeof r&&(l=r,e[a]=r={},r[l]=!0),"string"==typeof s&&(l=s,t[a]=s={},s[l]=!0)),"on"===a||"nativeOn"===a||"hook"===a)for(o in s)r[o]=n(r[o],s[o]);else if(Array.isArray(r))e[a]=r.concat(s);else if(Array.isArray(s))e[a]=[r].concat(s);else for(o in s)r[o]=s[o];else e[a]=t[a];return e},{})}},function(e,t){var i={}.hasOwnProperty;e.exports=function(e,t){return i.call(e,t)}},function(e,t,i){"use strict";t.__esModule=!0;var n,r=i(56),s=(n=r)&&n.__esModule?n:{default:n};t.default=s.default||function(e){for(var t=1;t0?n:i)(e)}},function(e,t,i){var n=i(28)("keys"),r=i(21);e.exports=function(e){return n[e]||(n[e]=r(e))}},function(e,t,i){var n=i(14),r=i(5),s=r["__core-js_shared__"]||(r["__core-js_shared__"]={});(e.exports=function(e,t){return s[e]||(s[e]=void 0!==t?t:{})})("versions",[]).push({version:n.version,mode:i(20)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t){e.exports={}},function(e,t,i){var n=i(10).f,r=i(7),s=i(13)("toStringTag");e.exports=function(e,t,i){e&&!r(e=i?e:e.prototype,s)&&n(e,s,{configurable:!0,value:t})}},function(e,t,i){t.f=i(13)},function(e,t,i){var n=i(5),r=i(14),s=i(20),a=i(33),o=i(10).f;e.exports=function(e){var t=r.Symbol||(r.Symbol=s?{}:n.Symbol||{});"_"==e.charAt(0)||e in t||o(t,e,{value:a.f(e)})}},function(e,t,i){var n=i(4),r=i(1);e.exports={throttle:n,debounce:r}},function(e,t,i){e.exports=!i(11)&&!i(16)(function(){return 7!=Object.defineProperty(i(37)("div"),"a",{get:function(){return 7}}).a})},function(e,t,i){var n=i(15),r=i(5).document,s=n(r)&&n(r.createElement);e.exports=function(e){return s?r.createElement(e):{}}},function(e,t,i){var n=i(7),r=i(12),s=i(62)(!1),a=i(27)("IE_PROTO");e.exports=function(e,t){var i,o=r(e),l=0,u=[];for(i in o)i!=a&&n(o,i)&&u.push(i);for(;t.length>l;)n(o,i=t[l++])&&(~s(u,i)||u.push(i));return u}},function(e,t,i){var n=i(40);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==n(e)?e.split(""):Object(e)}},function(e,t){var i={}.toString;e.exports=function(e){return i.call(e).slice(8,-1)}},function(e,t,i){var n=i(25);e.exports=function(e){return Object(n(e))}},function(e,t,i){"use strict";var n=i(20),r=i(23),s=i(43),a=i(9),o=i(31),l=i(69),u=i(32),c=i(72),h=i(13)("iterator"),d=!([].keys&&"next"in[].keys()),p=function(){return this};e.exports=function(e,t,i,f,m,v,g){l(i,t,f);var b,y,w,_=function(e){if(!d&&e in S)return S[e];switch(e){case"keys":case"values":return function(){return new i(this,e)}}return function(){return new i(this,e)}},x=t+" Iterator",C="values"==m,k=!1,S=e.prototype,D=S[h]||S["@@iterator"]||m&&S[m],$=D||_(m),E=m?C?_("entries"):$:void 0,T="Array"==t&&S.entries||D;if(T&&(w=c(T.call(new e)))!==Object.prototype&&w.next&&(u(w,x,!0),n||"function"==typeof w[h]||a(w,h,p)),C&&D&&"values"!==D.name&&(k=!0,$=function(){return D.call(this)}),n&&!g||!d&&!k&&S[h]||a(S,h,$),o[t]=$,o[x]=p,m)if(b={values:C?$:_("values"),keys:v?$:_("keys"),entries:E},g)for(y in b)y in S||s(S,y,b[y]);else r(r.P+r.F*(d||k),t,b);return b}},function(e,t,i){e.exports=i(9)},function(e,t,i){var n=i(17),r=i(70),s=i(29),a=i(27)("IE_PROTO"),o=function(){},l=function(){var e,t=i(37)("iframe"),n=s.length;for(t.style.display="none",i(71).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("