You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1397 lines
66 KiB
1397 lines
66 KiB
@{
|
|
ViewBag.Title = "Index";
|
|
Layout = "~/Views/Shared/_Index.cshtml";
|
|
}
|
|
<script src="~/Content/js/datepicker/WdatePicker.js"></script>
|
|
<link href="~/Content/js/select2/select2.min.css" rel="stylesheet" />
|
|
<script src="~/Content/js/select2/select2.min.js"></script>
|
|
<style>
|
|
element.style {
|
|
z-index: 10003;
|
|
width: px;
|
|
height: 900px;
|
|
position: absolute;
|
|
top: 177px;
|
|
left: 403px;
|
|
}
|
|
</style>
|
|
|
|
<script>
|
|
var RFQCODE = $.request("RFQCODE");//询价单单号
|
|
var QUOTATIONCODE = $.request("QUOTATIONCODE");//报价单单号
|
|
var RoleEnCode = '@NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode'
|
|
var UserName = '@NFine.Code.OperatorProvider.Provider.GetCurrent().UserName'
|
|
var STATUS = decodeURI($.request("STATUS"));//询价单状态
|
|
var WorkPoint = $.request("WorkPoint");//询价单单号
|
|
$(function () {
|
|
debugger;
|
|
if (STATUS == 'Close') {
|
|
$(".toolbar").hide();//公司代码
|
|
}
|
|
SelHASCOSTDETAILS();
|
|
GetVenDorFile();
|
|
GetSORRVenDorFile();
|
|
if (QUOTATIONCODE == '') {
|
|
loadInfo();
|
|
gridList();
|
|
} else {
|
|
SecondloadInfo();
|
|
SecondgridList();
|
|
}
|
|
|
|
})
|
|
|
|
function GetVenDorFile() {
|
|
debugger;
|
|
var Fules = '';
|
|
$.ajax({
|
|
//url: "/SRM/BicDoc_Seller/GetICSBidDoc" + "?" + Math.random() + "&BidCode=" + BidCode + "&WorkPoint=" + WorkPoints,
|
|
url: "/SRM/QuotedPrice/GetVenDorFileTB?QUOTATIONCODE=" + QUOTATIONCODE,
|
|
dataType: "json",
|
|
async: false,
|
|
success: function (data) {
|
|
debugger;
|
|
if (data.rows.length > 0) {
|
|
Fules = data.rows[0].GYSFile;
|
|
}
|
|
}
|
|
});
|
|
debugger
|
|
var innerhtml = '';
|
|
if (Fules != "" && Fules != null) {
|
|
debugger;
|
|
var File = Fules.split(';');
|
|
for (var i = 0; i < File.length; i++) {
|
|
innerhtml += " <a href='../../../File/VendorFile/" + RoleEnCode + "/" + QUOTATIONCODE + "/" + File[i] + "' download='" + File[i] + "' style='color:blue;'>" + File[i] + "</a>";
|
|
}
|
|
$("#hidbtn").html(innerhtml);
|
|
$("#fileName").val(Fules);
|
|
}
|
|
}
|
|
function GetSORRVenDorFile() {
|
|
debugger;
|
|
var Fules = '';
|
|
$.ajax({
|
|
//url: "/SRM/BicDoc_Seller/GetICSBidDoc" + "?" + Math.random() + "&BidCode=" + BidCode + "&WorkPoint=" + WorkPoints,
|
|
url: "/SRM/QuotedPrice/GetSORRVenDorFile?QUOTATIONCODE=" + QUOTATIONCODE,
|
|
dataType: "json",
|
|
async: false,
|
|
success: function (data) {
|
|
debugger;
|
|
if (data.rows.length > 0) {
|
|
Fules = data.rows[0].Filename;
|
|
}
|
|
}
|
|
});
|
|
debugger
|
|
var innerhtml = '';
|
|
if (Fules != "" && Fules != null) {
|
|
debugger;
|
|
var File = Fules.split(';');
|
|
for (var i = 0; i < File.length; i++) {
|
|
innerhtml += " <a href='../../../File/SORRFQFile/" + RFQCODE + "/" + File[i] + "' download='" + File[i] + "' style='color:blue;'>" + File[i] + "</a>";
|
|
}
|
|
$("#hidbtnSSORE").html(innerhtml);
|
|
}
|
|
}
|
|
//首次加载
|
|
function loadInfo() {
|
|
var myDate = new Date;
|
|
var year = myDate.getFullYear(); //获取当前年
|
|
var mon = myDate.getMonth() + 1; //获取当前月
|
|
var date = myDate.getDate(); //获取当前日
|
|
// var week = myDate.getDay();
|
|
$.ajax({
|
|
url: "/SRM/PriceInquiry/GetTxtInfoByPN" + "?" + Math.random() + "&RFQCODE=" + RFQCODE,
|
|
dataType: "json",
|
|
async: false,
|
|
success: function (data) {
|
|
$("#txt_PURCHUGNAME").val(data.PURCHUGNAME);//采购组织
|
|
$("#txt_RFQCODE").val(data.RFQCODE);//询价单号
|
|
$("#txt_RFQNAME").val(data.RFQNAME);//询价单名称
|
|
if (data.ITEMTYPE == 'Real') {
|
|
var ITEMTYPE = '正式物料'
|
|
} else {
|
|
var ITEMTYPE = '临时物料'
|
|
}
|
|
$("#txt_ITEMTYPE").val(ITEMTYPE);//物料类型
|
|
$("#txt_PURCHUGCODE").val(data.PURCHUGCONECT);//采购组
|
|
$("#F_VENDORMEMO").val(data.MEMO);//备注
|
|
$("#sel_VenCode").val(data.VENDORCODE);//供应商代码
|
|
$("#txt_cVenName").val(data.cVenName);//供应商名称
|
|
$("#txt_VENDORTYPE").val(data.VENDORTYPE);//供应商类型
|
|
$("#txt_CURRENCY").val(data.CURRENCY);//币种
|
|
$("#txt_TAXRATECODE").val(data.TAXRATE);//税率
|
|
$("#txt_paymentClause").val(data.PAYMENTCONDITION);//付款条件
|
|
$("#COMPANYCODE").val(data.COMPANYCODE);//公司代码
|
|
//$("#Sel_HASCOSTDETAILS").val(data.HASCOSTDETAILS)//上传成本明细
|
|
$("#Sel_HASCOSTDETAILS").val([data.HASCOSTDETAILS]).trigger("change");//是否有产品开发能
|
|
debugger
|
|
var innerhtml = '';
|
|
if (data.FileName != "" && data.FileName != null) {
|
|
debugger;
|
|
str = data.FileName;
|
|
var File = str.split(';');
|
|
for (var i = 0; i < File.length; i++) {
|
|
innerhtml += " <a href='../../../File/SORRFQFile/" + data.RFQCODE + "/" + File[i] + "' download='" + File[i] + "' style='color:blue;'>" + File[i] + "</a>";
|
|
}
|
|
$("#hidbtnSSORE").html(innerhtml);
|
|
}
|
|
}
|
|
});
|
|
|
|
|
|
GetQuotationNo();
|
|
$("#txt_BeginDate").val(year + "-" + mon + "-" + date);//报价日期
|
|
|
|
}
|
|
|
|
//二次加载
|
|
function SecondloadInfo() {
|
|
debugger;
|
|
var myDate = new Date;
|
|
var year = myDate.getFullYear(); //获取当前年
|
|
var mon = myDate.getMonth() + 1; //获取当前月
|
|
var date = myDate.getDate(); //获取当前日
|
|
// var week = myDate.getDay();
|
|
$.ajax({
|
|
url: "/SRM/PriceInquiry/SecondGetTxtInfoByPN?RFQCODE=" + RFQCODE + ""ATIONCODE=" + QUOTATIONCODE + "&" + Math.random(),
|
|
dataType: "json",
|
|
async: false,
|
|
success: function (data) {
|
|
$("#InvCode").text(data.rows[0].InvCode);
|
|
$("#txt_PURCHUGNAME").val(data.rows[0].PURCHUGNAME);//采购组织
|
|
$("#txt_RFQCODE").val(data.rows[0].RFQCODE);//询价单号
|
|
$("#txt_RFQNAME").val(data.rows[0].RFQNAME);//询价单名称
|
|
if (data.ITEMTYPE == 'Real') {
|
|
var ITEMTYPE = '正式物料'
|
|
} else {
|
|
var ITEMTYPE = '临时物料'
|
|
}
|
|
$("#txt_ITEMTYPE").val(data.rows[0].ITEMTYPE);//物料类型
|
|
$("#txt_PURCHUGCODE").val(data.rows[0].PURCHUGNAME);//采购组
|
|
$("#F_VENDORMEMO").val(data.rows[0].MEMO);//备注
|
|
$("#sel_VenCode").val(data.rows[0].VENDORCODE);//供应商代码
|
|
$("#txt_cVenName").val(data.rows[0].cVenName);//供应商名称
|
|
$("#txt_VENDORTYPE").val(data.rows[0].VENDORTYPE);//供应商类型
|
|
$("#txt_CURRENCY").val(data.rows[0].CURRENCY);//币种
|
|
$("#txt_TAXRATECODE").val(data.rows[0].TAXRATE);//税率
|
|
$("#txt_paymentClause").val(data.rows[0].PAYMENTCONDITION);//付款条件
|
|
$("#COMPANYCODE").val(data.rows[0].COMPANYCODE);//公司代码
|
|
|
|
$("#F_Description").val(data.rows[0].VENDORMEMO);//供方备注
|
|
$("#txt_QUOTATIONCODE").val(data.rows[0].QUOTATIONCODE);//报价单号
|
|
$("#txt_BeginDate").val(data.rows[0].QUOTEDATE);//报价日期
|
|
//$("#Sel_HASCOSTDETAILS").val(data.rows[0].HASCOSTDETAILS)//上传成本明细
|
|
$("#Sel_HASCOSTDETAILS").val([data.rows[0].HASCOSTDETAILS]).trigger("change");//是否有产品开发能
|
|
}
|
|
});
|
|
$("#txt_BeginDate").val(year + "-" + mon + "-" + date);//报价日期
|
|
}
|
|
|
|
function SelHASCOSTDETAILS() {
|
|
debugger;
|
|
var $HASCOSTDETAILS = $("#Sel_HASCOSTDETAILS");
|
|
$HASCOSTDETAILS.select2({
|
|
allowClear: true,
|
|
escapeMarkup: function (m) {
|
|
return m;
|
|
}
|
|
});
|
|
//$WhetheProdDevCapability.append("<option value=''> </option>");
|
|
$HASCOSTDETAILS.append("<option value='0'> 否</option>");
|
|
$HASCOSTDETAILS.append("<option value='1'> 是</option>");
|
|
$("#Sel_HASCOSTDETAILS").val([0]).trigger("change");//是否上市公司
|
|
}
|
|
//新增时获取报价单号
|
|
function GetQuotationNo() {
|
|
$.ajax({
|
|
url: "/SRM/QuotedPrice/GetQuotationNo" + "?" + Math.random() + "&RFQCODE=" + RFQCODE + "&WorkPoint=" + WorkPoint,
|
|
dataType: "json",
|
|
async: false,
|
|
success: function (data) {
|
|
$("#txt_QUOTATIONCODE").val(data.QuotationNo);//报价单号
|
|
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
|
|
@*function gridList() {
|
|
|
|
document.getElementById("gridPanel").innerHTML = ' <table id="gridList"></table> <div id="gridPager"></div>';
|
|
var $gridList = $("#gridList");
|
|
$gridList.dataGrid({
|
|
cellEdit: true,
|
|
// url: "/SRM/QuotedPrice/GetGridJsonPrice?RFQCODE=" + RFQCODE + "&" + Math.random() + "&ITEMCODE=" + ITEMCODE + ""ATIONCODE=" + QUOTATIONCODE,
|
|
url: "/SRM/PriceInquiry/SelectOfferByPN?RFQCODE=" + RFQCODE + "&" + Math.random() + "&WorkPoint=" + WorkPoint,
|
|
//postData: { queryJson: JSON.stringify(queryJson) },
|
|
height: $(window).height() - 400,
|
|
width: $(window).width() - 300,
|
|
colModel: [
|
|
{ label: "主键", name: "ID", hidden: true},
|
|
// { label: "主键", name: "ID", width: 150, align: 'left' },
|
|
{ label: "询价单明细ID", name: "EnquiryID", hidden: true, key: true },
|
|
{ label: '物料代码', name: 'ITEMCODE', width: 110, align: 'center' },
|
|
{ label: '物料名称', name: 'INVNAME', width: 110, align: 'center' },
|
|
{ label: '物料规格', name: 'InvStd', width: 150, align: 'center' },
|
|
|
|
{label: '规格说明文件', name: 'RFQITEMREFERCODE', width: 200, align: 'center',
|
|
formatter: function (cellvalue, options, rowObject) {
|
|
var html = "";
|
|
if (cellvalue != "" && cellvalue != null) {
|
|
html = " <a href='../../../File/SORRFQFile/" + RFQCODE + "/" + cellvalue + "' download='" + cellvalue + "' style='color:#1281C1;'>" + cellvalue + "</a>";
|
|
}
|
|
return html;
|
|
}
|
|
},
|
|
|
|
{ label: '单位', name: 'UNIT', width: 50, align: 'center' },
|
|
{ label: '预计需求数量', name: 'REQUESTQUANTITY', width: 100, align: 'center' },
|
|
// { label: '采购变更建议价格', name: 'QUOBUYERPRICE', width: 120, align: 'center' },
|
|
{
|
|
label: '人民币报价(未税)', name: 'UnitQUOPRICE', width: 80, align: 'center', editable: true,
|
|
editrules: {
|
|
number: true,
|
|
//required: true,//必填设置
|
|
custom: true,
|
|
custom_func: function (value, colname) {
|
|
if (value < 0) {
|
|
return [false, colname + '必须为正数'];
|
|
} else {
|
|
return [true];
|
|
}
|
|
}
|
|
},// 关键:添加编辑事件,当单元格编辑完成后触发计算
|
|
oneditfunc: function (rowid) {
|
|
// 1. 获取当前行数据
|
|
var rowData = $gridList.jqGrid('getRowData', rowid);
|
|
|
|
// 2. 获取未税价格(需转换为数字,避免字符串计算)
|
|
var unitPrice = parseFloat(rowData.UnitQUOPRICE) || 0;
|
|
|
|
// 3. 获取税率(假设从页面输入框获取,若固定税率可直接写死,如0.13表示13%)
|
|
var taxRate = parseFloat($("#txt_TAXRATECODE").val()) || 0; // 从税率输入框取值
|
|
taxRate = taxRate / 100; // 若税率单位是百分比(如13表示13%),需转换为小数
|
|
|
|
// 4. 计算税额(保留2位小数)
|
|
var taxAmount = (unitPrice * taxRate).toFixed(2);
|
|
|
|
// 5. 计算含税价格(可选,未税价格 + 税额)
|
|
var totalPrice = (parseFloat(unitPrice) + parseFloat(taxAmount)).toFixed(2);
|
|
|
|
// 6. 填充税额到对应单元格
|
|
$gridList.jqGrid('setCell', rowid, 'TaxAmount', taxAmount);
|
|
|
|
// 7. 可选:自动填充含税价格
|
|
$gridList.jqGrid('setCell', rowid, 'QUOPRICE', totalPrice);
|
|
}
|
|
},
|
|
{
|
|
label: '税额', name: 'TaxAmount', width: 80, align: 'center', editable: true,
|
|
editrules: {
|
|
number: true,
|
|
//required: true,//必填设置
|
|
custom: true,
|
|
custom_func: function (value, colname) {
|
|
if (value < 0) {
|
|
return [false, colname + '必须为正数'];
|
|
} else {
|
|
return [true];
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
label: '人民币报价(含税)', name: 'QUOPRICE', width: 80, align: 'center', editable: true,
|
|
editrules: {
|
|
number: true,
|
|
//required: true,//必填设置
|
|
custom: true,
|
|
custom_func: function (value, colname) {
|
|
if (value < 0) {
|
|
return [false, colname + '必须为正数'];
|
|
} else {
|
|
return [true];
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{ label: '币种', name: 'Currency', width: 130, align: 'center', editable: true },
|
|
{ label: '最小包装量', name: 'MinPackQuantity', width: 130, align: 'center', editable: true },
|
|
{ label: '最小起定量', name: 'MOQ', width: 130, align: 'center', editable: true },
|
|
{
|
|
label: '货期(天)', name: 'ADDITION1', width: 150, align: 'center', editable: true,
|
|
editrules: {
|
|
number: true,
|
|
//required: true,//必填设置
|
|
custom: true,
|
|
custom_func: function (value, colname) {
|
|
if (value < 0) {
|
|
return [false, colname + '必须为正数'];
|
|
} else {
|
|
return [true];
|
|
}
|
|
}
|
|
}
|
|
|
|
},
|
|
{ label: '供应商全称', name: 'VenFullName', width: 130, align: 'center', editable: true },
|
|
{ label: '采购员', name: 'Purchaser', width: 130, align: 'center', editable: true },
|
|
{ label: '产地', name: 'Origin', width: 130, align: 'center', editable: true },
|
|
{ label: '当日金属价格', name: 'DailyMetalPrices', width: 130, align: 'center', editable: true },
|
|
{ label: '加工费', name: 'ProcessingFee', width: 130, align: 'center', editable: true },
|
|
{ label: '备注', name: 'VENDORMEMO', width: 150, align: 'center', editable: true, },
|
|
{ label: '报价要求', name: 'PurchaseMEMO', width: 130, align: 'center' },
|
|
{ label: '物料类别', name: 'ITEMTYPE', hidden: true },
|
|
{ label: '物料规格', name: 'INVSTD', hidden: true },
|
|
{ label: '规格文件说明名字', name: 'RFQITEMREFERCODEName', hidden: true },
|
|
{ label: '参考价格', name: 'REFERPRICE', hidden: true },
|
|
{ label: '上次报价', name: 'LoadQUOPRICE', width: 130, align: 'center', hidden: true, },
|
|
{ label: '状态(判断是否定价通过)', name: 'QUOSTATUS', width: 130, align: 'center', hidden: true, },
|
|
{ label: '是否需要上传成本明细', name: 'HASCOSTDETAILS', width: 200, align: 'center', hidden: true },
|
|
{label: '成本明细', name: 'COSTDETAILSREFERCODE', width: 350, align: 'center',
|
|
formatter: function (cellvalue, options, rowObject) {
|
|
var QuotationNo = $("#txt_QUOTATIONCODE").val();//报价单号
|
|
var html = "";
|
|
if (cellvalue != "" && cellvalue != null) {
|
|
html = " <a href='../../../File/VendorFile/" + RoleEnCode + "/" + QuotationNo + "/" + cellvalue + "' download='" + cellvalue + "' style='color:#1281C1;'>" + cellvalue + "</a>";
|
|
}
|
|
return html;
|
|
}, hidden: true
|
|
},
|
|
{ label: '成本明细名称', name: 'COSTDETAILSREFERCODEName', width: 200, align: 'center', hidden: true },
|
|
{label: ' ', name: 'ASS', width: 80, align: 'center',formatter: btnLook, hidden: true
|
|
},
|
|
|
|
],
|
|
rowNum: 10000,
|
|
cellsubmit: "clientArray",
|
|
pager: "#gridPager",
|
|
sortorder: "desc",
|
|
viewrecords: true,
|
|
gridComplete: function () {
|
|
debugger;
|
|
// 1. 获取需要自动填充的供应商名称和采购员信息
|
|
// 这里假设从页面元素或变量中获取(根据实际情况修改来源)
|
|
var UserName = '@NFine.Code.OperatorProvider.Provider.GetCurrent().UserName'
|
|
var buyerName = '徐佳'; // 例如从隐藏域获取
|
|
|
|
// 2. 遍历表格所有行数据
|
|
var rows = $("#gridList").jqGrid("getDataIDs");
|
|
for (var i = 0; i < rows.length; i++) {
|
|
|
|
$gridList.jqGrid('setCell', rows[i], 'VenFullName', UserName);
|
|
$gridList.jqGrid('setCell', rows[i], 'Purchaser', buyerName);
|
|
}
|
|
}
|
|
// multiselect: true,
|
|
|
|
});
|
|
|
|
|
|
}*@
|
|
|
|
|
|
|
|
function gridList() {
|
|
document.getElementById("gridPanel").innerHTML = '<table id="gridList"></table><div id="gridPager"></div>';
|
|
var $gridList = $("#gridList");
|
|
$gridList.dataGrid({
|
|
cellEdit: true,
|
|
url: "/SRM/PriceInquiry/SelectOfferByPN?RFQCODE=" + RFQCODE + "&" + Math.random() + "&WorkPoint=" + WorkPoint,
|
|
height: $(window).height() - 400,
|
|
width: $(window).width() - 300,
|
|
colModel: [
|
|
{ label: "主键", name: "ID", hidden: true },
|
|
{ label: "询价单明细ID", name: "EnquiryID", hidden: true, key: true },
|
|
{ label: '物料代码', name: 'ITEMCODE', width: 110, align: 'center' },
|
|
{ label: '物料名称', name: 'INVNAME', width: 110, align: 'center' },
|
|
{ label: '制造商', name: 'ManuFacturer', width: 180, align: 'left' },
|
|
{ label: '制造商料号', name: 'ManuFacturerInvCode', width: 180, align: 'left' },
|
|
{ label: '物料规格', name: 'InvStd', width: 150, align: 'center' },
|
|
{
|
|
label: '规格说明文件', name: 'RFQITEMREFERCODE', width: 200, align: 'center',
|
|
formatter: function (cellvalue, options, rowObject) {
|
|
var html = "";
|
|
if (cellvalue != "" && cellvalue != null) {
|
|
html = " <a href='../../../File/SORRFQFile/" + RFQCODE + "/" + cellvalue + "' download='" + cellvalue + "' style='color:#1281C1;'>" + cellvalue + "</a>";
|
|
}
|
|
return html;
|
|
}
|
|
},
|
|
{ label: '单位', name: 'UNIT', width: 50, align: 'center' },
|
|
{ label: '预计需求数量', name: 'REQUESTQUANTITY', width: 100, align: 'center' },
|
|
{
|
|
label: '人民币报价(未税)', name: 'UnitQUOPRICE', width: 80, align: 'center', editable: true,
|
|
editrules: {
|
|
number: true,
|
|
custom: true,
|
|
custom_func: function (value, colname) {
|
|
if (value < 0) {
|
|
return [false, colname + '必须为正数'];
|
|
} else {
|
|
return [true];
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
label: '税额', name: 'TaxAmount', width: 80, align: 'center', editable: true,
|
|
editrules: {
|
|
number: true,
|
|
custom: true,
|
|
custom_func: function (value, colname) {
|
|
if (value < 0) {
|
|
return [false, colname + '必须为正数'];
|
|
} else {
|
|
return [true];
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
label: '人民币报价(含税)', name: 'QUOPRICE', width: 80, align: 'center', editable: true,
|
|
editrules: {
|
|
number: true,
|
|
custom: true,
|
|
custom_func: function (value, colname) {
|
|
if (value < 0) {
|
|
return [false, colname + '必须为正数'];
|
|
} else {
|
|
return [true];
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
label: '报价(总价含税)', name: 'TotalPrice', width: 90, align: 'center',
|
|
editrules: {
|
|
number: true,
|
|
//required: true,//必填设置
|
|
custom: true,
|
|
custom_func: function (value, colname) {
|
|
if (value < 0) {
|
|
return [false, colname + '必须为正数'];
|
|
} else {
|
|
return [true];
|
|
}
|
|
}
|
|
}
|
|
},
|
|
//{
|
|
// label: '币种', name: 'Currency', width: 130, align: 'center', edittype: 'select', editoptions: { value: GetItemCode(), }, editable: true, size: '50px', fontWeight: 'bolder',
|
|
// formatter: function (cellvalue, options, rowObject) {
|
|
// return cellvalue || "人民币";
|
|
// },
|
|
// unformat: function (cellvalue, options, cell) {
|
|
// return cellvalue || "人民币";
|
|
// }
|
|
//},
|
|
{ label: '币种', name: 'Currency', width: 80, align: 'center', edittype: 'select', editoptions: { value: GetItemCode(), }, editable: true },
|
|
{ label: '最小包装量', name: 'MinPackQuantity', width: 130, align: 'center', editable: true },
|
|
{ label: '最小起定量', name: 'MOQ', width: 130, align: 'center', editable: true },
|
|
{
|
|
label: '货期(天)', name: 'ADDITION1', width: 150, align: 'center', editable: true,
|
|
editrules: {
|
|
number: true,
|
|
custom: true,
|
|
custom_func: function (value, colname) {
|
|
if (value < 0) {
|
|
return [false, colname + '必须为正数'];
|
|
} else {
|
|
return [true];
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{ label: '产地', name: 'Origin', width: 130, align: 'center', editable: true },
|
|
{ label: '供应商全称', name: 'VenFullName', width: 130, align: 'center', editable: true },
|
|
{ label: '采购员', name: 'Purchaser', width: 130, align: 'center', editable: true },
|
|
|
|
{ label: '当日金属价格', name: 'DailyMetalPrices', width: 130, align: 'center', editable: true },
|
|
{ label: '加工费', name: 'ProcessingFee', width: 130, align: 'center', editable: true },
|
|
{ label: '备注', name: 'VENDORMEMO', width: 150, align: 'center', editable: true },
|
|
{ label: '报价要求', name: 'PurchaseMEMO', width: 130, align: 'center' },
|
|
{ label: '物料类别', name: 'ITEMTYPE', hidden: true },
|
|
{ label: '物料规格', name: 'INVSTD', hidden: true },
|
|
{ label: '规格文件说明名字', name: 'RFQITEMREFERCODEName', hidden: true },
|
|
{ label: '参考价格', name: 'REFERPRICE', hidden: true },
|
|
{ label: '上次报价', name: 'LoadQUOPRICE', width: 130, align: 'center', hidden: true },
|
|
{ label: '状态(判断是否定价通过)', name: 'QUOSTATUS', width: 130, align: 'center', hidden: true },
|
|
{ label: '是否需要上传成本明细', name: 'HASCOSTDETAILS', width: 200, align: 'center', hidden: true },
|
|
{
|
|
label: '成本明细', name: 'COSTDETAILSREFERCODE', width: 350, align: 'center',
|
|
formatter: function (cellvalue, options, rowObject) {
|
|
var QuotationNo = $("#txt_QUOTATIONCODE").val();
|
|
var html = "";
|
|
if (cellvalue != "" && cellvalue != null) {
|
|
html = " <a href='../../../File/VendorFile/" + RoleEnCode + "/" + QuotationNo + "/" + cellvalue + "' download='" + cellvalue + "' style='color:#1281C1;'>" + cellvalue + "</a>";
|
|
}
|
|
return html;
|
|
}, hidden: true
|
|
},
|
|
{ label: '成本明细名称', name: 'COSTDETAILSREFERCODEName', width: 200, align: 'center', hidden: true },
|
|
{ label: ' ', name: 'ASS', width: 80, align: 'center', formatter: btnLook, hidden: true }
|
|
],
|
|
rowNum: 10000,
|
|
cellsubmit: "clientArray",
|
|
pager: "#gridPager",
|
|
sortorder: "desc",
|
|
viewrecords: true,
|
|
gridComplete: function () {
|
|
$("#gridList").jqGrid('setLabel', 'ADDITION1', '', { 'color': 'red' });
|
|
$("#gridList").jqGrid('setLabel', 'VenFullName', '', { 'color': 'red' });
|
|
$("#gridList").jqGrid('setLabel', 'Purchaser', '', { 'color': 'red' });
|
|
$("#gridList").jqGrid('setLabel', 'Origin', '', { 'color': 'red' });
|
|
$("#gridList").jqGrid('setLabel', 'MinPackQuantity', '', { 'color': 'red' });
|
|
$("#gridList").jqGrid('setLabel', 'MOQ', '', { 'color': 'red' });
|
|
|
|
var UserName = '@NFine.Code.OperatorProvider.Provider.GetCurrent().UserName';
|
|
//var buyerName = '徐佳';
|
|
var rows = $("#gridList").jqGrid("getDataIDs");
|
|
for (var i = 0; i < rows.length; i++) {
|
|
var rowData = $gridList.jqGrid('getRowData', rows[i]);
|
|
$gridList.jqGrid('setCell', rows[i], 'VenFullName', UserName);
|
|
$gridList.jqGrid('setCell', rows[i], 'Purchaser', rowData.Purchaser);
|
|
if (!rowData.Currency) {
|
|
$gridList.jqGrid('setCell', rows[i], 'Currency', '人民币');
|
|
}
|
|
}
|
|
},
|
|
afterSaveCell: function (rowid, cellname, value) {
|
|
debugger;
|
|
//总扣分数加其他扣分数
|
|
if (cellname === 'QUOPRICE') {
|
|
Price = Number(value);
|
|
if (Price == 0) {
|
|
$.modalAlert("价格为0需要备注原因!");
|
|
return;
|
|
}
|
|
LoadQUOPRICE = Number($gridList.jqGrid("getCell", rowid, 'LoadQUOPRICE'));
|
|
QUOSTATUS = $gridList.jqGrid("getCell", rowid, 'QUOSTATUS');
|
|
RowsIDs = rowid;
|
|
if (QUOSTATUS == 'PricingApprove') {
|
|
$("#gridList").jqGrid('setCell', rowid, "QUOPRICE", LoadQUOPRICE);
|
|
$.modalAlert("该物料已结束询价,无法再次报价!");
|
|
return;
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
});
|
|
|
|
// 使用jqGrid的单元格编辑完成事件替代oneditfunc
|
|
$gridList.jqGrid('setGridParam', {
|
|
afterSaveCell: function (rowid, cellname, value, iRow, iCol) {
|
|
debugger;
|
|
// 只处理未税价格列的编辑
|
|
if (cellname === 'UnitQUOPRICE') {
|
|
// 1. 获取当前行数据
|
|
var rowData = $gridList.jqGrid('getRowData', rowid);
|
|
|
|
// 2. 获取未税价格(需转换为数字,避免字符串计算)
|
|
var unitPrice = parseFloat(value) || 0;
|
|
|
|
// 3. 获取税率
|
|
var taxRate = parseFloat($("#F_Description").val()) || 0;
|
|
taxRate = taxRate / 100;
|
|
|
|
// 4. 计算税额(保留2位小数)
|
|
var taxAmount = (unitPrice * taxRate).toFixed(2);
|
|
|
|
// 5. 计算含税价格
|
|
var totalPrice = (parseFloat(unitPrice) + parseFloat(taxAmount)).toFixed(2);
|
|
|
|
// 6. 填充税额到对应单元格
|
|
$gridList.jqGrid('setCell', rowid, 'TaxAmount', taxAmount);
|
|
|
|
// 7. 填充含税价格
|
|
$gridList.jqGrid('setCell', rowid, 'QUOPRICE', totalPrice);
|
|
|
|
TotalPrice = Number($gridList.jqGrid("getCell", rowid, 'REQUESTQUANTITY')) * unitPrice;
|
|
$("#gridList").jqGrid('setCell', rowid, "TotalPrice", TotalPrice);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
|
|
function SecondgridList() {
|
|
|
|
document.getElementById("gridPanel").innerHTML = ' <table id="gridList"></table> <div id="gridPager"></div>';
|
|
var $gridList = $("#gridList");
|
|
$gridList.dataGrid({
|
|
cellEdit: true,
|
|
// url: "/SRM/QuotedPrice/GetGridJsonPrice?RFQCODE=" + RFQCODE + "&" + Math.random() + "&ITEMCODE=" + ITEMCODE + ""ATIONCODE=" + QUOTATIONCODE,
|
|
url: "/SRM/PriceInquiry/SecondSelectOfferByPN?RFQCODE=" + RFQCODE + ""ATIONCODE=" + QUOTATIONCODE + "&" + Math.random(),
|
|
//postData: { queryJson: JSON.stringify(queryJson) },
|
|
height: $(window).height() - 400,
|
|
width: $(window).width() - 300,
|
|
colModel: [
|
|
{ label: "主键", name: "ID", hidden: true },
|
|
// { label: "主键", name: "ID", width: 150, align: 'left' },
|
|
{ label: "询价单明细ID", name: "EnquiryID", hidden: true, key: true },
|
|
|
|
{ label: '物料代码', name: 'ITEMCODE', width: 110, align: 'center' },
|
|
{ label: '物料名称', name: 'INVNAME', width: 110, align: 'center' },
|
|
{ label: '制造商', name: 'ManuFacturer', width: 180, align: 'left' },
|
|
{ label: '制造商料号', name: 'ManuFacturerInvCode', width: 180, align: 'left' },
|
|
{
|
|
label: '规格说明文件', name: 'RFQITEMREFERCODE', width: 200, align: 'center',
|
|
formatter: function (cellvalue, options, rowObject) {
|
|
var html = "";
|
|
if (cellvalue != "" && cellvalue != null) {
|
|
html = " <a href='../../../File/SORRFQFile/" + RFQCODE + "/" + cellvalue + "' download='" + cellvalue + "' style='color:#1281C1;'>" + cellvalue + "</a>";
|
|
}
|
|
return html;
|
|
}
|
|
},
|
|
{ label: '报价要求', name: 'PurchaseMEMO', width: 130, align: 'center' },
|
|
{ label: '单位', name: 'UNIT', width: 50, align: 'center' },
|
|
{ label: '预计需求数量', name: 'REQUESTQUANTITY', width: 100, align: 'center' },
|
|
// { label: '采购变更建议价格', name: 'QUOBUYERPRICE', width: 120, align: 'center' },
|
|
{
|
|
label: '报价(未税)', name: 'UnitQUOPRICE', width: 80, align: 'center', editable: true,
|
|
editrules: {
|
|
number: true,
|
|
//required: true,//必填设置
|
|
custom: true,
|
|
custom_func: function (value, colname) {
|
|
if (value < 0) {
|
|
return [false, colname + '必须为正数'];
|
|
} else {
|
|
return [true];
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
label: '税额', name: 'TaxAmount', width: 80, align: 'center', editable: true,
|
|
editrules: {
|
|
number: true,
|
|
//required: true,//必填设置
|
|
custom: true,
|
|
custom_func: function (value, colname) {
|
|
if (value < 0) {
|
|
return [false, colname + '必须为正数'];
|
|
} else {
|
|
return [true];
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{ label: '报价(含税)', name: 'QUOPRICE', width: 80, align: 'center', editable: true, },
|
|
{
|
|
label: '报价(总价含税)', name: 'TotalPrice', width: 90, align: 'center',
|
|
editrules: {
|
|
number: true,
|
|
//required: true,//必填设置
|
|
custom: true,
|
|
custom_func: function (value, colname) {
|
|
if (value < 0) {
|
|
return [false, colname + '必须为正数'];
|
|
} else {
|
|
return [true];
|
|
}
|
|
}
|
|
}
|
|
},
|
|
//{
|
|
// label: '币种', name: 'Currency', width: 130, align: 'center', edittype: 'select', editoptions: { value: GetItemCode(), }, editable: true, size: '50px', fontWeight: 'bolder',
|
|
// formatter: function (cellvalue, options, rowObject) {
|
|
// return cellvalue || "人民币";
|
|
// },
|
|
// unformat: function (cellvalue, options, cell) {
|
|
// return cellvalue || "人民币";
|
|
// }
|
|
//},
|
|
{ label: '币种', name: 'Currency', width: 80, align: 'center', edittype: 'select', editoptions: { value: GetItemCode(), }, editable: true },
|
|
{label: '最小包装量', name: 'MinPackQuantity', width: 130, align: 'center', editable: true },
|
|
{ label: '最小起定量', name: 'MOQ', width: 130, align: 'center', editable: true },
|
|
{
|
|
label: '货期(天)', name: 'ADDITION1', width: 150, align: 'center', editable: true,
|
|
editrules: {
|
|
number: true,
|
|
//required: true,//必填设置
|
|
custom: true,
|
|
custom_func: function (value, colname) {
|
|
if (value < 0) {
|
|
return [false, colname + '必须为正数'];
|
|
} else {
|
|
return [true];
|
|
}
|
|
}
|
|
}
|
|
|
|
},
|
|
{ label: '产地', name: 'Origin', width: 130, align: 'center', editable: true },
|
|
{ label: '供应商全称', name: 'VenFullName', width: 130, align: 'center', editable: true },
|
|
{ label: '采购员', name: 'Purchaser', width: 130, align: 'center', editable: true },
|
|
|
|
{ label: '当日金属价格', name: 'DailyMetalPrices', width: 130, align: 'center', editable: true },
|
|
{ label: '加工费', name: 'ProcessingFee', width: 130, align: 'center', editable: true },
|
|
{ label: '备注', name: 'VENDORMEMO', width: 150, align: 'center', editable: true, },
|
|
{ label: '物料类别', name: 'ITEMTYPE', hidden: true },
|
|
{ label: '物料规格', name: 'INVSTD', hidden: true },
|
|
{ label: '规格文件说明名字', name: 'RFQITEMREFERCODEName', hidden: true },
|
|
{ label: '参考价格', name: 'REFERPRICE', hidden: true },
|
|
{ label: '上次报价', name: 'LoadQUOPRICE', width: 130, align: 'center', hidden: true, },
|
|
{ label: '状态(判断是否定价通过)', name: 'QUOSTATUS', width: 130, align: 'center', hidden: true, },
|
|
{ label: '是否需要上传成本明细', name: 'HASCOSTDETAILS', width: 200, align: 'center', hidden: true },
|
|
{
|
|
label: '成本明细', name: 'COSTDETAILSREFERCODE', width: 350, align: 'center',
|
|
formatter: function (cellvalue, options, rowObject) {
|
|
var QuotationNo = $("#txt_QUOTATIONCODE").val();//报价单号
|
|
var html = "";
|
|
if (cellvalue != "" && cellvalue != null) {
|
|
html = " <a href='../../../File/VendorFile/" + RoleEnCode + "/" + QuotationNo + "/" + cellvalue + "' download='" + cellvalue + "' style='color:#1281C1;'>" + cellvalue + "</a>";
|
|
}
|
|
return html;
|
|
}, hidden: true
|
|
},
|
|
{ label: '成本明细名称', name: 'COSTDETAILSREFERCODEName', width: 200, align: 'center', hidden: true },
|
|
{label: ' ', name: 'ASS', width: 80, align: 'center',formatter: btnLook, hidden: true},
|
|
|
|
//{ label: '是否关闭', name: 'ISCLOSED', hidden: true },
|
|
|
|
],
|
|
rowNum: 10000,
|
|
cellsubmit: "clientArray",
|
|
pager: "#gridPager",
|
|
sortorder: "desc",
|
|
viewrecords: true,
|
|
multiselect: true,
|
|
afterSaveCell: function (rowid, cellname, value) {
|
|
debugger;
|
|
//总扣分数加其他扣分数
|
|
if (cellname == 'QUOPRICE') {
|
|
Price = Number(value);
|
|
var regex = /^(0|[1-9]\d*)(\.\d+)?$/;
|
|
if (!regex.test(Price)) {
|
|
$.modalAlert("单价请输入有效数字!");
|
|
return;
|
|
}
|
|
if (Price < 0) {
|
|
$.modalAlert("请输入大于0的单价!");
|
|
return;
|
|
}
|
|
LoadQUOPRICE = Number($gridList.jqGrid("getCell", rowid, 'LoadQUOPRICE'));
|
|
QUOSTATUS = $gridList.jqGrid("getCell", rowid, 'QUOSTATUS');
|
|
RowsIDs = rowid;
|
|
if (QUOSTATUS == 'PricingApprove') {
|
|
$("#gridList").jqGrid('setCell', rowid, "QUOPRICE", LoadQUOPRICE);
|
|
$.modalAlert("该物料已结束询价,无法再次报价!");
|
|
return;
|
|
}
|
|
|
|
if (LoadQUOPRICE != 0) {
|
|
if (Price > LoadQUOPRICE) {
|
|
$("#gridList").jqGrid('setCell', rowid, "QUOPRICE", LoadQUOPRICE);
|
|
$.modalAlert("所填报价不可大于上一次提交价格");
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
},
|
|
gridComplete: function () {
|
|
$("#gridList").jqGrid('setLabel', 'ADDITION1', '', { 'color': 'red' });
|
|
$("#gridList").jqGrid('setLabel', 'VenFullName', '', { 'color': 'red' });
|
|
$("#gridList").jqGrid('setLabel', 'Purchaser', '', { 'color': 'red' });
|
|
$("#gridList").jqGrid('setLabel', 'Origin', '', { 'color': 'red' });
|
|
}
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function GetItemCode() {
|
|
var str = ":;人民币:人民币;欧元:欧元;美元:美元;英镑:英镑;日元:日元;港币:港币;澳元:澳元;新西兰元:新西兰元;瑞典克朗:瑞典克朗;韩币:韩币;新加坡元:新加坡元;加元:加元;卢布:卢布;南非兰特:南非兰特;卢比:卢比;泰铢:泰铢";
|
|
return str;
|
|
}
|
|
|
|
|
|
|
|
function btnLook(cellvalue, options, rowObject) {
|
|
return cellvalue = "<a class=\"btn btn-info dropdown-text\" onclick=\"Uploading('" + rowObject.ID + "')\">上传</a>";
|
|
}
|
|
|
|
//模态框显示详细信息子页面
|
|
|
|
//function Uploading(ID) {
|
|
// //var objList = $("#gridList").jqGrid('getGridParam', 'selarrrow');
|
|
|
|
// //if (objList.length != 1) {
|
|
// // $.modalAlert("请选择至少一行数据进行上传!");
|
|
// // return;
|
|
// //}
|
|
// $("#FileUpID").val(ID);
|
|
// $("#FileUp").click();
|
|
|
|
//}
|
|
function UpLoadFiles(STNO) {
|
|
$("#FileUp").click();
|
|
}
|
|
function UpLoadFile(fileinfo) {
|
|
debugger;
|
|
var innerhtml = '';
|
|
var ID = $("#FileUpID").val();
|
|
var QuotationNo = $("#txt_QUOTATIONCODE").val();//报价单号
|
|
var UserCode = '@NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode'
|
|
//data.append("STNO", $("#CurrentSTNO").val());
|
|
//var info = document.getElementById("form1");
|
|
//var formData = new FormData(info);
|
|
//$.modalConfirm("确定上传文件吗?", function (r) {
|
|
// debugger;
|
|
// if (r) {
|
|
var files = fileinfo.files;
|
|
var fileName = "";
|
|
for (var i = 0; i < files.length; i++) {
|
|
var regex = /\s/;
|
|
if (regex.test(files[i].name)) {
|
|
$.modalAlert("文件名:<span style='color: red;'>" + files[i].name + "</span>,包含空格,上传失败,请修改后重新上传!", "warning");
|
|
var file = document.getElementById('FileUp');
|
|
file.value = "";
|
|
return false;
|
|
}
|
|
fileName += "" + files[i].name + ";";
|
|
if (fileName != null && fileName != "") {
|
|
var data = new FormData();
|
|
jQuery.each(jQuery('#FileUp')[0].files, function (i, file) {
|
|
data.append('file-' + i, file);
|
|
});
|
|
$.ajax({
|
|
url: "/SRM/QuotedPrice/UpLoadFile?QuotationNo=" + QuotationNo + "&" + Math.random(),
|
|
type: "post",
|
|
data: data,
|
|
dataType: "json",
|
|
contentType: false,
|
|
processData: false,
|
|
success: function (data) {
|
|
debugger;
|
|
if (data.state == "success") {
|
|
$.modalMsg(data.message, data.state);
|
|
$("#fileName").val(fileName);
|
|
//$.currentWindow().$("#gridList").trigger("reloadGrid");
|
|
}
|
|
else {
|
|
$.modalAlert("异常:" + data.message, data.state);
|
|
}
|
|
}
|
|
});
|
|
|
|
}
|
|
}
|
|
fileName = fileName.substring(0, fileName.length - 1);
|
|
let arr1 = fileName.split(";");
|
|
for (var k = 0; k < arr1.length; k++) {
|
|
innerhtml += " <a href='../../../File/VendorFile/" + UserCode + "/" + QuotationNo + "/" + arr1[k] + "' download='" + arr1[k] + "' style='color:blue;'>" + arr1[k] + "</a>";
|
|
}
|
|
$("#hidbtn").html(innerhtml);
|
|
// }
|
|
//});
|
|
var file = document.getElementById('FileUp');
|
|
file.value = "";
|
|
}
|
|
|
|
|
|
function btn_refuse() {
|
|
debugger;
|
|
// $("#gridList").find($("td[aria-describedby='gridList_rn']")).click();//提交取消编辑状态
|
|
var ids = $("#gridList").jqGrid('getGridParam', 'selarrrow'); //获取 多行数据
|
|
if (ids.length != 1) {
|
|
$.modalAlert("请选择一行数据进行拒绝报价!");
|
|
return;
|
|
}
|
|
|
|
for (var i in ids) {
|
|
var VENDORREJECTREASON = $("#gridList").jqGrid('getRowData', ids[i]).VENDORREJECTREASON;
|
|
if (VENDORREJECTREASON == '') {
|
|
$.modalAlert("请先填写拒绝原因!");
|
|
return;
|
|
}
|
|
$("#gridList").jqGrid('setCell', ids[i], "QUOSTATUS", 'VendorCheck');
|
|
$("#gridList").jqGrid("setCell", ids[i], 'QUOPRICE', 0, 'not-editable-cell');
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
function btnSave() {
|
|
$("#gridList").find($("td[aria-describedby='gridList_rn']")).click();
|
|
debugger;
|
|
var msg = '';
|
|
var PURCHUGNAME = $("#txt_PURCHUGNAME").val();//采购组织
|
|
var RFQCODE = $("#txt_RFQCODE").val();//询价单号
|
|
var RFQNAME = $("#txt_RFQNAME").val();//询价单名称
|
|
var ITEMTYPE = $("#txt_ITEMTYPE").val();//物料类型
|
|
var PURCHUGNAME = $("#txt_PURCHUGCODE").val();//采购组
|
|
var MEMO = $("#F_VENDORMEMO").val();//备注
|
|
var VENDORCODE = $("#sel_VenCode").val();//供应商代码
|
|
var cVenName = $("#txt_cVenName").val();//供应商名称
|
|
var VENDORTYPE = $("#txt_VENDORTYPE").val();//供应商类型
|
|
var CURRENCY = $("#txt_CURRENCY").val();//币种
|
|
var TAXRATE = $("#txt_TAXRATECODE").val();//税率
|
|
var PAYMENTCONDITION = $("#txt_paymentClause").val();//付款条件
|
|
var QuotationNo = $("#txt_QUOTATIONCODE").val();//报价单号
|
|
var COMPANYCODE = $("#COMPANYCODE").val();//公司代码
|
|
var Description = $("#F_Description").val();//税率
|
|
var GYSFile = $("#fileName").val();//文件名称
|
|
var HASCOSTDETAILS = $("#Sel_HASCOSTDETAILS").val();//是否上传成本
|
|
if (Description == '') {
|
|
$.modalAlert("请填写税率!", "warning");
|
|
return false;
|
|
}
|
|
var regexTax = /^(?:100|\d{1,2})$/;
|
|
if (!regexTax.test(Description)) {
|
|
$.modalMsg("税率不符合规则!", "warning");
|
|
return;
|
|
}
|
|
if (!$.isNumeric(Description)) {
|
|
$.modalAlert("您所填写的税率不是数字,请重新填写!", "warning");
|
|
return false;
|
|
}
|
|
|
|
|
|
|
|
var Details = [];
|
|
var obj = [];
|
|
var gridListAdd_Item1 = $("#gridList");
|
|
var rowIds_gridListAdd = gridListAdd_Item1.getDataIDs();
|
|
var arrayData_Item1 = new Array();
|
|
if (rowIds_gridListAdd.length > 0) {
|
|
for (var i = 0; i < rowIds_gridListAdd.length; i++) {
|
|
var RowData_Item1 = gridListAdd_Item1.getRowData(rowIds_gridListAdd[i]);
|
|
if (HASCOSTDETAILS == 1) {
|
|
if (GYSFile == "" && GYSFile == '') {
|
|
$.modalAlert("请上传物料成本明细!", "warning");
|
|
return false;
|
|
}
|
|
|
|
}
|
|
//if (RowData_Item1.LoadQUOPRICE != '') {
|
|
// if (Number(RowData_Item1.QUOPRICE) > Number(RowData_Item1.LoadQUOPRICE)) {
|
|
// $.modalAlert("所填报价不可大于上一次提交价格", "warning");
|
|
// return false;
|
|
// }
|
|
//}
|
|
var regex = /^(0|[1-9]\d*)(\.\d+)?$/;
|
|
if (!regex.test(RowData_Item1.QUOPRICE)) {
|
|
$.modalAlert("单价请输入有效数字!");
|
|
return;
|
|
}
|
|
if (RowData_Item1.QUOPRICE < 0) {
|
|
$.modalAlert("请输入大于0的单价!");
|
|
return;
|
|
}
|
|
if (RowData_Item1.MinPackQuantity == "") {
|
|
$.modalAlert("请输入最小包装量!");
|
|
return;
|
|
}
|
|
|
|
if (RowData_Item1.MOQ == "") {
|
|
$.modalAlert("请输入最小起定量!");
|
|
return;
|
|
}
|
|
|
|
|
|
if (RowData_Item1.ADDITION1 == "") {
|
|
$.modalAlert("请输入货期!");
|
|
return;
|
|
}
|
|
if (RowData_Item1.VenFullName == "") {
|
|
$.modalAlert("请输入供应商全称!");
|
|
return;
|
|
}
|
|
if (RowData_Item1.Purchaser == "") {
|
|
$.modalAlert("请输入采购员!");
|
|
return;
|
|
}
|
|
if (RowData_Item1.Origin == "") {
|
|
$.modalAlert("请输入产地!");
|
|
return;
|
|
}
|
|
//if (RowData_Item1.DailyMetalPrices == "") {
|
|
// $.modalAlert("请输入当日金属价格!");
|
|
// return;
|
|
//}
|
|
if (RowData_Item1.QUOPRICE == "") {
|
|
msg += "" + RowData_Item1.ITEMCODE + ","
|
|
}
|
|
var objs = {
|
|
ID: RowData_Item1.ID,
|
|
EnquiryID: RowData_Item1.EnquiryID,//询价单明细ID
|
|
ITEMCODE: RowData_Item1.ITEMCODE,//物料代码
|
|
INVNAME: RowData_Item1.INVNAME,//物料名称
|
|
//ITEMTYPE: RowData_Item1.ITEMTYPE,//物料类别
|
|
INVSTD: RowData_Item1.INVSTD,//物料规格
|
|
RFQITEMREFERCODE: RowData_Item1.RFQITEMREFERCODEName,//规格文件说明
|
|
UNIT: RowData_Item1.UNIT,//单位
|
|
QUOSTATUS: RowData_Item1.QUOSTATUS,//报价状态
|
|
REQUESTQUANTITY: RowData_Item1.REQUESTQUANTITY,//预计需求数量
|
|
// REFERPRICE: RowData_Item1.REFERPRICE,//参考价格
|
|
QUOBUYERPRICE: RowData_Item1.REFERPRICE,//采购建议变更价格
|
|
QUOPRICE: RowData_Item1.QUOPRICE,//报价
|
|
// VENDORREJECTREASON: RowData_Item1.VENDORREJECTREASON,//拒绝原因
|
|
COSTDETAILSREFERCODE: RowData_Item1.COSTDETAILSREFERCODEName,//成本明细
|
|
TotalPrice: RowData_Item1.TotalPrice,//报价总价
|
|
VENDORMEMO: RowData_Item1.VENDORMEMO,//供方备注
|
|
ADDITION1: RowData_Item1.ADDITION1,//期货
|
|
EATTRIBUTE20: RowData_Item1.UnitQUOPRICE,
|
|
EATTRIBUTE21: RowData_Item1.TaxAmount,
|
|
EATTRIBUTE22: RowData_Item1.Currency,
|
|
EATTRIBUTE23: RowData_Item1.MinPackQuantity,
|
|
EATTRIBUTE24: RowData_Item1.MOQ,
|
|
EATTRIBUTE25: RowData_Item1.VenFullName,
|
|
EATTRIBUTE26: RowData_Item1.Purchaser,
|
|
EATTRIBUTE27: RowData_Item1.Origin,
|
|
EATTRIBUTE28: RowData_Item1.DailyMetalPrices,
|
|
EATTRIBUTE29: RowData_Item1.ProcessingFee,
|
|
};
|
|
Details.push(objs);
|
|
}
|
|
var obja = {
|
|
QuotationNo: QuotationNo,
|
|
WorkPoint:WorkPoint,
|
|
PURCHUGNAME: PURCHUGNAME,
|
|
RFQCODE: RFQCODE,
|
|
RFQNAME: RFQNAME,
|
|
ITEMTYPE: ITEMTYPE,
|
|
PURCHUGNAME: PURCHUGNAME,
|
|
MEMO: MEMO,
|
|
GYSFile: GYSFile,
|
|
VENDORCODE: VENDORCODE,
|
|
cVenName: cVenName,
|
|
VENDORTYPE: VENDORTYPE,
|
|
CURRENCY: CURRENCY,
|
|
TAXRATE: TAXRATE,
|
|
PAYMENTCONDITION: PAYMENTCONDITION,
|
|
Description: Description,
|
|
COMPANYCODE: COMPANYCODE,
|
|
Details: Details,
|
|
};
|
|
obj.push(obja);
|
|
}
|
|
if (msg == "") {
|
|
//$.modalConfirm("请仔细核对单价,提交后不能撤回或高于本次提交价格!", function (r) {
|
|
// if (r) {
|
|
$.submitForm({
|
|
url: "/SRM/PriceInquiry/SaveQuotationByPN" + "?" + Math.random(),
|
|
param: {
|
|
keyValue: JSON.stringify(obj)
|
|
},
|
|
success: function () {
|
|
debugger;
|
|
$.currentWindow().$("#gridList").trigger("reloadGrid");
|
|
}
|
|
})
|
|
// }
|
|
//});
|
|
} else {
|
|
$.modalAlert("物料编码" + msg + "未报价请查看!", "warning");
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
function DownLoadClick(url) {
|
|
debugger;
|
|
if (url == "") {
|
|
$.modalAlert('模板暂未维护无法下载,请联系管理员!');
|
|
return;
|
|
}
|
|
window.open(url);
|
|
}
|
|
|
|
//导出
|
|
function btn_export() {
|
|
var postData = "&keyValue=1";
|
|
if (RFQCODE != null && RFQCODE != "") {
|
|
postData = "&RFQCODE=" + RFQCODE
|
|
}
|
|
if (WorkPoint != null && WorkPoint != "") {
|
|
postData += "&WorkPoint=" + WorkPoint
|
|
}
|
|
|
|
$.download("/SRM/QuotedPrice/ExportAll" + "?" + Math.random(), postData, 'post');
|
|
}
|
|
function btn_import() {
|
|
$("#FileUpImport").click();
|
|
}
|
|
|
|
function btnUpLoad(up) {
|
|
debugger;
|
|
var BidCode = $("#txtBidCode").val();
|
|
var GUID = $("#txtID").val();
|
|
var WorkPoint = $("#sel_WorkPoint option:checked").val();
|
|
var form = new FormData(document.getElementById("form1"));
|
|
$.ajax({
|
|
url: "/SRM/QuotedPrice/GetICSImport?" + Math.random(),
|
|
type: "post",
|
|
data: form,
|
|
contentType: false,
|
|
processData: false,
|
|
dataType: "json",
|
|
success: function (data) {
|
|
debugger;
|
|
if (data.length > 0) {
|
|
for (var k = 0; k < data.length; k++) {
|
|
var obj_Item1 = $("#gridList");
|
|
var rowIds_Item1 = obj_Item1.getDataIDs();
|
|
if (rowIds_Item1.length > 0) {
|
|
for (var i = 0; i < rowIds_Item1.length; i++) {
|
|
var RowData_Item1 = obj_Item1.getRowData(rowIds_Item1[i]);
|
|
if (data[k].ID == rowIds_Item1[i]) {
|
|
if (data[k].报价 > RowData_Item1.QUOPRICE) {
|
|
$.modalAlert("所填报价不可大于上一次提交价格");
|
|
return;
|
|
} else {
|
|
$("#gridList").jqGrid('setCell', data[k].ID, "QUOPRICE", data[k].报价);
|
|
$("#gridList").jqGrid('setCell', data[k].ID, "ADDITION1", data[k].货期);
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
},
|
|
error: function (aa) {
|
|
alert("上传失败:" + aa);
|
|
}
|
|
});
|
|
document.getElementById("FileUpImport").value = "";
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
|
<form id="form1">
|
|
|
|
<div class="topPanel" style="height:295px">
|
|
<div class="toolbar">
|
|
<div class="btn-group">
|
|
<input id="FileUpImport" name="FileUpImport" type="file" style="display:none;" accept=".csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" onchange="btnUpLoad(this)" />
|
|
<a id="NF-updateASN" authorize="yes" style="margin-left:3px; margin-top:60px;" class="btn btn-info" onclick="btnSave()"><i class="fa fa-pencil-square-o"></i>发布报价</a>
|
|
<a id="NF_export" authorize="yes" style="margin-left: 3px; margin-top: 60px;" class="btn btn-info" onclick="btn_export()"><i class="fa fa-pencil-square-o"></i>导出</a>
|
|
<a id="NF-import" authorize="yes" style="margin-left:3px; margin-top:60px;" class="btn btn-info" onclick="btn_import()"><i class="fa fa-pencil-square-o"></i>导入</a>
|
|
|
|
</div>
|
|
<div class="btn-group" style="display:block;padding-left:2px;">
|
|
<a id="NF-CreateASN1" authorize="yes" style="margin-left:3px; margin-top:10px;" class="btn btn-info" onclick="DownLoadClick('../../../../File/报价模板.xls')" download="报价模板.xlsx"><i class="fa fa-pencil-square-o"></i>下载成本明细模板</a>
|
|
<a class="btn btn-info" style="margin-left:3px; margin-top:10px;" onclick="$.reload()"><span class="glyphicon glyphicon-refresh"></span></a>
|
|
@*<a id="NF-deleteASN3" authorize="yes" style="margin-left:10px; margin-top:10px;" class="btn btn-primary" onclick="btn_back()"><i class="fa fa-pencil-square-o"></i>返回</a>*@
|
|
</div>
|
|
</div>
|
|
<div class="search">
|
|
<table>
|
|
<tr>
|
|
<td class="txtInquiry" colspan="1" style="color:gray;line-height:25px;height:25px"><span>询价单信息</span></td>
|
|
</tr>
|
|
@*第一行*@
|
|
<tr>
|
|
<!--<td>
|
|
<label> 采购组织:</label>
|
|
</td>
|
|
<td>
|
|
<div class="input-group">
|
|
<input id="txt_PURCHUGNAME" type="text" class="form-control" placeholder="采购组织" style="width: 150px;" readonly="readonly">
|
|
<input type="hidden" id="COMPANYCODE" />-->
|
|
@*公司代码*@
|
|
<!--</div>
|
|
</td>
|
|
<td>
|
|
<label> 采购负责人:</label>
|
|
</td>
|
|
<td>
|
|
<div class="input-group">
|
|
<input id="txt_PURCHUGCODE" type="text" class="form-control" placeholder="采购负责人" style="width: 150px;" readonly="readonly">
|
|
</div>
|
|
</td>-->
|
|
<td>
|
|
<label> 询价单号:</label>
|
|
</td>
|
|
<td>
|
|
<div class="input-group">
|
|
<input id="txt_RFQCODE" type="text" class="form-control" placeholder="询价单号" style="width: 150px;" readonly="readonly">
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<label> 询价单名称:</label>
|
|
</td>
|
|
<td>
|
|
<div class="input-group">
|
|
<input id="txt_RFQNAME" type="text" class="form-control" placeholder="询价单名称" style="width: 150px;" readonly="readonly">
|
|
</div>
|
|
</td>
|
|
<td style="display:none">
|
|
<label> 付款条件:</label>
|
|
</td>
|
|
<td style="display:none">
|
|
|
|
<div class="input-group">
|
|
<input id="txt_paymentClause" type="text" class="form-control" placeholder="付款条件" style="width: 150px;" readonly="readonly">
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<label> 是否需上传成本明细:</label>
|
|
</td>
|
|
@*<th class="formTitle">
|
|
是否需上传成本明细:
|
|
</th>*@
|
|
<td class="formValue" style="width:100px">
|
|
<select id="Sel_HASCOSTDETAILS" name="Sel_HASCOSTDETAILS" class="select2 form-control " placeholder="是否需上传成本明细.." style="width:32px;" disabled="disabled"></select>
|
|
</td>
|
|
<td>
|
|
<label> 备注:</label>
|
|
</td>
|
|
<td>
|
|
<div class="input-group">
|
|
<input id="F_VENDORMEMO" type="text" class="form-control" placeholder="备注" style="width: 150px;" readonly="readonly">
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
@*第二行*@
|
|
|
|
<tr style="display:none">
|
|
<td>
|
|
<label> 供应商代码:</label>
|
|
</td>
|
|
<td class="formValue">
|
|
<div class="input-group">
|
|
<input id="sel_VenCode" type="text" class="form-control" placeholder="供应商代码" style="width: 150px;" readonly="readonly">
|
|
</div>
|
|
</td>
|
|
|
|
<td>
|
|
<label> 供应商名称:</label>
|
|
</td>
|
|
<td>
|
|
<div class="input-group">
|
|
|
|
<input id="txt_cVenName" type="text" class="form-control" placeholder="供应商名称" style="width: 150px;" readonly="readonly">
|
|
</div>
|
|
</td>
|
|
|
|
<td>
|
|
<label> 供应商类型:</label>
|
|
</td>
|
|
<td>
|
|
|
|
<div class="input-group">
|
|
<input id="txt_VENDORTYPE" type="text" class="form-control" placeholder="供应商类型" style="width: 150px;" readonly="readonly">
|
|
</div>
|
|
</td>
|
|
|
|
|
|
<td>
|
|
<label> 物料类型:</label>
|
|
</td>
|
|
<td>
|
|
<div class="input-group">
|
|
<input id="txt_ITEMTYPE" type="text" class="form-control" placeholder="物料类型" style="width: 150px;" readonly="readonly">
|
|
</div>
|
|
</td>
|
|
|
|
<td>
|
|
<label> 币种:</label>
|
|
</td>
|
|
<td>
|
|
<div class="input-group">
|
|
<input id="txt_CURRENCY" type="text" class="form-control" placeholder="币种" style="width: 150px;" readonly="readonly">
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<label> 税率(%):</label>
|
|
</td>
|
|
<td>
|
|
<div class="input-group">
|
|
<input id="txt_TAXRATECODE" type="text" class="form-control" placeholder="税率" style="width: 150px;" readonly="readonly">
|
|
</div>
|
|
</td>
|
|
|
|
</tr>
|
|
<tr>
|
|
<td class="txtInquiry" colspan="1" style="color:gray;line-height:25px;height:25px"><span>报价单信息</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<label> 报价单代码:</label>
|
|
</td>
|
|
<td>
|
|
<div class="input-group">
|
|
<input id="txt_QUOTATIONCODE" type="text" class="form-control" placeholder="报价单代码" style="width: 150px;" readonly="readonly">
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<label> 报价单日期:</label>
|
|
</td>
|
|
<td>
|
|
<div class="input-group">
|
|
@*<input type="text" name="txt_BeginDate" id="txt_BeginDate" class="form-control" style="width: 100px;" readonly="readonly" maxlength="10" onclick="WdatePicker({ dateFmt: 'yyyy-MM-dd' })" placeholder="报价单日期" />*@
|
|
<input id="txt_BeginDate" type="text" class="form-control" placeholder="报价日期" style="width: 150px;" readonly="readonly">
|
|
</div>
|
|
</td>
|
|
|
|
<td>
|
|
<label> 税率(%):</label>
|
|
</td>
|
|
<td colspan="5">
|
|
<div class="input-group">
|
|
<textarea id="F_Description" name="F_Description" class="form-control" style="height: 30px;width:150px"></textarea>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<label> 询价附件:</label>
|
|
</td>
|
|
<td class="formValue" colspan="3">
|
|
<div id="hidbtnSSORE" style=" border: 1px #edeff3 solid"></div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<label> 附件名称:</label>
|
|
</td>
|
|
<td class="formValue" colspan="3">
|
|
@*<input id="fileName" name="fileName" class="form-control" readonly="readonly" style="width:600px" />*@
|
|
<input id="fileName" name="fileName" style="display:none">
|
|
<div id="hidbtn" style=" border: 1px #edeff3 solid"></div>
|
|
</td>
|
|
<td class="formValue">
|
|
<input id='FileUp' type='file' style="display: none" onchange="UpLoadFile(this)" multiple="multiple" />
|
|
<button id="btn_FileUp" class="btn btn-info" type="button" onclick="UpLoadFiles(this)">上传报价明细</button>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="gridPanel" id="gridPanel">
|
|
<table id="gridList"></table>
|
|
<div id="gridPager"></div>
|
|
</div>
|
|
|
|
</form>
|