diff --git a/src/bi/client/app/res/images/arrow_down_blue.png b/src/bi/client/app/res/images/arrow_down_blue.png
new file mode 100644
index 0000000000000000000000000000000000000000..6fe6b71fc3727740dbe943a4bc214ac5b7821688
Binary files /dev/null and b/src/bi/client/app/res/images/arrow_down_blue.png differ
diff --git a/src/bi/client/app/view/filters/conditionFilter/conditionFilter.tpl b/src/bi/client/app/view/filters/conditionFilter/conditionFilter.tpl
index e6c47fd52e0428ca5cb4f0269faeb10d8dd1e4ce..a5039c076402315dd53620dab27949b3c02b3fbd 100644
--- a/src/bi/client/app/view/filters/conditionFilter/conditionFilter.tpl
+++ b/src/bi/client/app/view/filters/conditionFilter/conditionFilter.tpl
@@ -1,47 +1,49 @@
-<div w-class="container">
-    <div w-class="filter-condition">
-        {{if it.showFilters[0]}}
-        <div w-class="filter-item" ev-select-option="changeFilter(e,'channelFilter')">
-            <span w-class="filter-tag">过滤条件:</span>
-            <widget w-tag="bi-client-app-view-filters-channelFilter">{ active:{{it.conditionFilters.channelFilter}} }</widget>
-        </div>
-        {{end}}
-        {{if it.showFilters[1]}}
-        <div w-class="filter-item" ev-select-option="changeFilter(e,'userFilter')">
-            <span w-class="filter-tag">类别:</span>
-            <widget  w-tag="bi-client-app-view-filters-userFilter">{ active:{{it.conditionFilters.userFilter}} }</widget>
-        </div>
-        {{end}}
-        {{if it.showFilters[2]}}
-        <div w-class="filter-item"  ev-dateBox-change="changeMainDateBox">
-            <span w-class="filter-tag">时间:</span>
-            <widget  w-tag="bi-client-app-components-periodPicker">{startDate:{{it.startTime}},endDate:{{it.endTime}},showDateBox:{{ it.showMainDateBox }} }</widget>
-        </div>
-        {{end}}
-        {{if it.showFilters[3]}}
-        <div w-class="filter-item">
-            <span w-class="filter-tag">时间颗粒:</span>
-            <div w-class="date-dimension">
-                <span w-class="dimension-item {{it.curDateDimension === it.DateDimension.DAY ? 'dimension-item-active' : ''}}" on-tap="changeDateDimension(e,'day')">æ—¥</span>
-                <span w-class="dimension-item {{it.curDateDimension === it.DateDimension.WEEK ? 'dimension-item-active' : ''}}" style="margin:0 10px;" on-tap="changeDateDimension(e,'week')">周</span>
-                <span w-class="dimension-item {{it.curDateDimension === it.DateDimension.MONTH ? 'dimension-item-active' : ''}}" on-tap="changeDateDimension(e,'month')">月</span>
-            </div>
-        </div>
-        {{end}}
-    </div>
-    {{if it.showFilters[4]}}
-    <div w-class="filter-condition">
-        <div w-class="filter-item" >
-            <span >更多过滤条件:</span>
-            {{for i,v of it.otherFilters}}
-            <div style="margin-right: 16px;margin-top:10px;" ev-close-filter="delFilter(e,{{i}})" ev-select-option="changeOtherFilter(e,{{i}})" >
-                <widget  w-tag="bi-client-app-view-filters-{{v}}">{ active:{{it.conditionFilters.moreOtherFilters[v] || []}} }</widget>
-            </div>
-            {{end}}
-            <div ev-select-option="addFilter" style="margin-top:10px;">
-                <widget  w-tag="bi-client-app-view-filters-moreOtherFilters">{ }</widget>
-            </div>
-        </div>
-    </div>
-    {{end}}
+<div w-class="container">
+    <div w-class="filter-condition">
+        {{if it.showFilters[0]}}
+        <div w-class="filter-item" ev-select-option="changeFilter(e,'channelFilter')">
+            <span w-class="filter-tag">过滤条件:</span>
+            <widget w-tag="bi-client-app-view-filters-channelFilter">{ active:{{it.conditionFilters.channelFilter}} }
+            </widget>
+        </div>
+        {{end}}
+        {{if it.showFilters[1]}}
+        <div w-class="filter-item" ev-select-option="changeFilter(e,'userFilter')">
+            <span w-class="filter-tag">类别:</span>
+            <widget w-tag="bi-client-app-view-filters-userFilter">{ active:{{it.conditionFilters.userFilter}} }</widget>
+        </div>
+        {{end}}
+        {{if it.showFilters[2]}}
+        <div w-class="filter-item" ev-dateBox-change="changeMainDateBox">
+            <span w-class="filter-tag">时间:</span>
+            <widget w-tag="bi-client-app-components-period_picker1" w-props="update">
+                {startDate:{{it.startTime}},endDate:{{it.endTime}} }</widget>
+        </div>
+        {{end}}
+        {{if it.showFilters[3]}}
+        <div w-class="filter-item">
+            <span w-class="filter-tag">时间颗粒:</span>
+            <widget w-tag="bi-client-app-components-dateDimension-dateDimension">
+                {startDate:{{it.startTime}},endDate:{{it.endTime}},openDisabled:{{true}},curDateDimension:{{it.curDateDimension}}
+                }</widget>
+        </div>
+        {{end}}
+    </div>
+    {{if it.showFilters[4]}}
+    <div w-class="filter-condition">
+        <div w-class="filter-item">
+            <span>更多过滤条件:</span>
+            {{for i,v of it.otherFilters}}
+            <div style="margin-right: 16px;margin-top:10px;" ev-close-filter="delFilter(e,{{i}})"
+                ev-select-option="changeOtherFilter(e,{{i}})">
+                <widget w-tag="bi-client-app-view-filters-{{v}}">{
+                    active:{{it.conditionFilters.moreOtherFilters[v] || []}} }</widget>
+            </div>
+            {{end}}
+            <div ev-select-option="addFilter" style="margin-top:10px;">
+                <widget w-tag="bi-client-app-view-filters-moreOtherFilters">{ }</widget>
+            </div>
+        </div>
+    </div>
+    {{end}}
 </div>
