Commit 32da3402 by chenxin

fix:ewash 账单功能 表单加成本

parent 8ef0cbd8
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=/static/css/iconfont.css><link rel=stylesheet type=text/css href=/static/css/common.css><link rel=stylesheet href=https://unpkg.com/element-ui/lib/theme-chalk/index.css><script type=text/javascript>!function(e,t,n,g,i){e[i]=e[i]||function(){(e[i].q=e[i].q||[]).push(arguments)},n=t.createElement("script"),tag=t.getElementsByTagName("script")[0],n.async=1,n.src=('https:'==document.location.protocol?'https://':'http://')+g,tag.parentNode.insertBefore(n,tag)}(window,document,"script","assets.giocdn.com/2.1/gio.js","gio");
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/favicon.ico><title>GIC后台</title><link rel=stylesheet type=text/css href=/marketing/static/css/iconfont.css><link rel=stylesheet type=text/css href=/marketing/static/css/common.css><link rel=stylesheet href=https://unpkg.com/element-ui/lib/theme-chalk/index.css><script type=text/javascript>!function(e,t,n,g,i){e[i]=e[i]||function(){(e[i].q=e[i].q||[]).push(arguments)},n=t.createElement("script"),tag=t.getElementsByTagName("script")[0],n.async=1,n.src=('https:'==document.location.protocol?'https://':'http://')+g,tag.parentNode.insertBefore(n,tag)}(window,document,"script","assets.giocdn.com/2.1/gio.js","gio");
gio('init','8be12240a3749eab', {});
//custom page code begin here
//custom page code end here
gio('send');</script><link href=/marketing/static/css/main.682c24d06ab1102b8db0214f843349dc.css rel=stylesheet></head><body><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.5.2/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=https://unpkg.com/element-ui/lib/index.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.30.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/store.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/member-group.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/confirm-people.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/people.2.0.31.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/input.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/delete.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/selector.1.1.91.js></script><script type=text/javascript src=/marketing/static/js/manifest.ea38b75f20c82a200a26.js></script><script type=text/javascript src=/marketing/static/js/vendor.4cb744d5df3ad4bdbad7.js></script><script type=text/javascript src=/marketing/static/js/main.4029a5ea242b5cf3720d.js></script></body></html>
\ No newline at end of file
gio('send');</script><link href=/marketing/static/css/main.d18bf09887d5733d9b71ab2b86a42627.css rel=stylesheet></head><body><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib/vue/2.5.2/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vue-router/3.0.2/vue-router.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib/vuex/3.1.0/vuex.min.js></script><script src=https://unpkg.com/element-ui/lib/index.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.30.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/store.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/member-group.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-card.2.0.07.js></script><script src=//web-1251519181.file.myqcloud.com/components/confirm-people.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/people.2.0.31.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.04.js></script><script src=//web-1251519181.file.myqcloud.com/components/input.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/delete.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/selector.1.1.91.js></script><script type=text/javascript src=/marketing/static/js/manifest.48fd9d296d8ec510a0ec.js></script><script type=text/javascript src=/marketing/static/js/vendor.4cb744d5df3ad4bdbad7.js></script><script type=text/javascript src=/marketing/static/js/main.4029a5ea242b5cf3720d.js></script></body></html>
\ No newline at end of file
!function(e){var r=window.webpackJsonp;window.webpackJsonp=function(n,c,a){for(var i,u,d,f=0,s=[];f<n.length;f++)u=n[f],t[u]&&s.push(t[u][0]),t[u]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(e[i]=c[i]);for(r&&r(n,c,a);s.length;)s.shift()();if(a)for(f=0;f<a.length;f++)d=o(o.s=a[f]);return d};var n={},t={12:0};function o(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var r=t[e];if(0===r)return new Promise(function(e){e()});if(r)return r[2];var n=new Promise(function(n,o){r=t[e]=[n,o]});r[2]=n;var c=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,o.nc&&a.setAttribute("nonce",o.nc),a.src=o.p+"static/js/"+({0:"game",1:"card",2:"wechat",3:"ewash",4:"evaluation",5:"message",6:"ecm",7:"recharge",8:"msg",9:"calllog"}[e]||e)+"."+{0:"939ef154a34f1a744ce0",1:"e34fbb233db6fd4dbd94",2:"74cec9b4e7b2d7c30c85",3:"d68e776d93682930575d",4:"a639d4b91d56334ec9ea",5:"8b5a84b02f4c6a9c3090",6:"1eea4e6e08cc95d8322d",7:"6235075e2c47716c5050",8:"5d9bccc98221e443f872",9:"101d05cb830d169de2d6"}[e]+".js";var i=setTimeout(u,12e4);function u(){a.onerror=a.onload=null,clearTimeout(i);var r=t[e];0!==r&&(r&&r[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return a.onerror=a.onload=u,c.appendChild(a),n},o.m=e,o.c=n,o.d=function(e,r,n){o.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},o.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(r,"a",r),r},o.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},o.p="/marketing/",o.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
!function(e){var r=window.webpackJsonp;window.webpackJsonp=function(n,c,a){for(var i,u,d,f=0,s=[];f<n.length;f++)u=n[f],t[u]&&s.push(t[u][0]),t[u]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(e[i]=c[i]);for(r&&r(n,c,a);s.length;)s.shift()();if(a)for(f=0;f<a.length;f++)d=o(o.s=a[f]);return d};var n={},t={12:0};function o(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var r=t[e];if(0===r)return new Promise(function(e){e()});if(r)return r[2];var n=new Promise(function(n,o){r=t[e]=[n,o]});r[2]=n;var c=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,o.nc&&a.setAttribute("nonce",o.nc),a.src=o.p+"static/js/"+({0:"game",1:"card",2:"wechat",3:"ewash",4:"evaluation",5:"message",6:"ecm",7:"recharge",8:"msg",9:"calllog"}[e]||e)+"."+{0:"939ef154a34f1a744ce0",1:"e34fbb233db6fd4dbd94",2:"74cec9b4e7b2d7c30c85",3:"38984ab90b711b2239d0",4:"a639d4b91d56334ec9ea",5:"8b5a84b02f4c6a9c3090",6:"1eea4e6e08cc95d8322d",7:"6235075e2c47716c5050",8:"5d9bccc98221e443f872",9:"101d05cb830d169de2d6"}[e]+".js";var i=setTimeout(u,12e4);function u(){a.onerror=a.onload=null,clearTimeout(i);var r=t[e];0!==r&&(r&&r[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return a.onerror=a.onload=u,c.appendChild(a),n},o.m=e,o.c=n,o.d=function(e,r,n){o.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},o.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(r,"a",r),r},o.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},o.p="/marketing/",o.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
......@@ -37,7 +37,7 @@
<script src="//web-1251519181.file.myqcloud.com/components/store.2.0.01.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/img-preview.2.0.00.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/member-group.2.0.01.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/store-card.2.0.04.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/store-card.2.0.07.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/confirm-people.2.0.01.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/people.2.0.31.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/export-excel.2.0.04.js"></script>
......
......@@ -32,7 +32,7 @@ const initForm = {
cardEffectiveMode: 0,
giftCouponValue: 0, // 优惠内容
dateTime: [],
// costValue: 0, //成本费用
costValue: 0, //成本费用
startDay: 0,
limitDay: null,
cardExplain: '',
......@@ -77,7 +77,7 @@ export default {
subTitle: { required: true, message: '请输入卡券副标题', trigger: 'blur' },
cardCodeCount: { required: true, type: 'number', min: 1, message: '请输入库存', trigger: 'blur' }, // 库存
giftCouponValue: { required: true, type: 'number', min: 1, message: '请输入优惠内容', trigger: 'blur' },
// costValue: { required: true, type: 'number', min: 0, message: '请输入成本费用', trigger: 'blur' },
costValue: { required: true, type: 'number', min: 0, message: '请输入成本费用', trigger: 'blur' },
cardDenomination: { required: true, type: 'number', message: '此项不能为空', trigger: 'blur' },
cardExplain: { required: true, message: '适用门店说明不能为空', trigger: 'blur' },
useDescript: { required: true, message: '使用说明不能为空', trigger: 'blur' }
......@@ -353,7 +353,7 @@ export default {
this.form.cardCodeCount = card.cardCodeCount;
this.form.cardEffectiveMode = card.cardEffectiveMode;
this.form.dateTime = [card.beginDate || '', card.endDate || ''];
// this.form.costValue = card.costValue || 0;
this.form.costValue = card.costValue || 0;
this.form.startDay = card.startDay || 0;
this.form.limitDay = card.limitDay || 0;
this.form.cardExplain = card.cardExplain || '';
......@@ -417,10 +417,10 @@ export default {
// return;
// }
// }
// if (this.form.costValue <= 0 && this.form.cardType !== 1) {
// this.$tips({ type: 'warning', message: '成本必须大于0' });
// return;
// }
if (this.form.costValue <= 0 && this.form.cardType !== 1) {
this.$tips({ type: 'warning', message: '成本必须大于0' });
return;
}
// 验证号段 不能为空 起始号段和结尾号段必须位数一致
// if (this.form.useCustomCode) {
......@@ -561,7 +561,7 @@ export default {
}
card.useCustomCode = this.form.useCustomCode;
// card.costValue = this.form.costValue || 0;
card.costValue = this.form.costValue || 0;
//自定义号段
// if (card.useCustomCode === 1) {
// card.customCodeBegin = this.form.customCodeBegin;
......
......@@ -55,7 +55,7 @@
<el-radio :disabled="isEdit" v-model="storeMode" :label="0">所有门店</el-radio>
<el-radio :disabled="isEdit" v-model="storeMode" :label="1">部分门店</el-radio>
<span v-if="isEdit" class="fz12 gray ml20">卡券编辑时修改的适用门店信息不再回写至ERP</span>
<vue-gic-store-card class="pt10" v-show="storeMode" ref="storeCard" :uuid.sync="uuid"></vue-gic-store-card>
<vue-gic-store-card class="pt10" v-show="storeMode" ref="storeCard" :uuid.sync="uuid" scenes="edaixi" />
</div>
<!-- <div v-show="form.cardType === 0" class="mb10">
<el-checkbox :disabled="isEdit || isInfo" v-model="sale_limit.flag">最低消费满</el-checkbox>
......@@ -180,7 +180,7 @@
<el-input-number controls-position="right" :precision="0" :min="1" :max="999999" :disabled="isEdit || isInfo" v-model="form.cardCodeCount" class="w150"></el-input-number>
</el-form-item>
<!-- <el-form-item prop="costValue" label="成本费用" v-show="form.cardType !== 1"> <el-input-number controls-position="right" :disabled="isEdit || isInfo" :precision="2" :min="0" class="w200" v-model="form.costValue"></el-input-number> 元 <span class="fz13 gray">请填写大于0的数字(限制两位小数)</span> </el-form-item> -->
<el-form-item prop="costValue" label="成本费用" v-show="form.cardType !== 1"> <el-input-number controls-position="right" :disabled="isEdit || isInfo" :precision="2" :min="0" class="w200" v-model="form.costValue"></el-input-number><span class="fz13 gray">请填写大于0的数字(限制两位小数)</span> </el-form-item>
<el-form-item label="code类型">
<el-radio v-model="form.useCustomCode" :label="0" :disabled="isEdit || isInfo">随机生成</el-radio>
<!-- <el-radio v-model="form.useCustomCode" :label="1" :disabled="isEdit || isInfo">自定义号段</el-radio> -->
......
<template>
<el-dialog title="提示" width="530px" :visible.sync="dialogVisible">
<el-dialog title="提示" width="535px" :visible.sync="dialogVisible" @closed="close">
<div class="el-transfer" v-loading="loading">
<!-- 左侧 -->
<div class="el-transfer-panel">
......@@ -9,9 +9,11 @@
<span class="fr mr10">{{ leftSelect.length }}/{{ leftList.length }}</span>
</label>
</div>
<div class="search">
<el-input type="text" v-model="listParams.searchParam" clearable placeholder="请输入门店名称" @change="search"/>
</div>
<div class="el-transfer-panel__body">
<div class="el-transfer-panel__list">
<div class="el-transfer-panel__list" v-infinite-scroll="leftScrollLoad" :infinite-scroll-disabled="!shouldLeftLoad" style="overflow:auto">
<!-- eslint-disable -->
<el-checkbox-group v-model="leftSelect">
<el-checkbox
......@@ -19,18 +21,18 @@
v-for="item in leftList.filter( v => { return !v.select; })"
:label="item.key"
:key="item"
>{{ item.key }}</el-checkbox>
>{{ item.name }}</el-checkbox>
</el-checkbox-group>
<p class="dm-store__list--more" v-if="leftMoreShow" :disabled="leftMoreLoading">
<el-button type="text" @click="leftLoadMore">{{ leftMoreLoading ? '加载中...' : '加载更多' }}</el-button>
<p class="text-center" v-if="shouldLeftLoad">
<el-button class="gray" type="text">{{ leftLoading ? '加载中...' : '加载更多' }}</el-button>
</p>
<p class="dm-store__list--more" v-else><el-button class="fz12" type="text" disabled>无更多数据</el-button></p>
<p class="text-center" v-else><el-button class="fz12" type="text" disabled>无更多数据</el-button></p>
<!-- eslint-disable -->
</div>
</div>
</div>
<!-- 中间按钮区域 -->
<div class="inline-block">
<div class="center-button">
<el-button class="mb10" type="primary" size="mini" icon="el-icon-arrow-right" :disabled="!leftSelect.length" @click="saveToRight">转入</el-button>
<br />
<el-button icon="el-icon-close" size="mini" :disabled="!rightSelect.length" @click="deleteRightItems(false)">移除</el-button>
......@@ -43,10 +45,13 @@
<span class="fr mr10">{{ rightSelect.length }}/{{ rightList.length }}</span>
</label>
</div>
<div class="search">
<el-input type="text" v-model="rightFilter" clearable placeholder="请输入门店名称" />
</div>
<div class="el-transfer-panel__body">
<div class="el-transfer-panel__list">
<el-checkbox-group v-model="rightSelect">
<el-checkbox class="el-transfer-panel__item" v-for="item in rightList" :label="item.key" :key="item.key">{{ item.key }}</el-checkbox>
<el-checkbox class="el-transfer-panel__item" v-for="item in rightList.filter(v => { return v.name.indexOf(rightFilter) !== -1})" :label="item.key" :key="item.key">{{ item.name }}</el-checkbox>
</el-checkbox-group>
</div>
</div>
......@@ -54,48 +59,32 @@
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogVisible = false">确 定</el-button>
<el-button type="primary" @click="handleSave()">确 定</el-button>
</span>
</el-dialog>
</template>
<script>
import { openEdxStoreSearch, openEdxStore } from '@/service/api/ewashApi';
const pageSize = 20; // 分页数
export default {
name: 'ewash-store-child',
props: ['dialogVisible'],
data() {
return {
loading: false,
leftMoreShow: false,
leftMoreLoading: false,
leftLoading: false, // 左侧列表加载
shouldLeftLoad: true, // 左侧是否可以滚动触发加载
leftList: [],
// leftList: [
// {
// select: false,
// key: 1
// },
// {
// select: false,
// key: 3
// },
// {
// select: false,
// key: 4
// },
// {
// select: false,
// key: 5
// }
// ],
leftSelect: [],
rightList: [],
rightSelect: [],
listParams: {
pageSize: 20,
pageSize,
currentPage: 1,
searchParam: ''
}
},
rightFilter: '' // 右侧过滤数据
};
},
methods: {
......@@ -137,17 +126,89 @@ export default {
},
// 获取左侧列表数据
getLeftList() {
this.loading = true;
if (this.leftLoading) {
return;
}
this.leftLoading = true;
openEdxStoreSearch(this.listParams).then(res => {
this.leftLoading = false;
if(res.result.result && res.result.result.length < pageSize) {
this.shouldLeftLoad = false; // 不可以加载更多
}
const _leftList = res.result.result.map(v => {
return {
key: v.storeId,
name: v.storeName,
select: false,
}
}) || [];
this.leftList = this.leftList.concat(_leftList);
})
},
// 滚动加载触发
leftScrollLoad() {
this.listParams.currentPage += 1;
this.getLeftList();
},
// 查询
search() {
this.listParams.currentPage = 1;
this.leftSelect = [];
this.leftList = [];
this.getLeftList();
},
close() {
this.$emit('update:dialogVisible', false);
// 重置数据
this.shouldLeftLoad = true;
this.leftList = [];
this.rightList = [];
this.leftSelect = [];
this.rightSelect = [];
this.listParams.currentPage = 1;
this.listParams.searchParam = '';
},
// 保存子账户
handleSave() {
const storeIds = this.rightList.map(v => {
return v.key;
}).join();
if(storeIds === '') {
this.$tips({ message: '请选择门店', type: 'error' });
return;
}
this.loading = true;
openEdxStore({ storeIds }).then(res => {
this.loading = false;
console.log(res);
this.$tips({ message: res.message || '保存成功' });
this.close();
}).catch(() => {
this.loading = false;
})
},
/** 父组件调用 **/
/** 左侧列表重置 加载 **/
reload() {
this.shouldLeftLoad = true;
this.leftList = [];
this.rightList = [];
this.leftSelect = [];
this.rightSelect = [];
this.listParams.currentPage = 1;
this.listParams.searchParam = '';
this.getLeftList();
}
},
}
};
</script>
<style lang="scss" scoped>
.search {
margin: 8px 10px;
}
.center-button {
display: inline-block;
margin: 0 3px 0 5px;
}
</style>
......@@ -31,13 +31,17 @@
<span class="primary-font-color">门店地址:</span><span class="regular-font-color">{{ info.storeAddress }}</span>
</el-col>
</el-row>
<el-table :data="info.ywTable" style="width: 100%" class="mt20">
<el-table-column prop="date" label="名称" minWidth="180"></el-table-column>
<el-table-column prop="name" label="数量" minWidth="180"></el-table-column>
<el-table-column prop="address" label="单价" minWidth="180"></el-table-column>
<el-table :data="ywTable" style="width: 100%" class="mt20">
<el-table-column prop="categoryName" label="名称" minWidth="180"></el-table-column>
<el-table-column prop="total" label="数量" minWidth="180"></el-table-column>
<el-table-column label="单价" minWidth="180">
<template slot-scope="scope">
{{ scope.row.amount | amount }}
</template>
</el-table-column>
</el-table>
<p class="text-right mt10">服务总价<span class="fz16 ml5">¥ {{ info.totalAmount }}</span></p>
<p class="text-right mt10">卡券支付<span class="fz22 ml5 warning-color">¥ {{ info.couponAmount }}</span></p>
<p class="text-right mt10">服务总价<span class="fz16 ml5">¥ {{ info.totalAmount | amount }}</span></p>
<p class="text-right mt10">卡券支付<span class="fz22 ml5 warning-color">¥ {{ info.couponAmount | amount }}</span></p>
</section>
<!-- e袋洗订单信息 -->
<section class="dm-form__wrap statement-edit__info">
......@@ -56,13 +60,20 @@
<span class="primary-font-color">订单备注:</span><span class="regular-font-color">{{ info.remark }}</span>
</el-col>
</el-row>
<el-table :data="info.ywTable" style="width: 100%" class="mt20">
<el-table-column prop="date" label="名称" minWidth="180"></el-table-column>
<el-table-column prop="name" label="数量" minWidth="180"></el-table-column>
<el-table-column prop="address" label="单价" minWidth="180"></el-table-column>
<el-table :data="orderTable" style="width: 100%" class="mt20">
<el-table-column prop="categoryName" label="名称" minWidth="180"></el-table-column>
<el-table-column prop="total" label="数量" minWidth="180"></el-table-column>
<el-table-column label="单价" minWidth="180">
<template slot-scope="scope">
{{ scope.row.amount | amount }}
</template>
</el-table-column>
</el-table>
<p class="text-right mt10">服务总价<span class="fz16 ml5">¥ {{ info.totalAmount }}</span></p>
<p class="text-right mt10">订单总价<span class="gray ml5">(含运费{{ info.freightAmount }}元)</span><span class="fz22 ml5 warning-color">¥ {{ info.couponAmount }}</span></p>
<p class="text-right mt10">订单总价
<span class="gray ml5">(含运费{{ info.freightAmount | amount }}元)</span>
<span class="fz22 ml5 warning-color">¥ {{ info.couponAmount | amount }}</span>
</p>
</section>
</el-col>
<el-col :span="6">
......@@ -74,21 +85,14 @@
</el-timeline-item>
</el-timeline>
</section>
<!-- <section class="dm-form__wrap statement-edit__info ml5">
<h3 class="dm-title__label"><i class="el-icon-tickets success-color mr5"></i>订单跟踪</h3>
<el-timeline>
<el-timeline-item v-for="(order, index) in orderList" :key="index" :icon="order.icon" :type="order.type" :color="order.color" :size="order.size">
{{ order.content }}
</el-timeline-item>
</el-timeline>
</section> -->
<section class="dm-form__wrap statement-edit__info ml5">
<h3 class="dm-title__label"><i class="el-icon-location danger-color mr5"></i>物流跟踪</h3>
<el-timeline>
<el-timeline v-if="logistics.length">
<el-timeline-item v-for="(logistic, index) in logistics" :key="index" :icon="logistic.icon" :type="logistic.type" :color="logistic.color" :size="logistic.size" :timestamp="logistic.timestamp">
{{ logistic.content }}
</el-timeline-item>
</el-timeline>
<div v-else class="gray">暂无数据</div>
</section>
</el-col>
</el-row>
......@@ -97,6 +101,46 @@
<script>
import { edxOrderDetail } from '@/service/api/ewashApi';
const status = [
{
content: '待下单',
status: 2
},
{
content: '待取件/预约成功',
status: 3
},
{
content: '取件中',
status: 4
},
{
content: '待揽收/待送洗',
status: 1
},
{
content: '清洗中',
status: 6
},
{
content: '分拣计价',
status: 5
},
{
content: '待送回/送回中',
status: 7
},
{
content: '待取件/已收件',
status: 8
},
{
content: '已签收/已完成',
status: 9
}
];
export default {
name: 'ewash-statement-detail',
data() {
......@@ -105,77 +149,42 @@ export default {
loading: false,
info: {
templateName: 'templateNametemplateNametemplateNametemplateName',
ywTable: []
orderItems: []
},
orderStatus: [
{
content: '待揽收'
},
{
content: '待送洗'
},
{
content: '清洗中',
type: 'primary',
size: 'large'
},
{
content: '待取件'
},
{
content: '已签收'
}
],
orderList: [
{
content: '门店签收,请至门店取衣',
timestamp: '2018-04-12 20:46'
},
{
content: '洗衣工厂已清洗完成',
timestamp: '2018-04-03 20:46'
},
{
content: '送往清洗中',
timestamp: '2018-04-03 20:46'
},
{
content: '门店已揽收',
timestamp: '2018-04-03 20:46',
type: 'success',
size: 'large'
}
],
logistics: [
{
content: '收件小哥已出发',
timestamp: '2018-04-12 20:46'
},
{
content: '取货完成',
timestamp: '2018-04-03 20:46'
},
{
content: '赶往总部',
timestamp: '2018-04-03 20:46'
},
{
content: '等待送回',
timestamp: '2018-04-03 20:46',
type: 'danger',
size: 'large'
}
]
ywTable: [], // 预约单table
orderTable: [], // 订单table
// 订单状态 0(删除);1(待送洗或待揽收);2(待下单);3(待取件或预约成功);4(取件中);5(分拣计价);6(清洗中);7(待送回或送回中);8(待取件/已收件);9(已签收/已完成);10(已取消)
orderStatus: [],
logistics: []
};
},
filters: {
amount(value) {
if (!value) return '0.00';
if (isNaN(value)) return value;
return value.toFixed(2);
}
},
methods: {
handleDetail() {
this.loading = true;
edxOrderDetail({ orderId: this.id }).then(res => {
this.loading = false;
this.info = res.result || {};
this.logistics = res.resule.logistics || [];
})
this.logistics = res.result.logistics || [];
/* eslint-disable */
this.ywTable = res.result.orderItems
? res.result.orderItems.filter(v => {
return v.itemType === 0;
})
: [];
this.orderTable = res.result.orderItems
? res.result.orderItems.filter(v => {
return v.itemType === 1;
})
: [];
/* eslint-disable */
});
}
},
mounted() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment