index.blade.php 59 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048
  1. @extends('layouts.app')
  2. @section('title')问题件-查询@endsection
  3. @section('content')
  4. @component("order.issue.menu")@endcomponent
  5. <div class="container-fluid" id="issue_div">
  6. <div style="min-width: 3000px;" class="container-fluid">
  7. <div id="list" class="d-none container-fluid">
  8. <div id="form_div" style="min-width: 2250px;"></div>
  9. <div class="form-inline mt-1 ">
  10. <span class="dropdown">
  11. <button type="button"
  12. class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle tooltipTarget"
  13. :class="[checkData.length>0?'btn-dark text-light':'']"
  14. data-toggle="dropdown" title="导出所有页将会以搜索条件得到的筛选结果,将其全部记录(每一页)导出">导出Excel
  15. </button>
  16. <div class="dropdown-menu">
  17. <a class="dropdown-item" @click="orderIssueExport(false)" href="javascript:">导出勾选内容</a>
  18. <a class="dropdown-item" @click="orderIssueExport(true)" href="javascript:">导出所有页</a>
  19. </div>
  20. </span>
  21. <span class="ml-1">
  22. <button type="button" class="btn btn-outline-dark btn-sm form-control-sm to ltipTarget"
  23. @click="endOrderIssue"
  24. :class="[checkData.length>0?'btn-dark text-light':'']">完结</button>
  25. </span>
  26. <span class="ml-1">
  27. <button type="button" class="btn btn-outline-dark btn-sm form-control-sm tooltipTarget"
  28. @click="copyOrderNo">复制快递单号</button>
  29. </span>
  30. </div>
  31. <table class="table table-sm table-bordered table-hover card-body table-responsive-sm p-0 m-0 "
  32. style="background: #fff;min-width: 3000px;">
  33. <tr class="tr-yellow" align="center">
  34. <th class=" font-weight-bolder " colspan="6"></th>
  35. <th class="td-yellow font-weight-bolder original-class table-head-warning "
  36. :colspan="isShowOrderInfo ? '16':'8'">原始运单号
  37. <button class="btn btn-sm btn-outline-secondary" v-if="isShowOrderInfo"
  38. @click="hideOrderInfo">隐藏运单列
  39. </button>
  40. </th>
  41. <th class=" font-weight-bolder" :colspan="10 + (isShowRejectedBill ? 5:1) + (isShowSecondOrderInfo ? 6: 1 ) @cannot('客户不可见') +1 @endcannot">
  42. <button class="btn btn-sm btn-outline-secondary" v-if="isShowRejectedBill"
  43. @click="hideRejectedBill">隐藏退单列
  44. </button>
  45. 情况说明
  46. <button class="btn btn-sm btn-outline-secondary" v-if="isShowSecondOrderInfo"
  47. @click="hideSecondOrder">隐藏运单列
  48. </button>
  49. </th>
  50. <th></th>
  51. </tr>
  52. <tr class="tr-yellow" align="center">
  53. <th rowspan="2" class="align-middle">
  54. <label for="all">
  55. <input id="all" type="checkbox" @click="checkAll($event)"/>
  56. </label>
  57. </th>
  58. <th class=" align-middle" rowspan="2" style=" min-width: 50px;">序号</th>
  59. <th class=" align-middle" rowspan="2" style=" min-width: 25px;">ID</th>
  60. <th class=" align-middle" rowspan="2" style=" min-width: 75px;">退件</th>
  61. @can("订单管理-问题件-置顶")
  62. <th class=" align-middle" rowspan="2" style=" min-width: 75px;">置顶</th>
  63. @endcan
  64. <th class=" align-middle" rowspan="2" style=" min-width: 100px;">退单状态</th>
  65. <th class=" align-middle td-yellow" rowspan="2" style="min-width: 165px;">登记日期</th>
  66. <th class=" align-middle td-yellow" rowspan="2" style="min-width: 165px;">订单日期</th>
  67. <th class=" align-middle td-yellow" rowspan="2" style="min-width: 100px;">客户</th>
  68. <th class=" align-middle td-yellow" rowspan="2" style="min-width: 200px;">店铺</th>
  69. <th class=" align-middle td-yellow" rowspan="2" style="min-width: 200px;">客户订单号</th>
  70. <th class=" align-middle td-yellow" rowspan="2" style="min-width: 100px;">原始承运商</th>
  71. <th class=" align-middle td-yellow" rowspan="2" style="min-width: 150px;">原始运单号</th>
  72. <th class=" align-middle td-yellow" v-if="!isShowOrderInfo" rowspan="2"
  73. style="min-width:50px">展开
  74. </th>
  75. <th class=" align-middle td-yellow" v-if="isShowOrderInfo" rowspan="2"
  76. style="min-width: 90px">收货人名称
  77. </th>
  78. <th class=" align-middle td-yellow" v-if="isShowOrderInfo" rowspan="2"
  79. style=" min-width: 120px;">收货人电话
  80. </th>
  81. <th class=" align-middle td-yellow" v-if="isShowOrderInfo" rowspan="2"
  82. style="min-width: 70px">省
  83. </th>
  84. <th class=" align-middle td-yellow" v-if="isShowOrderInfo" rowspan="2"
  85. style="min-width: 70px">市
  86. </th>
  87. <th class=" align-middle td-yellow" v-if="isShowOrderInfo" rowspan="2"
  88. style="min-width: 70px">区
  89. </th>
  90. <th class=" align-middle td-yellow" v-if="isShowOrderInfo" rowspan="2" style=" min-width:300px">
  91. 收货人地址
  92. </th>
  93. <th class=" align-middle td-yellow" v-if="isShowOrderInfo" colspan="3" style="min-width:300px">
  94. 原始商品明细
  95. </th>
  96. <th class=" align-middle" rowspan="2" v-if="!isShowRejectedBill" style="min-width:50px">
  97. 展开
  98. </th>
  99. <th class=" align-middle" colspan="5" v-if="isShowRejectedBill" style="min-width: 450px">
  100. 返回商品明细
  101. </th>
  102. <th class="bg-whit align-middle" rowspan="2" style="min-width: 115px">情况说明</th>
  103. <th class=" align-middle" rowspan="2" style="min-width: 115px">问题类别</th>
  104. <th class=" align-middle" colspan="3" style="min-width: 115px">处理结果</th>
  105. <th class=" align-middle" rowspan="2" v-if="!isShowSecondOrderInfo"
  106. style="width:50px">展开
  107. </th>
  108. <th class=" align-middle" rowspan="2" v-if="isShowSecondOrderInfo" style=" min-width: 120px;">
  109. 二次客户订单号
  110. </th>
  111. <th class=" align-middle" rowspan="2" v-if="isShowSecondOrderInfo" style=" min-width: 100px;">
  112. 二次承运商
  113. </th>
  114. <th class=" align-middle" rowspan="2" v-if="isShowSecondOrderInfo" style=" min-width: 200px;">
  115. 二次运单号
  116. </th>
  117. <th colspan="3" style="min-width: 300px" v-if="isShowSecondOrderInfo"
  118. style=" min-width: 350px;">
  119. 二次商品明细
  120. </th>
  121. <th class=" align-middle" rowspan="2" style="min-width: 120px">最终状态</th>
  122. @cannot('客户不可见')
  123. <th class=" align-middle" rowspan="2" style="min-width: 120px">承运商赔偿金额</th>
  124. @endcannot
  125. <th class=" align-middle" rowspan="2" style="min-width: 120px">承运商快递减免</th>
  126. <th class=" align-middle" rowspan="2" style="min-width: 120px">宝时赔偿金额</th>
  127. <th class=" align-middle" rowspan="2" style="min-width: 120px">宝时快递减免</th>
  128. <th class=" align-middle" rowspan="2" style="min-width: 120px">事故责任方</th>
  129. <th class=" align-middle" rowspan="2" style="min-width: 120px">操作</th>
  130. </tr>
  131. <tr class="tr-yellow" align="center">
  132. <th class="td-yellow" v-if="isShowOrderInfo" style="min-width: 120px">条码</th>
  133. <th class="td-yellow" v-if="isShowOrderInfo" style="min-width: 150px">商品名</th>
  134. <th class="td-yellow" v-if="isShowOrderInfo" style="min-width: 75px">数量</th>
  135. <th v-if="isShowRejectedBill" style="min-width: 75px">条码</th>
  136. <th v-if="isShowRejectedBill" style="min-width: 100px">商品名</th>
  137. <th v-if="isShowRejectedBill" style="min-width: 50px">数量</th>
  138. <th v-if="isShowRejectedBill" style="min-width: 50px">是否正品</th>
  139. <th v-if="isShowRejectedBill" style="min-width: 100px">备注</th>
  140. <th style="min-width: 75px">操作类型</th>
  141. <th style="min-width: 120px">说明</th>
  142. <th style="min-width: 100px">操作者</th>
  143. <th v-if="isShowSecondOrderInfo" style="min-width: 100px">条码</th>
  144. <th v-if="isShowSecondOrderInfo" style="min-width: 100px">商品名</th>
  145. <th v-if="isShowSecondOrderInfo" style="min-width: 75px">数量</th>
  146. </tr>
  147. <tr class="tr-yellow" align="center" v-if="orderIssues" v-for="(orderIssue,index) in orderIssues"
  148. @click="selectedColor(orderIssue.id)"
  149. :class="orderIssue.remark ? 'tr_top':''"
  150. v-on:mouseover="hidetop($event)" v-on:mouseleave="showtop($event)"
  151. :style="[{'font-weight': orderIssue.id===selectedStyle?'bold':''}]">
  152. <td>
  153. <div class="m-0 p-0 " :style="[{'min-height':orderIssue.remark ?'72px':'45px'}]">
  154. <input class="checkItem" type="checkbox" :value="orderIssue.id" v-model="checkData">
  155. </div>
  156. </td>
  157. <td >@{{index+1}}</td>
  158. <td >@{{ orderIssue.id }}</td>
  159. <td >
  160. @can('订单管理-问题件-编辑')
  161. <button type="button" class="btn btn-sm btn-outline-secondary"
  162. @click="disposeOrderIssue($event)" :data-value="orderIssue.id"
  163. v-if="orderIssue.is_new_rejecting === '有'">有
  164. </button>
  165. <span v-else>@{{ orderIssue.is_new_rejecting }}</span>
  166. @else
  167. <span v-if="orderIssue.is_new_rejecting">@{{ orderIssue.is_new_rejecting }}</span>
  168. @endcan
  169. </td>
  170. @can("订单管理-问题件-置顶")
  171. <td class="text-muted">
  172. <button type="button" class="btn btn-sm btn-outline-danger "
  173. @click="cancelOnTop($event)" :data-value="orderIssue.top.id"
  174. style="opacity: 0.75" v-if="orderIssue.top">取消
  175. </button>
  176. <button type="button" class="btn btn-sm btn-outline-secondary"
  177. @click="OrderIssueOnTop($event)" :data-value="orderIssue.id"
  178. style="opacity: 0.75" v-else>置顶
  179. </button>
  180. </td>
  181. @endcan
  182. <td >@{{ orderIssue.rejecting_status }}</td>
  183. <td class="toptd td-yellow ">
  184. <div v-if="orderIssue.remark" class="bg-light-yellow text-danger top text-left" data-toggle="tooltip" style="opacity: 0.1;position: absolute;z-index: 1">
  185. 置顶备注:@{{ orderIssue.remark }}
  186. </div>
  187. @{{ orderIssue.created_at }}
  188. </td>
  189. <td class="td-yellow">
  190. @{{ orderIssue.order.created_at }}
  191. </td>
  192. <td class="td-yellow">
  193. <span v-if='orderIssue.order.owner'>@{{ orderIssue.order.owner.name }}</span>
  194. </td>
  195. <td class="td-yellow">
  196. <template v-if="orderIssue.order.shop">@{{ orderIssue.order.shop.name }}</template>
  197. </td>
  198. <td class="td-yellow">
  199. <template v-if="orderIssue.order"> @{{ orderIssue.order.client_code }}</template>
  200. <td class="td-yellow">
  201. <span v-if='orderIssue.order.logistic'>@{{ orderIssue.order.logistic.name }}</span>
  202. </td>
  203. <td class=" hide-content p-0 td-yellow " valign="middle" align="center">
  204. <div :id="'logisticNumbers'+orderIssue.id"
  205. :class="orderIssue.order.logisticNumbers.length > 1 ?'collapse ':''">
  206. <p v-for="logisticNumber in orderIssue.order.logisticNumbers"
  207. class="m-0 p-0 text-muted ">@{{ logisticNumber }}</p>
  208. </div>
  209. <button v-if="orderIssue.order.logisticNumbers.length > 1" type="button"
  210. class="btn btn-sm btn-outline-primary align-middle mt-1"
  211. :id="'logisticNumbersBtn'+orderIssue.id"
  212. data-toggle="collapse"
  213. :data-target="'#logisticNumbers'+orderIssue.id"
  214. @click="toggleLogisticNumbers(orderIssue.id,orderIssue.order.logisticNumbers.length)">
  215. 分箱@{{ orderIssue.order.logisticNumbers.length }}件,点击展开
  216. </button>
  217. </td>
  218. <td class="td-yellow p-0 m-0" v-if="!isShowOrderInfo && index===0" style="width:50px" :rowspan="orderIssues.length">
  219. <span class="btn btn-outline-secondary " @click="showOrderInfo" :style="orderIssues.length>4 ?'{height: 200px;line-height: 100px':''" >展开运单列</span>
  220. </td>
  221. <td class="td-yellow " v-if="isShowOrderInfo">@{{ orderIssue.order.consignee_name }}
  222. </td>
  223. <td class="td-yellow " v-if="isShowOrderInfo">@{{ orderIssue.order.consignee_phone }}
  224. </td>
  225. <td class="td-yellow " v-if="isShowOrderInfo">@{{ orderIssue.order.province }}
  226. </td>
  227. <td class="td-yellow " v-if="isShowOrderInfo">@{{ orderIssue.order.city }}</td>
  228. <td class="td-yellow " v-if="isShowOrderInfo">@{{ orderIssue.order.district }}
  229. </td>
  230. <td class="td-yellow " style="width: 400px" v-if="isShowOrderInfo"><span
  231. class="text-wrap m-0 p-0 " style="width: 400px">@{{ orderIssue.order.address }}</span>
  232. </td>
  233. <td class="td-yellow p-0" :id="orderIssue.id+'items'" valign="middle" align="center"
  234. v-if="isShowOrderInfo"
  235. colspan="3">
  236. <div v-if="orderIssue.order">
  237. <table class="table table-sm m-0"
  238. v-if="orderIssue.order.packages"
  239. :class="orderIssue.orderPackagecount > 1 ? 'collapse' : ''"
  240. :id="'order'+orderIssue.id"
  241. :data-value="orderIssue.orderCount = 0"
  242. :data-count="orderIssue.orderPackagecount = 0">
  243. <template v-for="packages in orderIssue.order.packages">
  244. <tr v-for="item in packages.commodities"
  245. :data-value="orderIssue.orderCount += 1" align="center">
  246. <td >@{{ item.commodity.sku }}</td>
  247. <td >@{{ item.commodity.name }}</td>
  248. <td :data-value="orderIssue.orderPackagecount += item.amount ">@{{ item.amount }}</td>
  249. </tr>
  250. </template>
  251. </table>
  252. <button v-if="orderIssue.orderCount > 1 " type="button"
  253. class="btn btn-sm btn-outline-primary mt-1"
  254. :id="'orderBtn'+orderIssue.id"
  255. data-toggle="collapse"
  256. :data-target="'#order'+orderIssue.id"
  257. @click="toggleOrder(orderIssue.id,orderIssue.orderPackagecount)">
  258. 商品@{{ orderIssue.orderPackagecount}}件,点击展开
  259. </button>
  260. </div>
  261. </td>
  262. <td class="p-0 m-0" v-if="!isShowRejectedBill && index === 0 " style="width:50px;" :rowspan="orderIssues.length" >
  263. <span class="btn btn-outline-secondary " @click="showRejectedBill" :style="orderIssues.length>4 ?'{height: 200px;line-height: 100px':''" >展开退单列</span>
  264. </td>
  265. <td class="p-0" :id="orderIssue.id+'rejectedBill'" valign="middle" align="center"
  266. v-if="isShowRejectedBill"
  267. colspan="5">
  268. <div v-if="orderIssue.rejected_bill" class="m-0 p-0">
  269. <table v-if="orderIssue.rejected_bill.items" class="table table-sm m-0"
  270. :class="orderIssue.rejected_bill.items.length > 1 ? 'collapse' : '' "
  271. :id="'rejectedBill'+orderIssue.id"
  272. :data-value="orderIssue.rejectedCount = 0">
  273. <tr v-for="item in orderIssue.rejected_bill.items"
  274. :data-value="orderIssue.rejected_bill.sum += item.amount" align="center">
  275. <td style="min-width: 75px" >@{{ item.barcode_goods }}</td>
  276. <td style="min-width: 100px" >@{{ item.name_goods }}</td>
  277. <td style="min-width: 50px" :data-value="orderIssue.rejectedCount += item.amount">@{{ item.amount }}</td>
  278. <td style="min-width: 50px" >@{{ item.quality_label }}</td>
  279. <td style="min-width: 100px" >@{{ item.remark }}</td>
  280. </tr>
  281. </table>
  282. <button v-if="orderIssue.rejected_bill.items.length > 1" type="button"
  283. class="btn btn-sm btn-outline-primary align-middle mt-1"
  284. :id="'rejectedBillBtn'+orderIssue.id"
  285. data-toggle="collapse"
  286. :data-target="'#rejectedBill'+orderIssue.id"
  287. @click="toggleRejectedBill(orderIssue.id,orderIssue.rejectedCount)">
  288. 商品@{{ orderIssue.rejectedCount }}件,点击展开
  289. </button>
  290. </div>
  291. </td>
  292. {{--情况说明--}}
  293. <td >@{{ orderIssue.result_explain}}</td>
  294. <td ><span v-if="orderIssue.issue_type">@{{ orderIssue.issue_type.name}}</span></td>
  295. {{--处理结果--}}
  296. <td class=" m-0 p-0 log-td " valign="middle" align="center"
  297. v-on:mouseover="showAddBtn($event)" v-on:mouseleave="hideAddBtn($event)" colspan="3">
  298. <div class="addLogDiv row m-0 p-0" :id="'AddLog_'+orderIssue.id" style="display: none">
  299. <input type="hidden" name="id" :value="orderIssue.id">
  300. <div class="form-group m-2">
  301. <input type="text" name="content" class="form-control" required>
  302. </div>
  303. <button type="button" class="btn btn-primary m-2 "
  304. @click="addOrderIssueLog('AddLog_'+orderIssue.id)">添加
  305. </button>
  306. </div>
  307. <div style="position: absolute;display: none;margin-top: -40px" class="add-btn"
  308. :id="'AddBtn'+orderIssue.id">
  309. <button type="button" class="btn btn-primary "
  310. @click="showAddDiv('AddLog_'+orderIssue.id)">新
  311. </button>
  312. </div>
  313. <template v-if="orderIssue.logs" class="p-0 m-0 ">
  314. <table class="table table-sm p-0 m-0 " :id="'logs'+orderIssue.id"
  315. :class="orderIssue.logs.length > 1?'collapse':''">
  316. <tr v-for="log in orderIssue.logs" class="del-tr" style="position:static" align="center"
  317. v-on:mouseover="showDelBtn($event)"
  318. v-on:mouseleave="hideDelBtn($event)" >
  319. <td>@{{ log.type }}</td>
  320. <td>
  321. <p class="text-wrap mb-0" style="mix-width: 200px">@{{ log.content }}</p>
  322. </td>
  323. <td>@{{ log.user.name }}</td>
  324. <td style="" class="m-0 p-0 border-0">
  325. <button type="button" class="btn btn-sm btn-outline-danger m-0 del-btn invisible"
  326. @click="deleteOrderIssueLog(log.id,orderIssue.id)">删</button>
  327. </td>
  328. </tr>
  329. </table>
  330. <button v-if="orderIssue.logs.length > 1" type="button" class="btn btn-sm btn-outline-primary align-middle mt-1" data-toggle="collapse" aria-expanded="false"
  331. :id="'logsBtn'+orderIssue.id"
  332. :data-target="'#logs'+orderIssue.id" :aria-controls="'logs'+orderIssue.id"
  333. @click="toggleLogs(orderIssue.id,orderIssue.logs.length)">
  334. 记录共@{{ orderIssue.logs.length }}条,点击展开
  335. </button>
  336. </template>
  337. </td>
  338. <td class="p-0 m-0 h-100" v-if="!isShowSecondOrderInfo && index === 0" style="width:50px;" :rowspan="orderIssues.length" >
  339. <span class="btn btn-outline-secondary " @click="showSecondeOrder" :style="orderIssues.length>4 ?'{height: 200px;line-height: 100px':''">展开运单列</span>
  340. </td>
  341. <td v-if="isShowSecondOrderInfo">
  342. <span v-if="orderIssue.second_order" class="p-0"> @{{ orderIssue.second_order.code }}</span>
  343. </td>
  344. <td v-if="isShowSecondOrderInfo">
  345. <span v-if="orderIssue.second_order" class="p-0"> @{{ orderIssue.second_order.logistic.name }}</span>
  346. </td>
  347. <td class=" p-0" valign="middle" align="center" v-if="isShowSecondOrderInfo">
  348. <template v-if="orderIssue.second_order">
  349. <div class=" m-0" :id="'secondOrderNumbers'+orderIssue.id"
  350. :class="orderIssue.seconderCount > 1 ? 'collapse':''"
  351. :data-value="orderIssue.seconderCount = 0">
  352. <p class="m-0 p-0 text-muted " v-for="logisticNumber in orderIssue.second_order.logisticNumbers"
  353. :data-value="orderIssue.seconderCount +=1">@{{ logisticNumber }}</p>
  354. </div>
  355. <button v-if="orderIssue.seconderCount > 1" type="button"
  356. class="btn btn-sm btn-outline-primary align-middle mt-1"
  357. data-toggle="collapse"
  358. :id="'secondOrderNumbersBtn'+orderIssue.id"
  359. :data-target="'#secondOrderNumbers'+orderIssue.id"
  360. @click="toggleseCondOrderNumbers(orderIssue.id,orderIssue.second_order.logisticNumbers.length)">
  361. 分箱@{{ orderIssue.second_order.logisticNumbers.length }}件,点击展开
  362. </button>
  363. </template>
  364. </td>
  365. <td class=" p-0" colspan="3"v-if="isShowSecondOrderInfo">
  366. <template v-if="orderIssue.second_order" class=" p-0">
  367. <div class="m-0 p-0" :class="orderIssue.secondeOrderCount > 1 ? 'collapse':''"
  368. :id="'secondOrder'+orderIssue.id">
  369. <table class="table table-sm m-0 "
  370. :data-count="orderIssue.secondeOrderCount = 0"
  371. :data-value="orderIssue.secondeOrderItems = 0">
  372. <template v-for="packages in orderIssue.second_order.packages">
  373. <tr v-for="item in packages.commodities" :data-value="orderIssue.secondeOrderCount += 1">
  374. <td >@{{ item.commodity.sku }}</td>
  375. <td >@{{ item.commodity.name }}</td>
  376. <td :data-value="orderIssue.secondeOrderItems+=item.amount">@{{ item.amount }}</td>
  377. </tr>
  378. </template>
  379. </table>
  380. </div>
  381. <button type="button" class="btn btn-sm btn-outline-primary align-middle mt-1" data-toggle="collapse"
  382. v-if="orderIssue.secondeOrderCount > 0"
  383. :id="'secondOrderBtn'+orderIssue.id"
  384. :data-target="'#secondOrder'+orderIssue.id"
  385. @click="toggleSecond(orderIssue.id,orderIssue.secondeOrderItems)">商品@{{ orderIssue.secondeOrderItems }}件,点击展开
  386. </button>
  387. </template>
  388. </td>
  389. <td >@{{ orderIssue.final_status }}</td>
  390. <td >@{{ orderIssue.logistic_indemnity_money }}</td>
  391. <td >@{{ orderIssue.logistic_express_remission }}</td>
  392. @cannot('客户不可见')
  393. <td >@{{ orderIssue.baoshi_indemnity_money }}</td>
  394. @endcannot
  395. <td >@{{ orderIssue.baoshi_express_remission }}</td>
  396. <td><span
  397. v-if="orderIssue.user_work_group">@{{ orderIssue.user_work_group.name }}</span>
  398. </td>
  399. <td>
  400. <button type="button" class="btn btn-sm btn-outline-primary"
  401. @click="editOrderIssue($event)" :data-value="orderIssue.id">改
  402. </button>
  403. <button type="button" class="btn btn-sm btn-outline-danger"
  404. @click="deleteOrderIssue($event)" :data-value="orderIssue.id">删
  405. </button>
  406. </td>
  407. </tr>
  408. </table>
  409. <a :href="page.prevPageUrl" class="btn btn-sm" :class="page.curPage === 1 ?'':'btn-outline-primary'"
  410. :disabled="page.curPage === 1">上一页</a>
  411. <a :href="page.nextPageUrl" class="btn btn-sm"
  412. :class="page.curPage === page.lastPage ?'':'btn-outline-primary'"
  413. :disabled="page.curPage === page.lastPage">下一页</a>
  414. <input @keyup.enter="pageTurning($event)" class="form-control-sm ml-3 tooltipTarget"
  415. :placeholder="'当前页数:'+page.curPage+'/'+page.lastPage" title="去往指定页">
  416. <span class="text-muted m-1">共 @{{page.total}} 条 </span>
  417. </div>
  418. </div>
  419. {{--deleteOrderIssue--}}
  420. <div class="modal fade" id="alertModal" tabindex="-1" role="dialog" aria-labelledby="alertModalLabel"
  421. aria-hidden="true">
  422. <div class="modal-dialog modal-dialog-centered">
  423. <div class="modal-content">
  424. <div class="modal-header">
  425. <h5 class="modal-title" id="exampleModalLabel">提示</h5>
  426. <button type="button" class="close" data-dismiss="modal" aria-label="Close"
  427. @click="changeDeleteId">
  428. <span aria-hidden="true">&times;</span>
  429. </button>
  430. </div>
  431. <div class="modal-body">
  432. <p>是否删除当前订单问题件?</p>
  433. <input type="hidden" id="deleteId" class="form-control"/>
  434. </div>
  435. <div class="modal-footer">
  436. <button type="button" class="btn btn-secondary" data-dismiss="modal" @click="changeDeleteId">
  437. 取消
  438. </button>
  439. <button type="button" class="btn btn-primary" data-dismiss="modal"
  440. @click="deleteOrderIssueById">确认
  441. </button>
  442. </div>
  443. </div>
  444. </div>
  445. </div>
  446. {{--OrderIssue On Top--}}
  447. <div class="modal fade " id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
  448. aria-hidden="true">
  449. <div class="modal-dialog modal-dialog-centered">
  450. <div class="modal-content">
  451. <div class="modal-header">
  452. <h5 class="modal-title" id="exampleModalLabel">请输入置顶备注</h5>
  453. <button type="button" class="close" data-dismiss="modal" aria-label="Close"
  454. @click="changeRemark">
  455. <span aria-hidden="true">&times;</span>
  456. </button>
  457. </div>
  458. <div class="modal-body">
  459. <input type="hidden" class="form-control" id="onTopId">
  460. <textarea type="text" class="form-control" required id="remark"
  461. @change="changeRemark"></textarea>
  462. <div class="invalid-feedback">
  463. 备注信息不能为空
  464. </div>
  465. </div>
  466. <div class="modal-footer">
  467. <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal"
  468. @click="changeRemark">关闭
  469. </button>
  470. <button type="button" class="btn btn-sm btn-primary" @click="submitOnTop">提交</button>
  471. </div>
  472. </div>
  473. </div>
  474. </div>
  475. </div>
  476. @endsection
  477. @section('lastScript')
  478. <style type="text/css">
  479. @keyframes anima {
  480. from {
  481. opacity: 0.1;
  482. }
  483. to {
  484. opacity: 1;
  485. }
  486. }
  487. @-webkit-keyframes anima {
  488. from {
  489. opacity: 0.75;
  490. }
  491. to {
  492. opacity: 0.1;
  493. }
  494. }
  495. .tr_top {
  496. min-height: 75px;
  497. }
  498. .bg-light-yellow {
  499. background: #fffff8;
  500. }
  501. .top {
  502. padding-top: 0px;
  503. padding-left: 10px;
  504. margin-top: -4px;
  505. margin-left: -5px;
  506. line-height: 75px;
  507. position: absolute;
  508. animation: anima;
  509. animation-duration: 3s;
  510. animation-timing-function: cubic-bezier(0, 0, 1, 1);
  511. animation-direction: alternate;
  512. animation-play-state: running;
  513. -webkit-animation-name: anima;
  514. -webkit-animation-duration: 3s;
  515. -webkit-animation-timing-function: cubic-bezier(0, 0, 1, 1);
  516. -webkit-animation-iteration-count: infinite;
  517. -webkit-animation-direction: alternate;
  518. -webkit-animation-play-state: running;
  519. }
  520. </style>
  521. <script type="text/javascript" src="{{asset('js/queryForm/queryForm200825.js')}}"></script>
  522. <script type="text/javascript" src="{{asset('js/queryForm/export200818a.js')}}"></script>
  523. <script>
  524. let listVue = new Vue({
  525. el: '#issue_div ',
  526. data: {
  527. orderIssues: {!! $orderIssues->toJson() !!}['data'],
  528. owners: [@foreach($owners as $owner){name: '{{ $owner->id }}', value: '{{ $owner->name}}'},@endforeach],
  529. orderIssueType: [@foreach($orderIssueType as $type){
  530. name: '{{$type->id}}',
  531. value: '{{$type->name}}'
  532. },@endforeach],
  533. qualityLabel: [@foreach($qualityLabel as $type){
  534. name: '{{$type->id}}',
  535. value: '{{$type->name}}'
  536. },@endforeach],
  537. checkData: [],
  538. from: '',
  539. finalStatus: [{name: '0', value: '已解决'}, {name: '1', value: '待退回'}, {name: '2', value: '退回中'}],
  540. selectedStyle: '',
  541. deleteId: '',
  542. page: {
  543. lastPage: {!! $orderIssues->toJson() !!}['last_page'],
  544. curPage: {!! $orderIssues->toJson() !!}['current_page'],
  545. total: {!! $orderIssues->toJson() !!}['total'],
  546. nextPageUrl: {!! $orderIssues->toJson() !!}['next_page_url'],
  547. prevPageUrl: {!! $orderIssues->toJson() !!}['prev_page_url'],
  548. lastPageUrl: {!! $orderIssues->toJson() !!}['last_page_url'],
  549. },
  550. isShowOrderInfo: false,
  551. isShowRejectedBill: false,
  552. isShowSecondOrderInfo: false,
  553. },
  554. mounted: function () {
  555. $('.tooltipTarget').tooltip({'trigger': 'hover'});
  556. $('#list').removeClass("d-none");
  557. console.log(this.orderIssues);
  558. let _this = this;
  559. let final_status = [{name: '已解决', value: '已解决'}, {name: '待退回', value: '待退回'}, {
  560. name: '退回中',
  561. value: '退回中'
  562. }];
  563. let data = [[
  564. {name: 'created_at_start', type: 'dateTime', tip: '订单开始日期'},
  565. {
  566. name: 'owner_id',
  567. type: 'select_multiple_select',
  568. tip: ['输入关键词快速定位下拉列表,回车确定', '选择要显示的客户'],
  569. placeholder: ['货主', '定位或多选货主'],
  570. data: _this.owners
  571. },
  572. {name: 'client_code', type: 'input', tip: '原始订单号', placeholder: '原始订单号'},
  573. {name: 'logistic_number', type: 'input', tip: ['输入原始运单号'], placeholder: '原始运单号'},
  574. {name: 'final_status', type: 'select', tip: '问题件的最终状态', placeholder: '最终状态', data: final_status},
  575. {
  576. name: 'order_issue_type_id',
  577. type: 'select',
  578. tip: '问题类别',
  579. placeholder: '问题类别',
  580. data: this.orderIssueType
  581. },
  582. {name: 'logistic_indemnity_money', type: 'input', tip: '承运商赔偿金额', placeholder: '承运商赔偿金额'},
  583. {name: 'is_handle', type: 'checkbox', tip: '是否已处理', data: [{name: 'ture', value: '已处理'}]},
  584. ], [
  585. {name: 'created_at_end', type: 'dateTime', tip: '订单结束日期'},
  586. {name: 'consignee_name', type: 'input', tip: '收货人名称', placeholder: '收货人名称'},
  587. {name: 'consignee_phone', type: 'input', tip: '收货人电话', placeholder: '收货人电话'},
  588. {name: 'good_barcode', type: 'input', tip: '条码', placeholder: '条码'},
  589. {name: 'good_name', type: 'input', tip: '商品名', placeholder: '商品名'},
  590. {
  591. name: 'id_quality_label',
  592. type: 'select',
  593. tip: '是否正品',
  594. placeholder: '是否正品',
  595. data: this.qualityLabel
  596. },
  597. @cannot('客户不可见')
  598. {
  599. name: 'baoshi_indemnity_money', type: 'input', tip: '宝时赔偿金额', placeholder: '宝时赔偿金额'
  600. },
  601. @endcannot
  602. ]];
  603. this.form = new query({
  604. el: '#form_div',
  605. condition: data,
  606. })
  607. this.form.init();
  608. let order = $('.table-head-warning')[0];
  609. $('.top').css('min-width', $(order).outerWidth(true));
  610. },
  611. watch: {
  612. checkData: {
  613. handler() {
  614. if (this.checkData.length === this.orderIssues.length) {
  615. document.querySelector('#all').checked = true;
  616. } else {
  617. document.querySelector('#all').checked = false;
  618. }
  619. },
  620. deep: true
  621. },
  622. },
  623. methods: {
  624. selectedColor(orderno) {
  625. if (orderno === this.selectedStyle) {
  626. this.selectedStyle = '';
  627. return;
  628. }
  629. this.selectedStyle = orderno;
  630. },
  631. editOrderIssue($event) {
  632. let id = $($event.target).attr('data-value');
  633. window.location.href = "{{url('order/issue/edit')}}" + '/' + id;
  634. },
  635. deleteOrderIssue($event) {
  636. let id = $($event.target).attr('data-value');
  637. $('#deleteId').val(id);
  638. $('#alertModal').modal('show');
  639. },
  640. deleteOrderIssueById() {
  641. let _this = this;
  642. tempTip.setDuration(99999)
  643. tempTip.waitingTip('删除中,请稍候')
  644. let id = $('#deleteId').val();
  645. let data = {id: id};
  646. axios.post('{{url('apiLocal/order/issue/destroy')}}', data).then(function (res) {
  647. tempTip.setDuration(5000)
  648. tempTip.cancelWaitingTip();
  649. if (res.data.success) {
  650. for (let i = 0; i < _this.orderIssues.length; i++) {
  651. let data = _this.orderIssues[i];
  652. if (data.id == id) {
  653. _this.orderIssues.splice(i, 1);
  654. _this.deleteId = 0;
  655. break;
  656. }
  657. }
  658. tempTip.setDuration(2000);
  659. tempTip.showSuccess('问题件删除成功');
  660. } else {
  661. tempTip.setDuration(2500);
  662. tempTip.show('标记勾选内容删除失败,错误:' + res.data.fail_info);
  663. }
  664. }).catch(function (err) {
  665. tempTip.setDuration(4000);
  666. tempTip.cancelWaitingTip();
  667. tempTip.show('网络错误:' + err);
  668. });
  669. },
  670. changeDeleteId() {
  671. $('#deleteId').val('');
  672. },
  673. cancelOnTop(event) {
  674. let id = $(event.target).attr('data-value')
  675. let data = {id: id};
  676. if (data === '' || data === null) {
  677. return;
  678. }
  679. axios.post('{{url('apiLocal/order/issue/onTop/cancelTop')}}', data).then(function (res) {
  680. if (res.data.success) {
  681. tempTip.setDuration(2000);
  682. tempTip.showSuccess('订单问题件取消置顶成功!');
  683. window.location.reload();
  684. } else {
  685. tempTip.setDuration(2500);
  686. tempTip.show(res.data.fail_info);
  687. }
  688. }).catch(function (err) {
  689. tempTip.setDuration(4000);
  690. tempTip.show('网络错误:' + err);
  691. });
  692. },
  693. changeRemark() {
  694. $('#remark').removeClass('is-invalid');
  695. },
  696. OrderIssueOnTop(event) {
  697. let id = $(event.target).attr('data-value');
  698. $("#onTopId").val(id);
  699. $("#exampleModal").modal('show');
  700. },
  701. submitOnTop() {
  702. let _this = this;
  703. let remark = $("#remark").val();
  704. let id = $("#onTopId").val();
  705. if (remark === '' || remark == null) {
  706. $("#remark").focus();
  707. $('#remark').addClass('is-invalid');
  708. } else {
  709. let data = {id: id, remark: remark};
  710. axios.post('{{url('apiLocal/order/issue/onTop/store')}}', data).then(function (res) {
  711. $("#exampleModal").modal('hide');
  712. if (res.data.success) {
  713. _this.orderIssues.forEach(function (orderIssue) {
  714. if (orderIssue.id == id) {
  715. if (orderIssue.top == null) {
  716. orderIssue.top = {};
  717. }
  718. orderIssue.top.remark = 'remark';
  719. }
  720. })
  721. tempTip.setDuration(2500);
  722. tempTip.showSuccess('置顶成功');
  723. window.location.href = window.location.href;
  724. } else {
  725. tempTip.setDuration(2500);
  726. tempTip.show(res.data.fail_info);
  727. }
  728. }).catch(function (err) {
  729. $("#exampleModal").modal('hide');
  730. tempTip.setDuration(4000);
  731. tempTip.show('网络错误:' + err);
  732. });
  733. }
  734. },
  735. pageTurning(event) {
  736. let page = $(event.target).val();
  737. if (page > this.page.lastPage) {
  738. return;
  739. }
  740. window.location = this.form.goPage(page);
  741. },
  742. orderIssueExport(sign) {
  743. let url = '{{url('order/issue/export')}}';
  744. let token = '{{ csrf_token() }}';
  745. if (sign) {
  746. excelExport(true, this.checkData, url, this.page.total, token);
  747. } else {
  748. excelExport(false, this.checkData, url, null, token);
  749. }
  750. },
  751. copyOrderNo() {
  752. try{
  753. let _this = this;
  754. if (this.checkData.length === 0) {
  755. tempTip.show('没有勾选订单');
  756. } else {
  757. let orderNos = [];
  758. this.orderIssues.forEach(function (item) {
  759. if (_this.checkData.includes(item.id)) {
  760. let logisticNumbers = item.order.logisticNumbers;
  761. if (logisticNumbers.length > 0) {
  762. orderNos.push(logisticNumbers);
  763. }
  764. }
  765. })
  766. if (orderNos.length === 0) {
  767. tempTip.setDuration(2200);
  768. tempTip.show('勾选的问题件没有对应的快递单号');
  769. return;
  770. }
  771. let p = $('<input id="copy" value="' + orderNos.join(',') + '"/>');
  772. p.attr('opacity', 0);
  773. $('body').append(p);
  774. let p_ele = document.getElementById('copy');
  775. p_ele.select();
  776. document.execCommand("Copy");
  777. p.remove();
  778. }
  779. }catch(err){
  780. tempTip.setDuration(2000);
  781. tempTip.show('复制快递单号失败'+err);
  782. }
  783. },
  784. checkAll(e) {
  785. if (e.target.checked) {
  786. this.orderIssues.forEach((el, i) => {
  787. if (this.checkData.indexOf(el.id) == '-1') {
  788. this.checkData.push(el.id);
  789. }
  790. });
  791. } else {
  792. this.checkData = [];
  793. }
  794. },
  795. endOrderIssue() {
  796. if (this.checkData.length === 0) {
  797. tempTip.show('没有勾选订单');
  798. return;
  799. }
  800. let _this = this;
  801. let ids = _this.checkData;
  802. let data = {ids: ids};
  803. axios.post('{{url('apiLocal/order/issue/endOrderIssue')}}', data).then(function (res) {
  804. if (res.data.success) {
  805. tempTip.setDuration(2000);
  806. tempTip.showSuccess('勾选订单已变为已完结');
  807. _this.orderIssues.forEach(function (item,index) {
  808. if (ids.includes(item.id)) {
  809. item.final_status = '已解决';
  810. // _this.orderIssues.splice(index,1);
  811. }
  812. });
  813. _this.checkData = [];
  814. } else {
  815. tempTip.setDuration(3000);
  816. tempTip.show(res.data.fail_info);
  817. }
  818. }).catch(function (err) {
  819. tempTip.setDuration(4000);
  820. tempTip.show('网络异常:' + err);
  821. })
  822. },
  823. disposeOrderIssue(e) {
  824. let _this = this;
  825. let id = $(e.target).attr('data-value');
  826. let data = {id: id};
  827. axios.post('{{url('apiLocal/order/issue/disposeOrderIssue')}}', data).then(function (res) {
  828. if (res.data.success) {
  829. _this.orderIssues.forEach(function (orderIssue) {
  830. if (orderIssue.id == data.id) {
  831. orderIssue.is_new_rejecting = '已处理';
  832. orderIssue.logs.unshift(res.data.data);
  833. }
  834. })
  835. tempTip.setDuration(3000);
  836. tempTip.showSuccess('订单已处理');
  837. } else {
  838. tempTip.setDuration(3000);
  839. tempTip.show(res.data.fail_info);
  840. }
  841. }).catch(function (err) {
  842. tempTip.setDuration(4000);
  843. tempTip.show('网路链接异常' + err);
  844. });
  845. },
  846. addOrderIssueLog(id) {
  847. let idInput = $('#' + id + ' :input[name="id"]');
  848. let contentInput = $('#' + id + ' :input[name="content"]');
  849. if (!contentInput.val()) {
  850. contentInput.addClass('is-invalid').focus();
  851. return;
  852. }
  853. contentInput.removeClass('is-invalid')
  854. let _this = this;
  855. let data = {id: idInput.val(), content: contentInput.val()};
  856. axios.post('{{url('apiLocal/order/issue/log/store')}}', data).then(function (res) {
  857. if (res.data.success) {
  858. _this.orderIssues.forEach(function (orderIssue) {
  859. if (orderIssue.id == data.id) {
  860. orderIssue.logs.unshift(res.data.data);
  861. contentInput.val('');
  862. $('#' + id).hide();
  863. }
  864. })
  865. tempTip.setDuration(2000);
  866. tempTip.showSuccess('添加成功');
  867. } else {
  868. tempTip.setDuration(3000);
  869. tempTip.show(res.data.fail_info);
  870. }
  871. }).catch(function (err) {
  872. tempTip.setDuration(4000);
  873. tempTip.show('网络异常:' + err);
  874. });
  875. },
  876. deleteOrderIssueLog(id, OrderIssueId) {
  877. let _this = this;
  878. axios.post("{{url('apiLocal/order/issue/log/destroy')}}", {id: id}).then(function (res) {
  879. if (res.data.success) {
  880. _this.orderIssues.forEach(function (orderIssue) {
  881. if (orderIssue.id == OrderIssueId) {
  882. let logs = orderIssue.logs;
  883. logs.forEach(function (item, index) {
  884. if (item.id == id) {
  885. logs.splice(index, 1);
  886. }
  887. });
  888. }
  889. })
  890. tempTip.setDuration(2000);
  891. tempTip.showSuccess('删除成功');
  892. } else {
  893. tempTip.setDuration(2000);
  894. tempTip.show('删除失败:' + res.data.fail_info);
  895. }
  896. }).catch(function (err) {
  897. tempTip.setDuration(4000);
  898. tempTip.show('网络异常:' + err);
  899. });
  900. },
  901. hidetop: function (e) {
  902. let target = $(e.target);
  903. let top = target.parent().find('.top');
  904. let tip = target.parent().find('.toptd');
  905. top.hide();
  906. tip.tooltip('show');
  907. },
  908. showtop: function (e) {
  909. let target = $(e.target);
  910. let top = target.parent().find('.top');
  911. let tip = target.parent().find('.toptd');
  912. top.show();
  913. tip.tooltip('hide');
  914. },
  915. showDelBtn(e) {
  916. let domObj = $(e.target).parent();
  917. domObj.find('.del-btn').addClass('visible').removeClass('invisible');
  918. },
  919. hideDelBtn(e) {
  920. let domObj = $(e.target);
  921. domObj.find('.del-btn').addClass('invisible').removeClass('visible');
  922. },
  923. showAddBtn(e) {
  924. let domObj = $(e.target).parents('.log-td');
  925. if (domObj.hasClass('log-td')) {
  926. domObj.find('.add-btn').show();
  927. }
  928. },
  929. hideAddBtn(e) {
  930. let domObj = $(e.target);
  931. if (domObj.hasClass('log-td')) {
  932. domObj.find('.add-btn').hide();
  933. }
  934. },
  935. showAddDiv(id) {
  936. let div = $('#' + id);
  937. if (div.is(":hidden")) {
  938. div.show();
  939. } else {
  940. div.hide();
  941. }
  942. },
  943. toggleLogisticNumbers(id, length) {
  944. let collapse = $('#logisticNumbers' + id);
  945. let button = $("#logisticNumbersBtn" + id);
  946. let isShow = button.attr('aria-expanded');
  947. if (isShow === 'false') {
  948. button.text('点击收起');
  949. } else {
  950. button.text("分箱" + length + "件,点击展开");
  951. }
  952. },
  953. toggleLogs(id, length) {
  954. let button = $("#logsBtn" + id);
  955. let isShow = button.attr('aria-expanded');
  956. if (isShow === 'false') {
  957. button.text('点击收起');
  958. } else {
  959. button.text("记录共" + length + "条,点击展开");
  960. }
  961. },
  962. toggleOrder(id, length) {
  963. let button = $("#orderBtn" + id);
  964. let isShow = button.attr('aria-expanded');
  965. if (isShow === 'false') {
  966. button.text('点击收起');
  967. } else {
  968. button.text("商品" + length + "件,点击展开");
  969. }
  970. },
  971. toggleSecond(id, length) {
  972. let button = $("#secondOrderBtn" + id);
  973. let isShow = button.attr('aria-expanded');
  974. if (isShow === 'false') {
  975. button.text('点击收起');
  976. } else {
  977. button.text("商品" + length + "件,点击展开");
  978. }
  979. console.log(33)
  980. },
  981. toggleRejectedBill(id, length) {
  982. let button = $("#rejectedBillBtn" + id);
  983. let isShow = button.attr('aria-expanded');
  984. if (isShow === 'false') {
  985. button.text('点击收起');
  986. } else {
  987. button.text("商品" + length + "件,点击展开");
  988. }
  989. },
  990. toggleseCondOrderNumbers(id, length) {
  991. let button = $("#secondOrderNumbersBtn" + id);
  992. let isShow = button.attr('aria-expanded');
  993. if (isShow === 'false') {
  994. button.text('点击收起');
  995. } else {
  996. button.text("分箱" + length + "件,点击展开");
  997. }
  998. },
  999. hideOrderInfo() {
  1000. this.isShowOrderInfo = false;
  1001. },
  1002. hideRejectedBill() {
  1003. this.isShowRejectedBill = false;
  1004. },
  1005. hideSecondOrder() {
  1006. this.isShowSecondOrderInfo = false;
  1007. },
  1008. showOrderInfo() {
  1009. this.isShowOrderInfo = true;
  1010. },
  1011. showRejectedBill() {
  1012. this.isShowRejectedBill = true;
  1013. },
  1014. showSecondeOrder() {
  1015. this.isShowSecondOrderInfo = true;
  1016. }
  1017. }
  1018. })
  1019. // modal 隐藏时修改 input 为空
  1020. $("#exampleModal").on('hide.bs.modal', function (e) {
  1021. $('#remark').val('');
  1022. });
  1023. </script>
  1024. @endsection