\ No newline at end of file
diff --git a/src/bi/client/app/view/filters/conditionFilter/conditionFilter.ts b/src/bi/client/app/view/filters/conditionFilter/conditionFilter.ts
index dddf10c46aaed49bb389b0d99658a51f74a2d107..6477e59b0bf5f966154a6879fb74c598bc857235 100644
--- a/src/bi/client/app/view/filters/conditionFilter/conditionFilter.ts
+++ b/src/bi/client/app/view/filters/conditionFilter/conditionFilter.ts
@@ -97,12 +97,6 @@ export class ConditionFilter extends Widget {
         this.paint();
     }
 
-    // 选择时间维度
-    public changeDateDimension(e: any, dimension: string) {
-        this.props.curDateDimension = dimension;
-        notify(e.node, 'ev-dimension-change', { dimension });
-        this.paint();
-    }
 
 }
 
diff --git a/src/bi/client/app/view/gi/pages/search.tpl b/src/bi/client/app/view/gi/pages/search.tpl
index 247005a011c9c6f5689af5042a1435026ff577eb..eeac7d6ab6068dbceea17724921859abf3f725d4 100644
--- a/src/bi/client/app/view/gi/pages/search.tpl
+++ b/src/bi/client/app/view/gi/pages/search.tpl
@@ -10,7 +10,7 @@
     <div w-class="container">
         <div w-class="closeTop" on-tap="extendTop(e,{{false}})"><img src="../../../res/images/close_gray.png" /></div>
         <div w-class="condition" ev-condition-filter-change="conditionFiltersChange" ev-period-change="changeMainTime"
-            ev-dimension-change="changeDateDimension">
+            ev-date-dimension-change="changeDateDimension">
             <widget w-tag="bi-client-app-view-filters-conditionFilter-conditionFilter">{
                 conditionFilters:{{ it.conditionFilters }},showFilters:{{it.showFilters}},curDateDimension:{{it.curDateDimension}},startTime:{{it.startTime}},endTime:{{it.endTime}}
                 }</widget>
@@ -83,7 +83,7 @@
     </div>
     {{end}}
     {{else}}
