Commit b389d7bd by damodmg

更新

parent 8d8b36f6
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel=stylesheet type=text/css href=./static/css/iconfont.css><link rel=stylesheet type=text/css href=./static/css/common.css><link rel="shortcut icon" type=image/x-icon href=./static/img/favicon.ico><title>微商城</title><link href=./static/css/app.d2f84e296eee613f4ae33ee227239df7.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=//web-1251519181.file.myqcloud.com/lib/elementUI/index.2.5.4.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.18.js></script><script src=//web-1251519181.file.myqcloud.com/components/aside-menu.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-linkage.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.02.js></script><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.2a66e15144de1c0f565b.js></script><script type=text/javascript src=./static/js/app.15c4a938c72003552c9b.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel=stylesheet type=text/css href=./static/css/iconfont.css><link rel=stylesheet type=text/css href=./static/css/common.css><link rel="shortcut icon" type=image/x-icon href=./static/img/favicon.ico><title>微商城</title><link href=./static/css/app.dc461ec31e6a1b51f82f2b57f671e45b.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=//web-1251519181.file.myqcloud.com/lib/elementUI/index.2.5.4.js></script><script src=//web-1251519181.file.myqcloud.com/components/header.2.0.18.js></script><script src=//web-1251519181.file.myqcloud.com/components/aside-menu.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/footer.2.0.02.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-linkage.2.0.00.js></script><script src=//web-1251519181.file.myqcloud.com/components/member-info.1.0.0.js></script><script src=//web-1251519181.file.myqcloud.com/components/card.2.0.01.js></script><script src=//web-1251519181.file.myqcloud.com/components/export-excel.2.0.02.js></script><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.2a66e15144de1c0f565b.js></script><script type=text/javascript src=./static/js/app.232ca27b5ca01620320c.js></script></body></html>
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -215,7 +215,9 @@ input:focus {
padding:30px 0 10px 0;
}
.pagination{
float:right;
width:100%;
text-align: right;
display:inline-block;
}
.w-260{
width:260px;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -20,6 +20,7 @@
<script src="//web-1251519181.file.myqcloud.com/components/aside-menu.2.0.02.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/footer.2.0.02.js"></script>
<script src='//web-1251519181.file.myqcloud.com/components/store-linkage.2.0.00.js'></script>
<script src="//web-1251519181.file.myqcloud.com/components/member-info.1.0.0.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/card.2.0.01.js"></script>
<script src="//web-1251519181.file.myqcloud.com/components/export-excel.2.0.02.js"></script>
<!-- <script src="//web-1251519181.cos.ap-shanghai.myqcloud.com/components/space.2.0.00.js"></script> -->
......
const host = window.location.origin;
// eslint-disable-next-line
export const baseUrl = process.env.NODE_ENV === 'development' ? '/dmApi' : host.indexOf('localhost') != '-1' ? 'http://gicdev.demogic.com' : host;
<template>
<el-popover width="440" height="180" trigger="hover" @show="getMemberInfo" :placement="placement">
<div class="corsur-pointer">
<!-- -->
<div class="singelinfo" @click="linkDetail">
<div class="singelinfo-img">
<img width="100" height="100" v-if="memberInfo.photoUrl" :src="memberInfo.photoUrl" alt="" />
<img width="100" height="100" v-else src="./head_default.png" alt="" />
</div>
<div class="member-info-content">
<div class="info-top">
<span class="lheigt20 fl">{{ memberObj.memberName }}</span>
<div class="fr">
<img title="已取消关注公众号" v-if="memberInfo.status == 0" src="./status@gzhcanclegray.png" style="margin-right:5px" />
<img title="已关注公众号" v-else-if="memberInfo.status == 1" src="./status@gzh.png" style="margin-right:5px" />
<img title="未关注公众号" v-else src=".//status@gzhgray.png" style="margin-right:5px" />
<img title="使用过小程序" v-if="memberInfo.usedMiniProgram" src="./status@xcx.png" style="margin-right:5px" />
<img title="未使用小程序" v-else src="./status@xcxgray.png" style="margin-right:5px" />
<img title="已绑定手机号" v-if="memberInfo.bindPhone" src="./phone_icon.png" style="margin-right:5px" />
<img title="未绑定手机号" v-else src="./phone_icon_gray.png" style="margin-right:5px" />
<img title="已认证" v-if="memberInfo.authStatus" src="./member_icon.png" style="margin-right:5px" />
<img title="未认证" v-else src="./member_icon_gray.png" style="margin-right:5px" />
</div>
</div>
<p class="member-detal-info">
<span style="margin-right:5px;">{{ memberInfo.sex === 0 ? '未知性别' : memberInfo.sex === 1 ? '男' : '女' }}</span>
<span style="margin-right:5px;">{{ memberInfo.age }}</span>
<span>{{ memberInfo.cardNo }}</span>
</p>
<p class="member-detal-info">{{ memberInfo.mainStoreName }}</p>
<div class="singelinfo-cost">
<div class="singelinfo-costitem">
<p>{{ memberInfo.costFee || 0 }}</p>
<p>消费总额</p>
</div>
<div class="singelinfo-costitem">
<p>{{ memberInfo.costTimes || 0 }}</p>
<p>消费次数</p>
</div>
<div class="singelinfo-costitem">
<p class="no-wrap">{{ memberInfo.lastCostTime || '--' }}</p>
<p>最近消费</p>
</div>
</div>
</div>
</div>
<div class="singelinfo-jl">
<a class="singelinfo-jlitem">消费记录 ({{ memberInfo.numOfSale }})</a>
<a class="singelinfo-jlitem">营销记录 ({{ memberInfo.numOfmarket }})</a>
<a class="singelinfo-jlitem">卡券记录 ({{ memberInfo.numOfCard }})</a>
</div>
</div>
<div slot="reference" style="width:200px;">
<a :href="'/member/#/wechatmemberDetail?memberId=' + memberObj.memberId" target="_blank" class="link-content">
<img class="vertical-middle table__avatar" :src="filterAvatar(memberObj.memberImgUrl)" width="60" height="60" alt="" srcset="" />
<div class="table-info">
<p class="table-name--ellipsis">{{ memberObj.memberName || '--' }}</p>
<!-- <p class="table-card--ellipsis fz13">{{ memberObj.cardNum || '--' }}</p> -->
</div>
</a>
</div>
</el-popover>
</template>
<script>
export default {
name: 'member-info',
props: {
memberObj: {
type: Object,
default() {
return {};
}
},
requestProject: {
type: String
},
placement: {
type: String
}
},
data() {
return {
memberInfo: {},
baseUrl: window.location.origin,
/*eslint-disable*/
defaultAvatar: require('./head_default.png'),
};
},
methods: {
filterAvatar(img) {
return img ? img.replace(/^http(s)?/, 'https') : this.defaultAvatar;
},
//获取会员详情
getMemberInfo() {
let params = {
memberId: this.memberObj.memberId
};
this.axios.post(this.baseUrl + '/api-member/load-member-single-info?requestProject=' + this.requestProject, params).then(res => {
if (res.data.errorCode == 0) {
this.memberInfo = res.data.result.memberSingle;
} else {
this.memberInfo = {};
this.$message.error(res.data.message);
}
});
},
linkDetail() {
window.open(`/member/#/wechatmemberDetail?memberId=${this.memberObj.memberId}`);
}
}
};
</script>
<style scoped>
.link-content {
display: flex;
align-items: center;
}
.table-info {
width: 200px;
margin-left: 5px;
}
.table-name--ellipsis {
line-height: 18px;
color: #303133;
}
.table-card--ellipsis {
font-size: 13px;
line-height: 18px;
word-break: break-all;
}
.singelinfo {
display: flex;
}
.singelinfo-img {
display: inline-block;
vertical-align: top;
}
.lheigt20 {
line-height: 20px;
}
.member-info-content {
margin-left: 10px;
flex: 1;
}
.info-top {
height: 20px;
}
.fl {
float: left;
}
.fr {
float: right;
}
.member-detal-info {
margin: 5px 0;
line-height: 16px;
}
.singelinfo-cost {
display: flex;
align-content: center;
}
.singelinfo-costitem {
text-align: center;
flex: 1;
}
.singelinfo-jl {
display: flex;
margin: 15px 0;
}
.singelinfo-jlitem {
text-align: center;
flex: 1;
}
</style>
......@@ -183,7 +183,7 @@ export default {
proShowStatus: 1, //显示状态
exchangeDateType: 1, //兑换日期
exchangeTimeType: 1, //兑换时段
exchangeFixDate: '', //固定日期
exchangeFixDate: [], //固定日期
exchangeDateDayArr: [],
exchangeDateWeekArr: [],
timeRangeList: [{ timeRange: '' }], //部分时段数组
......@@ -219,10 +219,7 @@ export default {
created() {
this.mallProId = this.$route.query.giftId;
this.coupCardId = this.$route.query.coupCardId;
if (this.coupCardId !== '-1') {
this.proReferId = this.coupCardId;
this.getCardInfo();
}
if (this.mallProId !== '-1') {
this.getInfo();
}
......@@ -254,16 +251,55 @@ export default {
};
request.post('/api-integral-mall/get-integral-mall-pro', qs.stringify(params)).then(res => {
if (res.data.errorCode === 0) {
this.couponForm = res.data.result;
this.couponForm.memberGrade = res.data.result.memberGrade.split(',');
// this.couponForm = res.data.result;
this.coupCardId = res.data.result.proReferId;
if (this.coupCardId !== '-1') {
this.proReferId = this.coupCardId;
this.getCardInfo();
}
//积分费用
this.couponForm.integralCost = res.data.result.integralCost;
//现金费用
this.couponForm.cashCost = res.data.result.cashCost;
//库存
this.couponForm.virtualStock = res.data.result.virtualStock;
//适用会员
if (res.data.result.memberGrade) {
this.couponForm.memberGrade = res.data.result.memberGrade.split(',');
} else {
this.couponForm.memberGrade = [];
}
//限兑
if (res.data.result.limitTimes === -1) {
this.couponForm.limitTimesStatus = false;
} else {
this.couponForm.limitTimesStatus = true;
}
//限兑
this.couponForm.limitTimes = res.data.result.limitTimes;
this.costValue = res.data.result.costValue; //礼品陈本
//不分时间段
// 兑换日期
// 兑换日期
this.couponForm.exchangeDateType = res.data.result.exchangeDateType;
if (this.couponForm.exchangeDateType === 2) {
this.couponForm.exchangeFixDate = [];
this.couponForm.exchangeFixDate.push(res.data.result.exchangeFixDateBegin);
this.couponForm.exchangeFixDate.push(res.data.result.exchangeFixDateEnd);
} else if (this.couponForm.exchangeDateType === 3) {
this.couponForm.exchangeDateDayArr = res.data.result.exchangeDateDay.split(',');
this.couponForm.exchangeDateWeekArr = [];
} else if (this.couponForm.exchangeDateType === 4) {
this.couponForm.exchangeDateWeekArr = res.data.result.exchangeDateWeek.split(',');
this.couponForm.exchangeDateDayArr = [];
}
// 兑换时段
this.couponForm.exchangeTimeType = res.data.result.exchangeTimeType;
//部分时间段
let timeDate;
let timeRangeList;
if (this.couponForm.exchangeTimeType === 2) {
......@@ -276,19 +312,16 @@ export default {
}
this.couponForm.timeRangeList = timeRangeList;
}
// 固定日期
if (this.couponForm.exchangeDateType === 2) {
this.couponForm.exchangeFixDate = [];
this.couponForm.exchangeFixDate.push(res.data.result.exchangeFixDateBegin);
this.couponForm.exchangeFixDate.push(res.data.result.exchangeFixDateEnd);
} else if (this.couponForm.exchangeDateType === 3) {
this.couponForm.exchangeDateDayArr = res.data.result.exchangeDateDay.split(',');
this.couponForm.exchangeDateWeekArr = [];
} else if (this.couponForm.exchangeDateType === 4) {
this.couponForm.exchangeDateWeekArr = res.data.result.exchangeDateWeek.split(',');
this.couponForm.exchangeDateDayArr = [];
//显示状态
this.couponForm.proShowStatus = res.data.result.proShowStatus;
//上架时间
this.couponForm.releaseType = res.data.result.releaseType;
if (this.couponForm.releaseType === 2) {
this.couponForm.limitTimeBegin = res.data.result.limitTimeBegin;
} else {
this.couponForm.limitTimeBegin = '';
}
this.couponForm.limitTimes = res.data.result.limitTimes;
} else {
this.$message.error(res.data.message);
}
......@@ -358,7 +391,7 @@ export default {
proReferId: this.proReferId, //卡券id
integralCost: this.couponForm.integralCost, //积分费用
cashCost: this.couponForm.cashCost, //现金
virtualStock: this.couponForm.cashCost, //库存
virtualStock: this.couponForm.virtualStock, //库存
memberGrade: this.couponForm.memberGrade.join(','), //适用会员
showStore: this.sendChildData.storeType, // 显示门店 0所有 1部分分类 2部分门店
storeIds: '', //展现门店id
......@@ -474,4 +507,7 @@ export default {
.select-shop__right {
line-height: 28px !important;
}
.section-content .pagination {
float: none !important;
}
</style>
......@@ -288,7 +288,7 @@ export default {
releaseType: 1, //上架时间
limitTimeBegin: '', //上架时间具体
changeType: 1, //配送方式T
refundType: 0, //是否允许退款
refundType: 1, //是否允许退款
costValue: '', //礼品成本
proCode: '', //编码
integralCost: '', //积分
......@@ -309,7 +309,7 @@ export default {
exchangeDateWeekArr: [{ required: true, message: '请选择时间', trigger: 'change' }],
limitTimeBegin: [{ required: true, message: '请选择时间', trigger: 'change' }]
},
refundTypeStatus: true,
refundTypeStatus: false,
// uploadAction: window.location.origin + '/api-plug/upload-img?requestProject=integral-mall',
uploadAction: 'http://gicdev.demogic.com/api-plug/upload-img?requestProject=integral-mall',
proNameLen: 0,
......@@ -341,7 +341,7 @@ export default {
// projectName: 'intergral-mall', //当前项目名
showCardDialog: false,
cardLimit: 3, //卡券限制类型 1-限制领取1张的卡券 2- 限制领取 1~100的卡券 3-限制领取&=100 的卡券
cardType: null, //卡券类型集合(0:抵金券,1:折扣券,2:兑换券)null-为全部类型 逗号分隔
cardType: 2, //卡券类型集合(0:抵金券,1:折扣券,2:兑换券)null-为全部类型 逗号分隔
disabledList: [],
selectedData: {},
cardList: [],
......@@ -350,11 +350,18 @@ export default {
};
},
created() {
this.giftType = Number(this.$route.query.type); //列表上实物是1虚拟是2
this.giftType = Number(this.$route.query.type); //列表上实物是1虚拟是0
this.mallProId = this.$route.query.giftId;
this.giftForm.proReferId = this.$route.query.proReferId;
this.getCategoryOptions(); //分类数据
this.getMemberGradeList(); //会员等级列表
if (this.giftType === 1) {
//实物
this.giftForm.changeType = 2;
} else if (this.giftType === 0) {
//虚拟
this.giftForm.changeType = 3;
}
if (this.mallProId !== '-1') {
this.getInfo();
this.editChangeTypeStatus = true;
......
......@@ -36,17 +36,19 @@
</div>
<el-tab-pane label="全部" name="-1" class="goods-table-content"> </el-tab-pane>
<el-tab-pane label="待付款" name="11" class="goods-table-content"> </el-tab-pane>
<el-tab-pane label="已付款" name="4" class="goods-table-content"> </el-tab-pane>
<el-tab-pane label="已付款" name="12" class="goods-table-content"> </el-tab-pane>
<el-tab-pane label="交易关闭" name="0" class="goods-table-content"> </el-tab-pane>
<div class="goods-list-content">
<el-table :data="tableData" ref="multipleTable" style="width: 100%" @sort-change="sortChange" v-loading="loading">
<el-table-column type="selection" width="40"> </el-table-column>
<el-table-column label="礼品信息" min-width="320px">
<el-table-column label="礼品信息" width="300px">
<template slot-scope="scope">
<div class="gift-info">
<img :src="scope.row.giftMainPic" v-if="scope.row.cardType === 2" />
<img v-if="scope.row.cardType === 0" src="../../../static/img/di.png" alt="" />
<img v-if="scope.row.cardType === 1" src="../../../static/img/zhe.png" alt="" />
<!-- 抵换券 -->
<img v-if="scope.row.cardType === 0" src="../../../static/img/quan01.png" alt="" />
<!-- 折扣券 -->
<img v-if="scope.row.cardType === 1" src="../../../static/img/quan03.png" alt="" />
<div class="info-name">
<p class="pro-ellipsis">{{ scope.row.giftName }}</p>
<!-- status: 1是未领取,2是已领取 -->
......@@ -60,13 +62,13 @@
</div>
</template>
</el-table-column>
<el-table-column prop="createTime" label="下单时间" sortable="custom" min-width="120px">
<el-table-column prop="createTime" label="下单时间" sortable="custom">
<template slot-scope="scope">
<p style="line-height:18px">{{ scope.row.createTime ? getTime(scope.row.createTime) : '--' }}</p>
<p style="line-height:18px" class="gray-color">{{ scope.row.createTime ? getSeconds(scope.row.createTime) : '--' }}</p>
</template>
</el-table-column>
<el-table-column prop="definedCode" label="订单编号" min-width="140px">
<el-table-column prop="definedCode" label="订单编号">
<template slot-scope="scope">
<el-dropdown @visible-change="i => getOrderInfo(i, scope.row.integralMallProExchangeId)" trigger="click">
<span class="el-dropdown-link"> {{ scope.row.definedCode }}<i class="el-icon-arrow-down el-icon--right"></i> </span>
......@@ -85,10 +87,7 @@
</el-table-column>
<el-table-column label="会员">
<template slot-scope="scope">
<p>{{ scope.row.memberName }}</p>
<p>
<a :href="windowUrl + '/member/#/wechatmemberDetail?memberId=' + scope.row.memberId" target="_blank">{{ scope.row.cardNum }}</a>
</p>
<vue-member-info :memberObj="scope.row" :requestProject="requestProject" :placement="placement"></vue-member-info>
</template>
</el-table-column>
<el-table-column prop="complete" label="交易状态">
......@@ -168,7 +167,9 @@ export default {
dialogVisible: false,
integralMallProExchangeId: ''
},
integralMallProId: ''
integralMallProId: '',
requestProject: 'integral-mall',
placement: 'top-start'
};
},
created() {
......@@ -326,6 +327,9 @@ export default {
padding: 22px 24px 24px 24px;
background: #fff;
}
.gift-info {
display: flex;
}
.gift-info img {
width: 80px;
height: 80px;
......
......@@ -44,7 +44,7 @@
<div class="goods-list-content">
<el-table :data="tableData" ref="multipleTable" style="width: 100%" @sort-change="sortChange" v-loading="loading">
<el-table-column type="selection" width="40"> </el-table-column>
<el-table-column label="礼品信息" min-width="320px">
<el-table-column label="礼品信息" width="300px">
<template slot-scope="scope">
<div class="gift-info">
<img :src="scope.row.giftMainPic" />
......@@ -58,13 +58,13 @@
</div>
</template>
</el-table-column>
<el-table-column prop="createTime" label="下单时间" sortable="custom" min-width="120px">
<el-table-column prop="createTime" label="下单时间" sortable="custom">
<template slot-scope="scope">
<p style="line-height:18px">{{ scope.row.createTime ? getTime(scope.row.createTime) : '--' }}</p>
<p style="line-height:18px" class="gray-color">{{ scope.row.createTime ? getSeconds(scope.row.createTime) : '--' }}</p>
</template>
</el-table-column>
<el-table-column prop="definedCode" label="订单编号" min-width="140px">
<el-table-column prop="definedCode" label="订单编号">
<template slot-scope="scope">
<el-dropdown @visible-change="i => getOrderInfo(i, scope.row.integralMallProExchangeId)" trigger="click">
<span class="el-dropdown-link"> {{ scope.row.definedCode }}<i class="el-icon-arrow-down el-icon--right"></i> </span>
......@@ -83,13 +83,14 @@
</el-table-column>
<el-table-column label="会员">
<template slot-scope="scope">
<p>{{ scope.row.memberName }}</p>
<vue-member-info :memberObj="scope.row" :requestProject="requestProject" :placement="placement"></vue-member-info>
<!-- <p>{{ scope.row.memberName }}</p>
<p>
<a :href="windowUrl + '/member/#/wechatmemberDetail?memberId=' + scope.row.memberId" target="_blank">{{ scope.row.cardNum }}</a>
</p>
</p> -->
</template>
</el-table-column>
<el-table-column prop="complete" label="交易状态" min-width="120px">
<el-table-column prop="complete" label="交易状态">
<template slot-scope="scope">
<p style="line-height:18px">
<span v-if="scope.row.status === 11">待付款</span>
......@@ -143,6 +144,7 @@
<closeOrder :refunOrderdModal="refunOrderdModal"></closeOrder>
<!-- 取消订单 -->
<cancelOrder :closeInfoModal="closeInfoModal"></cancelOrder>
<!-- 会员信息 -->
</div>
</template>
......@@ -155,6 +157,7 @@ import deliverModal from './delive';
import deliverInfoModal from './deliverInfo';
import closeOrder from './closeOrder';
import cancelOrder from './getCloseDetail';
// import memberInfo from '../../components/dm-member-info/index';
export default {
data() {
return {
......@@ -230,7 +233,9 @@ export default {
clerkName: '', //操作人员
cancelReason: ''
},
integralMallProId: '' //礼品id
integralMallProId: '', //礼品id
placement: 'top-start',
requestProject: 'integral-mall'
};
},
created() {
......@@ -468,6 +473,7 @@ export default {
deliverInfoModal,
closeOrder,
cancelOrder
// memberInfo
}
};
</script>
......@@ -490,6 +496,9 @@ export default {
padding: 22px 24px 24px 24px;
background: #fff;
}
.gift-info {
display: flex;
}
.gift-info img {
width: 80px;
height: 80px;
......
......@@ -215,7 +215,9 @@ input:focus {
padding:30px 0 10px 0;
}
.pagination{
float:right;
width:100%;
text-align: right;
display:inline-block;
}
.w-260{
width:260px;
......
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