UNPKG

yylib-quick-mobile

Version:

yylib-quick-mobile

126 lines (122 loc) 4.77 kB
var {TableApi,FormApi} = require('./api.all'); var _ = require('lodash'); var {YYToast} = require('../../index'); var formatUtils = require('../../utils/formatUtils'); var ajax = require('../../utils/ajax'); var CURDHandler = { //绑定通用查询 "icop.select": { "onClick":function(){ //console.log('icop.select-->click'); var page = this.getPage(); var table = this.findUI('icop.table'); if(table){ if(table.uitype=='YYTable'){ TableApi.loadData({page,table}); }else if(table.api&&table.uitype=='TableWidget'){ table.api.queryData(); }else if(table.api&&table.uitype=='CPListTable'){ table.api.queryData(); } } } }, //绑定通用删除 "icop.delete": { "onClick":function(){ //console.log('icop.delete-->click'); var page = this.getPage(); var table = this.findUI('icop.table'); if(table){ if(table.uitype=='YYTable'){ TableApi.batchDelete({page,table}); }else if(table.api&&table.uitype=='TableWidget'){ table.api.deleteData(); }else if(table.api&&table.uitype=='CPListTable'){ table.api.deleteData(); } } } }, //绑定通用返回 "icop.goback": { "onClick":function(){ this.goBack(); } }, //绑定基础表格 "icop.table":{ onViewWillMount:function(options){ //console.log('icop.table-->onViewWillMount'); //var itemUI = options.item; var page = this.getPage(); var table = this.findUI('icop.table'); if(table&&table.uitype=='YYTable'){ TableApi.init({page,table}); } } ,onViewDidMount:function(options){ //var itemUI = options.item; //console.log('listTable onViewDidMount',!!itemUI); //console.log('icop.table-->onViewDidMount'); var page = this.getPage(); var table = this.findUI('icop.table'); if(table&&table.uitype=='YYTable') { TableApi.loadData({page, table}); } } }, //绑定通用保存 "icop.save":{ "onClick":function(){ var that = this; var allForms = this.findUIByType('FormWidget'); if(!_.isArray(allForms)||allForms.length==0)return; var _getBaseUrl=function(dataprops){ if(dataprops&&dataprops.system&&dataprops.system.baseUrl&&dataprops.system.systemName){ return dataprops.system.baseUrl+dataprops.system.systemName; } }; var _getEntityName=function(dataprops){ if(dataprops&&dataprops.entity&&dataprops.entity.entityFullName){ return dataprops.entity.entityFullName; } }; var formKeys = []; var _url; var _entityName; _.forEach(allForms,function(form,index){ formKeys.push(form.uikey); if(!_url){ _url = _getBaseUrl(form.dataprops)?_getBaseUrl(form.dataprops)+"/commons/jpa/update":null; } if(!_entityName){ _entityName = _getEntityName(form.dataprops); } }); //console.log('icop.save:',_formData); FormApi.validateForms(this,{formKeys:formKeys,success:function(options){ var allFormValues = options.formValues; var formValues = {}; _.forEach(allFormValues,function(values,key) { formValues = _.assign(formValues,values); }); //TODO 目前只支持单表操作,需完善子表操作 var _parentEntity = { "entityName": _entityName, "entityJson": formValues }; ajax.postJSON(_url, _parentEntity,function (result) { //java端返回的格式为JsonBackData+Page格式 if (result && result.success) { YYToast.success('保存成功'); that.goBack(); }else{ YYToast.error(result.backMsg) } }); }}); } } }; module.exports = CURDHandler;