order-book-list.vue 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. <template>
  2. <SimpleTable :columns="columns" border>
  3. <template #baseInfo="{ row }">
  4. <div class="base-info flex justify-between">
  5. <div class="base-info-left flex flex-1">
  6. <el-image
  7. style="width: 80px; height: 100px"
  8. fit="cover"
  9. src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
  10. />
  11. <div class="base-info-left-con flex flex-col items-start ml-3">
  12. <div><el-text type="primary">作物栽培</el-text></div>
  13. <div><el-text>ISBN:9787109261839</el-text></div>
  14. <div class="base-info-btns flex">
  15. <el-button
  16. size="small"
  17. color="#4f4f4f"
  18. @click="handleBlackList(row)"
  19. >加入黑名单</el-button
  20. >
  21. <el-button
  22. size="small"
  23. type="success"
  24. @click="handleAddBookList(row)"
  25. >加入回收书单</el-button
  26. >
  27. <el-button
  28. size="small"
  29. type="warning"
  30. @click="handleSpecifiedDiscount(row)"
  31. >指定回收折扣</el-button
  32. >
  33. <el-button
  34. size="small"
  35. color="#7728f5"
  36. @click="handleModifyDiscount(row)"
  37. >修改回收折扣</el-button
  38. >
  39. </div>
  40. <div
  41. ><el-text type="danger"
  42. >(已回收数量:200当前库存:75)</el-text
  43. ></div
  44. >
  45. </div>
  46. </div>
  47. <div class="base-info-right w-36 shrink-0">
  48. <div class="common-text flex">
  49. <el-text>定  价:</el-text>
  50. <el-text>¥ 46</el-text>
  51. </div>
  52. <div class="common-text flex">
  53. <el-text>回收折扣:</el-text>
  54. <el-text>¥ 0.35折</el-text>
  55. </div>
  56. <div class="common-text flex">
  57. <el-text>预估金额:</el-text>
  58. <el-text>¥ 1.61</el-text>
  59. </div>
  60. <div class="common-text flex">
  61. <el-text>销售价格:</el-text>
  62. <el-text>¥ 10.1</el-text>
  63. </div>
  64. </div>
  65. </div>
  66. </template>
  67. <template #action="{ row }">
  68. <div class="action-btns">
  69. <el-button class="mb-10" color="#4f4f4f" @click="">审核图片</el-button>
  70. <el-button
  71. class="mb-10"
  72. color="#a4adb3"
  73. @click="handleViewUrl(row, 'dd')"
  74. >查看当当</el-button
  75. >
  76. <el-button class="mb-10" color="#e99d42" @click="handleRecycleLog(row)"
  77. >回收日志</el-button
  78. >
  79. <el-button
  80. class="mb-10"
  81. color="#f27606"
  82. @click="handleViewUrl(row, 'tb')"
  83. >查看淘宝</el-button
  84. >
  85. <el-button color="#0f7dc7" @click="handleSalesLog(row)">售价日志</el-button>
  86. <el-button color="#399420" @click="handleViewUrl(row, 'db')"
  87. >查看豆瓣</el-button
  88. >
  89. </div>
  90. </template>
  91. <template #auditInfo="{ row }">
  92. <div class="audit-info flex justify-center">
  93. <el-radio-group v-model="row.auditInfo" style="width: 120px">
  94. <el-radio :value="1">品相良好</el-radio>
  95. <el-radio :value="2">品相一般</el-radio>
  96. <el-radio :value="3">品相极差</el-radio>
  97. </el-radio-group>
  98. <el-input
  99. v-model="row.textarea"
  100. style="width: 170px"
  101. :rows="4"
  102. type="textarea"
  103. placeholder="请输入品相极差的原因"
  104. />
  105. </div>
  106. </template>
  107. </SimpleTable>
  108. <orderSpecifiedDiscount ref="specifiedRef" />
  109. <orderModifyDiscount ref="modifyRef" />
  110. <orderBlacklist ref="blacklistRef" />
  111. <orderRecycleLog ref="recycleLogRef" />
  112. <orderSalesLog ref="salesLogRef" />
  113. </template>
  114. <script setup>
  115. import { ref, reactive } from 'vue';
  116. import SimpleTable from '@/components/CommonPage/SimpleTable.vue';
  117. import orderSpecifiedDiscount from '@/views/recycleOrder/detail/order-specified-discount.vue';
  118. import orderModifyDiscount from '@/views/recycleOrder/detail/order-modify-discount.vue';
  119. import orderBlacklist from '@/views/recycleOrder/detail/order-blacklist.vue';
  120. import orderRecycleLog from '@/views/recycleOrder/detail/order-recycle-log.vue';
  121. import orderSalesLog from '@/views/recycleOrder/detail/order-sales-log.vue';
  122. const columns = ref([
  123. {
  124. type: 'index',
  125. columnKey: 'index',
  126. width: 60,
  127. align: 'center'
  128. },
  129. {
  130. label: '信息',
  131. prop: 'baseInfo',
  132. slot: 'baseInfo',
  133. minWidth: 650,
  134. align: 'center'
  135. },
  136. {
  137. label: '操作',
  138. prop: 'action',
  139. slot: 'action',
  140. width: 220,
  141. align: 'center'
  142. },
  143. { label: '数量', prop: 'number', minWidth: 90, align: 'center' },
  144. {
  145. label: '审核信息',
  146. prop: 'auditInfo',
  147. slot: 'auditInfo',
  148. align: 'center',
  149. minWidth: 317
  150. },
  151. {
  152. label: '审核金额',
  153. prop: 'reviewedPayment',
  154. align: 'center',
  155. minWidth: 120
  156. }
  157. ]);
  158. //查看当当、淘宝、豆瓣链接
  159. const handleViewUrl = (row, type) => {
  160. let url = '';
  161. if (type == 'dd') {
  162. url = 'https://search.dangdang.com/?key=9787310027446&act=input';
  163. } else if (type == 'tb') {
  164. url =
  165. 'https://s.taobao.com/search?page=1&q=9787310027446&sort=sale-desc&tab=all';
  166. } else if (type == 'db') {
  167. url =
  168. 'https://search.douban.com/book/subject_search?search_text=9787310027446';
  169. }
  170. window.open(url, '_blank');
  171. };
  172. //加入回收书单
  173. const handleAddBookList = (row) => {
  174. ElMessageBox.confirm('确认加入回收书单?', '提示', {
  175. confirmButtonText: '确定',
  176. cancelButtonText: '关闭',
  177. type: 'warning'
  178. }).then(() => {
  179. console.log(row, 'row');
  180. });
  181. };
  182. //修改回收折扣
  183. const modifyRef = ref();
  184. const handleModifyDiscount = (row) => {
  185. modifyRef.value?.handleOpen(row);
  186. };
  187. //指定回收折扣
  188. const specifiedRef = ref();
  189. const handleSpecifiedDiscount = (row) => {
  190. specifiedRef.value?.handleOpen(row);
  191. };
  192. //加入黑名单
  193. const blacklistRef = ref();
  194. const handleBlackList = (row) => {
  195. blacklistRef.value?.handleOpen(row);
  196. };
  197. //查看回收日志
  198. const recycleLogRef = ref();
  199. const handleRecycleLog = (row) => {
  200. recycleLogRef.value?.handleOpen(row);
  201. };
  202. //查看售价日志
  203. const salesLogRef = ref();
  204. const handleSalesLog = (row) => {
  205. salesLogRef.value?.handleOpen(row);
  206. };
  207. </script>
  208. <style lang="scss">
  209. .mb-10 {
  210. margin-bottom: 7px;
  211. }
  212. </style>