@ -16,6 +16,61 @@
img[src=""] {
img[src=""] {
visibility: hidden;
visibility: hidden;
}
}
.product-box{
width: 100%;
display: flex;
justify-content: flex-start;
align-items: center;
}
.product-box a{
text-align: left;
padding: 0 4px;
}
.receipt {
width: 540px;
margin: 0;
padding: 10px 30px;
box-shadow: none;
font-family: "Microsoft YaHei", sans-serif;
background: #fff;
}
.receipt .product-image {
width: 200px;
margin: 0 auto 20px;
display: block;
}
.receipt .info-section {
border-top: 2px solid #f0f0f0;
padding-top: 20px;
}
.receipt .product-details, .customer-info {
margin-bottom: 20px;
line-height: 2;
}
.receipt .product-details p, .customer-info p {
color: #666;
margin: 8px 0;
font-size: 14px;
font-weight: normal;
}
.receipt .product-details span, .customer-info span {
color: #000;
font-weight: 500;
margin-left: 10px;
font-size: 16px;
}
.receipt .product-details{
position: relative;
}
.receipt .product-image{
position: absolute;
right: 0;
top: 65px;
width: 150px;
height: auto;
}
</style>
</style>
<script src="https://cdn.jsdelivr.net/npm/jsbarcode@3.11.5/dist/JsBarcode.all.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jsbarcode@3.11.5/dist/JsBarcode.all.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.7.1/jszip.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.7.1/jszip.min.js"></script>
@ -85,14 +140,10 @@
//#region 初始化DataGrid
//#region 初始化DataGrid
function CreateDataGrid() {
function CreateDataGrid() {
col = new nblf.ui.DataGridColumn();
col.HeaderText = "Image";
col.CellTemplate = "<img src='{Bind firstImg}' alt='' width='50px' height='50px'/>";
Array.add(datagrid1.Columns, col);
var col = new nblf.ui.DataGridColumn();
var col = new nblf.ui.DataGridColumn();
col.HeaderText = "SKU";
col.HeaderText = "SKU";
col.CellTemplate = "<span>{Bind SkuCode}</span>";
col.Width = "150px";
col.CellTemplate = `<div class="product-box"><img src='{Bind firstImg}' alt='' width='50px' height='50px'/><a style="cursor: pointer;" onclick="LinkGoods({Bind SkuId})">{Bind SkuCode}</a></diav>`;
col.SortExpression = "c.SkuCode";
col.SortExpression = "c.SkuCode";
Array.add(datagrid1.Columns, col);
Array.add(datagrid1.Columns, col);
@ -102,6 +153,11 @@
col.SortExpression = "c.BarCode";
col.SortExpression = "c.BarCode";
Array.add(datagrid1.Columns, col);
Array.add(datagrid1.Columns, col);
col = new nblf.ui.DataGridColumn();
col.HeaderText = "Photo";
col.CellTemplate = "<img src='{Bind firstImg}' alt='' width='50px' height='50px'/>";
Array.add(datagrid1.Columns, col);
var col = new nblf.ui.DataGridColumn();
var col = new nblf.ui.DataGridColumn();
col.HeaderText = "PositionCode";
col.HeaderText = "PositionCode";
col.CellTemplate = "<span>{Bind WarehousePositionCode}</span>";
col.CellTemplate = "<span>{Bind WarehousePositionCode}</span>";
@ -145,39 +201,47 @@
};
};
Array.add(datagrid1.Columns, col);
Array.add(datagrid1.Columns, col);
var col = new nblf.ui.DataGridColumn();
col.HeaderText = "PublishMessage";
col.CellTemplate = "<span>{Bind PublishMessage}</span>";
col.SortExpression = "c.PublishMessage";
Array.add(datagrid1.Columns, col);
var col = new nblf.ui.DataGridColumn();
col.HeaderText = "OrderDetail";
col.CellTemplate = "<span>{Bind OrderDetail}</span>";
col.CellFormatter = function (order) {
var str = "";
if(order){
str += `<div>订单号:</div>`
str += `<div>收件人:</div>`
str += `<div>手机号:</div>`
str += `<div>地址:</div>`
}
return str;
}
Array.add(datagrid1.Columns, col);
//操作
//操作
col = new nblf.ui.DataGridColumn();
col = new nblf.ui.DataGridColumn();
col.HeaderText = "操作";
col.HeaderText = "操作";
col.Width = "200px";
col.Width = "100px";
// col.CellFormatter = function (value) {
col.CellTemplate = "{Bind Status}";
// var OptionStr = "<input CommandName='showDetail' class='btnClass dgbtnEdit' type='button' value='详情'></input> ";
col.CellFormatter = function (value) {
// switch (value) {
var OptionStr = "";
// case 0:
switch (value) {
// OptionStr += "<input CommandName='StartPutaway' class='btnClass dgbtnEdit' type='button' value='上架'></input> ";
case 1:
// OptionStr += "<input CommandName='EndBuy' class='btnClass dgbtnEdit' type='button' value='已卖出'></input> ";
OptionStr += "<input onclick='UploadGoods(this)' class='btnClass dgbtnEdit' type='button' value='上架产品'></input>";
// return OptionStr;
break;
// case 1:
case 2:
// OptionStr += "<input CommandName='StartPutaway' class='btnClass dgbtnEdit' type='button' value='上架信息修改'></input> ";
OptionStr += "<input onclick='DownloadReceipt(this)' class='btnClass dgbtnEdit' type='button' value='下载提货单'></input>";
// OptionStr += "<input CommandName='CreateSecongHandBuyerMsg' class='btnClass dgbtnEdit' type='button' value='生成预约单'></input> ";
OptionStr += "<input onclick='DownloadTrackCode(this)' class='btnClass dgbtnEdit' type='button' value='下载快递面单'></input>";
// OptionStr += "<input CommandName='EndBuy' class='btnClass dgbtnEdit' type='button' value='已卖出'></input> ";
OptionStr += "<input onclick='MarkSell(this)' class='btnClass dgbtnEdit' type='button' value='标记卖出'></input>";
// return OptionStr;
}
// case 2:
return OptionStr;
// OptionStr += "<input CommandName='LookSecongHandBuyerMsg' class='btnClass dgbtnEdit' type='button' value='查看预约单'></input> ";
}
// OptionStr += "<input CommandName='CancelSecongHandBuyerMsg' class='btnClass dgbtnEdit' type='button' value='取消预约单'></input> ";
// OptionStr += "<input CommandName='CreateImage' class='btnClass dgbtnEdit' type='button' value='生成客户提货图片'></input> ";
// OptionStr += "<input CommandName='EndBuy' class='btnClass dgbtnEdit' type='button' value='已卖出'></input> ";
// return OptionStr;
// case 3: return OptionStr;
// default:
// OptionStr += "<input CommandName='StartPutaway' class='btnClass dgbtnEdit' type='button' value='上架'></input> ";
// OptionStr += "<input CommandName='EndBuy' class='btnClass dgbtnEdit' type='button' value='已卖出'></input> ";
// return OptionStr;
// }
// };
Array.add(datagrid1.Columns, col);
Array.add(datagrid1.Columns, col);
datagrid1.SetPageSize(50);
datagrid1.SetPageSize(50);
datagrid1.SetPageIndex(1);
datagrid1.SetPageIndex(1);
@ -256,63 +320,21 @@
}
}
function GetExcelData() {
//#endregion
var param = new Object();
//#region 跳转到商品详情
param.IsDetail = 0;
function LinkGoods(GoodsId) {
if ($("#chk_pp").is(':checked') == true)
window.open(`https://www.kferp.net/HuoWu/HW_GoodsAddForTM.aspx?GoodsId=${GoodsId}`);
param.IsDetail = 1;
}
if ($("#select_plat").find("option").length > 0)
//#endregion
param.PlatType = $("#select_plat").val();
else
param.PlatType = 0;
if ($("#select_shop").find("option").length > 0)
param.ShopId = $("#select_shop").val();
else
param.ShopId = 0;
if ($("#txt_days").val() != "")
param.OutDays = $("#txt_days").val();
else
param.OutDays = 0;
param.DateType = $("#select_rqlx").val();
param.SDate = null;
if ($("#txt_SDate").val() != "")
param.SDate = $("#txt_SDate").val();
param.EDate = null;
if ($("#txt_EDate").val() != "")
param.EDate = $("#txt_EDate").val();
param.TjType = $("#select_tj").val();
param.Name = $("#txt_Name").val();
param.MateState = $("#select_ppstate").val();
param.State = $("#select_fhstate").val();
param.PrintState = $("#select_printstate").val();
param.IsSku = 0;
param.MoneyState = $("#select_moneystate").val();
if ($("#chk_sku").is(':checked') == true)
param.IsSku = 1;
param.IsError = 0;
if ($("#chk_yc").is(':checked') == true)
param.IsError = 1;
param.HBOrder = 0;
if ($("#chk_hb").is(':checked') == true)
param.HBOrder = 1;
var fname = "订单导出.xls";
WindowLoadModel.Show();
$.ajax({
url: "DD_OrderService.asmx/ExcelOrderData",
data: Sys.Serialization.JavaScriptSerializer.serialize(param),
async: false,
success: function (data) {
WindowLoadModel.Hide();
params = { FilePath: data.d, FileName: fname };
window.location = "../GlobalAshx/DownFile.ashx?" + jQuery.param(params);
}
});
//#region 日期格式转换
function formatDate(date) {
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
return `${year}-${month}-${day}`;
}
}
//#endregion
//#endregion
@ -359,16 +381,32 @@
dataType: "json",
dataType: "json",
success: function (data) {
success: function (data) {
WindowLoadModel.Hide();
WindowLoadModel.Hide();
if(data.Code==1){
if(data.d. Code==1){
ReadData();
ReadData();
}else{
}else{
alert(data.Message);
alert(data.d. Message);
}
}
}
}
});
});
}
}
//#endregion
//#endregion
//#region 单个上架产品
function UploadGoods(obj) {
var rowindex = $(obj).parent().parent().attr("index");
var model = datagrid1.Get_Model(rowindex);
var param = {
Ids: [model.Id],
}
$.ajax({
url: "../DD_OrderServiceNew.asmx/OrderUsedSalePlatformPublish",
data: Sys.Serialization.JavaScriptSerializer.serialize(param),
dataType: "json",
});
alert("已开始推送,需要一段时间,请稍后查看推送状态");
}
//#endregion
//#region 批量上架产品
//#region 批量上架产品
function BatUploadGoods(Ids) {
function BatUploadGoods(Ids) {
var param = {
var param = {
@ -456,6 +494,48 @@
return canvas;
return canvas;
}
}
//#endregion
//#endregion
//#region 下载提货单
function DownloadReceipt(obj) {
var rowindex = $(obj).parent().parent().attr("index");
var model = datagrid1.Get_Model(rowindex);
const receiptEl = document.getElementById('receipt');
$('#receipt').show();
const options = {
scale: 2,
useCORS: true,
backgroundColor: '#ffffff',
logging: true,
windowWidth: receiptEl.scrollWidth,
windowHeight: receiptEl.scrollHeight,
scrollX: 0,
scrollY: 0
};
html2canvas(receiptEl, options).then(function(canvas) {
const link = document.createElement('a');
link.download = `pickup_receipt_${model.BarCode}.png`;
link.href = canvas.toDataURL('image/png', 1.0);
link.click();
$('#receipt').hide();
});
}
//#endregion
//#region 下载快递面单
function DownloadTrackCode(obj) {
var rowindex = $(obj).parent().parent().attr("index");
var model = datagrid1.Get_Model(rowindex);
console.log(model)
}
//#endregion
//#region 标记卖出
function MarkSell(obj) {
var rowindex = $(obj).parent().parent().attr("index");
var model = datagrid1.Get_Model(rowindex);
console.log(model)
}
//#endregion
</script>
</script>
</head>
</head>
@ -516,240 +596,27 @@
</tr>
</tr>
</table>
</table>
<div style="display: none">
<!-- 提货单 -->
<div id="StartPutaway" title="货物图片" style="width: 600px; height: 400px;">
<div class="receipt" id="receipt" style="display: none;">
<table width="95%" class="tableAll" border="1" ellspacing="0" cellpadding="2">
<div class="header">
<h3>Pickup Receipt ( <span id="receiptStore">West</span> )</h3>
<tr>
<td style="width: 80px;" class="f1">Second Hand Sale Price:
</td>
<td align="left">
<input id="txt_SecondHandSalePrice" type="text" />
<%-- <input id="txt_tracking_id" type="text" />--%>
</td>
</tr>
<tr>
<td style="width: 80px;" class="f1">OfferUp:
</td>
<td align="left">
<select id="select_offerup" class="selectClass" name="D10" style="width: 120px">
<option value="0">No</option>
<option value="1">Yes</option>
</select>
</td>
</tr>
<tr>
<td style="width: 80px;" class="f1">MaketPlace:
</td>
<td align="left">
<select id="select_maketplace" class="selectClass" name="D10" style="width: 120px">
<option value="0">No</option>
<option value="1">Yes</option>
</select>
</td>
</tr>
<tr>
<td align="center" colspan="2">
<input
id="btn_Save" type="button" class="btnClass btnClassSave" value="SavePutawayMsg" onclick="SavePutawayMsg();" />
</td>
</tr>
</table>
</div>
</div>
<div id="OrderReturnDetail" title="二手货物详情" style="width: 600px; height: 550px;">
<div class="info-section">
<table width="95%" class="tableAll" border="1" ellspacing="0" cellpadding="2">
<div class="product-details">
<tr>
<p>Product Name: <span id="receiptProductName">Power Tower Dip Station Pull Up Bar Workout Equipment, Adjustable Height 62.2" to 84.5", Holds Up to 660LBS</span></p>
<td style="width: 80px;" class="f1">GoodsName: </td>
<p>Product SKU: <span id="receiptProductSKU">SKU123456</span></p>
<td align="left">
<p>Product Code: <span id="receiptProductCode">P789012</span></p>
<input id="txt_GoodsName" type="text" />
<p>Product Price: <span id="receiptProductPrice">$399.00</span></p>
</td>
<img id="receiptProductImage" src="https://cdn.shopify.com/s/files/1/0915/6817/7474/files/KM2739_main.jpg?v=1736757843" alt="Product Image" class="product-image">
</tr>
</div>
<tr>
<td style="width: 80px;" class="f1">GoodsEnglisgName: </td>
<div class="customer-info">
<td align="left">
<p>Customer Name: <span id="receiptCustomerName">John Smith</span></p>
<input id="txt_GoodsEnglisgName" type="text" />
<p>Phone Number: <span id="receiptCustomerPhone">+1 234 567 8900</span></p>
</td>
<p>Appointment Time: <span id="receiptAppointmentTime">2024-03-20 14:30</span></p>
</tr>
</div>
<tr>
<td style="width: 80px;" class="f1">Goods Url: </td>
<td align="left">
<a target='_blank' id="txt_GoodsUrl" style='color:green;margin-left:5px;'></a>
</td>
</tr>
<tr>
<td style="width: 80px;" class="f1">GoodsCode: </td>
<td align="left">
<input id="txt_GoodsCode" type="text" />
</td>
</tr>
<tr>
<td style="width: 80px;" class="f1">Goods Deatil: </td>
<td align="left">
<textarea id="txt_GoodsDeatil" cols="100" rows="2" style="width: 90%;height:150px"></textarea>
<%-- <input id="txt_GoodsDeatil" type="textarea" />--%>
</td>
</tr>
<tr>
<td style="width: 80px;" class="f1"> First Image: </td>
<td colspan="2" align="center">
<img src="" width="280px" height="250px" id="img_1" />
</td>
</tr>
<tr>
<td style="width: 80px;" class="f1">Image List: </td>
<td align="left">
<div id="div_img">
</div>
</td>
</tr>
<tr>
<td style="width: 80px;" class="f1">Link List: </td>
<td align="left">
<div id="div_LinkList">
</div>
</td>
</tr>
<tr>
<td align="center" colspan="2">
<input id="btn_DownloadImage" type="button" class="btnClass btnClassSave" value="Download Image" onclick="DownloadImage();" />
</td>
</tr>
</table>
</div>
<div id="SecongHandBuyerMsg" title="生成预约单信息" style="width: 300px; height: 300px;">
<table width="95%" class="tableAll" border="1" ellspacing="0" cellpadding="2">
<tr>
<td style="width: 80px;" class="f1">Buyer Name: </td>
<td align="left">
<input id="txt_buyer_name" type="text" strly="width:150px"/>
</td>
</tr>
<tr>
<td style="width: 80px;" class="f1">Buyer Phone: </td>
<td align="left">
<input id="txt_buyer_phone" type="text" strly="width:150px"/>
</td>
</tr>
<tr>
<td style="width: 80px;" class="f1">Buyer Time: </td>
<td align="left">
<input id="txt_buyer_time" type="text" strly="width:150px" />
</td>
</tr>
<tr>
<td align="center" colspan="2">
<input id="btn_CreateSecongHandBuyerMsg" type="button" class="btnClass btnClassSave" value="Save" onclick="SaveSecongHandBuyerMsg();" />
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="card" id="card" style="display: none">
<div class="card-bg">
<img class="card-bg1" src="../SecondHandImage/bg1.png" alt="">
<img class="card-bg2" src="../SecondHandImage/bg2.png" alt="">
</div>
<div class="card-header">
<strong>TrackCode: </strong>
<span id="trackCode">-</span>
</div>
<div class="card-body">
<!-- <div class="logo">
<img src="./image/logo.png" alt="">
</div> -->
<div class="goods-info">
<div class="product">
<sapn class="product-title">Product</sapn>
<sapn class="product-text" id="product">-</sapn>
</div>
<div class="price">
<img class="price-icon" src="../SecondHandImage/price.png" alt="">
<sapn class="price-num" id="price">-</sapn>
</div>
</div>
<div class="code">
<div id="qrcode" class="code-img">
</div>
<div class="code-title">verification code</div>
<div class="code-date" id="date"></div>
</div>
<div class="info">
<div class="contact">
<img class="contact-icon" src="../SecondHandImage/contact.png" alt="">
<sapn class="contact-num">
<span id="contactName">-</span>:
<span id="contactPhone">-</span>
</sapn>
</div>
</div>
<div class="address">
<img class="address-icon" src="../SecondHandImage/address.png" alt="">
<sapn class="address-num" id="address">-</sapn>
</div>
</div>
</div>
</div>
<script>
//生成取件码图片
//#region 生成取件码图片
// 初始化二维码
const qrcode = new QRCode("qrcode", {
text: '',
width: 400,
height: 400
});
// 下载取件码图片
function downloadQRCodeImg(obj) {
if (obj.product.length > 22) {
obj.product = obj.product.substring(0, 22) + '...';
}
for (let key in obj) {
$("#" + key).text(obj[key])
}
$("#card").show()
debugger
qrcode.makeCode(obj.trackCode + '')
generateImages(obj.trackCode)
}
// 生成图片
function generateImages(title) {
html2canvas(document.querySelector("#card")).then((canvas) => {
const imgUrl = canvas.toDataURL("image/png", 1);
const image = document.createElement("img");
image.src = imgUrl;
const content = document.createElement("div");
content.appendChild(image);
// 下载图片
const a = document.createElement("a");
a.href = imgUrl;
a.download = title;
a.click();
content.remove();
a.remove();
$("#card").hide()
});
}
//#endregion
</script>
</body>
</body>
</html>
</html>