Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
welfare
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
达摩4.0重构
welfare
Commits
773fc481
Commit
773fc481
authored
Feb 19, 2021
by
chenxin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 卡券包
parent
8163c5c7
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
77 additions
and
44 deletions
+77
-44
card-package.js
src/api/card-package.js
+1
-1
gic-card.js
src/api/gic-card.js
+16
-12
send-list.vue
src/views/card-package/send-list.vue
+58
-28
card-list.vue
src/views/gic-card/card-list.vue
+1
-2
member-get.vue
src/views/gic-card/member-get.vue
+1
-1
No files found.
src/api/card-package.js
View file @
773fc481
...
@@ -20,7 +20,7 @@ let packages = {
...
@@ -20,7 +20,7 @@ let packages = {
updatePackageStock
:
'/coupon-package/update-package-stock'
,
// 调整卡券包库存
updatePackageStock
:
'/coupon-package/update-package-stock'
,
// 调整卡券包库存
addPackageItem
:
'/coupon-package/add-package-item'
,
// 往卡券包里添加卡券
addPackageItem
:
'/coupon-package/add-package-item'
,
// 往卡券包里添加卡券
delPackageItem
:
'/coupon-package/del-package-item'
,
// 往卡券包里删除卡券
delPackageItem
:
'/coupon-package/del-package-item'
,
// 往卡券包里删除卡券
listCouponByPackageId
:
'/coupon-package/list-coupon
'
,
// 根据卡券包id获取卡券列表
listCouponByPackageId
:
'/coupon-package/list-coupon
-log'
,
// 卡券领取记录-详情
};
};
packages
=
getFetch
(
packages
,
welfarePrefix
);
packages
=
getFetch
(
packages
,
welfarePrefix
);
...
...
src/api/gic-card.js
View file @
773fc481
...
@@ -33,28 +33,32 @@ let card = {
...
@@ -33,28 +33,32 @@ let card = {
url
:
'/coupon/check-demo-code'
,
url
:
'/coupon/check-demo-code'
,
alertError
:
false
alertError
:
false
},
},
cardDestoryList
:
'/destroy-plugin/destroy-plan-page'
,
// 卡券销毁分页列表
couponlogList
:
'/coupon/coupon-log-page'
,
// 会员领取记录
getDestroyDetail
:
'/destroy-plugin/get-destroy-detail'
,
// 卡券销毁详情
};
let
destory
=
{
saveCoupDestoryPlan
:
{
saveCoupDestoryPlan
:
{
// 保存卡券销毁
TODO:
// 保存卡券销毁
url
:
'/destroy-plugin/save-destroy-plan'
,
url
:
'/destroy-plugin/save-destroy-plan'
,
method
:
'post'
,
method
:
'post'
,
useFormData
:
true
,
useFormData
:
true
,
},
},
couponlogList
:
'/coupon/coupon-log-page'
,
// 会员领取记录 TODO:
cardDestoryList
:
'/destroy-plugin/destroy-plan-page'
,
// 卡券销毁分页列表
couponConsumeOrder
:
'/coupon/coupon-consume-order'
,
// 核销 - 订单信息 TODO:
getDestroyDetail
:
'/destroy-plugin/get-destroy-detail'
,
// 卡券销毁详情
couponConsume
:
'/coupon/coupon-consume'
,
// 核销 - 核销 TODO:
couponConsumeOrder
:
'/coupon-log/coupon-consume-order'
,
// 核销 - 订单信息
couponDestroy
:
'/coupon/coupon-destroy'
,
// 销毁 TODO:
couponConsume
:
'/coupon-log/coupon-consume'
,
// 核销 - 核销
couponDestroy
:
'/coupon-log/coupon-destroy'
,
// 销毁
};
};
card
=
getFetch
(
card
,
welfarePrefix
);
card
=
getFetch
(
card
,
welfarePrefix
);
destory
=
getFetch
(
destory
,
welfarePrefix
);
export
default
{
...
card
};
export
default
{
...
card
,
...
destory
};
export
const
downloadCouponCSV
=
config
.
api
+
welfarePrefix
+
'/d
ownload-code-csv
-template'
;
// 下载导入GIC券号csv示例文件 TODO:
export
const
downloadCouponCSV
=
config
.
api
+
welfarePrefix
+
'/d
estroy-plugin/download-destroy-code
-template'
;
// 下载导入GIC券号csv示例文件 TODO:
export
const
importCode
=
config
.
api
+
welfarePrefix
+
'/
import-gic-custom-code'
;
// 导入券码 TODO:
export
const
importCode
=
config
.
api
+
welfarePrefix
+
'/
destroy-plugin/import-destroy-code'
;
// 导入券码
export
const
importDestoryCode
=
welfarePrefix
+
'/destroy-plugin/import-destroy-code'
;
// 上传销毁code列表
TODO:
export
const
importDestoryCode
=
welfarePrefix
+
'/destroy-plugin/import-destroy-code'
;
// 上传销毁code列表
export
const
downloadDestroyCodeTemplate
=
config
.
api
+
welfarePrefix
+
'/destroy-plugin/download-destroy-code-template'
;
// 下载销毁模板示例
TODO:
export
const
downloadDestroyCodeTemplate
=
config
.
api
+
welfarePrefix
+
'/destroy-plugin/download-destroy-code-template'
;
// 下载销毁模板示例
src/views/card-package/send-list.vue
View file @
773fc481
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<div
class=
"p20"
v-loading=
"loading"
>
<div
class=
"p20"
v-loading=
"loading"
>
<div
class=
"pb20 clearfix flex-center"
>
<div
class=
"pb20 clearfix flex-center"
>
<el-select
v-model=
"listParams.appCode"
class=
"w250 mr10"
placeholder=
"全部来源"
clearable
@
change=
"refresh"
>
<el-select
v-model=
"listParams.appCode"
class=
"w250 mr10"
placeholder=
"全部来源"
clearable
@
change=
"refresh"
>
<el-option
v-for=
"item in appList"
:key=
"item.appCode"
:label=
"item.app
Code"
:value=
"item.appNam
e"
></el-option>
<el-option
v-for=
"item in appList"
:key=
"item.appCode"
:label=
"item.app
Name"
:value=
"item.appCod
e"
></el-option>
</el-select>
</el-select>
<el-input
placeholder=
"请输入关键字搜索"
class=
"w400 mr10"
v-model=
"listParams.search"
clearable
@
change=
"refresh"
>
<el-input
placeholder=
"请输入关键字搜索"
class=
"w400 mr10"
v-model=
"listParams.search"
clearable
@
change=
"refresh"
>
<el-select
v-model=
"listParams.searchType"
slot=
"prepend"
style=
"width:120px;"
placeholder=
"请选择"
@
change=
"refresh"
>
<el-select
v-model=
"listParams.searchType"
slot=
"prepend"
style=
"width:120px;"
placeholder=
"请选择"
@
change=
"refresh"
>
...
@@ -14,32 +14,26 @@
...
@@ -14,32 +14,26 @@
<el-option
label=
"会员卡号"
:value=
"6"
></el-option>
<el-option
label=
"会员卡号"
:value=
"6"
></el-option>
</el-select>
</el-select>
</el-input>
</el-input>
<el-select
v-model=
"listParams.appCode"
class=
"w250 mr10"
placeholder=
"全部来源"
clearable
@
change=
"refresh"
>
<el-option
label=
"成功"
:value=
"1"
></el-option>
<el-option
label=
"失败"
:value=
"0"
></el-option>
</el-select>
<el-input
class=
"vertical-middle w300"
v-model=
"listParams.activityName"
clearable
placeholder=
"请输入活动名称搜索"
@
change=
"refresh"
><i
slot=
"prefix"
class=
"el-input__icon el-icon-search"
></i></el-input>
</div>
</div>
<div
class=
"table-search-head"
>
<div
class=
"table-search-head"
>
发放时间:
<el-date-picker
class=
"w350 mr10"
v-model=
"dateTime"
type=
"daterange"
range-separator=
"~"
start-placeholder=
"领取开始日期"
end-placeholder=
"领取结束日期"
@
change=
"refresh"
></el-date-picker>
<el-tooltip
content=
"数据量较大,最多支持筛选7日,请耐心等待"
placement=
"bottom"
open-delay=
"200"
>
<span
class=
"tooltip-icon"
>
发放时间
</span>
</el-tooltip>
:
<el-date-picker
class=
"w350 mr10"
v-model=
"dateTime"
type=
"daterange"
range-separator=
"~"
start-placeholder=
"领取开始日期"
end-placeholder=
"领取结束日期"
@
change=
"changeTime"
:clearable=
"false"
></el-date-picker>
</div>
</div>
<el-table
tooltip-effect=
"dark"
:data=
"tableList"
style=
"width:100%"
>
<el-table
tooltip-effect=
"dark"
:data=
"tableList"
style=
"width:100%"
:default-sort=
"
{prop: 'createTime', order: ''}" @sort-change="sortChange"
>
<el-table-column
label=
"会员信息"
fixed=
"left"
min-width=
"120px"
>
<el-table-column
label=
"会员信息"
fixed=
"left"
min-width=
"120px"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<member-info
:member-name=
"scope.row.memberName"
:member-image=
"scope.row.memberImage"
:member-phone=
"scope.row.memberPhone || scope.row.memberCardNo"
></member-info>
<member-info
:member-name=
"scope.row.memberName"
:member-image=
"scope.row.memberImage"
:member-phone=
"scope.row.memberPhone || scope.row.memberCardNo"
></member-info>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"发放时间"
min-width=
"120px"
>
<el-table-column
sortable
prop=
"createTime"
label=
"发放时间"
min-width=
"120px"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
v-html=
"listTime(scope.row.createTime)"
></div>
<div
v-html=
"listTime(scope.row.createTime)"
></div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"appName"
label=
"履约单号"
min-width=
"120px"
></el-table-column>
<el-table-column
prop=
"packageLogId"
label=
"外部单号"
min-width=
"120px"
></el-table-column>
<el-table-column
prop=
"couponPackageName"
label=
"卡券包名称"
min-width=
"130px"
>
<el-table-column
prop=
"couponPackageName"
label=
"卡券包名称"
min-width=
"140px"
></el-table-column>
<
template
slot-scope=
"scope"
>
<span
:title=
"scope.row.couponPackageId"
p-key=
"couponPackageId"
>
{{
scope
.
row
.
couponPackageName
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"couponPackageName"
label=
"卡券数量"
min-width=
"130px"
>
<el-table-column
prop=
"couponPackageName"
label=
"卡券数量"
min-width=
"130px"
>
<
template
slot=
"header"
>
<
template
slot=
"header"
>
<el-tooltip
placement=
"top"
content=
"卡券包中会员真实领取的卡券数量"
open-delay=
"200"
>
<el-tooltip
placement=
"top"
content=
"卡券包中会员真实领取的卡券数量"
open-delay=
"200"
>
...
@@ -47,28 +41,44 @@
...
@@ -47,28 +41,44 @@
</el-tooltip>
</el-tooltip>
</
template
>
</
template
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
@
click=
"showDetail(scope.row)"
>
{{
scope
.
row
.
couponSize
}}
</el-button>
<el-button
type=
"text"
@
click=
"showDetail(scope.row)"
>
{{
scope
.
row
.
couponSize
||
0
}}
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"来源"
min-width=
"150px"
>
<el-table-column
label=
"来源"
min-width=
"150px"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<
el-button
type=
"text"
>
{{
scope
.
row
.
appName
||
'--'
}}
</el-button
>
<
div>
{{
scope
.
row
.
appName
||
'--'
}}
</div
>
<
el-button
type=
"text"
>
{{
scope
.
row
.
activityName
||
'--'
}}
</el-button
>
<
div
class=
"fz12 gray02"
>
{{
scope
.
row
.
activityName
||
'--'
}}
</div
>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<div
class=
"clearfix"
>
<div
class=
"clearfix"
>
<dm-pagination
class=
"fr mb0"
v-if=
"tableList.length"
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"listParams.currentPage"
:page-sizes=
"[20, 40, 60, 80]"
:page-size=
"listParams.pageSize"
layout=
"total, sizes, prev, pager, next"
:total=
"total"
></dm-pagination>
<dm-pagination
class=
"fr mb0"
v-if=
"tableList.length"
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"listParams.currentPage"
:page-sizes=
"[20, 40, 60, 80]"
:page-size=
"listParams.pageSize"
layout=
"total, sizes, prev, pager, next"
:total=
"total"
></dm-pagination>
</div>
</div>
<el-dialog
title=
"卡券包"
:visible
.
sync=
"dialogVisible"
width=
"1000px"
@
closed=
"packageLogList = [];"
>
<el-table
tooltip-effect=
"dark"
:data=
"packageLogList"
style=
"width:100%"
max-height=
"400px"
>
<el-table-column
prop=
"couponName"
label=
"卡券名称"
></el-table-column>
<el-table-column
prop=
"cardType"
label=
"卡券类型"
>
<span
slot-scope=
"scope"
>
{{ cardType[scope.row.cardType].label }}
</span>
</el-table-column>
<el-table-column
prop=
"statusFlag"
label=
"卡券类型"
>
<span
slot-scope=
"scope"
>
{{ scope.row.statusFlag == 4 ? '已领取' : '--' }}
</span>
</el-table-column>
<el-table-column
prop=
"couponLogId"
label=
"卡券代码"
></el-table-column>
</el-table>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogVisible = false"
>
关闭
</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
cardType
}
from
'@/config/mapping/gic-card'
;
import
{
page
,
formate
}
from
'@/mixins/table.js'
;
import
{
page
,
formate
}
from
'@/mixins/table.js'
;
import
{
listTime
}
from
'@/utils/index.js'
;
import
{
listTime
}
from
'@/utils/index.js'
;
import
api
from
'@/api/card-package.js'
;
import
api
from
'@/api/card-package.js'
;
import
commonApi
from
'@/api/common.js'
;
import
commonApi
from
'@/api/common.js'
;
const
{
pagePackageLog
}
=
api
;
const
{
pagePackageLog
,
listCouponByPackageId
}
=
api
;
const
{
getAppList
}
=
commonApi
;
const
{
getAppList
}
=
commonApi
;
export
default
{
export
default
{
...
@@ -77,26 +87,26 @@ export default {
...
@@ -77,26 +87,26 @@ export default {
data
()
{
data
()
{
return
{
return
{
loading
:
false
,
loading
:
false
,
cardType
,
appList
:
[],
// 应用列表
appList
:
[],
// 应用列表
dateTime
:
[],
dateTime
:
[
Date
.
now
(),
Date
.
now
()
],
// 默认当天
dateTimeCopy
:
[
Date
.
now
(),
Date
.
now
()
],
listParams
:
{
listParams
:
{
appCode
:
''
,
appCode
:
''
,
activityName
:
''
,
beginTime
:
''
,
beginTime
:
''
,
endTime
:
''
,
endTime
:
''
,
packageName
:
''
,
search
:
''
,
search
:
''
,
searchType
:
1
,
// 1、福利id 2、卡券包名称、3、备注名、、4会员称呼、5会员手机号、6会员卡号
searchType
:
2
,
// 1、福利id 2、卡券包名称、3、备注名、、4会员称呼、5会员手机号、6会员卡号
currentPage
:
1
,
currentPage
:
1
,
pageSize
:
20
,
pageSize
:
20
,
sortOrder
:
''
,
// 默认可以不传; asc:升序; desc:倒序
couponPackageId
:
this
.
$route
.
query
.
id
// 卡券包id
couponPackageId
:
this
.
$route
.
query
.
id
// 卡券包id
},
},
tableList
:
[],
tableList
:
[],
total
:
0
,
total
:
0
,
detail
:
''
,
dialogVisible
:
false
,
mask
:
{
packageLogLoading
:
false
,
show
:
false
packageLogList
:
[],
}
};
};
},
},
created
()
{
created
()
{
...
@@ -108,13 +118,33 @@ export default {
...
@@ -108,13 +118,33 @@ export default {
},
},
methods
:
{
methods
:
{
listTime
,
listTime
,
sortChange
(
sort
)
{
this
.
listParams
.
sortOrder
=
sort
.
order
?
sort
.
order
==
'ascending'
?
'asc'
:
'desc'
:
''
;
this
.
refresh
();
},
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'
});
this
.
dateTime
=
[
...
this
.
dateTimeCopy
];
return
;
}
this
.
dateTimeCopy
=
[
...
this
.
dateTime
];
this
.
refresh
();
},
getAppList
()
{
getAppList
()
{
getAppList
().
then
(
res
=>
{
getAppList
().
then
(
res
=>
{
this
.
appList
=
res
.
result
||
[];
this
.
appList
=
res
.
result
||
[];
});
});
},
},
showDetail
({
packageLogId
})
{
showDetail
({
packageLogId
})
{
return
;
this
.
dialogVisible
=
true
;
this
.
packageLogLoading
=
true
;
listCouponByPackageId
({
packageLogId
}).
then
(
res
=>
{
this
.
packageLogLoading
=
false
;
this
.
packageLogList
=
res
.
result
||
[];
}).
catch
(()
=>
{
this
.
packageLogLoading
=
false
;
});
},
},
getTableList
()
{
getTableList
()
{
if
(
this
.
loading
)
{
if
(
this
.
loading
)
{
...
...
src/views/gic-card/card-list.vue
View file @
773fc481
<
template
>
<
template
>
<div
class=
"p20"
v-loading=
"loading"
>
<div
class=
"p20"
v-loading=
"loading"
>
<div
class=
"clearfix flex-center pb20"
>
<div
class=
"clearfix flex-center pb20"
>
<i
class=
"icon-shiwulipin iconfont-welfare4"
></i>
<span
class=
"gray01 fz16 mr20"
>
卡券筛选
</span>
<span
class=
"gray01 fz16 mr20"
>
卡券筛选
</span>
<el-select
class=
"dm-select mr10 w160"
clearable
v-model=
"listParams.cardType"
placeholder=
"所有卡券类型"
@
change=
"refresh"
>
<el-select
class=
"dm-select mr10 w160"
clearable
v-model=
"listParams.cardType"
placeholder=
"所有卡券类型"
@
change=
"refresh"
>
<el-option
v-for=
"(v, i) in cardType"
:key=
"i"
:label=
"v.label"
:value=
"v.value"
></el-option>
<el-option
v-for=
"(v, i) in cardType"
:key=
"i"
:label=
"v.label"
:value=
"v.value"
></el-option>
...
@@ -31,7 +30,7 @@
...
@@ -31,7 +30,7 @@
<sort-btn
class=
"mr10"
:sort-type=
"sortType1"
/>
<sort-btn
class=
"mr10"
:sort-type=
"sortType1"
/>
<el-date-picker
class=
"mr10"
v-model=
"dateTime"
type=
"daterange"
range-separator=
"~"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"refresh"
/>
<el-date-picker
class=
"mr10"
v-model=
"dateTime"
type=
"daterange"
range-separator=
"~"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"refresh"
/>
<label
class=
"ml5 mr8"
>
成本
</label>
<label
class=
"ml5 mr8"
>
成本
</label>
<el-input-number
class=
"prefix-amount hide-right w100"
@
change=
"refresh"
v-model=
"listParams.costPriceBegin"
controls-position=
"right"
:precision=
"2"
:m
in=
"listParams.costPriceBegin"
:max=
"1000
0"
placeholder=
"请输入"
/>
<el-input-number
class=
"prefix-amount hide-right w100"
@
change=
"refresh"
v-model=
"listParams.costPriceBegin"
controls-position=
"right"
:precision=
"2"
:m
ax=
"listParams.costPriceBegin"
:min=
"
0"
placeholder=
"请输入"
/>
<label
class=
"ml5 mr5"
>
-
</label>
<label
class=
"ml5 mr5"
>
-
</label>
<el-input-number
class=
"prefix-amount hide-right w100"
@
change=
"refresh"
v-model=
"listParams.costPriceEnd"
controls-position=
"right"
:precision=
"2"
:min=
"1"
:max=
"100000"
placeholder=
"请输入"
/>
<el-input-number
class=
"prefix-amount hide-right w100"
@
change=
"refresh"
v-model=
"listParams.costPriceEnd"
controls-position=
"right"
:precision=
"2"
:min=
"1"
:max=
"100000"
placeholder=
"请输入"
/>
<label
class=
"ml15 mr8"
>
可占用库存
</label>
<label
class=
"ml15 mr8"
>
可占用库存
</label>
...
...
src/views/gic-card/member-get.vue
View file @
773fc481
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
<el-tooltip
content=
"数据量较大,最多支持筛选7日,请耐心等待"
placement=
"bottom"
open-delay=
"200"
>
<el-tooltip
content=
"数据量较大,最多支持筛选7日,请耐心等待"
placement=
"bottom"
open-delay=
"200"
>
<span
class=
"tooltip-icon"
>
领取时间
</span>
<span
class=
"tooltip-icon"
>
领取时间
</span>
</el-tooltip>
</el-tooltip>
:
<el-date-picker
class=
"w250 mr10"
:clearable=
"false"
v-model=
"dateTime"
type=
"daterange"
range-separator=
"~"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"changeTim
e"
></el-date-picker>
:
<el-date-picker
class=
"w250 mr10"
v-model=
"dateTime"
type=
"daterange"
range-separator=
"~"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"changeTime"
:clearable=
"fals
e"
></el-date-picker>
核销时间:
<el-date-picker
class=
"w250"
v-model=
"dateTime2"
type=
"daterange"
range-separator=
"~"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"refresh"
></el-date-picker>
核销时间:
<el-date-picker
class=
"w250"
v-model=
"dateTime2"
type=
"daterange"
range-separator=
"~"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"refresh"
></el-date-picker>
</div>
</div>
<el-table
tooltip-effect=
"dark"
:data=
"tableList"
style=
"width:100%"
:max-height=
"mainHeight(54 + 50)"
>
<el-table
tooltip-effect=
"dark"
:data=
"tableList"
style=
"width:100%"
:max-height=
"mainHeight(54 + 50)"
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment