ApplyBack.aspx 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336
  1. <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage/ErpView.master" AutoEventWireup="true" CodeFile="ApplyBack.aspx.cs" Inherits="EDelivery_ApplyBack" %>
  2. <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
  3. <script type="text/javascript">
  4. _page_size = 30;
  5. </script>
  6. </asp:Content>
  7. <asp:Content ID="Content4" ContentPlaceHolderID="content" runat="Server">
  8. <div class="mini-fit">
  9. <div id="m_grid" class="mini-datagrid" style="width: 100%; height: 100%;" showemptytext="true" contextmenu="#gridMenu" emptytext="暂无记录" url="../handler/sync.ashx?t=get_erp_applybackorderlist">
  10. <div property="columns">
  11. <div field="ctid" width="110" align="center" headeralign="center" renderer="orderIdRenderer">订单编号</div>
  12. <div field="pay_time" width="80" align="center" headeralign="center" renderer="orderPTimeRenderer">付款时间</div>
  13. <div field="SupplierName" width="60" align="center" headeralign="center">供应商</div>
  14. <div field="CustomerUserName" width="60" align="center" headeralign="center" renderer="orderCusRenderer">客服/设计</div>
  15. <div field="seller_memo" width="200" align="center" headeralign="center" renderer="memoRenderer">备注</div>
  16. <div field="OrderState" width="50" align="center" headeralign="center" renderer="orderStatusRenderer">状态</div>
  17. <div field="receiver_address" width="80" align="center" headeralign="center">收货地址</div>
  18. <div field="FinishDesignTime" width="60" dateformat="yyyy-MM-dd HH:mm" align="center" headeralign="center">设计完成时间</div>
  19. <div name="action" width="80" headeralign="center" align="center" renderer="actionRenderer" cellstyle="padding:0;">#</div>
  20. </div>
  21. </div>
  22. </div>
  23. <ul id="gridMenu" class="mini-contextmenu" onbeforeopen="onBeforeOpen">
  24. <li name="edit" iconcls="icon-copy" onclick="onCopyOrder">复制单号</li>
  25. <li name="edit" iconcls="icon-copy" onclick="onCopyBuyerNick">复制旺旺号</li>
  26. </ul>
  27. <div id="returnreason_win" class="mini-window" title="退单" style="width: 700px; height: 400px; position: relative; display: none">
  28. <input type="hidden" id="returnreason_id" />
  29. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  30. <tr id="selectTar">
  31. <td class="td1">打回目标</td>
  32. <td class="td2" colspan="3">
  33. <select>
  34. <option value="2">设计</option>
  35. <option value="1">客服</option>
  36. </select>
  37. </td>
  38. </tr>
  39. <tr>
  40. <td class="td1"></td>
  41. <td class="td2" colspan="3">
  42. <input id="selectReturnreason" class="mini-combobox" style="width: 80%;" textfield="title" valuefield="title" required="true" allowinput="true" valuefromselect="true" onvaluechanged="returnreasonChanged" />
  43. </td>
  44. </tr>
  45. <tr>
  46. <td class="td1">原因</td>
  47. <td class="td2" colspan="3">
  48. <textarea id="txtReturnreason" style="width: 96%; height: 60px;"></textarea></td>
  49. </tr>
  50. <tr>
  51. <td colspan="4">
  52. <div class="win_btn" style="text-align: center;">
  53. <a class="mini-button" iconcls="icon-ok" onclick="saveReturnreasonFn">保存</a>&nbsp;
  54. <a class="mini-button" iconcls="icon-cancel" onclick="cancelReturnreason">取消</a>
  55. </div>
  56. </td>
  57. </tr>
  58. </table>
  59. </div>
  60. <div id="returnsupplierreason_win" class="mini-window" title="退单" style="width: 700px; height: 400px; position: relative; display: none">
  61. <input type="hidden" id="returnsupplierreason_id" />
  62. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  63. <tr>
  64. <td class="td1">原因</td>
  65. <td class="td2" colspan="3">
  66. <textarea id="txtReturnSupplierreason" style="width: 96%; height: 60px;"></textarea></td>
  67. </tr>
  68. <tr>
  69. <td colspan="4">
  70. <div class="win_btn" style="text-align: center;">
  71. <a class="mini-button" iconcls="icon-ok" onclick="saveReturnSupplierReasonFn">保存</a>&nbsp;
  72. <a class="mini-button" iconcls="icon-cancel" onclick="cancelReturnSupplierReason">取消</a>
  73. </div>
  74. </td>
  75. </tr>
  76. </table>
  77. </div>
  78. <script>
  79. function orderStatusRenderer(e) {
  80. var grid = e.sender;
  81. var record = e.record;
  82. var statestr = getOrderStatestrByState(record.OrderState);
  83. var html = "<div style=\"display:flex;flex-direction:column;\">";
  84. html += ("<div onclick=\"clickToLog('" + record.ctid + "')\" style=\"color:blue;margin-bottom:10px;\">" + statestr + "</div>");
  85. var taostatus = getInitStatusstrByState(record.status);
  86. html += ("<div>" + taostatus + "</div>");
  87. html += "</div>";
  88. return html;
  89. }
  90. function orderCusRenderer(e) {
  91. var grid = e.sender;
  92. var record = e.record;
  93. var html = "<div style=\"display:flex;flex-direction:column;align-items:center;\">";
  94. html += ("<a style=\"color:#0090FF;\">" + record.CustomerUserName + "</a>");
  95. html += ("<a style=\"color:#0090FF;\">" + record.DesignUserName + "</a>");
  96. html += "</div>";
  97. return html;
  98. }
  99. function orderPTimeRenderer(e) {
  100. var grid = e.sender;
  101. var record = e.record;
  102. var html = "<div style=\"display:flex;flex-direction:column;\">";
  103. html += ("<div>" + record.seller_nick + "</div>");
  104. html += getWWurlByNick(record.buyer_nick);
  105. html += ("<div>" + formatCommonDate(record.pay_time) + "</div>");
  106. html += "</div>";
  107. return html;
  108. }
  109. //查询按钮
  110. function searchFn() {
  111. var form = new mini.Form("#ctl00_f_all");
  112. var data = form.getData(true, false);
  113. var s = data;
  114. grid.load({
  115. ctid: s.tid, shopname: s.shop, buyer_nick: s.ww, customer: s.customer, orderState: s.state, address: s.address,
  116. date1: s.date1, date2: s.date2, price1: s.price1, price2: s.price2, supplier: s.supplier,
  117. seller_memo: s.memo, backdate1: s.backdate1, backdate2: s.backdate2, backtype: s.backtype, otherMemo: s.otherMemo
  118. });
  119. }
  120. //清除查询内容
  121. function clearFn() {
  122. var form = new mini.Form("#ctl00_f_all");
  123. form.clear();
  124. mini.get("aSearchMonth").setChecked(false);
  125. mini.get("aSearchDay").setChecked(false);
  126. mini.get("aSearchWeek").setChecked(false);
  127. }
  128. function actionRenderer(e) {
  129. var record = e.record;
  130. var id = record.ctid;
  131. var html = "";
  132. html += getGridBtn("view", "拒绝", "refuseOrder('" + id + "')");
  133. if (userPostCode == "Supplier") {
  134. html += getGridBtn("view", "同意", "agreeSupplierOrder('" + id + "')");
  135. } else {
  136. html += getGridBtn("view", "同意", "agreeOrder('" + id + "')");
  137. }
  138. return html;
  139. }
  140. function refuseOrder() {
  141. var rec = grid.getSelected();
  142. mini.prompt("请输入原因:", "拒绝",
  143. function (action, value) {
  144. if (action == "ok") {
  145. var parms = new Object();
  146. parms.ctid = rec.ctid;
  147. parms.returnreason = value;
  148. postAjax("refuseBackOrder", parms, function (data) {
  149. resultShow(data, "grid.reload();");
  150. });
  151. } else {
  152. }
  153. },
  154. true
  155. );
  156. }
  157. function agreeSupplierOrder(e) {
  158. var rec = rec = grid.getSelected();
  159. $("#returnsupplierreason_id").val(e);
  160. mini.get("returnsupplierreason_win").show();
  161. }
  162. function cancelReturnSupplierReason() {
  163. mini.get("returnsupplierreason_win").hide()
  164. }
  165. function saveReturnSupplierReasonFn() {
  166. let parms = {};
  167. parms.ctid = $("#returnsupplierreason_id").val();
  168. parms.returnreason = $("#txtReturnSupplierreason").val();
  169. postAjax("ins_erp_returnreason", parms, function (data) {
  170. $("#txtReturnSupplierreason").val("");
  171. mini.get("returnsupplierreason_win").hide();
  172. resultShow(data, "grid.reload();");
  173. });
  174. }
  175. function agreeOrder(e) {
  176. var rec = rec = grid.getSelected();
  177. $("#returnreason_id").val(e);
  178. mini.get("returnreason_win").show();
  179. }
  180. function cancelReturnreason() {
  181. mini.get("returnreason_win").hide()
  182. }
  183. function saveReturnreasonFn() {
  184. let parms = {};
  185. parms.ctid = $("#returnreason_id").val();
  186. parms.returnreason = $("#txtReturnreason").val();
  187. parms.totype = $("#selectTar select option:selected").val();
  188. postAjax("passApplyBack", parms, function (data) {
  189. if ($("#selectReturnreason").is(':visible')) {
  190. mini.get("selectReturnreason").setValue("");
  191. }
  192. $("#txtReturnreason").val("");
  193. mini.get("returnreason_win").hide();
  194. if (data != "操作成功!") {
  195. mini.confirm(data, "确定?",
  196. function (action) { }
  197. )
  198. };
  199. resultShow(data, "grid.reload();");
  200. });
  201. }
  202. function returnreasonChanged(e) {
  203. $("#txtReturnreason").val("").val(e.value);
  204. }
  205. let returnreason_list = [{
  206. title: "客服撤"
  207. }, {
  208. title: "设计撤"
  209. }, {
  210. title: "售后撤"
  211. }, {
  212. title: "审稿撤"
  213. }, {
  214. title: "设计 尺寸不符"
  215. }, {
  216. title: "设计 未转曲"
  217. }, {
  218. title: "设计 文件没标孔"
  219. }, {
  220. title: "设计 款数不符 "
  221. }, {
  222. title: "设计 文件含无效轮廓"
  223. }, {
  224. title: "设计 数量不明确"
  225. }, {
  226. title: "设计 文件名直角文件模切"
  227. }, {
  228. title: "设计 文件名模切文件直角"
  229. }, {
  230. title: "设计 文件名双面 文件单面"
  231. }, {
  232. title: "设计 文件名单面 文件双面"
  233. }, {
  234. title: "设计 文件打不开"
  235. }, {
  236. title: "设计 文件打开空白"
  237. }, {
  238. title: "设计 文件带R标 需要提供商标注册+印刷委托书 或者 营业执照+印刷委托书 两者取一种 必需带公章"
  239. }, {
  240. title: "设计 没按固定刀版设计"
  241. }, {
  242. title: "设计 双面左右放 竖着排一列"
  243. }, {
  244. title: "设计 打码位置不够 要留35x7mm"
  245. }, {
  246. title: "设计 内页是否设计反了"
  247. }, {
  248. title: "设计 刀版间距不够 至少要3mm以上"
  249. }, {
  250. title: "设计 文件有RGB色值"
  251. }, {
  252. title: "设计 刀版跟出血卡边 会模切不准"
  253. }, {
  254. title: "设计 底色要不要"
  255. }, {
  256. title: "设计 打印没有这个尺寸的刮刮膜 具体看报价系统"
  257. }, {
  258. title: "设计 没做出血"
  259. }, {
  260. title: "设计 没做刀版"
  261. }, {
  262. title: "设计 划痕划到字"
  263. }, {
  264. title: "设计 文件糊 直接做吗"
  265. }, {
  266. title: "设计 图片超出画面框"
  267. }, {
  268. title: "设计 刮奖区虚线偏大文件图片没法调整 贴膜的位置要比膜的尺寸一边小3mm"
  269. }, {
  270. title: "设计 文件里面需要放杯子图片跟口径"
  271. }, {
  272. title: "设计 烫金不是矢量文件"
  273. }, {
  274. title: "设计 白墨需要做白墨版"
  275. }, {
  276. title: "设计 烫金最小尺寸英文3mm以上中文5mm以上线条0.5mm以上间距不够0.5mm 糊"
  277. }, {
  278. title: "设计 棉卡印不了底色 底色是材质色"
  279. }, {
  280. title: "设计 奖项没有备注数量"
  281. }, {
  282. title: "设计 牙签粘哪里 做好示意图 "
  283. }, {
  284. title: "设计 台湾地址文件里面要放客户身份证号 "
  285. }, {
  286. title: "客服 超成本"
  287. }, {
  288. title: "客服 地址上传系统"
  289. }, {
  290. title: "客服 特种纸不覆膜"
  291. }, {
  292. title: "客服 实际金额拍了多少 额外备注备注一下"
  293. }, {
  294. title: "客服 老客户要及时上传"
  295. }, {
  296. title: "客服 搜不到之前文件 是否有改名字或者换号 额外备注 备注一下"
  297. }, {
  298. title: "客服 文件名不规范"
  299. }, {
  300. title: "客服 额外备注车间看不到"
  301. }, {
  302. title: "客服 未按报价系统报价"
  303. }, {
  304. title: "设计 文件名模切文件圆角"
  305. }, {
  306. title: "设计 文件名直角文件圆角"
  307. }, {
  308. title: "设计 总数不符"
  309. }];
  310. $(() => {
  311. mini.get("selectReturnreason").setData(returnreason_list);
  312. });
  313. </script>
  314. </asp:Content>