| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687 |
- Ext.define('saas.view.money.verification.FormPanelController', {
- extend: 'saas.view.core.form.FormPanelController',
- alias: 'controller.money-verification-formpanel',
- init: function (form) {
- var me = this;
- this.control({
- // 客户
- 'dbfindtrigger[name=vc_custname]':{
- beforerender:function(f){
- Ext.apply(f,{
- dbColumns: [{
- conditionCode: 'id',
- text: "客户ID",
- dataIndex: "id",
- hidden:true,
- xtype: "",
- }, {
- conditionCode: 'cu_code',
- text: "客户编号",
- dataIndex: "cu_code",
- width: 150,
- xtype: "",
- }, {
- conditionCode: 'cu_name',
- text: "客户名称",
- dataIndex: "cu_name",
- width: 200,
- xtype: "",
- }, {
- conditionCode: 'cu_type',
- text: "客户类型",
- dataIndex: "cu_type",
- width: 110,
- xtype: "",
- }, {
- text: "业务员编号",
- dataIndex: "cu_sellercode",
- width:110
- }, {
- text: "业务员",
- dataIndex: "cu_sellername",
- width:110
- }, {
- text: "税率",
- dataIndex: "cu_taxrate",
- xtype: 'numbercolumn',
- width:80,
- renderer: function (v) {
- return Ext.util.Format.number(v, '0');
- }
- },{
- text: "应收款余额",
- dataIndex: "cu_leftamount",
- width:110,
- xtype: 'numbercolumn',
- renderer : function(v) {
- if(!v) {
- return 0;
- }
- var arr = (v + '.').split('.');
- var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
- var format = '0.' + xr.join();
- return Ext.util.Format.number(v, format);
- }
- }, {
- text: "结算天数",
- dataIndex: "cu_promisedays",
- width:110,
- xtype: 'numbercolumn',
- renderer: function (v) {
- return Ext.util.Format.number(v, '0');
- }
- }, {
- text: "额度",
- dataIndex: "cu_credit",
- width:110,
- xtype: 'numbercolumn',
- }, {
- text: "客户地址",
- dataIndex: "ca_address",
- width: 250
- }],
- //赋值
- dbfinds:[{
- from: 'id', to: 'vc_custid',ignore:true
- }, {
- from:'cu_code', to:'vc_custcode'
- },{
- from:'cu_name', to:'vc_custname'
- }],
- }) ;
- }
- },
- // 转入客户
- 'dbfindtrigger[name=vc_turncustname]':{
- beforerender:function(f){
- Ext.apply(f,{
- dbColumns: [{
- conditionCode: 'id',
- text: "客户ID",
- dataIndex: "id",
- hidden:true,
- xtype: "",
- }, {
- conditionCode: 'cu_code',
- text: "客户编号",
- dataIndex: "cu_code",
- width: 150,
- xtype: "",
- }, {
- conditionCode: 'cu_name',
- text: "客户名称",
- dataIndex: "cu_name",
- width: 200,
- xtype: "",
- }, {
- conditionCode: 'cu_type',
- text: "客户类型",
- dataIndex: "cu_type",
- width: 110,
- xtype: "",
- }, {
- text: "业务员编号",
- dataIndex: "cu_sellercode",
- width:110
- }, {
- text: "业务员",
- dataIndex: "cu_sellername",
- width:110
- }, {
- text: "税率",
- dataIndex: "cu_taxrate",
- xtype: 'numbercolumn',
- width:80,
- renderer: function (v) {
- return Ext.util.Format.number(v, '0');
- }
- },{
- text: "应收款余额",
- dataIndex: "cu_leftamount",
- width:110,
- xtype: 'numbercolumn',
- renderer : function(v) {
- if(!v) {
- return 0;
- }
- var arr = (v + '.').split('.');
- var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
- var format = '0.' + xr.join();
- return Ext.util.Format.number(v, format);
- }
- }, {
- text: "结算天数",
- dataIndex: "cu_promisedays",
- width:110,
- xtype: 'numbercolumn',
- renderer: function (v) {
- return Ext.util.Format.number(v, '0');
- }
- }, {
- text: "额度",
- dataIndex: "cu_credit",
- width:110,
- xtype: 'numbercolumn',
- }, {
- text: "客户地址",
- dataIndex: "ca_address",
- width: 250
- }],
- //赋值
- dbfinds:[{
- from: 'id', to: 'vc_turncustid',ignore:true
- }, {
- from:'cu_code', to:'vc_turncustcode'
- },{
- from:'cu_name', to:'vc_turncustname'
- }],
- }) ;
- }
- },
- // 供应商
- 'dbfindtrigger[name=vc_vendname]':{
- beforerender: function (f) {
- Ext.apply(f, {
- dbColumns:[{
- text: "供应商ID",
- hidden: true,
- dataIndex: "id",
- xtype: "numbercolumn"
- },{
- text: "供应商编号",
- dataIndex: "ve_code",
- width: 150
- }, {
- text: "供应商名称",
- dataIndex: "ve_name",
- width: 200
- }, {
- text: "供应商类型",
- dataIndex: "ve_type",
- width: 110,
- }, {
- text: "税率",
- dataIndex: "ve_taxrate",
- width: 80,
- xtype: 'numbercolumn',
- align:'end',
- renderer : function(v) {
- if(!v) {
- return 0;
- }
- var arr = (v + '.').split('.');
- var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
- var format = '0.' + xr.join();
- return Ext.util.Format.number(v, format);
- }
- }, {
- text: "应付款余额",
- dataIndex: "ve_leftamount",
- width:110,
- xtype: 'numbercolumn',
- renderer : function(v) {
- if(!v) {
- return 0;
- }
- var arr = (v + '.').split('.');
- var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
- var format = '0.' + xr.join();
- return Ext.util.Format.number(v, format);
- }
- },{
- text: "结算天数",
- dataIndex: "ve_promisedays",
- width: 110,
- xtype: 'numbercolumn',
- align: 'end',
- renderer : function(v) {
- return Ext.util.Format.number(v, '0');
- }
- }, {
- text: "纳税人识别号",
- dataIndex: "ve_nsrzh",
- width: 150
- }, {
- text: "开户银行",
- dataIndex: "ve_bankcode",
- width: 150
- }, {
- text: "银行账户",
- dataIndex: "ve_bankaccount",
- width: 200
- }],
- dbfinds: [{
- from: 'id',
- to: 'vc_vendid',
- ignore: true
- }, {
- from: 've_code',
- to: 'vc_vendcode'
- }, {
- from: 've_name',
- to: 'vc_vendname'
- }],
- });
- }
- },
- // 转入供应商
- 'dbfindtrigger[name=vc_turnvendname]':{
- beforerender: function (f) {
- Ext.apply(f, {
- dbColumns:[{
- text: "供应商ID",
- hidden: true,
- dataIndex: "id",
- xtype: "numbercolumn"
- },{
- text: "供应商编号",
- dataIndex: "ve_code",
- width: 150
- }, {
- text: "供应商名称",
- dataIndex: "ve_name",
- width: 200
- }, {
- text: "供应商类型",
- dataIndex: "ve_type",
- width: 110,
- }, {
- text: "税率",
- dataIndex: "ve_taxrate",
- width: 80,
- xtype: 'numbercolumn',
- align:'end',
- renderer : function(v) {
- if(!v) {
- return 0;
- }
- var arr = (v + '.').split('.');
- var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
- var format = '0.' + xr.join();
- return Ext.util.Format.number(v, format);
- }
- }, {
- text: "应付款余额",
- dataIndex: "ve_leftamount",
- width:110,
- xtype: 'numbercolumn',
- renderer : function(v) {
- if(!v) {
- return 0;
- }
- var arr = (v + '.').split('.');
- var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
- var format = '0.' + xr.join();
- return Ext.util.Format.number(v, format);
- }
- },{
- text: "结算天数",
- dataIndex: "ve_promisedays",
- width: 110,
- xtype: 'numbercolumn',
- align: 'end',
- renderer : function(v) {
- return Ext.util.Format.number(v, '0');
- }
- }, {
- text: "纳税人识别号",
- dataIndex: "ve_nsrzh",
- width: 150
- }, {
- text: "开户银行",
- dataIndex: "ve_bankcode",
- width: 150
- }, {
- text: "银行账户",
- dataIndex: "ve_bankaccount",
- width: 200
- }],
- dbfinds: [{
- from: 'id',
- to: 'vc_turnvendid',
- ignore: true
- }, {
- from: 've_code',
- to: 'vc_turnvendcode'
- }, {
- from: 've_name',
- to: 'vc_turnvendname'
- }],
- });
- }
- },
- // 来源单号1
- 'oriOrderMutiDbfindTrigger[name=vd_slcode]': {
- beforerender: function (f) {
- Ext.apply(f, {
- dbfinds: [{
- from: 'id',
- to: 'vd_slid',ignore:true
- }, {
- from: 'sl_code',
- to: 'vd_slcode'
- },{
- from: 'sl_orderamount',
- to: 'vd_amount'
- },{
- from: 'sl_yamount',
- to: 'sl_yamount'
- },{
- from: 'sl_namount',
- to: 'sl_namount'
- },{
- from:'sl_date',
- to:'vd_sldate'
- },{
- from:'sl_kind',
- to:'vd_slkind'
- },{
- from: 'sl_namount',
- to: 'vd_nowbalance'
- }],
- });
- },
- beforequery: function(f) {
- var defaultCondition = this.getDefaultCondition(0);
- if(!defaultCondition) {
- return false;
- }
- Ext.apply(f, {
- defaultCondition: defaultCondition
- });
- },
- beforetriggerclick: function(f) {
- var defaultCondition = this.getDefaultCondition(0);
- if(!defaultCondition) {
- return false;
- }
- Ext.apply(f, {
- defaultCondition: defaultCondition
- });
- }
- },
- // 来源单号2
- 'oriOrderMutiDbfindTrigger[name=vcd_slcode]': {
- beforerender: function (f) {
- Ext.apply(f, {
- dbfinds: [{
- from: 'id',
- to: 'vcd_slid',ignore:true
- }, {
- from: 'sl_code',
- to: 'vcd_slcode'
- },{
- from: 'sl_orderamount',
- to: 'vcd_amount'
- },{
- from: 'sl_yamount',
- to: 'sl_yamount'
- },{
- from: 'sl_namount',
- to: 'sl_namount'
- },{
- from:'sl_date',
- to:'vcd_sldate'
- },{
- from:'sl_kind',
- to:'vcd_slkind'
- },{
- from: 'sl_namount',
- to: 'vcd_nowbalance'
- }],
- });
- },
- beforequery: function(f) {
- var defaultCondition = this.getDefaultCondition(1);
- if(!defaultCondition) {
- return false;
- }
- Ext.apply(f, {
- defaultCondition: defaultCondition
- });
- },
- beforetriggerclick: function(f) {
- var defaultCondition = this.getDefaultCondition(1);
- if(!defaultCondition) {
- return false;
- }
- Ext.apply(f, {
- defaultCondition: defaultCondition
- });
- }
- },
- });
- },
- getDefaultCondition: function(idx) {
- var me = this,
- form = me.getView(),
- formItems = form.formItems,
- viewModel = me.getViewModel(),
- acitveType = form.acitveType,
- etc = form.etc,
- defaultConditions = etc.defaultConditions,
- defaultConditionMode = defaultConditions[acitveType][idx];
- var reg = /(.*){(.*)}(.*)/g;
- var fieldName = defaultConditionMode.match(/(.*){(.*)}(.*)/)[2];
- var fieldLabel = Ext.Array.findBy(formItems, function(f) {
- return f.name == fieldName;
- }).fieldLabel;
- var fieldValue = viewModel.get(fieldName);
- if(!fieldValue) {
- saas.util.BaseUtil.showErrorToast('请先录入主表字段【' + '<span style="color: red;">' + fieldLabel + '</span>】');
- return null;
- }
- var defaultCondition = defaultConditionMode.replace(reg, '$1' + fieldValue + '$3');
- return defaultCondition;
- },
- /**
- * 清空所有从表数据
- */
- clearDetails: function() {
- var me = this;
-
- me.clearDetail0();
- me.clearDetail1();
- },
- /**
- * 清空第一个从表数据
- */
- clearDetail0: function(f, n, o) {
- var me = this,
- form = me.getView(),
- grid = form.query('detailGridField')[0];
- me.clearDetail(grid);
- },
- /**
- * 清空第二个从表数据
- */
- clearDetail1: function() {
- var me = this,
- form = me.getView(),
- grid = form.query('detailGridField')[1];
- me.clearDetail(grid);
- },
- /**
- * 清空一个从表数据
- */
- clearDetail: function(grid) {
- var datas = [],
- emptyRows = grid.emptyRows,
- detnoColumn = grid.detnoColumn,
- detno = 0,
- store = grid.getStore();
-
- Ext.Array.each(new Array(emptyRows), function() {
- detno += 1;
- var data = {};
- data[detnoColumn] = detno;
- datas.push(data);
- })
- store.removeAll();
- store.add(datas);
- // 不写该方法合计列会错位,这里触发afterEdit事件用来刷新grid
- store.getAt(0) ? store.afterEdit(store.getAt(0), ['']) : null;
- },
- onSave: function() {
- var me = this,
- form = me.getView(),
- viewModel = me.getViewModel(),
- store1 = viewModel.get('detail0').detailStore,
- store2 = viewModel.get('detail1').detailStore;
- var valid = form.isValid();
- if(!valid) {
- saas.util.BaseUtil.showErrorToast(form.invalidText);
- return false;
- }
- var sum_detail1 = store1.sum('vd_nowbalance'); // 从表1核销合计
- var sum_detail2 = store2.sum('vcd_nowbalance'); // 从表2核销合计
- viewModel.set("vc_amount1",sum_detail1);
- viewModel.set("vc_amount2",sum_detail2);
- me.save();
- },
- save:function(){
- var me = this,
- form = this.getView(),
- detailCount = form.detailCount,
- viewModel = me.getViewModel(),
- modelData = viewModel.getData();
- //form里面数据
- var formData = form.getDirtyData();
- var params = {
- main:formData.main
- };
- for(var i = 0; i < detailCount; i++) {
- params['items' + ( i + 1)] = formData['detail' + i];
- }
- form.setLoading(true);
- saas.util.BaseUtil.request({
- url: form._saveUrl,
- params: JSON.stringify(params),
- method: 'POST',
- })
- .then(function(localJson) {
- form.setLoading(false);
- if(localJson.success){
- var id = localJson.data.id;
- var code = localJson.data.code;
- form.initId = id;
- saas.util.FormUtil.loadData(form);
- saas.util.BaseUtil.showSuccessToast('保存成功');
- var newId = form.xtype + '-' + id;
- var newTitle = form._title + '(' + code + ')';
- saas.util.BaseUtil.refreshTabTitle(newId, newTitle);
- form.fireEvent('aftersave', true, form, localJson);
- }
- })
- .catch(function(res) {
- form.setLoading(false);
- console.error(res);
- saas.util.BaseUtil.showErrorToast('保存失败: ' + res.message);
- form.fireEvent('aftersave', false, form, res);
- });
- },
- audit: function() {
- var me = this,
- form = me.getView(),
- viewModel = me.getViewModel(),
- detailCount = form.detailCount,
- modelData = viewModel.getData();
- //form里面数据
- var formData = form.getFormData();
- var params = {
- main: formData.main
- };
- for(var i = 0; i < detailCount; i++) {
- params['items' + ( i + 1)] = formData['detail' + i];
- }
- form.setLoading(true);
- saas.util.BaseUtil.request({
- url: form._auditUrl,
- params: JSON.stringify(params),
- method: 'POST',
- })
- .then(function(localJson) {
- form.setLoading(false);
- if(localJson.success){
- // 未保存直接审核会返回id
- if(localJson.data) {
- var id = localJson.data.id;
- var code = localJson.data.code;
-
- form.initId = id;
- var newId = form.xtype + '-' + id;
- var newTitle = form._title + '(' + code + ')';
- saas.util.BaseUtil.refreshTabTitle(newId, newTitle);
- }
- saas.util.FormUtil.loadData(form);
- form.setEditable(false);
- saas.util.BaseUtil.showSuccessToast('审核成功' + (localJson.message ? ': ' + localJson.message : ''));
- form.fireEvent('afteraudit', true, form, localJson);
- }
- })
- .catch(function(res) {
- form.setLoading(false);
- console.error(res);
- if(res.data) {
- var id = localJson.data.id;
- var code = localJson.data.code;
-
- form.initId = id;
- var newId = form.xtype + '-' + id;
- var newTitle = form._title + '(' + code + ')';
- saas.util.BaseUtil.refreshTabTitle(newId, newTitle);
- saas.util.FormUtil.loadData(form);
- }
- saas.util.BaseUtil.showErrorToast('审核失败: ' + res.message);
- form.fireEvent('afteraudit', false, form, res);
- });
- },
- myInitCopyData: function(formData) {
- var me = this,
- form = me.getView();
- //录入人,录入日期,审核人,审核日期清空
- formData.main['creatorId'] = saas.util.BaseUtil.getCurrentUser().id;
- formData.main['creatorName'] = saas.util.BaseUtil.getCurrentUser().realname;
- formData.main['createTime'] = Ext.Date.format(new Date(), 'Y-m-d H:i:s');
- formData.main['updaterId'] = undefined;
- formData.main['updaterName'] = undefined;
- formData.main['updateTime'] = undefined;
- formData.main[form._auditmanField] = undefined;
- formData.main[form._auditdateField] = undefined;
- return formData;
- }
- });
|