var relation_order_num = '';//关联单号
|
var type = 0;//业务类型
|
var $type = '';
|
var aryinfo = {};//供应商物品列表
|
//获取href里面的参数
|
function getUrlParam(name) {
|
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
|
var r = window.location.search.substr(1).match(reg); //匹配目标参数
|
if (r != null) return unescape(r[2]); return null; //返回参数值
|
}
|
|
//获取默认单据号与名称
|
var getusername = function (type) {
|
if ($.trim(sysid) == '') {
|
$.ajax({
|
url: "/erp/Erp_supplierprice/GetLoad", async: false, cache: false, dataType: "json",
|
success: function (data) {
|
$('input[name="erp_supplierprice.orderCode"]').val(data.orderCode);
|
switch (type) {
|
case 1:
|
$('#txtTitle').html('主材供应商选择定价单');
|
$('input[name="erp_supplierprice.title"]').val('主材供应商选择定价(' + data.username + ')');
|
break;
|
case 3:
|
$('#txtTitle').html('施工费/措施费班组选择定价单');
|
$('input[name="erp_supplierprice.title"]').val('施工费/措施费班组选择定价(' + data.username + ')');
|
break;
|
case 5:
|
$('#txtTitle').html('机械设备供应商选择定价单');
|
$('input[name="erp_supplierprice.title"]').val('机械设备供应商选择定价(' + data.username + ')');
|
break;
|
case 6:
|
$('#txtTitle').html('固定资产/周转材料供应商选择定价单');
|
$('input[name="erp_supplierprice.title"]').val('固定资产/周转材料供应商选择定价(' + data.username + ')');
|
break;
|
case 7:
|
$('#txtTitle').html('周转材料供应商选择定价单');
|
$('input[name="erp_supplierprice.title"]').val('周转材料供应商选择定价(' + data.username + ')');
|
break;
|
case 11:
|
$('#txtTitle').html('设备部劳务班组选择定价单');
|
$('input[name="erp_supplierprice.title"]').val('设备部劳务班组选择定价(' + data.username + ')');
|
break;
|
}
|
}
|
});
|
}
|
}
|
|
//选择计算金额
|
$(document).on('change', $('input[name="erp_supplierprice_dtl.price"],input[name="erp_supplierprice_dtl.count"],input[name="erp_supplierprice_dtl.totalPrice"]'), function (i, r) {
|
countmoney();
|
});
|
|
|
|
//新增子项后触发事假
|
createMethod = function (materialCode, materialName, Unit, count, model) {
|
// 不知道哪个RZ写的 顾前不顾后 只有本页调进来这些参数才有值 其他时候都是各种undifind,所以下面处理一下
|
materialCode = (typeof materialCode == "string" || typeof materialCode == "number") ? materialCode : '';
|
materialName = (typeof materialName == "string" || typeof materialName == "number") ? materialName : '';
|
Unit = (typeof Unit == "string" || typeof Unit == "number") ? Unit : '';
|
count = (typeof count == "string" || typeof count == "number") ? count : '';
|
model = (typeof model == "string" || typeof model == "number") ? model : '';
|
|
NumberBind();
|
var ntr = $('input[name="erp_supplierprice_dtl.supplier_name"]').length;
|
if (ntr > 0) {
|
var inputs = '<input type="hidden" name="erp_supplierprice_dtl.supplier_id" field="supplier_id"></input>';
|
$('input[name="erp_supplierprice_dtl.supplier_name"]').eq(ntr - 1).after(inputs);
|
var inputs = '<input type="hidden" name="erp_supplierprice_dtl.model" field="model" value="' + model + '" class="edit"></input>';
|
$('input[name="erp_supplierprice_dtl.materielinfo_name"]').eq(ntr - 1).after(inputs);
|
inputs = '<input type="hidden" name="erp_supplierprice_dtl.materielinfo_code" field="materielinfo_code" value="' + $.trim(materialCode) + '"></input>';
|
if ($.trim(materialName) != '') {
|
$('input[name="erp_supplierprice_dtl.count"]').eq(ntr - 1).val(count);
|
$('input[name="erp_supplierprice_dtl.materielinfo_name"]').eq(ntr - 1).val(materialName);
|
$('input[name="erp_supplierprice_dtl.unit"]').eq(ntr - 1).val(Unit);
|
if (type == 3) {
|
$('select[name="erp_supplierprice_dtl.materielinfo_code"]').eq(ntr - 1).val(materialCode);
|
$('select[name="erp_supplierprice_dtl.materielinfo_code"]').eq(ntr - 1).trigger("chosen:updated");
|
$('select[name="erp_supplierprice_dtl.unit"]').eq(ntr - 1).val(Unit);
|
$('select[name="erp_supplierprice_dtl.unit"]').eq(ntr - 1).trigger("chosen:updated");
|
}
|
}
|
if (type != 3) {
|
$('input[name="erp_supplierprice_dtl.materielinfo_name"]').eq(ntr - 1).after(inputs);
|
}
|
else {
|
$('input[name="erp_supplierprice_dtl.materialCode"]').eq(ntr - 1).val(materialCode);
|
}
|
}
|
$('input[name="erp_supplierprice_dtl.supplier_name"]').eq(ntr - 1).bind('focus', function (i, r) {
|
getcompanyinfo(this);
|
});
|
$('input[name="erp_supplierprice_dtl.contacts_way"]').eq(ntr - 1).bind('focus', function (i, r) {
|
getcompanyinfo(this);
|
});
|
|
if (type == 1 || type == 5 || type == 6 || type == 7) {
|
$('input[name="erp_supplierprice_dtl.materielinfo_name"]').eq(ntr - 1).bind('focus', function (i, r) {
|
getmaterielinfo(this);
|
});
|
}
|
countmoney();
|
}
|
//删除事件后触发操作
|
deleteMethod = function () {
|
countmoney();
|
}
|
|
//首次加载定价单信息
|
var setfirstInfo = function () {
|
if ($.trim(sysid) == '' && $.trim(getUrlParam('original_order_code')) == '' && (type == 1 || type == 3 || type == 5 || type == 6 || type == 7)) {
|
$.ajax({
|
url: "/oa/General/Getmaterielinfo?orderCode=" + relation_order_num, async: false, cache: false, dataType: "json",
|
success: function (data) {
|
$.each(data, function (i, r) {
|
var model = $.trim(r.model);
|
model = model == '' ? '' : '(' + model + ')';
|
if (i == 0)
|
createMethod(r.materielinfo_code, r.materielinfoName + model, r.Unit, r.count, r.model);
|
if (i > 0) {
|
$('.subtradd_js').click();
|
$('input[name="erp_supplierprice_dtl.count"]').eq(i).val(r.count);
|
$('input[name="erp_supplierprice_dtl.materielinfo_code"]').eq(i).val(r.materielinfo_code);
|
$('input[name="erp_supplierprice_dtl.model"]').eq(i).val(r.model);
|
if (type == 3) {
|
$('select[name="erp_supplierprice_dtl.materielinfo_code"]').eq(i).val(r.materielinfo_code);
|
$('select[name="erp_supplierprice_dtl.materielinfo_code"]').eq(i).trigger("chosen:updated");
|
$('select[name="erp_supplierprice_dtl.unit"]').eq(i).val(r.Unit);
|
$('select[name="erp_supplierprice_dtl.unit"]').eq(i).trigger("chosen:updated");
|
}
|
$('input[name="erp_supplierprice_dtl.materielinfo_name"]').eq(i).val(r.materielinfoName + model);
|
$('input[name="erp_supplierprice_dtl.unit"]').eq(i).val(r.Unit);
|
}
|
});
|
}
|
});
|
}
|
|
}
|
|
|
|
//选择供应商后绑定数据
|
var thisobj = null;
|
var setCompanyInfo = function (id, name, UserName, Phone, BankName, BankDeposit, BankAccount) {
|
var materielinfo_code = $(thisobj).parent().parent().find('input[name="erp_supplierprice_dtl.materielinfo_code"]').val();
|
if (setcompanyinfo(id, materielinfo_code)) {
|
$(thisobj).parent().parent().find('input[name="erp_supplierprice_dtl.supplier_id"]').val(id);
|
$(thisobj).parent().parent().find('input[name="erp_supplierprice_dtl.supplier_name"]').val(name);
|
$(thisobj).parent().parent().find('input[name="erp_supplierprice_dtl.supplier_name"]').attr('title', name);
|
$(thisobj).parent().parent().find('input[name="erp_supplierprice_dtl.supplier_name"]').attr('alt', name);
|
$(thisobj).parent().parent().find('input[name="erp_supplierprice_dtl.contacts_way"]').val(UserName + '(' + Phone + ')');
|
$(thisobj).parent().parent().find('input[name="erp_supplierprice_dtl.contacts_way"]').attr('title', UserName + '(' + Phone + ')');
|
$(thisobj).parent().parent().find('input[name="erp_supplierprice_dtl.contacts_way"]').attr('alt', UserName + '(' + Phone + ')');
|
layer.closeAll();
|
}
|
else {
|
layer.msg('每个供应商单个物品只能选择一次');
|
}
|
|
}
|
|
//供应商选择
|
var getcompanyinfo = function (obj) {
|
thisobj = obj;
|
layer.open({
|
type: 2,
|
title: '供应商',
|
shadeClose: true,
|
shade: 0.4,
|
area: ['90%', '90%'],
|
content: "/oa/General/company"
|
});
|
}
|
var getmaterielinfo = function (obj) {
|
switch (type) {
|
case 1: $type = '01'; break;
|
//case 5: $type = '050002,050004'; break;
|
case 5: $type = ''; break;
|
case 6: $type = '04,05,06'; break;
|
case 7: $type = "04"; break;
|
}
|
thisobj = obj;
|
layer.open({
|
type: 2,
|
title: '采购物品',
|
shadeClose: true,
|
shade: 0.4,
|
area: ['90%', '90%'],
|
//content: "/Article/index?type=" + $type
|
content: "/Article/index"
|
});
|
}
|
|
//选择物品后赋值
|
setBaseInfo = function (materialCode, materialName, resourceClassificationId, resourceClassificationName, specificationModel, measurementUnit, index, measurementUnitName, resourceClassificationSupName) {
|
|
var supplier_id = $.trim($(thisobj).parent().parent().find('input[name="erp_supplierprice_dtl.supplier_id"]').val());
|
supplier_id = supplier_id == '' ? 0 : supplier_id;
|
if (setcompanyinfo(supplier_id, materialCode)) {
|
$(thisobj).parent().parent().find('input[name="erp_supplierprice_dtl.materielinfo_code"]').val(materialCode);
|
var sname = materialName + ($.trim(specificationModel) == '' ? '' : '(' + $.trim(specificationModel) + ')')
|
$(thisobj).parent().parent().find('input[name="erp_supplierprice_dtl.materielinfo_name"]').val(sname);
|
$(thisobj).parent().parent().find('input[name="erp_supplierprice_dtl.model"]').val(specificationModel);
|
$(thisobj).parent().parent().find('input[name="erp_supplierprice_dtl.materielinfo_name"]').attr('title', sname);
|
$(thisobj).parent().parent().find('input[name="erp_supplierprice_dtl.materielinfo_name"]').attr('alt', sname);
|
$(thisobj).parent().parent().find('input[name="erp_supplierprice_dtl.unit"]').val(measurementUnitName);
|
if (type == 3) {
|
$(thisobj).parent().parent().find('select[name="erp_supplierprice_dtl.unit"]').val(measurementUnitName);
|
$(thisobj).parent().parent().find('select[name="erp_supplierprice_dtl.unit"]').trigger("chosen:updated");
|
}
|
|
layer.closeAll();
|
}
|
else {
|
layer.msg('每个供应商单个物品只能选择一次');
|
}
|
}
|
|
|
|
|
//计算总金额
|
var countmoney = function () {
|
var allmoney = 0;
|
$.each($('input[name="erp_supplierprice_dtl.price"]'), function () {
|
var val = $.trim($(this).val());
|
val = isNaN(val) ? 0 : val;
|
val = val == '' ? 0 : parseFloat(val);
|
var count = $.trim($(this).parent().parent().find('input[name="erp_supplierprice_dtl.count"]').val());
|
count = count == '' ? 0 : parseFloat(count);
|
var total = accMul(count , val).toFixed(2);
|
allmoney = parseFloat(allmoney) + parseFloat(total);
|
$(this).parent().parent().find('input[name="erp_supplierprice_dtl.totalPrice"]').val(total);
|
});
|
$('#erp_supplierprice_total_price').val(parseFloat(allmoney).toFixed(2));
|
}
|
|
// 验证重复元素,有重复返回true;否则返回false
|
function isexist(a) {
|
return /(\x0f[^\x0f]+)\x0f[\s\S]*\1/.test("\x0f" + a.join("\x0f\x0f") + "\x0f");
|
}
|
|
var setcompanyinfo = function (nsupplier_id, smaterielinfo_code) {
|
aryinfo = {};
|
$.each($('input[name="erp_supplierprice_dtl.supplier_name"]'), function () {
|
var supplier_name = $.trim($(this).val());
|
var supplier_id = $(this).parent().parent().find('input[name="erp_supplierprice_dtl.supplier_id"]').val();
|
var materielinfo_code = $.trim($(this).parent().parent().find('input[name="erp_supplierprice_dtl.materielinfo_code"]').val());
|
if (supplier_name != '' && materielinfo_code != '') {
|
var arycodes = aryinfo[supplier_id];
|
if (arycodes == undefined || arycodes == null) {
|
arycodes = [];
|
arycodes.push(materielinfo_code);
|
aryinfo[supplier_id] = arycodes;
|
}
|
else {
|
arycodes.push(materielinfo_code);
|
aryinfo[supplier_id] = arycodes;
|
}
|
}
|
});
|
if (parseInt(nsupplier_id) > 0) {
|
var ary = aryinfo[nsupplier_id];
|
if (ary == undefined || ary == null)
|
return true;
|
else {
|
if (ary.indexOf(smaterielinfo_code) > -1)
|
return false;
|
else
|
return true;
|
}
|
|
}
|
return true;
|
|
}
|
|
|
///数据加载
|
var initData = function () {
|
NumberBind();
|
$('input[name="erp_supplierprice.original_order_code"]').parent().parent().hide();
|
|
var url = window.location.href;
|
type = parseInt(getUrlParam('type'));
|
|
if ($.trim(sysid) != '' && initItems != null) {
|
type = parseInt(initItems.type);
|
relation_order_num = initItems.relation_order_num;
|
}
|
getusername(type);
|
var inputs = '<input type="hidden" id="erp_supplierprice_type" name="erp_supplierprice.type" field="type" value="' + type + '"></input>';
|
$('#erp_supplierprice_orderCode').after(inputs);
|
relation_order_num = relation_order_num == '' ? $.trim(getUrlParam('relation_order_num')) : relation_order_num;
|
if ($.trim(relation_order_num) == '') {
|
$('input[name="erp_supplierprice.relation_order_num"]').parent().parent().remove();
|
}
|
else {
|
$('input[name="erp_supplierprice.relation_order_num"]').val(relation_order_num);
|
}
|
var projectid = $.trim(getUrlParam('projectid'));
|
projectid = projectid == '' ? 0 : projectid;
|
projectid = parseInt(projectid);
|
if (parseInt(projectid) > 0) {
|
$('#erp_supplierprice_project_id').val(projectid);
|
$('#erp_supplierprice_project_id').attr('disabled', 'disabled');
|
$('#erp_supplierprice_project_id').trigger("chosen:updated");
|
}
|
$('input[name="erp_supplierprice_dtl.supplier_name"],input[name="erp_supplierprice_dtl.contacts_way"]').bind('focus', function (i, r) {
|
|
getcompanyinfo(this);
|
return false;
|
});
|
if (sysid == '') {
|
var ntr = $('input[name="erp_supplierprice_dtl.supplier_name"]').length;
|
if (ntr > 0) {
|
var inputs = '<input type="hidden" name="erp_supplierprice_dtl.supplier_id" field="supplier_id"></input>';
|
$('input[name="erp_supplierprice_dtl.supplier_name"]').eq(ntr - 1).after(inputs);
|
}
|
}
|
setfirstInfo();
|
if (sysid != '') {
|
if ($.trim(sysid) != '' && initItems.Children != null && initItems.Children != undefined && initItems.Children.length > 0) {
|
$.each(initItems.Children, function (i, r) {
|
var inputs = '<input type="hidden" name="erp_supplierprice_dtl.supplier_id" field="supplier_id" value="' + r.supplier_id + '"></input>';
|
$('input[name="erp_supplierprice_dtl.supplier_name"]').eq(i).after(inputs);
|
var inputs = '<input type="hidden" name="erp_supplierprice_dtl.model" field="model" class="edit" value="' + r.model + '"></input>';
|
$('input[name="erp_supplierprice_dtl.materielinfo_name"]').eq(i).after(inputs);
|
if (type == 1 || type == 5 || type == 6 || type == 7) {
|
inputs = '<input type="hidden" name="erp_supplierprice_dtl.materielinfo_code" field="materielinfo_code" value="' + r.materielinfo_code + '"></input>';
|
$('input[name="erp_supplierprice_dtl.materielinfo_name"]').eq(i).after(inputs);
|
}
|
});
|
|
if (type == 1 || type == 5 || type == 6 || type == 7) {
|
$('input[name="erp_supplierprice_dtl.materielinfo_name"]').bind('focus', function (i, r) {
|
getmaterielinfo(this);
|
});
|
}
|
}
|
}
|
addCSS();
|
changeTextarea();
|
|
$.each($('input[name="erp_supplierprice_dtl.materielinfo_name"],input[name="erp_supplierprice_dtl.supplier_name"],input[name="erp_supplierprice_dtl.contacts_way"],input[name="erp_supplierprice_dtl.pay_way"]'), function (i, r) {
|
var val = $(this).val();
|
$(this).attr('title', val);
|
$(this).attr('alt', val);
|
});
|
if (sysid == '' && $.trim(getUrlParam('original_order_code')) != "") {
|
ChangeSupplier();
|
}
|
}
|
|
|
//动态添加CSS样式
|
function addCSS() {
|
var str_style = 'td{ position:relative;}';
|
if (document.all) { // document.createStyleSheet(url)
|
window.style = str_style;
|
document.createStyleSheet("javascript:style");
|
} else { //document.createElement(style)
|
var style = document.createElement('style');
|
style.type = 'text/css';
|
style.innerHTML = str_style;
|
document.getElementsByTagName('HEAD').item(0).appendChild(style);
|
}
|
}
|
//把input改为textarea
|
function changeTextarea() {
|
//备注
|
$('input[name="erp_supplierprice_dtl.pay_way"]').each(function (i, input) {
|
var value = $.trim($(this).val());
|
var textarea = createTextarea("erp_supplierprice_dtl", "pay_way");
|
changeInputCell(input, textarea, value);
|
})
|
}
|
|
//替换表格控件元素
|
function changeInputCell(input, newInput, value) {
|
value = value || "";
|
var $input = $(input);
|
var $newInput = $(newInput);
|
var parent = input.parentNode;
|
$newInput.val(value);
|
var hasEdit = $input.hasClass("edit");
|
var isDisbale = $input.prop("disabled");
|
isDisbale && newInput.setAttribute("disabled", "disabled");
|
newInput.innerHTML = value;
|
$input.remove();
|
parent.appendChild(newInput);
|
}
|
|
//创建textarea
|
function createTextarea(table, name) {
|
var textarea = document.createElement("textarea");
|
textarea.className = "tex_inp";
|
textarea.id = table + "_" + name;
|
textarea.name = table + "." + name;
|
textarea.setAttribute("field", name);
|
return textarea;
|
}
|
|
var oldId = parseInt(getUrlParam('oldId'));
|
function ChangeSupplier() {
|
oldId = parseInt(getUrlParam('oldId'));
|
// 获取原始数据
|
$.ajax({
|
url: "/ERP/Erp_supplierprice/Get?sysid=" + oldId + "&original_order_code=" + getUrlParam('original_order_code')
|
, async: false
|
, cache: false
|
, dataType: "json",
|
success: function (data) {
|
// 赋值Children
|
$.each(data, function (i, v) {
|
if ($(".main input[name='erp_supplierprice." + i + "']").length > 0) {
|
v = (v == null || v == "null") ? "" : v;
|
$(".main input[name='erp_supplierprice." + i + "']").val(v);
|
}
|
});
|
|
|
$.each(data.Children, function (i, r) {
|
if (i == 0)
|
createMethod(r.materielinfo_code, r.materielinfo_name, r.unit, r.count, r.model);
|
if (i > 0) {
|
$('.subtradd_js').click();
|
$('input[name="erp_supplierprice_dtl.count"]').eq(i).val(r.count);
|
$('input[name="erp_supplierprice_dtl.materielinfo_code"]').eq(i).val(r.materielinfo_code);
|
$('input[name="erp_supplierprice_dtl.model"]').eq(i).val(r.model);
|
if (type == 3) {
|
$('select[name="erp_supplierprice_dtl.materielinfo_code"]').eq(i).val(r.materielinfo_code);
|
$('select[name="erp_supplierprice_dtl.materielinfo_code"]').eq(i).trigger("chosen:updated");
|
$('select[name="erp_supplierprice_dtl.unit"]').eq(i).val(r.unit);
|
$('select[name="erp_supplierprice_dtl.unit"]').eq(i).trigger("chosen:updated");
|
}
|
$('input[name="erp_supplierprice_dtl.materielinfo_name"]').eq(i).val(r.materielinfo_name);
|
$('input[name="erp_supplierprice_dtl.unit"]').eq(i).val(r.unit);
|
}
|
});
|
|
$.each(data.Children, function (itemIndex, itmeData) {
|
$.each(itmeData, function (i, v) {
|
if ($('#girdtable .body').eq(itemIndex).find("[name='erp_supplierprice_dtl." + i + "']").length > 0) {
|
v = (v == null || v == "null") ? "" : v;
|
$('#girdtable .body').eq(itemIndex).find("[name='erp_supplierprice_dtl." + i + "']").val(v);
|
}
|
});
|
});
|
|
$("[name='erp_supplierprice.remark']").val(data.remark + "(换供应商复制单据[原始单号:" + data.orderCode + "])");
|
$("[name='erp_supplierprice.orderCode']").val(data.NewOrderCode);
|
$("[name='erp_supplierprice.original_order_code']").val(data.original_order_code);
|
$("[name='erp_supplierprice.total_price']").val(data.total_price);
|
$('input[name="erp_supplierprice.title"]').val($('input[name="erp_supplierprice.title"]').val().replace(/\(\S*\)/, data.NewUserName));
|
$.each($('input,textarea,select'), function (i, r) {
|
$(this).attr('disabled', 'disabled');
|
$(".chosen-select").trigger("chosen:updated");
|
});
|
$('input[name="erp_supplierprice_dtl.supplier_name"]').removeAttr('disabled');
|
$('.subtradd_js').hide();
|
$('.btn-info').hide();
|
}
|
});
|
}
|
|
NumberBind = function () {
|
$("[name='erp_supplierprice_dtl.count']").addClass("countTxtBox");
|
$("[name='erp_supplierprice_dtl.price']").addClass("priceTxtBox");
|
$("[name='erp_supplierprice_dtl.totalPrice']").addClass("amountTxtBox");
|
|
NumberBoxBind();
|
}
|