-    <div w-class="extendTop" on-tap="extendTop(e,{{true}})"><img src="../../../res/images/arrow_down.png" /></div>
+    <div w-class="extendTop" on-tap="extendTop(e,{{true}})"><img src="../../../res/images/arrow_down_blue.png" /></div>
     {{end}}
     {{if !it.showRootNode}}
     <div w-class="content">
diff --git a/src/bi/client/app/view/gi/pages/search.ts b/src/bi/client/app/view/gi/pages/search.ts
index 74bb81a6706d9b244283cc3f2c40be97dd11e818..16128e60bdc1313deb7115f33956fd7b0ce1e875 100644
--- a/src/bi/client/app/view/gi/pages/search.ts
+++ b/src/bi/client/app/view/gi/pages/search.ts
@@ -255,6 +255,7 @@ export class Search extends Widget {
 
     // 选择时间维度
     public changeDateDimension(e: any) {
+        console.log("!!!!!!!!!!!!!!! changeDateDimension ", e);
         this.props.curDateDimension = e.dimension;
         this.paint();
     }
@@ -347,11 +348,12 @@ export class Search extends Widget {
             this.generalResultShowParse();
         } else if (this.props.searchMod.mod === SearchMod.Group) {  // 分组模式解析
             this.groupResultShowParse();
-        } else if (this.props.searchMod.mod === SearchMod.UserData) {  // 最新数据模式解析
+        } else if (this.props.searchMod.mod === SearchMod.UserData) {  // 用户数据模式解析
             this.newDataResultShowParse();
-        } else if (this.props.searchMod.mod === SearchMod.Rank) {  // 最新数据模式解析
+        } else if (this.props.searchMod.mod === SearchMod.Rank) {  // 排行榜模式解析
             this.rankResultShowParse();
         }
+        console.log("!!!!!!!!!!!!!!!!! parseResultsList ", this.props.showResults);
     }
 
     // 普通模式展示解析
@@ -505,33 +507,28 @@ export class Search extends Widget {
 
     // 最新数据模式解析
     public newDataResultShowParse() {
+        /**
+         * r = {uids:string,v:{user_id:string,v:number}[]}[]
+         */
         const r = this.props.allResults;
         console.log('newDataResultShowParse = ', r);
         // 对所有的uid合并去重  有些返回结果 uids 为空数组
-        const uidMap = new Map();   // uid  user_id映射表
-        const userIdMap = new Map();    // user_id uid映射表
-        const uidSet = new Set();   // uid set
-        let uids = [];
-        r.map(item => {
-            for (let i = 0; i < item.uids.length; i++) {
-                uidSet.add(item.uids[i]);
-                uidMap.set(item.uids[i], item.v[i].user_id);
-                userIdMap.set(item.v[i].user_id, item.uids[i]);
+        const uidSet = new Set<string>();   // uid set
+        r.forEach(item => {
+            for (let i = 0; i < item.v.length; i++) {
+                uidSet.add(item.v[i].user_id);
             }
         });
-        uids = [...uidSet];
+        const uids = [...uidSet];
         console.log('newDataResultShowParse uids ', uids);
-        console.log('newDataResultShowParse uidMap ', uidMap);
-        console.log('newDataResultShowParse userIdMap ', userIdMap);
-        const findValue = (uid: string, result: { v: any[]; uids: string[] }) => {
-            const value = {
-                user_id: uidMap.get(uid),
-                v: 0
-            };
-            const index = result.uids.indexOf(uid);
-            if (index >= 0) return result.v[index];
-
-            return value;
+        const findValue = (uid: string, result: { v: any[]; uids: string }) => {
+            const obj = result.v.filter(item => item.user_id === uid)[0];
+            let retObj = { user_id: uid, v: 0, uids: "" };
+            if (obj) {
+                retObj.v = obj.v;
+                retObj.uids = result.uids;
+            }
+            return retObj;
         };
         const showTitles = ['uid'];
         const showResults = [];
@@ -543,8 +540,8 @@ export class Search extends Widget {
                 if (i === 0) {
                     showResults[j] = [];
                 }
-                showResults[j][0] = value.user_id;
-                showResults[j][i + 1] = { value: value.v, uids: [userIdMap.get(value.user_id)] };
+                showResults[j][0] = uids[j];
+                showResults[j][i + 1] = { value: value.v, uids: value.uids };
             }
         }
         console.log('newDataResultShowParse = showTitles', showTitles);