Commit 9aa6922b by chenxin

fix: build 右下角

parent 5cc65ef1
.ml40[data-v-4d728560]{margin-left:40px}.filter-block[data-v-4d728560]{color:#303133;background:#f7f8fa;padding:20px;margin-bottom:20px}.filter-block span[data-v-4d728560]{margin-left:10px;margin-right:10px;line-height:20px}.card[data-v-4d728560]{padding-left:70px;min-height:70px;position:relative}.card img[data-v-4d728560]{position:absolute;left:0;top:0;width:60px;height:60px;border-radius:4px}.card .name[data-v-4d728560]{color:#303133;padding-top:8px;margin-bottom:7px;line-height:22px}.el-icon-delete[data-v-682cce66]{display:inline-block;font-size:17px;padding:9px;margin-right:10px;color:#909399;border:1px solid #e4e7ed;border-radius:50%;vertical-align:middle;cursor:pointer;position:relative;top:-60px}.el-icon-delete[data-v-682cce66]:hover{background:#fef0f0;border:1px solid #fbc4c4;color:#f5222d}
\ No newline at end of file
.ml40[data-v-89174452]{margin-left:40px}.filter-block[data-v-89174452]{color:#303133;background:#f7f8fa;padding:20px;margin-bottom:20px}.filter-block span[data-v-89174452]{margin-left:10px;margin-right:10px;line-height:20px}.card[data-v-89174452]{padding-left:70px;min-height:70px;position:relative}.card img[data-v-89174452]{position:absolute;left:0;top:0;width:60px;height:60px;border-radius:4px}.card .name[data-v-89174452]{color:#303133;padding-top:8px;margin-bottom:7px;line-height:22px}.el-icon-delete[data-v-51536a1e]{display:inline-block;font-size:17px;padding:9px;margin-right:10px;color:#909399;border:1px solid #e4e7ed;border-radius:50%;vertical-align:middle;cursor:pointer;position:relative;top:-60px}.el-icon-delete[data-v-51536a1e]:hover{background:#fef0f0;border:1px solid #fbc4c4;color:#f5222d}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 200 200" style="enable-background:new 0 0 200 200;" xml:space="preserve">
<style type="text/css">
.st0{fill:#ADC6FF;}
.st1{fill:#303133;}
</style>
<path class="st0" d="M99.9,35.2l58,32.4v64.8l-58,32.4l-58-32.4V67.6L99.9,35.2z"/>
<path class="st1" d="M58.7,70.6C55,68.8,50,70,47.5,73.8s-0.6,8.8,3.1,11.2l41.2,23.8v45.6c0,1.9,0.6,4.4,2.5,5.6
c1.2,1.2,3.8,2.5,5.6,2.5c5,0,8.8-3.8,8.8-8.1v-45.6L149.4,85c3.8-2.5,5-7.5,3.1-11.2c-1.2-1.9-3.1-3.1-5-3.8
c-1.9-0.6-4.4,0-6.2,0.6L100,94.4L58.7,70.6z"/>
<path class="st1" d="M100,1.2L13.1,50.6V150l86.9,48.8l86.9-49.4V50.6L100,1.2z M170,140.6l-70,41.2l-70-41.2V59.4l70-41.2l70,40.6
V140.6z"/>
</svg>
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.
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.
......@@ -34,7 +34,7 @@
<script src="//web-1251519181.file.myqcloud.com/components/input.2.0.20.js"></script><!-- input !!3.0组件 -->
<script src="//web-1251519181.file.myqcloud.com/components/store-select.1.1.84.js"></script><!-- 门店选择器 -->
<script src="//web-1251519181.file.myqcloud.com/components/goods-selector.1.0.51.js"></script><!-- 商品选择器 -->
<script src="//web-1251519181.file.myqcloud.com/components/card-select.1.0.33.js"></script><!-- 卡券选择器 -->
<script src="//web-1251519181.file.myqcloud.com/components/card-select.1.0.34.js"></script><!-- 卡券选择器 -->
<script src="//web-1251519181.file.myqcloud.com/components/link-tools.2.1.21.js"></script><!-- 链接小工具 -->
<script src="//web-1251519181.file.myqcloud.com/components/export-data.1.1.1.js"></script><!-- 数据导出 -->
<script src="//web-1251519181.file.myqcloud.com/components/integral-select.1.0.26.js"></script><!-- 积分选择器 -->
......@@ -48,7 +48,7 @@
<script src="//web-1251519181.file.myqcloud.com/components/preview-img.1.0.3.js"></script><!-- 图片预览 -->
<script src="//web-1251519181.file.myqcloud.com/components/delete.1.1.4.js"></script><!-- 删除轻弹窗 -->
<script src="//web-1251519181.file.myqcloud.com/components/input-number.1.0.10.js"></script><!-- 输入框 -->
<script src="//web-1251519181.file.myqcloud.com/components/welfare-selector.0.0.6.js"></script><!-- 福利选择器 -->
<script src="//web-1251519181.file.myqcloud.com/components/welfare-selector.0.0.7.js"></script><!-- 福利选择器 -->
<script src="//web-1251519181.file.myqcloud.com/components/acc-group-select.1.0.5.js"></script><!-- 账号分组组件 -->
<script src="//web-1251519181.file.myqcloud.com/components/editor.1.1.13.js"></script><!-- 富文本编辑器 -->
</body>
......
......@@ -26,6 +26,7 @@ let o2 = {
method: 'post',
}, // 库存上传记录
virtualErrorPage: '/gift/vir-card-error-page', // 库存上传记录-上传错误日志分页
getWelfareAppList: '/gift/get-welfare-application-list', // 当前福利支持应用查询
};
// other
......
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 24.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 200 200" style="enable-background:new 0 0 200 200;" xml:space="preserve">
<style type="text/css">
.st0{fill:#ADC6FF;}
.st1{fill:#303133;}
</style>
<path class="st0" d="M99.9,35.2l58,32.4v64.8l-58,32.4l-58-32.4V67.6L99.9,35.2z"/>
<path class="st1" d="M58.7,70.6C55,68.8,50,70,47.5,73.8s-0.6,8.8,3.1,11.2l41.2,23.8v45.6c0,1.9,0.6,4.4,2.5,5.6
c1.2,1.2,3.8,2.5,5.6,2.5c5,0,8.8-3.8,8.8-8.1v-45.6L149.4,85c3.8-2.5,5-7.5,3.1-11.2c-1.2-1.9-3.1-3.1-5-3.8
c-1.9-0.6-4.4,0-6.2,0.6L100,94.4L58.7,70.6z"/>
<path class="st1" d="M100,1.2L13.1,50.6V150l86.9,48.8l86.9-49.4V50.6L100,1.2z M170,140.6l-70,41.2l-70-41.2V59.4l70-41.2l70,40.6
V140.6z"/>
</svg>
<template>
<div class="switch-page">
<el-popover v-if="!(project == '' || project == 'index')" placement="left-end" width="143" trigger="hover" popper-class="sw-page-pop">
<div v-if="!(project == '' || project == 'index')" class="switch-page">
<el-popover placement="left-end" open-delay="200" width="143" trigger="hover" popper-class="sw-page-pop">
<div>
<ul class="toggle">
<li v-show="!project.includes('gift')">
......@@ -15,26 +15,69 @@
<img src="../../assets/images/svg/more.svg" width="30" height="30" />
</div>
</el-popover>
<el-popover v-if="!(project == '' || project == 'index')" placement="left-end" width="143" trigger="hover" popper-class="sw-page-pop">
<div>
?????
<el-popover v-model="showCanUseApp" open-delay="200" placement="left-end" width="365" trigger="hover" popper-class="sw-page-pop" @hide="close">
<div class="pl15">
<div class="text-right"><i class="el-dialog__close el-icon el-icon-close mr10 cursor" @click="close"></i></div>
<ul class="app-list">
<li v-for="(item, idx) in appList" :key="idx" @click="goLink(item)">
<div>
<img :src="item.iconUrl" draggable="false" />
<p :title="item.appName" class="ellipsis-100">{{ item.appName }}</p>
</div>
</li>
<div v-if="appList.length == 0" class="empty_block"></div>
</ul>
</div>
<div class="s-icon" slot="reference">
<img src="../../assets/images/svg/more.svg" width="30" height="30" />
<img src="../../assets/images/svg/app.svg" width="30" height="30" />
</div>
</el-popover>
<!-- <div class="s-icon">
<img src="../../assets/images/svg/more.svg" width="30" height="30" />
</div> -->
</div>
</template>
<script>
import fetch from '@/api/common.js';
const { getWelfareAppList } = fetch;
export default {
name: 'SwitchPage',
data() {
return {
showCanUseApp: false,
appList: []
};
},
mounted() {
this.getAppList();
},
methods: {
close() {
this.showCanUseApp = false;
this.$store.commit('updateShowCornerCanUseApp', false);
},
getAppList() {
getWelfareAppList().then(res => {
this.appList = res.result || [];
});
},
async goLink(item) {
localStorage.setItem('appApplicationId', item.applicationId);
window.open(item.authorizeUrl, '_blank', 'noopener');
},
},
computed: {
project() {
return this.$store.state.project;
},
showCornerCanUseApp() {
return this.$store.state.showCornerCanUseApp;
}
},
watch: {
showCornerCanUseApp(val) {
if(val) {
this.showCanUseApp = true;
}
}
}
};
......@@ -52,11 +95,57 @@ export default {
padding-top: 9px;
width: 50px;
height: 50px;
background: #F7F8FA;
background: #fff;
border-radius: 4px;
border: 1px solid #DCDFE6;
cursor: pointer;
text-align: center;
transition: all 0.2s;
&:hover {
background: #F7F8FA;
}
}
}
.app-block {
padding-left: 20px;
}
.app-list {
margin-top: 12px;
li {
width: 162px;
height: 48px;
background: #FFFFFF;
display: inline-block;
margin-right: 10px;
margin-bottom: 10px;
height: 48px;
position: relative;
cursor: pointer;
&:nth-child(2n) {
margin-right: 0px;
}
div {
position: absolute;
top: 0;
left: 0;
width: 100%;
box-shadow: 0px 4px 12px 0px rgba(220, 223, 230, 0.6);
border: 1px solid #DCDFE6;
padding-left: 56px;
padding-right: 12px;
line-height: 48px;
transition: all 0.2s;
&:hover {
margin-top: -5px;
}
img {
width: 32px;
height: 32px;
position: absolute;
top: 8px;
left: 12px;
}
}
}
}
.toggle {
......
......@@ -19,9 +19,13 @@ export default new Vuex.Store({
menu: {}, // 对应mapping里的值
extraHideLeft: '', // 特殊页面控制 asidemenu显示隐藏 为hide的时候隐藏 其余不起作用,按照原本的moduleCode里的showLeft控制
mainHeight: 0, // main的高度
routePath: []
routePath: [],
showCornerCanUseApp: false // 右下角弹出可用app列表
},
mutations: {
updateShowCornerCanUseApp(state, showCornerCanUseApp) {
state.showCornerCanUseApp = showCornerCanUseApp;
},
updateRoutePath(state, routePath) {
state.routePath = routePath;
},
......
......@@ -224,7 +224,7 @@ export default {
this.cardLoading = false;
});
},
getInfo() {
getInfo(showTip = false) {
this.loading = true;
getPackageDetail({ couponPackageId: this.couponPackageId }).then(res => {
this.loading = false;
......@@ -240,6 +240,9 @@ export default {
this.stockType = info.stockUseType == 2 ? [ 0, 1 ] : [ info.stockUseType ] ;
this.dateTime = [ info.beginDate, info.endDate ];
this.couponList = res.result.couponList || [];
if(showTip && this.couponList.map(v => v.welfareStatus == 1).length < 2) {
this.$tips({ message: '卡券包中至少包含2张状态为已生效的卡券', type: 'warning' });
}
if (info.operAuthType == 2) {
this.ruleForm.operAuth = info.operAuth.split(',');
}
......@@ -268,6 +271,9 @@ export default {
addPackages(params).then(res => {
this.loading = false;
this.$tips({ message: `${ this.isAdd ? '新建' : '编辑' }成功`, type: 'success' });
if(this.isAdd) {
this.$store.commit('updateShowCornerCanUseApp', true);
}
if(!this.isAdd) {
this.$router.push('/card-package/list');
} else {
......@@ -298,7 +304,7 @@ export default {
};
this.loading = true;
editPackages(params).then(res => {
this.getInfo();
this.getInfo(true);
this.loading = false;
}).catch(() => {
this.loading = false;
......@@ -333,8 +339,8 @@ export default {
params() {
return {
memberCardId: this.currentAreaId,
startCreateTime: formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd'),
endCreateTime: formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd'),
effectStartTime: formatDateTimeByType(this.dateTime[0], 'yyyy-MM-dd'),
effectEndTime: formatDateTimeByType(this.dateTime[1], 'yyyy-MM-dd'),
minRemainedStock: this.ruleForm.packageStock
};
},
......
......@@ -90,20 +90,16 @@
</el-tooltip>
</template>
<template slot-scope="scope">
<template v-if="scope.row.totalCouponSize < 2">
<span class="state-point state-point-warning">未生效</span>
</template>
<template v-else>
<span class="state-point state-point-success" v-if="scope.row.useStatus == 1">已生效</span>
<span class="state-point state-point-default" v-if="scope.row.useStatus == 2">已过期</span>
<span class="state-point state-point-default" v-if="scope.row.useStatus == 3">已失效</span>
</template>
<span class="state-point state-point-success" v-if="scope.row.useStatus == 1">已生效</span>
<span class="state-point state-point-default" v-if="scope.row.useStatus == 2">已过期</span>
<span class="state-point state-point-default" v-if="scope.row.useStatus == 3">已失效</span>
</template>
</el-table-column>
<el-table-column label="操作" align="left" width="180px" fixed="right">
<template slot-scope="scope">
<dm-perm-button type="text" @click="$router.push(`/card-package/edit?id=${scope.row.couponPackageId}`)">编辑</dm-perm-button>
<dm-perm-button type="text" @click="$router.push(`/card-package/send-list?id=${scope.row.couponPackageId}`)" class="mr20">发放记录</dm-perm-button>
<dm-perm-button type="text" v-if="scope.row.useStatus != 2" @click="$router.push(`/card-package/edit?id=${scope.row.couponPackageId}`)">编辑</dm-perm-button>
<!-- statusFlag 1正常(生效状态),0卡券张数不正常(失效状态) -->
<el-button v-if="!(scope.row.useStatus == 2 && scope.row.statusFlag == 0)" type="text" @click="$router.push(`/card-package/send-list?id=${scope.row.couponPackageId}`)">发放记录</el-button>
<el-popover popper-class="option-dropdown" trigger="hover">
<ul>
<li>
......@@ -113,7 +109,7 @@
<dm-perm-button @click="delOne(scope.row)" :disabld="$itemPerm($itemCode.gicDeletePackage)" type="text">删除</dm-perm-button>
</li>
</ul>
<el-button type="text" slot="reference"><i class="el-icon-more"></i></el-button>
<el-button :class="{'ml20': !(scope.row.useStatus == 2 && scope.row.statusFlag == 0)}" type="text" slot="reference"><i class="el-icon-more"></i></el-button>
</el-popover>
</template>
</el-table-column>
......
......@@ -841,6 +841,7 @@ export default {
this.result.visible = true;
this.submitType = 1;
this.loading = false;
this.$store.commit('updateShowCornerCanUseApp', true);
}).catch(() => {
this.loading = false;
});
......
......@@ -130,7 +130,9 @@ export default {
this.$emit('updateBread', [ { breadName: '福利中心' }, { breadName: 'GIC卡券销毁列表' } ]);
},
mounted() {
this.getTableList();
if(this.currentAreaId) {
this.getTableList();
}
},
methods: {
showDialog(type, destoryItem) {
......
......@@ -4,9 +4,8 @@
<el-alert class="mb10" title="卡券销毁将不可撤回,请谨慎操作" type="warning" show-icon :closable="false"></el-alert>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="130px" class="pt20">
<el-form-item label="选择卡券" prop="couponId">
{{ ruleForm.couponId }}
<!-- 只有卡券销毁处传isDestory这个参数 -->
<!-- <dm-card-select v-if="show" ref="cardSelect" class="cardSelect" :member-card-id="currentAreaId" @selectData="selectData" fix-member-card is-destory /> -->
<dm-card-select v-if="show" ref="cardSelect" class="cardSelect" :member-card-id="currentAreaId" @selectData="selectData" fix-member-card />
</el-form-item>
<el-form-item label="销毁方式" prop="destroyMode">
<el-radio-group :disabled="type !== 'add'" v-model="ruleForm.destroyMode">
......
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