提交 807f3ac2 编写于 作者: U unknown

ftsearch

上级 a265bf61
<table align="left" class="listTable" border="0" width="100%" cellpadding="0" cellspacing="0">
<tr>
<th style="width: 30px;">
{{$.lp.sequence}}
</th>
{{each $.fieldList}}
<th data-o2-events="click:orderColumn:{{$.field}};">
{{$.name}}
......@@ -9,14 +12,20 @@
</tr>
{{each $.data}}
<tr class="row" data-o2-events="click:openItem:{{$.id}};mouseover:rowOver;mouseout:rowOut">
<tr class="row" data-o2-events="click:openItem:{{$.id}}:{{!!$.processName}};mouseover:rowOver;mouseout:rowOut">
<td>{{$.sequence}}</td>
{{each $._.fieldList}}
{{if $.field === "title"}}
<td><a href="#">{{$._[$.field]}}</a></td>
{{end if}}
{{if $.field !== "title"}}
{{if $.field === "completed"}}
<td>{{ $._._.lp[$._[$.field]] }}</td>
{{end if}}
{{if ["title","completed"].indexOf($.field) === -1 }}
<td>{{$._[$.field]}}</td>
{{end if}}
......
......@@ -4,17 +4,13 @@
<div class="index-top-inner">
<div style="float:right;">
<div class="index-topLink mainColor_color mainColor_border" style="margin-left:10px;" data-o2-events="click:selectTab">{{$.lp.selectModule}}</div>
<!-- <div class="index-topLink mainColor_color mainColor_border" data-o2-events="click:gotoMainPage">{{$.lp.mainPage}}</div>-->
</div>
<div class="breadcrumb-index">
<span>{{$.lp.location}}</span>
<!-- <a data-o2-events="click:gotoMainPage">{{$.lp.mainPage}}</a>-->
<!-- <span>></span>-->
<a data-o2-events="click:selectTab:true">{{$.lp.title}}</a>
<span>></span>
<span class="mainColor_color">{{$.tabData.name}}</span>
<span class="mainColor_color" style="overflow: hidden;" title="{{$.tabData.name}}">{{$.tabData.name}}</span>
</div>
<!-- <div class="index-topLink">{{$.lp.searching}}:{{$.tabData.name}}</div>-->
</div>
</div>
<div data-o2-element="docContent" class="docContent-index">
......
......@@ -458,6 +458,10 @@ ul {
padding-left:20px;
margin-top:8px;
background: url("../x_component_StandingBook/$Main/default/icons/location.png") no-repeat;
width: calc( 100% - 150px );
height: 20px;
line-height: 20px;
overflow: hidden;
}
.breadcrumb-index a{
cursor: pointer;
......@@ -783,6 +787,8 @@ ul {
}
.actionbar{
text-align: center;margin-bottom: 20px;
}
......@@ -891,7 +897,58 @@ ul {
margin:10px;
flex-direction: column;
}
/*.index-topLink{*/
/* cursor: pointer;*/
/* display: inline-block;*/
/* width: 100px;*/
/* height: 30px;*/
/* line-height: 30px;*/
/* text-align: center;*/
/* margin-left: 10px;*/
/* background: #FFFFFF;*/
/* border-radius: 15px;*/
/* color: #4A90E2;*/
/* border: 1px solid #4A90E2;*/
/*}*/
.tl_button{
cursor: pointer;
display: inline-block;
width: 100px;
height: 32px;
line-height: 32px;
color: #fff;
font-size: 14px;
background: #4A90E2;
border-radius: 16px;
}
.tl_multiActionNode{
border-top: 1px solid #4A90E2;
line-height:60px;
height:60px;
}
.tl_okButton{
height: 34px;
line-height: 34px;
cursor: pointer;
background: #4A90E2;
border-radius: 20px;
color: #ffffff;
font-size:14px;
width: 180px;
display: inline-block;
}
.tl_cancelButton{
margin-left: 30px;
height: 34px;
line-height: 34px;
cursor: pointer;
color: #666666;
background: #F0F0F0;
border-radius: 20px;
font-size:14px;
width: 120px;
display: inline-block;
}
.tl_contentWrap{
height: calc( 100% - 90px );
background:#ffffff;
......@@ -987,7 +1044,7 @@ ul {
border-bottom: 1px solid #E6E6E6;
}
.tl_coreListAppIcon{
margin-top:10px;
margin-top:5px;
width: 30px;
height: 30px;
/*margin-right: 10px;*/
......@@ -1009,8 +1066,8 @@ ul {
overflow: hidden;
}
.tl_coreListAppText{
margin-top: 10px;
font-size: 16px;
margin-top: 5px;
font-size: 15px;
color: #666666;
cursor: pointer;
height: 30px;
......@@ -1020,6 +1077,9 @@ ul {
border-radius: 20px;
user-select: none;
}
.checkbox{
margin-right:5px;
}
.tl_coreItemArea{
height: 30px;
color: #666666;
......
......@@ -12,7 +12,7 @@
data-o2-events="mouseover:coreListItemOver;mouseout:coreListItemOut; mousedown:coreListItemDown;mouseup:coreListItemUp;click:coreListItemClick;"
>{{$.name}}</div>
</div>
<div class="tl_coreListAppContent">
<!-- <div class="tl_coreListAppContent">-->
<!-- {{each $.processList}}-->
<!-- <div class="tl_coreItemArea">-->
<!-- <div class="tl_coreItem"-->
......@@ -21,7 +21,7 @@
<!-- </div>-->
<!-- </div>-->
<!-- {{end each}}-->
</div>
<!-- </div>-->
</div>
</div>
{{end each}}
......
<div class="tl_coreListBox">
{{each $.data}}
<div class="tl_coreListApp">
<div class="tl_left">
{{if ($.key)}}
<div class="tl_coreListAppIcon" data-o2-events="o2load:loadItemIcon:{{$.key}}"></div>
{{end if}}
</div>
<div class="tl_right">
<div class="tl_coreListAppTitle">
<div class="tl_coreListAppText" title="{{$.name}}"
data-o2-events="mouseover:coreListItemOver_multi;mouseout:coreListItemOut_multi; mousedown:coreListItemDown_multi;mouseup:coreListItemUp_multi;click:coreListItemClick_multi;"
>
<i class="checkbox o2icon-check_box_outline_blank"></i>{{$.name}}</div>
</div>
<!-- <div class="tl_coreListAppContent">-->
<!-- {{each $.processList}}-->
<!-- <div class="tl_coreItemArea">-->
<!-- <div class="tl_coreItem"-->
<!-- data-o2-events="mouseover:coreItemOver;mouseout:coreItemOut; mousedown:coreItemDown;mouseup:coreItemUp;click:coreItemClick;">-->
<!-- {{$.name}}-->
<!-- </div>-->
<!-- </div>-->
<!-- {{end each}}-->
<!-- </div>-->
</div>
</div>
{{end each}}
</div>
\ No newline at end of file
......@@ -3,6 +3,8 @@
{{if $.status.closeEnable}}
<div class="tl_titleAction mainColor_color" data-o2-events="click:closeSelectModule;"><icon class="o2icon-close"/></div>
{{end if}}
<div class="tl_button mainColor_bg" style="margin-right:20px;" data-o2-element="enableMultiNode" data-o2-events="click:enableMultiSelect">{{$.lp.enableMultiSelect}}</div>
<div class="tl_button mainColor_bg" style="margin-right:20px;display: none;" data-o2-element="disableMultiNode" data-o2-events="click:disableMultiSelect">{{$.lp.disableMultiSelect}}</div>
<div class="tl_core_searchArea mainColor_border" style="margin-bottom: 0!important;">
<input class="tl_core_search" data-o2-element="searchCoreInput" placeholder="{{$.lp.searchCorePlacholder}}" data-o2-events="keydown:searchCoreKeydown"/>
<i class="tl_core_coreButton o2icon-search1" data-o2-events="click:search;mouseover:iconOver_searchButton;mouseout:iconOut_searchButton"></i>
......@@ -25,4 +27,8 @@
</div>
<div class="tl_listNode" data-o2-element="tl_workTabListNode"></div>
<div class="tl_listNode" style="display: none;" data-o2-element="tl_docTabListNode"></div>
<div class="tl_multiActionNode mainColor_border" style="display: none; " data-o2-element="tl_multiActionNode">
<div class="tl_okButton mainColor_bg" data-o2-events="click:okMultiSelect">{{$.lp.ok}}</div>
<div class="tl_cancelButton" data-o2-events="click:disableMultiSelect">{{$.lp.disableMultiSelect}}</div>
</div>
</div>
\ No newline at end of file
......@@ -12,7 +12,7 @@
data-o2-events="mouseover:coreListItemOver;mouseout:coreListItemOut; mousedown:coreListItemDown;mouseup:coreListItemUp;click:coreListItemClick;"
>{{$.name}}</div>
</div>
<div class="tl_coreListAppContent">
<!-- <div class="tl_coreListAppContent">-->
<!-- {{each $.categoryInfoList}}-->
<!-- <div class="tl_coreItemArea">-->
<!-- <div class="tl_coreItem"-->
......@@ -21,7 +21,7 @@
<!-- </div>-->
<!-- </div>-->
<!-- {{end each}}-->
</div>
<!-- </div>-->
</div>
</div>
{{end each}}
......
......@@ -8,25 +8,21 @@ MWF.xApplication.StandingBook.IndexView = new Class({
"style": "default",
"date": null
},
initialize: function(node, app, options, tabData){
initialize: function(node, app, options, tabList){
this.setOptions(options);
this.path = "../x_component_StandingBook/$IndexView/";
this.app = app;
this.container = $(node);
this.tabData = tabData;
this.tabList = tabList;
this.facetOrderList = ["category","applicationName", "processName","appName","categoryName"];
this.load();
},
recordStatus: function(){
return {
view: "index",
tab: {
key: this.tabData.key,
name: this.tabData.name,
category: this.tabData.category
}
tab: this.tabList
}
},
load: function(){
......@@ -45,7 +41,11 @@ MWF.xApplication.StandingBook.IndexView = new Class({
var url = this.path+this.options.style+"/view.html";
this.container.loadHtml(url, {"bind": {
"lp": this.app.lp,
"tabData": this.tabData
"tabData": {
name: this.tabList.map(function (tab) {
return tab.name
}).join("")
}
}, "module": this}, function(){
// this.loadSelectedCondition();
this.search();
......@@ -141,10 +141,7 @@ MWF.xApplication.StandingBook.IndexView = new Class({
}.bind(this));
o2.Actions.load("x_query_assemble_surface").IndexAction.post({
directoryList: [{
key: this.tabData.key,
category: this.tabData.category
}],
directoryList: this.tabList,
// query: this.searchInput.get("value") || "",
page: this.docPageNum,
size: this.pageSize,
......@@ -205,17 +202,13 @@ MWF.xApplication.StandingBook.IndexView = new Class({
// key: this.tabData.key,
// type: this.tabData.type,
// category: this.tabData.category,
directoryList: [{
key: this.tabData.key,
category: this.tabData.category
}],
directoryList: this.tabList,
// sortList: sortList,
sort: sortList[0] || null,
fixedFieldList: fixedFieldList,
dynamicFieldList: dynamicFieldList,
filterList: filterList
}).then(function(json){
debugger;
var indexAction = o2.Actions.load("x_query_assemble_surface").IndexAction;
var address = indexAction.action.address;
var uri = indexAction.action.actions.exportResult.uri.replace("{flag}", json.data.id);
......@@ -232,8 +225,8 @@ MWF.xApplication.StandingBook.IndexView = new Class({
}.bind(this));
return facetList
},
openItem: function(id, event, row){
if( this.tabData.type === "process" || this.tabData.type === "application" ){
openItem: function(id, isProcess, event, row){
if( isProcess.toString() === "true" ){
this.openWork(id, event, row)
}else{
this.openDoc(id, event, row)
......@@ -301,6 +294,13 @@ MWF.xApplication.StandingBook.IndexView = new Class({
return field;
}.bind(this));
var sequence = (this.docPageNum - 1) * this.pageSize;
json.data.documentList.map(function (d) {
sequence++;
d.sequence = sequence;
return d;
});
this.docListNode.loadHtml(this.path+this.options.style+"/docList.html",
{
"bind": {"lp": this.app.lp, "data": json.data.documentList, "fieldList":fieldList},
......@@ -475,8 +475,8 @@ MWF.xApplication.StandingBook.IndexView = new Class({
d.valueCountPairList.each(function (v) {
v.field = d.field;
v.parentLabel = d.label;
if (d.field === "category") {
v.label = lp[v.value] || v.value;
if (["category","completed"].contains(d.field)) {
v.label = lp[v.value.toString()] || v.value;
} else {
v.label = v.value;
}
......
......@@ -152,14 +152,14 @@ MWF.xApplication.StandingBook.Main = new Class({
this._loadTabList( callback );
}.bind(this));
},
_loadTabList: function(callback){
_loadTabList: function(callback, multiSelect){
this.tabData.data.each(function(obj){
if( obj.category === "processPlatform" ){
obj.keyList.each(function(k){
k.category = "processPlatform";
if(!k.category)k.category = "processPlatform";
});
this.tl_workTabListNode.empty();
this.tl_workTabListNode.loadHtml(this.path+this.options.style+"/tabList_work.html",
this.tl_workTabListNode.loadHtml(this.path+this.options.style+"/tabList"+ (multiSelect ? "_multiselect" : "") +".html",
{
"bind": {"lp": this.lp, "data": obj.keyList || []},
"module": this,
......@@ -171,10 +171,10 @@ MWF.xApplication.StandingBook.Main = new Class({
);
}else if( obj.category === "cms" ){
obj.keyList.each(function(k){
k.category = "cms";
if(!k.category)k.category = "cms";
});
this.tl_docTabListNode.empty();
this.tl_docTabListNode.loadHtml(this.path+this.options.style+"/tabList_doc.html",
this.tl_docTabListNode.loadHtml(this.path+this.options.style+"/tabList"+ (multiSelect ? "_multiselect" : "") +".html",
{
"bind": {"lp": this.lp, "data": obj.keyList || []},
"module": this,
......@@ -209,15 +209,20 @@ MWF.xApplication.StandingBook.Main = new Class({
coreListItemUp: function(e){
e.target.removeClass("mainColor_bg");
},
coreListItemClick: function(e, data){
coreListItemClick: function(e, tab){
// var tList = (data.tabList || []).filter(function (tab) {
// return tab.core === data.core;
// });
// if( tList.length ){
this.closeSelectModule(e);
this.openIndexView(data);
this.openIndexView([{
category: tab.category,
key: tab.key,
name: tab.name
}]);
// }
},
coreItemOver: function(e){
var node = e.target;
while (node && !node.hasClass("tl_coreItem")){ node = node.getParent();}
......@@ -250,7 +255,7 @@ MWF.xApplication.StandingBook.Main = new Class({
node.removeClass("mainColor_bg");
}
},
coreItemClick: function(e, data){
coreItemClick: function(e, tab){
// var tList = (data.tabList || []).filter(function (tab) {
// return tab.core === data.core;
// });
......@@ -258,9 +263,80 @@ MWF.xApplication.StandingBook.Main = new Class({
// if( tList.length ){
// this.currentTabObj = tList[0];
this.closeSelectModule(e);
this.openIndexView(data);
this.openIndexView([{
category: tab.category,
key: tab.key,
name: tab.name
}]);
// }
},
coreListItemOver_multi: function(e){
this.getEventTarget(e, "tl_coreListAppText").addClass("mainColor_bg_opacity");
},
coreListItemOut_multi: function(e){
this.getEventTarget(e, "tl_coreListAppText").removeClass("mainColor_bg_opacity");
},
coreListItemDown_multi: function(e){
this.getEventTarget(e, "tl_coreListAppText").addClass("mainColor_bg_opacity");
},
coreListItemUp_multi: function(e){
this.getEventTarget(e, "tl_coreListAppText").removeClass("mainColor_bg_opacity");
},
coreListItemClick_multi: function(e, item){
debugger;
if( !this.curMultiSelectTabList )this.curMultiSelectTabList = [];
var target = this.getEventTarget(e, "tl_coreListAppText");
var index = -1;
this.curMultiSelectTabList.each(function (tab, idx) {
if( tab.key === item.key )index = idx;
});
if( index > -1 ){ //已经选择了
target.getElement("i.checkbox").removeClass("o2icon-check_box").addClass("o2icon-check_box_outline_blank").removeClass("mainColor_color");
this.curMultiSelectTabList.splice(index, 1);
}else{ //还没有选择
target.getElement("i.checkbox").removeClass("o2icon-check_box_outline_blank").addClass("o2icon-check_box").addClass("mainColor_color");
this.curMultiSelectTabList.push(item);
}
},
okMultiSelect: function(e){
if( this.curMultiSelectTabList.length === 0){
this.notice( this.lp.notSelectNotice, "info");
return;
}
var data = this.curMultiSelectTabList.map(function (tab) {
return {
category: tab.category,
key: tab.key,
name: tab.name
}
});
this.curMultiSelectTabList = [];
this.closeSelectModule(e);
this.openIndexView(data);
},
enableMultiSelect: function(e, data){
this.curMultiSelectTabList = [];
this.enableMultiNode.hide();
this.disableMultiNode.setStyle("display","inline-block");
this.tl_multiActionNode.show();
this.tl_workTabListNode.setStyle("height", "calc( 100% - 90px )");
this.tl_docTabListNode.setStyle("height", "calc( 100% - 90px )");
this._loadTabList(function () {
}, true)
},
disableMultiSelect: function(e, data){
this.curMultiSelectTabList = [];
this.disableMultiNode.hide();
this.enableMultiNode.setStyle("display","inline-block");
this.tl_multiActionNode.hide();
this.tl_workTabListNode.setStyle("height", "calc( 100% - 40px )");
this.tl_docTabListNode.setStyle("height", "calc( 100% - 40px )");
this._loadTabList(function () {
}, false)
},
searchCoreKeydown: function(e){
if( e.keyCode === 13 ){
this.searchCore();
......
......@@ -6,6 +6,7 @@ MWF.xApplication.StandingBook.LP = {
"location": "Your location:",
"cms": "CMS",
"processPlatform": "Process Management",
"processManager": "Process Management",
"cmsManager": "Content Management",
......@@ -62,10 +63,13 @@ MWF.xApplication.StandingBook.LP = {
"categoryName": "Content Management Category",
"selectConditionNote": "Please select",
"fieldSelect": "Column Select",
"sequence": "Sequence",
"more": "more",
"collapse": "Collapse",
"multiSelect": "Multiple Select",
"enableMultiSelect": "Allow Multiple Select ",
"disableMultiSelect": "disables Multiple Select",
"ok": "OK",
"cancel": "Cancel",
"reset": "Reset",
......@@ -73,6 +77,11 @@ MWF.xApplication.StandingBook.LP = {
"moreFilter": "More filter criteria",
"collapseFilter": "Collapse filter criteria",
"notSelectNotice": "Please select at least one application ",
"completed": "completed",
"true": "true",
"false": "false",
"rangeSeparator": "to",
"startPlaceholder": "Start time",
"endPlaceholder": "End time",
......
......@@ -6,6 +6,7 @@ MWF.xApplication.StandingBook.LP = {
"location": "您的位置:",
"cms": "内容管理",
"processPlatform": "流程管理",
"processManager": "流程管理",
"cmsManager": "内容管理",
......@@ -60,10 +61,13 @@ MWF.xApplication.StandingBook.LP = {
"categoryName": "内容管理分类",
"selectConditionNote": "请选择",
"fieldSelect": "列选择",
"sequence": "序号",
"more": "更多",
"collapse": "收起",
"multiSelect": "多选",
"enableMultiSelect": "允许多选",
"disableMultiSelect": "取消多选",
"ok": "确定",
"cancel": "取消",
"reset": "重置",
......@@ -71,6 +75,11 @@ MWF.xApplication.StandingBook.LP = {
"moreFilter": "更多筛选条件",
"collapseFilter": "收起筛选条件",
"notSelectNotice": "请至少选择一个应用",
"completed": "已完成",
"true": "",
"false": "",
"rangeSeparator": "",
"startPlaceholder": "开始时间",
"endPlaceholder": "结束时间",
......
......@@ -4,10 +4,6 @@
<div class="listItem">
<a class="listItem-title" data-o2-events="click:openDoc:{{$.id}}">{{$.title}}</a>
<div class="listItem-body" data-o2-events="o2load:setBody"></div>
<div>
<span class="listItem-infor-title mainColor_color">{{$._.lp.summary}}:</span>
<div class="listItem-summary" data-o2-events="o2load:setSummary"></div>
</div>
<div>
<span class="listItem-infor-title mainColor_color">{{$._.lp.createTime}}:</span>
<span class="listItem-infor-content">{{($.createTime || "")}}</span>
......@@ -26,16 +22,6 @@
<a class="listItem-title" data-o2-events="click:openWork:{{$.id}}">{{$.title}}</a>
<div class="listItem-body" data-o2-events="o2load:setBody"></div>
<div>
<span class="listItem-infor-title mainColor_color">{{$._.lp.summary}}:</span>
<div class="listItem-summary" data-o2-events="o2load:setSummary"></div>
</div>
<div>
<!-- <span class="listItem-infor-title">{{$._.lp.app}}:</span>-->
<!-- <span class="listItem-infor-content">{{$.applicationName}}</span>-->
<!-- <span class="listItem-infor-title">{{$._.lp.process}}:</span>-->
<!-- <span class="listItem-infor-content">{{$.processName}}</span>-->
<span class="listItem-infor-title mainColor_color">{{$._.lp.createTime}}:</span>
<span class="listItem-infor-content">{{($.createTime || "")}}</span>
......
......@@ -103,7 +103,13 @@ MWF.xApplication.ftsearch.FTSearchView = new Class({
size: this.pageSize,
filterList: filterList
}).then(function(json){
this.docList = json.data.documentList;
var sequence = (this.docPageNum - 1) * this.pageSize;
this.docList = json.data.documentList.map(function (d) {
sequence++;
d.sequence = sequence;
return d;
});
this.docTotal = json.data.count;
this.loadDocList(this.docList);
......@@ -151,7 +157,7 @@ MWF.xApplication.ftsearch.FTSearchView = new Class({
// if( !body && d._summary_){
// body = o2.typeOf( d._summary_ ) === "array" ? d._summary_.join("") : d._summary_;
// }
ev.target.set("html", d.highlighting || "")
ev.target.set("html", d.highlighting || d.summary || "")
},
setSummary: function(ev, d){
var body;
......@@ -215,12 +221,12 @@ MWF.xApplication.ftsearch.FTSearchView = new Class({
loadCondition: function( json ){
var lp = this.app.lp;
json.each(function(d){
d.label = lp[d.field] || d.field;
d.label = lp[d.field.toString()] || d.field;
d.valueCountPairList.each(function (v) {
v.field = d.field;
v.parentLabel = d.label;
if( d.field === "category" ){
v.label = lp[v.value] || v.value;
if( ["category","completed"].contains(d.field)){
v.label = lp[v.value.toString()] || v.value;
}else{
v.label = v.value;
}
......
......@@ -6,6 +6,7 @@ MWF.xApplication.ftsearch.LP = {
"location": "Your location:",
"cms": "CMS",
"processPlatform": "Process Management",
"processManager": "Process Management",
"cmsManager": "Content Management",
......@@ -39,6 +40,9 @@ MWF.xApplication.ftsearch.LP = {
"activityNameList": "Activity",
"workStatusList": "Process Status",
"updateTime": "Update Time",
"completed": "Completed",
"true": "true",
"false": "false",
"application": "Process Application",
"process": "Process",
......
......@@ -6,6 +6,7 @@ MWF.xApplication.ftsearch.LP = {
"location": "您的位置:",
"cms": "内容管理",
"processPlatform": "流程管理",
"processManager": "流程管理",
"cmsManager": "内容管理",
......@@ -37,6 +38,9 @@ MWF.xApplication.ftsearch.LP = {
"activityNameList": "活动",
"workStatusList": "流程状态",
"updateTime": "更新时间",
"completed": "已完成",
"true": "",
"false": "",
"application": "流程应用",
"process": "流程",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册