123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- Ext.QuickTips.init();
- Ext.define('erp.controller.ma.DataList', {
- extend: 'Ext.app.Controller',
- FormUtil: Ext.create('erp.util.FormUtil'),
- GridUtil: Ext.create('erp.util.GridUtil'),
- BaseUtil: Ext.create('erp.util.BaseUtil'),
- views:[
- 'ma.DataList','core.form.Panel','ma.MyDataList',
- 'core.button.Add','core.button.Save','core.button.Close','core.button.Sync','core.button.ComboButton',
- 'core.button.Upload','core.button.Update','core.button.Delete','core.button.DeleteDetail',
- 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger','core.toolbar.Toolbar', 'core.grid.YnColumn'
- ],
- init:function(){
- var me = this;
- this.control({
- 'erpSyncButton': {
- afterrender: function(btn){
- btn.autoClearCache = true;
- }
- },
- 'erpSaveButton': {
- click: function(btn){
- var f=me.check('save');
- if(f){
- this.FormUtil.beforeSave(me);
- };
- }
- },
- 'erpUpdateButton': {
- click: function(btn){
- var f=me.check('update');
- if(f){
- me.save();
- }
- }
- },
- 'erpDeleteButton' :{
- click:function(btn){
- me.FormUtil.onDelete(Ext.getCmp('dl_id').value);
- }
- },
- 'erpAddButton': {
- click: function(){
- me.FormUtil.onAdd('addDataList', '新增DataList配置', 'jsps/ma/dataList.jsp');
- }
- },
- 'erpCloseButton': {
- click: function(btn){
- this.FormUtil.beforeClose(me);
- }
- },
- 'mydatalist': {
- itemclick: function(selModel, record){
- this.GridUtil.onGridItemClick(selModel, record);
- },
- select:function(selModel,record){
- var grid=selModel.view.ownerCt.ownerCt;
- if(record && record.data.dld_fieldtype == 'C'){
- grid.down('erpComboButton').setDisabled(false);
- }else {
- grid.down('erpComboButton').setDisabled(true);
- }
- }
- },
- 'erpFormPanel textfield[name=dl_caller]': {
- change: function(field){//主表dl_caller值变更时,对应从表字段也变更
- var grid = Ext.getCmp('grid');
- Ext.Array.each(grid.store.data.items, function(item){
- item.set('dld_caller',field.value);
- });
- }
- },
- 'erpFormPanel textfield[name=dl_tablename]': {
- change: function(field){//主表dl_tablename值变更时,对应从表字段也变更
- var grid = Ext.getCmp('grid');
- Ext.Array.each(grid.store.data.items, function(item){
- item.set('dld_table',field.value);
- });
- }
- },
- 'erpComboButton': {
- click: function(btn){
- var grid = btn.ownerCt.ownerCt;
- var record = grid.selModel.lastSelected;
- if(record) {
- if(record.data.dld_fieldtype == 'C') {
- btn.comboSet(whoami, record.data.dld_field);
- }
- }
- }
- },
- '#erpSetComboButton': {
- click: function(btn) {
- var grid = btn.ownerCt.ownerCt,
- record = grid.selModel.lastSelected;
- if(record && record.get('dld_fieldtype') == 'C') {
- warnMsg('确定重置下拉框数据?', function(b){
- if(b == 'ok' || b == 'yes') {
- Ext.Ajax.request({
- url: basePath + 'ma/resetCombo.action',
- params: {
- caller: whoami,
- field: record.get('dld_field')
- },
- callback: function(opt, s, r) {
- if(s) {
- var rs = Ext.decode(r.responseText);
- if(rs.error) {
- alert(rs.error);
- } else {
- alert('设置成功!');
- }
- }
- }
- });
- }
- });
- }
- }
- }
- });
- },
- check:function(type){//检查table主键中字段是否配置
- var keyField=Ext.getCmp('dl_keyfield').value;
- var keyArr=new Array();
- if(keyField != null && keyField != ''){
- if(keyField.indexOf('+') > 0) {
- var arr = keyField.split('+');
- Ext.Array.each(arr, function(r){
- ff = r.split('@');
- keyArr.push(ff[1]);
- });
- } else {
- keyArr.push(keyField);
- }
- }
- var items=Ext.getCmp('grid').store.data.items,dd= new Array(),flag=true;
- Ext.Array.each(items, function(item){
- d = item.data;
- if(type=='save'){
- if(!Ext.isEmpty(d['dld_field'])){
- dd.push(d);
- }
- }else if(type=='update'){
- if(d['deploy'] == true){
- dd.push(d);
- }
- }
- });
- if(dd.length > 0) {
- Ext.Array.each(keyArr,function(key){
- flag=false;
- for(var i=0;i<dd.length;i++){
- if(key==dd[i]['dld_field']){
- flag=true;
- break;
- }
- }
- if(!flag){
- showError('未配置table主键字段:'+key);
- return flag;
- }
- });
- } else {
- showError('请至少配置一个有效字段!');
- return false;
- }
- return flag;
- },
- getForm: function(btn){
- return btn.ownerCt.ownerCt;
- },
- save: function(){
- var detail = Ext.getCmp('grid'),records = detail.store.data.items;
- field = Ext.getCmp('dl_tablename'),val = field.value.split(' ')[0];
- Ext.Array.each(records, function(item){
- if(item.data['dld_field'] != null && item.data['dld_field'] != '' && Ext.isEmpty('dld_table')){
- item.set('dld_table', val);
- }
- });
- var me = this;
- if(! me.FormUtil.checkForm()){
- return;
- }
- var de = detail.getChange();
- me.FormUtil.update(Ext.getCmp('form').getValues(), Ext.encode(de.added),
- Ext.encode(de.updated), Ext.encode(de.deleted));
- }
- });
|