Ext.define('ZYMLZiYuanModel', {
extend: 'Ext.data.Model',
/**fields: [
'ZIYUANID', 'ZIYUANMC', 'SUOSHUZIYUANMULU', 'ZIYUANLEIXING', 'FABUDANWEI', 'FABUDANWEIREN', 'FABUSHIJIANDATE', 'ZHUXIAOSHIJIANDATE', 'CHECK'
],*/
fields:[
'resourceid','title','mulu','resourceclass', 'resourcestatus','unitname', 'createuserid','chinesename','pubdate','auditstatus'
],
idProperty: 'resourceid'
});
var ShuJuYuan = new Ext.data.Store({
autoDestroy: true,
pageSize: 10,
model: 'ZYMLZiYuanModel',
proxy: {
type: 'ajax',
url: '/res/ZiYuan/selectResMainInfojoinCatalog',
reader: {
root: 'topics',
totalProperty: 'totalCount'
},
simpleSortMode: true
},
remoteSort: true
});
var formdata = {};
Ext.onReady(function () {
Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
Ext.tip.QuickTipManager.init();
Ext.Ajax.timeout = 900000;
Ext.require([
'Ext.ux.PagingToolbar'
]);
Ext.create('Ext.grid.Panel', {
id: 'gridexample',
renderTo: 'grid',
// width: 2400,
// height: 380,
layout: 'fit',
autoScroll: false,
//bodyStyle: 'width:100%',
store: ShuJuYuan,
stateful: false,
stateId: 'ZYMLZiYuan-Grid',
viewConfig: {
forceFit: true,
enableTextSelection: true //列表数据可复制
},
columns: [
{ xtype: 'rownumberer', text: "序号", width: '4%', align: 'center' },
{
text: "资源名称", dataIndex: 'title', width: '16%', flex: 1, sortable: true, align: 'left', filter: { type: 'string' },
renderer: function (value, p, record) {
var ziYuanId = record.getData()["resourceid"];
var tit = htmlEncodeByRegExp(value);
return Ext.String.format(
'{2}',
ziYuanId, value,tit
);
}
}, {
text: "所属目录", dataIndex: 'mulu', width: '16%', sortable: false, filter: { type: 'string' }, align: 'left',
renderer: function (value, p, record) {
var tit = htmlEncodeByRegExp(value);
return Ext.String.format('{1}', value,tit);
}
},
{
text: "资源类型", dataIndex: 'resourceclass', width: '10%', sortable: true, align: 'center', filter: { type: 'string' },
renderer: function (value, p, record) {
// var Type = record.getData()["resourceclass"];
var color = "";
if (value == "基础底图" || value == "三维影像") {
color = "label-success";
} else if (value == "业务图层" || value == "接口服务") {
color = "label-danger";
} else if (value == "空间分析") {
color = "label-warning";
} else if (value == "专题地图" || value == "三维地形") {
color = "label-pink";
} else if (value == "专题应用程序" || value == "数据文件") {
color = "label-default";
} else if (value == "业务集成") {
color = "label-info";
} else if (value == "文档数据" || value == "数据库表" || value == "三维模型") {
color = "label-primary";
}
return Ext.String.format(
'{1}',
color, value
);
}
},
{
text: '资源状态', dataIndex: 'resourcestatus', width: '10%', align: 'center', sortable: false,filter: { type: 'string' },
renderer: function (value, p, record) {
if (value == 0) {
return "正常";
}
else if (value == 1) {
return "异常";
}
else if (value == 3) {
return "注销";
}
}
},
{ text: "发布时间", dataIndex: 'pubdate', width: '10%', sortable: true, filter: { type: 'string' }, align: 'center' },
{
text: "发布单位", dataIndex: 'unitname', width: '14%', sortable: false, align: 'center', filter: { type: 'string' },
renderer: function (value, p, record) {
if(value == null || value == "null") {
return "";
} else {
return value;
}
}
},
{ text: "发布人", dataIndex: 'chinesename', width: '10%', sortable: false, align: 'center', filter: { type: 'string' } },
{
text: '审核状态', dataIndex: 'auditstatus', width: '10%', align: 'center', sortable: true,
renderer: function (value, p, record) {
if (value == 1) {
return "待审核";
}
else if (value == 2) {
return "审核已通过";
}
else if (value == 3) {
return "审核未通过";
}
else if (value == 4) {
return "已注销";
}
else if (value == 0) {
return "未提交";
}
else {
return "未知类型";
}
}
},
],
bbar: Ext.create('Ext.ux.PagingToolbar', {
id: "Page",
name: "Page",
store: ShuJuYuan,
displayInfo: true,
firstText: "首页",
prevText: "上一页",
nextText: "下一页",
lastText: "尾页",
refreshText: '刷新',
beforePageText: '第',
afterPageText: '页,共 {0} 页',
displayMsg: '显示 {0} - {1} 条,共 {2} 条',
emptyMsg: "没有数据显示",
items: [
{
xtype: 'label',
text: ''
}
]
})
});
ShuJuYuan.on('beforeload', function () {
GetSearchWhere("SearchForm");
ShuJuYuan.proxy.extraParams = [];
Ext.apply(ShuJuYuan.proxy.extraParams, formdata);
});
ShuJuYuan.on('load', function (store, records, successful, eOpts) {
var totalCount = store.totalCount;
if (totalCount == "") totalCount = "0";
// document.getElementById("ZiYuanCount").innerHTML = totalCount;
});
ShuJuYuan.load();
//添加resize监听防止切换tab或者收起左栏导致grid不自适应宽度
$(window).resize(function () {
Ext.getCmp('gridexample').doLayout();//panel重新布局
});
});
//查询
function Search() {
if(!checkDate()) {
$("#pubdatefinish").focus();
$("#pubdatefinish").focus();
return false;
}
Ext.getCmp('gridexample').dockedItems.items[1].store.currentPage = 1;
ShuJuYuan.load();
}
//转码
function htmlEncodeByRegExp(str){
var s = "";
if(str.length == 0) return "";
// s = str.replace(/&/g,"&");
s = str.replace(//g,">");
s = s.replace(/ /g," ");
s = s.replace(/\'/g,"'");
s = s.replace(/\"/g,""");
return s;
}
//获取查询条件
function GetSearchWhere(formId) {
var form = document.forms[formId];
for (var i = 0; i < form.elements.length; i++) {
var strID = form.elements[i].id;
var value = form.elements[i].value;
if (form.elements[i].type == "checkbox") {
if (form.elements[i].checked == true)
value = "on";
else
value = "";
}
if (form.elements[i].type == "radio") {
if (form.elements[i].checked == true) {
strID = form.elements[i].name;
value = form.elements[i].value;
}
}
formdata[strID] = (value == "全部" || value == "None" ? "" : value + "");
}
}