/**
* Admin.js
* 用户管理界面
* emial: hanzhengyi@chinausky.com
* create: 2018-12-12
*/
Ext.Loader.setConfig({
enabled: true
});
Ext.Loader.setPath('Ext.ux', '../../res/extjs/examples/ux');
Ext.require([
'Ext.grid.*',
'Ext.data.*',
'Ext.ux.RowExpander',
'Ext.selection.CheckboxModel'
]);
var sm = Ext.create('Ext.selection.CheckboxModel');
Ext.define('Admin',{
extend: 'Ext.data.Model',
fields: [
{ name:'I_ORDER_IDX', type:'int' },
{ name:'UQ_ADMIN_ID', type:'string' },
{ name:'V_ADMIN_NAME', type:'string' },
{ name:'V_LOGINNAME', type:'string' },
{ name:'V_PASSWORD', type:'string' },
{ name:'E_STATUS', type:'string' },
{ name:'I_VERSION', type:'int' },
{ name:'D_STORETIME', type:'string' }
]
});
Ext.onReady(function(){
var baseUrl = document.getElementById('basePath').value;
var theme = document.getElementById('theme').value;
var chkIcon = '
'
var unchkIcon = '
'
var countPerPage = 20;
var maxHeight = 10000;
var chkBoolean = function(flag) {
if(flag)
return chkIcon;
return unchkIcon;
}
var clear_append_form = function (){
Ext.getCmp('fa_V_ADMIN_NAME').setValue("");
Ext.getCmp('fa_V_LOGINNAME').setValue("");
Ext.getCmp('fa_V_PASSWORD').setValue("123456");
Ext.getCmp('fa_T_COMMIT').setValue("新增用户");
Ext.getCmp('AdminListPanel').getStore().reload();
}
var myStore = Ext.create('Ext.data.Store', {
model: 'Admin',
pageSize: countPerPage,
proxy: {
type: 'ajax',
url: baseUrl+'iot/admin/getList',
reader: {
type: 'json',
root: 'RESULT',
totalProperty: 'totalCount'
}
},
remoteSort: true
});
var AppendForm = Ext.create('Ext.form.Panel', {
id: 'AdminAppendForm',
labelWidth: 55,
url: baseUrl+'iot/admin/append',
defaultType: 'textfield',
bodyPadding: 15,
items: [{
fieldLabel:'用户姓名',
id: 'fa_V_ADMIN_NAME',
name:'V_ADMIN_NAME',
maxLength:20,
maxLengthText:'长度不得超出{0}',
anchor:'75%'
},{
fieldLabel:'用户登录名',
id: 'fa_V_LOGINNAME',
name: 'V_LOGINNAME',
maxLength: 7,
maxLengthText:'长度不得超出{0}',
anchor:'50%'
},{
fieldLabel:'登录密码',
id: 'fa_V_PASSWORD',
name:'V_PASSWORD',
maxLength: 12,
maxLengthText:'长度不得超出{0}',
anchor:'95%',
value:'123456'
},{
fieldLabel:'新增用户说明',
id: 'fa_T_COMMIT',
name:'T_COMMIT',
xtype: 'textareafield',
maxLength: 250,
maxLengthText:'长度不得超出{0}',
anchor:'100%',
value:'新增用户'
},{
id:'fa_queryJson',
name:'queryJson',
hidden:true
}],
buttons: [{
text: '提交',
iconCls:'ok_btn',
handler: function() {
var form = this.up('form').getForm();
if (form.isValid()) {
var query = new Object();
query.V_ADMIN_NAME = Ext.getCmp('fa_V_ADMIN_NAME').getValue();
query.V_LOGINNAME = Ext.getCmp('fa_V_LOGINNAME').getValue();
query.V_PASSWORD = Ext.getCmp('fa_V_PASSWORD').getValue();
query.T_COMMIT = Ext.getCmp('fa_T_COMMIT').getValue();
query.V_EDITOR_ID = '00000000-000000-000000-000000';
var jsonstr = Ext.JSON.encode(query);
Ext.getCmp('fa_queryJson').setValue(jsonstr);
form.submit({
method:'post',
success: function(form, action) {
Ext.Msg.alert('操作成功', '新增用户已保存', function(btn,txt){
clear_append_form();
});
},
failure: function(form, action) {
Ext.Msg.alert('操作失败', action.Msg , function(btn,txt){
clear_append_form();
});
}
});
}
}
},{
text: '关闭',
iconCls: 'cancel_btn',
handler: function() {
this.up('window').hide();
}
}]
});
var appendwin = function(){
Ext.create('Ext.window.Window', {
title: '新增用户',
height: 300,
width: 400,
layout: 'fit',
items: AppendForm,
closeAction: 'hide'
}).show();
}
var clear_filter_form = function(){
Ext.getCmp('ff_V_ADMIN_NAME').setValue("");
Ext.getCmp('ff_V_LOGINNAME').setValue("");
Ext.getCmp('ff_V_PASSWORD').setValue("");
Ext.getCmp('ff_T_COMMIT').setValue("");
}
var states = Ext.create('Ext.data.Store', {
fields: ['status', 'name'],
data : [
{"status":-1, "name":"全选"},
{"status":0, "name":"无效"},
{"status":1, "name":"有效"}
]
});
var FilterForm = Ext.create('Ext.form.Panel', {
id: 'AdminFilterForm',
labelWidth: 55,
defaultType: 'textfield',
bodyPadding: 15,
items: [{
fieldLabel:'用户姓名',
id: 'ff_V_ADMIN_NAME',
name:'V_ADMIN_NAME',
maxLength:20,
maxLengthText:'长度不得超出{0}',
anchor:'75%'
},{
fieldLabel:'用户登录名',
id: 'ff_V_LOGINNAME',
name: 'V_LOGINNAME',
maxLength: 7,
maxLengthText:'长度不得超出{0}',
anchor:'75%'
},{
id:'ff_queryJson',
name:'queryJson',
hidden:true
}],
buttons: [{
text: '提交',
iconCls:'ok_btn',
handler: function() {
var form = this.up('form').getForm();
if (form.isValid()) {
var query = new Object();
if(Ext.getCmp('ff_V_ADMIN_NAME').getValue().length>0)
query.V_ADMIN_NAME = Ext.getCmp('ff_V_ADMIN_NAME').getValue();
if(Ext.getCmp('ff_V_LOGINNAME').getValue().length>0)
query.V_LOGINNAME = Ext.getCmp('ff_V_LOGINNAME').getValue();
var jsonstr = Ext.JSON.encode(query);
myStore.getProxy().extraParams = {
queryJson : jsonstr
};
Ext.getCmp('AdminListPageToolbar').moveFirst();
clear_filter_form();
this.up('window').hide();
}
}
},{
text: '关闭',
iconCls: 'cancel_btn',
handler: function() {
this.up('window').hide();
}
}]
});
var filterwin = function() {
Ext.create('Ext.window.Window',{
id: 'AdminFilterWin',
title: '用户筛选',
height: 300,
width: 400,
layout: 'fit',
items: FilterForm,
closeAction: 'hide'
}).show();
}
var clear_modify_form = function (){
Ext.getCmp('fm_V_ADMIN_NAME').setValue("");
Ext.getCmp('fm_V_LOGINNAME').setValue("");
Ext.getCmp('fm_V_PASSWORD').setValue("");
Ext.getCmp('fm_T_COMMIT').setValue("");
Ext.getCmp('fm_E_STATUS').setValue(0);
Ext.getCmp('AdminListPanel').getStore().reload();
}
var states1 = Ext.create('Ext.data.Store', {
fields: ['status', 'name'],
data : [
{"status":"未激活", "name":"未激活"},
{"status":"激活", "name":"激活"},
{"status":"锁定", "name":"锁定"},
{"status":"注销", "name":"注销"},
]
});
var ModifyForm = Ext.create('Ext.form.Panel', {
id: 'AdminEditForm',
labelWidth: 55,
url: baseUrl+'iot/admin/update',
defaultType: 'textfield',
bodyPadding: 15,
items: [{
fieldLabel:'用户姓名',
id: 'fm_V_ADMIN_NAME',
name:'V_ADMIN_NAME',
maxLength:20,
maxLengthText:'长度不得超出{0}',
anchor:'75%'
},{
fieldLabel:'用户登录名',
id: 'fm_V_LOGINNAME',
name: 'V_LOGINNAME',
maxLength: 7,
maxLengthText:'长度不得超出{0}',
anchor:'75%'
},{
fieldLabel:'登录密码',
id: 'fm_V_PASSWORD',
name:'V_PASSWORD',
maxLength: 250,
maxLengthText:'长度不得超出{0}',
anchor:'75%'
},{
fieldLabel:'用户状态',
id:'fm_E_STATUS',
name:'E_STATUS',
xtype:'combo',
store:states1,
displayField : 'name',
valueField : 'status',
editable : false,
maxLength: 7,
maxLengthText:'长度不得超出{0}',
anchor:'50%'
},{
fieldLabel:'修改说明',
id: 'fm_T_COMMIT',
name:'T_COMMIT',
xtype: 'textareafield',
maxLength: 250,
maxLengthText:'长度不得超出{0}',
anchor:'100%'
},{
id: 'fm_UQ_ADMIN_ID',
name:'UQ_ADMIN_ID',
hidden:true
},{
id:'fm_queryJson',
name:'queryJson',
hidden:true
}],
buttons: [{
text: '修改',
iconCls:'ok_btn',
handler: function() {
var form = this.up('form').getForm();
if (form.isValid()) {
var query = new Object();
query.UQ_ADMIN_ID = Ext.getCmp('fm_UQ_ADMIN_ID').getValue();
query.V_ADMIN_NAME = Ext.getCmp('fm_V_ADMIN_NAME').getValue();
query.V_LOGINNAME = Ext.getCmp('fm_V_LOGINNAME').getValue();
query.V_PASSWORD = Ext.getCmp('fm_V_PASSWORD').getValue();
query.T_COMMIT = Ext.getCmp('fm_T_COMMIT').getValue();
if(Ext.getCmp('fm_E_STATUS').getValue()=='未激活'){
query.E_STATUS=0;
}
if(Ext.getCmp('fm_E_STATUS').getValue()=='激活'){
query.E_STATUS=1;
}
if(Ext.getCmp('fm_E_STATUS').getValue()=='锁定'){
query.E_STATUS=2;
}
if(Ext.getCmp('fm_E_STATUS').getValue()=='注销'){
query.E_STATUS=3;
}
query.V_EDITOR_ID = '00000000-000000-000000-000000';
var jsonstr = Ext.JSON.encode(query);
Ext.getCmp('fm_queryJson').setValue(jsonstr);
form.submit({
method:'post',
success: function(form, action) {
Ext.Msg.alert('操作成功', '用户信息已修改', function(btn,txt){
clear_modify_form();
});
},
failure: function(form, action) {
Ext.Msg.alert('操作失败', action.Msg , function(btn,txt){
clear_modify_form();
});
}
});
this.up('window').hide();
}
}
},{
text: '关闭',
iconCls: 'cancel_btn',
handler: function() {
this.up('window').hide();
}
}]
});
var modifywin = function(){
Ext.create('Ext.window.Window', {
title: '修改用户信息',
height: 300,
width: 400,
layout: 'fit',
items: ModifyForm,
closeAction: 'hide'
}).show();
}
var clear_delete_form = function (){
Ext.getCmp('fn_V_ADMIN_NAME').setValue("");
Ext.getCmp('fn_V_LOGINNAME').setValue("");
Ext.getCmp('fn_V_PASSWORD').setValue("");
Ext.getCmp('fn_T_COMMIT').setValue("");
Ext.getCmp('fn_E_STATUS').setValue(0);
Ext.getCmp('AdminListPanel').getStore().reload();
}
var deletewin = function() {
Ext.create('Ext.window.Window', {
title: '注销用户信息',
height: 300,
width: 400,
layout: 'fit',
items: DeleteForm,
closeAction: 'hide'
}).show();
}
var del_sm = function() {
if(sm.getCount()==1){
var selected = sm.getSelection( );
var query = new Object();
var list = new Array();
var o = new Object();
o.UQ_ADMIN_ID = selected[0].raw.UQ_ADMIN_ID;
list.push(o);
query.ADMIN_LIST = list;
var jsonstr= Ext.JSON.encode(query);
Ext.MessageBox.confirm('注销用户','是否注销 '+selected[0].raw.V_ADMIN_NAME+' 用户?',function(btn){
if(btn=='yes'){
Ext.Ajax.request( {
timeout : 3000000,
url: baseUrl+'iot/admin/delete',
params : 'queryJson='+ jsonstr,
success: function(resp,opts){
myStore.reload();
}
});
}
},this);
}else{
if(sm.getCount()>1){
var query = new Object();
var list = new Array();
for(var i=0;i