myRetentionOrder.zml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352
  1. ${Scripts.src("/zinc/js/global_2019010801.js")}
  2. <style>
  3. .z-text-ellipsis {
  4. text-overflow: ellipsis;
  5. overflow: hidden;
  6. white-space: nowrap;
  7. display: inline;
  8. }
  9. .z-floater .z-content {
  10. position: absolute;
  11. top: 0;
  12. left: 0;
  13. min-width: 30px;
  14. min-height: 25px;
  15. padding: 6px;
  16. font-size: 12px;
  17. border: 1px solid #c6c6c6;
  18. line-height: 25px;
  19. text-align: center;
  20. background: #fff;
  21. }
  22. </style>
  23. <script>
  24. function doProgressNote(id)
  25. {//进度备注
  26. var designId =id
  27. if (Z.V.isEmpty(designId))
  28. {
  29. designId = Z.FM.getChecked("designId");
  30. if (Z.V.isEmpty(designId))
  31. {
  32. Z.alert("请选择一条订单");
  33. return;
  34. }
  35. }
  36. var dialog = new Z.Dialog();
  37. dialog.title = "订单["+designId+"]进度备注";
  38. dialog.url = "/progressNote.htm?designId="+designId;
  39. dialog.width = 1000;
  40. dialog.height = 630;
  41. dialog.execute();
  42. }
  43. //快捷联系人
  44. function quickContact()
  45. {
  46. var designId = Z.FM.getChecked("designId");
  47. if (Z.V.isEmpty(designId))
  48. {
  49. Z.alert("请选择一条订单");
  50. return;
  51. }
  52. var ajax = new Z.Ajax();
  53. ajax.setClassName("OrderPresenter");
  54. ajax.setMethodName("quickContact");
  55. ajax.addParam("designId", designId);
  56. ajax.setFailureAlert();
  57. ajax.setSuccess(function(){
  58. var obj = Z.J.toObject(this.responseText);
  59. console.log(obj);
  60. var resultHtml = obj.resultHtml;
  61. if (!Z("#quickContact_dialog")[0])
  62. {
  63. var dialog = new Z.Dialog();
  64. dialog.title = '<span id="quickContact_title" class="z-bold"></span>';
  65. dialog.text = '<div id="quickContact_dialog"></div>';
  66. dialog.width = 1100;
  67. dialog.height = 520;
  68. dialog.shadow = false;
  69. dialog.execute();
  70. dialog.$background.remove();
  71. console.log(dialog)
  72. }
  73. Z("#quickContact_dialog").htmlc(resultHtml);
  74. Z("#quickContact_title").htmlc(Z("#title_content").html());
  75. });
  76. ajax.setLoading("quickContactBtn", '<i class="z-font z-add"></i>正在查询', {disabled:true});
  77. ajax.execute();
  78. }
  79. //快捷联系 发送短信
  80. function doContactMobile(mobile, defaultValue, orderId)
  81. {
  82. if (Z.V.isEmptyBlank(mobile))
  83. {
  84. Z.alert("无效手机号");
  85. return;
  86. }
  87. if (Z.V.isEmptyBlank(defaultValue))
  88. {
  89. defaultValue = '';
  90. }
  91. Z.prompt('发送短信至:'+mobile , defaultValue,function(value)
  92. {
  93. if (Z.V.isEmptyBlank(value))
  94. {
  95. Z.alert("短信内容不能为空", function()
  96. {
  97. doContactMobile(mobile, defaultValue);
  98. });
  99. }
  100. else
  101. {
  102. var ajax = new Z.Ajax();
  103. ajax.setClassName("OrderPresenter");
  104. ajax.setMethodName("doContactMobile");
  105. ajax.addParam("orderId", orderId);
  106. ajax.addParam("mobile", mobile);
  107. ajax.addParam("notes", value);
  108. ajax.setFailureAlert();
  109. ajax.setSuccess(function(){Z.tips("发送成功");});
  110. ajax.execute();
  111. }
  112. },{type:'textarea'});
  113. }
  114. //自行处理
  115. function doSelfRetentDeal(){
  116. var designId = Z.FM.getChecked("designId");
  117. if (Z.V.isEmpty(designId))
  118. {
  119. Z.alert("请选择一条订单");
  120. return;
  121. }
  122. var ajax = new Z.Ajax();
  123. ajax.setClassName("OrderPresenter");
  124. ajax.setMethodName("doSelfRetentDealBefore");
  125. ajax.addParam("designId", designId);
  126. ajax.setFailureAlert();
  127. ajax.setSuccess(function(){
  128. <#var retentDealTime=CalculationUtil.retentDealDateTime(request)/>
  129. var retentDealDateTime =${retentDealTime};
  130. if(retentDealDateTime != ""){
  131. Z.confirm('您需要在'+retentDealDateTime+'小时内处理订单', function(){doSelfRetentDealInfo(designId)});
  132. }else{
  133. Z.alert("通知管理员设置滞留单处理时效");
  134. return;
  135. }
  136. });
  137. ajax.execute();
  138. }
  139. function doSelfRetentDealInfo(designId){
  140. var ajax = new Z.Ajax();
  141. ajax.setClassName("OrderPresenter");
  142. ajax.setMethodName("doSelfRetentDeal");
  143. ajax.addParam("designId", designId);
  144. ajax.setFailureAlert();
  145. ajax.setSuccess(function(){location.reload();});
  146. ajax.execute();
  147. }
  148. function doDesignOrderRefund()
  149. {//请求退款
  150. var designId = Z.FM.getChecked("designId");
  151. var ajax = new Z.Ajax();
  152. ajax.setClassName("DesignOrderPresenter");
  153. ajax.setMethodName("doDesignOrderRefundValidate");
  154. ajax.addParam("designId", designId);
  155. ajax.setFailureAlert();
  156. ajax.setSuccess(function(){
  157. if(Z.V.isNotEmpty(this.responseText)){
  158. Z.confirm(this.responseText, function(){
  159. var dialog = new Z.Dialog();
  160. dialog.title = "退款订单: "+designId+" (截屏后粘贴(CTRL+V)到下方空白处)";
  161. dialog.url = "/designOrderRefund.htm?designId=" + designId;
  162. dialog.width = 600;
  163. dialog.height = 400;
  164. dialog.execute();
  165. });
  166. return;
  167. }
  168. var dialog = new Z.Dialog();
  169. dialog.title = "退款订单: "+designId+" (截屏后粘贴(CTRL+V)到下方空白处)";
  170. dialog.url = "/designOrderRefund.htm?designId=" + designId;
  171. dialog.width = 600;
  172. dialog.height = 400;
  173. dialog.execute();
  174. });
  175. ajax.execute();
  176. }
  177. function doQueryStatus(designId, oprType)
  178. {//查询订单状态
  179. var ajax = new Z.Ajax();
  180. ajax.setSync();
  181. ajax.setClassName("DesignOrderPresenter");
  182. ajax.setMethodName("doQueryStatus");
  183. ajax.addParam(designId);
  184. ajax.addParam(oprType);
  185. ajax.execute();
  186. if(ajax.responseStatus != 0)
  187. {
  188. Z.alert(ajax.responseText);
  189. return false;
  190. }
  191. return true;
  192. }
  193. </script>
  194. ${zhiqim_manager_breadcrumb("我的滞留单")}
  195. ${zhiqim_manager_content()}
  196. <#-- 导航 -->
  197. <div data-role="z-tabnav" class="z-tabnav-main z-mg-b20 ${zmr_color_class}">
  198. <nav>
  199. <ul>
  200. <li onclick="Z.Location.href('designOrder.htm');">设计订单</li>
  201. <li onclick="Z.Location.href('draftOrder.htm');">初稿订单</li>
  202. <li class="z-active">滞留订单</li>
  203. <li onclick="Z.Location.href('draftOrderToDay.htm');">今日初稿订单</li>
  204. <li onclick="Z.Location.href('completeOrderDayStat.htm');">今日定稿统计</li>
  205. <li onclick="Z.Location.href('designOrderFinish.htm');">历史完成订单</li>
  206. <li onclick="Z.Location.href('fillOrder.htm');">补单列表</li>
  207. </ul>
  208. </nav>
  209. </div>
  210. <#-- 左侧功能 -->
  211. <#-- 查询条件 -->
  212. ${zhiqim_manager_title("查询条件")}
  213. <form name="theForm" action="/myRetentionOrder.htm">
  214. <table class="z-table z-bordered z-pd6 z-bg-white">
  215. <tr class="z-h40">
  216. <td>订&nbsp;单&nbsp;号&nbsp;:<input name="designId" class="${zmr_color_class} z-input z-w180" value="${designId}" maxlength="64" placeholder="订单号"></td>
  217. <td>产品类型:<select name="typeId" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
  218. <option value="">全部</option>
  219. <#for item : DesignTypeDao.list()>
  220. <option value="${item.getTypeId()}" <#if typeId == item.getTypeId()>selected</#if>>${item.getTypeName()}</option>
  221. </#for>
  222. </select>
  223. </td>
  224. <td>责&nbsp;任&nbsp;人:
  225. <select name="designer" class="z-select z-w180" data-role="z-select-search" data-class="${zmr_color_class}">
  226. <option value="">全部</option>
  227. <#for item : operatorList>
  228. <option value="${item.getOperatorCode()}" <#if item.getOperatorCode() == designer>selected</#if>>${item.getOperatorCode()}</option>
  229. </#for>
  230. </select>
  231. </td>
  232. <td>旺旺号:<input class="z-input ${zmr_color_class} z-w160" name="buyerNick" value="${buyerNick}" maxlength="32" placeholder="旺旺号"/></td>
  233. <tr>
  234. </tr class="z-h40">
  235. <td>
  236. 稿件类型:<select name="draftType" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
  237. <option value="">全部</option>
  238. <#for item : DraftConstants.getList()>
  239. <option value="${item.value()}" <#if draftType == item.value()>selected</#if>>${item.desc()}</option>
  240. </#for>
  241. </select>
  242. </td>
  243. <td>店铺名称:<select name="shopNick" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
  244. <option value="">全部</option>
  245. <#for item : shopNickList>
  246. <option value="${item}" <#if shopNick == item>selected</#if>>${item}</option>
  247. </#for>
  248. </select>
  249. </td>
  250. <td>滞留时长:<select name="retentionTime" class="z-select z-w180" data-role="z-select" data-class="${zmr_color_class}">
  251. <option value="">全部</option>
  252. <option value="1" <#if retentionTime == 1>selected</#if>>一个月以上</option>
  253. <option value="2" <#if retentionTime == 2>selected</#if>>两个月以上</option>
  254. <option value="3" <#if retentionTime == 3>selected</#if>>三个月以上</option>
  255. </select>
  256. </td>
  257. <td>
  258. <button class="z-button z-large z-w120 z-mg-r15 ${zmr_color_class}">查询</button><button class="z-button z-large" type="button" onclick="Z.FM.clearForm(this.form);">清空</button>
  259. </td>
  260. </tr>
  261. </table>
  262. </form>
  263. <#-- 操作功能 -->
  264. <div class="z-w100p z-mg-t10 z-mg-b3">
  265. <button type="button" class="z-button z-mg-r6 ${zmr_color_class}" onclick="Global.openWangWang();"><img src="/zinc/images/wangwang.png">旺旺联系</button>
  266. <#if ZmrPathRule.check(request, "doApplyRefund")>
  267. <span class="z-pointer z-text-ellipsis" data-role="z-tooltip" data-options="placement:top;top:5;align:center;border-color:#d3d3d3;width:80px;" data-text="取消设计">
  268. <button id="designOrderRefund" class="z-button z-blue z-mg-r10" onclick="doDesignOrderRefund();"><i class="z-font z-modify"></i>
  269. 申请退款
  270. </button>
  271. </span>
  272. </#if>
  273. <button id="quickContactBtn" type="button" class="z-button z-mg-t3 z-mg-r6 z-cyan" onclick="quickContact();"><i class="z-font z-add"></i>快捷联系人</button>
  274. <button class="z-button z-blue z-mg-r10" onclick="doProgressNote();"><i class="z-font z-setting"></i>进度备注</button>
  275. <button class="z-button z-orange z-mg-r10" onclick="doSelfRetentDeal();">自行处理</button>
  276. </div>
  277. <#-- 列表 -->
  278. <table class="z-table z-bordered z-h40-tr z-pd5 z-bg-white z-text-center" style="height:auto;">
  279. <tr bgcolor="${zmr_thead_bgcolor}">
  280. <td width="60">选择</td>
  281. <td width="140">订单号</td>
  282. <td width="150">所属组织</td>
  283. <td width="100">稿件类型</td>
  284. <td width="130">旺旺号</td>
  285. <td width="120">店铺</td>
  286. <td width="110">设计师</td>
  287. <td width="90">创建时间</td>
  288. <td width="90">领单时间</td>
  289. <td width="110">订单状态</td>
  290. <td width="160">进度备注</td>
  291. <td width="*" style="min-width:220px">产品</td>
  292. <td width="80">订单金额</td>
  293. <td width="120">倒计时</td>
  294. <td width="80">印刷设计</td>
  295. </tr>
  296. ${zhiqim_manager_tr_no_record(pageResult, 12, "暂时没有滞留单")}
  297. <#for item : pageResult.list()>
  298. <#var isCountDown=CalculationUtil.retentDealCountDownCal(request,item.getDesignId())/>
  299. <input id="buyerNick_${item.getDesignId()}" type="hidden" value="${item.getBuyerNick()}">
  300. <input id="userQq_${item.getDesignId()}" type="hidden" value="${item.getUserQq()}">
  301. <tr class="z-pointer <#if isCountDown == "">z-text-red</#if>" ${zhiqim_manager_tr_onmouse()} ${zhiqim_manager_tr_click_radio()}>
  302. <td><input name="designId" type="radio" data-role="z-radio" data-class="${zmr_color_class}" value="${item.getDesignId()}"></td>
  303. <td>${item.getDesignId()}
  304. <#if item.getReDesignSrcId() gt 0><span style="color: red;font-size:16px;font-weight: bold"> 补 </span></#if>
  305. <#if item.isUrgent()><span style="color: red;font-size:16px;font-weight: bold"> 急 </span></#if>
  306. <#if item.isHighQualityOrder()><span style="color: red;font-size:16px;font-weight: bold"> 优 </span></#if>
  307. <#if item.getIsOldUser() gt 0><span style="color: #9D24D7;font-size:16px;font-weight: bold"> 老 </span></#if>
  308. <#if !(item.getAmount() lt 30000)><span style="color:#FF34B3;font-size:16px;font-weight: bold"> 大 </span></#if>
  309. <#if item.getShowRedMark() == 1><span><img src="/zinc/images/red_exclamation_mark.png" title="该订单已在淘宝退款"></span></#if>
  310. </td>
  311. <td>${ZmrOrgDao.getOrgName(request,item.getOrgId())}</td>
  312. <td>${DraftConstants.get(item.getDraftType())}</td>
  313. <td>${item.getBuyerNick()}</td>
  314. <td>${item.getShopNick()}</td>
  315. <td>${item.getDesigner()}</td>
  316. <td>${Sqls.toDateTimeString(item.getCreateTime())}</td>
  317. <td>${Sqls.toDateTimeString(item.getDesignReceiveTime())}</td>
  318. <td>${StatusConstants.getStatus(item.getStatus())}</td>
  319. <td>${progressNoteMap.get(item.getDesignId())}</td>
  320. <td>${item.getOrderText()}</td>
  321. <td>${Amounts.toYuanMustRadix(item.getAmount())}</td>
  322. <td><#if isCountDown != "">${isCountDown}</#if></td>
  323. <td><#if item.isOnlyDesign()>仅设计<#else>设计印刷</#if></td>
  324. </tr>
  325. </#for>
  326. ${zhiqim_manager_paging(pageResult, "/myRetentionOrder.htm")}
  327. </table>
  328. ${zhiqim_manager_content_end()}
  329. <#-- 联系旺旺&联系QQ弹窗框 -->
  330. <iframe id="openFrm" class="z-hide" src="about:blank"></iframe>