index.vue 69 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909
  1. <template>
  2. <div class="app-container">
  3. <el-form
  4. :model="queryParams"
  5. ref="queryForm"
  6. :inline="true"
  7. v-show="showSearch"
  8. class="clearFix"
  9. >
  10. <el-form-item label="订单编号" prop="orderSn">
  11. <el-input
  12. v-model="queryParams.orderSn"
  13. placeholder="请输入订单编号"
  14. clearable
  15. @keyup.enter.native="handleQuery"
  16. />
  17. </el-form-item>
  18. <!-- <el-form-item label="物品名称" prop="productName">
  19. <el-input
  20. v-model="queryParams.productName"
  21. placeholder="请输入物品名称"
  22. clearable
  23. @keyup.enter.native="handleQuery"
  24. />
  25. </el-form-item> -->
  26. <!-- <el-form-item label="支付类型" prop="paymentType">
  27. <el-select v-model="queryParams.paymentType" placeholder="支付类型" clearable >
  28. <el-option v-for="item in paymentTypeOption" :key="item.value" :label="item.label" :value="item.value" />
  29. </el-select>
  30. </el-form-item> -->
  31. <!-- <el-form-item label="优惠券ID" prop="couponId">
  32. <el-input
  33. v-model="queryParams.couponId"
  34. placeholder="请输入优惠券ID"
  35. clearable
  36. @keyup.enter.native="handleQuery"
  37. />
  38. </el-form-item> -->
  39. <!-- <el-form-item label="登录人" prop="memberName">
  40. <el-input
  41. v-model="queryParams.memberName"
  42. placeholder="请输入登录人"
  43. clearable
  44. @keyup.enter.native="handleQuery"
  45. />
  46. </el-form-item>
  47. <el-form-item label="登录人联系电话" prop="memberMobile">
  48. <el-input
  49. v-model="queryParams.memberMobile"
  50. placeholder="请输入登录人联系电话"
  51. clearable
  52. @keyup.enter.native="handleQuery"
  53. />
  54. </el-form-item> -->
  55. <!-- <el-form-item label="发件联系人" prop="sendContactName">
  56. <el-input
  57. v-model="queryParams.sendContactName"
  58. placeholder="请输入发件联系人"
  59. clearable
  60. @keyup.enter.native="handleQuery"
  61. />
  62. </el-form-item>
  63. <el-form-item label="发件人联系电话" prop="sendPhone">
  64. <el-input
  65. v-model="queryParams.sendPhone"
  66. placeholder="请输入发件人联系电话"
  67. clearable
  68. @keyup.enter.native="handleQuery"
  69. />
  70. </el-form-item>
  71. <el-form-item label="收件联系人" prop="receiptContactName">
  72. <el-input
  73. v-model="queryParams.receiptContactName"
  74. placeholder="请输入收件联系人"
  75. clearable
  76. @keyup.enter.native="handleQuery"
  77. />
  78. </el-form-item>
  79. <el-form-item label="收件人联系电话" prop="receiptPhone">
  80. <el-input
  81. v-model="queryParams.receiptPhone"
  82. placeholder="请输入收件人联系电话"
  83. clearable
  84. @keyup.enter.native="handleQuery"
  85. />
  86. </el-form-item> -->
  87. <!-- <el-form-item label="订单状态" prop="deliveryStatus">
  88. <el-select v-model="queryParams.deliveryStatus" placeholder="订单状态" clearable >
  89. <el-option v-for="item in deliveryStatusOption" :key="item.value" :label="item.label" :value="item.value"/>
  90. </el-select>
  91. </el-form-item> -->
  92. <!-- <el-form-item label="接单时间" prop="deliveryTime">
  93. <el-date-picker v-model="deliveryDate" type="datetimerange" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间"
  94. :default-time="['00:00:00', '23:59:59']" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss">
  95. </el-date-picker>
  96. </el-form-item> -->
  97. <el-form-item label="下单时间" prop="createTime">
  98. <el-date-picker
  99. v-model="createDate"
  100. type="datetimerange"
  101. range-separator="至"
  102. start-placeholder="开始时间"
  103. end-placeholder="结束时间"
  104. :default-time="['00:00:00', '23:59:59']"
  105. value-format="yyyy-MM-dd HH:mm:ss"
  106. format="yyyy-MM-dd HH:mm:ss"
  107. >
  108. </el-date-picker>
  109. </el-form-item>
  110. <el-form-item label="完成时间" prop="completeTime">
  111. <el-date-picker
  112. v-model="completeDate"
  113. type="datetimerange"
  114. range-separator="至"
  115. start-placeholder="开始时间"
  116. end-placeholder="结束时间"
  117. :default-time="['00:00:00', '23:59:59']"
  118. value-format="yyyy-MM-dd HH:mm:ss"
  119. format="yyyy-MM-dd HH:mm:ss"
  120. >
  121. </el-date-picker>
  122. </el-form-item>
  123. <el-form-item>
  124. <el-button type="primary" icon="el-icon-search" @click="handleQuery"
  125. >搜索</el-button
  126. >
  127. <!-- <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button> -->
  128. <el-button @click="show2 = !show2">
  129. <span v-if="show2 == true">隐藏</span>
  130. <span v-else>显示</span>
  131. </el-button>
  132. <el-button
  133. type="warning"
  134. plain
  135. icon="el-icon-download"
  136. @click="handleExport"
  137. >导出</el-button>
  138. </el-form-item>
  139. <!-- <el-form-item label="商家名称" prop="merchantId" v-if="user.type == 2">
  140. <el-select v-model="queryParams.merchantId" placeholder="商家名称" clearable>
  141. <el-option v-for="item in merchantOption" :key="item.id" :label="item.merchantName" :value="item.id"></el-option>
  142. </el-select>
  143. </el-form-item> -->
  144. <!-- <el-form-item label="商家名称" prop="merchantName">
  145. <el-input
  146. v-model="queryParams.merchantName"
  147. placeholder="请输入商家名称"
  148. clearable
  149. @keyup.enter.native="handleQuery"
  150. />
  151. </el-form-item> -->
  152. <!-- <el-form-item label="代理商名称" prop="aId">
  153. <el-select v-model="queryParams.aId" filterable clearable placeholder="请选择 / 输入代理商">
  154. <el-option
  155. v-for="item in agentList"
  156. :key="item.id"
  157. :label="item.name"
  158. :value="item.id">
  159. </el-option>
  160. </el-select>
  161. </el-form-item>
  162. <el-form-item label="配送平台名称" prop="deliveryId">
  163. <el-select v-model="queryParams.deliveryId" placeholder="配送平台名称" clearable>
  164. <el-option v-for="item in dspDeliveryOption" :key="item.id" :label="item.name" :value="item.id"></el-option>
  165. </el-select>
  166. </el-form-item> -->
  167. <!-- <el-form-item label="收件地区">
  168. <OldReceipt :areaProp="areaProp" @changeArea="changeArea" ref="area"/>
  169. </el-form-item> -->
  170. <transition name="el-zoom-in-top">
  171. <div v-show="show2" class="clearFix">
  172. <el-form-item label="发件地区">
  173. <OldSend
  174. :sendAreaProp="sendAreaProp"
  175. @changeArea="changeSendArea"
  176. ref="sendArea"
  177. />
  178. </el-form-item>
  179. <el-form-item label="代理商名称" prop="aId">
  180. <el-select
  181. v-model="queryParams.aId"
  182. filterable
  183. clearable
  184. placeholder="请选择 / 输入代理商"
  185. >
  186. <el-option
  187. v-for="item in agentList"
  188. :key="item.id"
  189. :label="item.name"
  190. :value="item.id"
  191. >
  192. </el-option>
  193. </el-select>
  194. </el-form-item>
  195. <el-form-item label="配送平台名称" prop="deliveryId">
  196. <el-select
  197. v-model="queryParams.deliveryId"
  198. placeholder="配送平台名称"
  199. clearable
  200. >
  201. <el-option
  202. v-for="item in dspDeliveryOption"
  203. :key="item.id"
  204. :label="item.name"
  205. :value="item.id"
  206. ></el-option>
  207. </el-select>
  208. </el-form-item>
  209. <el-form-item label="发件联系人" prop="sendContactName">
  210. <el-input
  211. v-model="queryParams.sendContactName"
  212. placeholder="请输入发件联系人"
  213. clearable
  214. @keyup.enter.native="handleQuery"
  215. />
  216. </el-form-item>
  217. <el-form-item label="发件人联系电话" prop="sendPhone">
  218. <el-input
  219. v-model="queryParams.sendPhone"
  220. placeholder="请输入发件人联系电话"
  221. clearable
  222. @keyup.enter.native="handleQuery"
  223. />
  224. </el-form-item>
  225. <el-form-item label="收件联系人" prop="receiptContactName">
  226. <el-input
  227. v-model="queryParams.receiptContactName"
  228. placeholder="请输入收件联系人"
  229. clearable
  230. @keyup.enter.native="handleQuery"
  231. />
  232. </el-form-item>
  233. <el-form-item label="收件人联系电话" prop="receiptPhone">
  234. <el-input
  235. v-model="queryParams.receiptPhone"
  236. placeholder="请输入收件人联系电话"
  237. clearable
  238. @keyup.enter.native="handleQuery"
  239. />
  240. </el-form-item>
  241. <el-form-item label="商家名称" prop="merchantName">
  242. <el-input
  243. v-model="queryParams.merchantName"
  244. placeholder="请输入商家名称"
  245. clearable
  246. @keyup.enter.native="handleQuery"
  247. />
  248. </el-form-item>
  249. <el-form-item label="门店名称" prop="shopName">
  250. <el-input
  251. v-model="queryParams.shopName"
  252. placeholder="请输入门店名称"
  253. clearable
  254. @keyup.enter.native="handleQuery"
  255. />
  256. </el-form-item>
  257. <el-form-item label="下单人" prop="memberName">
  258. <el-input
  259. v-model="queryParams.memberName"
  260. placeholder="请输入下单人"
  261. clearable
  262. @keyup.enter.native="handleQuery"
  263. />
  264. </el-form-item>
  265. <el-form-item label="下单人联系电话" prop="memberMobile">
  266. <el-input
  267. v-model="queryParams.memberMobile"
  268. placeholder="请输入下单人联系电话"
  269. clearable
  270. @keyup.enter.native="handleQuery"
  271. />
  272. </el-form-item>
  273. <el-form-item label="外卖平台" prop="waimaiOrderType">
  274. <el-select v-model="queryParams.waimaiOrderType" placeholder="请选择外卖平台" clearable>
  275. <el-option v-for="item in waimaiOrderTypeOption" :key="item.value" :label="item.label" :value="item.value"
  276. ></el-option>
  277. </el-select>
  278. </el-form-item>
  279. <el-form-item label="员工名称" prop="personnelName">
  280. <el-input
  281. v-model="queryParams.personnelName"
  282. placeholder="请输入员工名称"
  283. clearable
  284. @keyup.enter.native="handleQuery"
  285. />
  286. </el-form-item>
  287. <el-form-item label="发件人联系电话" prop="sendPhone">
  288. <el-input
  289. v-model="queryParams.sendPhone"
  290. placeholder="请输入发件人联系电话"
  291. clearable
  292. @keyup.enter.native="handleQuery"
  293. />
  294. </el-form-item>
  295. </div>
  296. </transition>
  297. </el-form>
  298. <el-tabs v-model="activeName" @tab-click="handleClick" type="card">
  299. <el-tab-pane :label="lablZero" name="1"></el-tab-pane>
  300. <el-tab-pane :label="lableOne" name="2"></el-tab-pane>
  301. <el-tab-pane :label="lableTwo" name="3"></el-tab-pane>
  302. <el-tab-pane :label="lableThree" name="4"></el-tab-pane>
  303. <el-tab-pane label="已取消" name="-1"></el-tab-pane>
  304. <el-tab-pane :label="lableFive" name="-2"></el-tab-pane>
  305. <el-tab-pane :label="lableSix" name="0"></el-tab-pane>
  306. <el-tab-pane label="其它平台完成" name="100"></el-tab-pane>
  307. <el-tab-pane label="全部订单" name="all"></el-tab-pane>
  308. <el-tab-pane v-if="type != 2" label="撤回订单" name="6"></el-tab-pane>
  309. </el-tabs>
  310. <Pagination
  311. uri="/module/order/list"
  312. :request-params="queryParams"
  313. ref="pagination"
  314. :showIndex="false"
  315. class="update-css"
  316. >
  317. <el-table-column>
  318. <template slot-scope="scope">
  319. <div style="margin-bottom: 10px; padding: 3px">
  320. <el-row>
  321. <el-col :span="9">
  322. <el-tag type="success">
  323. <span
  324. v-if="
  325. scope.row.waimaiOrderId != null &&
  326. scope.row.waimaiOrderId != ''
  327. "
  328. >
  329. {{ scope.row.dspWaimaiName }}
  330. </span>
  331. <span v-else> 猎豹 </span>
  332. </el-tag>
  333. <el-tag type="warning" style="margin-left: 20px">
  334. <span
  335. v-if="
  336. scope.row.merchantId != null && scope.row.merchantId != ''
  337. "
  338. >
  339. 商戶
  340. </span>
  341. <span v-else> 个人 </span>
  342. </el-tag>
  343. <el-tag type="info" style="margin-left: 20px">
  344. <span v-if="scope.row.takeType == 0"> 普通 </span>
  345. <span v-if="scope.row.takeType == 1 || scope.row.takeType == 2"> 预约 </span>
  346. </el-tag>
  347. <span style="margin-left: 20px">订单号:
  348. <div class="serial" v-if="scope.row.daySeq != null">
  349. <span class="serial_text">{{scope.row.daySeq}} &nbsp; #</span>
  350. </div>
  351. <el-button style="user-select: unset" type="text" @click="deliveryInfo(scope.row.orderSn)" v-if="type != 2">
  352. {{ scope.row.orderSn }}
  353. </el-button>
  354. <span v-if="type == 2">{{ scope.row.orderSn }}</span>
  355. <el-button style="user-select: unset;background-color:#F08080;height:27px"
  356. size="mini" type="danger" round icon="el-icon-close" @click="cancelOrder(scope.row.id)"
  357. v-if="type != 2 && scope.row.deliveryStatus == 3 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">
  358. 取消
  359. </el-button>
  360. <el-button style="user-select: unset;background-color:#90EE90;height:27px"
  361. size="mini" type="success" round icon="el-icon-check" @click="finishOrder(scope.row.id)"
  362. v-if="type != 2 && scope.row.deliveryStatus == 3 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">
  363. 手动完成
  364. </el-button>
  365. </span
  366. >
  367. </el-col>
  368. <el-col :span="4">
  369. <div style="margin-bottom: 10px; text-align: center">
  370. <span v-if="scope.row.deleted == 1">
  371. 现订单号:
  372. <span v-if="scope.row.originalOrderSn != null">{{ scope.row.originalOrderSn }}</span>
  373. <span v-else> -- </span>
  374. </span>
  375. <div v-if="(scope.row.takeType == 1 || scope.row.takeType == 2)&& (scope.row.waimaiOrderId == null || scope.row.waimaiOrderId == '')">
  376. 预计取件时间:{{ scope.row.takeTime }}
  377. </div>
  378. <div v-if="scope.row.waimaiOrderId != null && scope.row.waimaiOrderId != '' && scope.row.deleted == 0">
  379. <span v-if="scope.row.waimaiDeliveryTime == 0">预计送达时间:立即送达</span>
  380. <span v-if="scope.row.waimaiDeliveryTime != 0">预计送达时间:{{ scope.row.waimaiDeliveryDate }}</span>
  381. </div>
  382. </div>
  383. </el-col>
  384. <el-col :span="9">
  385. <div style="margin-bottom: 10px; text-align: left" v-if="
  386. scope.row.waimaiOrderId != null &&
  387. scope.row.waimaiOrderId != ''
  388. ">
  389. <span>外卖下单时间:{{ scope.row.orderTime }}</span>
  390. <span style="margin-left:39px"
  391. v-if="scope.row.deleted == 0 && !(scope.row.wmstatus == 4 && scope.row.deliveryStatus != 4) &&
  392. !(scope.row.deliveryStatus == 0 && scope.row.waimaiOrderId != null &&
  393. (scope.row.wmstatus == null || scope.row.wmstatus == 0))">
  394. 配送下单时间:{{ scope.row.createTime }}</span>
  395. </div>
  396. <div style="margin-bottom: 10px; text-align: left" v-else>
  397. <span
  398. v-if="scope.row.deleted == 0 && !(scope.row.wmstatus == 4 && scope.row.deliveryStatus != 4) &&
  399. !(scope.row.deliveryStatus == 0 && scope.row.waimaiOrderId != null &&
  400. (scope.row.wmstatus == null || scope.row.wmstatus == 0))">
  401. 配送下单时间:{{ scope.row.createTime }}</span>
  402. </div>
  403. </el-col>
  404. <el-col :span="2">
  405. <div style="margin-bottom: 10px; text-align: right" v-if="scope.row.deleted == 0">
  406. <div
  407. v-if="
  408. scope.row.deliveryStatus == -1 &&
  409. (scope.row.wmstatus != 4 || scope.row.wmstatus == null)
  410. "
  411. >
  412. 已取消
  413. </div>
  414. <div
  415. v-if="
  416. scope.row.deliveryStatus == -2 &&
  417. (scope.row.wmstatus != 4 || scope.row.wmstatus == null)
  418. "
  419. >
  420. 异常
  421. </div>
  422. <div
  423. v-if="
  424. scope.row.deliveryStatus == 0 && scope.row.waimaiOrderId != null &&
  425. (scope.row.wmstatus == null || scope.row.wmstatus != 4)
  426. "
  427. >
  428. 待发单
  429. </div>
  430. <div
  431. v-if="
  432. scope.row.deliveryStatus == 1 &&
  433. scope.row.status == 1 &&
  434. (scope.row.wmstatus != 4 || scope.row.wmstatus == null)
  435. "
  436. >
  437. 待接单
  438. </div>
  439. <div
  440. v-if="
  441. scope.row.deliveryStatus == 1 &&
  442. scope.row.status == 0 &&
  443. (scope.row.wmstatus != 4 || scope.row.wmstatus == null)
  444. "
  445. >
  446. 待支付
  447. </div>
  448. <div
  449. v-if="
  450. scope.row.deliveryStatus == 2 &&
  451. (scope.row.wmstatus != 4 || scope.row.wmstatus == null)
  452. "
  453. >
  454. 待配送
  455. </div>
  456. <div
  457. v-if="
  458. scope.row.deliveryStatus == 3 &&
  459. (scope.row.wmstatus != 4 || scope.row.wmstatus == null)
  460. "
  461. >
  462. 配送中
  463. </div>
  464. <div
  465. v-if="
  466. scope.row.wmstatus == 4 && scope.row.deliveryStatus != 4
  467. "
  468. >
  469. 其它平台完成
  470. </div>
  471. <div v-if="scope.row.deliveryStatus == 4">本平台完成</div>
  472. </div>
  473. <div style="margin-bottom: 10px; text-align: right" v-if="scope.row.deleted == 1">
  474. <div>撤回</div>
  475. </div>
  476. </el-col>
  477. </el-row>
  478. </div>
  479. <el-row class="border-line">
  480. <el-col :span="9">
  481. <div style="margin-top: 10px">
  482. <!-- 发 -->
  483. <div style="display: flex">
  484. <!-- <img :src="item.thumb" style="width: 20px; height: 20px" /> -->
  485. <div><i class="sendLogo"></i></div>
  486. <div style="margin-left: 10px">
  487. <span
  488. >{{ scope.row.sendContactName }} &nbsp;&nbsp;
  489. {{ scope.row.sendPhone }}</span
  490. ><span
  491. v-if="
  492. scope.row.sendExtension != null &&
  493. scope.row.sendExtension != ''
  494. "
  495. >#{{ scope.row.sendExtension }}</span
  496. ><br />
  497. <span
  498. >{{ scope.row.sendProvinceName
  499. }}{{ scope.row.sendCityName
  500. }}{{ scope.row.sendDistrictName }}</span
  501. ><br />
  502. <span>{{ scope.row.sendAddress }}</span>
  503. </div>
  504. </div>
  505. <!-- 收 -->
  506. <div style="margin-top: 10px; display: flex">
  507. <!-- <img :src="item.thumb" style="width: 20px; height: 20px" /> -->
  508. <div><i class="receiptLogo"></i></div>
  509. <div style="margin-left: 10px">
  510. <span
  511. >{{ scope.row.receiptContactName }} &nbsp;&nbsp;
  512. {{ scope.row.receiptPhone }}</span
  513. >
  514. <span
  515. v-if="
  516. scope.row.receiptExtension != null &&
  517. scope.row.receiptExtension != ''
  518. "
  519. >#{{ scope.row.receiptExtension }}</span
  520. ><br />
  521. <span
  522. >{{ scope.row.receiptProvinceName
  523. }}{{ scope.row.receiptCityName
  524. }}{{ scope.row.receiptDistrictName }}</span
  525. ><br />
  526. <span>{{ scope.row.receiptAddress }}</span>
  527. </div>
  528. </div>
  529. </div>
  530. </el-col>
  531. <el-col :span="5">
  532. <div style="margin-top: 10px">
  533. <span>
  534. 支付金额:¥{{ scope.row.payAmount }}
  535. <i
  536. class="el-icon-info"
  537. @click="amountInfoOpen(scope.row)"
  538. ></i> </span
  539. ><br />
  540. <span v-if="type != 2 && scope.row.bindFee > 0">
  541. 三方服务费: ¥{{ scope.row.bindFee }}<br />
  542. </span
  543. >
  544. <span>
  545. 支付类型:
  546. <el-tag v-if="scope.row.paymentType == 1 && scope.row.status != 0">支付宝</el-tag>
  547. <el-tag type="success" v-if="scope.row.paymentType == 2 && scope.row.status != 0">微信</el-tag>
  548. <el-tag type="warning" v-if="scope.row.paymentType == 3 && scope.row.status != 0">银联</el-tag>
  549. <el-tag type="danger" v-if="scope.row.paymentType == 4 && scope.row.status != 0">余额支付</el-tag>
  550. <el-tag type="info" v-if="scope.row.paymentType == 5 && scope.row.status != 0">第三方平台支付</el-tag>
  551. </span
  552. ><br />
  553. <span>配送类型:{{ scope.row.productName }}</span
  554. ><br />
  555. <span
  556. >物品信息:{{ scope.row.productName }}/{{
  557. scope.row.weight
  558. }}公斤</span
  559. ><br />
  560. <div>
  561. <span v-if="
  562. scope.row.waimaiOrderId != null &&
  563. scope.row.waimaiOrderId != ''
  564. ">商品金额:¥{{ scope.row.puductMoney }}</span
  565. ><span v-else>商品金额:¥{{ scope.row.productAmount }}</span
  566. ><br />
  567. </div>
  568. <div
  569. >
  570. <span
  571. >商品详情:
  572. <el-button
  573. type="text"
  574. @click="productInfoOpen(scope.row.waimaiOrderId)"
  575. >点击查看</el-button
  576. > </span
  577. ><br />
  578. </div>
  579. <div>
  580. 备注:
  581. <span
  582. v-if="
  583. scope.row.waimaiOrderId != null &&
  584. scope.row.waimaiOrderId != ''
  585. "
  586. ><span v-if="scope.row.takeRemark != null">【{{ scope.row.takeRemark }}】</span>{{ scope.row.wmCaution }}</span
  587. >
  588. <span v-else>{{ scope.row.takeRemark }}</span>
  589. </div>
  590. </div>
  591. </el-col>
  592. <el-col :span="6">
  593. <div style="margin-top: 10px;margin-left: 5px;">
  594. <div
  595. v-if="
  596. scope.row.outTradeNo != null && scope.row.outTradeNo != ''
  597. "
  598. >
  599. <div>
  600. 接单平台:
  601. <span v-if="scope.row.deliveryId != null">
  602. <span v-text="getName(scope.row.deliveryId)"></span>
  603. <!-- <span>{{ scope.row.deliveryName}}</span> -->
  604. </span>
  605. <span
  606. v-if="
  607. scope.row.deliveryId == null &&
  608. scope.row.wmstatus == 4 &&
  609. scope.row.deliveryStatus != 4
  610. "
  611. >
  612. 其它平台</span
  613. >
  614. </div>
  615. <div>
  616. 骑手姓名:
  617. <span v-if="scope.row.shipperName != null">{{
  618. scope.row.shipperName
  619. }}</span>
  620. <span v-else> -- </span>
  621. </div>
  622. <div>
  623. 骑手电话:
  624. <span v-if="scope.row.shipperPhone != null">{{
  625. scope.row.shipperPhone
  626. }}</span>
  627. <span v-else> -- </span>
  628. </div>
  629. <div>
  630. 三方订单号:
  631. <span v-if="scope.row.outTradeNo != null">{{
  632. scope.row.outTradeNo
  633. }}</span>
  634. <span v-else> -- </span>
  635. </div>
  636. <div>
  637. 接单时间:
  638. <span
  639. v-if="
  640. scope.row.deliveryTime != null
  641. "
  642. >{{ scope.row.deliveryTime }}</span
  643. >
  644. <span v-else>--</span>
  645. </div>
  646. <div>
  647. 取货时间:
  648. <span v-if="scope.row.pickUpTime != null">{{
  649. scope.row.pickUpTime
  650. }}</span>
  651. <span v-else> -- </span>
  652. </div>
  653. <div>
  654. 送到时间:
  655. <span v-if="scope.row.finishTime != null">{{
  656. scope.row.finishTime
  657. }}</span>
  658. <span v-else>--</span>
  659. </div>
  660. </div>
  661. <!-- <div
  662. style="margin-top: 10px; margin-left: 5px"
  663. v-if="
  664. scope.row.outTradeNo == null || scope.row.outTradeNo == ''
  665. "
  666. >
  667. <span style="color: #778899">暂无信息</span>
  668. </div> -->
  669. <div>
  670. <div v-if="((scope.row.deliveryStatus == -1 || scope.row.deliveryStatus == -2) &&
  671. (scope.row.wmstatus != 4 || scope.row.wmstatus == null)) || scope.row.deleted == 1">
  672. 取消时间:
  673. <span>{{
  674. scope.row.cancelTime
  675. }}</span>
  676. </div>
  677. <div v-if="((scope.row.deliveryStatus == -1 || scope.row.deliveryStatus == -2) &&
  678. (scope.row.wmstatus != 4 || scope.row.wmstatus == null)) || scope.row.deleted == 1">
  679. 取消原因:
  680. <span v-if="scope.row.cancelReason != null">{{
  681. scope.row.cancelReason
  682. }}</span>
  683. <span v-else> -- </span>
  684. </div>
  685. </div>
  686. </div>
  687. </el-col>
  688. <el-col :span="4">
  689. <div style="margin-top: 10px; text-align: right">
  690. <span> 商户名称:{{ scope.row.merchantName == null ? ' -- ' : scope.row.merchantName }} </span><br />
  691. <span> 门店名称:{{ scope.row.shopName == null ? ' -- ' : scope.row.shopName }} </span><br />
  692. <span>代理商:{{ scope.row.agentName == null ? ' -- ' : scope.row.agentName }}</span
  693. ><br />
  694. <span>所属员工:{{ scope.row.personnelName == null ? ' -- ' : scope.row.personnelName }}</span
  695. ><br />
  696. <span>
  697. 佣金:
  698. <span
  699. v-if="
  700. scope.row.getCommission != null &&
  701. scope.row.getCommission != ''
  702. "
  703. >¥{{ scope.row.getCommission }}</span
  704. >
  705. <span v-else> -- </span> </span
  706. ><br />
  707. <span> 下单人:{{ scope.row.memberName }} </span><br />
  708. <span>手机号:{{ scope.row.memberMobile }}</span
  709. ><br />
  710. </div>
  711. </el-col>
  712. </el-row>
  713. </template>
  714. </el-table-column>
  715. <!-- <template slot-scope="scope">
  716. <div style="margin-bottom: 10px;">
  717. <span>下单时间:{{ scope.row.createTime }}</span>
  718. </div>
  719. <div style="margin-top: 10px;">
  720. <span>
  721. 支付金额:¥{{scope.row.payAmount}}
  722. <i class="el-icon-info" @click="amountInfoOpen(scope.row)"></i>
  723. </span><br />
  724. <span>配送类型:{{scope.row.productName}}</span><br />
  725. <span>物品信息:{{scope.row.productName}}/{{scope.row.weight}}公斤</span><br />
  726. <div v-if="scope.row.waimaiOrderId != null && scope.row.waimaiOrderId != ''">
  727. <span>商品金额:¥{{scope.row.puductMoney}}</span><br />
  728. <span>商品详情:
  729. <el-button type="text" @click="productInfoOpen(scope.row.waimaiOrderId)">点击查看</el-button>
  730. </span><br />
  731. </div>
  732. <div>
  733. 备注:
  734. <span v-if="scope.row.waimaiOrderId != null && scope.row.waimaiOrderId != ''">{{scope.row.wmCaution}}</span>
  735. <span v-else>{{scope.row.takeRemark}}</span>
  736. </div>
  737. </div>
  738. </template>
  739. </el-table-column>
  740. <el-table-column align="left" width="400">
  741. <template slot-scope="scope">
  742. <div style="margin-top: 10px;">
  743. <div>
  744. 接单平台:
  745. <span v-if="scope.row.deliveryId != null">
  746. <span v-text="getName(scope.row.deliveryId)"></span>
  747. </span>
  748. <span v-if="scope.row.deliveryId == null && scope.row.wmstatus == 4 && scope.row.deliveryStatus != 4"> 其它平台</span>
  749. </div>
  750. <div>
  751. 骑手姓名:
  752. <span v-if="scope.row.shipperName != null">{{scope.row.shipperName}}</span>
  753. <span v-else> -- </span>
  754. </div>
  755. <div>
  756. 骑手电话:
  757. <span v-if="scope.row.shipperPhone != null">{{scope.row.shipperPhone}}</span>
  758. <span v-else> -- </span>
  759. </div>
  760. <div>
  761. 三方订单号:
  762. <span v-if="scope.row.outTradeNo != null">{{scope.row.outTradeNo}}</span>
  763. <span v-else> -- </span>
  764. </div>
  765. <div>
  766. 接单时间:
  767. <span v-if="scope.row.deliveryStatus != 0 && scope.row.deliveryStatus != 1">{{scope.row.deliveryTime}}</span>
  768. <span v-else>--</span>
  769. </div>
  770. <div>
  771. 取货时间:
  772. <span v-if="scope.row.shipperName != null">{{scope.row.shipperName}}</span>
  773. <span v-else> -- </span>
  774. </div>
  775. <div>
  776. 送到时间:
  777. <span v-if="scope.row.deliveryStatus == 4">{{scope.row.updateTime}}</span>
  778. <span v-else>--</span>
  779. </div>
  780. </div>
  781. </template>
  782. </el-table-column>
  783. <el-table-column header-align="right" align="right">
  784. <template slot-scope="scope">
  785. <div style="display: flex; margin-bottom: 10px; padding: 3px;">
  786. <div v-if="scope.row.deliveryStatus == -1 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">已取消</div>
  787. <div v-if="scope.row.deliveryStatus == 0 && (scope.row.wmstatus == null || scope.row.wmstatus == 0)">待发单</div>
  788. <div v-if="scope.row.deliveryStatus == 1 && scope.row.status == 1 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">待接单</div>
  789. <div v-if="scope.row.deliveryStatus == 1 && scope.row.status == 0 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">待支付</div>
  790. <div v-if="scope.row.deliveryStatus == 2 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">待配送</div>
  791. <div v-if="scope.row.deliveryStatus == 3 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">配送中</div>
  792. <div v-if="scope.row.wmstatus == 4 && scope.row.deliveryStatus != 4">其它平台完成</div>
  793. <div v-if="scope.row.deliveryStatus == 4">本平台完成</div>
  794. </div>
  795. </template>
  796. </el-table-column> -->
  797. <!-- <el-table-column label="订单编号" align="center" prop="orderSn" />
  798. <el-table-column label="订单流水号" align="center" prop="outTradeNo" />
  799. <el-table-column label="物品名称" align="center" prop="productName" />
  800. <el-table-column label="物品重量(kg)" align="center" prop="weight" /> -->
  801. <!-- <el-table-column label="取件时间" align="center" prop="takeTime" width="100">
  802. <template slot-scope="scope">
  803. <div>{{ parseTime(scope.row.takeDate, '{y}-{m}-{d}') }}</div>
  804. <div>{{ parseTime(scope.row.takeTime, '{h}:{i}:{s}') }}</div>
  805. </template>
  806. </el-table-column> -->
  807. <!-- <el-table-column label="发单时间" align="center" prop="createTime"></el-table-column>
  808. <el-table-column label="接单时间" align="center" prop="deliveryTime">
  809. <template slot-scope="scope">
  810. <span v-if="scope.row.deliveryStatus != 0 && scope.row.deliveryStatus != 1 && scope.row.deliveryStatus != -1">{{scope.row.deliveryTime}}</span>
  811. <span v-else>--</span>
  812. </template>
  813. </el-table-column>
  814. <el-table-column label="完成时间" align="center" prop="updateTime">
  815. <template slot-scope="scope">
  816. <span v-if="scope.row.deliveryStatus == 4">{{scope.row.updateTime}}</span>
  817. <span v-else>--</span>
  818. </template>
  819. </el-table-column>
  820. <el-table-column label="支付类型" align="center" prop="paymentType">
  821. <template slot-scope="scope">
  822. <el-tag v-if="scope.row.paymentType == 1 && scope.row.status != 0">支付宝</el-tag>
  823. <el-tag type="success" v-if="scope.row.paymentType == 2 && scope.row.status != 0">微信</el-tag>
  824. <el-tag type="warning" v-if="scope.row.paymentType == 3 && scope.row.status != 0">银联</el-tag>
  825. <el-tag type="danger" v-if="scope.row.paymentType == 4 && scope.row.status != 0">余额支付</el-tag>
  826. <el-tag type="info" v-if="scope.row.paymentType == 5 && scope.row.status != 0">第三方平台支付</el-tag>
  827. <span v-if="scope.row.status == 0"> - </span>
  828. </template>
  829. </el-table-column>
  830. <el-table-column label="配送金额" align="center" prop="totalAmount">
  831. <template slot-scope="scope">
  832. {{ scope.row.totalAmount + scope.row.couponAmount }}
  833. </template>
  834. </el-table-column>
  835. <el-table-column label="优惠金额" align="center" prop="couponAmount" />
  836. <el-table-column label="配送实付" align="center" prop="payAmount" />
  837. <el-table-column label="小费金额" align="center" prop="tipAmount" />
  838. <el-table-column label="我的佣金" align="center" prop="getCommission">
  839. <template slot-scope="scope">
  840. <span v-if="scope.row.getCommission">¥{{scope.row.getCommission}}</span>
  841. <span v-else>--</span>
  842. </template>
  843. </el-table-column>
  844. <el-table-column label="登录人/电话" align="center" prop="contactName">
  845. <template slot-scope="scope">
  846. <div v-if="scope.row.memberName">{{scope.row.memberName}}</div>
  847. <div v-if="scope.row.memberMobile">{{scope.row.memberMobile}}</div>
  848. </template>
  849. </el-table-column>
  850. <el-table-column label="优惠券" align="center" prop="couponId">
  851. <template slot-scope="scope">
  852. <div v-if="scope.row.coupon">{{scope.row.coupon.couponName}}</div>
  853. <div v-else>- -</div>
  854. </template>
  855. </el-table-column>
  856. <el-table-column label="发件地区" align="center" prop="sendProvinceName">
  857. <template slot-scope="scope">
  858. <div>{{scope.row.sendProvinceName}} {{scope.row.sendCityName}} {{scope.row.sendDistrictName}}</div>
  859. </template>
  860. </el-table-column>
  861. <el-table-column label="发件地址" align="center" prop="sendAddress" />
  862. <el-table-column label="发件联系人/联系电话" align="center" prop="sendContactName">
  863. <template slot-scope="scope">
  864. <div v-if="scope.row.sendContactName">{{scope.row.sendContactName}}</div>
  865. <div v-if="scope.row.sendPhone">{{scope.row.sendPhone}}</div>
  866. </template>
  867. </el-table-column>
  868. <el-table-column label="收件地区" align="center" prop="receiptProvinceName">
  869. <template slot-scope="scope">
  870. <div>{{scope.row.receiptProvinceName}} {{scope.row.receiptCityName}} {{scope.row.receiptDistrictName}}</div>
  871. </template>
  872. </el-table-column>
  873. <el-table-column label="收件地址" align="center" prop="receiptAddress" />
  874. <el-table-column label="收件联系人/联系电话" align="center" prop="receiptContactName">
  875. <template slot-scope="scope">
  876. <div v-if="scope.row.receiptContactName">{{scope.row.receiptContactName}}</div>
  877. <div v-if="scope.row.receiptPhone">{{scope.row.receiptPhone}}</div>
  878. </template>
  879. </el-table-column>
  880. <el-table-column label="订单状态" align="center" prop="deliveryStatus">
  881. <template slot-scope="scope">
  882. <div v-if="scope.row.deliveryStatus == -1 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">已取消</div>
  883. <div v-if="scope.row.deliveryStatus == 0 && (scope.row.wmstatus == null || scope.row.wmstatus == 0)">待发单</div>
  884. <div v-if="scope.row.deliveryStatus == 1 && scope.row.status == 1 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">待接单</div>
  885. <div v-if="scope.row.deliveryStatus == 1 && scope.row.status == 0 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">待支付</div>
  886. <div v-if="scope.row.deliveryStatus == 2 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">待配送</div>
  887. <div v-if="scope.row.deliveryStatus == 3 && (scope.row.wmstatus != 4 || scope.row.wmstatus == null)">配送中</div>
  888. <div v-if="scope.row.wmstatus == 4 && scope.row.deliveryStatus != 4">其它平台完成</div>
  889. <div v-if="scope.row.deliveryStatus == 4">本平台完成</div> -->
  890. <!-- <div v-if="(scope.row.wmstatus == 4 && scope.row.deliveryStatus == 4) || (scope.row.deliveryStatus == 4 && scope.row.wmstatus == null)">本平台完成</div> -->
  891. <!-- </template>
  892. </el-table-column>
  893. <el-table-column label="商家名称" align="center" prop="merchantName" />
  894. <el-table-column label="代理商名称" align="center" prop="agentName" />
  895. <el-table-column label="配送平台名称" align="center" prop="deliveryName">
  896. <template slot-scope="scope">
  897. <div v-if="scope.row.waimaiOrderId == null">
  898. <span v-text="getName(scope.row.deliveryId)"></span>
  899. </div>
  900. <div v-if="scope.row.waimaiOrderId != null && scope.row.wmstatus == 4 && scope.row.deliveryStatus != 4"> 其它平台 </div>
  901. </template>
  902. </el-table-column> -->
  903. </Pagination>
  904. <el-dialog
  905. title="金额详细信息"
  906. :visible.sync="amountInfoVisible"
  907. width="500"
  908. >
  909. <div style="font-size: 18px; font-weight: 400">
  910. <span>配送费:¥{{
  911. (amountInfo.totalAmount +
  912. amountInfo.couponAmount - amountInfo.tipAmount).toFixed(2)
  913. }}</span
  914. ><br /><br />
  915. <span v-if="amountInfo.deliveryId != 24 && amountInfo.deliveryId != 19" style="margin-top: 10px">小费:¥{{ amountInfo.tipAmount }}</span
  916. >
  917. <span v-if="amountInfo.deliveryId == 24 || amountInfo.deliveryId == 19" style="margin-top: 10px">小费:¥0</span
  918. ><br /><br />
  919. <span style="margin-top: 10px"
  920. >优惠券:-¥{{ amountInfo.couponAmount }}</span
  921. ><br /><br />
  922. <span style="margin-top: 10px"
  923. >其它优惠:-¥{{ amountInfo.firstCoupon != undefined ? amountInfo.firstCoupon: 0}}</span
  924. ><br /><br />
  925. <!-- <span v-if="amountInfo.deliveryId != 24 && amountInfo.deliveryId != 19" style="margin-top: 10px"
  926. >支付金额:¥{{ amountInfo.payAmount }}</span
  927. >
  928. <span v-if="amountInfo.deliveryId == 24 || amountInfo.deliveryId == 19" style="margin-top: 10px"
  929. >支付金额:¥{{ (amountInfo.payAmount - amountInfo.tipAmount).toFixed(2) }}</span
  930. > -->
  931. <span style="margin-top: 10px"
  932. >支付金额:¥{{ amountInfo.payAmount }}</span
  933. ><br /><br />
  934. <!-- <div>
  935. <span style="margin-top: 10px" v-if="this.type != 2 && amountInfo.commission != null"
  936. >参与分佣金额:¥{{ amountInfo.commission }}</span
  937. >
  938. <span style="margin-top: 10px" v-if="this.type != 2 && amountInfo.commission == null"
  939. >参与分佣金额:¥0</span
  940. >
  941. </div> -->
  942. </div>
  943. </el-dialog>
  944. <el-dialog title="选择取消订单原因" :visible.sync="cancelOrderVisible" wdith="700" append-to-body>
  945. <el-form :model="dataForm" :rules="dataRule" ref="dataForm" label-width="150px">
  946. <el-form-item label="原因" prop="memberName">
  947. <el-select v-model="dataForm.cancelOrderId" placeholder="请选择取消原因" clearable>
  948. <el-option v-for="item in orderReasonOption" :key="item.value" :label="item.label" :value="item.value"></el-option>
  949. </el-select>
  950. </el-form-item>
  951. </el-form>
  952. <span slot="footer" class="dialog-footer">
  953. <el-button @click="cancelOrderVisible = false">取 消</el-button>
  954. <el-button type="primary" @click="submite()">确定</el-button>
  955. </span>
  956. </el-dialog>
  957. <el-dialog :visible.sync="productInfoVisible" width="700">
  958. <el-table :data="this.productInfoList">
  959. <el-table-column
  960. align="center"
  961. header-align="center"
  962. label="商品名称"
  963. prop="foodName"
  964. >
  965. <template slot-scope="scope">
  966. <span
  967. >
  968. {{ scope.row.foodName }}
  969. </span>
  970. <!-- <span v-if="this.productInfoWaimaiId == undefined"> 到店查看 </span> -->
  971. </template>
  972. </el-table-column>
  973. <el-table-column align="center" header-align="center" label="数量">
  974. <template slot-scope="scope">
  975. <span
  976. >
  977. ×{{ scope.row.quantity }}
  978. </span>
  979. <!-- <span v-if="this.productInfoWaimaiId == undefined"> ×1 </span> -->
  980. </template>
  981. </el-table-column>
  982. </el-table>
  983. </el-dialog>
  984. <el-dialog :visible.sync="deliveryInfoVisible" width="700">
  985. <el-table :data="this.deliveryInfoList">
  986. <el-table-column align="center" header-align="center" label="子订单号" prop="childOrderSn" />
  987. <el-table-column align="center" header-align="center" label="三方订单号" prop="outTradeNo" />
  988. <el-table-column align="center" header-align="center" label="配送平台" prop="deliveryName" />
  989. <el-table-column align="center" header-align="center" label="金额" prop="payAmount" />
  990. <el-table-column align="center" header-align="center" label="状态" prop="deliveryStatus">
  991. <template slot-scope="scope">
  992. <span v-if="scope.row.deliveryStatus == 0">待发单</span>
  993. <span v-if="scope.row.deliveryStatus == 1">待接单</span>
  994. <span v-if="scope.row.deliveryStatus == 2">待配送</span>
  995. <span v-if="scope.row.deliveryStatus == -1">已取消</span>
  996. </template>
  997. </el-table-column>
  998. <el-table-column align="center" header-align="center" label="下单失败原因" prop="failMsg" />
  999. </el-table>
  1000. </el-dialog>
  1001. </div>
  1002. </template>
  1003. <script>
  1004. import {
  1005. exportOrder
  1006. } from "@/api/module/order";
  1007. import Pagination from "@/components/Paginations";
  1008. import moment from "moment";
  1009. import user from "@/store/modules/user";
  1010. import OldReceipt from "@/components/area/oldReceipt";
  1011. import OldSend from "@/components/area/oldSend";
  1012. import area from "@/api/oldCity";
  1013. import { constants } from "os";
  1014. export default {
  1015. name: "Order",
  1016. components: {
  1017. OldReceipt,
  1018. OldSend,
  1019. Pagination
  1020. },
  1021. data() {
  1022. return {
  1023. orderReasonOption: [],
  1024. msg: undefined,
  1025. type: '',
  1026. show2: false,
  1027. cancelOrderVisible: false,
  1028. amountInfo: {
  1029. deliveryId: undefined,
  1030. totalAmount: 0.0,
  1031. couponAmount: 0.0,
  1032. firstCoupon: 0.0,
  1033. tipAmount: 0.0,
  1034. payAmount: 0.0,
  1035. commission: 0.0,
  1036. },
  1037. amountInfoVisible: false,
  1038. productInfoVisible: false,
  1039. deliveryInfoVisible: false,
  1040. productInfoList: [],
  1041. deliveryInfoList: [],
  1042. productInfoWaimaiId: '',
  1043. user: {},
  1044. agentList: [],
  1045. deliveryDate: [],
  1046. createDate: [],
  1047. completeDate: [],
  1048. merchantOption: [],
  1049. dspDeliveryOption: [],
  1050. activeName: "all",
  1051. lablZero: "待接单",
  1052. lableOne: "取货中",
  1053. lableTwo: "配送中",
  1054. lableThree: "平台完成",
  1055. lableFour: "已取消",
  1056. lableFive: "异常",
  1057. lableSix: "待发单",
  1058. lableSeven: "其它平台完成",
  1059. waimaiOrderTypeOption: [
  1060. {
  1061. value: 1,
  1062. label: "美团",
  1063. },
  1064. {
  1065. value: 2,
  1066. label: "饿了么",
  1067. },
  1068. {
  1069. value: 3,
  1070. label: "饿百零售",
  1071. },
  1072. {
  1073. value: 4,
  1074. label: "猎豹",
  1075. }
  1076. ],
  1077. paymentTypeOption: [
  1078. {
  1079. value: 1,
  1080. label: "支付宝支付",
  1081. },
  1082. {
  1083. value: 2,
  1084. label: "微信支付",
  1085. },
  1086. {
  1087. value: 3,
  1088. label: "银联支付",
  1089. },
  1090. {
  1091. value: 4,
  1092. label: "余额支付",
  1093. },
  1094. ],
  1095. deliveryStatusOption: [
  1096. {
  1097. value: 0,
  1098. label: "待发单",
  1099. },
  1100. {
  1101. value: 1,
  1102. label: "待接单",
  1103. },
  1104. {
  1105. value: 2,
  1106. label: "待配送",
  1107. },
  1108. {
  1109. value: 3,
  1110. label: "配送中",
  1111. },
  1112. {
  1113. value: 4,
  1114. label: "已完成",
  1115. },
  1116. {
  1117. value: -1,
  1118. label: "已取消",
  1119. },
  1120. {
  1121. value: -2,
  1122. label: "异常",
  1123. },
  1124. {
  1125. value: 100,
  1126. label: "其它平台完成",
  1127. },
  1128. ],
  1129. // 遮罩层
  1130. loading: true,
  1131. // 选中数组
  1132. ids: [],
  1133. // 非单个禁用
  1134. single: true,
  1135. // 非多个禁用
  1136. multiple: true,
  1137. // 显示搜索条件
  1138. showSearch: true,
  1139. // 总条数
  1140. total: 0,
  1141. // 配送订单表格数据
  1142. orderList: [],
  1143. // 弹出层标题
  1144. title: "",
  1145. // 是否显示弹出层
  1146. open: false,
  1147. areaProp: {},
  1148. startArea: {
  1149. province: "",
  1150. city: "",
  1151. district: "",
  1152. provinceName: "",
  1153. cityName: "",
  1154. districtName: "",
  1155. cityValues: [],
  1156. districtValues: [],
  1157. districtNames: [],
  1158. },
  1159. sendAreaProp: {},
  1160. sendStartArea: {
  1161. province: "",
  1162. city: "",
  1163. district: "",
  1164. provinceName: "",
  1165. cityName: "",
  1166. districtName: "",
  1167. cityValues: [],
  1168. districtValues: [],
  1169. districtNames: [],
  1170. },
  1171. // 查询参数
  1172. queryParams: {
  1173. pageNum: 1,
  1174. pageSize: 10,
  1175. outTradeNo: undefined,
  1176. productId: undefined,
  1177. productName: undefined,
  1178. weight: undefined,
  1179. takeDate: undefined,
  1180. takeTime: undefined,
  1181. takeRemark: undefined,
  1182. paymentType: undefined,
  1183. totalAmount: undefined,
  1184. couponAmount: undefined,
  1185. payAmount: undefined,
  1186. couponId: undefined,
  1187. sendAddressId: undefined,
  1188. sendProvinceName: undefined,
  1189. sendCityName: undefined,
  1190. sendDistrictName: undefined,
  1191. sendAddress: undefined,
  1192. sendContactName: undefined,
  1193. sendPhone: undefined,
  1194. receiptAddressId: undefined,
  1195. receiptProvinceName: undefined,
  1196. receiptCityName: undefined,
  1197. receiptDistrictName: undefined,
  1198. receiptAddress: undefined,
  1199. receiptContactName: undefined,
  1200. receiptPhone: undefined,
  1201. deliveryType: undefined,
  1202. preDeliveryIds: undefined,
  1203. actualDeliveryId: undefined,
  1204. useTip: undefined,
  1205. tipAmount: undefined,
  1206. status: undefined,
  1207. deliveryStatus: undefined,
  1208. merchantId: undefined,
  1209. merchantName: undefined,
  1210. shopName: undefined,
  1211. aId: undefined,
  1212. orderSn: undefined,
  1213. memberName: undefined,
  1214. memberMobile: undefined,
  1215. waimaiOrderType: undefined,
  1216. personnelName: undefined
  1217. },
  1218. // 表单参数
  1219. form: {},
  1220. // 表单校验
  1221. rules: {
  1222. outTradeNo: [
  1223. {
  1224. required: true,
  1225. message: "外部订单流水号不能为空",
  1226. trigger: "blur",
  1227. },
  1228. ],
  1229. productId: [
  1230. { required: true, message: "物品ID不能为空", trigger: "blur" },
  1231. ],
  1232. productName: [
  1233. { required: true, message: "物品名称不能为空", trigger: "blur" },
  1234. ],
  1235. weight: [
  1236. { required: true, message: "物品重量不能为空", trigger: "blur" },
  1237. ],
  1238. takeDate: [
  1239. { required: true, message: "取件日期不能为空", trigger: "blur" },
  1240. ],
  1241. takeTime: [
  1242. { required: true, message: "取件时间不能为空", trigger: "blur" },
  1243. ],
  1244. paymentType: [
  1245. {
  1246. required: true,
  1247. message:
  1248. "支付类型:1->支付宝支付 2->微信支付 3->银联支付 4->余额支付不能为空",
  1249. trigger: "change",
  1250. },
  1251. ],
  1252. totalAmount: [
  1253. { required: true, message: "订单总金额不能为空", trigger: "blur" },
  1254. ],
  1255. couponAmount: [
  1256. { required: true, message: "优惠金额不能为空", trigger: "blur" },
  1257. ],
  1258. payAmount: [
  1259. { required: true, message: "实际支付金额不能为空", trigger: "blur" },
  1260. ],
  1261. sendAddressId: [
  1262. { required: true, message: "发件地址ID不能为空", trigger: "blur" },
  1263. ],
  1264. sendProvinceName: [
  1265. { required: true, message: "发件所在省不能为空", trigger: "blur" },
  1266. ],
  1267. sendCityName: [
  1268. { required: true, message: "发件所在城市不能为空", trigger: "blur" },
  1269. ],
  1270. sendDistrictName: [
  1271. { required: true, message: "发件所在区不能为空", trigger: "blur" },
  1272. ],
  1273. sendAddress: [
  1274. { required: true, message: "发件详细地址不能为空", trigger: "blur" },
  1275. ],
  1276. sendContactName: [
  1277. { required: true, message: "发件联系人不能为空", trigger: "blur" },
  1278. ],
  1279. sendPhone: [
  1280. { required: true, message: "发件联系电话不能为空", trigger: "blur" },
  1281. ],
  1282. receiptAddressId: [
  1283. { required: true, message: "收件地址ID不能为空", trigger: "blur" },
  1284. ],
  1285. receiptProvinceName: [
  1286. { required: true, message: "收件所在省不能为空", trigger: "blur" },
  1287. ],
  1288. receiptCityName: [
  1289. { required: true, message: "收件所在城市不能为空", trigger: "blur" },
  1290. ],
  1291. receiptDistrictName: [
  1292. { required: true, message: "收件所在区不能为空", trigger: "blur" },
  1293. ],
  1294. receiptAddress: [
  1295. { required: true, message: "收件地址不能为空", trigger: "blur" },
  1296. ],
  1297. receiptContactName: [
  1298. { required: true, message: "收件联系人不能为空", trigger: "blur" },
  1299. ],
  1300. receiptPhone: [
  1301. { required: true, message: "收件联系电话不能为空", trigger: "blur" },
  1302. ],
  1303. status: [
  1304. {
  1305. required: true,
  1306. message:
  1307. "订单状态:0-> 待支付,1->已支付, 2->派单中, 3->取件中,4->配送中,5->已完成,-1->已取消不能为空",
  1308. trigger: "blur",
  1309. },
  1310. ],
  1311. },
  1312. dataForm: {
  1313. id: '',
  1314. cancelOrderId: ''
  1315. },
  1316. dataRule: {},
  1317. };
  1318. },
  1319. created() {
  1320. this.type = localStorage.getItem("SYS_USER_TYPE")
  1321. this.queryParams.merchantId = this.$route.query.merchantId;
  1322. this.queryParams.memberId = this.$route.query.memberId;
  1323. // this.getList();
  1324. this.user = user.actions.getSysUser();
  1325. // 获取商户列表
  1326. this.$http.get(`/module/agent/list/agent`).then(({ data }) => {
  1327. if (data) {
  1328. this.agentList = data.list.rows;
  1329. // console.log("agentList", this.agentList);
  1330. }
  1331. });
  1332. this.getMerchantOption();
  1333. this.getDspDeliveryOption();
  1334. this.createDate[0] =
  1335. this.formatDate(new Date().getTime() - 2 * 24 * 60 * 60 * 1000) +
  1336. " 00:00:00";
  1337. this.createDate[1] = this.formatDate(new Date().getTime()) + " 23:59:59";
  1338. // console.log(this.createDate);
  1339. this.handleQuery();
  1340. // this.getStatusNum();
  1341. },
  1342. methods: {
  1343. deliveryInfo(orderSn) {
  1344. console.log('orderSn', orderSn)
  1345. if(orderSn != null && orderSn != '') {
  1346. this.$http.get('/module/order/deliveryInfo?orderSn=' + orderSn).then(({ data }) => {
  1347. this.deliveryInfoList = data
  1348. })
  1349. this.deliveryInfoVisible = true
  1350. }
  1351. },
  1352. formatDate(time) {
  1353. return moment(time).format("YYYY-MM-DD");
  1354. },
  1355. handleClick(tab, event) {
  1356. // loading开始
  1357. this.queryParams.deliveryStatus = this.activeName == 'all' ? null : Number(this.activeName)
  1358. this.$nextTick(() => {
  1359. this.getStatusNum();
  1360. this.$refs.pagination.handleSearch(true);
  1361. });
  1362. // loading结束
  1363. },
  1364. getStatusNum() {
  1365. this.$http({
  1366. url: this.$http.adornUrl("/module/order/sumByStatus/1"),
  1367. method: "get",
  1368. params: this.$http.adornParams(this.queryParams)
  1369. }).then(({ data }) => {
  1370. if (data != null) {
  1371. this.lablZero = "待接单 " + data;
  1372. }
  1373. });
  1374. this.$http({
  1375. url: this.$http.adornUrl("/module/order/sumByStatus/2"),
  1376. method: "get",
  1377. params: this.$http.adornParams(this.queryParams)
  1378. }).then(({ data }) => {
  1379. if (data != null) {
  1380. this.lableOne = "取货中 " + data;
  1381. }
  1382. });
  1383. this.$http({
  1384. url: this.$http.adornUrl("/module/order/sumByStatus/3"),
  1385. method: "get",
  1386. params: this.$http.adornParams(this.queryParams)
  1387. }).then(({ data }) => {
  1388. if (data != null) {
  1389. this.lableTwo = "配送中 " + data;
  1390. }
  1391. });
  1392. // this.$http({
  1393. // url: this.$http.adornUrl("/module/order/sumByStatus/-1"),
  1394. // method: "get",
  1395. // params: this.$http.adornParams(this.queryParams)
  1396. // }).then(({ data }) => {
  1397. // if (data != null) {
  1398. // this.lableFour = "已取消 " + data;
  1399. // }
  1400. // });
  1401. this.$http({
  1402. url: this.$http.adornUrl("/module/order/sumByStatus/-2"),
  1403. method: "get",
  1404. params: this.$http.adornParams(this.queryParams)
  1405. }).then(({ data }) => {
  1406. if (data != null) {
  1407. this.lableFive = "异常 " + data;
  1408. }
  1409. });
  1410. this.$http({
  1411. url: this.$http.adornUrl("/module/order/sumByStatus/0"),
  1412. method: "get",
  1413. params: this.$http.adornParams(this.queryParams)
  1414. }).then(({ data }) => {
  1415. if (data != null) {
  1416. this.lableSix = "待发单 " + data;
  1417. }
  1418. });
  1419. // this.$http({
  1420. // url: this.$http.adornUrl("/module/order/sumByStatus/100"),
  1421. // method: "get",
  1422. // params: this.$http.adornParams(this.queryParams)
  1423. // }).then(({ data }) => {
  1424. // if (data != null) {
  1425. // this.lableSeven = "其它平台完成 " + data;
  1426. // }
  1427. // });
  1428. this.$http({
  1429. url: this.$http.adornUrl("/module/order/sumByStatus/4"),
  1430. method: "get",
  1431. params: this.$http.adornParams(this.queryParams)
  1432. }).then(({ data }) => {
  1433. if (data != null) {
  1434. this.lableThree = "平台完成 " + data;
  1435. }
  1436. });
  1437. // console.log('deliveryStatusSum', this.queryParams.deliveryStatus)
  1438. },
  1439. amountInfoOpen(row) {
  1440. // console.log('row', row)
  1441. this.amountInfo.deliveryId = row.deliveryId
  1442. this.amountInfo.totalAmount = row.totalAmount;
  1443. this.amountInfo.couponAmount = row.couponAmount;
  1444. this.amountInfo.firstCoupon = row.firstCoupon;
  1445. this.amountInfo.tipAmount = row.tipAmount;
  1446. this.amountInfo.payAmount = row.payAmount;
  1447. this.amountInfo.commission = row.commission;
  1448. this.amountInfoVisible = true;
  1449. },
  1450. productInfoOpen(waimaiOrderId) {
  1451. this.productInfoWaimaiId = waimaiOrderId;
  1452. if(waimaiOrderId != undefined) {
  1453. this.productInfoList = []
  1454. this.$http
  1455. .get("/module/order/productInfo?waimaiOrderId=" + waimaiOrderId)
  1456. .then(({ data }) => {
  1457. if (data) {
  1458. this.productInfoList = data;
  1459. }
  1460. });
  1461. }else {
  1462. this.productInfoList = [{'foodName':'到店查看','quantity':'1'}]
  1463. }
  1464. this.productInfoVisible = true;
  1465. },
  1466. // 选择区域
  1467. changeArea(e) {
  1468. this.startArea = e;
  1469. },
  1470. changeSendArea(e) {
  1471. this.sendStartArea = e;
  1472. },
  1473. getName(deliveryId) {
  1474. var t = this.dspDeliveryOption.filter(function (obj) {
  1475. return obj.id === deliveryId;
  1476. });
  1477. if (t[0]) {
  1478. return t[0].name;
  1479. } else {
  1480. return "--";
  1481. }
  1482. },
  1483. getMerchantOption() {
  1484. this.$http.get(`/module/merchant/getMerchantOption`).then(({ data }) => {
  1485. if (data) {
  1486. this.merchantOption = data.list.rows;
  1487. }
  1488. });
  1489. },
  1490. getDspDeliveryOption() {
  1491. this.$http
  1492. .get(`/module/dspDelivery/selectOrderDspDeliverys`)
  1493. .then(({ data }) => {
  1494. if (data) {
  1495. this.dspDeliveryOption = data;
  1496. }
  1497. });
  1498. },
  1499. /** 查询配送订单列表 */
  1500. // getList() {
  1501. // this.loading = true;
  1502. // listOrder(this.queryParams).then(response => {
  1503. // this.orderList = response.rows;
  1504. // this.total = response.total;
  1505. // this.loading = false;
  1506. // });
  1507. // },
  1508. // 取消按钮
  1509. // init(id) {
  1510. // this.queryParams.merchantId = id;
  1511. // this.getList()
  1512. // },
  1513. // 取消订单
  1514. cancelOrder(orderId) {
  1515. console.log('orderId', orderId)
  1516. this.dataForm.id = orderId
  1517. this.$http.get('/module/order/getOrderReason').then(({ data }) => {
  1518. console.log('data', data)
  1519. this.orderReasonOption = data.map(v => ({ value: Object.keys(v)[0], label: v[Object.keys(v)[0]] }))
  1520. // 此方法效率更高,少一次Object.keys()方法执行和数组寻址
  1521. // this.orderReasonOption = data.map(v => {
  1522. // // 获取数组每个对象的key
  1523. // const key = Object.keys(v)[0]
  1524. // // 返回新数组
  1525. // return ({value:key, label:v[key]});
  1526. // })
  1527. console.log('orderReason', this.orderReasonOption)
  1528. })
  1529. this.cancelOrderVisible = true
  1530. },
  1531. // 手动完成订单
  1532. finishOrder(orderId) {
  1533. console.log('orderId', orderId)
  1534. this.dataForm.id = orderId
  1535. this.$confirm('此操作将手动完成该订单,是否继续?', '提示', {
  1536. confirmButtonText: '确定',
  1537. cancelButtonText: '取消',
  1538. type: 'warning'
  1539. }).then(() => {
  1540. this.$http.post("/module/order/finishOrder", this.dataForm).then(({ data }) => {
  1541. if (data) {
  1542. setTimeout(() => {
  1543. this.$message({
  1544. type: 'success',
  1545. message: '操作成功!'
  1546. });
  1547. this.handleQuery();
  1548. }, 1000)
  1549. } else {
  1550. this.$message.error(data.msg);
  1551. }
  1552. });
  1553. }).catch(() => {
  1554. this.$message({
  1555. type: 'info',
  1556. message: '已取消操作'
  1557. })
  1558. })
  1559. },
  1560. submite() {
  1561. this.$refs["dataForm"].validate((valid) => {
  1562. if (valid) {
  1563. this.$confirm('此操作将取消该订单,是否继续?', '提示', {
  1564. confirmButtonText: '确定',
  1565. cancelButtonText: '取消',
  1566. type: 'warning'
  1567. }).then(() => {
  1568. this.$http.post("/module/order/cancelOrder", this.dataForm).then(({ data }) => {
  1569. if (data) {
  1570. setTimeout(() => {
  1571. this.cancelOrderVisible = false;
  1572. this.$message({
  1573. type: 'success',
  1574. message: '操作成功!'
  1575. });
  1576. this.handleQuery();
  1577. }, 1000)
  1578. } else {
  1579. this.$message.error(data.msg);
  1580. }
  1581. });
  1582. }).catch(() => {
  1583. this.$message({
  1584. type: 'info',
  1585. message: '已取消操作'
  1586. })
  1587. })
  1588. }
  1589. });
  1590. },
  1591. cancel() {
  1592. this.open = false;
  1593. this.reset();
  1594. },
  1595. // 表单重置
  1596. reset() {
  1597. this.form = {
  1598. id: undefined,
  1599. outTradeNo: undefined,
  1600. productId: undefined,
  1601. productName: undefined,
  1602. weight: undefined,
  1603. takeDate: undefined,
  1604. takeTime: undefined,
  1605. takeRemark: undefined,
  1606. paymentType: undefined,
  1607. totalAmount: undefined,
  1608. couponAmount: undefined,
  1609. payAmount: undefined,
  1610. couponId: undefined,
  1611. sendAddressId: undefined,
  1612. sendProvinceName: undefined,
  1613. sendCityName: undefined,
  1614. sendDistrictName: undefined,
  1615. sendAddress: undefined,
  1616. sendContactName: undefined,
  1617. sendPhone: undefined,
  1618. receiptAddressId: undefined,
  1619. receiptProvinceName: undefined,
  1620. receiptCityName: undefined,
  1621. receiptDistrictName: undefined,
  1622. receiptAddress: undefined,
  1623. receiptContactName: undefined,
  1624. receiptPhone: undefined,
  1625. deliveryType: undefined,
  1626. preDeliveryIds: undefined,
  1627. actualDeliveryId: undefined,
  1628. useTip: undefined,
  1629. tipAmount: undefined,
  1630. status: 0,
  1631. deliveryStatus: 0,
  1632. };
  1633. this.resetForm("form");
  1634. },
  1635. /** 搜索按钮操作 */
  1636. handleQuery() {
  1637. // console.log("createDate", this.createDate);
  1638. if (this.createDate !== null && this.createDate !== "") {
  1639. if (this.createDate[0] !== undefined) {
  1640. this.queryParams.createStartTime = this.createDate[0];
  1641. this.queryParams.createEndTime = this.createDate[1];
  1642. }
  1643. } else {
  1644. this.queryParams.createStartTime = "";
  1645. this.queryParams.createEndTime = "";
  1646. }
  1647. // console.log("createStartTime", this.queryParams.createStartTime);
  1648. // console.log("createEndTime", this.queryParams.createEndTime);
  1649. if (this.completeDate !== null && this.completeDate !== "") {
  1650. if (this.completeDate[0] !== undefined) {
  1651. this.queryParams.completeStartTime = this.completeDate[0];
  1652. this.queryParams.completeEndTime = this.completeDate[1];
  1653. }
  1654. } else {
  1655. this.queryParams.completeStartTime = "";
  1656. this.queryParams.completeEndTime = "";
  1657. }
  1658. if (this.deliveryDate !== null && this.deliveryDate !== "") {
  1659. if (this.deliveryDate[0] !== undefined) {
  1660. this.queryParams.deliveryStartTime = this.deliveryDate[0];
  1661. this.queryParams.deliveryEndTime = this.deliveryDate[1];
  1662. }
  1663. } else {
  1664. this.queryParams.deliveryStartTime = "";
  1665. this.queryParams.deliveryEndTime = "";
  1666. }
  1667. this.queryParams.sendProvinceName = this.sendStartArea.provinceName;
  1668. this.queryParams.sendCityName = this.sendStartArea.cityName;
  1669. this.queryParams.sendDistrictName = this.sendStartArea.districtName;
  1670. this.queryParams.receiptProvinceName = this.startArea.provinceName;
  1671. this.queryParams.receiptCityName = this.startArea.cityName;
  1672. this.queryParams.receiptDistrictName = this.startArea.districtName;
  1673. // console.log("startArea", this.startArea);
  1674. // console.log("sendStartArea", this.sendStartArea);
  1675. this.getStatusNum();
  1676. this.$refs.pagination.handleSearch(true);
  1677. },
  1678. /** 重置按钮操作 */
  1679. resetQuery() {
  1680. this.resetForm("queryForm");
  1681. this.startArea = {
  1682. province: "",
  1683. city: "",
  1684. district: "",
  1685. provinceName: "",
  1686. cityName: "",
  1687. districtName: "",
  1688. cityValues: [],
  1689. districtValues: [],
  1690. districtNames: [],
  1691. };
  1692. this.areaProp = {};
  1693. this.sendStartArea = {
  1694. province: "",
  1695. city: "",
  1696. district: "",
  1697. provinceName: "",
  1698. cityName: "",
  1699. districtName: "",
  1700. cityValues: [],
  1701. districtValues: [],
  1702. districtNames: [],
  1703. };
  1704. this.sendAreaProp = {};
  1705. this.handleQuery();
  1706. this.getStatusNum();
  1707. },
  1708. /** 导出按钮操作 */
  1709. handleExport() {
  1710. const queryParams = this.queryParams;
  1711. this.$confirm("是否确认导出配送订单数据?", "警告", {
  1712. confirmButtonText: "确定",
  1713. cancelButtonText: "取消",
  1714. type: "warning",
  1715. })
  1716. .then( () => {
  1717. this.msg = this.$message({
  1718. message: '正在导出,请稍等。。。',
  1719. duration: 0,
  1720. type: 'warning',
  1721. showClose: true
  1722. });
  1723. return exportOrder(queryParams);
  1724. })
  1725. .then((response) => {
  1726. setTimeout(() => {
  1727. this.msg.close()
  1728. this.msg = this.$message({
  1729. duration: 2000,
  1730. message: '导出成功!',
  1731. type: 'success'
  1732. }, 2000)
  1733. });
  1734. this.download(response.data);
  1735. })
  1736. .catch((err) => {
  1737. console.log(err)
  1738. });
  1739. },
  1740. },
  1741. };
  1742. </script>
  1743. <style lang="scss">
  1744. .clearFix:after{
  1745. content: "";
  1746. font-size: 0;
  1747. height: 0;
  1748. display: block;
  1749. clear: both;
  1750. }
  1751. .description p {
  1752. margin: 0;
  1753. padding-left: 10px;
  1754. }
  1755. i.sendLogo {
  1756. background: black;
  1757. color: white;
  1758. border-radius: 50%;
  1759. width: 25px;
  1760. height: 25px;
  1761. font-size: 15px;
  1762. display: flex;
  1763. justify-content: center;
  1764. align-items: center;
  1765. font-style: normal;
  1766. }
  1767. i.sendLogo::before {
  1768. content: "发";
  1769. }
  1770. i.receiptLogo {
  1771. background: black;
  1772. color: white;
  1773. border-radius: 50%;
  1774. width: 25px;
  1775. height: 25px;
  1776. font-size: 15px;
  1777. display: flex;
  1778. justify-content: center;
  1779. align-items: center;
  1780. font-style: normal;
  1781. }
  1782. i.receiptLogo::before {
  1783. content: "收";
  1784. }
  1785. .el-icon-info:before {
  1786. content: "";
  1787. }
  1788. .transition-box {
  1789. margin-bottom: 10px;
  1790. width: 100%;
  1791. height: 120px;
  1792. border-radius: 4px;
  1793. /* text-align: center; */
  1794. color: #fff;
  1795. /* padding: 40px 20px; */
  1796. box-sizing: border-box;
  1797. margin-right: 20px;
  1798. }
  1799. .border-line {
  1800. position: relative;
  1801. }
  1802. .border-line::before {
  1803. content: "";
  1804. position: absolute;
  1805. left: -10px;
  1806. height: 1px;
  1807. width: calc(100% + 20px);
  1808. background: #DFE4ED;
  1809. }
  1810. .update-css {
  1811. .el-table {
  1812. .el-table__header-wrapper {
  1813. display: none;
  1814. }
  1815. .el-table__body-wrapper {
  1816. .el-table__body {
  1817. > tbody {
  1818. display: flex;
  1819. flex-direction: column;
  1820. width: 100%;
  1821. > tr {
  1822. display: flex;
  1823. width: 100%;
  1824. &:nth-of-type(n + 2) {
  1825. margin-top: 20px;
  1826. }
  1827. &:last-of-type {
  1828. margin-bottom: 1px;
  1829. }
  1830. > td {
  1831. border: 1px solid #DFE4ED;
  1832. display: flex;
  1833. width: 100%;
  1834. .cell {
  1835. width: 100%;
  1836. }
  1837. }
  1838. }
  1839. }
  1840. }
  1841. }
  1842. }
  1843. }
  1844. .serial {
  1845. background-color: RGB(50,122,244);
  1846. border-radius: 50px 50px;
  1847. height: 25px;
  1848. width: 45px;
  1849. line-height: 25px;
  1850. text-align: center;
  1851. display: inline-block;
  1852. margin-right: 5px;
  1853. }
  1854. .serial_text {
  1855. color: #fff;
  1856. font-size: 14px;
  1857. letter-spacing: 2px;
  1858. }
  1859. </style>