| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496 |
- /**
- * 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,
- //工具类
- 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
- }]
- },
- personpower:{
- items:[{
- xtype:'hidden',
- name:'id'
- },{
- xtype:'textfield',
- name:'name',
- allowBlank:false,
- fieldLabel:'角色名称',
- maxLength: 20
- },{
- xtype:'textfield',
- name:'description',
- allowBlank:false,
- fieldLabel:'角色描述',
- maxLength: 20
- },{
- xtype:'textfield',
- hidden:true,
- name:'code',
- allowBlank:true,
- fieldLabel:'角色编号',
- maxLength: 20
- }]
- },
- bankinformation:{
- items:[{
- xtype:'hidden',
- name:'id'
- },{
- xtype:'textfield',
- name:'bk_bankcode',
- allowBlank:false,
- fieldLabel:'账户编号',
- maxLength: 20
- },{
- xtype:'textfield',
- name:'bk_bankname',
- allowBlank:false,
- fieldLabel:'账户名称',
- maxLength: 20
- },{
- xtype:'numberfield',
- name:'bk_beginamount',
- allowBlank:false,
- fieldLabel:'期初金额',
- hideTrigger: true,
- mouseWheelEnabled: false,
- minValue: 0
- },
- // {
- // xtype:'numberfield',
- // name:'bk_thisamount',
- // allowBlank:true,
- // fieldLabel:'当前余额',
- // hideTrigger: true,
- // mouseWheelEnabled: false,
- // beforeLabelTextTpl:'',
- // minValue: 0
- // }
- // ,
- {
- xtype:'combo',
- name:'bk_type',
- allowBlank:false,
- editable:false,
- fieldLabel:'账户类别',
- store: [
- '现金',
- '银行'
- ]
- },{
- xtype:'datefield',
- name:'bk_date',
- fieldLabel:'建账日期',
- format:'Y-m-d H:i:s',
- listeners:{
- beforerender:function(d){
- d.setValue(new Date())
- }
- }
- }, {
- xtype:'textfield',
- name:'bk_remark',
- allowBlank:true,
- fieldLabel:'备注',
- beforeLabelTextTpl:''
- }]
- },
- 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
- },{
- xtype:'combo',
- name:'ft_kind',
- allowBlank:false,
- fieldLabel:'收支类型',
- hideTrigger : false,
- maxLength : 100.0,
- minValue : null,
- positiveNum : false,
- queryMode : "local",
- valueField : "value",
- xtype : "combo",
- editable:false,
- displayField : "display",
- store:{
- fields: ['display', 'value'],
- data : [
- {"display":"收入", "value":'收入'},
- {"display":"支出", "value":'支出'}
- ]
- }
- }]
- },
- address:{
- items:[{
- xtype:'hidden',
- name:'id'
- },{
- xtype:'textfield',
- name:'ad_address',
- allowBlank:false,
- fieldLabel:'地址详情',
- maxLength: 200
- }]
- },
- accountinformation:{
- items:[{
- xtype:'hidden',
- name:'accountId',
- hidden:true,
- },{
- xtype:'datamulticombo',
- dataUrl:'/api/account/role/list',
- fieldLabel: '关联角色',
- name: 'roleNames',
- allowBlank:false,
- maxLength: 20
- },{
- xtype:'textfield',
- fieldLabel: '联系电话',
- name: 'mobile',
- readOnly:true,
- editable:false,
- allowBlank:true,
- maxLength: 30,
- beforeLabelTextTpl: "",
- },{
- xtype:'textfield',
- fieldLabel: '联系邮件',
- name: 'email',
- readOnly:true,
- editable:false,
- allowBlank:true,
- maxLength: 30,
- beforeLabelTextTpl: "",
- }]
- },
- 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:'combo',
- fieldLabel: '仓库类型',
- name: 'wh_type',
- allowBlank:false,
- displayField : "display",
- editable:true,
- hideTrigger : false,
- maxLength : 100.0,
- minValue : null,
- positiveNum : false,
- queryMode : "local",
- valueField : "value",
- store:{
- fields: ['display', 'value'],
- data : [
- {"display":"良品仓", "value":'良品仓'},
- {"display":"不良品仓", "value":'不良品仓'}
- ]
- }
- },{
- 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',
- beforeLabelTextTpl: '',
- allowBlank:true,
- 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'},
- {"display":"无", "value":'无'}
- ]
- }
- },{
- xtype:'numberfield',
- hideTrigger : true,
- fieldLabel: '流水长度',
- name: 'mn_number',
- minValue : 0,
- allowBlank:false,
- mouseWheelEnabled: 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);
- //账户资料特殊保存逻辑
- if(me.dataKind=='accountinformation'){
- me.accountinformation();
- return;
- }
- 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;
- //保存接口
- saas.util.BaseUtil.request({
- url: belong.reqUrl,
- params: JSON.stringify(params),
- method: 'POST'
- })
- .then(function(localJson) {
- me.setLoading(false);
- if(localJson.success){
- saas.util.BaseUtil.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);
- saas.util.BaseUtil.showToast('保存失败: ' + res.message);
- });
- },
- onCancel:function(){
- this.hide();
- },
- accountinformation: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 o = '';
- Ext.Array.each(params.roleNames,function(item) {
- o+=item.value+','
- });
- o = o.substring(0,o.length-1);
- var _params = {
- accountId:Number(params['accountId']),
- roleIds:o,
- };
- //保存接口
- saas.util.BaseUtil.request({
- url: belong.reqUrl,
- params: _params,
- method: 'POST',
- headers:{
- 'Access-Control-Allow-Origin': '*',
- "Content-Type":'application/x-www-form-urlencoded'
- }
- })
- .then(function(localJson) {
- me.setLoading(false);
- if(localJson.success){
- saas.util.BaseUtil.showToast('保存成功');
- form.ownerCt._parent.store.load()
- form.ownerCt.close();
- }
- })
- .catch(function(res) {
- me.setLoading(false);
- console.error(res);
- saas.util.BaseUtil.showToast('保存失败: ' + res.message);
- });
- }
- });
|