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);