浏览代码

修改售后组件

YY 2 年之前
父节点
当前提交
057adfd529

src/views/platmanag/sales/detail.vue → src/components/salesParts/detail.vue


src/views/platmanag/sales/parts/search-1.vue → src/components/salesParts/parts/search-1.vue


src/views/platmanag/sales/parts/steps-1.vue → src/components/salesParts/parts/steps-1.vue


src/views/platmanag/sales/parts/steps-2.vue → src/components/salesParts/parts/steps-2.vue


src/views/platmanag/sales/parts/steps-3.vue → src/components/salesParts/parts/steps-3.vue


src/views/platmanag/sales/parts/steps-4.vue → src/components/salesParts/parts/steps-4.vue


src/views/platmanag/sales/parts/steps-5.vue → src/components/salesParts/parts/steps-5.vue


+ 4 - 1
src/views/platmanag/sales/index.vue

@@ -31,7 +31,10 @@ const { mapActions: dictData } = createNamespacedHelpers('dictData');
 export default {
   name: 'card-1',
   props: {},
-  components: { search1: () => import('./parts/search-1.vue'), detail: () => import('./detail.vue') },
+  components: {
+    search1: () => import('@/components/salesParts/parts/search-1.vue'),
+    detail: () => import('@/components/salesParts/detail.vue'),
+  },
   data: function () {
     const that = this;
     return {

+ 0 - 439
src/views/selfShop/sales/detail.vue

@@ -1,439 +0,0 @@
-<template>
-  <div id="form-1">
-    <el-row>
-      <el-col
-        :span="24"
-        class="main animate__animated animate__backInRight"
-        v-loading="loading"
-        element-loading-text="拼命加载中"
-        element-loading-spinner="el-icon-loading"
-      >
-        <el-col class="top-btn">
-          <el-button type="primary" size="mini" @click="toBack()">返回</el-button>
-        </el-col>
-        <el-col :span="8" class="one">
-          <el-col :span="24" class="shop"> <i class="el-icon-s-shop"></i>{{ shop.name }}</el-col>
-          <el-col v-if="info.type == '1' || info.type == '2' || info.type == '3'">
-            <el-col :span="24" class="goods">
-              <el-col :span="6"><el-image :src="file"></el-image></el-col>
-              <el-col :span="18">
-                <el-col :span="12">
-                  <p>{{ goods.name }}</p>
-                  <p>规格:{{ good.name }}</p>
-                </el-col>
-                <el-col :span="12" class="money">
-                  <p>¥{{ good.sell_money }}</p>
-                  <p>X{{ good.buy_num }}</p>
-                </el-col>
-              </el-col>
-            </el-col>
-          </el-col>
-          <el-col v-if="info.type == '4' || info.type == '5'">
-            <el-col :span="24" v-for="(item, index) in list" :key="index">
-              <el-col :span="24" class="goods bode">
-                <el-col :span="6" v-if="item.goods.file"><el-image :src="item.goods.file[0].url"></el-image></el-col>
-                <el-col :span="6" v-else-if="item.url"><el-image :src="item.url"></el-image></el-col>
-                <el-col :span="18">
-                  <el-col :span="12">
-                    <el-col>
-                      <p>{{ item.goods.name }}</p>
-                    </el-col>
-                    <el-col>
-                      <p>规格:{{ item.name }}</p>
-                    </el-col>
-                  </el-col>
-                  <el-col :span="12" class="money">
-                    <el-col>
-                      <p>¥{{ item.sell_money }}</p>
-                    </el-col>
-                    <el-col>
-                      <p>X{{ item.buy_num }}</p>
-                    </el-col>
-                  </el-col>
-                </el-col>
-              </el-col>
-              <el-col :span="24" class="bode">
-                <el-col :span="6">运费</el-col>
-                <el-col :span="18" class="other" v-if="!item.goods.freight == '0'">{{ item.goods.freight }}</el-col>
-                <el-col :span="18" class="other" v-else>包邮</el-col>
-              </el-col>
-            </el-col>
-          </el-col>
-          <el-col :span="24">
-            <el-col :span="6">申请时间</el-col>
-            <el-col :span="18" class="other">{{ info.apply_time }}</el-col>
-          </el-col>
-          <el-col :span="24">
-            <el-col :span="6">结束时间</el-col>
-            <el-col :span="18" class="other">{{ info.end_time || '暂无' }}</el-col>
-          </el-col>
-          <el-col :span="24">
-            <el-col :span="6">售后类型</el-col>
-            <el-col :span="18" class="other">{{ info.zhType }}</el-col>
-          </el-col>
-          <el-col :span="24" v-if="info.type == '1' || info.type == '2' || info.type == '4' || info.type == '5'">
-            <el-col :span="6">退款金额</el-col>
-            <el-col :span="18" class="other">{{ info.money || '' }}</el-col>
-          </el-col>
-          <el-col :span="24">
-            <el-col :span="6">售后状态</el-col>
-            <el-col :span="18" class="other">{{ info.zhStatus }}</el-col>
-          </el-col>
-          <el-col :span="24" v-if="info.type == '2' || info.type == '3'">
-            <el-col :span="6">退回运单号</el-col>
-            <el-col :span="18" class="other">{{ transport.customer_transport_no || '暂无单号' }}</el-col>
-          </el-col>
-          <el-col :span="24" v-if="info.type == '3'">
-            <el-col :span="6">寄出运单号</el-col>
-            <el-col :span="18" class="other">{{ transport.shop_transport_no || '暂无单号' }}</el-col>
-          </el-col>
-          <el-col :span="24" v-if="info.type == '1' || info.type == '2' || info.type == '3'">
-            <el-col :span="6">售后描述</el-col>
-            <el-col :span="18" class="other">{{ info.desc }}</el-col>
-          </el-col>
-        </el-col>
-        <el-col :span="12" class="two">
-          <steps-1 v-if="info.type == '1'" @exam="exam" :active="active" :form="form" :info="info"></steps-1>
-          <steps-2
-            v-if="info.type == '2'"
-            @exam="exam"
-            @exam_one="exam_one"
-            :active="active"
-            :customer="customer"
-            :activit="activit"
-            :form="form"
-            :info="info"
-            :customerForm="customerForm"
-            :shop_transport_typeList="shop_transport_typeList"
-            @querySearch="querySearch"
-            @customerSubmit="customerSubmit"
-          ></steps-2>
-          <steps-3
-            v-if="info.type == '3'"
-            @exam="exam"
-            :active="active"
-            @onSubmit="onSubmit"
-            :form="form"
-            :shop_transport_typeList="shop_transport_typeList"
-            :activit="activit"
-            @querySearch="querySearch"
-            :customer="customer"
-            :shopList="shopList"
-            :transport="transport"
-            :customerForm="customerForm"
-            @customerSubmit="customerSubmit"
-          ></steps-3>
-          <steps-4 v-if="info.type == '4'" @exam="exam" :active="active"></steps-4>
-          <steps-5 v-if="info.type == '5'" @exam="exam" :active="active"></steps-5>
-        </el-col>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script>
-const _ = require('lodash');
-const moment = require('moment');
-import { mapState, mapGetters, createNamespacedHelpers } from 'vuex';
-const { mapActions } = createNamespacedHelpers('afterSale');
-const { mapActions: dictData } = createNamespacedHelpers('dictData');
-const { mapActions: sot } = createNamespacedHelpers('sot');
-const { mapActions: getTransportInfo } = createNamespacedHelpers('getTransportInfo');
-
-export default {
-  name: 'form-1',
-  props: { id: { type: String } },
-  components: {
-    steps1: () => import('./parts/steps-1.vue'),
-    steps2: () => import('./parts/steps-2.vue'),
-    steps3: () => import('./parts/steps-3.vue'),
-    steps4: () => import('./parts/steps-4.vue'),
-    steps5: () => import('./parts/steps-5.vue'),
-  },
-  data: function () {
-    return {
-      // 商品
-      shop: {},
-      // 状态4,5商品
-      list: [],
-      // 图片
-      file: '',
-      // 商品
-      goods: {},
-      // 规格
-      good: {},
-      transport: {},
-      typeList: [],
-      statusList: [],
-      status: [],
-      form: {},
-      info: {},
-      // 物流
-      shop_transport_typeList: [],
-      customer: [],
-      shopList: [],
-      activit: {},
-      active: 1,
-      loading: true,
-      // 买家快递信息
-      customerForm: {},
-    };
-  },
-  async created() {
-    await this.searchOther();
-    await this.search();
-  },
-  methods: {
-    ...sot({ sotFetch: 'fetch' }),
-    ...dictData({ dictQuery: 'query' }),
-    ...getTransportInfo({ getFetch: 'fetch' }),
-    ...mapActions(['fetch', 'create', 'update']),
-    // 查询
-    async search() {
-      let res = await this.fetch(this.id);
-      if (this.$checkRes(res)) {
-        let type = this.typeList.find((i) => i.value == res.data.type);
-        if (type) res.data.zhType = type.label;
-        let status = this.statusList.find((i) => i.value == res.data.status);
-        if (status) res.data.zhStatus = status.label;
-        this.$set(this, `info`, res.data);
-        this.$set(this, `shop`, res.data.shop);
-        if (res.data.type == '4' || res.data.type == '5') this.$set(this, `list`, res.data.order_detail.goods); // 商品
-        else if (res.data.type == '1' || res.data.type == '2' || res.data.type == '3') {
-          if (res.data.transport) this.$set(this, `transport`, res.data.transport);
-          // 图片
-          if (res.data.goods.goods.file) this.$set(this, `file`, res.data.goods.goods.file[0].url);
-          else this.$set(this, `file`, res.data.goods.url);
-          // 商品
-          this.$set(this, `goods`, res.data.goods.goods);
-          // 规格
-          this.$set(this, `good`, res.data.goods);
-        }
-        // 仅退款
-        if (res.data.status == '-1') this.$set(this, `active`, 3);
-        else if (res.data.status == '!1') this.$set(this, `active`, 4);
-        // 退货
-        else if (res.data.status == '2') this.$set(this, `active`, 2);
-        else if (res.data.status == '-2') this.$set(this, `active`, 4);
-        else if (res.data.status == '!2') this.$set(this, `active`, 5);
-        // 换货
-        else if (res.data.status == '3') this.$set(this, `active`, 2);
-        else if (res.data.status == '-3') this.$set(this, `active`, 6);
-        else if (res.data.status == '!3') this.$set(this, `active`, 7);
-        // 取消订单
-        else if (res.data.status == '-4') this.$set(this, `active`, 3);
-        else if (res.data.status == '!4') this.$set(this, `active`, 4);
-        // 拒收
-        else if (res.data.status == '5') this.$set(this, `active`, 3);
-        else if (res.data.status == '!5') this.$set(this, `active`, 5);
-        else if (res.data.status == '-5') this.$set(this, `active`, 4);
-        // 查询物流
-        if (res.data.transport) this.toLog(res.data.transport);
-        this.loading = false;
-      }
-    },
-    async toLog(e) {
-      // 快递数据回显
-      if (e.customer_transport_type) {
-        let arr = await this.dictQuery({ code: 'transport_company', value: e.customer_transport_type });
-        if (this.$checkRes(arr)) {
-          let type = arr.data.find((i) => i.value == e.customer_transport_type);
-          if (type) {
-            e.customer_transport_name = type.label;
-            this.querySearch(type.label);
-          }
-          this.$set(this, `transport`, e);
-          this.$set(this.customerForm, `customer_transport_type`, this.transport.customer_transport_type);
-          this.$set(this.customerForm, `customer_transport_no`, this.transport.customer_transport_no);
-        }
-      }
-      if (e.shop_transport_type) {
-        let aee = await this.dictQuery({ code: 'transport_company', value: e.shop_transport_type });
-        if (this.$checkRes(aee)) {
-          let type = aee.data.find((i) => i.value == e.shop_transport_type);
-          if (type) {
-            e.shop_transport_name = type.label;
-            this.querySearch(type.label);
-          }
-          this.$set(this, `transport`, e);
-          this.$set(this.form, `shop_transport_type`, this.transport.shop_transport_type);
-          this.$set(this.form, `shop_transport_no`, this.transport.shop_transport_no);
-        }
-      }
-      // 显示物流
-      let res = await this.getFetch(this.id);
-      if (this.$checkRes(res)) {
-        if (res.errcode == '0') {
-          if (res.data.customer) {
-            let customer = res.data.customer.list;
-            this.$set(this, `customer`, customer);
-            customer[0].color = '#0bbd87';
-            if (res.data.customer.is_check == '已签收' && this.info.status == '3') this.$set(this, `active`, 3);
-            if (res.data.customer.is_check == '已签收' && this.info.status == '2') this.$set(this, `active`, 3);
-          }
-          if (res.data.shop) {
-            if (this.info.status == '3') this.$set(this, `active`, 4);
-            let shopList = res.data.shop.list;
-            this.$set(this, `shopList`, shopList);
-            shopList[0].color = '#0bbd87';
-            if (res.data.shop.is_check == '已签收' && this.info.status == '3') this.$set(this, `active`, 5);
-          }
-          this.$set(this, `activit`, res.data);
-        }
-      }
-    },
-    // 审核
-    async exam(status, form) {
-      let info = this.info;
-      info.status = status;
-      if (status == '-2' && info.transport) info.transport.shop_receive = true;
-      else if (status == '-2' && !info.transport) {
-        let transport = {};
-        transport.shop_receive = true;
-        info.transport = transport;
-      }
-      if (status == '-3' && info.transport) info.transport.customer_receive = true;
-      else if (status == '-3' && !info.transport) {
-        let transport = {};
-        transport.customer_receive = true;
-        info.transport = transport;
-      }
-      if (form != undefined && form.money != undefined && (status == '2' || status == '1')) info.money = form.money;
-      let res;
-      this.$confirm('是否确认修改售后状态', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning',
-      }).then(async () => {
-        if (info.id) res = await this.update(info);
-        if (this.$checkRes(res)) {
-          this.$message({ type: `success`, message: `维护信息成功` });
-          this.search();
-        }
-      });
-    },
-    async exam_one(status) {
-      let info = this.info;
-      info.status = status;
-      let res;
-      this.$confirm('是否确认不填写单号修改售后状态', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning',
-      }).then(async () => {
-        if (info.id) res = await this.update(info);
-        if (this.$checkRes(res)) {
-          this.$message({ type: `success`, message: `维护信息成功` });
-          this.search();
-        }
-      });
-    },
-    // 远程查询快递公司
-    async querySearch(value) {
-      let res = await this.dictQuery({ code: 'transport_company', label: value });
-      if (this.$checkRes(res)) this.$set(this, 'shop_transport_typeList', res.data);
-    },
-    // 买家快递填写保存
-    async customerSubmit(val) {
-      let info = this.info;
-      let res;
-      if (info.transport) {
-        info.transport = {
-          ...info.transport,
-          customer_transport_no: val.customer_transport_no,
-          customer_transport_type: val.customer_transport_type,
-        };
-      } else {
-        let transport = { customer_transport_no: val.customer_transport_no, customer_transport_type: val.customer_transport_type };
-        info.transport = transport;
-      }
-      if (info.id) res = await this.update(info);
-      if (this.$checkRes(res)) {
-        this.$message({ type: `success`, message: `维护信息成功` });
-        this.search();
-      }
-    },
-    // 保存
-    async onSubmit(val) {
-      let info = this.info;
-      let res;
-      if (info.transport) {
-        info.transport = { ...info.transport, shop_transport_no: val.shop_transport_no, shop_transport_type: val.shop_transport_type, shop_receive: true };
-      } else {
-        let transport = { shop_transport_no: val.shop_transport_no, shop_transport_type: val.shop_transport_type, shop_receive: true };
-        info.transport = transport;
-      }
-      if (info.id) res = await this.update(info);
-      if (this.$checkRes(res)) {
-        this.$message({ type: `success`, message: `维护信息成功` });
-        this.search();
-      }
-    },
-    // 查询其他信息
-    async searchOther() {
-      let res;
-      // 类型
-      res = await this.dictQuery({ code: 'afterSale_type' });
-      if (this.$checkRes(res)) this.$set(this, `typeList`, res.data);
-      res = await this.dictQuery({ code: 'afterSale_status' });
-      if (this.$checkRes(res)) this.$set(this, `statusList`, res.data);
-    },
-    // 返回
-    toBack() {
-      this.$emit('toBack');
-    },
-  },
-
-  computed: {
-    ...mapState(['user']),
-  },
-  metaform() {
-    return { title: this.$route.meta.title };
-  },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.main {
-  .one {
-    font-size: 20px;
-    margin: 10px 4% 0 8%;
-    padding: 5px;
-    .add {
-      border-bottom: 2px dashed #ccc;
-      margin: 0 0 5px 0;
-      padding: 5px 0;
-    }
-    .shop {
-      padding: 4px 0;
-      font-size: 22px;
-      border-bottom: 1px solid #ccc;
-    }
-    .goods {
-      padding: 10px 0;
-      .money {
-        text-align: right;
-      }
-    }
-    .other {
-      text-align: right;
-      p {
-        color: red;
-      }
-    }
-    .el-col {
-      margin: 4px 0;
-    }
-  }
-  .two {
-    margin: 0 0 0 20px;
-  }
-}
-</style>

+ 4 - 1
src/views/selfShop/sales/index.vue

@@ -31,7 +31,10 @@ const { mapActions: dictData } = createNamespacedHelpers('dictData');
 export default {
   name: 'card-1',
   props: {},
-  components: { search1: () => import('./parts/search-1.vue'), detail: () => import('./detail.vue') },
+  components: {
+    search1: () => import('@/components/salesParts/parts/search-1.vue'),
+    detail: () => import('@/components/salesParts/detail.vue'),
+  },
   data: function () {
     const that = this;
     return {

+ 0 - 74
src/views/selfShop/sales/parts/search-1.vue

@@ -1,74 +0,0 @@
-<template>
-  <div id="search-1">
-    <el-row>
-      <el-col :span="24" class="main">
-        <el-form :model="form" ref="form" label-width="130px">
-          <el-col :span="6">
-            <el-form-item label="售后类型" prop="type">
-              <el-select v-model="form.type" clearable filterable placeholder="请选择" style="width: 100%" size="small">
-                <el-option v-for="i in typeList" :key="i.label" :label="i.label" :value="i.value"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="售后状态" prop="status">
-              <el-select v-model="form.status" clearable filterable placeholder="请选择" style="width: 100%" size="small">
-                <el-option v-for="i in statusList" :key="i.label" :label="i.label" :value="i.value"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24" class="btn">
-            <el-button type="primary" icon="el-icon-search" size="mini" @click="onSubmit('form')">搜索</el-button>
-            <el-button icon="el-icon-refresh" size="mini" @click="toReset('form')">重置</el-button>
-          </el-col>
-        </el-form>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'search-1',
-  props: { form: { type: Object }, statusList: { type: Array }, typeList: { type: Array } },
-  components: {},
-  data: function () {
-    return {};
-  },
-  created() {},
-  methods: {
-    onSubmit() {
-      this.$emit('onSubmit');
-    },
-    toReset(formName) {
-      this.$refs[formName].resetFields();
-      this.$emit('toReset');
-    },
-  },
-  computed: {},
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.main {
-  .btn {
-    text-align: right;
-  }
-  /deep/.el-form-item {
-    float: left;
-    width: 100%;
-    margin: 0 0 10px 0;
-  }
-}
-</style>

+ 0 - 96
src/views/selfShop/sales/parts/steps-1.vue

@@ -1,96 +0,0 @@
-<template>
-  <div id="steps-1">
-    <el-row>
-      <el-col :span="24" class="main">
-        <el-steps :active="active" align-center finish-status="success">
-          <el-step title="买家已申请仅退款"> </el-step>
-          <el-step title="审核"> </el-step>
-          <el-step title="售后结束"> </el-step>
-        </el-steps>
-        <el-col :span="24" style="text-align: center">
-          <el-col v-if="active == '0'"> 买家已申请仅退款 </el-col>
-          <el-col v-if="active == '1'" style="text-align: center; margin: 15px 0; font-size: 18px">
-            <el-form :model="form" ref="form" label-width="100px">
-              <el-form-item label="退款金额" prop="money">
-                <el-input v-model="form.money" placeholder="请输入退款金额" size="small" type="Number" @input="toMoney"></el-input>
-                <p class="p1">
-                  用于部分退款,退款金额不得超过<span>{{ info.money || '退款最大金额' }}元</span>
-                </p>
-              </el-form-item>
-              <el-form-item>
-                <el-col>
-                  <el-button type="primary" @click="exam('1')">同意售后,处理退款</el-button>
-                  <el-button type="primary" @click="exam('!1')">拒绝</el-button>
-                </el-col>
-              </el-form-item>
-            </el-form>
-          </el-col>
-          <el-col v-if="active == 3">
-            <el-col style="text-align: center; margin: 15px 0"><i class="el-icon-success"></i></el-col>
-            <el-col style="text-align: center; margin: 15px 0; font-size: 18px">已退款成功</el-col>
-          </el-col>
-          <el-col v-if="active == 4">
-            <el-col style="text-align: center; margin: 15px 0"><i class="el-icon-error"></i></el-col>
-            <el-col style="text-align: center; margin: 15px 0; font-size: 18px">已拒绝</el-col>
-          </el-col>
-        </el-col>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'steps-1',
-  props: { active: { type: Number }, form: { type: Object }, info: { type: Object } },
-  components: {},
-  data: function () {
-    return {
-      status: '0',
-    };
-  },
-
-  created() {},
-  methods: {
-    exam(status) {
-      this.$emit('exam', status, this.form);
-    },
-    toMoney(val) {
-      if (val > this.info.money) {
-        this.$message.error('超过退款最大金额');
-        this.$set(this.form, `money`, '');
-      }
-    },
-  },
-  computed: {
-    ...mapState(['user']),
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.p1 {
-  span {
-    color: red;
-  }
-}
-.el-icon-success {
-  font-size: 60px;
-  color: green;
-}
-.el-icon-error {
-  font-size: 60px;
-  color: red;
-}
-</style>

+ 0 - 167
src/views/selfShop/sales/parts/steps-2.vue

@@ -1,167 +0,0 @@
-<template>
-  <div id="steps-1">
-    <el-row>
-      <el-col :span="24" class="main">
-        <el-steps :active="active" align-center finish-status="success">
-          <el-step title="买家已申请退货"> </el-step>
-          <el-step title="审核"> </el-step>
-          <el-step title="查看买家寄出物流" v-if="active != 5"> </el-step>
-          <el-step title="售后完成"> </el-step>
-        </el-steps>
-        <el-col :span="24">
-          <el-col v-if="active == 0"> 买家已申请退货 </el-col>
-          <el-col v-if="active == 1" style="text-align: center; margin: 15px 0; font-size: 18px">
-            <el-form :model="form" ref="form" label-width="100px" class="demo-ruleForm">
-              <el-form-item label="退款金额" prop="money">
-                <el-input v-model="form.money" placeholder="请输入退款金额" size="small" type="Number" @input="toMoney"></el-input>
-                <p>
-                  用于部分退款,退款金额不得超过<span style="color: red">{{ info.money || '退款最大金额' }}元</span>
-                </p>
-              </el-form-item>
-              <el-form-item>
-                <el-col>
-                  <el-button type="primary" @click="exam('2')">同意售后,处理退货</el-button>
-                  <el-button type="primary" @click="exam('!2')">拒绝</el-button>
-                </el-col>
-              </el-form-item>
-            </el-form>
-          </el-col>
-          <el-col v-if="active == 2 || active == 3">
-            <el-col>
-              <data-form :fields="infoFields" :rules="rules" v-model="customerForm" labelWidth="150px" @save="customerSubmit" v-if="active == 2">
-                <template #customer_transport_type>
-                  <el-select
-                    v-model="customerForm.customer_transport_type"
-                    filterable
-                    remote
-                    reserve-keyword
-                    placeholder="请选择快递公司,运单号,同时填入"
-                    :remote-method="querySearch"
-                    :loading="loading"
-                    @change="handleSelect"
-                    size="small"
-                    style="width: 100%"
-                  >
-                    <el-option v-for="item in shop_transport_typeList" :key="item.id" :label="item.label" :value="item.value"> </el-option>
-                  </el-select>
-                </template>
-              </data-form>
-              <el-col :span="24" style="text-align: center; margin-top: 15px">
-                <el-button type="warning" style="margin: 10px 0" @click="exam_one('-2')" v-if="active == 2">已退货</el-button>
-              </el-col>
-            </el-col>
-            <el-col :span="24" style="text-align: center; margin-top: 15px">
-              <el-button type="primary" style="margin: 10px 0" @click="exam('-2')" v-if="active == 3">已退货</el-button>
-            </el-col>
-            <el-col :span="24" style="text-align: center; margin: 15px 0; font-size: 18px">买家{{ getCheck() || '暂无快递信息' }}</el-col>
-            <el-col :span="24">
-              <el-timeline :reverse="reverse">
-                <el-timeline-item v-for="(activity, index) in customer" :key="index" :timestamp="activity.time" :color="activity.color">
-                  {{ activity.context }}
-                </el-timeline-item>
-              </el-timeline>
-            </el-col>
-          </el-col>
-          <el-col v-if="active == 4">
-            <el-col style="text-align: center; margin: 15px 0"><i class="el-icon-success"></i></el-col>
-            <el-col style="text-align: center; margin: 15px 0; font-size: 18px">已退货成功</el-col>
-            <el-col style="text-align: center; margin: 15px 0; font-size: 18px">库存需手动修改</el-col>
-          </el-col>
-          <el-col v-if="active == 5">
-            <el-col style="text-align: center; margin: 15px 0"><i class="el-icon-error"></i></el-col>
-            <el-col style="text-align: center; margin: 15px 0; font-size: 18px">已拒绝</el-col>
-          </el-col>
-        </el-col>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script>
-const _ = require('lodash');
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'steps-1',
-  props: {
-    active: { type: Number },
-    customer: { type: Array },
-    activit: { type: Object },
-    form: { type: Object },
-    customerForm: { type: Object },
-    info: { type: Object },
-    shop_transport_typeList: { type: Array },
-  },
-  components: {},
-  data: function () {
-    return {
-      loading: false,
-      reverse: false,
-      infoFields: [
-        { label: '快递单号', model: 'customer_transport_no' },
-        { label: '快递公司', model: 'customer_transport_type', custom: true },
-      ],
-      rules: {
-        customer_transport_no: [{ required: true, message: '请输入快递单号', trigger: 'blur' }],
-        customer_transport_type: [{ required: true, message: '请选择快递公司', trigger: 'change' }],
-      },
-    };
-  },
-  created() {},
-  methods: {
-    next(active) {
-      this.$emit('next', active);
-    },
-    onSubmit() {
-      this.$emit('onSubmit', this.form);
-    },
-    customerSubmit() {
-      this.$emit('customerSubmit', this.customerForm);
-    },
-    async querySearch(value) {
-      this.loading = true;
-      this.$emit('querySearch', value);
-      this.loading = false;
-    },
-    handleSelect(value) {},
-    exam(status) {
-      this.$emit('exam', status);
-    },
-    exam_one(status) {
-      this.$emit('exam_one', status);
-    },
-    getCheck() {
-      return _.get(this.activit, 'customer.is_check');
-    },
-    toMoney(val) {
-      if (val > this.info.money) {
-        this.$message.error('超过退款最大金额');
-        this.$set(this.form, `money`, '');
-      }
-    },
-  },
-  computed: {
-    ...mapState(['user']),
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.el-icon-success {
-  font-size: 60px;
-  color: green;
-}
-.el-icon-error {
-  font-size: 60px;
-  color: red;
-}
-</style>

+ 0 - 185
src/views/selfShop/sales/parts/steps-3.vue

@@ -1,185 +0,0 @@
-<template>
-  <div id="steps-1">
-    <el-row>
-      <el-col :span="24" class="main">
-        <el-steps :active="active" align-center finish-status="success">
-          <el-step title="买家已申请换货"> </el-step>
-          <el-step title="审核"> </el-step>
-          <el-step title="查看买家寄出物流" v-if="active != 7"> </el-step>
-          <el-step title="收到退回商品,填写物流信息" v-if="active != 7"> </el-step>
-          <el-step title="查看物流,确认买家收货" v-if="active != 7"> </el-step>
-          <el-step title="售后结束"> </el-step>
-        </el-steps>
-        <el-col :span="24" style="margin-top: 15px">
-          <el-col v-if="active == 0"> 买家已申请换货 </el-col>
-          <el-col v-if="active == 1" style="text-align: center; margin: 15px 0">
-            <el-button type="primary" @click="exam('3')">同意售后,处理换货</el-button>
-            <el-button type="primary" @click="exam('!3')">拒绝</el-button>
-          </el-col>
-          <el-col v-if="active == 2">
-            <data-form :fields="customerFields" :rules="customerrules" v-model="customerForm" labelWidth="150px" @save="customerSubmit">
-              <template #customer_transport_type>
-                <el-select
-                  v-model="customerForm.customer_transport_type"
-                  filterable
-                  remote
-                  reserve-keyword
-                  placeholder="请选择快递公司,运单号,同时填入"
-                  :remote-method="querySearch"
-                  :loading="loading"
-                  @change="handleSelect"
-                  size="small"
-                  style="width: 100%"
-                >
-                  <el-option v-for="item in shop_transport_typeList" :key="item.id" :label="item.label" :value="item.value"> </el-option>
-                </el-select>
-              </template>
-            </data-form>
-            <el-col :span="24">
-              <el-timeline :reverse="reverse">
-                <el-timeline-item v-for="(activity, index) in customer" :key="index" :timestamp="activity.time" :color="activity.color">
-                  {{ activity.context }}
-                </el-timeline-item>
-              </el-timeline>
-            </el-col>
-          </el-col>
-          <el-col v-if="active == 3">
-            <el-col :span="24" style="text-align: center; margin: 15px 0; font-size: 18px">店铺{{ getCheck() || '暂无快递信息' }}</el-col>
-          </el-col>
-          <el-col v-if="active == 3 || active == 4">
-            <data-form :fields="infoFields" :rules="rules" v-model="form" labelWidth="150px" @save="onSubmit">
-              <template #shop_transport_type>
-                <el-select
-                  v-model="form.shop_transport_type"
-                  filterable
-                  remote
-                  reserve-keyword
-                  placeholder="请选择快递公司,运单号,同时填入"
-                  :remote-method="querySearch"
-                  :loading="loading"
-                  @change="handleSelect"
-                  size="small"
-                  style="width: 100%"
-                >
-                  <el-option v-for="item in shop_transport_typeList" :key="item.id" :label="item.label" :value="item.value"> </el-option>
-                </el-select>
-              </template>
-            </data-form>
-          </el-col>
-          <el-col v-if="active == 4 || active == 5">
-            <el-col :span="24" style="text-align: center; margin-top: 15px">
-              <el-button type="primary" @click="exam('-3')" style="margin: 10px 0" v-if="active == 5">已换货</el-button>
-            </el-col>
-            <el-col :span="24" style="text-align: center; margin: 15px 0; font-size: 18px" v-if="transport.customer_receive == true"
-              >买家{{ getCheckOne() || '暂无快递信息' }}</el-col
-            >
-            <el-col :span="24">
-              <el-timeline :reverse="reverse">
-                <el-timeline-item v-for="(activity, index) in shopList" :key="index" :timestamp="activity.time" :color="activity.color">
-                  {{ activity.context }}
-                </el-timeline-item>
-              </el-timeline>
-            </el-col>
-          </el-col>
-          <el-col v-if="active == 6">
-            <el-col style="text-align: center; margin: 15px 0"><i class="el-icon-success"></i></el-col>
-            <el-col style="text-align: center; margin: 15px 0; font-size: 18px">换货成功</el-col>
-            <el-col style="text-align: center; margin: 15px 0; font-size: 18px">库存需手动修改</el-col>
-          </el-col>
-          <el-col v-if="active == 7">
-            <el-col style="text-align: center; margin: 15px 0"><i class="el-icon-error"></i></el-col>
-            <el-col style="text-align: center; margin: 15px 0; font-size: 18px">已拒绝</el-col>
-          </el-col>
-        </el-col>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'steps-1',
-  props: {
-    active: { type: Number },
-    form: { type: Object },
-    shop_transport_typeList: { type: Array },
-    customer: { type: Array },
-    shopList: { type: Array },
-    activit: { type: Object },
-    transport: { type: Object },
-    customerForm: { type: Object },
-  },
-  components: {},
-  data: function () {
-    return {
-      loading: false,
-      reverse: false,
-      infoFields: [
-        { label: '快递单号', model: 'shop_transport_no' },
-        { label: '快递公司', model: 'shop_transport_type', custom: true },
-      ],
-      rules: {
-        shop_transport_no: [{ required: true, message: '请输入快递单号', trigger: 'blur' }],
-        shop_transport_type: [{ required: true, message: '请选择快递公司', trigger: 'change' }],
-      },
-      customerFields: [
-        { label: '快递单号', model: 'customer_transport_no' },
-        { label: '快递公司', model: 'customer_transport_type', custom: true },
-      ],
-      customerrules: {
-        customer_transport_no: [{ required: true, message: '请输入快递单号', trigger: 'blur' }],
-        customer_transport_type: [{ required: true, message: '请选择快递公司', trigger: 'change' }],
-      },
-    };
-  },
-  created() {},
-  methods: {
-    exam(status) {
-      this.$emit('exam', status);
-    },
-    onSubmit() {
-      this.$emit('onSubmit', this.form);
-    },
-    customerSubmit() {
-      this.$emit('customerSubmit', this.customerForm);
-    },
-    async querySearch(value) {
-      this.loading = true;
-      this.$emit('querySearch', value);
-      this.loading = false;
-    },
-    handleSelect(value) {},
-    getCheck() {
-      return _.get(this.activit, 'customer.is_check');
-    },
-    getCheckOne() {
-      return _.get(this.activit, 'shop.is_check');
-    },
-  },
-  computed: {
-    ...mapState(['user']),
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.el-icon-success {
-  font-size: 60px;
-  color: green;
-}
-.el-icon-error {
-  font-size: 60px;
-  color: red;
-}
-</style>

+ 0 - 70
src/views/selfShop/sales/parts/steps-4.vue

@@ -1,70 +0,0 @@
-<template>
-  <div id="steps-1">
-    <el-row>
-      <el-col :span="24" class="main">
-        <el-steps :active="active" align-center finish-status="success">
-          <el-step title="买家已申请取消订单"> </el-step>
-          <el-step title="审核"> </el-step>
-          <el-step title="售后结束"> </el-step>
-        </el-steps>
-        <el-col :span="24" style="text-align: center">
-          <el-col v-if="active == 0"> 买家已申请取消订单 </el-col>
-          <el-col v-if="active == 1" style="text-align: center; margin: 15px 0; font-size: 18px">
-            <el-button type="primary" @click="exam('4')">同意售后,处理取消订单</el-button>
-            <el-button type="primary" @click="exam('!4')">拒绝</el-button>
-          </el-col>
-          <el-col v-if="active == 3">
-            <el-col style="text-align: center; margin: 15px 0"><i class="el-icon-success"></i></el-col>
-            <el-col style="text-align: center; margin: 15px 0; font-size: 18px">已取消订单</el-col>
-          </el-col>
-          <el-col v-if="active == 4">
-            <el-col style="text-align: center; margin: 15px 0"><i class="el-icon-error"></i></el-col>
-            <el-col style="text-align: center; margin: 15px 0; font-size: 18px">已拒绝</el-col>
-          </el-col>
-        </el-col>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'steps-1',
-  props: { active: { type: Number } },
-  components: {},
-  data: function () {
-    return {};
-  },
-  created() {},
-  methods: {
-    exam(status) {
-      this.$emit('exam', status);
-    },
-  },
-  computed: {
-    ...mapState(['user']),
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.el-icon-success {
-  font-size: 60px;
-  color: green;
-}
-.el-icon-error {
-  font-size: 60px;
-  color: red;
-}
-</style>

+ 0 - 74
src/views/selfShop/sales/parts/steps-5.vue

@@ -1,74 +0,0 @@
-<template>
-  <div id="steps-1">
-    <el-row>
-      <el-col :span="24" class="main">
-        <el-steps :active="active" align-center finish-status="success">
-          <el-step title="买家已申请拒收"> </el-step>
-          <el-step title="审核"> </el-step>
-          <el-step title="等待" v-if="active != 5"> </el-step>
-          <el-step title="售后结束"> </el-step>
-        </el-steps>
-        <el-col :span="24" style="text-align: center">
-          <el-col v-if="active == 0"> 买家已申请拒收商品 </el-col>
-          <el-col v-if="active == 1">
-            <el-button type="primary" @click="exam('5')">同意拒收商品</el-button>
-            <el-button type="primary" @click="exam('!5')">拒绝</el-button>
-          </el-col>
-          <el-col v-if="active == 3">
-            <el-button type="primary" @click="exam('-5')">结束拒收售后</el-button>
-          </el-col>
-          <el-col v-if="active == 4">
-            <el-col style="text-align: center; margin: 15px 0"><i class="el-icon-success"></i></el-col>
-            <el-col style="text-align: center; margin: 15px 0; font-size: 18px">已拒收成功</el-col>
-          </el-col>
-          <el-col v-if="active == 5">
-            <el-col style="text-align: center; margin: 15px 0"><i class="el-icon-error"></i></el-col>
-            <el-col style="text-align: center; margin: 15px 0; font-size: 18px">已拒绝</el-col>
-          </el-col>
-        </el-col>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script>
-import { mapState, createNamespacedHelpers } from 'vuex';
-export default {
-  name: 'steps-1',
-  props: { active: { type: Number } },
-  components: {},
-  data: function () {
-    return {};
-  },
-  created() {},
-  methods: {
-    exam(status) {
-      this.$emit('exam', status);
-    },
-  },
-  computed: {
-    ...mapState(['user']),
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-  watch: {
-    test: {
-      deep: true,
-      immediate: true,
-      handler(val) {},
-    },
-  },
-};
-</script>
-
-<style lang="less" scoped>
-.el-icon-success {
-  font-size: 60px;
-  color: green;
-}
-.el-icon-error {
-  font-size: 60px;
-  color: red;
-}
-</style>