| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320 |
- /**
- * Created by zhouy on 2018/10/18.
- */
- Ext.define('KitchenSink.view.binding.ChildForm', {
- extend: 'Ext.window.Window',
- xtype: 'document-kind-childwin',
- layout: 'fit',
- modal: true,
- width: 500,
- //工具类
- FormUtil: Ext.create('saas.util.FormUtil'),
- BaseUtil: Ext.create('saas.util.BaseUtil'),
- height: 260,
- listeners:{
- show:function(w){
- if(w.record){
- w.down('form').loadRecord(w.record);
- }
- }
- },
- initComponent:function(){
- var me=this;
- Ext.apply(me,{
- items:me.setFormItems()
- });
- me.callParent();
- },
- etc:{
- customerkind:{
- items:[{
- xtype:'hidden',
- name:'id'
- },{
- xtype:'textfield',
- name:'ck_name',
- allowBlank:false,
- fieldLabel:'客户类型',
- maxLength: 20
- }]
- },
- vendorkind:{
- items:[{
- xtype:'hidden',
- name:'id'
- },{
- xtype:'textfield',
- name:'vk_name',
- allowBlank:false,
- fieldLabel:'供应商类型',
- maxLength: 20
- }]
- },
- productkind:{
- items:[{
- xtype:'hidden',
- name:'id'
- },{
- xtype:'textfield',
- name:'pt_name',
- allowBlank:false,
- fieldLabel:'物料类型',
- maxLength: 20
- }]
- },
- bankinformation:{
- items:[{
- xtype:'hidden',
- name:'id'
- },{
- xtype:'textfield',
- name:'bk_bankname',
- allowBlank:false,
- fieldLabel:'账户名称',
- maxLength: 20
- },{
- xtype:'textfield',
- name:'bk_bankcode',
- allowBlank:false,
- fieldLabel:'账户编号',
- maxLength: 20
- },{
- xtype:'numberfield',
- name:'bk_beginamount',
- allowBlank:false,
- fieldLabel:'期初金额',
- },{
- xtype:'numberfield',
- name:'bk_thisamount',
- allowBlank:false,
- fieldLabel:'当前金额',
- },{
- xtype:'textfield',
- name:'bk_type',
- allowBlank:false,
- fieldLabel:'账户类别',
- },{
- xtype:'datefield',
- name:'bk_date',
- readOnly:true,
- fieldLabel:'建账日期',
- format:'Y-m-d H:i:s',
- listeners:{
- beforerender:function(d){
- d.setValue(new Date())
- }
- }
- }]
- },
- productbrand:{
- items:[{
- xtype:'hidden',
- name:'id'
- },{
- xtype:'textfield',
- name:'pb_name',
- allowBlank:false,
- fieldLabel:'物料品牌',
- maxLength: 20
- }]
- },
- productunit:{
- items:[{
- xtype:'hidden',
- name:'id'
- },{
- xtype:'textfield',
- name:'pu_name',
- allowBlank:false,
- fieldLabel:'计量单位',
- maxLength: 20
- }]
- },
- inoutkind:{
- items:[{
- xtype:'hidden',
- name:'id'
- },{
- xtype:'textfield',
- name:'ft_name',
- allowBlank:false,
- fieldLabel:'类型',
- maxLength: 20
- }]
- },
- address:{
- items:[{
- xtype:'hidden',
- name:'id'
- },{
- xtype:'textfield',
- name:'ad_address',
- allowBlank:false,
- fieldLabel:'地址详情',
- maxLength: 200
- }]
- },
- warehouse:{
- items:[{
- xtype:'hidden',
- name:'id'
- },{
- xtype:'textfield',
- fieldLabel: '仓库编号',
- name: 'wh_code',
- allowBlank:false,
- maxLength: 20
- },{
- xtype:'textfield',
- fieldLabel: '仓库名称',
- name: 'wh_description',
- allowBlank:false,
- maxLength: 20
- },{
- xtype:'textfield',
- fieldLabel: '仓库类型',
- name: 'wh_type',
- allowBlank:false,
- maxLength: 20
- },{
- readOnly:true,
- xtype:'textfield',
- fieldLabel: '仓库状态',
- name: 'wh_status',
- value:'已开启',
- maxLength: 20
- },{
- xtype:'hidden',
- fieldLabel: '仓库状态码',
- name: 'wh_statuscode',
- value:'OPEN'
- }]
- },
- maxnumbers:{
- items:[{
- xtype:'hidden',
- name:'id'
- },{
- xtype:'textfield',
- fieldLabel: '单据名称',
- name: 'mn_name',
- allowBlank:false,
- editable:false,
- readOnly:true,
- maxLength: 20
- },{
- xtype:'textfield',
- fieldLabel: '单据前缀',
- name: 'mn_leadcode',
- allowBlank:false,
- maxLength: 20
- },{
- xtype:'combo',
- fieldLabel: '单据规则',
- name: 'mn_rule',
- displayField : "display",
- editable:false,
- hideTrigger : false,
- maxLength : 100.0,
- minValue : null,
- positiveNum : false,
- queryMode : "local",
- valueField : "value",
- store:{
- fields: ['display', 'value'],
- data : [
- {"display":"年月日", "value":'yyyymmdd'},
- {"display":"年月", "value":'yyyymm'}
- ]
- }
- },{
- xtype:'numberfield',
- hideTrigger : true,
- fieldLabel: '流水长度',
- name: 'mn_number',
- allowBlank:false
- }]
- }
- },
- setFormItems:function() {
- var me = this, kind = me.dataKind;
- var conf = {
- xtype: 'form',
- bodyPadding: 10,
- border: false,
- autoScroll:true,
- modelValidation: true,
- layout: {
- type: 'vbox',
- align: 'stretch'
- },
- defaults: {
- labelAlign:'right',
- beforeLabelTextTpl: "<font color=\"red\" style=\"position:relative; top:2px;right:2px; font-weight: bolder;\">*</font>",
- xtype: 'textfield'
- },
- buttons: [{
- text: '保存',
- formBind:true,
- handler: me.onSave,
- scope:me
- }, {
- text: '取消',
- handler: me.onCancel,
- scope:me
- }]
- };
- return Ext.apply(conf, me.etc[kind]);
- },
- onSave:function(){
- var me = this;
- var belong = this.belong;
- me.setLoading(true);
- var form=this.down('form');
- var combo = this._combo;
- var params = {};
- var names = belong.columns.map(column => column.dataIndex);
- Ext.Array.each(names,function(name) {
- if(name){
- var dataField = form.down('[name='+name+']');
- if(dataField&&dataField.value){
- params[name] = dataField.value;
- params._value = dataField.value;
- }
- }
- });
- var idField = form.down('[name='+belong.keyField+']');
- params[belong.keyField] = idField.value || 0;
- //保存接口
- this.BaseUtil.request({
- url: belong.reqUrl,
- params: JSON.stringify(params),
- method: 'POST'
- })
- .then(function(localJson) {
- me.setLoading(false);
- if(localJson.success){
- showToast('保存成功');
- var grid = form.ownerCt._parent.lookup('document-kind-Grid');
- if(grid){
- grid.store.load();
- }
- if(combo){
- combo.store.load(function() {
- typeof combo.setValue == 'function' && combo.setValue(params._value);
- });
- }
- form.ownerCt.close();
- }
- })
- .catch(function(res) {
- me.setLoading(false);
- console.error(res);
- showToast('保存失败: ' + res.message);
- });
- },
- onCancel:function(){
- this.hide();
- }
- });
|