zhuyiyi 8 місяців тому
батько
коміт
9fcfb52c57

+ 154 - 20
SiteCore/Handler/sync.order.cs

@@ -4189,7 +4189,83 @@ namespace SiteCore.Handler
                 lw.Add(string.Format("SupplierId in ({0})", CurrentUser.User.pemVend));
             }
 
-            lw.Add(string.Format("OrderState = 6 "));
+            lw.Add(string.Format("OrderState = 6 and (CONVERT(VARCHAR,attachments) = '' or attachments is null)"));
+            lw.Add(string.Format("type != 'PDD' "));
+            lw.Add(string.Format("(IsXianHuo=0 or (IsXianHuo=1 and IsReturn=0)) "));
+
+            dStruct.Order = "MemoOpt desc,IsSF desc, FinishPlaceTime desc, ctid desc";
+            dStruct.MainWhere = string.Join(" and ", lw.ToArray());
+            DataTable dt = WebCache.GetData("view_erptradecell", dStruct);
+            /*if (tid.Length > 0)
+            {
+                List<string> tids = new List<string>();
+                if (dt != null && dt.Rows.Count > 0)
+                {
+                    foreach (DataRow item in dt.Rows)
+                    {
+                        tids.Add("'" + item["tid"] + "'");
+                    }
+                }
+                if (tids.Count > 0)
+                {
+                    lw.RemoveAt(0);
+                    lw.Add(string.Format("tid in ({0})", string.Join(", ", tids)));
+                    dStruct.MainWhere = string.Join(" and ", lw.ToArray());
+                    dt = WebCache.GetData("view_erptradecell", dStruct);
+                }
+            }*/
+            writeGridDataTableJson(dStruct.TotalCount, dt);
+        }
+        public void get_erp_changedeliverylist()
+        {
+            DataStruct dStruct = GetPostStruct();
+            List<string> lw = new List<string>();
+            string tid = GetPostString("ctid");
+            if (tid.Length > 0) lw.Add(string.Format("(ctid like '%{0}%' or OrderSn like '%{0}%') ", tid));
+            string shopname = GetPostString("shopname");
+            if (shopname.Length > 0) lw.Add(string.Format("seller_nick='{0}'", shopname));
+            string buyernick = GetPostString("buyer_nick");
+            if (buyernick.Length > 0) lw.Add(string.Format("buyer_nick='{0}'", buyernick));
+            //if (tid.Length == 0 && buyernick.Length == 0)
+            //{
+            //    lw.Add(string.Format("IsRefund<={0}", 1));
+            //}
+
+            string customer = GetPostString("customer");
+            if (customer.Length > 0) lw.Add(string.Format("CustomerTb like '%{0}%'", customer));
+            string design = GetPostString("design");
+            if (design.Length > 0) lw.Add(string.Format("DesignUserName like '%{0}%'", design));
+            string orderState = GetPostString("orderState");
+            if (orderState.Length > 0) lw.Add(string.Format("OrderState like '%{0}%'", orderState));
+            string address = GetPostString("address");
+            if (address.Length > 0) lw.Add(string.Format("(receiver_address like '%{0}%' or receiver_state like '%{0}%' or receiver_city like '%{0}%' or receiver_name like '%{0}%' or receiver_mobile like '%{0}%')", address));
+            string sellermemo = GetPostString("seller_memo");
+            if (sellermemo.Length > 0) lw.Add(string.Format("seller_memo like '%{0}%'", sellermemo));
+            string supplier = GetPostString("supplier");
+            if (supplier.Length > 0) lw.Add(string.Format("SupplierName like '%{0}%'", supplier));
+            string OrderArea = GetPostString("order_area");
+            if (OrderArea.Length > 0) lw.Add(string.Format("IsSample = {0}", OrderArea));
+
+            string placedate1 = GetPostString("placedate1");
+            string placedate2 = GetPostString("placedate2");
+            string fdw = GetDateMinuteWhere("FinishPlaceTime", placedate1, placedate2);
+            if (fdw.Length > 0) lw.Add(fdw);
+            string price1 = GetPostString("price1");
+            if (price1.Length > 0) lw.Add(string.Format("payment >= '{0}'", price1));
+            string price2 = GetPostString("price2");
+            if (price2.Length > 0) lw.Add(string.Format("payment <= '{0}'", price2));
+            string unusualCon = GetPostString("unusualcon");
+            if (unusualCon.Length > 0) lw.Add(string.Format("UnusualCon like '%{0}%'", unusualCon));
+            string otherMemo = GetPostString("otherMemo");
+            if (otherMemo.Length > 0) lw.Add(string.Format("otherMemo like '%{0}%'", otherMemo));
+
+            string posTag = CurrentUser.UserPost.Post.Code;
+            if (posTag == "Supplier")
+            {
+                lw.Add(string.Format("SupplierId in ({0})", CurrentUser.User.pemVend));
+            }
+
+            lw.Add(string.Format("OrderState = 6 and (CONVERT(VARCHAR,attachments) != '' and attachments is not null) "));
             lw.Add(string.Format("type != 'PDD' "));
             lw.Add(string.Format("(IsXianHuo=0 or (IsXianHuo=1 and IsReturn=0)) "));
 
@@ -4264,7 +4340,7 @@ namespace SiteCore.Handler
                 lw.Add(string.Format("SupplierId in ({0})", CurrentUser.User.pemVend));
             }
 
-            lw.Add(string.Format("OrderState = 6 "));
+            lw.Add(string.Format("OrderState = 6 and (CONVERT(VARCHAR,attachments) = '' or attachments is null)"));
             lw.Add(string.Format("type = 'PDD' "));
             lw.Add(string.Format("(IsXianHuo=0 or (IsXianHuo=1 and IsReturn=0)) "));
 
@@ -5107,24 +5183,24 @@ namespace SiteCore.Handler
             dStruct.Order = "MemoOpt desc, FinishPlaceTime desc";
             dStruct.MainWhere = string.Join(" and ", lw.ToArray());
             DataTable dt = WebCache.GetData("view_erptradecell", dStruct);
-           /* if (tid.Length > 0)
-            {
-                List<string> tids = new List<string>();
-                if (dt != null && dt.Rows.Count > 0)
-                {
-                    foreach (DataRow item in dt.Rows)
-                    {
-                        tids.Add("'" + item["tid"] + "'");
-                    }
-                }
-                if (tids.Count > 0)
-                {
-                    lw.Remove(string.Format("(ctid like '%{0}%' or OrderSn like '%{0}%')", tid));
-                    lw.Add(string.Format("tid in ({0})", string.Join(", ", tids)));
-                    dStruct.MainWhere = string.Join(" and ", lw.ToArray());
-                    dt = WebCache.GetData("view_erptradecell", dStruct);
-                }
-            }*/
+            /* if (tid.Length > 0)
+             {
+                 List<string> tids = new List<string>();
+                 if (dt != null && dt.Rows.Count > 0)
+                 {
+                     foreach (DataRow item in dt.Rows)
+                     {
+                         tids.Add("'" + item["tid"] + "'");
+                     }
+                 }
+                 if (tids.Count > 0)
+                 {
+                     lw.Remove(string.Format("(ctid like '%{0}%' or OrderSn like '%{0}%')", tid));
+                     lw.Add(string.Format("tid in ({0})", string.Join(", ", tids)));
+                     dStruct.MainWhere = string.Join(" and ", lw.ToArray());
+                     dt = WebCache.GetData("view_erptradecell", dStruct);
+                 }
+             }*/
             foreach (DataRow dr in dt.Rows)
             {
                 dr["receiver_address"] = dr["receiver_name"].ToString() + "   " + dr["receiver_mobile"].ToString() + "   " + dr["receiver_state"].ToString() + dr["receiver_city"].ToString() + dr["receiver_district"].ToString() + dr["receiver_address"].ToString();
@@ -12480,6 +12556,64 @@ namespace SiteCore.Handler
             }
             returnErrorMsg("找不到订单");
         }
+        public void set_tid_attachments()
+        {
+            string tid = GetPostString("tid");
+            string atta = GetPostString("atta");
+            if (!string.IsNullOrEmpty(tid))
+            {
+                if (string.IsNullOrEmpty(atta))
+                {
+                    returnErrorMsg("文件地址为空");
+                    return;
+                }
+                CeErpTrade ceErpTrade = CeErpTrade.Get(tid);
+                if (ceErpTrade == null)
+                {
+                    returnErrorMsg("找不到订单");
+                    return;
+                }
+                DataTable dt = DbHelper.DbConn.ExecuteDataset(string.Format("select OrderState from ce_erptradecell where tid = '{0}'", tid)).Tables[0];
+                bool isSend = false;
+                if (dt != null && dt.Rows.Count > 0)
+                {
+                    foreach (DataRow row in dt.Rows)
+                    {
+                        if (Convert.ToInt16(row["OrderState"]) > 6)
+                        {
+                            isSend = true;
+                        }
+                    }
+                    if (isSend)
+                    {
+                        returnErrorMsg("已发货无法修改");
+                        return;
+                    }
+                    ceErpTrade.Attachments = atta;
+                    ceErpTrade.Update();
+                    LogHelper.addLog(tid, CurrentUser.UserID, "上传文件地址", 6);
+                    returnSuccessMsg("上传成功!");
+                    return;
+                }
+            }
+            returnErrorMsg("找不到订单");
+        }
+        public void get_tid_attachments()
+        {
+            string tid = GetPostString("tid");
+            if (!string.IsNullOrEmpty(tid))
+            {
+
+                CeErpTrade ceErpTrade = CeErpTrade.Get(tid);
+                if (ceErpTrade == null)
+                {
+                    returnErrorMsg("找不到订单");
+                }
+                returnSuccess(JsonConvert.SerializeObject(new { url = ceErpTrade.Attachments }));
+                return;
+            }
+            returnErrorMsg("找不到订单");
+        }
     }
 
 }

+ 2 - 2
Web/EAfterSale/js/Handling.js

