index.vue 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. <template>
  2. <order-page ref="pageRef" :pageConfig="pageConfig">
  3. <template #toolbar>
  4. <el-button
  5. type="warning"
  6. plain
  7. v-permission="'recycleOrder:awaitDelivery:batchAudit'"
  8. @click="handleBatchAudit"
  9. >
  10. 批量初审
  11. </el-button>
  12. <el-button
  13. type="success"
  14. plain
  15. v-permission="'recycleOrder:awaitDelivery:batchReceive'"
  16. @click="handleBatchReceive()"
  17. >
  18. 批量确认收货
  19. </el-button>
  20. </template>
  21. <template #action="{ row }">
  22. <div>
  23. <el-button
  24. type="success"
  25. link
  26. v-permission="'recycleOrder:awaitDelivery:detail'"
  27. @click="toOrderDetail(row)"
  28. >
  29. [订单详情]
  30. </el-button>
  31. <el-button
  32. type="warning"
  33. link
  34. v-permission="'recycleOrder:awaitDelivery:log'"
  35. @click="openOrderLog(row)"
  36. >
  37. [订单日志]
  38. </el-button>
  39. <el-button
  40. type="danger"
  41. link
  42. v-permission="'recycleOrder:awaitDelivery:cancel'"
  43. @click="cancelOrder(row)"
  44. >
  45. [取消订单]
  46. </el-button>
  47. <el-button
  48. type="primary"
  49. link
  50. v-permission="'recycleOrder:awaitDelivery:fallback'"
  51. @click="fallbackOrder(row)"
  52. >
  53. [回退状态]
  54. </el-button>
  55. <el-button
  56. type="warning"
  57. link
  58. v-permission="'recycleOrder:awaitDelivery:userTag'"
  59. @click="openEditUserTag(row)"
  60. >
  61. [用户标签]
  62. </el-button>
  63. <el-button
  64. type="success"
  65. link
  66. v-permission="'recycleOrder:awaitDelivery:receive'"
  67. @click="handleBatchReceive(row)"
  68. >
  69. [确认收货]
  70. </el-button>
  71. <el-button
  72. type="danger"
  73. link
  74. v-permission="'recycleOrder:awaitDelivery:interception'"
  75. @click="applyForInterception(row)"
  76. >
  77. [申请拦截退回]
  78. </el-button>
  79. </div>
  80. </template>
  81. <order-log ref="orderLogRef" />
  82. <userBindTag ref="userTagRef" />
  83. </order-page>
  84. </template>
  85. <script setup>
  86. import { ref, reactive } from 'vue';
  87. import { ElMessageBox } from 'element-plus/es';
  88. import { EleMessage } from 'ele-admin-plus/es';
  89. import { DownloadOutlined } from '@/components/icons';
  90. import OrderPage from '@/views/recycleOrder/components/order-page.vue';
  91. import { useDictData } from '@/utils/use-dict-data';
  92. import { useRouter } from 'vue-router';
  93. //订单日志
  94. import orderLog from '@/views/recycleOrder/components/order-log.vue';
  95. //用户标签
  96. import userBindTag from '@/views/recycleOrder/components/user-bind-tag.vue';
  97. defineOptions({ name: 'recycleOrderawaitDelivery' });
  98. let router = useRouter();
  99. /** 页面组件实例 */
  100. const pageRef = ref(null);
  101. const pageConfig = reactive({
  102. pageUrl: '',
  103. exportUrl: '',
  104. fileName: '待签收订单',
  105. cacheKey: 'awaitDeliveryTable'
  106. });
  107. //批量初审
  108. function handleBatchAudit() {
  109. pageRef.value?.operatBatch({
  110. title: '确认批量审核?',
  111. url: '/recycleOrder/batchAudit'
  112. });
  113. }
  114. //批量取消订单
  115. function handleBatchReceive(row) {
  116. pageRef.value?.operatBatch({
  117. title: '确认收货?',
  118. row,
  119. url: '/recycleOrder/batchAudit'
  120. });
  121. }
  122. //订单详情
  123. function toOrderDetail(row) {
  124. router.push({ path: '/recycleOrder/detail', query: { id: row.postId } });
  125. }
  126. //订单日志
  127. const orderLogRef = ref(null);
  128. function openOrderLog(row) {
  129. console.log(row, orderLogRef.value, 'row');
  130. orderLogRef.value?.handleOpen(row);
  131. }
  132. //用户绑定标签
  133. const userTagRef = ref(null);
  134. function openEditUserTag(row) {
  135. userTagRef.value?.handleOpen(row);
  136. }
  137. function messageBoxConfirm({ message, url, row }) {
  138. ElMessageBox.confirm(message, '提示', {
  139. confirmButtonText: '确定',
  140. cancelButtonText: '关闭',
  141. type: 'warning'
  142. }).then(() => {
  143. console.log(row, 'row');
  144. });
  145. }
  146. //取消订单
  147. function cancelOrder(row) {
  148. messageBoxConfirm({ message: '确认取消?', url: '', row });
  149. }
  150. //回退状态
  151. function fallbackOrder(row) {
  152. messageBoxConfirm({ message: '确认回退状态?', url: '', row });
  153. }
  154. //确认收货
  155. function materialPickup(row) {
  156. messageBoxConfirm({ message: '确认收货?', url: '', row });
  157. }
  158. //申请拦截退回
  159. function applyForInterception(row) {
  160. messageBoxConfirm({ message: '确认申请拦截退回?', url: '', row });
  161. }
  162. </script>