You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1379 lines
48 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

///<reference path="../../../../Views/../TruckMng/Scripts/vswd-ext_2.0.2.js" />
Ext.namespace('DsTruck');
var C_cargoinfo_id="";
var HTHCount=0;
DsTruck.JiekuanEdit = function (config) {
Ext.applyIf(this, config);
this.initUIComponents();
window.DsTruck.JiekuanEdit.superclass.constructor.call(this);
};
Date.prototype.format = function (format) {
var o = {
"M+": this.getMonth() + 1, //month
"d+": this.getDate(), //day
"h+": this.getHours(), //hour
"m+": this.getMinutes(), //minute
"s+": this.getSeconds(), //second
"q+": Math.floor((this.getMonth() + 3) / 3), //quarter
"S": this.getMilliseconds() //millisecond
}
if (/(y+)/.test(format)) format = format.replace(RegExp.$1,
(this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o) if (new RegExp("(" + k + ")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length == 1 ? o[k] :
("00" + o[k]).substr(("" + o[k]).length));
return format;
}
var xhr = new XMLHttpRequest();
var currdate = new Date();
if (!xhr) {
//...其他生成xmlhttprequest方法
}
xhr.open("HEAD", location.href, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
var datestr = xhr.getResponseHeader("Date");
currdate = new Date(datestr);
// alert(currdate.format('yyyy-MM-dd'));
}
}
xhr.send(null);
function getSaved() {
var feedirty = DsTruck.GetDirty(panelEdit.storeJieKuan2, panelEdit.storeJieKuan2Del);
if (panelEdit.formEdit.getForm().isDirty()== true )
{
return true;
}
else return false;
}
Ext.extend(DsTruck.JiekuanEdit, Ext.Panel, {
parentWin: null,
OpStatus: 'add',
StoreList: null,
editRecord: null,
audittype:'',
// parentfunction: null,
_First: true,
initUIComponents: function () {
this.feeSerialNo = 0;
this.JieKuan2Del = [];
//枚举参照相关(编辑form)
this.storeUser = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsTruckMng.ux.UserRefModel',
proxy: { url: '/CommMng/BasicDataRef/GetUserRefList' }
});
this.storeUser.load({ params: { condition: " 1=1 "} });
this.comboxCreator = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '制单人',
forceSelection: true,
store: this.storeUser,
name: 'ENTEROPERATOR',
id: "ENTEROPERATOR",
valueField: 'GID',
displayField: 'CodeAndName',
allowBlank: false,
readOnly: true
});
this.comboxAuditor = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel: '审核人',
forceSelection: true,
store: this.storeUser,
name: 'AUDITOR',
id: "AUDITOR",
valueField: 'UserCode',
displayField: 'CodeAndName'
});
this.storecurr = Ext.create('DsExt.ux.RefTableStore', {
model: 'currRef',
proxy: { url: '/CommMng/BasicDataRef/GetcurrRefList' }
});
this.storecurr.load({ params: { condition: ""} });
this.comboxcurr = Ext.create('DsExt.ux.RefTableCombox', {
forceSelection: true,
//fieldLabel: '币别',
store: this.storecurr,
name: 'CURRENCY',
valueField: 'codename',
displayField: 'codename',
value: "RMB"
});
this.StoreDateCurr = Ext.create('DsExt.ux.RefTableStore', {
model: 'MsFeeCurr',
proxy: { url: '/MvcShipping/MsChFee/GetFeeNowCurrList' }
});
this.StoreDateCurr.load({ params: { condition: "" } });
this.storeJKSTATUS = Ext.create('DsExt.ux.RefEnumStore', {});
this.storeJKSTATUS.load({ params: { enumTypeId: 99024} });
this.comboxJKSTATUS = Ext.create('DsExt.ux.RefEnumCombox', {
fieldLabel: '借款单状态',
//forceSelection :true,
store: this.storeJKSTATUS,
name: 'JKSTATUS',
readOnly: true,
id: "JKSTATUS"
});
this.storeJKTYPE = Ext.create('DsExt.ux.RefEnumStore', {});
this.storeJKTYPE.load({ params: { enumTypeId: 36} });
this.comboxJKTYPE = Ext.create('DsExt.ux.RefEnumCombox', {
fieldLabel: '借款方式',
forceSelection: true,
store: this.storeJKTYPE,
name: 'JKTYPE',
//readOnly: true,
id: "JKTYPE"
});
this.storeFEESTATUS = Ext.create('DsExt.ux.RefEnumStore', {});
this.storeFEESTATUS.load({ params: { enumTypeId: 99024} });
this.comboxFEESTATUS = Ext.create('DsExt.ux.RefEnumCombox', {
fieldLabel: '费用状态',
forceSelection: true,
store: this.storeFEESTATUS,
name: 'FEESTATUS',
readOnly: true,
id: "STATUS"
});
this.storeAccitems = Ext.create('DsExt.ux.RefTableStore', {
model: 'Accitemsmb',
proxy: { url: '/CommMng/BasicDataRef/GetAccitems' }
});
this.storeAccitems.load({ params: { condition: ""} });
//通过mblno获取bsno
this.storeBS = Ext.create('DsExt.ux.RefTableStore', {
model: 'BSmb',
proxy: { url: '/OA/Baoxiao/GetBSNO' }
});
this.storeBS.load({ params: { COMPANYID: COMPANYID} });
// this.comboxMAKETIMEUPPER = Ext.create('DsExt.ux.RefTableCombox', {
// //fieldLabel: '业务编号',
//// forceSelection: true,
// store: this.storeBS,
// name: 'MAKETIMEUPPER',
// valueField: 'BSNO',
// displayField: 'MBLNO'
// });
this.StoreCurr = Ext.create('DsExt.ux.RefTableStore', {
model: 'MsFeeCurr',
proxy: { url: '/MvcShipping/MsChFee/GetFeeCurrList' }
});
this.StoreCurr.load({ params: { condition: "" } });
this.comboxCurr = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel:'币别', //币别
store: this.StoreCurr,
forceSelection: true,
emptyText: Zi.LAN.ybsq, //原币申请
name: 'CURRENCY',
valueField: 'CURR',
displayField: 'CURR'
});
this.storeOpCode3 = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsShipping.ux.UserRefModel',
proxy: { url: '/CommMng/BasicDataRef/GetUserLinkRefListRm' }
});
this.storeOpCode3.load();
//操 作
this.comboxOP = Ext.create('DsExt.ux.RefTableCombox', {
fieldLabel:'借款人', //'操 作',
store: this.storeOpCode3,
forceSelection: true,
queryMode: 'remote',
minChars: 0,
queryParam: 'CODENAME',
name: 'OP',
valueField: 'UserName',
displayField: 'CodeAndName',
value: SHOWNAME
});
this.storeREASON = Ext.create('DsExt.ux.RefEnumStore', {});
this.storeREASON.load({ params: { enumTypeId: 96018 } });
this.comboxREASON = Ext.create('DsExt.ux.RefEnumCombox', {
fieldLabel: '借款类型',
store: this.storeREASON,
forceSelection: true,
name: 'REASON'
});
//////////////////
//编辑form:formEdit
this.formEdit = Ext.widget('form', {
// layout: "border",
region: 'north',
frame: true,
bodyPadding: 3,
trackResetOnLoad: true,
fieldDefaults: {
margins: '2 2 2 2',
labelAlign: 'right',
flex: 1,
labelWidth: 70,
msgTarget: 'qtip'
//,split:true
},
//bodyStyle: 'background:#FFF',
items: [
{//fieldset 1
xtype: 'fieldset',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [{//container_1
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '借款单单号',
// allowBlank: false,
readOnly: true,
name: 'GID'
}, {
fieldLabel: 'COMPANYID',
hidden: true,
id: "COMPANYID",
name: 'COMPANYID', flex: 1
}, {
fieldLabel: 'TimeMark',
hidden: true,
id: "TimeMark",
name: 'TimeMark', flex: 1
}, {
fieldLabel: '制单时间',
format: 'Y-m-d H:i:s', id: "ENTERDATE",
xtype: 'datefield',
renderer: Ext.util.Format.dateRenderer('Y-m-d H:i:s'),
name: 'ENTERDATE'
}, this.comboxCreator, this.comboxJKSTATUS, {
fieldLabel: 'DEPTID',
hidden: true,
id: "DEPTID",
name: 'DEPTID', flex: 1
}]
}, //container_1 end
{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [this.comboxOP,this.comboxJKTYPE, this.comboxCurr, {
fieldLabel:'借款金额',
name: 'AMOUNT',
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
try {
var lsValue = usMoney(value, 2, '', false);
if (lsValue != "NaN") {
value = lsValue; if (parseFloat(lsValue) < 0) {
return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>';
}
}
else {
return value;
}
}
catch (e) {
return value;
}
return value;
}
}
]
}, //container_1 end
{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [this.comboxREASON,{
fieldLabel: '支票号',
name: 'CHEQUENO',
flex: 1
},{
fieldLabel: '审核人',
// allowBlank: false,
readOnly: true, flex: 1,
name: 'AUDITOR'
}, {
fieldLabel: '审核时间',
// allowBlank: false,
readOnly: true, flex: 1,
name: 'AUDITTIME'
}]
},
{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: 'COMPANY',
name: 'COMPANY', hidden: true,
flex: 1
}, {
fieldLabel: 'DEPTNAME',
name: 'DEPTNAME', hidden: true,
flex: 1
}, {
fieldLabel: 'BSNO', id: "BSNO",
name: 'BSNO', hidden: true,
flex: 1
},
{
fieldLabel: '备注',
name: 'REMARK',
flex: 2
}, {
fieldLabel: '预计还款日',
format: 'Y-m-d',
xtype: 'datefield',
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
name: 'EXREPAYDATE'
}
]
}
]
}
]
});
//////////////////////////////////
//明细 <<<< 收支费用明细 >>>>
//
this.comboxAccitems = Ext.create('DsExt.ux.RefTableCombox', {
//fieldLabel: '费用科目',
store: this.storeAccitems,
name: 'FEENAME',
valueField: 'ACCID',
displayField: 'ACCIDNAME'
});
this.storeFeeNameRef = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsTruckMng.ux.FeeTypeRefModel',
proxy: { url: '/CommMng/BasicDataRef/GetFeeTypeRefList' }
});
this.storeFeeNameRef.load({ params: { condition: ""} });
this.comboxFeeNameRef = Ext.create('DsExt.ux.RefTableCombox', {
store: this.storeFeeNameRef,
name: 'FeeName',
valueField: 'Name',
displayField: 'CodeAndName'
});
this.storeCustomerNameRef = Ext.create('DsExt.ux.RefTableStore', {
model: 'DsTruckMng.ux.CustomRefModel',
proxy: { url: '/CommMng/BasicDataRef/GetCustomRefList' }
});
this.storeCustomerNameRef.load({ params: { condition: ""} });
this.comboxCustomerNameRef = Ext.create('DsExt.ux.RefTableCombox', {
store: this.storeCustomerNameRef,
name: 'CUSTOMERNAME',
valueField: 'CustName',
displayField: 'CodeAndName'
});
//数据集
this.storeJieKuan2 = Ext.create('Ext.data.Store', {
model: 'JieKuan2Bodymb',
remoteSort: false,
pruneModifiedRecords: true,
proxy: {
type: 'ajax',
url: '/OA/Jiekuan2/GetJieKuan2Body',
reader: {
id: 'GID',
root: 'data',
totalProperty: 'totalCount'
}
}
});
this.storeBS = Ext.create('DsExt.ux.RefTableStore', {
model: 'BSmb',
proxy: { url: '/OA/Baoxiao/GetBSNO' }
});
this.storeBS.load({ params: { COMPANYID: COMPANYID } });
this.comboxMAKETIMEUPPER = Ext.create('DsExt.ux.RefTableCombox', {
//fieldLabel: '业务编号',
forceSelection: true,
store: this.storeBS,
name: 'BSNO',
valueField: 'BSNO',
displayField: 'MBLNO'
});
//表格
this.cellEditing = Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1
});
this.CheckBoxModel = Ext.create('Ext.selection.CheckboxModel');
Ext.grid.RowNumberer = Ext.extend(Ext.grid.RowNumberer, {
width: 30
});
this.formJieKuan2 = new Ext.grid.GridPanel({
store: this.storeJieKuan2,
enableHdMenu: false,
region: 'center',
//layout: "border",
bodyStyle: 'background:#FFF',
trackResetOnLoad: true,
//height: 160,
title: '借款明细',
loadMask: { msg: "数据加载中,请稍等..." },
trackMouseOver: true,
disableSelection: false,
plugins: [this.cellEditing],
selModel: this.CheckBoxModel,
selType: 'cellmodel',
tbar: [{
text: '增加明细',
tooltip: '增加明细',
id:'btnadddetail',
iconCls: "btnadddetail",
handler: function (button, event) {
this.onAddFeeClick(button, event);
},
scope: this
}, '-', {
text: '删除明细',
tooltip: '删除明细',
id: 'btndeletedetail',
iconCls: "btndeletedetail",
handler: function (button, event) {
this.onDelFeeClick(button, event);
},
scope: this
}],
columns: [
new Ext.grid.RowNumberer()
,
{
sortable: true, hidden: true,
dataIndex: 'GID',
header: 'GID',
width: 80
},
{
sortable: true, hidden: true,
dataIndex: 'JKGID',
header: 'JKGID',
width: 80
},
{
sortable: true, hidden: true,
dataIndex: 'FEETYPE',
header: 'FEETYPE',
width: 80
},
{
sortable: true, hidden: true,
dataIndex: 'FEETYPE_REF',
header: '收付类型',
width: 80
},
{
sortable: true, hidden: true,
dataIndex: 'FEESTATUS',
header: 'FEESTATUS',
width: 80
},
{
sortable: true,
dataIndex: 'FEESTATUS_REF',
header: '费用状态',
width: 80
},
{
sortable: true,
dataIndex: 'CUSTOMERNAME',
header: '客户名称',
width: 120,
editor: this.comboxCustomerNameRef
},
{
sortable: true,
dataIndex: 'FEENAME',
header: '费用名称',
width: 80,
editor: this.comboxFeeNameRef
},
{
sortable: true,
dataIndex: 'CURRENCY',
header: '币别',
width: 80,
editor: this.comboxcurr
},
{
sortable: true,
dataIndex: 'Remark',
header: '借款理由',
width: 200,
editor: {
xtype: 'textfield', //numberfield
selectOnFocus: true
}
},
{
sortable: true,
dataIndex: 'AMOUNT',
header: '金额',
width: 100,
editor: {
xtype: 'numberfield', //numberfield
selectOnFocus: true
},
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
try {
var lsValue = usMoney(value, 2, '', false);
if (lsValue != "NaN") {
value = lsValue; if (parseFloat(lsValue) < 0) {
return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>';
}
}
else {
return value;
}
}
catch (e) {
return value;
}
return value;
}
},
{
sortable: true,
dataIndex: 'SETTLEMENT',
header: '已核销金额',
width: 100,
renderer: function (value, cellmeta, record, rowIndex, columnIndex, store) {
try {
var lsValue = usMoney(value, 2, '', false);
if (lsValue != "NaN") {
value = lsValue; if (parseFloat(lsValue) < 0) {
return '<SPAN style="COLOR: red">' + lsValue + '</SPAN>';
}
}
else {
return value;
}
}
catch (e) {
return value;
}
return value;
}
},
{
sortable: true, hidden: true,
dataIndex: 'MODIFIEDUSER',
header: 'MODIFIEDUSER',
width: 80
},
{
sortable: true, hidden: true,
dataIndex: 'MODIFIEDTIME',
header: 'MODIFIEDTIME',
width: 80
},
{
sortable: true,
dataIndex: 'BXGID',
header: '报销单号',
width: 80
},
{
sortable: true,
dataIndex: 'SALESNO',
header: '相关编号',
width: 120,
editor: {
xtype: 'textfield', //numberfield
selectOnFocus: true
}
}, {
sortable: true,
dataIndex: 'BSNO',
header: '业务编号(提单号)',
//hidden: true,
width: 150,
renderer: function (value, p, record) {
if (value == null || value == '') return '';
else return record.data.MBLNO;
},
editor: this.comboxMAKETIMEUPPER
}
]
});
//////////////////////////////////////////////明细<<<< 收支费用明细 >>>>结束
this.formSum = Ext.widget('form', {
// layout: "border",
region: 'south',
frame: true,
bodyPadding: 3,
trackResetOnLoad: true,
fieldDefaults: {
margins: '2 2 2 2',
labelAlign: 'right',
flex: 1,
labelWidth: 90,
msgTarget: 'qtip'
//,split:true
},
//bodyStyle: 'background:#FFF',
items: [
{//fieldset 1
xtype: 'fieldset',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [
{//container_1
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '合计RMB',
// allowBlank: false,
readOnly: true, flex: 1,
name: 'RMBAMOUNT', id: "RMBAMOUNT"
}, {
fieldLabel: '金额大写',
// allowBlank: false,
readOnly: true, flex: 2,
name: 'HJRMBDX', id: "HJRMBDX"
}]
}, //container_1 end
{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '合计USD',
// allowBlank: false,
readOnly: true, flex: 1,
name: 'USDAMOUNT', id: "USDAMOUNT"
}, {
fieldLabel: '金额大写',
// allowBlank: false,
readOnly: true, flex: 2,
name: 'HJUSDDX', id: "HJUSDDX"
}]
},
{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '合计其他币别',
// allowBlank: false,
readOnly: true, flex: 1,
name: 'OTHERAMOUNT', id: "OTHERAMOUNT"
}, {
fieldLabel: '金额大写',
// allowBlank: false,
readOnly: true, flex: 2,
name: 'HJOTHERDX', id: "HJOTHERDX"
}
]
}
]
}
, {//fieldset 1
xtype: 'fieldset',
defaultType: 'textfield',
layout: 'anchor',
defaults: {
anchor: '100%'
},
items: [{//container_1
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [{
fieldLabel: '审核人',
// allowBlank: false,
readOnly: true, flex: 1,
name: 'AUDITOR'
}, {
fieldLabel: '审核时间',
// allowBlank: false,
readOnly: true, flex: 1,
name: 'AUDITTIME'
}, {
fieldLabel: '审核人',hidden:true,
// allowBlank: false,
readOnly: true, flex: 0.5,
name: 'Auditor2'
}, {
fieldLabel: '审核时间', hidden: true,
// allowBlank: false,
readOnly: true, flex: 0.5,
name: 'AuditTime2'
}, { xtype: 'hiddenfield', flex: 3}]
}, //container_1 end
{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: []
},
{
xtype: 'container',
layout: 'hbox',
defaultType: 'textfield',
items: [
]
}
]
}
]
});
//公共按钮Toolbar:panelBtn
this.panelBtn = new Ext.Panel({
region: "north",
tbar: [
{
id: "savebtn",
text: "保存",
handler: function (button, event) {
this.Save('0');
},
scope: this
}, {
id: "saveandclosebtn",
text: "保存并关闭",
handler: function (button, event) {
this.Save('1');
},
scope: this
},
{
id: "saveandnewbtn",
text: "保存并新建",
handler: function (button, event) {
this.Save('2');
},
scope: this
}, '-',
{
// id: "saveandclose",
text: "关闭",
handler: function (button, event) {
window.close();
},
scope: this
}, '-',
{
id: "printjk",
text: "打印",
handler: function (button, event) {
this.DoPrint();
},
scope: this
}
]
}); //end 按钮Toolbar
//布局
/* 3 */
this.panelTop = new Ext.Panel({
layout: "border",
region: "north",
height: 32, //bodyStyle: 'background:#FFF',
items: [this.panelBtn]//, this.formEdit]
});
this.panelBody = new Ext.Panel({
layout: "border",
region: "center",
height: 260,
split: true,
items: [this.formJieKuan2]
});
this.page_1 = new Ext.Panel({
layout: "border",
title: "借款单", // bodyStyle: 'background:#FFF',
items: [this.formEdit, this.panelBody]
});
this.MainTab = new Ext.tab.Panel({
layout: "border",
region: "center", bodyStyle: 'background:#FFF',
items: [
this.page_1
//, this.page_2
//, this.page_3
//, this.page_4
]
})
Ext.apply(this, {
items: [this.panelTop, this.MainTab]
});
parentWin = window.parent.opener;
this.InitData();
//集中绑定事件
this.formJieKuan2.on('edit', function (editor, e, eOpts) {
this.JieKuan2AfterEdit(editor, e, eOpts);
}, this);
this.cellEditing.on('beforeedit', function (editor, e) {
//Ext.getCmp("zongshu").setText("1234");
return this.cellEditingBeforeEdit(editor, e);
}, this);
}, //end initUIComponents
parentfunction: function (button, event) {
var ret1 = window.parent.opener.OprationSwap();
// alert(this.First);
ret1[3]();
},
SetAmount: function () {
var RMBAMOUNT = 0;
var USDAMOUNT = 0;
var OTHERAMOUNT = 0;
for (var i = 0; i < this.storeJieKuan2.getCount(); i += 1) {
var Amount = this.storeJieKuan2.getAt(i).get("AMOUNT");
var CURRENCY = this.storeJieKuan2.getAt(i).get("CURRENCY");
//if (CURRENCY == "RMB") {
RMBAMOUNT = Add(RMBAMOUNT, Amount);
//} else
// if (CURRENCY == "USD") {
// USDAMOUNT = Add(USDAMOUNT, Amount);
// } else {
// OTHERAMOUNT = Add(OTHERAMOUNT, Amount);
// }
}
//this.editRecord.set('AMOUNT', Amount + '');
//this.formEdit.getForm().setValues(this.editRecord.data);
//Ext.getCmp("RMBAMOUNT").setValue(RMBAMOUNT + "");
//Ext.getCmp("USDAMOUNT").setValue(USDAMOUNT + "");
//Ext.getCmp("OTHERAMOUNT").setValue(OTHERAMOUNT + "");
var REASON = this.formEdit.getForm().findField('REASON').getValue();
if (REASON!='备用金')
this.formEdit.getForm().findField('AMOUNT').setValue(RMBAMOUNT);
},
SetDX: function () {
var data = this.formSum.getForm().getValues();
//Ext.getCmp("HJRMBDX").setValue(formatRMB(data.RMBAMOUNT));
//Ext.getCmp("HJUSDDX").setValue(formatUSD(data.USDAMOUNT));
//Ext.getCmp("HJOTHERDX").setValue(formatRMB(data.OTHERAMOUNT));
},
onAddFeeClick: function (button, event, type) {
/*
if (this.OpStatus == 'add') {
this.Save('0');
this.onAddFeeClick(button, event);
}*/
function newID() {
var guid = "";
for (var i = 1; i <= 32; i++) {
var n = Math.floor(Math.random() * 16.0).toString(16);
guid += n;
if ((i == 8) || (i == 12) || (i == 16) || (i == 20))
guid += "-";
}
return guid.toUpperCase();
}
var store = null;
store = this.storeJieKuan2;
//var newSerialno = this.GetHandleSerialNo(store, type);
var record = null;
record = Ext.create('JieKuan2Bodymb', {
GID: newID(),
JKGID: '*',
BXGID: '',
FEETYPE: '2',
FEETYPE_REF: '',
FEESTATUS: '1',
FEESTATUS_REF: '',
BSNO: '',
FEENAME: '',
CURRENCY: '',
AMOUNT: '0',
SETTLEMENT: '0',
MODIFIEDUSER: USERID,
MODIFIEDTIME: currdate.format('yyyy-MM-dd hh:mm:ss'),
Remark: ''
});
//alert(Ext.getCmp("CREATEDATE").getRawValue());
store.add(record);
cellediting = this.cellEditing;
var n = store.getCount();
cellediting.startEditByPosition({ row: n - 1, column: 2 });
},
onDelFeeClick: function (button, event) {
var selectedRecords = this.formJieKuan2.selModel.getSelection();
Ext.MessageBox.confirm('提示', '确定删除记录吗?', function (btn) {
if (btn == 'yes') {
for (var i = 0; i < selectedRecords.length; i++) {
var rec = selectedRecords[i];
if (rec.GID != "" || rec.GID != "*") //如果是新增但没有保存的数据,没有必要提交到后台
{
this.JieKuan2Del.push(rec);
}
this.storeJieKuan2.remove(selectedRecords[i]);
}
}
}, this);
//aftereditform();
},
JieKuan2AfterEdit: function (editor, e, eOpts) {
//需要自己实现里面的事件
if (e.field == 'BSNO') {
var BSrecords = DsStoreQueryBy(this.storeBS, 'BSNO', e.value);
if (BSrecords.getCount() > 0) {
var BSdata = BSrecords.getAt(0).data;
e.record.set('MAKETIMEUPPER', BSdata.BSNO);
e.record.set('MBLNO', BSdata.MBLNO);
} else {
e.record.set('MAKETIMEUPPER', '');
e.record.set('MBLNO', '');
}
} else if (e.field == 'CURRENCY') {
var BSrecords = DsStoreQueryBy(this.StoreDateCurr, 'CURR', e.value);
if (BSrecords.getCount() > 0) {
var BSdata = BSrecords.getAt(0).data;
e.record.set('EXCHANGERATE', BSdata.DEFRATE);
} else {
e.record.set('EXCHANGERATE',1);
}
}
this.SetAmount();
this.SetDX();
},
cellEditingBeforeEdit: function (editor, e) {
if (this.OpStatus == "add") {
var JKStatus = "1";
} else {
var JKStatus = this.editRecord.get('JKSTATUS');
}
/* this.VISIBLERANGE 可视
this.OPERATERANGE 可操作;*/
//可操作为0则全都可见3为可提交/驳回,2为可审核/驳回1为只能看
var canedit = true;
if (this.OPERATERANGE == 1) {
canedit = false;
} //chfeefeeStatus == 1 || chfeefeeStatus == 2 || chfeefeeStatus == 6
if (this.OPERATERANGE == 2) {
canedit = JKStatus == 0 || JKStatus == 2;
}
if (this.OPERATERANGE == 3) {
canedit = JKStatus == 1 || JKStatus == 6;
}
//alert(canedit);
if (e.record.get("FEESTATUS") == "1" || e.record.get("FEESTATUS") == "6") {
} else {
canedit = false;
}
return canedit;
},
InitData: function () {
this.OpStatus = 'add';
var condition = '';
if (parentWin) {
var ret = parentWin.OprationSwap();
this.OpStatus = ret[0];
this.StoreList = ret[1];
this.editRecord = ret[2];
this.audittype = ret[3];
// this.parentfunction = ret[3];
}
if (this.OpStatus == 'edit') {
condition = " jk.GID='" + this.editRecord.get('GID') + "'";
}
else {
//Ext.getCmp("AMOUNT_ALL").setValue("0");
//Ext.getCmp("JieKuan2AMOUNT").setValue("0");
}
if (this.audittype == 'AUDIT') {
Ext.getCmp("savebtn").setVisible(false);
Ext.getCmp("saveandclosebtn").setVisible(false);
Ext.getCmp("saveandnewbtn").setVisible(false);
Ext.getCmp("btnadddetail").setVisible(false);
Ext.getCmp("btndeletedetail").setVisible(false);
Ext.getCmp("printjk").setVisible(true);
} else {
Ext.getCmp("savebtn").setVisible(true);
Ext.getCmp("saveandclosebtn").setVisible(true);
Ext.getCmp("saveandnewbtn").setVisible(true);
Ext.getCmp("btnadddetail").setVisible(true);
Ext.getCmp("btndeletedetail").setVisible(true);
Ext.getCmp("printjk").setVisible(false);
}
var me = this;
Ext.Ajax.request({
waitMsg: '正在查询用户权限...',
url: '/CommMng/BasicDataRef/GetAuthorityRange',
params: {
modName: "mod_Baoxiao",
USERID: USERID
},
callback: function (options, success, response) {
if (success) {
var result = Ext.JSON.decode(response.responseText);
rec = result.data;
//alert(rec.VISIBLERANGE);
//alert(rec.OPERATERANGE);
//可操作为0则全都可见3为可提交/驳回,2为可审核/驳回1为只能看
this.VISIBLERANGE = rec.VISIBLERANGE;
this.OPERATERANGE = rec.OPERATERANGE;
if (this.OPERATERANGE == '0') {
//me.formPayBody.show();
} else
if (this.OPERATERANGE == '1') {
//me.formPayBody.hide();
} else
if (this.OPERATERANGE == '2') {
//me.formPayBody.show();
} else {//3
//me.formPayBody.hide();
}
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
}); //request over
this.LoadData(this.OpStatus, condition);
//Ext.getCmp("JieKuan2NO").disable();
}, //end InitData
//载入数据
LoadData: function (OpStatus, condition) {
this.OpStatus = OpStatus;
Ext.Ajax.request({
waitMsg: '正在查询主表数据...',
url: '/OA/Jiekuan2/GetData',
params: {
handle: OpStatus,
condition: condition
},
callback: function (options, success, response) {
if (success) {
var result = Ext.JSON.decode(response.responseText);
if (!result.Success) {
Ext.Msg.show({
title: '提示',
msg: result.Message,
icon: Ext.MessageBox.ERROR,
buttons: Ext.Msg.OK
});
return;
}
var basicForm = this.formEdit.getForm();
var data = result.data;
if (data.JKSTATUS == "1" || data.JKSTATUS == "6" || this.OpStatus == "add") {
//可以编辑
Ext.getCmp('savebtn').enable();
Ext.getCmp('saveandclosebtn').enable();
Ext.getCmp('saveandnewbtn').enable();
Ext.getCmp('btnadddetail').enable();
Ext.getCmp('btndeletedetail').enable();
} else {
Ext.getCmp('savebtn').disable();
Ext.getCmp('saveandclosebtn').disable();
Ext.getCmp('saveandnewbtn').disable();
Ext.getCmp('btnadddetail').disable();
Ext.getCmp('btndeletedetail').disable();
}
// this.formEdit.getForm().reset();
if (data.ENTERDATE == "") { data.ENTERDATE = currdate.format('yyyy-MM-dd hh:mm:ss') };
if (data.ENTEROPERATOR == "") {
//basicForm.findField('ENTEROPERATOR').setDisabled(false);
data.ENTEROPERATOR = USERID;
//basicForm.findField('ENTEROPERATOR').setDisabled(true);
};
if (data.DEPTID == "") { data.DEPTID = DEPTID };
if (DEPTID == "") {
alert("登陆信息不完整,请重新登陆");
return;
}
if (data.AMOUNT == "") { data.AMOUNT = 0 };
//if (data.JieKuan2AMOUNT == "") { data.JieKuan2AMOUNT = 0 };
//if (data.BXSTATUS_REF == "") { data.BXSTATUS_REF = "录入状态" };
//if (data.BXSTATUS == "") { data.BXSTATUS = 1 };
if (this.OpStatus == 'add') {
data.COMPANYID = COMPANYID;
data.DEPTID = DEPTGID;
data.JKSTATUS = "1";
data.JKTYPE = "2";
}
if (data.DEPTID == "" || data.ENTEROPERATOR == "" || data.COMPANYID == "") {
alert("登陆信息不完整,请重新登陆");
return;
}
this.formEdit.getForm().setValues(data);
this.formSum.getForm().setValues(data);
this.SetDX();
if (data.BSNO != '') {
Ext.getCmp("MBLNO").setRawValue(data.MBLNO);
}
} else {
Ext.MessageBox.alert('请求出现错误,请重试', response.responseText);
}
},
scope: this
}); //request over
if (this.OpStatus == 'edit') {
//this.formEdit.getForm().findField('GID').setDisabled(false);
var bsno = this.editRecord.get('GID');
var _this = this;
this.storeJieKuan2.load({ params: { condition: " JKGID='" + this.editRecord.get('GID') + "' " }
, callback: function (options, success, response) {
_this.SetDX();
}
});
//this.formEdit.getForm().findField('GID').setDisabled(true);
}
}, // end LoadDate
checkedit: function (status) {
/*
if (status != 1 && status != 2 && status != 6) {
alert("只有 录入状态/提交审核/驳回提交 的费用才能保存");
return false;
} else { return true; }*/
},
Save: function (type) {
this.SetAmount();
var basicForm = this.formEdit.getForm();
if (!basicForm.isValid()) {
return;
}
var data = this.formEdit.getForm().getValues();
var GID = data.GID;
var data2 = this.formSum.getForm().getValues();
var JieKuan2datas = [];
for (var i = 0; i < this.storeJieKuan2.getCount(); i += 1) {
var member = this.storeJieKuan2.getAt(i);
JieKuan2datas.push(member);
}
//明细
var JieKuan2Body = ConvertRecordsToJson(JieKuan2datas);
var JieKuan2DelBody = ConvertRecordsToJsonAll(this.JieKuan2Del);
var _this = this;
Ext.Msg.wait('正在保存数据, 请稍侯..');
Ext.Ajax.request({
waitMsg: '正在保存数据...',
url: '/OA/Jiekuan2/Save',
scope: this,
async: false,
params: {
OpStatus: this.OpStatus,
data: Ext.JSON.encode(data),
data2: Ext.JSON.encode(data2),
JieKuan2Body: JieKuan2Body,
JieKuan2DelBody: JieKuan2DelBody
},
callback: function (options, success, response) {
if (success) {
Ext.MessageBox.hide();
var jsonresult = Ext.JSON.decode(response.responseText);
if (jsonresult.Success) {
var returnData = jsonresult.Data;
this.formEdit.getForm().setValues(returnData);
if (this.OpStatus == 'add') {
var arrNewRecords = this.StoreList.add(returnData);
this.editRecord = arrNewRecords[0];
this.OpStatus = 'edit';
}
else if (this.OpStatus == 'edit') {
var editp = Ext.create('Jiekuanmb', returnData);
this.editRecord.fields.each(function (field) {
if (field.persist) {
name = field.name;
//alert(name + ' -- ' + editp.get(name));
if (name != 'GID')
this.editRecord.set(name, editp.get(name));
}
}, this);
this.editRecord.commit();
}
this.storeJieKuan2.commitChanges();
if (type == '0') {
this.OpStatus = 'edit';
//this.storeJieKuan2.load({ params: { condition: " BILLNO='" + this.editRecord.get('GID') + "' "} });
this.storeJieKuan2.each(function (record) {
var BILLNO = _this.editRecord.get('GID');
record.set('BILLNO', BILLNO);
});
this.storeJieKuan2.commitChanges();
} else if (type == '1') {//保存并关闭
window.close();
} else if (type == '2') {//保存并全部新建
this.LoadData('add', '');
}
} else {
Ext.Msg.show({ title: '错误', msg: jsonresult.Message, icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
}
} else {
Ext.Msg.show({ title: '请重试',
msg: '服务器响应出错',
icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK
});
}
//alert('03');
}
});
}
//end save
, DoPrint: function () {
var basicForm = this.formEdit.getForm();
/*
if (ContractNo == '*' || ContractNo == '') {
Ext.Msg.show({ title: '错误', msg: '单据还没有保存,请保存后再打印', icon: Ext.Msg.ERROR, buttons: Ext.Msg.OK });
return;
}*/
function GetDateStr(AddDayCount) {
var dd = new Date();
dd.setDate(dd.getDate() + AddDayCount); //获取AddDayCount天后的日期
var y = dd.getFullYear();
var m = dd.getMonth() + 1; //获取当前月份的日期
var d = dd.getDate();
return y + "-" + m + "-" + d;
}
//alert(GetDateStr(+5));
//var needdate = GetDateStr(+5);
//var printdate = GetDateStr(0);
//var _date = Ext.getCmp("ENTERDATE").getRawValue();
var printType = 'Jiekuan2'; //打印借款单
//
var data = this.formEdit.getForm().getValues();
var JKUSERID = data.USERID;
var GID = data.GID;
var sql1 = " select jk.GID 借款单号,jk.ENTEROPERATOR,u.showname 借款人,dbo.trimdate(jk.ENTERDATE) 借款日期 ";
sql1 = sql1 + " ,jk.RMBAMOUNT RMB金额 ,'" + Ext.getCmp("HJRMBDX").getValue() + "' RMB大写 ";
sql1 = sql1 + " ,jk.USDAMOUNT USD金额 ,'" + Ext.getCmp("HJUSDDX").getValue() + "' USD大写 ";
sql1 = sql1 + " ,jk.OTHERAMOUNT 其他金额 ,'" + Ext.getCmp("HJOTHERDX").getValue() + "' 其他大写 ";
sql1 = sql1 + " ,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=36 and EnumValueID=jk.JKTYPE) as 借款方式 ";
sql1 = sql1 + " ,jk.chequeno 支票号 ";
sql1 = sql1 + " ,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=99024 and EnumValueID=jk.JKSTATUS) as 借款状态 ";
sql1 = sql1 + " ,(select showname from vw_user where userid=(select top 1 auditor from workflow_do where billno=jk.GID order by AUDITTIME DESC )) auditor";
sql1 = sql1 + " ,(select top 1 dbo.trimtime(AUDITTIME) from workflow_do where billno=jk.GID order by AUDITTIME DESC ) audittime";
sql1 = sql1 + " FROM vw_Jiekuan jk ";
sql1 = sql1 + " left join sys_dept sd on sd.gid=jk.deptid ";
sql1 = sql1 + " left join [user] u on u.gid=jk.ENTEROPERATOR ";
sql1 = sql1 + " where jk.GID='" + GID + "' ";
var sql2 = " select C.gid,C.feename 费用名称,C.SALESNO 相关编号,C.currency 币别,c.Amount 金额,c.remark 用途 ";
sql2 = sql2 + " from ch_fee c where c.JKGID='" + GID + "' ";
var sql3 = "";
var sql4 = ""; //获取该部门剩余资金
var sql5 = "";
var sql6 = "";
PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6);
}
});