| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354 |
- <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage/ErpView.master" AutoEventWireup="true" CodeFile="PddDelivered.aspx.cs" Inherits="EDelivery_PddDelivered" %>
- <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
- <script type="text/javascript" src="js/pddPrintBill.js?v=<%=SiteVer %>"></script>
- <script type="text/javascript" src="js/PddDelivered.js?v=<%=SiteVer %>"></script>
- +
- <script src="../js/alioss.js"></script>
- </asp:Content>
- <asp:Content ID="Content2" ContentPlaceHolderID="btn" runat="Server">
- <table style="width: 100%;">
- <tr>
- <td style="width: 80%;">
- <a id="id_sysWaybillBtn" class="mini-button mini-button-warning" style="padding: 2px 5px 2px 5px;" iconcls="icon-print" onclick="waybillFn()">拼多多打单</a>
- <a id="id_assignSupplier" runat="server" visible="false" class="mini-button mini-button-primary" style="padding: 2px 5px 2px 5px;" iconcls="icon-downgrade" onclick="assignSupplierFn()">供应商指派</a>
- <a class="mini-button mini-button-danger" style="padding: 2px 5px 2px 5px;" iconcls="icon-print" onclick="CNwaybillFn()">菜鸟打单</a>
- <a class="mini-button mini-button-primary" style="padding: 2px 5px 2px 5px;" iconcls="icon-folder" onclick="returnOrderFn()">打回</a>
- <a id="id_export" runat="server" visible="false" class="mini-button mini-button-primary" style="padding: 2px 5px 2px 5px;" iconcls="icon-folder" onclick="multiExport()">导出</a>
- </td>
- </tr>
- </table>
- </asp:Content>
- <asp:Content ID="Content4" ContentPlaceHolderID="content" runat="Server">
- <div class="mini-fit">
- <div id="m_grid" class="mini-datagrid" style="width: 100%; height: 100%;" showemptytext="true" contextmenu="#gridMenu" emptytext="暂无记录" url="../handler/sync.ashx?t=get_erp_pdddeliveryed">
- <div property="columns">
- <div type="indexcolumn" width="20"></div>
- <div type="checkcolumn" width="20"></div>
- <div field="ctid" width="110" align="center" headeralign="center" renderer="orderIdRenderer">订单编号</div>
- <div field="pay_time" width="80" align="center" headeralign="center" renderer="orderPTimeRenderer">付款时间</div>
- <%--<div id="id_waitDelv_payment" field="payment" runat="server" visible="false" width="40" align="center" headeralign="center">金额</div>--%>
- <div field="seller_memo" width="150" align="center" headeralign="center" renderer="memoRenderer">备注</div>
- <div field="OtherMemo" id="id_othermemo" runat="server" visible="false" width="100" align="center" headeralign="center">额外备注</div>
- <%--<div field="Img" width="30" align="center" headeralign="center" renderer="ImgRenderer">图片</div>--%>
- <div field="receiver_address" width="130" align="center" headeralign="center" renderer="addressRenderer">收货地址</div>
- <div field="SupplierName" width="60" align="center" headeralign="center" renderer="orderCusRenderer">供应商</div>
- <div field="OrderState" width="50" align="center" headeralign="center" renderer="orderStatusRenderer">状态</div>
- <div field="FinishPlaceTime" width="60" dateformat="yyyy-MM-dd HH:mm" align="center" headeralign="center">下单时间</div>
- <div field="delivery_time" width="80" align="center" headeralign="center" renderer="deliveryTimeRenderer">发货时间</div>
- <div field="OutSid" width="50" align="center" headeralign="center">快递信息</div>
- <div field="OutSid" width="50" align="center" headeralign="center" renderer="changeDeliveryRenderer">修改快递信息</div>
- <div field="receiver_zip" width="50" align="center" headeralign="center">身份证</div>
- <div name="action" width="60" headeralign="center" align="center" renderer="actionRenderer" cellstyle="padding:0;">#</div>
- </div>
- </div>
- </div>
- <ul id="gridMenu" class="mini-contextmenu" onbeforeopen="onBeforeOpen">
- <li name="edit" iconcls="icon-copy" onclick="onCopyOrder">复制单号</li>
- <li name="edit" iconcls="icon-copy" onclick="onCopyBuyerNick">复制旺旺号</li>
- </ul>
- <div id="delivery_win" class="mini-window" title="指派供应商" style="width: 550px; height: 350px; position: relative; display: none">
- <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
- <tr>
- <td class="td1">发货方式</td>
- <td class="td2" colspan="3">
- <select id="txtDeliveryType" style="width: 80%;">
- <option value="物流发货">物流发货</option>
- <option value="虚拟发货">虚拟发货</option>
- </select>
- </td>
- </tr>
- <tr>
- <tr>
- <td class="td1">运单号</td>
- <td class="td2">
- <input type="text" id="txtTransNo" /></td>
- </tr>
- </tr>
- <tr>
- <td class="td1">物流公司</td>
- <td class="td2" colspan="3">
- <input id="txtComName" class="mini-combobox" style="width: 80%;" textfield="name" valuefield="cpCode" onvaluechanged="onBillComChanged" url="../handler/sync.ashx?t=get_sel_mail" />
- </td>
- </tr>
- <tr>
- <td class="td1">备注</td>
- <td class="td2" colspan="3">
- <textarea id="txtdeliveryMemo" style="width: 96%; height: 60px;"></textarea></td>
- </tr>
- <tr>
- <td colspan="4">
- <div class="win_btn" style="text-align: center;">
- <a class="mini-button" iconcls="icon-ok" onclick="saveDeliveryFn">保存</a>
- <a class="mini-button" iconcls="icon-cancel" onclick="cancelDeliveryFn">取消</a>
- </div>
- </td>
- </tr>
- </table>
- </div>
- <div id="waybill_win" class="mini-window" title="拼多多打单" style="width: 550px; height: 250px; position: relative; display: none">
- <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
- <tr>
- <td class="td1">物流公司</td>
- <td class="td2" colspan="3">
- <input id="txtBillCom" class="mini-combobox" style="width: 80%;" textfield="name" valuefield="cpCode" onvaluechanged="onBillComChanged" url="../handler/sync.ashx?t=get_sel_pddmail" />
- </td>
- </tr>
- <%--<tr>
- <td class="td1">快递模板</td>
- <td class="td2" colspan="3">
- <input id="txtBillModel" class="mini-combobox" style="width: 80%;" textfield="name" valuefield="id" />
- </td>
- </tr>--%>
- <tr>
- <td class="td1">打印机</td>
- <td class="td2" colspan="3">
- <input id="txtBillPrinter" class="mini-combobox" style="width: 80%;" textfield="name" valuefield="name" required="true" allowinput="true" valuefromselect="true" onvaluechanged="onBillPrinterChanged" />
- </td>
- </tr>
- <tr>
- <td colspan="4">
- <div class="win_btn" style="text-align: center;">
- <a id="id_saveWaybillBtn" class="mini-button" iconcls="icon-ok" onclick="saveWaybillFn">打印面单</a>
- <a class="mini-button" iconcls="icon-cancel" onclick="cancelWaybillFn">取消</a>
- </div>
- </td>
- </tr>
- </table>
- </div>
- <div id="waybill_win_CN" class="mini-window" title="菜鸟打单(订单号带N,且有收货地址)" style="color: orangered; width: 550px; height: 300px; position: relative; display: none">
- <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
- <tr>
- <td colspan="4" style="color: red;">温馨提示:此打单方式必须有完整收货地址和电话</td>
- </tr>
- <tr>
- <td class="td1">物流公司</td>
- <td class="td2" colspan="3">
- <input id="txtBillCom_CN" class="mini-combobox" style="width: 80%;" textfield="name" valuefield="code" onvaluechanged="CNonBillComChanged" url="../handler/sync.ashx?t=get_waybill_company" />
- </td>
- </tr>
- <tr>
- <td class="td1">快递模板</td>
- <td class="td2" colspan="3">
- <input id="txtBillModel_CN" class="mini-combobox" style="width: 80%;" textfield="name" valuefield="Code" />
- </td>
- </tr>
- <tr>
- <td class="td1">打印机</td>
- <td class="td2" colspan="3">
- <input id="txtBillPrinter_CN" class="mini-combobox" style="width: 80%;" textfield="name" valuefield="name" required="true" allowinput="true" valuefromselect="true" onvaluechanged="CNonBillPrinterChanged" url="" />
- </td>
- </tr>
- <tr>
- <td colspan="4">
- <div class="win_btn" style="text-align: center;">
- <a class="mini-button" iconcls="icon-ok" onclick="CNsaveWaybillFn">打印面单</a>
- <a class="mini-button" iconcls="icon-cancel" onclick="CNcancelWaybillFn">取消</a>
- </div>
- </td>
- </tr>
- </table>
- </div>
- <div id="assign_win" class="mini-window" title="指派供应商" style="width: 350px; height: 180px; position: relative; display: none">
- <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
- <tr>
- <td class="td1">供应商</td>
- <td class="td2" colspan="3">
- <input id="txtSupplierName" class="mini-combobox" style="width: 90%;" popupheight="500" popupminheight="300" popupmaxheight="1000" textfield="name" valuefield="id" required="true" allowinput="true" valuefromselect="true" url="../handler/sync.ashx?t=get_sel_supplier" />
- </td>
- </tr>
- <tr>
- <td colspan="4">
- <div class="win_btn" style="text-align: center;">
- <a class="mini-button" iconcls="icon-ok" onclick="saveAssignFn">保存</a>
- <a class="mini-button" iconcls="icon-cancel" onclick="cancelAssignFn">取消</a>
- </div>
- </td>
- </tr>
- </table>
- </div>
- <div id="issue_win" class="mini-window" title="问题反馈" style="width: 550px; height: 200px; position: relative; display: none">
- <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
- <tr>
- <td class="td1">问题反馈</td>
- <td class="td2" colspan="3">
- <textarea id="txtIssue" style="width: 96%; height: 60px;"></textarea></td>
- </tr>
- <tr>
- <td colspan="4">
- <div class="win_btn" style="text-align: center;">
- <a class="mini-button" iconcls="icon-ok" onclick="saveIssueFn">保存</a>
- <a class="mini-button" iconcls="icon-cancel" onclick="canceIssueFn">取消</a>
- </div>
- </td>
- </tr>
- </table>
- </div>
- <div id="viewimg_win" class="mini-window" title="文件预览" style="width: 750px; height: 570px; position: relative; display: none">
- <img id="r_img" style="width: 700px; height: 500px;" onclick="largeImage(this)" src="../images/no_photo.png" />
- </div>
- <div id="change_win" class="mini-window" title="修改物流" style="width: 550px; height: 350px; position: relative; display: none">
- <input type="hidden" id="changeCtid" />
- <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
- <tr>
- <tr>
- <td class="td1">运单号</td>
- <td class="td2">
- <input type="text" id="txtChangeTransNo" />
- </td>
- </tr>
- </tr>
- <tr>
- <td class="td1">物流公司</td>
- <td class="td2" colspan="3">
- <input type="text" id="txtChangeTransCom" />
- </td>
- </tr>
- <tr>
- <td colspan="4">
- <div class="win_btn" style="text-align: center;">
- <a class="mini-button" iconcls="icon-ok" onclick="saveChangeFn">保存</a>
- <a class="mini-button" iconcls="icon-cancel" onclick="cancelChangeFn">取消</a>
- </div>
- </td>
- </tr>
- </table>
- </div>
- <div id="uploaderPackFile_win" class="mini-window" title="上传包裹图片" style="width: 1000px; height: 300px; position: relative; display: none">
- <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
- <tr>
- <td class="td1"></td>
- <td class="td2">
- <input type="file" id="pack_file" />
- </td>
- </tr>
- <tr>
- <td class="td1">文件地址</td>
- <td class="td2">
- <div id="packFile_url" style="gap: 10px; display: flex; flex-direction: column;"></div>
- </td>
- </tr>
- <tr>
- <td colspan="5">
- <div class="win_btn" style="text-align: center;">
- <a class="mini-button" iconcls="icon-ok" onclick="saveUploaderPackFileFn">确定</a>
- <a class="mini-button" iconcls="icon-cancel" onclick="cancelUploaderPackFileFn">取消</a>
- </div>
- </td>
- </tr>
- </table>
- </div>
- <script>
- const client = new OSS({
- // yourregion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
- region: "oss-cn-fuzhou",
- // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
- accessKeyId: "LTAI5tE7wuNkeT9jZ42bQnyr",
- accessKeySecret: "NnutvWhKl4HbQFSad3HosYbCkEkbjN",
- // 填写存储空间名称。
- bucket: "dfdiyfile",
- endpoint: "https://oss-cn-fuzhou.aliyuncs.com",
- });
- let ori_tid = "";
- let ori_ctid = "";
- let ori_type = "";
- function openPackFile(tid, ctid) {
- ori_tid = tid;
- ori_ctid = ctid;
- ori_type = "PACK_FILE";
- getFilesList();
- mini.get("uploaderPackFile_win").show();
- document.getElementById('pack_file').value = "";
- }
- function saveUploaderPackFileFn() {
- mini.get("uploaderPackFile_win").hide();
- }
- function cancelUploaderPackFileFn() {
- mini.get("uploaderPackFile_win").hide();
- }
- function getFilesList() {
- postAjax("getCellFile", { tid: ori_tid, ctid: ori_ctid, type: ori_type }, function (data) {
- $("#packFile_url").empty();
- let html = ``;
- for (var i = 0; i < data.length; i++) {
- html += `<div style="display:flex;gap:10px">
- <img src="${data[0].url}" style="width:40px;height:40px"/>
- </div>`
- }
- $("#packFile_url").append(html);
- });
- }
- document.getElementById('pack_file').addEventListener('change', async function (e) {
- const file = e.target?.files[0];
- const reader = new FileReader();
- let url = await putPackObject(file);
- let list = [url];
- postAjax("saveCellFile", { tid: ori_tid, ctid: ori_ctid, type: ori_type, urls: list.join(","), del: 1 }, function (data) {
- getFilesList();
- });
- document.getElementById('pack_file').value = "";
- });
- async function putPackObject(file) {
- try {
- let fileDir = dateFtt("yyyyMMdd", new Date())
- let name = "packDoc/" + fileDir + "/" + guid() + getSuff(file.name);
- // 填写Object完整路径。Object完整路径中不能包含Bucket名称。
- // 您可以通过自定义文件名(例如exampleobject.txt)或文件完整路径(例如exampledir/exampleobject.txt)的形式实现将数据上传到当前Bucket或Bucket中的指定目录。
- // data对象可以自定义为file对象、Blob数据或者OSS Buffer。
- const options = {
- headers: { "Content-Type": "text/plain" },
- };
- const result = await client.put(name, file, options);
- return result.url;
- } catch (e) {
- console.log(e);
- }
- }
- function dateFtt(fmt, date) {
- var o = {
- "M+": date.getMonth() + 1, //月份
- "d+": date.getDate(), //日
- "h+": date.getHours(), //小时
- "m+": date.getMinutes(), //分
- "s+": date.getSeconds(), //秒
- "q+": Math.floor((date.getMonth() + 3) / 3), //季度
- "S": date.getMilliseconds() //毫秒
- };
- if (/(y+)/.test(fmt)) {
- fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
- }
- for (var k in o) {
- if (new RegExp("(" + k + ")").test(fmt))
- fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
- }
- return fmt;
- }
- function getSuff(name) {
- return name.substring(name.lastIndexOf("."));
- }
- function guid() {
- return "xxxxxxxx-xxxx-4xxx-yxxx".replace(/[xy]/g, function (c) {
- var r = (Math.random() * 16) | 0,
- v = c == "x" ? r : (r & 0x3) | 0x8;
- return v.toString(16);
- });
- }
- </script>
- </asp:Content>
|