OrderList.aspx 50 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958
  1. <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage/ErpView.master" AutoEventWireup="true" CodeFile="OrderList.aspx.cs" Inherits="EOrder_OrderList" %>
  2. <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
  3. <script src="../js/plugins/jquery.fileDownload.js"></script>
  4. <script type="text/javascript" src="../js/address.js"></script>
  5. <link href="../js/ssi/ssi-uploader.css" rel="stylesheet" />
  6. <link href="../css/imgbox.css" rel="stylesheet" />
  7. <script src="../js/ssi/ssi-upload.js"></script>
  8. <script src="../js/imgbox-1.0.3.js"></script>
  9. <script src="../js/alioss.js"></script>
  10. <script type="text/javascript" src="js/p_order.js?v=<%=SiteVer %>"></script>
  11. <script>
  12. </script>
  13. <style type="text/css">
  14. .hz {
  15. display: flex;
  16. flex-direction: row;
  17. float: right;
  18. margin-right: 50px;
  19. font-size: 14px;
  20. height: 30px;
  21. line-height: 30px;
  22. vertical-align: middle;
  23. }
  24. .hz a {
  25. height: 30px;
  26. line-height: 30px;
  27. }
  28. .preview-image-content img {
  29. cursor: zoom-in;
  30. }
  31. .preview-image-shadow {
  32. display: none;
  33. position: fixed;
  34. width: 100%;
  35. height: 100%;
  36. background-color: #000000;
  37. opacity: 0.8;
  38. left: 0;
  39. top: 0;
  40. z-index: 9998;
  41. }
  42. .preview-image-cotainer {
  43. display: none;
  44. position: fixed;
  45. width: 100%;
  46. height: 100%;
  47. opacity: 1;
  48. left: 0;
  49. top: 0;
  50. flex-direction: row;
  51. justify-content: center;
  52. align-items: center;
  53. cursor: zoom-out;
  54. padding: 15px;
  55. box-sizing: border-box;
  56. z-index: 9999;
  57. }
  58. .preview-image-cotainer img {
  59. max-width: 100%;
  60. height: auto;
  61. }
  62. </style>
  63. </asp:Content>
  64. <asp:Content ID="Content2" ContentPlaceHolderID="btn" runat="Server">
  65. <a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-ok" onclick="getMyOrder()">领单</a>
  66. <a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-goto" onclick="setRelationOrder()">关联</a>
  67. <%--<a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-user" onclick="aftersaleFn()">售后</a>--%>
  68. <a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-print" onclick="billFn()">发票</a>
  69. <a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-download" onclick="downloadOrder()">下载订单</a>
  70. <a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-downgrade" onclick="preDeliveryFn()">预发</a>
  71. <a class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-tip" onclick="sampleFn()">拿样</a>
  72. <a id="btnAfterSale" runat="server" visible="false" class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-user" onclick="aftersaleFn()">售后</a>
  73. <a id="btnChecked" runat="server" visible="false" class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-search" onclick="onCheckOrder()">查货</a>
  74. <a id="btnaddNewOrder" class="mini-button mini-button-primary new_use_btn_blue" runat="server" visible="false" iconcls="icon-addnew" onclick="addNewOrderFn()">新增</a>
  75. <a id="btnReturnCash" runat="server" visible="false" class="mini-button mini-button-primary new_use_btn_blue" iconcls="icon-node" onclick="returnCashFn()">返现</a>
  76. <a id="btnExport" runat="server" visible="false" class="mini-button mini-button-success new_use_btn_green" iconcls="icon-folder" onclick="exportFn()">导出</a>
  77. <a id="btnDistribute" runat="server" visible="false" class="mini-button mini-button-success new_use_btn_green" iconcls="icon-user" onclick="distributeFn()">指派</a>
  78. <a id="btnFindDesign" runat="server" class="mini-button mini-button-success new_use_btn_green" iconcls="icon-user" onclick="findDesign()">设计师</a>
  79. <a id="btnDownloadFile" runat="server" visible="false" class="mini-button mini-button-success new_use_btn_green" iconcls="icon-download" onclick="downloadFileFn2()">下载文件</a>
  80. <a id="btnOrderReset" runat="server" visible="false" class="mini-button mini-button-danger new_use_btn_red" iconcls="icon-reload" onclick="resetFn()">重置</a>
  81. <a id="btnOrderDelete" runat="server" visible="false" class="mini-button mini-button-danger new_use_btn_red" iconcls="icon-stop" onclick="deleteFn()">删除</a>
  82. <a id="btnClearRefund" runat="server" visible="false" class="mini-button mini-button-danger new_use_btn_red" iconcls="icon-remove" onclick="clearRefundFn()">清空退款状态</a>
  83. <div class="hz">
  84. <div style="margin-left: 10px;" id="id_gatherPayment">(0)</div>
  85. </div>
  86. </asp:Content>
  87. <asp:Content ID="Content4" ContentPlaceHolderID="content" runat="Server">
  88. <div style="display: none">
  89. <web:HtmlHidden ID="hImg" runat="server"></web:HtmlHidden>
  90. </div>
  91. <div class="mini-fit">
  92. <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">
  93. <div property="columns">
  94. <div type="indexcolumn" width="20"></div>
  95. <div type="checkcolumn" width="20"></div>
  96. <div field="tid" width="100" align="left" headeralign="center" renderer="orderIdRenderer">订单编号</div>
  97. <div field="OrderSn" visible="false" headeralign="center">唯一识别号</div>
  98. <div field="SplitTag" width="20" visible="false" align="left" headeralign="center">拆分序号</div>
  99. <div field="pay_time" width="80" align="center" headeralign="center" renderer="orderPTimeRenderer">付款时间</div>
  100. <div field="seller_nick" visible="false" align="center" headeralign="center">店铺</div>
  101. <div field="buyer_nick" visible="false" align="center" headeralign="center">买家旺旺</div>
  102. <div field="total_fee" visible="false" width="50" align="center" headeralign="center" renderer="orderPay">总金额</div>
  103. <div field="refund_fees" width="50" align="center" headeralign="center">退款金额</div>
  104. <div field="payment" width="40" align="center" headeralign="center">付款金额</div>
  105. <div field="urgentCharge" width="40" align="center" headeralign="center">加急金额</div>
  106. <div field="IsOldCustomer" visible="false" width="30" align="center" headeralign="center" renderer="oldRenderer">老客户</div>
  107. <div field="seller_memo" width="150" align="center" headeralign="center" renderer="memoRenderer">备注</div>
  108. <div field="OtherMemo" width="60" align="center" headeralign="center">额外备注</div>
  109. <div field="OrderState" width="50" align="center" headeralign="center" renderer="orderStatusRenderer">状态</div>
  110. <div field="status" visible="false" align="center" headeralign="center">淘宝状态</div>
  111. <div field="isRefund" visible="false" align="center" headeralign="center">退款状态</div>
  112. <div field="CustomerTb" width="60" align="center" headeralign="center" renderer="orderCusRenderer">客服</div>
  113. <div field="DesignUserName" width="60" align="center" headeralign="center" renderer="orderDesignRenderer">设计师</div>
  114. <div field="DesignPrice" visible="false" align="center" headeralign="center">设计费</div>
  115. <div field="end_time" visible="false" align="center" headeralign="center">确认收货时间</div>
  116. <div field="WaitDesignTime" visible="false" align="center" headeralign="center">指派时间</div>
  117. <div field="FinishDesignTime" visible="false" align="center" headeralign="center">上传时间</div>
  118. <div field="delivery_time" visible="false" align="center" headeralign="center">发货时间</div>
  119. <div field="ProductName" visible="false" align="center" headeralign="center">产品类型</div>
  120. <div field="ProductSize" visible="false" align="center" headeralign="center">产品尺寸</div>
  121. <div field="ProductCount" visible="false" align="center" headeralign="center">产品数量</div>
  122. <div field="buyer_message" visible="false" align="center" headeralign="center">买家留言</div>
  123. <div field="SupplierName" visible="false" align="center" headeralign="center">供应商</div>
  124. <div field="OutSid" visible="false" align="center" headeralign="center">运单号</div>
  125. <div field="receiver_name" visible="false" align="center" headeralign="center">收件人</div>
  126. <div field="receiver_mobile" visible="false" align="center" headeralign="center">收件人手机</div>
  127. <div field="receiver_state" width="40" align="center" headeralign="center" renderer="receiverStateRenderer">收件省份</div>
  128. <div field="receiver_city" visible="false" align="center" headeralign="center">收件城市</div>
  129. <div field="receiver_address" visible="false" align="center" headeralign="center">收件地址</div>
  130. <div field="ReturnReason" width="60" align="center" headeralign="center">打回原因</div>
  131. <div field="WaitDesignTime" width="50" align="center" dateformat="yyyy-MM-dd HH:mm" headeralign="center">派单时间</div>
  132. <div name="action" width="60" headeralign="center" align="center" renderer="orderAction" cellstyle="padding:0;">#</div>
  133. <div field="CustomerMemo" width="60" align="center" headeralign="center" renderer="customerMemoAction">跟单情况备注</div>
  134. </div>
  135. </div>
  136. </div>
  137. <ul id="gridMenu" class="mini-contextmenu" onbeforeopen="onBeforeOpen">
  138. <li name="edit" iconcls="icon-copy" onclick="onCopyOrder">复制单号</li>
  139. <li name="edit" iconcls="icon-copy" onclick="onCopyBuyerNick">复制旺旺号</li>
  140. <li name="edit" iconcls="icon-copy" onclick="onCopyUpLoaderUrl">复制上传地址</li>
  141. <li name="edit" iconcls="icon-epay" onclick="onTagArrived">顺丰到付</li>
  142. <li name="edit" iconcls="icon-spay" onclick="onTagStarted">顺丰寄付</li>
  143. <li name="edit" iconcls="icon-stop" onclick="stopTagStarted">撤销顺丰</li>
  144. <li name="edit" iconcls="icon-sms" onclick="onTagWechat">微信单</li>
  145. <li name="edit" iconcls="icon-user" onclick="onTagRefund">退款挽回</li>
  146. <li name="edit" iconcls="icon-xiaoshou" onclick="onTagMore">微信推购</li>
  147. <li name="edit" iconcls="icon-xiaoshou" onclick="onTagGoods">旺旺推购</li>
  148. <li name="edit" iconcls="icon-xiaoshou" onclick="onCancelTagGoods">取消推购</li>
  149. <li name="edit" iconcls="icon-xiaoshou" onclick="onUrgentCharge">加急费</li>
  150. <%--<li name="edit" iconCls="icon-search" onclick="onCheckOrder">查货</li>--%>
  151. <li name="edit" iconcls="icon-ok" onclick="onXlwTag">标记小礼物</li>
  152. <li name="edit" iconcls="icon-add" onclick="onAddWechatTag">已添加微信</li>
  153. <li name="edit" iconcls="icon-epay" onclick="onShowRule">知识库</li>
  154. <li name="edit" iconcls="icon-stop" onclick="onReturnVisit">客户回访</li>
  155. </ul>
  156. <div id="viewimg_win" class="mini-window" title="文件预览" style="width: 750px; height: 570px; position: relative; display: none">
  157. <img id="r_img" style="width: 700px; height: 500px;" onclick="largeImage(this)" src="../images/no_photo.png" />
  158. </div>
  159. <div id="payimg_win" class="mini-window" title="文件预览" style="max-height: 100%; max-width: 100%; position: relative; display: none">
  160. <img id="p_img" style="width: 100%; height: 100%;" onclick="largeImage(this)" src="../images/no_photo.png" />
  161. </div>
  162. <div id="memo_win" class="mini-window" title="备注信息" style="width: 550px; height: 260px; position: relative; display: none">
  163. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  164. <tr>
  165. <td class="td1">备注</td>
  166. <td class="td2" colspan="3">
  167. <textarea id="txtMemo" style="width: 96%; height: 60px;"></textarea></td>
  168. </tr>
  169. <tr>
  170. <td class="td1">留言</td>
  171. <td class="td2" colspan="4">
  172. <a id="aMemoMsgNull" checkonclick="true" groupname="memo_msg" class="mini-button" oncheckedchanged="onMemoMsgCheckedChanged(0)">无</a>
  173. <a id="aMemoMsgGai" checkonclick="true" groupname="memo_msg" class="mini-button" oncheckedchanged="onMemoMsgCheckedChanged(1)">改稿</a>
  174. <a id="aMemoMsgDing" checkonclick="true" groupname="memo_msg" class="mini-button" oncheckedchanged="onMemoMsgCheckedChanged(2)">定稿</a>
  175. <%--<a id="aMemoMsgCha" checkonclick="true" groupname="memo_msg" class="mini-button" oncheckedchanged="onMemoMsgCheckedChanged(3)">查货</a>--%>
  176. </td>
  177. </tr>
  178. <tr>
  179. <td colspan="4">
  180. <div class="win_btn" style="text-align: center;">
  181. <a class="mini-button" iconcls="icon-ok" onclick="saveMemoFn">保存</a>&nbsp;
  182. <a class="mini-button" iconcls="icon-cancel" onclick="canceMemolFn">取消</a>
  183. </div>
  184. </td>
  185. </tr>
  186. </table>
  187. </div>
  188. <div id="othermemo_win" class="mini-window" title="额外备注信息" style="width: 550px; height: 300px; position: relative; display: none">
  189. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  190. <tr>
  191. <td class="td1">额外备注</td>
  192. <td class="td2" colspan="3">
  193. <textarea id="txtOtherMemo" style="width: 96%; height: 60px;"></textarea></td>
  194. </tr>
  195. <tr>
  196. <td colspan="4">
  197. <div class="win_btn" style="text-align: center;">
  198. <a class="mini-button" iconcls="icon-ok" onclick="saveOtherMemoFn">保存</a>&nbsp;
  199. <a class="mini-button" iconcls="icon-cancel" onclick="cancelOtherMemoFn">取消</a>
  200. </div>
  201. </td>
  202. </tr>
  203. </table>
  204. </div>
  205. <div id="aftersale_win" class="mini-window" title="标记售后" style="width: 360px; height: 180px; position: relative; display: none">
  206. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  207. <tr>
  208. <td class="td1">售后原因</td>
  209. <td class="td2">
  210. <select id="reason" style="width: 80%;">
  211. <option value="客服问题">客服问题</option>
  212. <option value="设计问题">设计问题</option>
  213. <option value="客户问题">客户问题</option>
  214. <option value="车间问题">车间问题</option>
  215. <option value="下单问题">下单问题</option>
  216. <option value="快递问题">快递问题</option>
  217. <option value="超成本">超成本</option>
  218. <option value="重复下单">重复下单</option>
  219. <option value="报价系统问题">报价系统问题</option>
  220. <option value="没按报价系统报价">没按报价系统报价</option>
  221. </select>
  222. </td>
  223. </tr>
  224. <tr>
  225. <td colspan="4">
  226. <div class="win_btn" style="text-align: center;">
  227. <a class="mini-button" iconcls="icon-ok" onclick="saveAfterFn">确定</a>&nbsp;
  228. <a class="mini-button" iconcls="icon-cancel" onclick="cancelAfterFn">取消</a>
  229. </div>
  230. </td>
  231. </tr>
  232. </table>
  233. </div>
  234. <div id="bill_win" class="mini-window" title="发票信息" style="width: 750px; height: 590px; position: relative; display: none">
  235. <fieldset style="border: solid 1px #aaa; padding: 3px;">
  236. <legend>发票信息</legend>
  237. <div style="padding: 3px;">
  238. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  239. <tr>
  240. <td class="td1">
  241. <text style="color: red;">*</text>
  242. 抬头</td>
  243. <td class="td2">
  244. <input type="text" id="txtBillTitle" /></td>
  245. <td class="td1">税号</td>
  246. <td class="td2">
  247. <input type="text" id="txtBillTax" /></td>
  248. </tr>
  249. <tr>
  250. <td class="td1">开户行</td>
  251. <td class="td2">
  252. <input type="text" id="txtBillBank" /></td>
  253. <td class="td1">账号</td>
  254. <td class="td2">
  255. <input type="text" id="txtBillAccount" /></td>
  256. </tr>
  257. <tr>
  258. <td class="td1">地址</td>
  259. <td class="td2">
  260. <input type="text" id="txtBillAddress" /></td>
  261. <td class="td1">电话</td>
  262. <td class="td2">
  263. <input type="text" id="txtBillPhone" /></td>
  264. </tr>
  265. <tr>
  266. <td class="td1">
  267. <text style="color: red;">*</text>
  268. 总价</td>
  269. <td class="td2">
  270. <input type="text" id="txtBillPrice" /></td>
  271. <td class="td1">
  272. <text style="color: red;">*</text>
  273. 明细</td>
  274. <td class="td2">
  275. <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" />
  276. </td>
  277. </tr>
  278. <tr>
  279. <td class="td1">数量</td>
  280. <td class="td2" style="display: flex; flex-direction: row;">
  281. <input style="width: 80px; margin-right: 20px;" type="text" id="txtBillNum" />
  282. <select id="txtBillUnit">
  283. <option value="">不要单位</option>
  284. <option value="张">张</option>
  285. <option value="个">个</option>
  286. <option value="条">条</option>
  287. </select>
  288. </td>
  289. <td class="td1">规格</td>
  290. <td class="td2">
  291. <select id="txtBillType">
  292. <option value="普通发票">普通发票</option>
  293. <option value="专用发票">专用发票</option>
  294. </select></td>
  295. </tr>
  296. </table>
  297. </div>
  298. </fieldset>
  299. <fieldset style="border: solid 1px #aaa; padding: 3px;">
  300. <legend>扩展信息</legend>
  301. <div style="padding: 3px;">
  302. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  303. <tr>
  304. <td class="td1">订单号</td>
  305. <td class="td2">
  306. <input type="text" id="txtBillTid" /></td>
  307. <td class="td1">发票类型</td>
  308. <td class="td2">
  309. <select id="txtBillSendType">
  310. <option value="电子发票">电子发票</option>
  311. <option value="纸质发票">纸质发票</option>
  312. </select></td>
  313. </tr>
  314. <tr>
  315. <td class="td1">邮箱/地址</td>
  316. <td class="td2" colspan="3">
  317. <input type="text" id="txtBillEmail" />
  318. </td>
  319. </tr>
  320. <tr>
  321. <td class="td1">备注</td>
  322. <td class="td2" colspan="3">
  323. <input type="text" id="txtBillApplyMemo" />
  324. </td>
  325. </tr>
  326. <tr>
  327. <td colspan="4">
  328. <div class="win_btn" style="text-align: center;">
  329. <a class="mini-button" iconcls="icon-ok" onclick="saveBillFn">保存</a>&nbsp;
  330. <a class="mini-button" iconcls="icon-cancel" onclick="cancelBillFn">取消</a>
  331. </div>
  332. </td>
  333. </tr>
  334. </table>
  335. </div>
  336. </fieldset>
  337. </div>
  338. <%--<div id="addorder_win" class="mini-window" title="新增订单" style="width: 750px; height: 350px; position: relative; display: none">
  339. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  340. <tr>
  341. <td class="td1"><text style="color: red;">*</text>店铺</td>
  342. <td class="td2">
  343. <input id="txtAddShopName" 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_shop" />
  344. </td>
  345. <td class="td1">
  346. <text style="color: red;">*</text>
  347. 总价</td>
  348. <td class="td2">
  349. <input type="text" id="txtAddPrice" /></td>
  350. </tr>
  351. <tr>
  352. <td class="td1">
  353. <text style="color: red;">*</text>
  354. 买家旺旺</td>
  355. <td class="td2">
  356. <input type="text" id="txtAddWW" /></td>
  357. <td class="td1">平台</td>
  358. <td class="td2"><select id="selPlatform"><option value="其它">其它</option><option value="拼多多">拼多多</option><option value="阿里巴巴">阿里巴巴</option></select></td>
  359. </tr>
  360. <tr>
  361. <td class="td1">
  362. <text style="color: red;">*</text>
  363. 收货人</td>
  364. <td class="td2">
  365. <input type="text" id="txtAddReceiver" /></td>
  366. <td class="td1">
  367. <text style="color: red;">*</text>
  368. 联系电话</td>
  369. <td class="td2">
  370. <input type="text" id="txtAddPhone" /></td>
  371. </tr>
  372. <tr>
  373. <td class="td1"><text style="color: red;">*</text>收货地址</td>
  374. <td class="td2" colspan="3">
  375. <input id="txtAddProvince" class="mini-combobox" onvaluechanged="changeProvinceFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true"/>
  376. <input id="txtAddCity" class="mini-combobox" onvaluechanged="changeCityFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true"/>
  377. <input id="txtAddCounty" class="mini-combobox" onvaluechanged="changeCountyFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true"/>
  378. <input type="text" id="txtAddDetailAddress" style="width:70%;margin-top:10px;" />
  379. </td>
  380. </tr>
  381. <tr>
  382. <td colspan="4">
  383. <div class="win_btn" style="text-align: center;">
  384. <a class="mini-button" iconcls="icon-ok" onclick="saveAddFn">保存</a>&nbsp;
  385. <a class="mini-button" iconcls="icon-cancel" onclick="canceAddlFn">取消</a>
  386. </div>
  387. </td>
  388. </tr>
  389. </table>
  390. </div>--%>
  391. <div id="addorder_win" class="mini-window" title="新增订单" style="width: 750px; height: 580px; position: relative; display: none">
  392. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  393. <tr>
  394. <td class="td1">
  395. <text style="color: red;">*</text>店铺</td>
  396. <td class="td2">
  397. <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" />
  398. </td>
  399. <td class="td1">
  400. <text style="color: red;">*</text>
  401. 总价</td>
  402. <td class="td2">
  403. <input type="text" id="txtAddPrice" /></td>
  404. </tr>
  405. <tr>
  406. <td class="td1">
  407. <text style="color: red;">*</text>
  408. 买家旺旺</td>
  409. <td class="td2">
  410. <input type="text" id="txtAddWW" />
  411. </td>
  412. <td class="td1">需要设计</td>
  413. <td class="td2" colspan="3">
  414. <input type="checkbox" id="chkAddIsDesign" /></td>
  415. </tr>
  416. <tr>
  417. <td class="td1">
  418. <text style="color: red;">*</text>
  419. 收货人</td>
  420. <td class="td2">
  421. <input type="text" id="txtAddReceiver" /></td>
  422. <td class="td1">
  423. <text style="color: red;">*</text>
  424. 联系电话</td>
  425. <td class="td2">
  426. <input type="text" id="txtAddPhone" /></td>
  427. </tr>
  428. <tr>
  429. <td class="td1">
  430. <text style="color: red;">*</text>商品</td>
  431. <td class="td2" colspan="3">
  432. <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" />
  433. </td>
  434. </tr>
  435. <tr>
  436. <td class="td1">
  437. <text style="color: red;">*</text>收货地址</td>
  438. <td class="td2" colspan="3">
  439. <input id="txtAddProvince" class="mini-combobox" onvaluechanged="changeProvinceFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
  440. <input id="txtAddCity" class="mini-combobox" onvaluechanged="changeCityFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
  441. <input id="txtAddCounty" class="mini-combobox" onvaluechanged="changeCountyFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
  442. <input type="text" id="txtAddDetailAddress" style="width: 70%; margin-top: 10px;" />
  443. </td>
  444. </tr>
  445. <tr>
  446. <td class="td1">备注</td>
  447. <td class="td2" colspan="3">
  448. <textarea id="txtAddMemo" style="width: 96%; height: 60px;"></textarea></td>
  449. </tr>
  450. <tr>
  451. <td class="td1" style="color: red;">付款凭证(非公司自用必传)</td>
  452. <td class="td1" colspan="1">
  453. <img id="preview_img1" src="../images/no_photo.png" style="width: 100px; height: 100px;" />
  454. </td>
  455. <td class="td1" colspan="2">
  456. <input type="file" id="ssi-upload-x" />
  457. </td>
  458. </tr>
  459. <tr>
  460. <td class="td1" style="color: red;" colspan="4">提示:只允许转公司支付宝或微信!!</td>
  461. </tr>
  462. <tr>
  463. <td colspan="4">
  464. <div class="win_btn" style="text-align: center;">
  465. <a class="mini-button" iconcls="icon-ok" onclick="saveAddFn">保存</a>&nbsp;
  466. <a class="mini-button" iconcls="icon-cancel" onclick="canceAddlFn">取消</a>
  467. </div>
  468. </td>
  469. </tr>
  470. </table>
  471. </div>
  472. <div id="address_win" class="mini-window" title="修改地址" style="width: 750px; height: 270px; position: relative; display: none">
  473. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  474. <tr>
  475. <td class="td1">
  476. <text style="color: red;">*</text>
  477. 收货人</td>
  478. <td class="td2">
  479. <input type="text" id="txtModifyReceiver" /></td>
  480. <td class="td1">
  481. <text style="color: red;">*</text>
  482. 联系电话</td>
  483. <td class="td2">
  484. <input type="text" id="txtModifyPhone" /></td>
  485. </tr>
  486. <tr>
  487. <td class="td1">
  488. <text style="color: red;">*</text>收货地址</td>
  489. <td class="td2" colspan="3">
  490. <input id="txtModifyProvince" class="mini-combobox" style="width: 32%;" onvaluechanged="changeProvinceFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
  491. <input id="txtModifyCity" class="mini-combobox" style="width: 32%;" onvaluechanged="changeCityFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
  492. <input id="txtModifyCounty" class="mini-combobox" style="width: 32%;" onvaluechanged="changeCountyFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
  493. <input type="text" id="txtModifyDetailAddress" style="width: 96%; margin-top: 10px;" />
  494. </td>
  495. </tr>
  496. <tr>
  497. <td colspan="4">
  498. <div class="win_btn" style="text-align: center;">
  499. <a class="mini-button" iconcls="icon-ok" onclick="saveModifyAddressFn">保存</a>&nbsp;
  500. <a class="mini-button" iconcls="icon-cancel" onclick="canceModifyAddressFn">取消</a>
  501. </div>
  502. </td>
  503. </tr>
  504. </table>
  505. </div>
  506. <div id="download_win" class="mini-window" title="下载订单" style="width: 550px; height: 200px; position: relative; display: none">
  507. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  508. <tr>
  509. <td class="td1"><span style="color: red;">*</span>店铺</td>
  510. <td class="td2">
  511. <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" />
  512. </td>
  513. </tr>
  514. <tr>
  515. <td class="td1">
  516. <span style="color: red;">*</span>
  517. 订单编号</td>
  518. <td class="td2">
  519. <input type="text" id="txtDownTid" required="true" /></td>
  520. </tr>
  521. <tr>
  522. <td colspan="4">
  523. <div class="win_btn" style="text-align: center;">
  524. <a class="mini-button" iconcls="icon-ok" onclick="saveDownloadFn">下载</a>&nbsp;
  525. <a class="mini-button" iconcls="icon-cancel" onclick="cancelDownloadFn">取消</a>
  526. </div>
  527. </td>
  528. </tr>
  529. </table>
  530. </div>
  531. <div id="delivery_win" class="mini-window" title="发货" style="width: 550px; height: 350px; position: relative; display: none">
  532. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  533. <tr>
  534. <td class="td1">发货方式</td>
  535. <td class="td2" colspan="3">
  536. <select id="txtDeliveryType" style="width: 80%;">
  537. <option value="物流发货">物流发货</option>
  538. <option value="虚拟发货">虚拟发货</option>
  539. </select>
  540. </td>
  541. </tr>
  542. <tr>
  543. <td class="td1">运单号</td>
  544. <td class="td2">
  545. <input type="text" id="txtTransNo" /></td>
  546. </tr>
  547. <tr>
  548. <td class="td1">物流公司</td>
  549. <td class="td2" colspan="3">
  550. <input id="txtComName" class="mini-combobox" style="width: 80%;" textfield="name" valuefield="code" required="true" allowinput="true" valuefromselect="true" url="../data/companies.txt" />
  551. </td>
  552. </tr>
  553. <tr>
  554. <td class="td1">备注</td>
  555. <td class="td2" colspan="3">
  556. <textarea id="txtdeliveryMemo" style="width: 96%; height: 60px;"></textarea></td>
  557. </tr>
  558. <tr>
  559. <td colspan="4">
  560. <div class="win_btn" style="text-align: center;">
  561. <a class="mini-button" iconcls="icon-ok" onclick="saveDeliveryFn">保存</a>&nbsp;
  562. <a class="mini-button" iconcls="icon-cancel" onclick="cancelDeliveryFn">取消</a>
  563. </div>
  564. </td>
  565. </tr>
  566. </table>
  567. </div>
  568. <div id="return_win" class="mini-window" title="返现" style="width: 750px; height: 450px; position: relative; display: none">
  569. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  570. <tr>
  571. <td class="td1">单号</td>
  572. <td class="td2">
  573. <input type="text" id="txtReturnTid" />
  574. </td>
  575. <td class="td1">类型</td>
  576. <td class="td2">
  577. <select id="txtReturnType" style="width: 80%;">
  578. <option value="送样返现">送样返现</option>
  579. <option value="退款返现">退款返现</option>
  580. <option value="好评返现">好评返现</option>
  581. <option value="多拍返现">多拍返现</option>
  582. <option value="微信返现">微信返现</option>
  583. <option value="其他返现">其他返现</option>
  584. </select>
  585. </td>
  586. </tr>
  587. <tr>
  588. <td class="td1">金额</td>
  589. <td class="td2">
  590. <input type="text" id="txtReturnPrice" /></td>
  591. <td class="td1">说明</td>
  592. <td class="td2">
  593. <input type="text" id="txtReturnCon" /></td>
  594. </tr>
  595. <tr>
  596. <td class="td1" colspan="2">
  597. <img id="preview_img" src="../images/no_photo.png" style="width: 100px; height: 100px;" />
  598. </td>
  599. <td class="td1" colspan="2">
  600. <input type="file" id="ssi-upload" />
  601. </td>
  602. </tr>
  603. <tr>
  604. <td colspan="4">
  605. <div style="display: flex; flex-direction: row; width: 100%; color: darkgray;">
  606. <div style="width: 25%;">类型</div>
  607. <div style="width: 25%;">金额</div>
  608. <div style="width: 25%;">申请时间</div>
  609. <div style="width: 25%;">申请人</div>
  610. </div>
  611. </td>
  612. </tr>
  613. <tr>
  614. <td colspan="4">
  615. <div id="divReturnRecord" style="display: block; width: 100%;">
  616. </div>
  617. </td>
  618. </tr>
  619. <tr>
  620. <td colspan="4">
  621. <div class="win_btn" style="text-align: center;">
  622. <a class="mini-button" iconcls="icon-ok" onclick="saveReturnFn">保存</a>&nbsp;
  623. <a class="mini-button" iconcls="icon-cancel" onclick="canceReturnFn">取消</a>
  624. </div>
  625. </td>
  626. </tr>
  627. </table>
  628. </div>
  629. <div id="distribute_win" class="mini-window" title="指派设计师" style="width: 360px; height: 180px; position: relative; display: none">
  630. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  631. <tr>
  632. <td class="td1">设计师</td>
  633. <td class="td2">
  634. <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" />
  635. </td>
  636. </tr>
  637. <tr>
  638. <td colspan="4">
  639. <div class="win_btn" style="text-align: center;">
  640. <a class="mini-button" iconcls="icon-ok" onclick="saveDistributeFn">确定</a>&nbsp;
  641. <a class="mini-button" iconcls="icon-cancel" onclick="cancelDistributeFn">取消</a>
  642. </div>
  643. </td>
  644. </tr>
  645. </table>
  646. </div>
  647. <div id="uploaderAddress_win" class="mini-window" title="上传文件地址" style="width: 600px; height: 270px; position: relative; display: none">
  648. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  649. <tr>
  650. <td class="td1"></td>
  651. <td class="td2">
  652. <input type="file" id="address_file" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel " />
  653. </td>
  654. </tr>
  655. <tr>
  656. <td class="td1">文件地址</td>
  657. <td class="td2">
  658. <div id="uploader_url"></div>
  659. </td>
  660. </tr>
  661. <tr>
  662. <td colspan="4">
  663. <div class="win_btn" style="text-align: center;">
  664. <a class="mini-button" iconcls="icon-ok" onclick="saveUploaderAddressFn">确定</a>&nbsp;
  665. <a class="mini-button" iconcls="icon-cancel" onclick="cancelUploaderAddressFn">取消</a>
  666. </div>
  667. </td>
  668. </tr>
  669. </table>
  670. </div>
  671. <div id="urgency_win" class="mini-window" title="加急" style="width: 360px; height: 180px; position: relative; display: none">
  672. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  673. <tr>
  674. <td class="td1">出货时间</td>
  675. <td class="td2">
  676. <input id="txtUrgencyTime" name="sign_date1" data-options="{otype:'daterange',havetime:'1'}" class="mini-textbox inp-time" />
  677. </td>
  678. </tr>
  679. <tr>
  680. <td colspan="4">
  681. <div class="win_btn" style="text-align: center;">
  682. <a class="mini-button" iconcls="icon-ok" onclick="saveUrgencyFn">确定</a>&nbsp;
  683. <a class="mini-button" iconcls="icon-cancel" onclick="cancelUrgencyFn">取消</a>
  684. </div>
  685. </td>
  686. </tr>
  687. </table>
  688. </div>
  689. <div id="mymemo_win" class="mini-window" title="跟单备注" style="width: 550px; height: 200px; position: relative; display: none">
  690. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  691. <tr>
  692. <td class="td1">跟单状态</td>
  693. <td class="td2" colspan="3">
  694. <select id="txtSelectChange" onchange="selectChange()">
  695. <option value="">请选择</option>
  696. <option value="加急单14点之前需定稿,客户当天需要发货">加急单14点之前需定稿,客户当天需要发货</option>
  697. <option value="加急单当天要定稿,客户隔天需要发货">加急单当天要定稿,客户隔天需要发货</option>
  698. <option value="客户选择了店铺模版,需要快速安排设计定稿">客户选择了店铺模版,需要快速安排设计定稿</option>
  699. <option value="客户自己有设计文件,需要快速安排设计定稿">客户自己有设计文件,需要快速安排设计定稿</option>
  700. <option value="加急单已电联客户未接听线上已留言">加急单已电联客户未接听线上已留言</option>
  701. <option value="超过1天未定稿旺旺上已留言客户跟进订单">超过1天未定稿旺旺上已留言客户跟进订单</option>
  702. <option value="超过1天未定稿旺旺留言及电话跟进订单">超过1天未定稿旺旺留言及电话跟进订单</option>
  703. </select>
  704. </td>
  705. </tr>
  706. <tr>
  707. <td class="td1">备注</td>
  708. <td class="td2" colspan="3">
  709. <textarea id="txtMyMemo" style="width: 96%; height: 60px;"></textarea></td>
  710. </tr>
  711. <tr>
  712. <td colspan="4">
  713. <div class="win_btn" style="text-align: center;">
  714. <a class="mini-button" iconcls="icon-ok" onclick="saveMyMemoFn">保存</a>&nbsp;
  715. <a class="mini-button" iconcls="icon-cancel" onclick="cancelMyMemoFn">取消</a>
  716. </div>
  717. </td>
  718. </tr>
  719. </table>
  720. </div>
  721. <div id="designInfo_win" class="mini-window" title="设计师信息" style="width: 1000px; height: 500px; position: relative; display: none">
  722. <div style="display: flex; justify-content: space-between; align-items: center; padding: 0 30px">
  723. <div class="filter_item" runat="server">
  724. <label>设计</label>
  725. <input id="design_input" class="mini-textbox inp_middle" required="false" />
  726. </div>
  727. <a class="mini-button mini-button-info btn" iconcls="icon-search" onclick="searchDesign">搜索</a>
  728. </div>
  729. <div id="design_grid" class="mini-datagrid" emptytext="暂无记录" url="../handler/sync.ashx?t=get_erp_design_status">
  730. <div property="columns">
  731. <div field="Name" width="100" align="left" headeralign="center">姓名</div>
  732. <div field="OnDuty" width="100" align="left" headeralign="center" renderer="designStatusRenderer">状态</div>
  733. <div field="TeamNames" width="100" align="left" headeralign="center">同组</div>
  734. </div>
  735. </div>
  736. </div>
  737. <div id="spuInfo_win" class="mini-window" title="spu信息" style="width: 1000px; height: 500px; position: relative; display: none">
  738. <input type="hidden" id="spu_ctid" />
  739. <div id="spu_grid" class="mini-datagrid" style="width: 100%; height: 100%;" oemptytext="暂无记录" url="../handler/sync.ashx?t=get_trade_order_list">
  740. <div property="columns">
  741. <div field="spu_id" width="50" align="center">spu</div>
  742. <div field="title" width="60" align="center">名称</div>
  743. <div field="title" width="60" align="center" renderer="spuImageRenderer">图片</div>
  744. <div name="action" width="60" headeralign="center" align="center" renderer="spuAction" cellstyle="padding:0;">#</div>
  745. </div>
  746. </div>
  747. </div>
  748. <div id="knowledge_win" class="mini-window" title="知识库" style="width: 750px; height: 570px; position: relative; display: none">
  749. <iframe src="" id="knowledge_wev" style="width: 100%; height: 100%"></iframe>
  750. </div>
  751. <script>
  752. function onShowRule(e) {
  753. var rec = grid.getSelected();
  754. let spu_id = rec.spu_id;
  755. if (!spu_id) {
  756. resultShow("请先设置对应的spu");
  757. }
  758. $("#knowledge_wev").attr("src", "https://detail.tmall.com/item.htm?id=" + spu_id);
  759. mini.get("knowledge_win").show();
  760. }
  761. function selectSpuFn(spu_id) {
  762. let ctid = $("#spu_ctid").val();
  763. let params = { spu_id, ctid }
  764. postAjax("save_cell_spu", params, function (data) {
  765. resultShow(data, "grid.reload();");
  766. mini.get("spu_grid").setData([]);
  767. mini.get("spuInfo_win").hide();
  768. });
  769. }
  770. function spuImageRenderer(e) {
  771. let item = e.record;
  772. return `<img src="${item.pic_path}" style="width:50px;height:50px;"/>`;
  773. }
  774. function spuAction(e) {
  775. let item = e.record;
  776. var html = "";
  777. html += getGridBtn("memo", "选择", "selectSpuFn('" + item.spu_id + "')");
  778. return html;
  779. }
  780. function changeSpuId(tid, ctid) {
  781. $("#spu_ctid").val(ctid);
  782. mini.get("spu_grid").load({ tid });
  783. mini.get("spuInfo_win").show();
  784. }
  785. function searchDesign() {
  786. let name = mini.get("design_input").value;
  787. mini.get("design_grid").load({
  788. designName: name
  789. });
  790. }
  791. function designStatusRenderer(e) {
  792. var record = e.record;
  793. var html = "";
  794. if (record.OnDuty == "0") {
  795. html = ("<div style='color:red'>未在班</div>");
  796. } else {
  797. html = ("<div style='color:green'>值班</div>");
  798. if (record.BeOnDuty == "2") {
  799. html = ("<div style='color:green'>晚班</div>");
  800. }
  801. }
  802. return html;
  803. }
  804. const client = new OSS({
  805. // yourregion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
  806. region: "oss-cn-fuzhou",
  807. // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
  808. accessKeyId: "LTAI5tE7wuNkeT9jZ42bQnyr",
  809. accessKeySecret: "NnutvWhKl4HbQFSad3HosYbCkEkbjN",
  810. // 填写存储空间名称。
  811. bucket: "dfdiyfile",
  812. endpoint: "https://oss-cn-fuzhou.aliyuncs.com",
  813. });
  814. async function putObject(file) {
  815. try {
  816. let fileDir = dateFtt("yyyyMMdd", new Date())
  817. let name = "addressDoc/" + fileDir + "/" + guid() + getSuff(file.name);
  818. // 填写Object完整路径。Object完整路径中不能包含Bucket名称。
  819. // 您可以通过自定义文件名(例如exampleobject.txt)或文件完整路径(例如exampledir/exampleobject.txt)的形式实现将数据上传到当前Bucket或Bucket中的指定目录。
  820. // data对象可以自定义为file对象、Blob数据或者OSS Buffer。
  821. const options = {
  822. headers: { "Content-Type": "text/plain" },
  823. };
  824. const result = await client.put(name, file, options);
  825. $("#uploader_url").text(result.url);
  826. } catch (e) {
  827. console.log(e);
  828. }
  829. }
  830. document.getElementById('address_file').addEventListener('change', function (e) {
  831. const data = e.target?.files[0];
  832. putObject(data);
  833. });
  834. let uploaderAddressTid = "";
  835. function uploaderAddress(tid) {
  836. uploaderAddressTid = tid;
  837. document.getElementById('address_file').value = "";
  838. $("#uploader_url").text("");
  839. postAjax("get_tid_attachments", { tid }, function (data) {
  840. maskHide();
  841. mini.get("uploaderAddress_win").show();
  842. if (!!data.url) {
  843. $("#uploader_url").text(data.url);
  844. }
  845. })
  846. }
  847. function saveUploaderAddressFn() {
  848. let params = { tid: uploaderAddressTid, atta: $("#uploader_url").text() };
  849. postAjax("set_tid_attachments", params, function (data) {
  850. resultShow(data, "grid.reload();");
  851. mini.get("uploaderAddress_win").hide();
  852. });
  853. }
  854. function cancelUploaderAddressFn() {
  855. mini.get("uploaderAddress_win").hide();
  856. }
  857. function dateFtt(fmt, date) {
  858. var o = {
  859. "M+": date.getMonth() + 1, //月份
  860. "d+": date.getDate(), //日
  861. "h+": date.getHours(), //小时
  862. "m+": date.getMinutes(), //分
  863. "s+": date.getSeconds(), //秒
  864. "q+": Math.floor((date.getMonth() + 3) / 3), //季度
  865. "S": date.getMilliseconds() //毫秒
  866. };
  867. if (/(y+)/.test(fmt)) {
  868. fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
  869. }
  870. for (var k in o) {
  871. if (new RegExp("(" + k + ")").test(fmt))
  872. fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  873. }
  874. return fmt;
  875. }
  876. function getSuff(name) {
  877. return name.substring(name.lastIndexOf("."));
  878. }
  879. function guid() {
  880. return "xxxxxxxx-xxxx-4xxx-yxxx".replace(/[xy]/g, function (c) {
  881. var r = (Math.random() * 16) | 0,
  882. v = c == "x" ? r : (r & 0x3) | 0x8;
  883. return v.toString(16);
  884. });
  885. }
  886. </script>
  887. <div class="image_large" onclick="hideImage(this)"></div>
  888. </asp:Content>