|
@@ -1,129 +0,0 @@
|
|
|
-<template>
|
|
|
- <div id="card-1">
|
|
|
- <el-row>
|
|
|
- <!-- 自营订单待付款列表 -->
|
|
|
- <el-col :span="24" class="main" v-loading="loadings" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading">
|
|
|
- <el-col :span="24" class="one">
|
|
|
- <search-1 :form="searchForm" @onSubmit="toSearch" @querySearch="querySearch" @toReset="toClose" :shopList="shopList"> </search-1>
|
|
|
- </el-col>
|
|
|
- <data-table ref="dataTable" :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @detail="toDetail" @sales="toSales">
|
|
|
- </data-table>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
-</template>
|
|
|
-
|
|
|
-<script>
|
|
|
-const _ = require('lodash');
|
|
|
-import { mapState, createNamespacedHelpers } from 'vuex';
|
|
|
-const { mapActions } = createNamespacedHelpers('order');
|
|
|
-const { mapActions: shop } = createNamespacedHelpers('shop');
|
|
|
-export default {
|
|
|
- name: 'card-1',
|
|
|
- props: { statusList: { type: Array } },
|
|
|
- components: { search1: () => import('@/components/orderParts/search/search-2.vue') },
|
|
|
- data: function () {
|
|
|
- return {
|
|
|
- searchForm: {},
|
|
|
- list: [],
|
|
|
- total: 0,
|
|
|
- opera: [
|
|
|
- { label: '详情', method: 'detail' },
|
|
|
- { label: '售后', method: 'sales', type: 'danger' },
|
|
|
- ],
|
|
|
- fields: [
|
|
|
- { label: '订单号', model: 'no', showTip: false },
|
|
|
- { label: '下单时间', model: 'buy_time' },
|
|
|
- { label: '顾客', model: 'customer.name' },
|
|
|
- { label: '收货人', model: 'address', showTip: false, format: (i) => this.getAddress(i) },
|
|
|
- // { label: '店铺名称', model: 'goods', format: (i) => this.getShopName(i) },
|
|
|
- { label: '店铺名称', model: 'shop.name' },
|
|
|
- { label: '需支付金额', model: 'real_pay' },
|
|
|
- { label: '商品数量', model: 'buy_num_total' },
|
|
|
- ],
|
|
|
- shopList: [],
|
|
|
- skip: 0,
|
|
|
- loadings: true,
|
|
|
- // 查询条件
|
|
|
- searchQuery: {},
|
|
|
- };
|
|
|
- },
|
|
|
- async created() {
|
|
|
- await this.search();
|
|
|
- },
|
|
|
- methods: {
|
|
|
- ...shop({ shopQuery: 'query' }),
|
|
|
- ...mapActions(['query', 'fetch', 'create', 'update', 'delete']),
|
|
|
- toSearch() {
|
|
|
- this.$refs.dataTable.resetPage();
|
|
|
- let res = this.$refs.dataTable.getPageConfig();
|
|
|
- this.search(res);
|
|
|
- },
|
|
|
- // 查询
|
|
|
- async search({ skip = 0, limit = this.$limit, ...info } = {}) {
|
|
|
- let condition = _.cloneDeep(this.searchForm);
|
|
|
- if (condition.buy_time) {
|
|
|
- condition[`buy_time@start`] = _.head(condition.buy_time);
|
|
|
- condition[`buy_time@end`] = _.last(condition.buy_time);
|
|
|
- delete condition.buy_time;
|
|
|
- }
|
|
|
- info.status = '0';
|
|
|
- info.shop = this.user.shop.id;
|
|
|
- let query = { skip, limit, ...info };
|
|
|
- if (Object.keys(condition).length > 0) query = { ...query, ...condition };
|
|
|
- let res = await this.query(query);
|
|
|
- if (this.$checkRes(res)) {
|
|
|
- this.$set(this, 'list', res.data);
|
|
|
- this.$set(this, 'total', res.total);
|
|
|
- this.$set(this, `searchQuery`, query);
|
|
|
- }
|
|
|
- this.loadings = false;
|
|
|
- },
|
|
|
- getAddress(i) {
|
|
|
- let name = i.name + ',' + i.phone;
|
|
|
- return name;
|
|
|
- },
|
|
|
- // 店铺名称
|
|
|
- getShopName(i) {
|
|
|
- let shopname = i.map((e) => e.shop_name);
|
|
|
- return shopname.join(',');
|
|
|
- },
|
|
|
- // 详情
|
|
|
- toDetail({ data }) {
|
|
|
- this.$emit('toDetail', data._id);
|
|
|
- },
|
|
|
- toSales({ data }) {
|
|
|
- this.$emit('toSales', data._id);
|
|
|
- },
|
|
|
- // 重置
|
|
|
- toClose() {
|
|
|
- this.searchForm = {};
|
|
|
- this.search();
|
|
|
- },
|
|
|
- // 店铺名称远程查询
|
|
|
- async querySearch(value) {
|
|
|
- let res = await this.shopQuery({ name: value });
|
|
|
- if (this.$checkRes(res)) this.$set(this, 'shopList', res.data);
|
|
|
- },
|
|
|
- },
|
|
|
- computed: {
|
|
|
- ...mapState(['user']),
|
|
|
- },
|
|
|
- metaInfo() {
|
|
|
- return { title: this.$route.meta.title };
|
|
|
- },
|
|
|
- watch: {
|
|
|
- test: {
|
|
|
- deep: true,
|
|
|
- immediate: true,
|
|
|
- handler(val) {},
|
|
|
- },
|
|
|
- },
|
|
|
-};
|
|
|
-</script>
|
|
|
-
|
|
|
-<style lang="less" scoped>
|
|
|
-.one {
|
|
|
- margin: 0 0 10px 0;
|
|
|
-}
|
|
|
-</style>
|