@@ -395,7 +395,7 @@ function handleFn(eid) {
     $("#txtMethod").val(asm);
     $("#txtAfterMemo").val(rec.AfterSaleMemo);
     selItemSelected($("#txtRefundType")[0], rec.supRefundType);
-    if (rec.supRefundType == "退差价") {
+    if (rec.supRefundType == "退差价" || rec.supRefundType == "退全款") {
         $('#id_Deduct_td1').css("display", "");
         $('#id_Deduct_td2').css("display", "");
     }
@@ -1122,7 +1122,7 @@ function newPageSearchFn() {
 
 function refundTypeSelFn() {
     var tValue = $("#txtRefundType").val();
-    if (tValue == "退差价") {
+    if (tValue == "退差价" || tValue == "退全款") {
         $('#id_Deduct_td1').css("display", "");
         $('#id_Deduct_td2').css("display", "");
     }

+ 435 - 0
Web/EDelivery/ChangeDelivery.aspx

@@ -0,0 +1,435 @@
+<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage/ErpView.master" AutoEventWireup="true" CodeFile="ChangeDelivery.aspx.cs" Inherits="EDelivery_ChangeDelivery" %>
+
+<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
+    <script type="text/javascript" src="js/ChangeDelivery.js?v=<%=SiteVer %>"></script>
+
+</asp:Content>
+<asp:Content ID="Content2" ContentPlaceHolderID="btn" runat="Server">
+    <table style="width: 100%;">
+        <tr>
+            <td style="width: 80%;">
+                <a class="mini-button mini-button-primary" style="padding: 2px 5px 2px 5px;" iconcls="icon-folder" onclick="returnOrderFn()">打回</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-success" style="padding: 2px 5px 2px 5px;" iconcls="icon-print" onclick="returnCYTFn()">打回接口</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%;" contextmenu="#gridMenu" showemptytext="true" emptytext="暂无记录" url="../handler/sync.ashx?t=get_erp_changedeliverylist">
+            <div property="columns">
+                <div type="indexcolumn" width="20"></div>
+                <div type="checkcolumn" width="20"></div>
+                <div name="orderid" width="110" align="center" headeralign="center" renderer="orderIdRenderer">订单编号</div>
+                <div name="orderptime" 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="IsSF" width="50" align="center" headeralign="center" renderer="SFRenderer">是否顺丰</div>
+                <div field="seller_memo" width="200" align="center" headeralign="center" renderer="memoRenderer">备注</div>
+                <div field="OtherMemo" id="id_othermemo" runat="server" visible="false" width="80" align="center" headeralign="center">额外备注</div>
+                <div field="payment_cyt" id="id_payment_cyt" runat="server" visible="false" width="80" align="center" headeralign="center">成本</div>
+                <!--div field="Img" width="30" align="center" headeralign="center" renderer="ImgRenderer">图片</div>-->
+                <div field="FinishPlaceTime" width="60" dateformat="yyyy-MM-dd HH:mm" align="center" headeralign="center">下单时间</div>
+                <div field="" width="60" align="center" headeralign="center" renderer="preDeliveryTime">预计发货</div>
+                <div field="CheckMemo" width="50" align="center" headeralign="center">查单备注</div>
+                <div name="address" width="80" align="center" headeralign="center" renderer="addressRenderer">收货地址</div>
+                <div name="orderscus" width="60" align="center" headeralign="center" renderer="orderCusRenderer">供应商</div>
+                <div field="AfterSaleMethod" id="id_AfterSaleMethod" runat="server" visible="false" width="80" align="center" headeralign="center">售后方案</div>
+
+                <div field="UnusualCon" width="50" align="center" headeralign="center">异常解释</div>
+                <div name="orderstatus" width="50" align="center" headeralign="center" renderer="orderStatusRenderer">状态</div>
+                <div name="action" width="50" align="center" headeralign="center" renderer="actionRenderer">#</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>
+        <li name="edit" iconcls="icon-epay" onclick="onTagArrived">顺丰到付</li>
+        <li name="edit" iconcls="icon-spay" onclick="onTagStarted">顺丰寄付</li>
+        <li name="edit" iconcls="icon-stop" onclick="stopTagStarted">撤销顺丰</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>
+                <td class="td1">运单号</td>
+                <td class="td2" colspan="3">
+                    <input type="text" id="txtTransNo" /></td>
+            </tr>
+
+            <tr>
+                <td class="td1">物流公司</td>
+                <td class="td2" colspan="3">
+                    <input id="txtComName" class="mini-combobox" style="width: 80%;" textfield="name" valuefield="code" required="true" allowinput="true" valuefromselect="true" url="../data/companies.txt" />
+                </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>&nbsp;
+                        <a class="mini-button" iconcls="icon-cancel" onclick="cancelDeliveryFn">取消</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>&nbsp;
+                        <a class="mini-button" iconcls="icon-cancel" onclick="cancelAssignFn">取消</a>
+                    </div>
+                </td>
+            </tr>
+        </table>
+    </div>
+
+    <div id="make_win" class="mini-window" title="指派制作供应商" style="width: 550px; height: 280px; position: relative; display: none">
+        <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
+            <tr>
+                <td class="td1">供应商</td>
+                <td class="td2" colspan="3">
+                    <div id="txtMakeSupplier" class="mini-combobox" style="width: 400px;" popupwidth="300" popupminheight="450" popupmaxheight="450" textfield="name" valuefield="id"
+                        url="../Handler/sync.ashx?t=get_sel_supplier" value="id" multiselect="true" showclose="true" oncloseclick="onCloseClick">
+                        <div property="columns">
+                            <div header="供应商" field="name"></div>
+                        </div>
+                    </div>
+                </td>
+            </tr>
+            <tr>
+                <td colspan="4">
+                    <div class="win_btn" style="text-align: center;">
+                        <a class="mini-button" iconcls="icon-ok" onclick="saveMakeAssignFn">保存</a>&nbsp;
+                        <a class="mini-button" iconcls="icon-cancel" onclick="cancelMakeAssignFn">取消</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_mail" />
+                </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" url="" />
+                </td>
+            </tr>
+            <tr id="win_btns">
+                <td colspan="4">
+                    <div class="win_btn" style="text-align: center;">
+                        <a id="id_saveWaybillBtn" class="mini-button" iconcls="icon-ok" onclick="saveWaybillFn">打印面单</a>&nbsp;
+                        <a class="mini-button" iconcls="icon-cancel" onclick="cancelWaybillFn">取消</a>
+                    </div>
+                </td>
+            </tr>
+            <tr id="qr_input">
+                <td>
+                    <p class="service_status status">打印服务状态:未连接</p>
+                </td>
+                <td>
+                    <span class="mini-textbox-border">
+                        <input id="qr_code" class="mini-textbox-input" />
+                    </span>
+                </td>
+            </tr>
+        </table>
+        <div id="qr_print_result" style="height: 50px; overflow-y: scroll; padding: 5px"></div>
+
+    </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>&nbsp;
+                        <a class="mini-button" iconcls="icon-cancel" onclick="CNcancelWaybillFn">取消</a>
+                    </div>
+                </td>
+            </tr>
+        </table>
+    </div>
+
+    <div id="memo_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="txtMemo" 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="saveMemoFn">保存</a>&nbsp;
+                        <a class="mini-button" iconcls="icon-cancel" onclick="canceMemolFn">取消</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>&nbsp;
+                        <a class="mini-button" iconcls="icon-cancel" onclick="canceIssueFn">取消</a>
+                    </div>
+                </td>
+            </tr>
+        </table>
+    </div>
+
+    <div id="price_win" class="mini-window" title="成本登记" style="width: 550px; height: 300px; position: relative; display: none">
+        <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
+            <tr>
+                <td class="td1">订单编号</td>
+                <td class="td2" colspan="3" id="price_ordersn"></td>
+            </tr>
+            <tr>
+                <td class="td1">供应商</td>
+                <td class="td2" colspan="3" id="price_name"></td>
+            </tr>
+            <tr>
+                <td class="td1">成本</td>
+                <td class="td2" colspan="3">
+                    <input type="text" id="price_number" />
+                </td>
+            </tr>
+            <tr>
+                <td colspan="4">
+                    <div class="win_btn" style="text-align: center;">
+                        <a class="mini-button" iconcls="icon-ok" onclick="savePrice">保存</a>&nbsp;
+                        <a class="mini-button" iconcls="icon-cancel" onclick="mini.get('price_win').hide()">取消</a>
+                    </div>
+                </td>
+            </tr>
+        </table>
+    </div>
+    <div id="returnreason_win" class="mini-window" title="退单" style="width: 700px; height: 400px; position: relative; display: none">
+        <input type="hidden" id="returnreason_id" />
+        <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
+            <tr id="id_selectReturnreason" runat="server" visible="false">
+                <td class="td1"></td>
+                <td class="td2" colspan="3">
+                    <input id="selectReturnreason" class="mini-combobox" style="width: 80%;" textfield="title" valuefield="title" required="true" allowinput="true" valuefromselect="true" onvaluechanged="returnreasonChanged" />
+                </td>
+            </tr>
+            <tr>
+                <td class="td1">原因</td>
+                <td class="td2" colspan="3">
+                    <textarea id="txtReturnreason" 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="saveReturnreasonFn">保存</a>&nbsp;
+                    <a class="mini-button" iconcls="icon-cancel" onclick="cancelReturnreason">取消</a>
+                    </div>
+                </td>
+            </tr>
+        </table>
+    </div>
+    <script>
+        function showPriceWin(ctid, price, name) {
+            $("#price_ordersn").empty().html(ctid);
+            $("#price_name").empty().html(name);
+            $("#price_number").val(price);
+            mini.get("price_win").show();
+        }
+        function savePrice() {
+            let price = $("#price_number").val();
+            let ctid = $("#price_ordersn").html();
+            mini.get('price_win').hide();
+            let params = { price, ctid };
+            postAjax("change_erp_order_price", params, function (data) {
+                mini.get("price_win").hide();
+                resultShow(data, "grid.reload();");
+            });
+        }
+        function returnreasonChanged(e) {
+            $("#txtReturnreason").val("").val(e.value);
+        }
+        function cancelReturnreason() {
+            mini.get("returnreason_win").hide()
+        }
+        function saveReturnreasonFn() {
+            let parms = {};
+            parms.ctid = $("#returnreason_id").val();
+            parms.returnreason = $("#txtReturnreason").val();
+            postAjax("ins_erp_returnreason", parms, function (data) {
+                if ($("#selectReturnreason").is(':visible')) {
+                    mini.get("selectReturnreason").setValue("");
+                }
+                $("#txtReturnreason").val("");
+                mini.get("returnreason_win").hide()
+                resultShow(data, "grid.reload();");
+            });
+        }
+        let returnreason_list = [{
+            title: "客服撤"
+        }, {
+            title: "设计撤"
+        }, {
+            title: "售后撤"
+        }, {
+            title: "审稿撤"
+        }, {
+            title: "设计 尺寸不符"
+        }, {
+            title: "设计 未转曲"
+        }, {
+            title: "设计 文件没标孔"
+        }, {
+            title: "设计 款数不符 "
+        }, {
+            title: "设计 文件含无效轮廓"
+        }, {
+            title: "设计 数量不明确"
+        }, {
+            title: "设计 文件名直角文件模切"
+        }, {
+            title: "设计 文件名模切文件直角"
+        }, {
+            title: "设计 文件名双面 文件单面"
+        }, {
+            title: "设计 文件单面 文件名双面"
+        }, {
+            title: "设计 文件打不开"
+        }, {
+            title: "设计 文件打开空白"
+        }, {
+            title: "设计 文件带R标 需要提供商标注册+印刷委托书 或者 营业执照+印刷委托书 两者取一种 必需带公章"
+        }, {
+            title: "设计 没按固定刀版设计"
+        }, {
+            title: "设计 双面左右放 竖着排一列"
+        }, {
+            title: "设计 打码位置不够 要留35x7mm"
+        }, {
+            title: "设计 内页是否设计反了"
+        }, {
+            title: "设计 刀版间距不够 至少要3mm以上"
+        }, {
+            title: "设计 文件有RGB色值"
+        }, {
+            title: "设计 刀版跟出血卡边 会模切不准"
+        }, {
+            title: "设计 底色要不要"
+        }, {
+            title: "设计 打印没有这个尺寸的刮刮膜 具体看报价系统"
+        }, {
+            title: "设计 没做出血"
+        }, {
+            title: "设计 没做刀版"
+        }, {
+            title: "设计 划痕划到字"
+        }, {
+            title: "设计 文件糊 直接做吗"
+        }, {
+            title: "设计 图片超出画面框"
+        }, {
+            title: "设计 刮奖区虚线偏大文件图片没法调整 贴膜的位置要比膜的尺寸一边小3mm"
+        }, {
+            title: "设计 文件里面需要放杯子图片跟口径"
+        }, {
+            title: "设计 烫金不是矢量文件"
+        }, {
+            title: "设计 白墨需要做白墨版"
+        }, {
+            title: "设计 烫金最小尺寸英文3mm以上中文5mm以上线条0.5mm以上间距不够0.5mm 糊"
+        }, {
+            title: "设计 棉卡印不了底色 底色是材质色"
+        }, {
+            title: "设计 奖项没有备注数量"
+        }, {
+            title: "客服 超成本"
+        }, {
+            title: "客服 地址以表格形式发群里"
+        }, {
+            title: "客服 特种纸不覆膜"
+        }, {
+            title: "客服 实际金额拍了多少 额外备注备注一下"
+        }, {
+            title: "客服 老客户要及时上传"
+        }, {
+            title: "客服 搜不到之前文件 是否有改名字或者换号 额外备注 备注一下"
+        }, {
+            title: "客服 文件名不规范"
+        }];
+
+        $(() => {
+            mini.get("selectReturnreason").setData(returnreason_list);
+        });
+    </script>
+
+    <%--<div class="image_large" onclick="hideImage(this)"></div>--%>
+</asp:Content>
+

+ 85 - 0
Web/EDelivery/ChangeDelivery.aspx.cs

@@ -0,0 +1,85 @@
+using SiteCore;
+using SQLData;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+using Utils.Serialization;
+
+public partial class EDelivery_ChangeDelivery : BasePage
+{
+    protected override void OnPreInit(EventArgs e)
+    {
+        _repTitle = "待发货列表";
+        PmTag = "changeDelivery";
+        //_selfCheckPermission = true;
+        _keyFilterVisible = false;
+        _addVisible = false;
+        _filterDateBtn = false;
+
+        if (CurrentUser.UserPost.Post.Code == "Supplier")
+        {
+            _filterItem = "order,memo,order_area,place_time,shouhuo,unusualcon";
+        }
+        else
+            _filterItem = "order,shop,wang,place_time,supplier,des,memo,order_area,shouhuo,unusualcon,otherMemo";
+    }
+
+    protected void Page_Load(object sender, EventArgs e)
+    {
+        if (CurrentUser.UserPost.Post.Code == "Supplier")
+        {
+            //id_waitDelv_payment.Visible = false;
+            id_assignSupplier.Visible = false;
+            //id_makeSupplier.Visible = false;
+            id_othermemo.Visible = false;
+            id_AfterSaleMethod.Visible = false;
+            id_payment_cyt.Visible = false;
+        }
+        else
+        {
+            //id_waitDelv_payment.Visible = true;
+            id_assignSupplier.Visible = true;
+            id_selectReturnreason.Visible = true;
+            //id_makeSupplier.Visible = true;
+            id_othermemo.Visible = true;
+            id_payment_cyt.Visible = true;
+            id_AfterSaleMethod.Visible = true;
+        }
+        if (CurrentUser.UserPost.Post.Code != "AfterSale" || CurrentUser.UserPost.Post.Code == "AfterSaleMaster")
+        {
+            id_assignSupplier.Visible = true;
+        }
+        else
+        {
+            id_assignSupplier.Visible = false;
+        }
+
+        if (!IsPostBack)
+        {
+            string sData = GetString("sData");
+            if (sData != "") AppendScript("openPageData=" + sData + ";");
+
+            AppendScript("printPageUrl='" + webConfig.SiteUrl + "';");
+            AppendScript("userPostCode='" + CurrentUser.UserPost.Post.Code + "';");
+            AppendScript("cdrImgUrl='" + webConfig.ltFileSiteUrl + "/d/ws';");
+            //StringBuilder sql = new StringBuilder();
+            //sql.AppendFormat("select * from s_runinfotype");
+            //DataSet ds = DbHelper.DbConn.ExecuteDataset(sql.ToString());
+            //DataTable dt = ds.Tables[0];
+            //AppendScript("tData=" + JsonString.DataTable2Json(dt) + ";");
+
+            //selType.DataSource = dt;
+            //selType.DataValueField = "ID";
+            //selType.DataTextField = "Name";
+            //selType.DataBind();
+        }
+        //foreach (DataRow dr in dt.Rows)
+        //{
+        //}
+    }
+}

+ 630 - 0
Web/EDelivery/js/ChangeDelivery.js

@@ -0,0 +1,630 @@
+var exData = null;
+var edit_id = "";
+var _memo_msg = "";
+var socket = null;
+var userPostCode = "";
+var memoType = 0;
+var productHourList = [];
+var cdrImgUrl = null;
+function addFn() {
+    edit_id = "";
+    edit_shop = "";
+    $(".win_tb").find("input").val("");
+    $(".win_tb").find("textarea").val("");
+    mini.get("add_win").show();
+}
+
+let replace_list = [
+    ["皙贝", "白卡"],
+    ["睿狐", "莱尼"],
+    ["岚蝶", "安格"],
+    ["琮纹", "刚古"],
+    ["珠光", "珠光"],
+    ["溪雪", "珠光"],
+    ["雅柔", "雅柔"],
+    ["萱姿", "雅柔"],
+    ["草香", "草香"],
+    ["芳怡", "草香"],
+    ["金绒", "牛皮"],
+    ["素芸", "棉卡"],
+    ["玉蕊", "蛋壳"]
+]
+
+function memoRenderer(e) {
+    var record = e.record;
+    //var html = "<textarea class='memo-class' rows=\"3\" readonly=\"readonly\" id='" + record.ctid + "' ondblclick=\"doubleClick('" + record.ctid + "')\">" + record.seller_memo + "</textarea>";
+    let memo = record.seller_memo;
+    replace_list.forEach(item => {
+        memo = memo.replace(item[0], item[1]);
+    })
+    var html = "<div class='white-space' ondblclick=\"copyText(this)\" data-ctid = \"" + record.ctid + "\">" + memo + "</div>";
+    return html;
+}
+function copyText(obj) {
+    var div = obj;
+    var rec = grid.getSelected();
+    let text = div.innerText;
+    let ctid = div.dataset.ctid;
+    div.innerText = text + "《" + ctid + "》";
+    if (document.body.createTextRange) {
+        var range = document.body.createTextRange();
+        range.moveToElementText(div);
+        range.select();
+    } else if (window.getSelection) {
+        var selection = window.getSelection();
+        var range = document.createRange();
+        range.selectNodeContents(div);
+        selection.removeAllRanges();
+        selection.addRange(range);
+    } else {
+        //console.warn("none");
+        return;
+    }
+    document.execCommand("Copy");
+    div.innerText = text;
+    mini.showTips({
+        content: "复制成功!",
+        state: "danger",
+        x: "Center",
+        y: "Center",
+        timeout: 1000
+    });
+}
+function orderPTimeRenderer(e) {
+    var grid = e.sender;
+    var record = e.record;
+    var tid = record.tid;
+    var rowIndex = e.rowIndex;
+    var html = "<div style=\"display:flex;flex-direction:column;\">";
+    if (userPostCode != "Supplier") {
+        html += ("<div>" + record.seller_nick + "</div>");
+        html += getWWurlByNick(record.buyer_nick);
+    }
+
+    html += ("<div>" + formatCommonDate(record.pay_time) + "</div>");
+    html += "</div>";
+    return html;
+}
+function orderStatusRenderer(e) {
+    var grid = e.sender;
+    var record = e.record;
+    var tid = record.tid;
+    var rowIndex = e.rowIndex;
+    var statestr = getOrderStatestrByState(record.OrderState);
+    var html = "<div style=\"display:flex;flex-direction:column;\">";
+    html += ("<div onclick=\"clickToLog('" + record.ctid + "')\" style=\"color:blue;margin-bottom:10px;\">" + statestr + "</div>");
+    var taostatus = getInitStatusstrByState(record.status);
+    html += ("<div>" + taostatus + "</div>");
+    html += "</div>";
+    return html;
+}
+
+function SFRenderer(e) {
+    var record = e.record;
+    var html = "<div style=\"display:flex;flex-direction:column;\">";
+    if (record.IsSF == 1) {
+        html += ("<div style=\"color:blue;\"> 顺丰寄付 </div>");
+    }
+    else if (record.IsSF == 2) {
+        html += ("<div style=\"color:green;\"> 顺丰到付 </div>");
+    }
+
+    html += "</div>";
+    return html;
+}
+
+function orderCusRenderer(e) {
+    var grid = e.sender;
+    var record = e.record;
+    var ctid = record.ctid;
+    var rowIndex = e.rowIndex;
+    var html = "<div style=\"display:flex;flex-direction:column;align-items:center;\">";
+    html += ("<a style='color:#0090FF;'>客服:" + record.CustomerUserName + "</a>");
+    html += ("<a style='color:#0090FF;'>设计师:" + record.DesignUserName + "</a>");
+    html += ("<a style='color:#0090FF;'>供应商:" + record.SupplierName + "</a>");
+    //if (record.MemoOpt == 3) {
+    //    html += ("<a style=\"width:40px;color:red;border:1px solid red;\" onclick=\"clickResetOptFn()\">查货</a>");
+    //}
+    html += "</div>";
+    return html;
+}
+
+
+function addressRenderer(e) {
+    var grid = e.sender;
+    var record = e.record;
+    var tid = record.tid;
+    var rowIndex = e.rowIndex;
+    var html = "<div>" + record.receiver_name + "  " + record.receiver_mobile + "  " + record.receiver_state + record.receiver_city + record.receiver_district + record.receiver_address + "</div>";
+    return html;
+}
+
+function actionRenderer(e) {
+    var grid = e.sender;
+    var record = e.record;
+    var ctid = record.ctid;
+    var html = "";
+    html += getGridBtn("edit", "查单备注", "checkMemoFn('" + ctid + "')");
+    html += getGridBtn("dis", "发货", "deliveryFn('" + ctid + "','" + record.seller_nick + "')");
+    html += getGridBtn("dis", "标记已发", "setBuchaDelivery('" + ctid + "')");
+    html += getGridBtn("dis", "问题反馈", "setIssueContent('" + ctid + "')");
+    if (userPostCode != "Supplier") {
+        html += getGridBtn("edit", "成本登记", "showPriceWin('" + ctid + "','" + record.payment_cyt + "','" + record.SupplierName + "')");
+    }
+    if (!!record.attachments) {
+        html += getGridBtn("view", "下载附件", "downAtta('" + record.attachments + "')");
+    }
+    return html;
+}
+
+function downAtta(url) {
+    if (!!url) {
+        const link = document.createElement('a');
+        link.href = url;
+        document.body.appendChild(link);
+        link.click();
+        document.body.removeChild(link);
+    }
+}
+//function ImgRenderer(e) {
+//    var record = e.record;
+//    if (record.OrderState < 5) {
+//        return "";
+//    }
+
+//    var finish = formatCommonDate(record.FinishDesignTime);
+//    var yearmonth = finish.substring(0, 7);
+//    var monthUrl = yearmonth.replace("/", "");
+//    var url = cdrImgUrl + "/" + monthUrl + "/" + record.seller_memo + ".png";
+//    var html = "<div style=\"display:flex;flex-direction:row;\">";
+//    html += ("<img id=\"r_img\" style=\"width: 30px; height: 25px; \" onclick=\"largeImage(this)\" src=\"" + url + "\"/> ");
+//    html += "</div>";
+//    return html;
+//}
+
+//function largeImage(that) {
+//    var large_image = '<img src= ' + $(that).attr("src") + '></img>';
+//    $('.image_large').html($(large_image).css({
+//        display: "block",
+//        height: '60%',
+//        //width: '40%',
+//        position: "absolute",
+//        left: "50%",
+//        top: "50%",
+//        transform: "translate(-50%,-50%)",
+//    }, 500));
+//    $('.image_large').css("display", "block");
+//}
+//function hideImage(that) {
+//    $(that).css("display", "none");
+//}
+
+function preDeliveryTime(e) {
+    var record = e.record;
+    var html = "<div style=\"display:flex;flex-direction:column;\">";
+    var addHour = getHourByOrder(record);
+    var day = parseInt(addHour / 24);
+    var dTime = getNextDateByDate(record.FinishPlaceTime, day);
+    var curTime = new Date();
+    if (comptime(curTime, dTime)) {
+        html += ("<div style='color:red;'>" + dTime + "</div>");
+    }
+    else
+        html += ("<div>" + dTime + "</div>");
+    html += "</div>";
+    return html;
+}
+
+function getHourByOrder(order) {
+    var uHour = 48;
+    var useTag = 0;
+    for (var item in productHourList) {
+        if (item.ProductID == order.ProductId && useTag <= 1) {
+            useTag = 1;
+            uHour = item.fhTime;
+            if ((item.Material.length > 0 && order.Material.indexOf(item.Material) != -1) || (item.Craft.length > 0 && order.Craft.indexOf(item.Craft) != -1)) {
+                uHour = item.fhTime;
+                useTag = 2;
+            }
+        }
+    }
+
+    return parseInt(uHour);
+}
+
+function orderAction(e) {
+    var grid = e.sender;
+    var record = e.record;
+    var id = record.ctid;
+    var rowIndex = e.rowIndex;
+    var html = "";
+    html += getGridBtn("memo", "备注", "memoFn('" + id + "')");
+    return html;
+}
+
+function setBuchaDelivery(eid) {
+    if (!confirm("确认标记为已发货吗?")) return;
+    postAjax("set_erp_buchaorderdelivery", "ctid=" + eid, function (data) {
+        resultShow(data, "grid.reload();");
+    });
+}
+//备注按钮
+function memoFn(eid) {
+    edit_id = eid;
+    var rec = grid.getSelected();
+    var mm = rec.seller_memo;
+    memoType = 0;
+    if (mm != "") mm = mm.replace(/&lt;br&gt;/g, "\n");
+    $("#txtMemo").val(mm);
+    mini.get("memo_win").show();
+}
+
+//加急按钮
+function urgencyFn(eid) {
+    edit_id = eid;
+    var rec = grid.getSelected();
+    if (!confirm("确认加急本单吗?")) return;
+    postAjax("set_erp_urgency", "ctid=" + eid, function (data) {
+        resultShow(data, "grid.reload();");
+    });
+}
+
+//备注弹窗里面的 留言选择
+function canceMemolFn() {
+    mini.get("memo_win").hide();
+}
+function canceIssueFn() {
+    mini.get("issue_win").hide();
+}
+function setIssueContent(eid) {
+    edit_id = eid;
+    mini.get("issue_win").show();
+}
+function saveIssueFn() {
+    var parms = new Object();
+    parms.ctid = edit_id;
+    parms.content = $("#txtIssue").val();
+    postAjax("saveIssueContent", parms, function (data) {
+        mini.get("issue_win").hide();
+        resultShow(data, "grid.reload();");
+    });
+}
+
+//保存备注
+function saveMemoFn() {
+    if (memoType == 1) {
+        var parms = new Object();
+        parms.ctid = edit_id;
+        parms.CheckMemo = $("#txtMemo").val();
+        postAjax("save_erp_checkmemo", parms, function (data) {
+            mini.get("memo_win").hide();
+            resultShow(data, "grid.reload();");
+        });
+    }
+    else {
+        var parms = new Object();
+        parms.ctid = edit_id;
+        parms.seller_memo = $("#txtMemo").val();
+        postAjax("save_erp_sellermemo", parms, function (data) {
+            mini.get("memo_win").hide();
+            resultShow(data, "grid.reload();");
+        });
+    }
+
+}
+
+function makeSupplierFn() {
+    var rows = grid.getSelecteds();
+    if (rows.length <= 0) {
+        mini.alert("请选中一行记录!");
+        return;
+    }
+    else {
+        edit_id = "";
+        for (var rec of rows) {
+            edit_id += rec.ctid;
+            edit_id += ",";
+        }
+        mini.get("make_win").show("center");
+        $("#make_win").find("input").val("");
+    }
+}
+//保存指派供应商
+function saveMakeAssignFn() {
+    var parms = new Object();
+    parms.ctid = edit_id;
+    parms.SupplierName = mini.get("txtMakeSupplier").getText();
+    if (parms.SupplierName == "") {
+        alert("供应商不能为空!");
+        return;
+    }
+    postAjax("assign_erp_makesupplier", parms, function (data) {
+        mini.get("make_win").hide();
+        resultShow(data, "grid.reload();");
+    });
+}
+
+function cancelMakeAssignFn() {
+    mini.get("make_win").hide();
+}
+
+
+//查货备注按钮
+function checkMemoFn(eid) {
+    edit_id = eid;
+    var rec = grid.getSelected();
+    var mm = rec.CheckMemo;
+    memoType = 1;
+    if (mm != "") mm = mm.replace(/&lt;br&gt;/g, "\n");
+    $("#txtMemo").val(mm);
+    mini.get("memo_win").show();
+}
+
+
+//点击查货重置状态
+function clickResetOptFn() {
+    var rec = grid.getSelected();
+    if (!confirm("确认已完成客服的留言?")) return;
+    postAjax("reset_erp_memoopt", "ctid=" + rec.ctid, function (data) {
+        resultShow(data, "grid.reload();");
+    });
+}
+
+//发货按钮
+function deliveryFn(eid, sellnick) {
+    edit_id = eid;
+    edit_shop = sellnick;
+    mini.get("delivery_win").show();
+    $("#delivery_win").find("input").val("");
+    $("#delivery_win").find("textarea").val("");
+}
+//确认发货
+function saveDeliveryFn() {
+    var parms = new Object();
+    parms.ctid = edit_id;
+    parms.seller_nick = edit_shop;
+    parms.deliveryType = $("#txtDeliveryType").val();
+    parms.outSid = $("#txtTransNo").val();
+    parms.comCode = mini.get("txtComName").getValue();
+    parms.comName = mini.get("txtComName").getText();
+    parms.deliveryMemo = $("#txtDeliveryMemo").val();
+
+    postAjax("set_erp_orderdelivery", parms, function (data) {
+        mini.get("delivery_win").hide();
+        resultShow(data, "grid.reload();");
+    });
+}
+
+function cancelDeliveryFn() {
+    mini.get("delivery_win").hide();
+}
+
+//点击指派按钮
+function assignSupplierFn() {
+    var rows = grid.getSelecteds();
+    if (rows.length <= 0) {
+        mini.alert("请选中一行记录!");
+        return;
+    }
+    else {
+        edit_id = "";
+        for (var rec of rows) {
+            edit_id += rec.ctid;
+            edit_id += ",";
+        }
+        mini.get("assign_win").show("center", "top");
+        $("#assign_win").find("input").val("");
+    }
+
+}
+
+//保存指派供应商
+function saveAssignFn() {
+    var parms = new Object();
+    parms.ctid = edit_id;
+    parms.SupplierName = mini.get("txtSupplierName").getValue();
+    if (parms.SupplierName == "") {
+        alert("供应商不能为空!");
+        return;
+    }
+    postAjax("assign_erp_supplier", parms, function (data) {
+        mini.get("assign_win").hide();
+        resultShow(data, "grid.reload();");
+    });
+}
+
+function cancelAssignFn() {
+    mini.get("assign_win").hide();
+}
+
+//退单按钮
+function returnOrderFn() {
+    var rec = grid.getSelected();
+    if (rec != undefined && rec != "") {
+        $("#returnreason_id").val(rec.ctid);
+        mini.get("returnreason_win").show();
+    }
+    else {
+        mini.alert("请选中一行记录!");
+    }
+
+}
+
+
+function returnCYTFn() {
+    var rec = grid.getSelected();
+    if (rec != undefined && rec != "") {
+        edit_id = rec.ctid;
+        mini.prompt("请输入原因:", "退单",
+            function (action, value) {
+                if (action == "ok") {
+                    var parms = new Object();
+                    parms.ctid = edit_id;
+                    parms.returnreason = value;
+                    postAjax("cyt_erp_returnreason", parms, function (data) {
+                        resultShow(data, "grid.reload();");
+                    });
+                } else {
+
+                }
+            },
+            true
+        );
+    }
+    else {
+        mini.alert("请选中一行记录!");
+    }
+
+}
+function setCanDeliveryFn(e) {
+    var rows = grid.getSelecteds();
+    if (rows.length <= 0) {
+        mini.alert("请选中一行记录!");
+        return;
+    }
+    else {
+        edit_id = "";
+        for (var rec of rows) {
+            edit_id += rec.ctid;
+            edit_id += ",";
+        }
+        edit_id = edit_id.substring(0, edit_id.length - 1);
+        var parms = new Object();
+        parms.ctid = edit_id;
+        postAjax("upd_erp_xianhuoreturntag", parms, function (data) {
+            resultShow(data, "grid.reload();");
+        });
+    }
+}
+
+function onTagArrived(e) {
+    var rec = grid.getSelected();
+    edit_id = rec.ctid;
+    addMemoTag(0);
+}
+
+function onTagStarted(e) {
+    var rec = grid.getSelected();
+    edit_id = rec.ctid;
+    addMemoTag(1);
+}
+//到付寄付标记
+function addMemoTag(tag) {
+    var tagStr = "";
+    if (tag == 0) {
+        tagStr = "顺丰到付";
+    }
+    else if (tag == 1) {
+        tagStr = "顺丰寄付"
+    }
+
+    if (tagStr != "") {
+        var parms = new Object();
+        parms.ctid = edit_id;
+        parms.memotag = tagStr;
+        if (!confirm("确认标记为" + tagStr + "吗?")) return;
+        postAjax("upd_erp_addmemotag", parms, function (data) {
+            resultShow(data, "grid.reload();");
+        });
+    }
+
+}
+
+function stopTagStarted() {
+    var rec = grid.getSelected();
+    edit_id = rec.ctid;
+    var parms = new Object();
+    parms.ctid = edit_id;
+    parms.memotag = "撤销顺丰";
+    if (!confirm("确认撤销顺丰吗?")) return;
+    postAjax("upd_erp_addmemotag", parms, function (data) {
+        resultShow(data, "grid.reload();");
+    });
+}
+
+
+//查询按钮
+function searchFn() {
+    var form = new mini.Form("#ctl00_f_all");
+    var data = form.getData(true, false);
+    var s = data;
+    //var s = mini.encode(data);
+    //alert(s);
+    //form.setIsValid(false);
+    //console.log("565656565", data);
+    grid.load({
+        ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, orderState: s.state, order_area: s.order_area, address: s.address,
+        placedate1: s.placedate1, placedate2: s.placedate2, seller_memo: s.memo, supplier: s.supplier, unusualcon: s.unusualcon, otherMemo: s.otherMemo
+    });
+}
+//清除查询内容
+function clearFn() {
+    //$("#ctl00_f_all").find("input").val("");
+    var form = new mini.Form("#ctl00_f_all");
+    form.clear();
+}
+
+function newPageSearchFn() {
+    var form = new mini.Form("#ctl00_f_all");
+    var data = form.getData(true, false);
+    var s = data;
+    var sData = JSON.stringify(data);
+    var sendData = "sData=" + sData;
+    if (parent != null) parent.openNewSearchTab("待发货列表", "EDelivery/WaitingDelivery.aspx", sendData);
+}
+
+$(function () {
+    doConnect();
+    if (openPageData != "") {
+        var s = openPageData;
+        grid.load({
+            ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, orderState: s.state, order_area: s.order_area,
+            date1: s.date1, date2: s.date2, seller_memo: s.memo, supplier: s.supplier, unusualcon: s.unusualcon
+        });
+        var form = new mini.Form("#ctl00_f_all");
+        if (form != undefined && form != null) {
+            form.setData(s);
+        }
+        //$("#ic_chkNewPageSearch")[0].checked = true;
+    }
+    getProductHour();
+});
+
+function getProductHour() {
+    postAjax("get_product_hour", "", function (data) {
+        productHourList = data;
+    });
+}
+
+function onBeforeOpen(e) {
+    var grid = mini.get("m_grid");
+    var menu = e.sender;
+
+    var row = grid.getSelected();
+    var rowIndex = grid.indexOf(row);
+    if (!row) {
+        e.cancel = true;
+        //阻止浏览器默认右键菜单
+        e.htmlEvent.preventDefault();
+        return;
+    }
+}
+function onCopyOrder(e) {
+    var rec = grid.getSelected();
+    //rec.ctid
+    copyTextPlus(rec.ctid);
+}
+function onCopyBuyerNick(e) {
+    var rec = grid.getSelected();
+    //rec.ctid
+    copyTextPlus(rec.buyer_nick);
+}
+
+function cancelWaybillFn() {
+    var rec = grid.getSelected();
+    postAjax("cancel_print_order", { ctid: rec.ctid }, function (data) {
+        resultShow(data, "grid.reload();");
+    });
+}
+
+

+ 787 - 671
Web/EOrder/OrderList.aspx

@@ -7,6 +7,7 @@
     <link href="../css/imgbox.css" rel="stylesheet" />
     <script src="../js/ssi/ssi-upload.js"></script>
     <script src="../js/imgbox-1.0.3.js"></script>
+    <script src="../js/alioss.js"></script>
     <script type="text/javascript" src="js/p_order.js?v=<%=SiteVer %>"></script>
     <script>
 
@@ -66,307 +67,307 @@
                 height: auto;
             }
     </style>
-    </asp:Content>
-    <asp:Content ID="Content2" ContentPlaceHolderID="btn" runat="Server">
-        <a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-ok" onclick="getMyOrder()">领单</a>
-        <a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-goto" onclick="setRelationOrder()">关联</a>
-        <%--<a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-user" onclick="aftersaleFn()">售后</a>--%>
-
-        <a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-print" onclick="billFn()">发票</a>
-
-        <a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-download" onclick="downloadOrder()">下载订单</a>
-        <a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-downgrade" onclick="preDeliveryFn()">预发</a>
-        <a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-tip" onclick="sampleFn()">拿样</a>
-        <a id="btnAfterSale" runat="server" visible="false" class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-user" onclick="aftersaleFn()">售后</a>
-        <a id="btnChecked" runat="server" visible="false" class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-search" onclick="onCheckOrder()">查货</a>
-        <a id="btnaddNewOrder" class="mini-button mini-button-primary new_use_btn_blue" runat="server" visible="false" iconcls="icon-addnew" onclick="addNewOrderFn()">新增</a>
-        <a id="btnReturnCash" runat="server" visible="false" class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-node" onclick="returnCashFn()">返现</a>
-        <a id="btnExport" runat="server" visible="false" class="mini-button mini-button-success new_use_btn_green" iconcls="icon-folder" onclick="exportFn()">导出</a>
-        <a id="btnDistribute" runat="server" visible="false" class="mini-button mini-button-success new_use_btn_green" iconcls="icon-user" onclick="distributeFn()">指派</a>
-        <a id="btnFindDesign" runat="server" class="mini-button mini-button-success new_use_btn_green" iconcls="icon-user" onclick="findDesign()">设计师</a>
-        <a id="btnDownloadFile" runat="server" visible="false" class="mini-button mini-button-success new_use_btn_green" iconcls="icon-download" onclick="downloadFileFn2()">下载文件</a>
-        <a id="btnOrderReset" runat="server" visible="false" class="mini-button mini-button-danger new_use_btn_red" iconcls="icon-reload" onclick="resetFn()">重置</a>
-        <a id="btnOrderDelete" runat="server" visible="false" class="mini-button mini-button-danger new_use_btn_red" iconcls="icon-stop" onclick="deleteFn()">删除</a>
-        <a id="btnClearRefund" runat="server" visible="false" class="mini-button mini-button-danger new_use_btn_red" iconcls="icon-remove" onclick="clearRefundFn()">清空退款状态</a>
-        <div class="hz">
-            <div style="margin-left: 10px;" id="id_gatherPayment">(0)</div>
-        </div>
-    </asp:Content>
+</asp:Content>
+<asp:Content ID="Content2" ContentPlaceHolderID="btn" runat="Server">
+    <a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-ok" onclick="getMyOrder()">领单</a>
+    <a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-goto" onclick="setRelationOrder()">关联</a>
+    <%--<a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-user" onclick="aftersaleFn()">售后</a>--%>
+
+    <a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-print" onclick="billFn()">发票</a>
+
+    <a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-download" onclick="downloadOrder()">下载订单</a>
+    <a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-downgrade" onclick="preDeliveryFn()">预发</a>
+    <a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-tip" onclick="sampleFn()">拿样</a>
+    <a id="btnAfterSale" runat="server" visible="false" class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-user" onclick="aftersaleFn()">售后</a>
+    <a id="btnChecked" runat="server" visible="false" class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-search" onclick="onCheckOrder()">查货</a>
+    <a id="btnaddNewOrder" class="mini-button mini-button-primary new_use_btn_blue" runat="server" visible="false" iconcls="icon-addnew" onclick="addNewOrderFn()">新增</a>
+    <a id="btnReturnCash" runat="server" visible="false" class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-node" onclick="returnCashFn()">返现</a>
+    <a id="btnExport" runat="server" visible="false" class="mini-button mini-button-success new_use_btn_green" iconcls="icon-folder" onclick="exportFn()">导出</a>
+    <a id="btnDistribute" runat="server" visible="false" class="mini-button mini-button-success new_use_btn_green" iconcls="icon-user" onclick="distributeFn()">指派</a>
+    <a id="btnFindDesign" runat="server" class="mini-button mini-button-success new_use_btn_green" iconcls="icon-user" onclick="findDesign()">设计师</a>
+    <a id="btnDownloadFile" runat="server" visible="false" class="mini-button mini-button-success new_use_btn_green" iconcls="icon-download" onclick="downloadFileFn2()">下载文件</a>
+    <a id="btnOrderReset" runat="server" visible="false" class="mini-button mini-button-danger new_use_btn_red" iconcls="icon-reload" onclick="resetFn()">重置</a>
+    <a id="btnOrderDelete" runat="server" visible="false" class="mini-button mini-button-danger new_use_btn_red" iconcls="icon-stop" onclick="deleteFn()">删除</a>
+    <a id="btnClearRefund" runat="server" visible="false" class="mini-button mini-button-danger new_use_btn_red" iconcls="icon-remove" onclick="clearRefundFn()">清空退款状态</a>
+    <div class="hz">
+        <div style="margin-left: 10px;" id="id_gatherPayment">(0)</div>
+    </div>
+</asp:Content>
 
-    <asp:Content ID="Content4" ContentPlaceHolderID="content" runat="Server">
-        <div style="display: none">
-            <web:HtmlHidden ID="hImg" runat="server"></web:HtmlHidden>
-        </div>
-        <div class="mini-fit">
-            <div id="m_grid" class="mini-datagrid" style="width: 100%; height: 100%;" showsummaryrow="true" ondrawsummarycell="onDrawSummaryCell" contextmenu="#gridMenu" showemptytext="true" emptytext="暂无记录" url="../handler/sync.ashx?t=get_erp_orderlist">
-                <div property="columns">
-                    <div type="indexcolumn" width="20"></div>
-                    <div type="checkcolumn" width="20"></div>
-                    <div field="tid" width="100" align="left" headeralign="center" renderer="orderIdRenderer">订单编号</div>
-                    <div field="OrderSn" visible="false" headeralign="center">唯一识别号</div>
-                    <div field="SplitTag" width="20" visible="false" align="left" headeralign="center">拆分序号</div>
-                    <div field="pay_time" width="80" align="center" headeralign="center" renderer="orderPTimeRenderer">付款时间</div>
-                    <div field="seller_nick" visible="false" align="center" headeralign="center">店铺</div>
-                    <div field="buyer_nick" visible="false" align="center" headeralign="center">买家旺旺</div>
-                    <div field="total_fee" visible="false" width="50" align="center" headeralign="center" renderer="orderPay">总金额</div>
-                    <div field="refund_fees" width="50" align="center" headeralign="center">退款金额</div>
-                    <div field="payment" width="40" align="center" headeralign="center">付款金额</div>
-                    <div field="urgentCharge" width="40" align="center" headeralign="center">加急金额</div>
-                    <div field="IsOldCustomer" visible="false" width="30" align="center" headeralign="center" renderer="oldRenderer">老客户</div>
-                    <div field="seller_memo" width="150" align="center" headeralign="center" renderer="memoRenderer">备注</div>
-                    <div field="OtherMemo" width="60" align="center" headeralign="center">额外备注</div>
-                    <div field="OrderState" width="50" align="center" headeralign="center" renderer="orderStatusRenderer">状态</div>
-                    <div field="status" visible="false" align="center" headeralign="center">淘宝状态</div>
-                    <div field="isRefund" visible="false" align="center" headeralign="center">退款状态</div>
-                    <div field="CustomerTb" width="60" align="center" headeralign="center" renderer="orderCusRenderer">客服</div>
-                    <div field="DesignUserName" width="60" align="center" headeralign="center" renderer="orderDesignRenderer">设计师</div>
-                    <div field="DesignPrice" visible="false" align="center" headeralign="center">设计费</div>
-                    <div field="end_time" visible="false" align="center" headeralign="center">确认收货时间</div>
-
-                    <div field="WaitDesignTime" visible="false" align="center" headeralign="center">指派时间</div>
-                    <div field="FinishDesignTime" visible="false" align="center" headeralign="center">上传时间</div>
-                    <div field="delivery_time" visible="false" align="center" headeralign="center">发货时间</div>
-
-                    <div field="ProductName" visible="false" align="center" headeralign="center">产品类型</div>
-                    <div field="ProductSize" visible="false" align="center" headeralign="center">产品尺寸</div>
-                    <div field="ProductCount" visible="false" align="center" headeralign="center">产品数量</div>
-
-                    <div field="buyer_message" visible="false" align="center" headeralign="center">买家留言</div>
-                    <div field="SupplierName" visible="false" align="center" headeralign="center">供应商</div>
-                    <div field="OutSid" visible="false" align="center" headeralign="center">运单号</div>
-                    <div field="receiver_name" visible="false" align="center" headeralign="center">收件人</div>
-                    <div field="receiver_mobile" visible="false" align="center" headeralign="center">收件人手机</div>
-                    <div field="receiver_state" width="40" align="center" headeralign="center" renderer="receiverStateRenderer">收件省份</div>
-                    <div field="receiver_city" visible="false" align="center" headeralign="center">收件城市</div>
-                    <div field="receiver_address" visible="false" align="center" headeralign="center">收件地址</div>
-                    <div field="ReturnReason" width="60" align="center" headeralign="center">打回原因</div>
-                    <div field="WaitDesignTime" width="50" align="center" dateformat="yyyy-MM-dd HH:mm" headeralign="center">派单时间</div>
-                    <div name="action" width="60" headeralign="center" align="center" renderer="orderAction" cellstyle="padding:0;">#</div>
-                    <div field="CustomerMemo" width="60" align="center" headeralign="center" renderer="customerMemoAction">跟单情况备注</div>
-                </div>
+<asp:Content ID="Content4" ContentPlaceHolderID="content" runat="Server">
+    <div style="display: none">
+        <web:HtmlHidden ID="hImg" runat="server"></web:HtmlHidden>
+    </div>
+    <div class="mini-fit">
+        <div id="m_grid" class="mini-datagrid" style="width: 100%; height: 100%;" showsummaryrow="true" ondrawsummarycell="onDrawSummaryCell" contextmenu="#gridMenu" showemptytext="true" emptytext="暂无记录" url="../handler/sync.ashx?t=get_erp_orderlist">
+            <div property="columns">
+                <div type="indexcolumn" width="20"></div>
+                <div type="checkcolumn" width="20"></div>
+                <div field="tid" width="100" align="left" headeralign="center" renderer="orderIdRenderer">订单编号</div>
+                <div field="OrderSn" visible="false" headeralign="center">唯一识别号</div>
+                <div field="SplitTag" width="20" visible="false" align="left" headeralign="center">拆分序号</div>
+                <div field="pay_time" width="80" align="center" headeralign="center" renderer="orderPTimeRenderer">付款时间</div>
+                <div field="seller_nick" visible="false" align="center" headeralign="center">店铺</div>
+                <div field="buyer_nick" visible="false" align="center" headeralign="center">买家旺旺</div>
+                <div field="total_fee" visible="false" width="50" align="center" headeralign="center" renderer="orderPay">总金额</div>
+                <div field="refund_fees" width="50" align="center" headeralign="center">退款金额</div>
+                <div field="payment" width="40" align="center" headeralign="center">付款金额</div>
+                <div field="urgentCharge" width="40" align="center" headeralign="center">加急金额</div>
+                <div field="IsOldCustomer" visible="false" width="30" align="center" headeralign="center" renderer="oldRenderer">老客户</div>
+                <div field="seller_memo" width="150" align="center" headeralign="center" renderer="memoRenderer">备注</div>
+                <div field="OtherMemo" width="60" align="center" headeralign="center">额外备注</div>
+                <div field="OrderState" width="50" align="center" headeralign="center" renderer="orderStatusRenderer">状态</div>
+                <div field="status" visible="false" align="center" headeralign="center">淘宝状态</div>
+                <div field="isRefund" visible="false" align="center" headeralign="center">退款状态</div>
+                <div field="CustomerTb" width="60" align="center" headeralign="center" renderer="orderCusRenderer">客服</div>
+                <div field="DesignUserName" width="60" align="center" headeralign="center" renderer="orderDesignRenderer">设计师</div>
+                <div field="DesignPrice" visible="false" align="center" headeralign="center">设计费</div>
+                <div field="end_time" visible="false" align="center" headeralign="center">确认收货时间</div>
+
+                <div field="WaitDesignTime" visible="false" align="center" headeralign="center">指派时间</div>
+                <div field="FinishDesignTime" visible="false" align="center" headeralign="center">上传时间</div>
+                <div field="delivery_time" visible="false" align="center" headeralign="center">发货时间</div>
+
+                <div field="ProductName" visible="false" align="center" headeralign="center">产品类型</div>
+                <div field="ProductSize" visible="false" align="center" headeralign="center">产品尺寸</div>
+                <div field="ProductCount" visible="false" align="center" headeralign="center">产品数量</div>
+
+                <div field="buyer_message" visible="false" align="center" headeralign="center">买家留言</div>
+                <div field="SupplierName" visible="false" align="center" headeralign="center">供应商</div>
+                <div field="OutSid" visible="false" align="center" headeralign="center">运单号</div>
+                <div field="receiver_name" visible="false" align="center" headeralign="center">收件人</div>
+                <div field="receiver_mobile" visible="false" align="center" headeralign="center">收件人手机</div>
+                <div field="receiver_state" width="40" align="center" headeralign="center" renderer="receiverStateRenderer">收件省份</div>
+                <div field="receiver_city" visible="false" align="center" headeralign="center">收件城市</div>
+                <div field="receiver_address" visible="false" align="center" headeralign="center">收件地址</div>
+                <div field="ReturnReason" width="60" align="center" headeralign="center">打回原因</div>
+                <div field="WaitDesignTime" width="50" align="center" dateformat="yyyy-MM-dd HH:mm" headeralign="center">派单时间</div>
+                <div name="action" width="60" headeralign="center" align="center" renderer="orderAction" cellstyle="padding:0;">#</div>
+                <div field="CustomerMemo" width="60" align="center" headeralign="center" renderer="customerMemoAction">跟单情况备注</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>
+        <li name="edit" iconcls="icon-copy" onclick="onCopyUpLoaderUrl">复制上传地址</li>
+        <li name="edit" iconcls="icon-epay" onclick="onTagArrived">顺丰到付</li>
+        <li name="edit" iconcls="icon-spay" onclick="onTagStarted">顺丰寄付</li>
+        <li name="edit" iconcls="icon-stop" onclick="stopTagStarted">撤销顺丰</li>
+        <li name="edit" iconcls="icon-sms" onclick="onTagWechat">微信单</li>
+        <li name="edit" iconcls="icon-user" onclick="onTagRefund">退款挽回</li>
+        <li name="edit" iconcls="icon-xiaoshou" onclick="onTagMore">微信推购</li>
+        <li name="edit" iconcls="icon-xiaoshou" onclick="onTagGoods">旺旺推购</li>
+        <li name="edit" iconcls="icon-xiaoshou" onclick="onCancelTagGoods">取消推购</li>
+        <li name="edit" iconcls="icon-xiaoshou" onclick="onUrgentCharge">加急费</li>
+        <%--<li name="edit" iconCls="icon-search" onclick="onCheckOrder">查货</li>--%>
+        <li name="edit" iconcls="icon-ok" onclick="onXlwTag">标记小礼物</li>
+        <li name="edit" iconcls="icon-add" onclick="onAddWechatTag">已添加微信</li>
+        <li name="edit" iconcls="icon-epay" onclick="onShowRule">知识库</li>
+        <li name="edit" iconcls="icon-stop" onclick="onReturnVisit">客户回访</li>
+    </ul>
+
+
+    <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="payimg_win" class="mini-window" title="文件预览" style="max-height: 100%; max-width: 100%; position: relative; display: none">
+        <img id="p_img" style="width: 100%; height: 100%;" onclick="largeImage(this)" src="../images/no_photo.png" />
+    </div>
+
+
+    <div id="memo_win" class="mini-window" title="备注信息" style="width: 550px; height: 260px; 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="txtMemo" style="width: 96%; height: 60px;"></textarea></td>
+            </tr>
+            <tr>
+                <td class="td1">留言</td>
+                <td class="td2" colspan="4">
+                    <a id="aMemoMsgNull" checkonclick="true" groupname="memo_msg" class="mini-button" oncheckedchanged="onMemoMsgCheckedChanged(0)">无</a>
+                    <a id="aMemoMsgGai" checkonclick="true" groupname="memo_msg" class="mini-button" oncheckedchanged="onMemoMsgCheckedChanged(1)">改稿</a>
+                    <a id="aMemoMsgDing" checkonclick="true" groupname="memo_msg" class="mini-button" oncheckedchanged="onMemoMsgCheckedChanged(2)">定稿</a>
+                    <%--<a id="aMemoMsgCha" checkonclick="true" groupname="memo_msg" class="mini-button" oncheckedchanged="onMemoMsgCheckedChanged(3)">查货</a>--%>
+                </td>
 
-        <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>
-            <li name="edit" iconcls="icon-copy" onclick="onCopyUpLoaderUrl">复制上传地址</li>
-            <li name="edit" iconcls="icon-epay" onclick="onTagArrived">顺丰到付</li>
-            <li name="edit" iconcls="icon-spay" onclick="onTagStarted">顺丰寄付</li>
-            <li name="edit" iconcls="icon-stop" onclick="stopTagStarted">撤销顺丰</li>
-            <li name="edit" iconcls="icon-sms" onclick="onTagWechat">微信单</li>
-            <li name="edit" iconcls="icon-user" onclick="onTagRefund">退款挽回</li>
-            <li name="edit" iconcls="icon-xiaoshou" onclick="onTagMore">微信推购</li>
-            <li name="edit" iconcls="icon-xiaoshou" onclick="onTagGoods">旺旺推购</li>
-            <li name="edit" iconcls="icon-xiaoshou" onclick="onCancelTagGoods">取消推购</li>
-            <li name="edit" iconcls="icon-xiaoshou" onclick="onUrgentCharge">加急费</li>
-            <%--<li name="edit" iconCls="icon-search" onclick="onCheckOrder">查货</li>--%>
-            <li name="edit" iconcls="icon-ok" onclick="onXlwTag">标记小礼物</li>
-            <li name="edit" iconcls="icon-add" onclick="onAddWechatTag">已添加微信</li>
-            <li name="edit" iconcls="icon-epay" onclick="onShowRule">知识库</li>
-            <li name="edit" iconcls="icon-stop" onclick="onReturnVisit">客户回访</li>
-        </ul>
-
-
-        <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="payimg_win" class="mini-window" title="文件预览" style="max-height: 100%; max-width: 100%; position: relative; display: none">
-            <img id="p_img" style="width: 100%; height: 100%;" onclick="largeImage(this)" src="../images/no_photo.png" />
-        </div>
-
-
-        <div id="memo_win" class="mini-window" title="备注信息" style="width: 550px; height: 260px; 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="txtMemo" style="width: 96%; height: 60px;"></textarea></td>
-                </tr>
-                <tr>
-                    <td class="td1">留言</td>
-                    <td class="td2" colspan="4">
-                        <a id="aMemoMsgNull" checkonclick="true" groupname="memo_msg" class="mini-button" oncheckedchanged="onMemoMsgCheckedChanged(0)">无</a>
-                        <a id="aMemoMsgGai" checkonclick="true" groupname="memo_msg" class="mini-button" oncheckedchanged="onMemoMsgCheckedChanged(1)">改稿</a>
-                        <a id="aMemoMsgDing" checkonclick="true" groupname="memo_msg" class="mini-button" oncheckedchanged="onMemoMsgCheckedChanged(2)">定稿</a>
-                        <%--<a id="aMemoMsgCha" checkonclick="true" groupname="memo_msg" class="mini-button" oncheckedchanged="onMemoMsgCheckedChanged(3)">查货</a>--%>
-                    </td>
-
-                </tr>
-                <tr>
-                    <td colspan="4">
-                        <div class="win_btn" style="text-align: center;">
-                            <a class="mini-button" iconcls="icon-ok" onclick="saveMemoFn">保存</a>&nbsp;
+            </tr>
+            <tr>
+                <td colspan="4">
+                    <div class="win_btn" style="text-align: center;">
+                        <a class="mini-button" iconcls="icon-ok" onclick="saveMemoFn">保存</a>&nbsp;
                         <a class="mini-button" iconcls="icon-cancel" onclick="canceMemolFn">取消</a>
-                        </div>
-                    </td>
-                </tr>
-            </table>
-        </div>
+                    </div>
+                </td>
+            </tr>
+        </table>
+    </div>
+
+    <div id="othermemo_win" class="mini-window" title="额外备注信息" style="width: 550px; height: 300px; 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="txtOtherMemo" style="width: 96%; height: 60px;"></textarea></td>
+            </tr>
 
-        <div id="othermemo_win" class="mini-window" title="额外备注信息" style="width: 550px; height: 300px; 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="txtOtherMemo" 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="saveOtherMemoFn">保存</a>&nbsp;
+            <tr>
+                <td colspan="4">
+                    <div class="win_btn" style="text-align: center;">
+                        <a class="mini-button" iconcls="icon-ok" onclick="saveOtherMemoFn">保存</a>&nbsp;
                         <a class="mini-button" iconcls="icon-cancel" onclick="cancelOtherMemoFn">取消</a>
-                        </div>
-                    </td>
-                </tr>
-            </table>
-        </div>
+                    </div>
+                </td>
+            </tr>
+        </table>
+    </div>
 
-        <div id="aftersale_win" class="mini-window" title="标记售后" style="width: 360px; height: 180px; position: relative; display: none">
-            <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
-                <tr>
-                    <td class="td1">售后原因</td>
-                    <td class="td2">
-                        <select id="reason" style="width: 80%;">
-                            <option value="客服问题">客服问题</option>
-                            <option value="设计问题">设计问题</option>
-                            <option value="客户问题">客户问题</option>
-                            <option value="车间问题">车间问题</option>
-                            <option value="下单问题">下单问题</option>
-                            <option value="快递问题">快递问题</option>
-                            <option value="超成本">超成本</option>
-                            <option value="重复下单">重复下单</option>
-                            <option value="报价系统问题">报价系统问题</option>
-                            <option value="没按报价系统报价">没按报价系统报价</option>
-                        </select>
-                    </td>
-                </tr>
-                <tr>
-                    <td colspan="4">
-                        <div class="win_btn" style="text-align: center;">
-                            <a class="mini-button" iconcls="icon-ok" onclick="saveAfterFn">确定</a>&nbsp;
+    <div id="aftersale_win" class="mini-window" title="标记售后" style="width: 360px; height: 180px; position: relative; display: none">
+        <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
+            <tr>
+                <td class="td1">售后原因</td>
+                <td class="td2">
+                    <select id="reason" style="width: 80%;">
+                        <option value="客服问题">客服问题</option>
+                        <option value="设计问题">设计问题</option>
+                        <option value="客户问题">客户问题</option>
+                        <option value="车间问题">车间问题</option>
+                        <option value="下单问题">下单问题</option>
+                        <option value="快递问题">快递问题</option>
+                        <option value="超成本">超成本</option>
+                        <option value="重复下单">重复下单</option>
+                        <option value="报价系统问题">报价系统问题</option>
+                        <option value="没按报价系统报价">没按报价系统报价</option>
+                    </select>
+                </td>
+            </tr>
+            <tr>
+                <td colspan="4">
+                    <div class="win_btn" style="text-align: center;">
+                        <a class="mini-button" iconcls="icon-ok" onclick="saveAfterFn">确定</a>&nbsp;
                         <a class="mini-button" iconcls="icon-cancel" onclick="cancelAfterFn">取消</a>
-                        </div>
-                    </td>
-                </tr>
-            </table>
-        </div>
-
-        <div id="bill_win" class="mini-window" title="发票信息" style="width: 750px; height: 590px; position: relative; display: none">
-
-            <fieldset style="border: solid 1px #aaa; padding: 3px;">
-                <legend>发票信息</legend>
-                <div style="padding: 3px;">
-                    <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
-                        <tr>
-                            <td class="td1">
-                                <text style="color: red;">*</text>
-                                抬头</td>
-                            <td class="td2">
-                                <input type="text" id="txtBillTitle" /></td>
-                            <td class="td1">税号</td>
-                            <td class="td2">
-                                <input type="text" id="txtBillTax" /></td>
-                        </tr>
-                        <tr>
-                            <td class="td1">开户行</td>
-                            <td class="td2">
-                                <input type="text" id="txtBillBank" /></td>
-                            <td class="td1">账号</td>
-                            <td class="td2">
-                                <input type="text" id="txtBillAccount" /></td>
-                        </tr>
-                        <tr>
-                            <td class="td1">地址</td>
-                            <td class="td2">
-                                <input type="text" id="txtBillAddress" /></td>
-                            <td class="td1">电话</td>
-                            <td class="td2">
-                                <input type="text" id="txtBillPhone" /></td>
-                        </tr>
-                        <tr>
-                            <td class="td1">
-                                <text style="color: red;">*</text>
-                                总价</td>
-                            <td class="td2">
-                                <input type="text" id="txtBillPrice" /></td>
-                            <td class="td1">
-                                <text style="color: red;">*</text>
-                                明细</td>
-                            <td class="td2">
-                                <input id="txtBillProduct" class="mini-combobox" style="width: 90%;" textfield="name" valuefield="id" required="true" allowinput="true" valuefromselect="true" url="../handler/sync.ashx?t=get_some_product" />
-                            </td>
-                        </tr>
-                        <tr>
-                            <td class="td1">数量</td>
-                            <td class="td2" style="display: flex; flex-direction: row;">
-                                <input style="width: 80px; margin-right: 20px;" type="text" id="txtBillNum" />
-                                <select id="txtBillUnit">
-                                    <option value="">不要单位</option>
-                                    <option value="张">张</option>
-                                    <option value="个">个</option>
-                                    <option value="条">条</option>
-                                </select>
-                            </td>
-                            <td class="td1">规格</td>
-                            <td class="td2">
-                                <select id="txtBillType">
-                                    <option value="普通发票">普通发票</option>
-                                    <option value="专用发票">专用发票</option>
-                                </select></td>
-                        </tr>
-
-
-                    </table>
-                </div>
-            </fieldset>
-
-            <fieldset style="border: solid 1px #aaa; padding: 3px;">
-                <legend>扩展信息</legend>
-                <div style="padding: 3px;">
-                    <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
-                        <tr>
-                            <td class="td1">订单号</td>
-                            <td class="td2">
-                                <input type="text" id="txtBillTid" /></td>
-                            <td class="td1">发票类型</td>
-                            <td class="td2">
-                                <select id="txtBillSendType">
-                                    <option value="电子发票">电子发票</option>
-                                    <option value="纸质发票">纸质发票</option>
-                                </select></td>
-                        </tr>
-
-
-                        <tr>
-                            <td class="td1">邮箱/地址</td>
-                            <td class="td2" colspan="3">
-                                <input type="text" id="txtBillEmail" />
-                            </td>
-                        </tr>
-                        <tr>
-                            <td class="td1">备注</td>
-                            <td class="td2" colspan="3">
-                                <input type="text" id="txtBillApplyMemo" />
-                            </td>
-                        </tr>
-                        <tr>
-                            <td colspan="4">
-                                <div class="win_btn" style="text-align: center;">
-                                    <a class="mini-button" iconcls="icon-ok" onclick="saveBillFn">保存</a>&nbsp;
+                    </div>
+                </td>
+            </tr>
+        </table>
+    </div>
+
+    <div id="bill_win" class="mini-window" title="发票信息" style="width: 750px; height: 590px; position: relative; display: none">
+
+        <fieldset style="border: solid 1px #aaa; padding: 3px;">
+            <legend>发票信息</legend>
+            <div style="padding: 3px;">
+                <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
+                    <tr>
+                        <td class="td1">
+                            <text style="color: red;">*</text>
+                            抬头</td>
+                        <td class="td2">
+                            <input type="text" id="txtBillTitle" /></td>
+                        <td class="td1">税号</td>
+                        <td class="td2">
+                            <input type="text" id="txtBillTax" /></td>
+                    </tr>
+                    <tr>
+                        <td class="td1">开户行</td>
+                        <td class="td2">
+                            <input type="text" id="txtBillBank" /></td>
+                        <td class="td1">账号</td>
+                        <td class="td2">
+                            <input type="text" id="txtBillAccount" /></td>
+                    </tr>
+                    <tr>
+                        <td class="td1">地址</td>
+                        <td class="td2">
+                            <input type="text" id="txtBillAddress" /></td>
+                        <td class="td1">电话</td>
+                        <td class="td2">
+                            <input type="text" id="txtBillPhone" /></td>
+                    </tr>
+                    <tr>
+                        <td class="td1">
+                            <text style="color: red;">*</text>
+                            总价</td>
+                        <td class="td2">
+                            <input type="text" id="txtBillPrice" /></td>
+                        <td class="td1">
+                            <text style="color: red;">*</text>
+                            明细</td>
+                        <td class="td2">
+                            <input id="txtBillProduct" class="mini-combobox" style="width: 90%;" textfield="name" valuefield="id" required="true" allowinput="true" valuefromselect="true" url="../handler/sync.ashx?t=get_some_product" />
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="td1">数量</td>
+                        <td class="td2" style="display: flex; flex-direction: row;">
+                            <input style="width: 80px; margin-right: 20px;" type="text" id="txtBillNum" />
+                            <select id="txtBillUnit">
+                                <option value="">不要单位</option>
+                                <option value="张">张</option>
+                                <option value="个">个</option>
+                                <option value="条">条</option>
+                            </select>
+                        </td>
+                        <td class="td1">规格</td>
+                        <td class="td2">
+                            <select id="txtBillType">
+                                <option value="普通发票">普通发票</option>
+                                <option value="专用发票">专用发票</option>
+                            </select></td>
+                    </tr>
+
+
+                </table>
+            </div>
+        </fieldset>
+
+        <fieldset style="border: solid 1px #aaa; padding: 3px;">
+            <legend>扩展信息</legend>
+            <div style="padding: 3px;">
+                <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
+                    <tr>
+                        <td class="td1">订单号</td>
+                        <td class="td2">
+                            <input type="text" id="txtBillTid" /></td>
+                        <td class="td1">发票类型</td>
+                        <td class="td2">
+                            <select id="txtBillSendType">
+                                <option value="电子发票">电子发票</option>
+                                <option value="纸质发票">纸质发票</option>
+                            </select></td>
+                    </tr>
+
+
+                    <tr>
+                        <td class="td1">邮箱/地址</td>
+                        <td class="td2" colspan="3">
+                            <input type="text" id="txtBillEmail" />
+                        </td>
+                    </tr>
+                    <tr>
+                        <td class="td1">备注</td>
+                        <td class="td2" colspan="3">
+                            <input type="text" id="txtBillApplyMemo" />
+                        </td>
+                    </tr>
+                    <tr>
+                        <td colspan="4">
+                            <div class="win_btn" style="text-align: center;">
+                                <a class="mini-button" iconcls="icon-ok" onclick="saveBillFn">保存</a>&nbsp;
                         <a class="mini-button" iconcls="icon-cancel" onclick="cancelBillFn">取消</a>
-                                </div>
-                            </td>
-                        </tr>
-                    </table>
+                            </div>
+                        </td>
+                    </tr>
+                </table>
 
-                </div>
-            </fieldset>
-        </div>
+            </div>
+        </fieldset>
+    </div>
 
-        <%--<div id="addorder_win" class="mini-window" title="新增订单" style="width: 750px; height: 350px; position: relative; display: none">
+    <%--<div id="addorder_win" class="mini-window" title="新增订单" style="width: 750px; height: 350px; position: relative; display: none">
         <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
             <tr>
                 <td class="td1"><text style="color: red;">*</text>店铺</td>
@@ -422,420 +423,535 @@
         </table>
     </div>--%>
 
-        <div id="addorder_win" class="mini-window" title="新增订单" style="width: 750px; height: 580px; position: relative; display: none">
-            <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
-                <tr>
-                    <td class="td1">
-                        <text style="color: red;">*</text>店铺</td>
-                    <td class="td2">
-                        <input id="txtAddShopName" class="mini-combobox" style="width: 70%;" onvaluechanged="changeShopNameFn" textfield="name" valuefield="id" required="true" allowinput="true" valuefromselect="true" url="../handler/sync.ashx?t=get_sel_shop" />
-                    </td>
-                    <td class="td1">
-                        <text style="color: red;">*</text>
-                        总价</td>
-                    <td class="td2">
-                        <input type="text" id="txtAddPrice" /></td>
-                </tr>
-                <tr>
-                    <td class="td1">
-                        <text style="color: red;">*</text>
-                        买家旺旺</td>
-                    <td class="td2">
-                        <input type="text" id="txtAddWW" />
-                    </td>
-
-                    <td class="td1">需要设计</td>
-                    <td class="td2" colspan="3">
-                        <input type="checkbox" id="chkAddIsDesign" /></td>
-
-                </tr>
-                <tr>
-                    <td class="td1">
-                        <text style="color: red;">*</text>
-                        收货人</td>
-                    <td class="td2">
-                        <input type="text" id="txtAddReceiver" /></td>
-                    <td class="td1">
-                        <text style="color: red;">*</text>
-                        联系电话</td>
-                    <td class="td2">
-                        <input type="text" id="txtAddPhone" /></td>
-                </tr>
-                <tr>
-                    <td class="td1">
-                        <text style="color: red;">*</text>商品</td>
-                    <td class="td2" colspan="3">
-                        <input id="txtAddProductId" class="mini-combobox" style="width: 70%;" onvaluechanged="changeProductFn" textfield="name" valuefield="id" required="true" allowinput="true" valuefromselect="true" url="../handler/sync.ashx?t=get_sel_product" />
-                    </td>
-                </tr>
-                <tr>
-                    <td class="td1">
-                        <text style="color: red;">*</text>收货地址</td>
-                    <td class="td2" colspan="3">
-                        <input id="txtAddProvince" class="mini-combobox" onvaluechanged="changeProvinceFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
-                        <input id="txtAddCity" class="mini-combobox" onvaluechanged="changeCityFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
-                        <input id="txtAddCounty" class="mini-combobox" onvaluechanged="changeCountyFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
-                        <input type="text" id="txtAddDetailAddress" style="width: 70%; margin-top: 10px;" />
-                    </td>
-                </tr>
-                <tr>
-                    <td class="td1">备注</td>
-                    <td class="td2" colspan="3">
-                        <textarea id="txtAddMemo" style="width: 96%; height: 60px;"></textarea></td>
-                </tr>
-                <tr>
-                    <td class="td1" style="color: red;">付款凭证(非公司自用必传)</td>
-                    <td class="td1" colspan="1">
-                        <img id="preview_img1" src="../images/no_photo.png" style="width: 100px; height: 100px;" />
-                    </td>
-                    <td class="td1" colspan="2">
-                        <input type="file" id="ssi-upload-x" />
-                    </td>
-                </tr>
-                <tr>
-                    <td class="td1" style="color: red;" colspan="4">提示:只允许转公司支付宝或微信!!</td>
-                </tr>
-                <tr>
-                    <td colspan="4">
-                        <div class="win_btn" style="text-align: center;">
-                            <a class="mini-button" iconcls="icon-ok" onclick="saveAddFn">保存</a>&nbsp;
+    <div id="addorder_win" class="mini-window" title="新增订单" style="width: 750px; height: 580px; position: relative; display: none">
+        <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
+            <tr>
+                <td class="td1">
+                    <text style="color: red;">*</text>店铺</td>
+                <td class="td2">
+                    <input id="txtAddShopName" class="mini-combobox" style="width: 70%;" onvaluechanged="changeShopNameFn" textfield="name" valuefield="id" required="true" allowinput="true" valuefromselect="true" url="../handler/sync.ashx?t=get_sel_shop" />
+                </td>
+                <td class="td1">
+                    <text style="color: red;">*</text>
+                    总价</td>
+                <td class="td2">
+                    <input type="text" id="txtAddPrice" /></td>
+            </tr>
+            <tr>
+                <td class="td1">
+                    <text style="color: red;">*</text>
+                    买家旺旺</td>
+                <td class="td2">
+                    <input type="text" id="txtAddWW" />
+                </td>
+
+                <td class="td1">需要设计</td>
+                <td class="td2" colspan="3">
+                    <input type="checkbox" id="chkAddIsDesign" /></td>
+
+            </tr>
+            <tr>
+                <td class="td1">
+                    <text style="color: red;">*</text>
+                    收货人</td>
+                <td class="td2">
+                    <input type="text" id="txtAddReceiver" /></td>
+                <td class="td1">
+                    <text style="color: red;">*</text>
+                    联系电话</td>
+                <td class="td2">
+                    <input type="text" id="txtAddPhone" /></td>
+            </tr>
+            <tr>
+                <td class="td1">
+                    <text style="color: red;">*</text>商品</td>
+                <td class="td2" colspan="3">
+                    <input id="txtAddProductId" class="mini-combobox" style="width: 70%;" onvaluechanged="changeProductFn" textfield="name" valuefield="id" required="true" allowinput="true" valuefromselect="true" url="../handler/sync.ashx?t=get_sel_product" />
+                </td>
+            </tr>
+            <tr>
+                <td class="td1">
+                    <text style="color: red;">*</text>收货地址</td>
+                <td class="td2" colspan="3">
+                    <input id="txtAddProvince" class="mini-combobox" onvaluechanged="changeProvinceFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
+                    <input id="txtAddCity" class="mini-combobox" onvaluechanged="changeCityFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
+                    <input id="txtAddCounty" class="mini-combobox" onvaluechanged="changeCountyFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
+                    <input type="text" id="txtAddDetailAddress" style="width: 70%; margin-top: 10px;" />
+                </td>
+            </tr>
+            <tr>
+                <td class="td1">备注</td>
+                <td class="td2" colspan="3">
+                    <textarea id="txtAddMemo" style="width: 96%; height: 60px;"></textarea></td>
+            </tr>
+            <tr>
+                <td class="td1" style="color: red;">付款凭证(非公司自用必传)</td>
+                <td class="td1" colspan="1">
+                    <img id="preview_img1" src="../images/no_photo.png" style="width: 100px; height: 100px;" />
+                </td>
+                <td class="td1" colspan="2">
+                    <input type="file" id="ssi-upload-x" />
+                </td>
+            </tr>
+            <tr>
+                <td class="td1" style="color: red;" colspan="4">提示:只允许转公司支付宝或微信!!</td>
+            </tr>
+            <tr>
+                <td colspan="4">
+                    <div class="win_btn" style="text-align: center;">
+                        <a class="mini-button" iconcls="icon-ok" onclick="saveAddFn">保存</a>&nbsp;
                         <a class="mini-button" iconcls="icon-cancel" onclick="canceAddlFn">取消</a>
-                        </div>
-                    </td>
-                </tr>
-            </table>
-        </div>
+                    </div>
+                </td>
+            </tr>
+        </table>
+    </div>
 
-        <div id="address_win" class="mini-window" title="修改地址" style="width: 750px; height: 270px; position: relative; display: none">
-            <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
-                <tr>
-                    <td class="td1">
-                        <text style="color: red;">*</text>
-                        收货人</td>
-                    <td class="td2">
-                        <input type="text" id="txtModifyReceiver" /></td>
-                    <td class="td1">
-                        <text style="color: red;">*</text>
-                        联系电话</td>
-                    <td class="td2">
-                        <input type="text" id="txtModifyPhone" /></td>
-                </tr>
-                <tr>
-                    <td class="td1">
-                        <text style="color: red;">*</text>收货地址</td>
-                    <td class="td2" colspan="3">
-                        <input id="txtModifyProvince" class="mini-combobox" style="width: 32%;" onvaluechanged="changeProvinceFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
-                        <input id="txtModifyCity" class="mini-combobox" style="width: 32%;" onvaluechanged="changeCityFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
-                        <input id="txtModifyCounty" class="mini-combobox" style="width: 32%;" onvaluechanged="changeCountyFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
-                        <input type="text" id="txtModifyDetailAddress" style="width: 96%; margin-top: 10px;" />
-                    </td>
-                </tr>
-
-                <tr>
-                    <td colspan="4">
-                        <div class="win_btn" style="text-align: center;">
-                            <a class="mini-button" iconcls="icon-ok" onclick="saveModifyAddressFn">保存</a>&nbsp;
+    <div id="address_win" class="mini-window" title="修改地址" style="width: 750px; height: 270px; position: relative; display: none">
+        <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
+            <tr>
+                <td class="td1">
+                    <text style="color: red;">*</text>
+                    收货人</td>
+                <td class="td2">
+                    <input type="text" id="txtModifyReceiver" /></td>
+                <td class="td1">
+                    <text style="color: red;">*</text>
+                    联系电话</td>
+                <td class="td2">
+                    <input type="text" id="txtModifyPhone" /></td>
+            </tr>
+            <tr>
+                <td class="td1">
+                    <text style="color: red;">*</text>收货地址</td>
+                <td class="td2" colspan="3">
+                    <input id="txtModifyProvince" class="mini-combobox" style="width: 32%;" onvaluechanged="changeProvinceFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
+                    <input id="txtModifyCity" class="mini-combobox" style="width: 32%;" onvaluechanged="changeCityFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
+                    <input id="txtModifyCounty" class="mini-combobox" style="width: 32%;" onvaluechanged="changeCountyFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
+                    <input type="text" id="txtModifyDetailAddress" style="width: 96%; margin-top: 10px;" />
+                </td>
+            </tr>
+
+            <tr>
+                <td colspan="4">
+                    <div class="win_btn" style="text-align: center;">
+                        <a class="mini-button" iconcls="icon-ok" onclick="saveModifyAddressFn">保存</a>&nbsp;
                         <a class="mini-button" iconcls="icon-cancel" onclick="canceModifyAddressFn">取消</a>
-                        </div>
-                    </td>
-                </tr>
-            </table>
-        </div>
+                    </div>
+                </td>
+            </tr>
+        </table>
+    </div>
 
 
-        <div id="download_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"><span style="color: red;">*</span>店铺</td>
-                    <td class="td2">
-                        <input id="txtDownShopName" class="mini-combobox" style="width: 90%;" onvaluechanged="changeProductFn" textfield="name" valuefield="id" required="true" allowinput="true" valuefromselect="true" url="../handler/sync.ashx?t=get_sel_shop" />
-                    </td>
-
-                </tr>
-                <tr>
-                    <td class="td1">
-                        <span style="color: red;">*</span>
-                        订单编号</td>
-                    <td class="td2">
-                        <input type="text" id="txtDownTid" required="true" /></td>
-                </tr>
-
-                <tr>
-                    <td colspan="4">
-                        <div class="win_btn" style="text-align: center;">
-                            <a class="mini-button" iconcls="icon-ok" onclick="saveDownloadFn">下载</a>&nbsp;
+    <div id="download_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"><span style="color: red;">*</span>店铺</td>
+                <td class="td2">
+                    <input id="txtDownShopName" class="mini-combobox" style="width: 90%;" onvaluechanged="changeProductFn" textfield="name" valuefield="id" required="true" allowinput="true" valuefromselect="true" url="../handler/sync.ashx?t=get_sel_shop" />
+                </td>
+
+            </tr>
+            <tr>
+                <td class="td1">
+                    <span style="color: red;">*</span>
+                    订单编号</td>
+                <td class="td2">
+                    <input type="text" id="txtDownTid" required="true" /></td>
+            </tr>
+
+            <tr>
+                <td colspan="4">
+                    <div class="win_btn" style="text-align: center;">
+                        <a class="mini-button" iconcls="icon-ok" onclick="saveDownloadFn">下载</a>&nbsp;
                         <a class="mini-button" iconcls="icon-cancel" onclick="cancelDownloadFn">取消</a>
-                        </div>
-                    </td>
-                </tr>
-            </table>
-        </div>
+                    </div>
+                </td>
+            </tr>
+        </table>
+    </div>
+
+    <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>
+                <td class="td1">运单号</td>
+                <td class="td2">
+                    <input type="text" id="txtTransNo" /></td>
+            </tr>
 
-        <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>
-                    <td class="td1">运单号</td>
-                    <td class="td2">
-                        <input type="text" id="txtTransNo" /></td>
-                </tr>
-
-                <tr>
-                    <td class="td1">物流公司</td>
-                    <td class="td2" colspan="3">
-                        <input id="txtComName" class="mini-combobox" style="width: 80%;" textfield="name" valuefield="code" required="true" allowinput="true" valuefromselect="true" url="../data/companies.txt" />
-                    </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>&nbsp;
+            <tr>
+                <td class="td1">物流公司</td>
+                <td class="td2" colspan="3">
+                    <input id="txtComName" class="mini-combobox" style="width: 80%;" textfield="name" valuefield="code" required="true" allowinput="true" valuefromselect="true" url="../data/companies.txt" />
+                </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>&nbsp;
                         <a class="mini-button" iconcls="icon-cancel" onclick="cancelDeliveryFn">取消</a>
-                        </div>
-                    </td>
-                </tr>
-            </table>
-        </div>
+                    </div>
+                </td>
+            </tr>
+        </table>
+    </div>
 
 
-        <div id="return_win" class="mini-window" title="返现" style="width: 750px; height: 450px; position: relative; display: none">
-            <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
-                <tr>
-                    <td class="td1">单号</td>
-                    <td class="td2">
-                        <input type="text" id="txtReturnTid" />
-                    </td>
-                    <td class="td1">类型</td>
-                    <td class="td2">
-                        <select id="txtReturnType" style="width: 80%;">
-                            <option value="送样返现">送样返现</option>
-                            <option value="退款返现">退款返现</option>
-                            <option value="好评返现">好评返现</option>
-                            <option value="多拍返现">多拍返现</option>
-                            <option value="微信返现">微信返现</option>
-                            <option value="其他返现">其他返现</option>
-                        </select>
-                    </td>
-                </tr>
-                <tr>
-                    <td class="td1">金额</td>
-                    <td class="td2">
-                        <input type="text" id="txtReturnPrice" /></td>
-                    <td class="td1">说明</td>
-                    <td class="td2">
-                        <input type="text" id="txtReturnCon" /></td>
-                </tr>
-                <tr>
-                    <td class="td1" colspan="2">
-                        <img id="preview_img" src="../images/no_photo.png" style="width: 100px; height: 100px;" />
-                    </td>
-                    <td class="td1" colspan="2">
-                        <input type="file" id="ssi-upload" />
-                    </td>
-                </tr>
-                <tr>
-                    <td colspan="4">
-                        <div style="display: flex; flex-direction: row; width: 100%; color: darkgray;">
-                            <div style="width: 25%;">类型</div>
-                            <div style="width: 25%;">金额</div>
-                            <div style="width: 25%;">申请时间</div>
-                            <div style="width: 25%;">申请人</div>
-                        </div>
-                    </td>
-                </tr>
-                <tr>
-                    <td colspan="4">
-                        <div id="divReturnRecord" style="display: block; width: 100%;">
-                        </div>
-                    </td>
-                </tr>
-
-
-                <tr>
-                    <td colspan="4">
-                        <div class="win_btn" style="text-align: center;">
-                            <a class="mini-button" iconcls="icon-ok" onclick="saveReturnFn">保存</a>&nbsp;
+    <div id="return_win" class="mini-window" title="返现" style="width: 750px; height: 450px; position: relative; display: none">
+        <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
+            <tr>
+                <td class="td1">单号</td>
+                <td class="td2">
+                    <input type="text" id="txtReturnTid" />
+                </td>
+                <td class="td1">类型</td>
+                <td class="td2">
+                    <select id="txtReturnType" style="width: 80%;">
+                        <option value="送样返现">送样返现</option>
+                        <option value="退款返现">退款返现</option>
+                        <option value="好评返现">好评返现</option>
+                        <option value="多拍返现">多拍返现</option>
+                        <option value="微信返现">微信返现</option>
+                        <option value="其他返现">其他返现</option>
+                    </select>
+                </td>
+            </tr>
+            <tr>
+                <td class="td1">金额</td>
+                <td class="td2">
+                    <input type="text" id="txtReturnPrice" /></td>
+                <td class="td1">说明</td>
+                <td class="td2">
+                    <input type="text" id="txtReturnCon" /></td>
+            </tr>
+            <tr>
+                <td class="td1" colspan="2">
+                    <img id="preview_img" src="../images/no_photo.png" style="width: 100px; height: 100px;" />
+                </td>
+                <td class="td1" colspan="2">
+                    <input type="file" id="ssi-upload" />
+                </td>
+            </tr>
+            <tr>
+                <td colspan="4">
+                    <div style="display: flex; flex-direction: row; width: 100%; color: darkgray;">
+                        <div style="width: 25%;">类型</div>
+                        <div style="width: 25%;">金额</div>
+                        <div style="width: 25%;">申请时间</div>
+                        <div style="width: 25%;">申请人</div>
+                    </div>
+                </td>
+            </tr>
+            <tr>
+                <td colspan="4">
+                    <div id="divReturnRecord" style="display: block; width: 100%;">
+                    </div>
+                </td>
+            </tr>
+
+
+            <tr>
+                <td colspan="4">
+                    <div class="win_btn" style="text-align: center;">
+                        <a class="mini-button" iconcls="icon-ok" onclick="saveReturnFn">保存</a>&nbsp;
                         <a class="mini-button" iconcls="icon-cancel" onclick="canceReturnFn">取消</a>
-                        </div>
-                    </td>
-                </tr>
-            </table>
-        </div>
+                    </div>
+                </td>
+            </tr>
+        </table>
+    </div>
 
 
-        <div id="distribute_win" class="mini-window" title="指派设计师" style="width: 360px; height: 180px; position: relative; display: none">
-            <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
-                <tr>
-                    <td class="td1">设计师</td>
-                    <td class="td2">
-                        <input id="txtDesign" class="mini-combobox" style="width: 90%;" textfield="bname" valuefield="id" allowinput="true" valuefromselect="true" url="../handler/sync.ashx?t=get_sel_pen_designer" />
-                    </td>
-                </tr>
-                <tr>
-                    <td colspan="4">
-                        <div class="win_btn" style="text-align: center;">
-                            <a class="mini-button" iconcls="icon-ok" onclick="saveDistributeFn">确定</a>&nbsp;
+    <div id="distribute_win" class="mini-window" title="指派设计师" style="width: 360px; height: 180px; position: relative; display: none">
+        <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
+            <tr>
+                <td class="td1">设计师</td>
+                <td class="td2">
+                    <input id="txtDesign" class="mini-combobox" style="width: 90%;" textfield="bname" valuefield="id" allowinput="true" valuefromselect="true" url="../handler/sync.ashx?t=get_sel_pen_designer" />
+                </td>
+            </tr>
+            <tr>
+                <td colspan="4">
+                    <div class="win_btn" style="text-align: center;">
+                        <a class="mini-button" iconcls="icon-ok" onclick="saveDistributeFn">确定</a>&nbsp;
                         <a class="mini-button" iconcls="icon-cancel" onclick="cancelDistributeFn">取消</a>
-                        </div>
-                    </td>
-                </tr>
-            </table>
-        </div>
+                    </div>
+                </td>
+            </tr>
+        </table>
+    </div>
+    <div id="uploaderAddress_win" class="mini-window" title="上传文件地址" style="width: 600px; height: 270px; 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="address_file" />
+                </td>
+            </tr>
+            <tr>
+                <td class="td1">文件地址</td>
+                <td class="td2">
+                    <div id="uploader_url"></div>
+                </td>
+            </tr>
+            <tr>
+                <td colspan="4">
+                    <div class="win_btn" style="text-align: center;">
+                        <a class="mini-button" iconcls="icon-ok" onclick="saveUploaderAddressFn">确定</a>&nbsp;
+                        <a class="mini-button" iconcls="icon-cancel" onclick="cancelUploaderAddressFn">取消</a>
+                    </div>
+                </td>
+            </tr>
+        </table>
+    </div>
 
-        <div id="urgency_win" class="mini-window" title="加急" style="width: 360px; height: 180px; position: relative; display: none">
-            <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
-                <tr>
-                    <td class="td1">出货时间</td>
-                    <td class="td2">
-                        <input id="txtUrgencyTime" name="sign_date1" data-options="{otype:'daterange',havetime:'1'}" class="mini-textbox inp-time" />
-                    </td>
-                </tr>
-                <tr>
-                    <td colspan="4">
-                        <div class="win_btn" style="text-align: center;">
-                            <a class="mini-button" iconcls="icon-ok" onclick="saveUrgencyFn">确定</a>&nbsp;
+    <div id="urgency_win" class="mini-window" title="加急" style="width: 360px; height: 180px; position: relative; display: none">
+        <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
+            <tr>
+                <td class="td1">出货时间</td>
+                <td class="td2">
+                    <input id="txtUrgencyTime" name="sign_date1" data-options="{otype:'daterange',havetime:'1'}" class="mini-textbox inp-time" />
+                </td>
+            </tr>
+            <tr>
+                <td colspan="4">
+                    <div class="win_btn" style="text-align: center;">
+                        <a class="mini-button" iconcls="icon-ok" onclick="saveUrgencyFn">确定</a>&nbsp;
                         <a class="mini-button" iconcls="icon-cancel" onclick="cancelUrgencyFn">取消</a>
-                        </div>
-                    </td>
-                </tr>
-            </table>
-        </div>
+                    </div>
+                </td>
+            </tr>
+        </table>
+    </div>
 
-        <div id="mymemo_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">
-                        <select id="txtSelectChange" onchange="selectChange()">
-                            <option value="">请选择</option>
-                            <option value="加急单14点之前需定稿,客户当天需要发货">加急单14点之前需定稿,客户当天需要发货</option>
-                            <option value="加急单当天要定稿,客户隔天需要发货">加急单当天要定稿,客户隔天需要发货</option>
-                            <option value="客户选择了店铺模版,需要快速安排设计定稿">客户选择了店铺模版,需要快速安排设计定稿</option>
-                            <option value="客户自己有设计文件,需要快速安排设计定稿">客户自己有设计文件,需要快速安排设计定稿</option>
-                            <option value="加急单已电联客户未接听线上已留言">加急单已电联客户未接听线上已留言</option>
-                            <option value="超过1天未定稿旺旺上已留言客户跟进订单">超过1天未定稿旺旺上已留言客户跟进订单</option>
-                            <option value="超过1天未定稿旺旺留言及电话跟进订单">超过1天未定稿旺旺留言及电话跟进订单</option>
-                        </select>
-                    </td>
-                </tr>
-                <tr>
-                    <td class="td1">备注</td>
-                    <td class="td2" colspan="3">
-                        <textarea id="txtMyMemo" 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="saveMyMemoFn">保存</a>&nbsp;
+    <div id="mymemo_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">
+                    <select id="txtSelectChange" onchange="selectChange()">
+                        <option value="">请选择</option>
+                        <option value="加急单14点之前需定稿,客户当天需要发货">加急单14点之前需定稿,客户当天需要发货</option>
+                        <option value="加急单当天要定稿,客户隔天需要发货">加急单当天要定稿,客户隔天需要发货</option>
+                        <option value="客户选择了店铺模版,需要快速安排设计定稿">客户选择了店铺模版,需要快速安排设计定稿</option>
+                        <option value="客户自己有设计文件,需要快速安排设计定稿">客户自己有设计文件,需要快速安排设计定稿</option>
+                        <option value="加急单已电联客户未接听线上已留言">加急单已电联客户未接听线上已留言</option>
+                        <option value="超过1天未定稿旺旺上已留言客户跟进订单">超过1天未定稿旺旺上已留言客户跟进订单</option>
+                        <option value="超过1天未定稿旺旺留言及电话跟进订单">超过1天未定稿旺旺留言及电话跟进订单</option>
+                    </select>
+                </td>
+            </tr>
+            <tr>
+                <td class="td1">备注</td>
+                <td class="td2" colspan="3">
+                    <textarea id="txtMyMemo" 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="saveMyMemoFn">保存</a>&nbsp;
                     <a class="mini-button" iconcls="icon-cancel" onclick="cancelMyMemoFn">取消</a>
-                        </div>
-                    </td>
-                </tr>
-            </table>
-        </div>
-        <div id="designInfo_win" class="mini-window" title="设计师信息" style="width: 1000px; height: 500px; position: relative; display: none">
-            <div style="display: flex; justify-content: space-between; align-items: center; padding: 0 30px">
-                <div class="filter_item" runat="server">
-                    <label>设计</label>
-                    <input id="design_input" class="mini-textbox inp_middle" required="false" />
-                </div>
-                <a class="mini-button mini-button-info btn" iconcls="icon-search" onclick="searchDesign">搜索</a>
-            </div>
-            <div id="design_grid" class="mini-datagrid" emptytext="暂无记录" url="../handler/sync.ashx?t=get_erp_design_status">
-                <div property="columns">
-                    <div field="Name" width="100" align="left" headeralign="center">姓名</div>
-                    <div field="OnDuty" width="100" align="left" headeralign="center" renderer="designStatusRenderer">状态</div>
-                    <div field="TeamNames" width="100" align="left" headeralign="center">同组</div>
-                </div>
+                    </div>
+                </td>
+            </tr>
+        </table>
+    </div>
+    <div id="designInfo_win" class="mini-window" title="设计师信息" style="width: 1000px; height: 500px; position: relative; display: none">
+        <div style="display: flex; justify-content: space-between; align-items: center; padding: 0 30px">
+            <div class="filter_item" runat="server">
+                <label>设计</label>
+                <input id="design_input" class="mini-textbox inp_middle" required="false" />
             </div>
+            <a class="mini-button mini-button-info btn" iconcls="icon-search" onclick="searchDesign">搜索</a>
         </div>
-        <div id="spuInfo_win" class="mini-window" title="spu信息" style="width: 1000px; height: 500px; position: relative; display: none">
-            <input type="hidden" id="spu_ctid" />
-            <div id="spu_grid" class="mini-datagrid" style="width: 100%; height: 100%;" oemptytext="暂无记录" url="../handler/sync.ashx?t=get_trade_order_list">
-                <div property="columns">
-                    <div field="spu_id" width="50" align="center">spu</div>
-                    <div field="title" width="60" align="center">名称</div>
-                    <div field="title" width="60" align="center" renderer="spuImageRenderer">图片</div>
-                    <div name="action" width="60" headeralign="center" align="center" renderer="spuAction" cellstyle="padding:0;">#</div>
-                </div>
+        <div id="design_grid" class="mini-datagrid" emptytext="暂无记录" url="../handler/sync.ashx?t=get_erp_design_status">
+            <div property="columns">
+                <div field="Name" width="100" align="left" headeralign="center">姓名</div>
+                <div field="OnDuty" width="100" align="left" headeralign="center" renderer="designStatusRenderer">状态</div>
+                <div field="TeamNames" width="100" align="left" headeralign="center">同组</div>
             </div>
         </div>
-        <div id="knowledge_win" class="mini-window" title="知识库" style="width: 750px; height: 570px; position: relative; display: none">
-            <iframe src="" id="knowledge_wev" style="width: 100%; height: 100%"></iframe>
+    </div>
+    <div id="spuInfo_win" class="mini-window" title="spu信息" style="width: 1000px; height: 500px; position: relative; display: none">
+        <input type="hidden" id="spu_ctid" />
+        <div id="spu_grid" class="mini-datagrid" style="width: 100%; height: 100%;" oemptytext="暂无记录" url="../handler/sync.ashx?t=get_trade_order_list">
+            <div property="columns">
+                <div field="spu_id" width="50" align="center">spu</div>
+                <div field="title" width="60" align="center">名称</div>
+                <div field="title" width="60" align="center" renderer="spuImageRenderer">图片</div>
+                <div name="action" width="60" headeralign="center" align="center" renderer="spuAction" cellstyle="padding:0;">#</div>
+            </div>
         </div>
-        <script>
+    </div>
+    <div id="knowledge_win" class="mini-window" title="知识库" style="width: 750px; height: 570px; position: relative; display: none">
+        <iframe src="" id="knowledge_wev" style="width: 100%; height: 100%"></iframe>
+    </div>
+    <script>
 
-            function onShowRule(e) {
-                var rec = grid.getSelected();
-                let spu_id = rec.spu_id;
-                if (!spu_id) {
-                    resultShow("请先设置对应的spu");
-                }
-                $("#knowledge_wev").attr("src", "https://detail.tmall.com/item.htm?id=" + spu_id);
-                mini.get("knowledge_win").show();
-            }
-            function selectSpuFn(spu_id) {
-                let ctid = $("#spu_ctid").val();
-                let params = { spu_id, ctid }
-                postAjax("save_cell_spu", params, function (data) {
-                    resultShow(data, "grid.reload();");
-                    mini.get("spu_grid").setData([]);
-                    mini.get("spuInfo_win").hide();
-                });
-            }
-            function spuImageRenderer(e) {
-                let item = e.record;
-                return `<img src="${item.pic_path}" style="width:50px;height:50px;"/>`;
-            }
-            function spuAction(e) {
-                let item = e.record;
-                var html = "";
-                html += getGridBtn("memo", "选择", "selectSpuFn('" + item.spu_id + "')");
-                return html;
-            }
-            function changeSpuId(tid, ctid) {
-                $("#spu_ctid").val(ctid);
-                mini.get("spu_grid").load({ tid });
-                mini.get("spuInfo_win").show();
+        function onShowRule(e) {
+            var rec = grid.getSelected();
+            let spu_id = rec.spu_id;
+            if (!spu_id) {
+                resultShow("请先设置对应的spu");
             }
+            $("#knowledge_wev").attr("src", "https://detail.tmall.com/item.htm?id=" + spu_id);
+            mini.get("knowledge_win").show();
+        }
+        function selectSpuFn(spu_id) {
+            let ctid = $("#spu_ctid").val();
+            let params = { spu_id, ctid }
+            postAjax("save_cell_spu", params, function (data) {
+                resultShow(data, "grid.reload();");
+                mini.get("spu_grid").setData([]);
+                mini.get("spuInfo_win").hide();
+            });
+        }
+        function spuImageRenderer(e) {
+            let item = e.record;
+            return `<img src="${item.pic_path}" style="width:50px;height:50px;"/>`;
+        }
+        function spuAction(e) {
+            let item = e.record;
+            var html = "";
+            html += getGridBtn("memo", "选择", "selectSpuFn('" + item.spu_id + "')");
+            return html;
+        }
+        function changeSpuId(tid, ctid) {
+            $("#spu_ctid").val(ctid);
+            mini.get("spu_grid").load({ tid });
+            mini.get("spuInfo_win").show();
+        }
+
+        function searchDesign() {
+            let name = mini.get("design_input").value;
 
-            function searchDesign() {
-                let name = mini.get("design_input").value;
+            mini.get("design_grid").load({
+                designName: name
+            });
 
-                mini.get("design_grid").load({
-                    designName: name
-                });
+        }
+        function designStatusRenderer(e) {
+            var record = e.record;
+            var html = "";
+            if (record.OnDuty == "0") {
+                html = ("<div style='color:red'>未在班</div>");
+            } else {
+                html = ("<div style='color:green'>值班</div>");
+                if (record.BeOnDuty == "2") {
+                    html = ("<div style='color:green'>晚班</div>");
+                }
+            }
+            return html;
+        }
 
+        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",
+        });
+
+        async function putObject(file) {
+            try {
+                let fileDir = dateFtt("yyyyMMdd", new Date())
+                let name = "addressDoc/" + 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);
+                $("#uploader_url").text(result.url);
+            } catch (e) {
+                console.log(e);
             }
-            function designStatusRenderer(e) {
-                var record = e.record;
-                var html = "";
-                if (record.OnDuty == "0") {
-                    html = ("<div style='color:red'>未在班</div>");
-                } else {
-                    html = ("<div style='color:green'>值班</div>");
-                    if (record.BeOnDuty == "2") {
-                        html = ("<div style='color:green'>晚班</div>");
-                    }
+        }
+        document.getElementById('address_file').addEventListener('change', function (e) {
+            const data = e.target?.files[0];
+            putObject(data);
+        });
+
+        let uploaderAddressTid = "";
+        function uploaderAddress(tid) {
+            uploaderAddressTid = tid;
+            document.getElementById('address_file').value = "";
+            $("#uploader_url").text("");
+
+            postAjax("get_tid_attachments", { tid }, function (data) {
+                maskHide();
+                mini.get("uploaderAddress_win").show();
+                if (!!data.url) {
+                    $("#uploader_url").text(data.url);
                 }
-                return html;
+            })
+
+        }
+        function saveUploaderAddressFn() {
+            let params = { tid: uploaderAddressTid, atta: $("#uploader_url").text() };
+            postAjax("set_tid_attachments", params, function (data) {
+                resultShow(data, "grid.reload();");
+                mini.get("uploaderAddress_win").hide();
+            });
+        }
+
+        function cancelUploaderAddressFn() {
+            mini.get("uploaderAddress_win").hide();
+        }
+        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>
+    </script>
 
     <div class="image_large" onclick="hideImage(this)"></div>
 </asp:Content>

+ 1 - 0
Web/EOrder/js/p_order.js

@@ -54,6 +54,7 @@ function orderAction(e) {
     if (!record.spu_id) {
         html += getGridBtn("edit", "spu", "changeSpuId('" + record.tid + "','" + id + "')");
     }
+    html += getGridBtn("upload", "上传地址", "uploaderAddress('" + record.tid + "')");
     //html += getGridBtn("edit", "删除", "deleteFn('" + id + "')");
     //html += getGridBtn("edit", "重置", "resetFn('" + id + "')");
     return html;

Різницю між файлами не показано, бо вона завелика
+ 3 - 0
Web/js/alioss.js


Деякі файли не було показано, через те що забагато файлів було змінено