123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571 |
- /**
- * 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 = '<img src="'+baseUrl+'res/img/common/check.gif"/>'
- var unchkIcon = '<img src="'+baseUrl+'res/img/common/uncheck.gif"/>'
- 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<sm.getCount();i++){
- var selected = sm.getSelection( );
- var o = new Object();
- o.UQ_ADMIN_ID = selected[i].raw.UQ_ADMIN_ID;
- list.push(o);
- }
- query.ADMIN_LIST = list;
-
- var jsonstr= Ext.JSON.encode(query);
- Ext.MessageBox.confirm('注销用户','是否注销选中的'+sm.getCount()+' 个用户?',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{
- Ext.Msg.alert('请先选择','至少选择一条记录,再点击注销');
- }
- }
- }
-
- var chk_sm = function() {
- if(sm.getCount()==1){
- modifywin();
- var selected = sm.getSelection( );
- var estatus =selected[0].raw.E_STATUS;
- Ext.getCmp('fm_UQ_ADMIN_ID').setValue(selected[0].raw.UQ_ADMIN_ID);
- Ext.getCmp('fm_V_ADMIN_NAME').setValue(selected[0].raw.V_ADMIN_NAME);
- Ext.getCmp('fm_V_LOGINNAME').setValue(selected[0].raw.V_LOGINNAME);
- Ext.getCmp('fm_V_PASSWORD').setValue(selected[0].raw.V_PASSWORD);
- Ext.getCmp('fm_E_STATUS').setValue(estatus);
- }else{
- Ext.Msg.alert('请先选择','请先选择一条记录,再点击修改');
- }
- }
- Ext.create('Ext.grid.Panel', {
- title: '用户信息',
- id: 'AdminListPanel',
- store: myStore,
- selModel: sm,
- columns: [
- { header: 'ID', dataIndex: 'UQ_ADMIN_ID',hidden:true, menuDisabled:true },
- { header: '序号', dataIndex: 'I_ORDER_IDX', width:40, menuDisabled:true },
- { header: '用户姓名', dataIndex: 'V_ADMIN_NAME', width:80, menuDisabled:true },
- { header: '用户登录名', dataIndex: 'V_LOGINNAME', width:80, menuDisabled:true },
- { header: '用户状态', dataIndex: 'E_STATUS', width:100, menuDisabled:true },
- { header: '保存时间', dataIndex: 'D_STORETIME',width:150, align:'center', menuDisabled:true },
- { header: '记录版本', dataIndex: 'I_VERSION', width:80, align:'center', menuDisabled:true },
- {
- xtype : 'actioncolumn',
- width:20,
- sortable:false,
- align:'center',
- menuDisabled:true,
- items:[{
- icon: '../../res/img/common/forum.gif',
- tooltip: '版本记录',
- handler: function(grid, rowIndex, colIndex) {
- var rec = grid.getStore().getAt(rowIndex);
- window.location = 'version.jsp?theme='+theme+'&adminId='+rec.get('UQ_ADMIN_ID');
- }
- }]
- }
- ],
- columnLines: true,
- tbar: [
- {
- xtype: 'button',
- iconCls:'filter_btn',
- text: '筛选',
- listeners: {
- click: filterwin
- }
- },'-',
- {xtype: 'tbfill'},'-',
- {
- xtype: 'button',
- iconCls:'append_btn',
- text: '新增',
- listeners: {
- click: appendwin
- }
- },
- {
- xtype: 'button',
- iconCls:'modify_btn',
- text: '修改',
- listeners: {
- click: chk_sm
- }
- },
- {
- xtype: 'button',
- iconCls:'delete_btn',
- text: '注销',
- listeners: {
- click: del_sm
- }
- }
- ],
- height: maxHeight,
- width: '100%',
- bbar: new Ext.PagingToolbar({
- store: myStore,
- id:'AdminListPageToolbar',
- displayInfo: true,
- pageSize: countPerPage,
- prependButtons: true,
- displayMsg : '显示第 {0}条到 {1}条记录,总共 {2}条',
- emptyMsg : "没有记录",
- firstText: '第一页',
- prevText: '前一页',
- nextText: '后一页',
- lastText: '最后一页',
- refreshText: '刷新',
- doRefresh:function(start){
- alert(start);
- relushDataFunction(start); // 调用函数刷新数据
- this.cursor = start; // 更新页签
- }
- }),
- frame: true,
- border:false,
- iconCls: 'icon-grid',
- renderTo: Ext.getBody()
- });
- myStore.reload();
- maxHeight = document.documentElement.clientHeight;
- Ext.getCmp('AdminListPanel').setHeight(maxHeight);
-
- });
|