DisagreeAfterSale.aspx 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348
  1. <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage/ErpView.master" AutoEventWireup="true" CodeFile="DisagreeAfterSale.aspx.cs" Inherits="EAfterSale_DisagreeAfterSale" %>
  2. <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
  3. <link href="../js/ssi/ssi-uploader.css" rel="stylesheet" />
  4. <script src="../js/ssi/ssi-upload.js"></script>
  5. <script type="text/javascript" src="../js/address.js"></script>
  6. <script type="text/javascript" src="../js/afterSaleReason.js"></script>
  7. <script type="text/javascript" src="../js/supplierReason.js"></script>
  8. <script type="text/javascript" src="js/Handling.js?v=<%=SiteVer %>"></script>
  9. <script type="text/javascript" src="js/DisagreeAfterSale.js?v=<%=SiteVer %>"></script>
  10. <style type="text/css">
  11. .marginleft20 {
  12. margin-left: 20px;
  13. }
  14. .mini-grid-cell-nowrap {
  15. overflow: hidden;
  16. /* white-space: nowrap;
  17. text-overflow: ellipsis; */
  18. word-break: break-all;
  19. word-wrap: break-word;
  20. white-space: pre-wrap;
  21. }
  22. .hz {
  23. display: flex;
  24. flex-direction: row;
  25. float: right;
  26. margin-right: 50px;
  27. font-size: 14px;
  28. height: 30px;
  29. line-height: 30px;
  30. vertical-align: middle;
  31. }
  32. .hz a {
  33. height: 30px;
  34. line-height: 30px;
  35. }
  36. </style>
  37. <script type="text/javascript">
  38. function getImgs() {
  39. var fObj = getFrame();
  40. var imgArr = fObj.getUpImg();
  41. if (imgArr != null && imgArr.length > 0) {
  42. return imgArr.join(",");
  43. }
  44. return "";
  45. }
  46. function getFrame() {
  47. return $("#upframe")[0].contentWindow;
  48. }
  49. function batchverify() {
  50. var rows = grid.getSelecteds();
  51. let list = []
  52. for (var rec of rows) {
  53. list.push(rec.ctid)
  54. }
  55. if (!confirm("批量通过售后单,确认?")) return;
  56. postAjax("aftersale_batch_audit_master", "ctids=" + list.join(","), function (data) {
  57. resultShow(data, "grid.reload();");
  58. });
  59. }
  60. </script>
  61. </asp:Content>
  62. <asp:Content ID="Content2" ContentPlaceHolderID="btn" runat="Server">
  63. <a id="btnExport" runat="server" class="mini-button mini-button-success" iconcls="icon-folder" onclick="exportFn()">导出</a>
  64. <a id="btnBatchverify" runat="server" class="mini-button mini-button-success" iconcls="icon-folder" onclick="batchverify()">批量通过</a>
  65. <div class="hz">
  66. <span id="normon">
  67. <a id="id_moreBack" style="color: red; margin-left: 10px;" href="javascript:searchMoreBack();">多次不认可</a>
  68. </span>
  69. </div>
  70. </asp:Content>
  71. <asp:Content ID="Content4" ContentPlaceHolderID="content" runat="Server">
  72. <div style="display: none">
  73. <web:HtmlHidden ID="hImg" runat="server"></web:HtmlHidden>
  74. </div>
  75. <div class="mini-fit">
  76. <div id="m_grid" class="mini-datagrid" style="width: 98%;" showemptytext="true" emptytext="暂无记录" contextmenu="#gridMenu" url="../handler/sync.ashx?t=get_erp_disagreeftersalelist">
  77. <div property="columns">
  78. <%-- <div field="Sort" width="50" align="center" headerAlign="center">排序</div>--%>
  79. <%-- <div field="ComName" width="120" align="center" headerAlign="center">公司名称</div>--%>
  80. <div type="checkcolumn" width="20"></div>
  81. <div field="tid" width="110" align="center" headeralign="center" renderer="orderIdRenderer">订单编号</div>
  82. <div field="pay_time" width="80" align="center" headeralign="center" renderer="orderPTimeRenderer">付款时间</div>
  83. <div field="seller_memo" width="150" align="center" headeralign="center" renderer="memoRenderer">备注</div>
  84. <div field="AfterSaleReason" width="50" align="center" headeralign="center">原因</div>
  85. <div field="TextResult" width="40" align="center" headeralign="center" renderer="textResultRenderer">客户售后结果</div>
  86. <div field="diffResultPrice" visible="false" align="center" headeralign="center">客户售后退差金额</div>
  87. <div field="AfterSaleMethod" width="120" align="left" headeralign="center" renderer="methodRenderer">方案</div>
  88. <div field="OrderState" width="40" align="center" headeralign="center" renderer="orderStatusRenderer">状态</div>
  89. <div field="payment" width="50" align="center" headeralign="center" renderer="payRenderer">金额</div>
  90. <div field="AfterSaleResponsible" width="40" align="center" headeralign="center">责任人</div>
  91. <div field="AfterSaleSupplierImg" width="30" align="center" headeralign="center" renderer="ImgRenderer">图片</div>
  92. <div field="AfterSaleMemo" width="60" align="center" headeralign="center">售后备注</div>
  93. <div field="DeductFee" visible="false" align="center" headeralign="center">退差金额</div>
  94. <div field="supRefundType" width="40" align="center" headeralign="center">备注类型</div>
  95. <div field="AfterSaleName" width="30" align="center" headeralign="center">处理人</div>
  96. <div field="HandleTime" width="55" align="center" headeralign="center" renderer="handTimeRenderer">处理时间</div>
  97. <div field="SupplierName" width="30" align="center" headeralign="center">供应商</div>
  98. <div field="AfterSaleSupplierMemo" width="80" align="center" headeralign="center">不认可</div>
  99. <div field="AfterSaleBackImg" width="30" align="center" headeralign="center" renderer="SaleBackImgRenderer">不认可图</div>
  100. <div name="action" width="50" headeralign="center" align="center" renderer="actionRenderer" cellstyle="padding:0;">#</div>
  101. </div>
  102. </div>
  103. </div>
  104. <ul id="gridMenu" class="mini-contextmenu" onbeforeopen="onBeforeOpen">
  105. <li name="edit" iconcls="icon-copy" onclick="onCopyOrder">复制单号</li>
  106. <li name="edit" iconcls="icon-copy" onclick="onCopyBuyerNick">复制旺旺号</li>
  107. </ul>
  108. <div id="handle_win" class="mini-window" title="售后处理" style="width: 980px; height: 730px; position: relative; display: none">
  109. <fieldset style="border: solid 1px #aaa; padding: 3px; margin: 5px;">
  110. <legend style="font-size: 16px; font-weight: bold;">订单信息</legend>
  111. <div style="padding: 3px;">
  112. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  113. <tr>
  114. <td class="td1">订单编号</td>
  115. <td class="td2" colspan="3">
  116. <div id="txtTid" style="display: flex; flex-direction: row;"></div>
  117. </td>
  118. </tr>
  119. </table>
  120. </div>
  121. </fieldset>
  122. <fieldset style="border: solid 1px #aaa; padding: 3px; margin: 5px;">
  123. <legend style="font-size: 16px; font-weight: bold;">责任方标记</legend>
  124. <div style="padding: 3px;">
  125. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  126. <tr>
  127. <td class="td1">责任方</td>
  128. <td class="td2" colspan="1">
  129. <div id="txtResponsibleView" class="mini-combobox" popupwidth="300" popupminheight="450" popupmaxheight="450" textfield="text" valuefield="id"
  130. url="../data/aftersale_responsible.txt" value="id" multiselect="true" showclose="true" oncloseclick="onCloseClick" onvaluechanged="responsibleValueChanged">
  131. <div property="columns">
  132. <div header="责任方" field="text"></div>
  133. </div>
  134. </div>
  135. </td>
  136. <td id="id_txtResponsible1_td1" class="td1 id_txtResponsible1_td1">责任人1</td>
  137. <td id="id_txtResponsible1_td2" class="td2 id_txtResponsible1_td2">
  138. <input id="txtResponsibleUser1" class="mini-combobox" textfield="name" valuefield="id" allowinput="true" valuefromselect="true" url="" />
  139. </td>
  140. <td id="id_txtResponsible2_td1" class="td1 id_txtResponsible2_td1" style="display: none;">责任人2</td>
  141. <td id="id_txtResponsible2_td2" class="td2 id_txtResponsible2_td2" style="display: none;">
  142. <input id="txtResponsibleUser2" class="mini-combobox" textfield="name" valuefield="id" allowinput="true" valuefromselect="true" url="" />
  143. </td>
  144. <tr>
  145. <%--<td class="td1" colspan="3">
  146. <img id="preview_img" src="../images/no_photo.png" style="width:100px;height:100px;" />
  147. </td>--%>
  148. <td class="td1" colspan="8">
  149. <%--<input type="file" id="ssi-upload" />--%>
  150. <iframe id="upframe" style="width: 100%; height: 250px; border: 0px" src="../plug/ssi/ssi-uploader.html" scrolling="no" data-images=""></iframe>
  151. <div id="id_preViewImgCon"></div>
  152. </td>
  153. </tr>
  154. </table>
  155. </div>
  156. </fieldset>
  157. <fieldset style="border: solid 1px #aaa; padding: 3px; margin: 5px;">
  158. <legend style="font-size: 16px; font-weight: bold;">处理信息</legend>
  159. <div style="padding: 3px;">
  160. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  161. <tr>
  162. <td class="td1">客户售后结果</td>
  163. <td class="td2" colspan="2">
  164. <input id="txtResult" onvaluechanged="changeResultFn" class="mini-combobox inp_middle" url="../data/aftersale_result.txt" value="" textfield="text" valuefield="id" />
  165. </td>
  166. <td class="td1 diffResult" style="display: none">退差价金额</td>
  167. <td class="td2 diffResult" style="display: none" colspan="2">
  168. <input type="text" id="diffResultPrice" />
  169. </td>
  170. </tr>
  171. <tr>
  172. <td class="td1">投诉</td>
  173. <td class="td2 " colspan="2">
  174. <select id="isComplain" onchange="changeComplain()">
  175. <option value="0">--请选择--</option>
  176. <option value="1">投诉成立</option>
  177. <option value="2">投诉不成立</option>
  178. </select>
  179. </td>
  180. <td>
  181. <input type="checkbox" id="isBad" /><span>差评单</span>
  182. </td>
  183. </tr>
  184. <tr>
  185. <td class="td1">售后原因</td>
  186. <td class="td2">
  187. <%--<input id="txtReason" class="mini-combobox" style="width: 90%;" textfield="text" valuefield="text" allowinput="false" url="../data/aftersale_reason.txt" />--%>
  188. <input id="txtReason1" class="mini-combobox" onvaluechanged="changeReason1Fn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
  189. </td>
  190. <td class="td2" colspan="1">
  191. <input id="txtReason2" class="mini-combobox" style="width: 150px;" onvaluechanged="changeReason2Fn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
  192. </td>
  193. <td class="td2" colspan="1">
  194. <input id="txtReason3" class="mini-combobox" style="width: 200px;" onvaluechanged="changeReason3Fn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
  195. </td>
  196. <td class="td2" colspan="1">
  197. <input id="txtReason4" class="mini-combobox" style="width: 200px;" onvaluechanged="changeReason4Fn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
  198. </td>
  199. <td class="td2" colspan="1">
  200. <input id="txtInputReason" type="text" style="width: 100px; display: none" />
  201. </td>
  202. <%--<td class="td1"><span style="color:sandybrown;">生成订单</span></td>
  203. <td class="td2"><input type="checkbox" id="chkState" /></td>--%>
  204. </tr>
  205. <tr style="display: none" id="isOriginalLayout">
  206. <td class="td1">设计类型</td>
  207. <td class="td2">
  208. <input type="checkbox" id="textIsOriginal" /><span>改稿</span>
  209. </td>
  210. </tr>
  211. <tr>
  212. <td class="td1">供应商退款类型</td>
  213. <td class="td2" colspan="2">
  214. <select id="txtRefundType" onchange="refundTypeSelFn()">
  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. <td id="id_Deduct_td1" class="td1" style="display: none">退差价金额</td>
  224. <td id="id_Deduct_td2" class="td2" style="display: none" colspan="2">
  225. <input type="text" id="txtDeduct" />
  226. </td>
  227. <td class="td1" colspan="4" style="color: red; font-weight: bold; display: none" id="td_after"></td>
  228. </tr>
  229. <tr>
  230. <td class="td1">指派节点</td>
  231. <td class="td2">
  232. <select id="txtToState" style="width: 90%;" onchange="stateChange()">
  233. <option value="请选择">--请选择--</option>
  234. <option value="设计师">设计师</option>
  235. <option value="下单员">下单员</option>
  236. </select>
  237. </td>
  238. <td class="td1">订单金额</td>
  239. <td class="td2">
  240. <input type="text" id="txtPayment" />
  241. <input type="hidden" id="txtRefund" />
  242. </td>
  243. <td class="td1 id_txtResponsible1_td1">责任人1扣款金额</td>
  244. <td class="td2 id_txtResponsible1_td2">
  245. <input type="text" id="txtRefund1" />
  246. </td>
  247. </tr>
  248. <tr>
  249. <td class="td1 id_txtResponsible2_td1" style="display: none">责任人2扣款金额</td>
  250. <td class="td2 id_txtResponsible2_td2" style="display: none">
  251. <input type="text" id="txtRefund2" />
  252. </td>
  253. <td class="td1" colspan="4" style="color: red; font-weight: bold; display: none" id="td_watch"></td>
  254. </tr>
  255. <tr>
  256. <td class="td1">解决方案</td>
  257. <td class="td2" colspan="5">
  258. <textarea id="txtMethod" style="width: 96%; height: 50px;"></textarea>
  259. </td>
  260. </tr>
  261. <tr>
  262. <td class="td1">备注</td>
  263. <td class="td2" colspan="5">
  264. <textarea id="txtAfterMemo" style="width: 96%; height: 30px;"></textarea></td>
  265. </tr>
  266. </table>
  267. </div>
  268. </fieldset>
  269. <fieldset style="border: solid 1px #aaa; padding: 3px; margin: 5px;">
  270. <legend style="font-size: 16px; font-weight: bold;">售后单收件变更(地址变更才需要填写)</legend>
  271. <div style="padding: 3px;">
  272. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  273. <tr>
  274. <td class="td1">收货人</td>
  275. <td class="td2">
  276. <input type="text" id="txtReceiver" /></td>
  277. <td class="td1">联系电话</td>
  278. <td class="td2">
  279. <input type="text" id="txtPhone" /></td>
  280. </tr>
  281. <tr>
  282. <td class="td1">收货地址</td>
  283. <td class="td2" colspan="3">
  284. <input id="txtAddProvince" class="mini-combobox" onvaluechanged="changeProvinceFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
  285. <input id="txtAddCity" class="mini-combobox" onvaluechanged="changeCityFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
  286. <input id="txtAddCounty" class="mini-combobox" onvaluechanged="changeCountyFn" textfield="AddName" valuefield="ID" allowinput="true" valuefromselect="true" />
  287. <input type="text" id="txtAddDetailAddress" style="width: 57%; margin-top: 10px;" />
  288. </td>
  289. </tr>
  290. <tr>
  291. <td colspan="6">
  292. <div class="win_btn" style="text-align: center;">
  293. <a class="mini-button" iconcls="icon-ok" onclick="saveHandleFn">保存</a>&nbsp;
  294. <a class="mini-button" iconcls="icon-cancel" onclick="cancelHandleFn">取消</a>
  295. </div>
  296. </td>
  297. </tr>
  298. </table>
  299. </div>
  300. </fieldset>
  301. </div>
  302. <div id="end_win" class="mini-window" title="售后终止" style="width: 550px; height: 250px; position: relative; display: none">
  303. <table class="win_tb" border="0" cellpadding="0" cellspacing="1">
  304. <tr>
  305. <td class="td1">终止原因</td>
  306. <td class="td2" colspan="3">
  307. <input type="text" id="endReason" />
  308. </td>
  309. </tr>
  310. <tr>
  311. <td colspan="4">
  312. <div class="win_btn" style="text-align: center;">
  313. <a class="mini-button" iconcls="icon-ok" onclick="saveEndFn">确定</a>&nbsp;
  314. <a class="mini-button" iconcls="icon-cancel" onclick="cancelEndFn">取消</a>
  315. </div>
  316. </td>
  317. </tr>
  318. </table>
  319. </div>
  320. <div class="image_large" onclick="hideImage(this)"></div>
  321. </asp:Content>