(function () {
var keyValue = '';
var $header = null;
var titleText = '';
var page = {
isScroll: true,
init: function ($page, param) {
keyValue = param.keyValue;
// 添加头部按钮列表
var _html = '\
\
\
';
$header = $page.parents('.f-page').find('.f-page-header');
$header.append(_html);
// 取消
$header.find('.lr-form-header-cancel').on('tap', function () {
renlian.layer.confirm('确定要退出当前编辑?', function (_index) {
if (_index === '1') {
if (keyValue) {// 如果是编辑状态
renlian.formblur();
$header.find('.lr-form-header-cancel').hide();
$header.find('.lr-form-header-submit').hide();
$header.find('.lr-form-header-btnlist').show();
$header.find('.f-page-title').text(titleText);
$page.find('.lr-form-container').setFormRead();
}
else {// 如果是新增状态 关闭当前页面
renlian.nav.closeCurrent();
}
}
}, '任联提示', ['取消', '确定']);
});
// 编辑
$header.find('.lr-form-header-edit').on('tap', function () {
$header.find('.lr-form-header-btnlist').hide();
$header.find('.lr-form-header-cancel').show();
$header.find('.lr-form-header-submit').show();
titleText = $header.find('.f-page-title').text();
$header.find('.f-page-title').text('编辑');
$page.find('.lr-form-container').setFormWrite();
});
// 更多
$header.find('.lr-form-header-more').on('tap', function () {
renlian.actionsheet({
id: 'more',
data: [
{
text: '删除',
mark: true,
event: function () {// 删除当前条信息
renlian.layer.confirm('确定要删除该笔数据吗?', function (_index) {
if (_index === '1') {
renlian.layer.loading(true, "正在删除该笔数据");
renlian.httppost(config.webapi + "renlian/adms/crm/order/delete", keyValue, (data) => {
if (data) {// 删除数据成功
renlian.nav.closeCurrent();
var prepage = renlian.nav.getpage('crm/order');
prepage.grid.reload();
}
renlian.layer.loading(false);
});
}
}, '任联提示', ['取消', '确定']);
}
}
],
cancel: function () {
}
});
});
// 提交
$header.find('.lr-form-header-submit').on('tap', function () {
// 获取表单数据
if (!$page.find('.lr-form-container').lrformValid()) {
return false;
}
var formData = $page.find('.lr-form-container').lrformGet();
// 获取表格数据
var girdData = $page.find('#productgird').lrgridGet();
renlian.layer.loading(true, "正在提交数据");
var _postData = {
keyValue: keyValue,
crmOrderJson: JSON.stringify(formData),
crmOrderProductJson: JSON.stringify(girdData)
};
renlian.httppost(config.webapi + "renlian/adms/crm/order/save", _postData, (data) => {
renlian.layer.loading(false);
if (data) {// 表单数据保存成功
if (keyValue) {
renlian.layer.toast('保存数据成功!');
renlian.formblur();
$header.find('.lr-form-header-cancel').hide();
$header.find('.lr-form-header-submit').hide();
$header.find('.lr-form-header-btnlist').show();
$header.find('.f-page-title').text(titleText);
$page.find('.lr-form-container').setFormRead();
}
else {// 如果是
renlian.nav.closeCurrent();
}
var prepage = renlian.nav.getpage('crm/order');
prepage.grid.reload();
}
});
});
page.bind($page, param);
if (keyValue) {
// 添加编辑按钮
$page.find('.lr-form-container').setFormRead();
$header.find('.lr-form-header-btnlist').show();
// 获取表单数据
renlian.layer.loading(true, '获取表单数据');
renlian.httpget(config.webapi + "renlian/adms/crm/order/form", keyValue, (data) => {
if (data) {
$page.find('.lr-form-container').lrformSet(data.orderData);
$page.find('#productgird').lrgridSet(data.orderProductData);
}
renlian.layer.loading(false);
});
}
else {
$header.find('.lr-form-header-cancel').show();
$header.find('.lr-form-header-submit').show();
}
},
bind: function ($page, param) {
// 客户名称
$page.find('#F_CustomerId').lrpickerex({
url: "renlian/adms/crm/customer/list",
ivalue: "F_CustomerId",
itext: "F_FullName"
});
// 销售人员
$page.find('#F_SellerId').lrselect({
type: 'user',
});
// 单据日期
$page.find('#F_OrderDate').lrdate({
type: 'date'
});
// 单据编号和制单人员
if (!keyValue) {
renlian.getRuleCode('10000', function (data) {
$page.find('#F_OrderCode').val(data);
});
var userinfo = renlian.storage.get('userinfo');
$page.find('#F_CreateUserName').val(userinfo.baseinfo.realName);
}
// 初始化表格
$page.find('#productgird').lrgrid({
title: '产品明细',
componts: [
{
name: '商品名称', field: 'F_ProductName', type: 'layer', code: 'Client_ProductInfo', datatype: 'dataItem',
layerData: [
{ label: '商品编号', name: "F_ItemValue", value:'F_ProductCode'},
{ label: '商品名称', name: "F_ItemName", value: 'F_ProductName' }
],
change: function (data, $block) {
$block.find('#F_Qty').val('1');
$block.find('#F_Price').val('0');
$block.find('#F_Amount').val('0');
$block.find('#F_TaxRate').val('0');
$block.find('#F_Taxprice').val('0');
$block.find('#F_Tax').val('0');
$block.find('#F_TaxAmount').val('0');
}
},
{
name: '商品编号', field: 'F_ProductCode', type: 'label'
},
{
name: '单位', field: 'F_UnitId', type: 'input'
},
{
name: '数量', field: 'F_Qty', type: 'input',
change: function (v, $row) {
var _F_Price = parseFloat($row.find('#F_Price').val() || '0');
var _F_Qty = parseFloat(v || '0');
var _F_TaxRate = parseFloat($row.find('#F_TaxRate').val() || '0');
var _F_Amount = parseInt(_F_Price * _F_Qty);
var _F_TaxAmount = parseInt(_F_Price * (1 + _F_TaxRate / 100) * _F_Qty);
$row.find('#F_Amount').val(_F_Amount);
$row.find('#F_TaxAmount').val(_F_TaxAmount);
$row.find('#F_Tax').val(_F_TaxAmount - _F_Amount);
}
},
{
name: '单价', field: 'F_Price', type: 'input',
change: function (v, $row) {
var _F_Price = parseFloat(v|| '0');
var _F_Qty = parseFloat($row.find('#F_Qty').val() || '0');
var _F_TaxRate = parseFloat($row.find('#F_TaxRate').val() || '0');
var _F_Amount = parseInt(_F_Price * _F_Qty);
var _F_TaxAmount = parseInt(_F_Price * (1 + _F_TaxRate / 100) * _F_Qty);
var _F_Taxprice = parseInt(_F_Price * (1 + _F_TaxRate / 100));
$row.find('#F_Amount').val(_F_Amount);
$row.find('#F_TaxAmount').val(_F_TaxAmount);
$row.find('#F_Tax').val(_F_TaxAmount - _F_Amount);
$row.find('#F_Taxprice').val(_F_Taxprice);
}
},
{ name: '金额', field: 'F_Amount', type: 'label' },
{
name: '税率(%)', field: 'F_TaxRate', type: 'input',
change: function (v, $row) {
var _F_Price = parseFloat($row.find('#F_Price').val() || '0');
var _F_Qty = parseFloat($row.find('#F_Qty').val() || '0');
var _F_TaxRate = parseFloat(v || '0');
var _F_Amount = parseInt(_F_Price * _F_Qty);
var _F_TaxAmount = parseInt(_F_Price * (1 + _F_TaxRate / 100) * _F_Qty);
var _F_Taxprice = parseInt(_F_Price * (1 + _F_TaxRate / 100));
$row.find('#F_Amount').val(_F_Amount);
$row.find('#F_TaxAmount').val(_F_TaxAmount);
$row.find('#F_Tax').val(_F_TaxAmount - _F_Amount);
$row.find('#F_Taxprice').val(_F_Taxprice);
}
},
{ name: '含税单价', field: 'F_Taxprice', type: 'label' },
{ name: '税额', field: 'F_Tax', type: 'label' },
{ name: '含税金额', field: 'F_TaxAmount', type: 'label' },
{
name: "说明信息", field: "F_UnitId", type: 'input'
}
]
});
// 收款日期
$page.find('#F_PaymentDate').lrdate({
type: 'date'
});
// 收款方式
$page.find('#F_PaymentMode').lrpickerex({
code: 'Client_PaymentMode',
type: 'dataItem'
});
},
destroy: function (pageinfo) {
$header = null;
keyValue = '';
}
};
return page;
})();