paycents-list.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325
  1. <template>
  2. <div class="app-container">
  3. <div class="filter-container">
  4. <div class="filter-control">
  5. <span>子订单ID:</span>
  6. <el-input v-model="listQuery.orderID" style="width:130px;" placeholder="子订单ID" clearable @keyup.enter.native="getList" @clear="getList" />
  7. </div>
  8. <div class="filter-control">
  9. <span>子订单编号:</span>
  10. <el-input v-model="listQuery.orderID" style="width:200px;" placeholder="子订单编号" clearable @keyup.enter.native="getList" @clear="getList" />
  11. </div>
  12. <div class="filter-control">
  13. <span>订单ID:</span>
  14. <el-input v-model="listQuery.orderID" style="width:130px;" placeholder="订单ID" clearable @keyup.enter.native="getList" @clear="getList" />
  15. </div>
  16. <div class="filter-control">
  17. <span>订单编号:</span>
  18. <el-input v-model="listQuery.orderNumber" style="width:200px;" placeholder="订单编号" clearable @keyup.enter.native="getList" @clear="getList" />
  19. </div>
  20. <div class="filter-control">
  21. <span>供应商:</span>
  22. <el-input v-model="listQuery.customer" style="width:200px;" placeholder="供应商" clearable @keyup.enter.native="getList" @clear="getList" />
  23. </div>
  24. <div class="filter-control">
  25. <span>机构名称:</span>
  26. <el-input v-model="listQuery.customer" style="width:200px;" placeholder="机构名称" clearable @keyup.enter.native="getList" @clear="getList" />
  27. </div>
  28. <div class="filter-control">
  29. <span>下单时间:</span>
  30. <el-date-picker
  31. v-model="time"
  32. type="daterange"
  33. unlink-panels
  34. range-separator="至"
  35. start-placeholder="开始日期"
  36. end-placeholder="结束日期"
  37. :picker-options="pickerOptions"
  38. @change="getList"
  39. />
  40. </div>
  41. <div class="filter-control">
  42. <el-button type="primary" icon="el-icon-search" @click="getList">查询</el-button>
  43. <el-button type="success" icon="el-icon-document-add" @click="getList">申请分账</el-button>
  44. </div>
  45. </div>
  46. <p style="margin: 0;line-height: 24px;font-size: 14px;color: #F56C6C;">注:每次选择一个子订单申请分账,系统将自动分配佣金。付供应商的金额依然还在合利宝账户,需要再进行手动结算。</p>
  47. <el-table
  48. v-loading="listLoading"
  49. :data="list"
  50. element-loading-text="Loading"
  51. border
  52. fit
  53. highlight-current-row
  54. :header-cell-style="{background:'#eef1f6',color:'#606266'}"
  55. @selection-change="handleSelectionChange"
  56. >
  57. <el-table-column type="selection" width="40" />
  58. <el-table-column label="商品信息" type="expand" width="50">
  59. <template slot-scope="{row}">
  60. <el-table :data="row.products" border fit highlight-current-row :header-cell-style="{background:'#eef1f6',color:'#606266'}">
  61. <el-table-column label="商品名" align="center" prop="productName" />
  62. <el-table-column label="规格" align="center" prop="unit" />
  63. <el-table-column label="数量" align="center" prop="num" />
  64. <el-table-column label="退货" align="center" prop="returnNum" />
  65. <el-table-column label="单价" align="center" prop="price" />
  66. <el-table-column label="总价" align="center" prop="totalPrice" />
  67. </el-table>
  68. </template>
  69. </el-table-column>
  70. <el-table-column label="订单编号(ID)" align="center" prop="orderNo" width="240">
  71. <template slot-scope="{row}">
  72. <span>{{ row.orderNo }}({{ row.orderId }})</span>
  73. </template>
  74. </el-table-column>
  75. <el-table-column label="子订单编号(ID)" align="center" prop="shopOrderNo" width="240">
  76. <template slot-scope="{row}">
  77. <span>{{ row.shopOrderNo }}({{ row.shopOrderId }})</span>
  78. </template>
  79. </el-table-column>
  80. <el-table-column label="下单时间" align="center" prop="verifyTime" width="90" />
  81. <el-table-column label="订单金额" align="center" prop="payableAmount" />
  82. <el-table-column label="收款金额" align="center" prop="payableAmount" />
  83. <el-table-column label="商品费" align="center" prop="verifyMan" />
  84. <el-table-column label="机构" align="center" prop="clubName" />
  85. <el-table-column label="机构运费" align="center" prop="clubName" />
  86. <el-table-column label="供应商" align="center" prop="shopName" />
  87. <el-table-column label="供应商运费" align="center" prop="verifyMan" />
  88. <el-table-column label="付供应商" align="center" prop="payableAmount" />
  89. <el-table-column prop="status" label="收款状态" align="center">
  90. <template slot-scope="{ row }">
  91. <span
  92. :class="{
  93. 'el-span-warning': row.status == 0,
  94. 'el-span-success': row.status == 1,
  95. 'el-span-danger': row.status == 0
  96. }"
  97. >
  98. {{ row.status | statusFilter }}
  99. <span v-if="row.status === 2" class="el-span-danger">原因:{{ row.statusText }}</span>
  100. </span>
  101. </template>
  102. </el-table-column>
  103. <el-table-column prop="status" label="结算状态" align="center">
  104. <template slot-scope="{ row }">
  105. <span
  106. :class="{
  107. 'el-span-warning': row.status == 0,
  108. 'el-span-success': row.status == 1,
  109. 'el-span-danger': row.status == 2
  110. }"
  111. >
  112. {{ row.status | statusFilter }}
  113. <span v-if="row.status === 2" class="el-span-danger">原因:{{ row.statusText }}</span>
  114. </span>
  115. </template>
  116. </el-table-column>
  117. </el-table>
  118. <pagination v-show="total>20" :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="fetchData" />
  119. </div>
  120. </template>
  121. <script>
  122. import { getClubList } from '@/api/club'
  123. import Pagination from '@/components/Pagination'
  124. import pickerOptions from '@/utils/time-picker.js'
  125. export default {
  126. components: { Pagination },
  127. filters: {
  128. statusFilter(status) {
  129. const map = {
  130. 0: '待付款',
  131. 1: '已付款',
  132. 2: '审核不通过'
  133. }
  134. return map[status]
  135. }
  136. },
  137. data() {
  138. return {
  139. list: null,
  140. pickerOptions,
  141. listLoading: true,
  142. searchTimeVal: '',
  143. total: 0,
  144. listQuery: {
  145. page: 1,
  146. limit: 10,
  147. importance: undefined,
  148. title: undefined,
  149. type: undefined,
  150. sort: '+id'
  151. },
  152. search: {
  153. },
  154. form: {
  155. classifyName: '',
  156. telephone: '',
  157. contacts: '',
  158. businessNum: '',
  159. address: '',
  160. radio: 1,
  161. status: '请选择',
  162. imageUrl: '',
  163. doorwayImageUrl: ''
  164. },
  165. addPeople: {
  166. classifyName: '',
  167. telephone: ''
  168. },
  169. updateTatusId: '',
  170. updateTatusType: '',
  171. dialogVisible: false,
  172. dialogVisibleText: '',
  173. dialogFormVisible: false,
  174. dialogStatus: '',
  175. textMap: {
  176. update: '添加运营人员',
  177. create: 'Create',
  178. titleText: '系统提示'
  179. },
  180. rules: {
  181. classifyName: [{ required: true, message: '姓名不能为空', trigger: 'blur' }],
  182. telephone: [{ required: true, message: '手机号码不能为空', trigger: 'blur' }]
  183. }
  184. }
  185. },
  186. created() {
  187. this.getList()
  188. },
  189. methods: {
  190. getList() {
  191. this.listLoading = true
  192. getClubList().then(response => {
  193. this.list = response.data.items
  194. this.listLoading = false
  195. }).catch(() => {
  196. // 封装静态数据
  197. this.list = [
  198. {
  199. id: 7580,
  200. name: '微博',
  201. type: '子订单付款',
  202. shopName: '采美信息技术有限公司',
  203. payableAmount: '2000000.00',
  204. shopOrderNo: 'P1682650952091471001',
  205. shopOrderId: '19747',
  206. orderNo: 'P16265095220221471',
  207. orderId: '18179',
  208. clubName: '广州白云区松洲蒂亚美容院',
  209. applyMan: '路海珠',
  210. applyTime: '2020-01-01:20:30:56',
  211. verifyMan: '李昕',
  212. verifyTime: '2020-01-01:20:30:56',
  213. status: 0,
  214. totalProduct: '3000.00',
  215. payShopTotal: '3000.00',
  216. products: [
  217. {
  218. productName: '阶雪山之恋保滋润面霜吖',
  219. unit: '50ml',
  220. num: 3,
  221. returnNum: 0,
  222. price: '2000.00',
  223. totalPrice: '6000.00',
  224. costPrice: '1000.00',
  225. totalCostPrice: '3000.00'
  226. },
  227. {
  228. productName: '阶雪山之恋保滋润面霜吖',
  229. unit: '50ml',
  230. num: 3,
  231. returnNum: 0,
  232. price: '2000.00',
  233. totalPrice: '6000.00',
  234. costPrice: '1000.00',
  235. totalCostPrice: '3000.00'
  236. },
  237. {
  238. productName: '阶雪山之恋保滋润面霜吖',
  239. unit: '50ml',
  240. num: 3,
  241. returnNum: 0,
  242. price: '2000.00',
  243. totalPrice: '6000.00',
  244. costPrice: '1000.00',
  245. totalCostPrice: '3000.00'
  246. },
  247. {
  248. productName: '阶雪山之恋保滋润面霜吖',
  249. unit: '50ml',
  250. num: 3,
  251. returnNum: 0,
  252. price: '2000.00',
  253. totalPrice: '6000.00',
  254. costPrice: '1000.00',
  255. totalCostPrice: '3000.00'
  256. }
  257. ]
  258. },
  259. {
  260. id: 7580,
  261. name: '微博',
  262. type: '子订单付款',
  263. shopName: '采美信息技术有限公司',
  264. payableAmount: '2000000.00',
  265. shopOrderNo: 'P1682650952091471001',
  266. shopOrderId: '19747',
  267. orderNo: 'P16265095220221471',
  268. orderId: '18179',
  269. clubName: '广州白云区松洲蒂亚美容院',
  270. applyMan: '路海珠',
  271. applyTime: '2020-01-01:20:30:56',
  272. verifyMan: '李昕',
  273. verifyTime: '2020-01-01:20:30:56',
  274. status: 0,
  275. totalProduct: '3000.00',
  276. payShopTotal: '3000.00',
  277. products: [
  278. {
  279. productName: '阶雪山之恋保滋润面霜吖',
  280. unit: '50ml',
  281. num: 3,
  282. returnNum: 0,
  283. price: '2000.00',
  284. totalPrice: '6000.00',
  285. costPrice: '1000.00',
  286. totalCostPrice: '3000.00'
  287. },
  288. {
  289. productName: '阶雪山之恋保滋润面霜吖',
  290. unit: '50ml',
  291. num: 3,
  292. returnNum: 0,
  293. price: '2000.00',
  294. totalPrice: '6000.00',
  295. costPrice: '1000.00',
  296. totalCostPrice: '3000.00'
  297. }
  298. ]
  299. }
  300. ]
  301. })
  302. this.listLoading = false
  303. },
  304. onSubmit() {
  305. console.log('search')
  306. }
  307. }
  308. }
  309. </script>
  310. <style scoped>
  311. .el-span-warning{
  312. color: #E6A23C;
  313. }
  314. .el-span-success{
  315. color: #67C23A;
  316. }
  317. .el-span-danger{
  318. color: #F56C6C;
  319. }
  320. </style>