Ext.define('saas.view.document.uusetting.UUSettingWin', {
extend: 'Ext.window.Window',
xtype: 'uusettingwin',
title: '设置企业UU',
width: 680,
cls: 'x-window-dbfind',
closlayout: 'fit',
modal: true,
resizable: false,
bodyPadding: 20,
etc: {
vendorkind: {
uuName: 've_uu',
getUUUrl: '/api/document/vendor/getVendorUU',
saveUrl: '/api/document/vendor/save',
formItems: [{
xtype: 'hidden',
name: 'id',
bind: '{id}',
fieldLabel: 'id'
}, {
xtype: 'textfield',
name: 've_code',
bind: '{ve_code}',
fieldLabel: '供应商编号'
}, {
xtype: 'textfield',
name: 've_name',
bind: '{ve_name}',
fieldLabel: '供应商名称',
hidden: false
}, {
xtype: 'textfield',
name: 've_shortname',
bind: '{ve_shortname}',
fieldLabel: '供应商简称'
}, {
xtype: 'hidden',
name: 've_status',
bind: '{ve_status}',
fieldLabel: '状态'
}, {
xtype: 'hidden',
name: 've_statuscode',
bind: '{ve_statuscode}',
fieldLabel: '状态码'
}, {
xtype: "textfield",
name: "ve_type",
bind: '{ve_type}',
fieldLabel: "供应商类型"
}, {
xtype: "datefield",
name: "ve_begindate",
format: 'Y-m-d H:i:s',
bind: '{ve_begindate}',
fieldLabel: "期初日期"
}, {
xtype: "textfield",
name: "ve_currency",
bind: '{ve_currency}',
fieldLabel: "币别"
}, {
xtype: "numberfield",
name: "ve_taxrate",
bind: '{ve_taxrate}',
fieldLabel: "税率(%)"
},{
xtype: "numberfield",
name: "ve_beginapamount",
bind: '{ve_beginapamount}',
fieldLabel: "期初应付(元)"
}, {
xtype: "numberfield",
hideTrigger: true,
name: "ve_beginprepayamount",
bind: '{ve_beginprepayamount}',
fieldLabel: "期初预付(元)"
}, {
xtype: "numberfield",
name: "ve_leftamount",
bind: '{ve_leftamount}',
fieldLabel: "应付余额(元)",
}, {
xtype: "numberfield",
name: "ve_promisedays",
bind: '{ve_promisedays}',
fieldLabel: "结算天数",
}, {
xtype: "textfield",
name: "ve_nsrzh",
bind: '{ve_nsrzh}',
fieldLabel: "纳税人识别号"
}, {
xtype: "textfield",
name: "ve_bankcode",
bind: '{ve_bankcode}',
fieldLabel: "开户银行"
}, {
xtype: "textfield",
name: "ve_bankaccount",
bind: '{ve_bankaccount}',
fieldLabel: "银行账户"
}, {
xtype: "hidden",
name: "ve_buyercode",
bind: '{ve_buyercode}',
fieldLabel: "采购员编号"
}, {
xtype: "textfield",
name: "ve_buyername",
bind: '{ve_buyername}',
fieldLabel: "采购员"
}, {
xtype: "hidden",
name: "ve_buyerid",
bind: '{ve_buyerid}',
fieldLabel: "采购员ID"
}, {
xtype: "textfield",
name: "ve_address",
bind: '{ve_address}',
fieldLabel: "公司地址"
}, {
fieldLabel: "备注",
xtype: 'textfield',
bind: '{ve_remark}',
name: "ve_remark"
}, {
xtype: "textfield",
name: "ve_text1",
bind: '{ve_text1}',
fieldLabel: "自定义字段1"
}, {
xtype: "textfield",
name: "ve_text2",
bind: '{ve_text2}',
fieldLabel: "自定义字段2"
}, {
xtype: "textfield",
name: "ve_text3",
bind: '{ve_text3}',
fieldLabel: "自定义字段3"
}, {
xtype: "textfield",
name: "ve_text4",
bind: '{ve_text4}',
fieldLabel: "自定义字段4"
}, {
xtype: "textfield",
name: "ve_text5",
bind: '{ve_text5}',
fieldLabel: "自定义字段5"
}, {
xtype: 'textfield',
fieldLabel: '企业UU',
name: 've_uu',
bind: '{ve_uu}',
hidden: false,
allowBlank: false,
readOnly: true,
beforeLabelTextTpl: "*"
}]
},
customerkind: {
uuName: 'cu_uu',
getUUUrl: '/api/document/customer/getCustomerUU',
saveUrl: '/api/document/customer/save',
formItems: [{
xtype: 'hidden',
name: 'id',
bind: '{id}',
fieldLabel: 'id'
}, {
xtype: 'textfield',
name: 'cu_code',
bind: '{cu_code}',
fieldLabel: '客户编号'
}, {
xtype: 'textfield',
name: 'cu_name',
bind: '{cu_name}',
fieldLabel: '客户名称',
hidden: false
}, {
xtype: 'textfield',
name: 'cu_shortname',
bind: '{cu_shortname}',
fieldLabel: '客户简称'
}, {
xtype: "textfield",
name: "cu_type",
bind: '{cu_type}',
fieldLabel: "客户类型"
}, {
xtype: 'hidden',
name: 'cu_status',
bind: '{cu_status}',
fieldLabel: '状态'
}, {
xtype: 'hidden',
name: 'cu_statuscode',
bind: '{cu_statuscode}',
fieldLabel: '状态码'
}, {
xtype: "datefield",
name: "cu_begindate",
format: 'Y-m-d H:i:s',
bind: '{cu_begindate}',
fieldLabel: "期初日期"
}, {
xtype: "textfield",
name: "cu_currency",
bind: '{cu_currency}',
fieldLabel: "币别"
}, {
xtype: "numberfield",
name: "cu_taxrate",
bind: '{cu_taxrate}',
fieldLabel: "税率(%)"
},{
xtype: "numberfield",
hideTrigger: true,
name: "cu_beginaramount",
bind: '{cu_beginaramount}',
fieldLabel: "期初应收(元)"
}, {
xtype: "numberfield",
name: "cu_beginprerecamount",
bind: '{cu_beginprerecamount}',
fieldLabel: "期初预收(元)"
}, {
xtype: 'textfield',
name: "cu_leftamount",
bind: '{cu_leftamount}',
fieldLabel: "应收余额(元)"
}, {
xtype: "numberfield",
name: "cu_promisedays",
bind: '{cu_promisedays}',
fieldLabel: "结算天数"
}, {
xtype: "hidden",
name: "cu_sellerid",
bind: '{cu_sellerid}',
fieldLabel: "业务员id"
}, {
xtype: "hidden",
name: "cu_sellercode",
bind: '{cu_sellercode}',
fieldLabel: "业务员code"
}, {
xtype: "textfield",
name: "cu_sellername",
bind: '{cu_sellername}',
fieldLabel: "业务员"
}, {
xtype: "hidden",
name: "cu_nsrzh",
bind: '{cu_nsrzh}',
fieldLabel: "纳税人识别号"
}, {
xtype: "hidden",
name: "cu_bankaccount",
bind: '{cu_bankaccount}',
fieldLabel: "开户银行"
}, {
xtype: "hidden",
name: "cu_bankcode",
bind: '{cu_bankcode}',
fieldLabel: "银行账户"
}, {
xtype: 'textfield',
name: "cu_uu",
bind: '{cu_uu}',
fieldLabel: "企业UU",
hidden: false,
allowBlank: false,
readOnly: true,
beforeLabelTextTpl: "*"
}, {
fieldLabel: "备注",
xtype: 'textfield',
name: "cu_remark",
bind: '{cu_remark}'
}, {
xtype: "textfield",
name: "cu_text1",
bind: '{cu_text1}',
fieldLabel: "自定义字段1"
}, {
xtype: "textfield",
name: "cu_text2",
bind: '{cu_text2}',
fieldLabel: "自定义字段2"
}, {
xtype: "textfield",
name: "cu_text3",
bind: '{cu_text3}',
fieldLabel: "自定义字段3"
}, {
xtype: "textfield",
name: "cu_text4",
bind: '{cu_text4}',
fieldLabel: "自定义字段4"
}, {
xtype: "textfield",
name: "cu_text5",
bind: '{cu_text5}',
fieldLabel: "自定义字段5"
}]
}
},
initComponent: function () {
var me = this;
var kind = me.kind;
me.uuName = me.etc[kind].uuName;
me.getUUUrl = me.etc[kind].getUUUrl;
me.saveUrl = me.etc[kind].saveUrl;
var items = Ext.Array.merge(me.etc[kind].formItems, [{
xtype: 'detailGridField',
detnoColumn: null,
minHeight: 145,
emptyRows: 3,
showCount: false,
width: 280,
editable: false,
emptyText: '没有查找到匹配的企业,请确认该企业已注册优软商务平台',
store: Ext.create('Ext.data.Store', {
fields: [{
name: 'name',
type: 'string'
}, {
name: 'uu',
type: 'string'
}],
data: []
}),
columns: [{
text: '企业名称',
dataIndex: 'name',
width: 200
}, {
text: 'UU',
dataIndex: 'uu'
}, {
xtype:'actioncolumn',
text:'操作',
align: 'center',
items: [{
xtype: 'button',
tooltip: '选择此项填入',
iconCls: 'x-sa sa-edit',
handler: function(tableView, rowIdx, colIdx, btn, e, record, tr) {
var form = tableView.up('form');
var uuField = form.query('[name=' + me.uuName + ']')[0];
uuField.setValue(record.data.uu);
}
}]
}]
}]);
Ext.apply(me, {
items: [{
xtype: 'form',
layout: 'column',
fieldDefaults: {
hidden: true,
margin: '0 0 10 0',
labelAlign: 'right',
labelWidth: 90,
columnWidth: 0.5,
},
items: items
}],
buttonAlign: 'center',
buttons: [{
text: '确定',
formBind: true,
handler: function () {
var win = this.up('window'),
form = win.down('form');
var uuField = form.query('[name=' + win.uuName + ']')[0];
if (form.isValid()) {
var values = form.getValues();
me.onSave(values);
} else {
saas.util.BaseUtil.showErrorToast('表单校验失败,请检查字段是否合法');
}
}
}, {
text: '取消',
handler: function () {
me.close();
}
}]
});
me.callParent(arguments);
},
listeners: {
boxready: function (win) {
win.setLoading(true);
var name = win.cname;
saas.util.BaseUtil.request({
url: win.getUUUrl,
method: 'GET',
params: {
name: name
}
}).then(function (res) {
var resData = res.data;
var data = [];
if (!Ext.Object.isEmpty(resData) && resData[name]) {
data.push({
name: name,
uu: resData[name].uu
});
}
win.setLoading(false);
var grid = win.down('grid');
var store = grid.store;
store.loadData(data);
}).catch(function (e) {
win.setLoading(false);
});
}
},
onSave: function (values) {
var view = this;
var kind = view.kind;
var main = values;
var params = {
codeModified: false,
main: main,
items: [],
items1: [],
items2: []
};
view.setLoading(true);
saas.util.BaseUtil.request({
url: view.saveUrl,
params: JSON.stringify(params),
method: 'POST'
}).then(function (res) {
view.setLoading(false);
saas.util.BaseUtil.showSuccessToast('修改UU号成功');
view.close();
view.listView.refresh();
}).catch(function (e) {
view.setLoading(false);
saas.util.BaseUtil.showErrorToast('修改UU号失败: ' + e.message);
});
},
});