Commit 7653e1ce by chenxin

fix: 卡券&build

parent 43af6059
<!DOCTYPE html><html lang=cn><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=/welfare/favicon2.ico><link rel=stylesheet href=/welfare/static/css/index.css><link href=https://cdn.bootcss.com/element-ui/2.12.0/theme-chalk/index.css rel=stylesheet><link href=//at.alicdn.com/t/font_1434755_89ndzcq2ndm.css rel=stylesheet><link rel=stylesheet type=text/css href=//at.alicdn.com/t/font_1418963_hrpaaxicjis.css><link rel=stylesheet type=text/css href=//at.alicdn.com/t/font_1393418_z4h4445tiwe.css><link rel=stylesheet type=text/css href=//at.alicdn.com/t/font_2349215_oprmr2ef7em.css><link rel=stylesheet type=text/css href=//web-1251519181.file.myqcloud.com/custom-element/custom-element.1.0.58.3.css><script src=//at.alicdn.com/t/font_1418963_hrpaaxicjis.js></script><link href=/welfare/css/card-package.ac4691b9.css rel=prefetch><link href=/welfare/css/card-package~gic-card.78656863.css rel=prefetch><link href=/welfare/css/chunk-02062f99.757fd252.css rel=prefetch><link href=/welfare/css/chunk-2107e6c5.4536701d.css rel=prefetch><link href=/welfare/css/chunk-4b84bff4.963b4aa0.css rel=prefetch><link href=/welfare/css/chunk-53f4695c.9908b7cb.css rel=prefetch><link href=/welfare/css/chunk-8a171d34.8af5c3d1.css rel=prefetch><link href=/welfare/css/chunk-9f31dcfe.75b8fd67.css rel=prefetch><link href=/welfare/css/gic-card.237db503.css rel=prefetch><link href=/welfare/js/card-package.d0a8c0b7.js rel=prefetch><link href=/welfare/js/card-package~gic-card.dfadd734.js rel=prefetch><link href=/welfare/js/chunk-02062f99.072e616f.js rel=prefetch><link href=/welfare/js/chunk-2107e6c5.f2137ad1.js rel=prefetch><link href=/welfare/js/chunk-35ba1f02.32555561.js rel=prefetch><link href=/welfare/js/chunk-4b84bff4.fc2c14d9.js rel=prefetch><link href=/welfare/js/chunk-53f4695c.23f8f592.js rel=prefetch><link href=/welfare/js/chunk-8a171d34.53b72a0e.js rel=prefetch><link href=/welfare/js/chunk-9f31dcfe.2b85ba0c.js rel=prefetch><link href=/welfare/js/gic-card.31f69f18.js rel=prefetch><link href=/welfare/css/app.760c95a6.css rel=preload as=style><link href=/welfare/js/app.63579662.js rel=preload as=script><link href=/welfare/js/chunk-vendors.e8c008b5.js rel=preload as=script><link href=/welfare/css/app.760c95a6.css rel=stylesheet></head><body class=damolish><noscript><strong>We're sorry but damolish doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib-4.0/vue/2.6.10/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib-4.0/vue-router/3.0.3/vue-router.js></script><script src=//web-1251519181.file.myqcloud.com/lib-4.0/vuex/3.0.1/vuex.js></script><script src=//web-1251519181.file.myqcloud.com/lib-4.0/axios/0.19.0/axios.min.js></script><script src=//web-1251519181.file.myqcloud.com/components/base.1.0.0.17.js></script><script src=//web-1251519181.file.myqcloud.com/components/layout.1.2.59.js></script><script src=//web-1251519181.file.myqcloud.com/components/input.2.0.20.js></script><script src=//web-1251519181.file.myqcloud.com/components/people-selector.1.0.10.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-select.1.1.78.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/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><script src=//web-1251519181.file.myqcloud.com/components/rule-engine.1.0.86.js></script><script src=//web-1251519181.file.myqcloud.com/components/pagination.1.0.10.js></script><script src=//web-1251519181.file.myqcloud.com/components/perm-button.1.0.1.js></script><script src=//web-1251519181.file.myqcloud.com/components/steps.1.0.1.js></script><script src=//web-1251519181.file.myqcloud.com/components/upload-picture.1.0.6.js></script><script src=//web-1251519181.file.myqcloud.com/components/upload-file.1.0.4.js></script><script src=//web-1251519181.file.myqcloud.com/components/app-info.1.0.5.js></script><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/acc-group-select.1.0.3.js></script><script src=//web-1251519181.file.myqcloud.com/components/editor.1.1.12.js></script><script src=/welfare/js/chunk-vendors.e8c008b5.js></script><script src=/welfare/js/app.63579662.js></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html lang=cn><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=/welfare/favicon2.ico><link rel=stylesheet href=/welfare/static/css/index.css><link href=https://cdn.bootcss.com/element-ui/2.12.0/theme-chalk/index.css rel=stylesheet><link href=//at.alicdn.com/t/font_1434755_89ndzcq2ndm.css rel=stylesheet><link rel=stylesheet type=text/css href=//at.alicdn.com/t/font_1418963_hrpaaxicjis.css><link rel=stylesheet type=text/css href=//at.alicdn.com/t/font_1393418_z4h4445tiwe.css><link rel=stylesheet type=text/css href=//at.alicdn.com/t/font_2349215_oprmr2ef7em.css><link rel=stylesheet type=text/css href=//web-1251519181.file.myqcloud.com/custom-element/custom-element.1.0.58.3.css><script src=//at.alicdn.com/t/font_1418963_hrpaaxicjis.js></script><link href=/welfare/css/card-package.ac4691b9.css rel=prefetch><link href=/welfare/css/card-package~gic-card.78656863.css rel=prefetch><link href=/welfare/css/chunk-02062f99.757fd252.css rel=prefetch><link href=/welfare/css/chunk-2107e6c5.4536701d.css rel=prefetch><link href=/welfare/css/chunk-4b84bff4.963b4aa0.css rel=prefetch><link href=/welfare/css/chunk-53f4695c.9908b7cb.css rel=prefetch><link href=/welfare/css/chunk-8a171d34.8af5c3d1.css rel=prefetch><link href=/welfare/css/chunk-9f31dcfe.75b8fd67.css rel=prefetch><link href=/welfare/css/gic-card.fbc40bbf.css rel=prefetch><link href=/welfare/js/card-package.d0a8c0b7.js rel=prefetch><link href=/welfare/js/card-package~gic-card.29632d15.js rel=prefetch><link href=/welfare/js/chunk-02062f99.072e616f.js rel=prefetch><link href=/welfare/js/chunk-2107e6c5.f2137ad1.js rel=prefetch><link href=/welfare/js/chunk-35ba1f02.32555561.js rel=prefetch><link href=/welfare/js/chunk-4b84bff4.fc2c14d9.js rel=prefetch><link href=/welfare/js/chunk-53f4695c.23f8f592.js rel=prefetch><link href=/welfare/js/chunk-8a171d34.53b72a0e.js rel=prefetch><link href=/welfare/js/chunk-9f31dcfe.2b85ba0c.js rel=prefetch><link href=/welfare/js/gic-card.03fb1267.js rel=prefetch><link href=/welfare/css/app.b28f880b.css rel=preload as=style><link href=/welfare/js/app.c6fb650f.js rel=preload as=script><link href=/welfare/js/chunk-vendors.e8c008b5.js rel=preload as=script><link href=/welfare/css/app.b28f880b.css rel=stylesheet></head><body class=damolish><noscript><strong>We're sorry but damolish doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=//web-1251519181.file.myqcloud.com/lib-4.0/vue/2.6.10/vue.min.js></script><script src=//web-1251519181.file.myqcloud.com/lib-4.0/vue-router/3.0.3/vue-router.js></script><script src=//web-1251519181.file.myqcloud.com/lib-4.0/vuex/3.0.1/vuex.js></script><script src=//web-1251519181.file.myqcloud.com/lib-4.0/axios/0.19.0/axios.min.js></script><script src=//web-1251519181.file.myqcloud.com/components/base.1.0.0.17.js></script><script src=//web-1251519181.file.myqcloud.com/components/layout.1.2.59.js></script><script src=//web-1251519181.file.myqcloud.com/components/input.2.0.20.js></script><script src=//web-1251519181.file.myqcloud.com/components/people-selector.1.0.10.js></script><script src=//web-1251519181.file.myqcloud.com/components/store-select.1.1.78.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/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><script src=//web-1251519181.file.myqcloud.com/components/rule-engine.1.0.86.js></script><script src=//web-1251519181.file.myqcloud.com/components/pagination.1.0.10.js></script><script src=//web-1251519181.file.myqcloud.com/components/perm-button.1.0.1.js></script><script src=//web-1251519181.file.myqcloud.com/components/steps.1.0.1.js></script><script src=//web-1251519181.file.myqcloud.com/components/upload-picture.1.0.6.js></script><script src=//web-1251519181.file.myqcloud.com/components/upload-file.1.0.4.js></script><script src=//web-1251519181.file.myqcloud.com/components/app-info.1.0.5.js></script><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/acc-group-select.1.0.3.js></script><script src=//web-1251519181.file.myqcloud.com/components/editor.1.1.12.js></script><script src=/welfare/js/chunk-vendors.e8c008b5.js></script><script src=/welfare/js/app.c6fb650f.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.
......@@ -27,13 +27,17 @@ let card = {
deleteCard: '/coupon/delete-coupon', // 删除卡券
disableCard: '/coupon/disable-coupon', // 禁用卡券
couponLogPage: '/coupon/coupon-log-page', // 卡券领取列表
giveLogList: '/coupon/coupon-give-log-page', // 卡券转赠记录
giveLogList: '/coupon-log/coupon-give-log-page', // 卡券转赠记录
checkDemoCode: {
// 根据demo code TODO:
url: '/coupon/check-demo-code',
alertError: false
},
couponlogList: '/coupon/coupon-log-page', // 会员领取记录
couponlogList: {
// 会员领取记录
url: '/coupon-log/coupon-log-page',
method: 'post',
},
};
let destory = {
......
<template>
<div class="member-info" :style="`height:${height}px`">
<dm-preview-img
class="img"
:img="memberImage"
:width="width"
:height="height">
</dm-preview-img>
<p :class="`${!hidePhone ? '' : 'pt10'}`">{{ memberName || '--'}}</p>
<p v-if="!hidePhone" :class="`${memberPhone ? '' : 'hide'}`">{{ showPhoneTip ? '手机号码:' : '' }}{{memberPhone || '--'}}</p>
</div>
</template>
<script>
// import headDefault from '@/assets/images/head-default.png';
export default {
name: 'Memberinfo',
props: {
'memberName': { type: String },
'memberImage': { type: String },
'memberPhone': { type: String },
'showPhoneTip': { type: Boolean, default: false }, // 是否展示手机号tooltip提示
'width': { type: [ String, Number ], default: 40 },
'height': { type: [ String, Number ], default: 40 },
'hidePhone': { type: Boolean, default: false },
},
data() {
return {};
}
};
</script>
<style lang="scss" scoped>
@import '@/assets/styles/mixin/index.scss';
.member-info {
position: relative;
.img {
position: absolute;
left: 0;
top: 0;
border-radius: 2px;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
-ms-border-radius: 2px;
-o-border-radius: 2px;
}
p {
line-height:20px;
@include muti-line-ellipsis(1);
padding-left: 45px;
color: $gray02;
}
p + p {
font-size: 12px;
}
}
</style>
\ No newline at end of file
......@@ -87,7 +87,7 @@ export const syncStatus = {
// 1线下订单 2gic微商城 3微盟微商城
export const verifyOrderType = {
1: { label: '线下订单', value: 1 },
2: { label: 'gic微商城', value: 2 },
2: { label: '达摩微商城', value: 2 },
3: { label: '微盟微商城', value: 3 },
};
......
......@@ -11,6 +11,7 @@ import filters from '@/filters/index.js';
import { subAppAttr } from '@/mixins/subApp.js';
import store from './store/index';
import mkButton from '@/components/mk-button';
import memberInfo from '@/components/member-info';
import elImageView from '@/components/libs/el-image-view';
import itemCode from '@/utils/item-code.js';
import { itemPerm, permission } from '@/utils/permission.js';
......@@ -25,7 +26,7 @@ Vue.mixin(subAppAttr); // 全局注册mixins
// 全局注册组件
Vue.component('mk-button', mkButton);
Vue.component(elImageView.name, elImageView);
Vue.component('member-info', memberInfo);
// 请求头加isControl参数,否则没有权限
Vue.prototype.axios.interceptors.request.use(config => {
config.headers['isControl'] = true;
......
......@@ -118,6 +118,9 @@
<li v-if="[2, 3, 4].includes(scope.row._status)" :class="{ disabled: $itemPerm($itemCode.gicCardGroupBtn) || scope.row.deleteFlag }">
<mk-button @click="handler(8, scope.row)" :option="{ perm: $itemPerm($itemCode.gicCardGroupBtn), deleteFlag: scope.row.deleteFlag, deleteRemark: scope.row.remark }" type="text">领取记录</mk-button>
</li>
<li>
<mk-button @click="handler(8, scope.row)" type="text">领取记录</mk-button>
</li>
</ul>
<el-button type="text" slot="reference">更多<i class="ml5 el-icon-arrow-down"></i></el-button>
</el-popover>
......
......@@ -44,7 +44,7 @@
</el-table-column>
<el-table-column label="卡券信息" min-width="140" show-overflow-tooltip>
<template slot-scope="scope">
<p p-key="couponId" :title="scope.row.couponId">{{ scope.row.cardName }}</p>
<p p-key="couponId" :title="scope.row.couponId">{{ scope.row.couponCode }}</p>
<p class="fz12 gray03">卡券代码</p>
</template>
</el-table-column>
......@@ -52,15 +52,18 @@
<div slot-scope="scope" v-html="formatCardStatus(scope.row)"></div>
</el-table-column>
<el-table-column label="订单号" min-width="200" show-overflow-tooltip>
<template>
<template slot-scope="scope">
<p>
567895678956786
<el-popover placement="bottom" width="200" trigger="hover">
{{ scope.row.verifyOrderNo }}
<el-popover v-if="[5, 7].includes(scope.row.statusFlag)" placement="bottom" width="200" trigger="hover">
<ul>
<li>核销时间:</li>
<li>核销方式:</li>
<li>核销渠道:</li>
<li>核销门店/店铺:</li>
<template v-if="scope.row.statusFlag == 5">
<li>核销时间:{{ formatDateTimeByType(scope.row.verifyTime, 'yyyy-MM-dd') }}</li>
<li>核销方式:{{ scope.row.verifyType == 1 ? '手动核销' : '订单核销' }}</li>
<li>核销渠道:{{ formatChannel(scope.row) }}</li>
<li>核销门店/店铺:{{ scope.row.verifyStoreCode || '--' }}/{{ scope.row.verifyStoreName || '--' }}</li>
</template>
<li v-if="scope.row.statusFlag == 7">销毁时间:{{ scope.row.verifyTime }}</li>
</ul>
<i class="el-icon-more cursor" slot="reference"></i>
</el-popover>
......@@ -69,14 +72,12 @@
</el-table-column>
<el-table-column label="来源明细" min-width="120" show-overflow-tooltip>
<template slot-scope="scope">
<p>{{ scope.row.verifyType }}会员成就</p>
<p class="fz12 gray03">{{ scope.row.verifyType }}会员成就</p>
<div v-html="formatChannel(scope.row)"></div>
</template>
</el-table-column>
<el-table-column label="操作" align="left" width="130px" fixed="right">
<!-- TODO: -->
<template slot-scope="scope" v-if="listParams.visitorFlag == 0">
<el-button type="text" v-if="scope.row.status === 4 && Date.now() < scope.row.effectEndTime + 24 * 60 * 60 * 1000" @click="orderData(scope.row)">核销</el-button>
<el-button type="text" v-if="scope.row.statusFlag == 4 && Date.now() < scope.row.effectEndTime + 24 * 60 * 60 * 1000" @click="orderData(scope.row)">核销</el-button>
<dm-delete @confirm="delData(scope.row)" v-if="scope.row.status === 4 && Date.now() < scope.row.effectEndTime + 24 * 60 * 60 * 1000" width="280" tips="销毁后无法恢复,确认销毁?">
<el-button type="text">销毁</el-button>
</dm-delete>
......@@ -97,7 +98,7 @@ import cardOrder from './module/card-order';
import { page, formate, getMainHeight } from '@/mixins/table.js';
import { cardType, sendCardStatus, verifyOrderType } from '@/config/mapping/gic-card';
import { dealExportParams } from '@/utils/common.js';
import { listTime } from '@/utils/index.js';
import { listTime, formatDateTimeByType } from '@/utils/index.js';
import fetch from '@/api/gic-card.js';
const { couponlogList, exportCoupReceivedLog, couponDestroy } = fetch;
const _statusList = Object.keys(sendCardStatus).map(v => {
......@@ -125,8 +126,6 @@ export default {
dateTimeCopy: [ Date.now(), Date.now() ],
dateTime2: [ , ],
listParams: {
// appActivityId: this.$route.query.appActivityId || '',
// appCode: this.$route.query.appCode || '',
couponId: this.$route.query.id, // 卡券id
search: '',
searchType: 1,
......@@ -166,6 +165,7 @@ export default {
},
methods: {
listTime,
formatDateTimeByType,
changeTime(date) {
if (new Date(this.dateTime[1]).getTime() - new Date(this.dateTime[0]).getTime() > 7 * 24 * 60 * 60 * 1000) {
this.$tips({ message: '领取时间段范围不能超过7天', type: 'warning' });
......@@ -179,7 +179,7 @@ export default {
return cardType[row.cardType] ? cardType[row.cardType].label : '--';
},
formatCardStatus(row) {
// (3:已发放,4:已领取,5:已使用,6:已到期,7:已销毁, 8:已占用)
// (3:已发放,4:已领取,5:已使用,6:已到期,7:已销毁, 8:已占用, 9:转赠中, 10: 已转赠
const st = sendCardStatus[row.status];
if(st) {
return `<span class="state-point ${st.cl}">${st.label}</span>`;
......@@ -187,13 +187,14 @@ export default {
return '<span class="state-point state-point-default">未知状态</span>';
}
},
formatChannel(row) {
// verifyOrderType 1线下订单 2gic微商城 3微盟微商城
return row.status === 5 && row.verifyOrderType ? verifyOrderType[row.verifyOrderType].label : '--';
formatChannel({ verifyType }) {
// verifyType 核销方式(0:订单核销; 1:手动核销)
// verifyOrderChannel 核销渠道(1:线下门店;2:达摩微商城;3:微盟微商城)
return `${ verifyType ? verifyOrderType[verifyType].label : '--' }`;
},
delData(row) {
delData({ couponLogId }) {
this.loading = true;
couponDestroy({ couponLogId: row.couponLogId })
couponDestroy({ couponLogId: couponLogId })
.then(res => {
this.loading = false;
this.$tips({ type: 'success', message: '销毁成功!' });
......
......@@ -16,7 +16,6 @@
</el-form-item>
<el-form-item v-if="type === 'add' && ruleForm.destroyMode == 1" label="导入券码文件" prop="fileId">
<div>
<!-- eslint-disable-nextline -->
<div v-if="ruleForm.fileId" class="inline-block">已导入</div>
<dm-upload-file
:disabled="!ruleForm.destroyMode"
......@@ -25,14 +24,13 @@
width="120px"
trigger-text="点击上传"
accept=".csv"
@beforeUpload="beforeUpload"
:show-file-list="false"
:limit="1"
:headers="{ isControl: true }"
:data="fileData"
style="display:inline-block;">
<span slot="tip" style="display:none;">tips</span>
</dm-upload-file>
<!-- TODO: 用组件库组件 -->
<!-- <file v-if="!ruleForm.fileId" :unuse="!ruleForm.destroyMode" need-extra-params :upload-params="{ destroyPlanId: ruleForm.destroyPlanId }" ref="fileUpload" class="dashed-btn inline-block" label="点击上传" @backImg="backImg" accept-type=".csv" tips="" :url="uploadUrl" width="50" icon-class="el-icon-upload2" />上传 -->
<el-button type="text" class="ml10" @click="download">点击下载文件模板</el-button>
</div>
<p class="gray03 fz12 line-height1 mt10">券码数量单次最多不超过 5000 条</p>
......@@ -83,11 +81,14 @@ export default {
uploadUrl: importDestoryCode,
ruleForm: {
destroyPlanId: '',
couponId: '235835986990465059',
couponId: '',
cardName: '',
fileId: '',
destroyMode: 0
},
fileData: {
destroyPlanId: '',
},
rules: {
couponId: [ { required: true, message: '请选择卡券', trigger: 'change' } ],
destroyMode: [ { required: true, message: '请选择销毁方式', trigger: 'change' } ],
......@@ -103,9 +104,6 @@ export default {
this.$refs.ruleForm.resetFields();
this.$emit('update:show', false);
},
beforeUpload() {
return;
},
submit: _debounce(function() {
if (this.loading) {
return;
......@@ -155,6 +153,7 @@ export default {
.then(res => {
this.loading = false;
this.ruleForm.destroyPlanId = res.result;
this.fileData.destroyPlanId = res.result;
})
.finally(() => {
this.loading = false;
......
......@@ -26,7 +26,7 @@
<member-info :member-name="scope.row.memberName" :member-image="scope.row.memberImage" :member-phone="scope.row.memberPhone"></member-info>
</template>
</el-table-column>
<el-table-column prop="giveTime" sortable label="转赠时间" min-width="120">
<el-table-column prop="giveTime" label="转赠时间" min-width="120">
<span slot-scope="scope" v-html="listTime(scope.row.giveTime)"></span>
</el-table-column>
<el-table-column label="转赠状态" min-width="120">
......@@ -42,7 +42,7 @@
</el-table-column>
<el-table-column label="卡券名称" min-width="140" show-overflow-tooltip>
<template slot-scope="scope">
<span p-key="couponId" :title="scope.row.couponId">{{ scope.row.cardName }}</span>
<span p-key="couponId" :title="scope.row.couponId">{{ scope.row.cardName || '--' }}</span>
</template>
</el-table-column>
<el-table-column label="领取时间" min-width="120">
......@@ -125,7 +125,7 @@ export default {
}
},
formatCardType(row) {
return cardType[row.cardType].label;
return cardType[row.cardType] ? cardType[row.cardType].label : '--';
},
getTableList() {
if(this.loading) {
......
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