Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-app-operator-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
lanbaoming
jiedao-app-operator-master
Commits
85fee6d8
Commit
85fee6d8
authored
Oct 17, 2022
by
dragondean@qq.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
部分bug,预付异常处理页面被覆盖,恢复前备份
parent
44cdd6c9
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
254 additions
and
169 deletions
+254
-169
orderException.js
src/api/ecw/orderException.js
+9
-0
index.vue
src/components/RoutersSelector/index.vue
+1
-1
detail.vue
src/views/bpm/processInstance/detail.vue
+6
-0
done.vue
src/views/bpm/task/done.vue
+6
-6
edit.vue
src/views/ecw/offer/edit.vue
+2
-2
cargoControlDetail.vue
src/views/ecw/order/cargoControlDetail.vue
+1
-1
PrepayExceptionDetail.vue
src/views/ecw/order/components/PrepayExceptionDetail.vue
+131
-0
edit.vue
src/views/ecw/order/edit.vue
+2
-2
prepayDeal.vue
src/views/ecw/order/prepayDeal.vue
+96
-157
No files found.
src/api/ecw/orderException.js
View file @
85fee6d8
...
...
@@ -92,3 +92,12 @@ export function getOrderFeeById(query) {
params
:
query
})
}
// 根据工作流中传的业务ID,获取异常审核详情
export
function
getBmpDetailByBusinessId
(
businessId
)
{
return
request
({
url
:
'
/ecw/order-exception/getBmpDetailByBusinessId
'
,
method
:
'
get
'
,
params
:
{
businessId
}
})
}
\ No newline at end of file
src/components/RoutersSelector/index.vue
View file @
85fee6d8
...
...
@@ -88,7 +88,7 @@ export default {
selectedRoutes
:
[],
// 勾选的路线渠道
hideMap
:
{},
// 折叠状态
checkAll
:
null
,
groupChecker
:
{},
// 分组全选
记录
groupChecker
:
{},
// 分组全选
状态
}
},
...
...
src/views/bpm/processInstance/detail.vue
View file @
85fee6d8
...
...
@@ -321,6 +321,12 @@ export default {
id
:
this
.
processInstance
.
businessKey
,
path
:
this
.
processInstance
.
processDefinition
?.
formCustomViewPath
},
// 预付异常审核
prepay_excetion
:{
component
:
()
=>
import
(
'
@/views/ecw/order/components/PrepayExceptionDetail
'
),
id
:
this
.
processInstance
.
businessKey
,
path
:
this
.
processInstance
.
processDefinition
?.
formCustomViewPath
},
}
return
map
[
this
.
processInstance
.
processDefinition
.
formCustomViewPath
.
trim
()]
}
...
...
src/views/bpm/task/done.vue
View file @
85fee6d8
...
...
@@ -3,12 +3,12 @@
<!-- 搜索工作栏 -->
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"
流程
编号"
prop=
"processInstanceId"
>
<el-input
v-model=
"queryParams.processInstanceId"
:placeholder=
"$t('
流程
编号')"
clearable
<el-form-item
label=
"编号"
prop=
"processInstanceId"
>
<el-input
v-model=
"queryParams.processInstanceId"
:placeholder=
"$t('编号')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('
任务名称
')"
prop=
"name"
>
<el-input
v-model=
"queryParams.name"
:placeholder=
"$t('
任务名称
')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
<el-form-item
:label=
"$t('
流程名
')"
prop=
"name"
>
<el-input
v-model=
"queryParams.name"
:placeholder=
"$t('
流程名
')"
clearable
@
keyup.enter.native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('流程分类')"
prop=
"category"
>
<el-select
v-model=
"queryParams.category"
:placeholder=
"$t('请选择流程分类')"
clearable
>
...
...
@@ -34,8 +34,8 @@
<!-- 列表 -->
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
:label=
"$t('
任务
编号')"
align=
"center"
prop=
"id"
width=
"320"
fixed
/>
<el-table-column
:label=
"$t('
任务名称
')"
align=
"center"
prop=
"processInstance.name"
width=
"200"
/>
<el-table-column
:label=
"$t('编号')"
align=
"center"
prop=
"id"
width=
"320"
fixed
/>
<el-table-column
:label=
"$t('
流程名
')"
align=
"center"
prop=
"processInstance.name"
width=
"200"
/>
<el-table-column
:label=
"$t('业务编号')"
align=
"center"
prop=
"businessNo"
/>
<el-table-column
:label=
"$t('流程分类')"
align=
"center"
prop=
"category"
width=
"200"
>
<template
slot-scope=
"scope"
>
...
...
src/views/ecw/offer/edit.vue
View file @
85fee6d8
...
...
@@ -23,7 +23,7 @@
<div
class=
"contact"
>
<el-input
v-model=
"form.consignorName"
placeholder=
"选择或新建"
disabled
style=
"width:120px"
/>
<img
src=
"@/assets/images/phonebook.png"
class=
"phonebook"
@
click=
"contactChooseType='consignor'"
/>
<img
src=
"@/assets/images/new_customer.png"
class=
"phonebook"
@
click=
"quickCreateType='
1
'"
/>
<img
src=
"@/assets/images/new_customer.png"
class=
"phonebook"
@
click=
"quickCreateType='
0
'"
/>
</div>
</el-form-item>
<el-form-item
:label=
"$t('发货人电话')"
prop=
"consignorPhone"
>
...
...
@@ -42,7 +42,7 @@
<div
class=
"contact"
>
<el-input
v-model=
"form.consigneeName"
placeholder=
"请选择或新建"
:disabled=
"true"
style=
"width:120px"
/>
<img
src=
"@/assets/images/phonebook.png"
class=
"phonebook"
@
click=
"contactChooseType='consignee'"
/>
<img
src=
"@/assets/images/new_customer.png"
class=
"phonebook"
@
click=
"quickCreateType='
2
'"
/>
<img
src=
"@/assets/images/new_customer.png"
class=
"phonebook"
@
click=
"quickCreateType='
1
'"
/>
</div>
</el-form-item>
<el-form-item
:label=
"$t('收货人电话')"
prop=
"consigneePhone"
>
...
...
src/views/ecw/order/cargoControlDetail.vue
View file @
85fee6d8
...
...
@@ -48,7 +48,7 @@
<el-table-column
:label=
"$t('体积') + '(m³)'"
prop=
"pickVolume"
></el-table-column>
<el-table-column
:label=
"$t('提单号')"
prop=
"tidanNo"
></el-table-column>
<el-table-column
:label=
"$t('备注')"
prop=
"remarks"
></el-table-column>
<el-table-column
:label=
"$t('操作人')"
prop=
"
name
"
></el-table-column>
<el-table-column
:label=
"$t('操作人')"
prop=
"
operator
"
></el-table-column>
<el-table-column
:label=
"$t('日期')"
prop=
"createTime"
>
<
template
slot-scope=
"{row}"
>
{{
row
.
createTime
|
parseTime
}}
...
...
src/views/ecw/order/components/PrepayExceptionDetail.vue
0 → 100644
View file @
85fee6d8
<!--拆单审核中的申请信息部分-->
<
template
>
<div
v-if=
"detail && order"
>
<el-descriptions
:column=
"4"
v-if=
"order"
:colon=
"false"
>
<el-descriptions-item
:label=
"$t('订单号')"
>
{{
order
.
orderNo
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('运输方式')"
>
<dict-tag
class=
"mr-10"
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
:value=
"order.transportId"
/>
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('出货方式')"
>
{{
channel
?
channel
.
nameZh
:
'
/
'
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('订单状态')"
>
{{
order
.
statusMsg
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('唛头')"
>
{{
order
.
marks
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('始发仓')"
>
{{
order
.
logisticsInfoDto
.
startTitleZh
}}
</el-descriptions-item>
<el-descriptions-item
:label=
"$t('目的仓')"
:span=
"2"
>
{{
order
.
logisticsInfoDto
.
destAddressZh
}}
</el-descriptions-item>
</el-descriptions>
</div>
</
template
>
<
script
>
import
{
getOrder
}
from
'
@/api/ecw/order
'
import
{
getChannel
}
from
'
@/api/ecw/channel
'
import
{
getUnitList
}
from
"
@/api/ecw/unit
"
import
{
getCurrencyList
}
from
'
@/api/ecw/currency
'
import
Decimal
from
'
decimal.js
'
import
{
getBmpDetailByBusinessId
}
from
'
@/api/ecw/orderException
'
export
default
{
name
:
'
OrderApprovalDetail
'
,
props
:{
id
:
[
String
,
Number
],
path
:
String
},
components
:{
PrintLandingBill
:
()
=>
import
(
'
./PrintLadingBill.vue
'
)
},
data
(){
return
{
type
:
null
,
detail
:
null
,
order
:
null
,
channel
:
null
,
ShowLandingBill
:
false
,
unitList
:[],
currencyList
:[],
}
},
watch
:{
id
(){
this
.
getData
()
},
detail
(){
this
.
getOrder
()
},
order
(){
if
(
this
.
order
.
channelId
){
this
.
getChannel
()
}
},
},
computed
:{
currencyMap
(){
let
map
=
{}
this
.
currencyList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
})
return
map
},
unitMap
(){
let
map
=
{}
this
.
unitList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
})
return
map
}
},
created
(){
if
(
this
.
id
){
this
.
getData
()
}
},
methods
:{
Decimal
,
getData
(){
getBmpDetailByBusinessId
(
this
.
id
).
then
(
res
=>
{
this
.
type
=
res
.
data
.
type
this
.
detail
=
JSON
.
parse
(
res
.
data
.
details
)
})
},
getOrder
(){
getOrder
(
this
.
detail
.
orderId
).
then
(
res
=>
{
this
.
order
=
res
.
data
})
},
getChannel
(){
getChannel
(
this
.
order
.
channelId
).
then
(
res
=>
{
this
.
channel
=
res
.
data
})
},
getBillService
(){
},
getBillOfLandingInProcessing
(){
getBillOfLandingInProcessing
({
orderId
:
this
.
detail
.
orderId
}).
then
(
res
=>
{
console
.
log
(
res
)
})
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
.title
{
padding
:
10px
0
;
span
{
font-size
:
14px
;
font-weight
:
bold
;
}
}
.bold
{
font-weight
:
bold
;
}
</
style
>
\ No newline at end of file
src/views/ecw/order/edit.vue
View file @
85fee6d8
...
...
@@ -18,7 +18,7 @@
<div
class=
"contact"
>
<el-input
v-model=
"form.consignorName"
placeholder=
""
:disabled=
"inWarehouse"
/>
<img
v-if=
"!inWarehouse"
src=
"@/assets/images/phonebook.png"
class=
"phonebook"
@
click=
"contactChooseType='consignor'"
/>
<img
v-if=
"!inWarehouse"
src=
"@/assets/images/new_customer.png"
class=
"phonebook"
@
click=
"quickCreateType='
1
'"
/>
<img
v-if=
"!inWarehouse"
src=
"@/assets/images/new_customer.png"
class=
"phonebook"
@
click=
"quickCreateType='
0
'"
/>
</div>
</el-form-item>
<el-form-item
:label=
"$t('发货人电话')"
prop=
"consignorPhone"
>
...
...
@@ -38,7 +38,7 @@
<div
class=
"contact"
>
<el-input
v-model=
"form.consigneeName"
placeholder=
""
:disabled=
"inWarehouse"
/>
<img
v-if=
"!inWarehouse"
src=
"@/assets/images/phonebook.png"
class=
"phonebook"
@
click=
"contactChooseType='consignee'"
/>
<img
v-if=
"!inWarehouse"
src=
"@/assets/images/new_customer.png"
class=
"phonebook"
@
click=
"quickCreateType='
2
'"
/>
<img
v-if=
"!inWarehouse"
src=
"@/assets/images/new_customer.png"
class=
"phonebook"
@
click=
"quickCreateType='
1
'"
/>
</div>
</el-form-item>
<el-form-item
:label=
"$t('收货人电话')"
prop=
"consigneePhone"
>
...
...
src/views/ecw/order/prepayDeal.vue
View file @
85fee6d8
...
...
@@ -86,7 +86,7 @@
<el-table-column
:label=
"$t('应收金额')"
prop=
"totalAmount"
>
<
template
slot-scope=
"{row}"
>
{{
row
.
totalAmount
}}
{{
curren
t
Map
[
row
.
currencyId
]
}}
{{
curren
cy
Map
[
row
.
currencyId
]
}}
</
template
>
</el-table-column>
<!-- <el-table-column label="总金额美元" align="center" prop="totalAmount">
...
...
@@ -150,61 +150,59 @@
<el-form
:model=
"handlerParams"
ref=
"queryForms"
size=
"small"
:inline=
"true"
label-width=
"120px"
class=
"card"
>
<el-row
v-if=
"orderExceptionData.orderExceptionType=='order_pay_exception'"
>
<el-form-item
:label=
"$t('订单总金额')+':'"
>
<span
style=
"margin-left: 8px;"
v-for=
"(item, key) of orderFee.totalAmountList"
>
{{item}}{{key}}
</span>
<span
style=
"margin-left: 8px;"
v-for=
"(item, key) of orderFee.totalAmountList"
:key=
"key"
>
{{item}}
{{currencyMap[key]}}
</span>
</el-form-item>
</el-row>
<el-row
v-if=
"orderExceptionData.orderExceptionType=='order_pay_exception'"
>
<el-form-item
:label=
"$t('应付预付金额')+':'"
>
<span
style=
"margin-left: 8px;"
v-for=
"(item, key) of orderFee.totalPaymentAmount"
>
{{item}}{{key
}}
</span>
<span
style=
"margin-left: 8px;"
v-for=
"(item, key) of orderFee.totalPaymentAmount"
:key=
"key"
>
{{item}}{{currencyMap[key]
}}
</span>
</el-form-item>
</el-row>
<el-row
v-if=
"orderExceptionData.orderExceptionType=='order_pay_exception'"
>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('已核销预付金额')+':'"
>
{{orderFee.writeOffAmount}}
<span
style=
"margin-left: 8px;"
v-for=
"(item, key) of orderFee.writeOffAmount"
:key=
"key"
>
{{item}}{{currencyMap[key]}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
:label=
"$t('已核销预付金额占总金额比例')+':'"
label-width=
"200px"
>
{{orderFee.writeOffAmountScale}}
{{orderFee.writeOffAmountScale}}%
</el-form-item>
</el-col>
</el-row>
<el-row
v-if=
"orderExceptionData.orderExceptionType=='order_pay_exception'"
>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('预付商品货值')+':'"
>
{{orderFee.paymentGoodsWorth
}}
{{orderFee.paymentGoodsWorth}} {{$t('人民币')
}}
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
:label=
"$t('预付商品货值占佣金额比例')+':'"
label-width=
"200px"
>
{{orderFee.paymentGoodsWorthScale}}
{{orderFee.paymentGoodsWorthScale}}%
</el-form-item>
</el-col>
</el-row>
<el-row
v-if=
"orderExceptionData.orderExceptionType=='order_pay_exception'"
>
<el-form-item
:label=
"$t('预付商品方数')+':'"
>
{{orderFee.paymentGoodsVolume
}}
{{orderFee.paymentGoodsVolume}} {{$t('立方米')
}}
</el-form-item>
</el-row>
<el-row
v-if=
"orderExceptionData.orderExceptionType=='order_pay_exception'"
>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('订单总方数')+':'"
>
{{orderFee.totalVolume
}}
{{orderFee.totalVolume}} {{$t('立方米')
}}
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
:label=
"$t('预付商品方数占总方数比例')+':'"
label-width=
"200px"
>
{{orderFee.paymentGoodsVolumeScale}}
{{orderFee.paymentGoodsVolumeScale}}%
</el-form-item>
</el-col>
</el-row>
<el-row
:span=
"8"
v-if=
"orderExceptionData.orderExceptionType=='order_doc_exception'"
>
<el-form-item
:label=
"$t('报关资料')+':'"
size=
"medium"
>
<file-upload
v-model=
"handlerParams.fileList"
:value=
"orderExceptionData.file"
></file-upload>
</el-form-item>
</el-row>
<el-row
v-if=
"orderExceptionData.orderExceptionType!='order_miss_exception'&&orderExceptionData.orderExceptionType!='order_superfluous_goods_exception'&&orderExceptionData.orderExceptionType!='order_in_water_exception'&&orderExceptionData.orderExceptionType!='order_damage_exception'"
>
<el-row>
<el-form-item
:label=
"$t('处理结果')+':'"
required
>
<el-select
v-model=
"handlerParams.orderExceptionHandlerResult"
placeholder=
"请选择"
clearable
>
<
template
v-for=
"dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')"
>
...
...
@@ -213,61 +211,12 @@
</el-select>
</el-form-item>
</el-row>
<el-row
:span=
"8"
v-if=
"orderExceptionData.orderExceptionType=='order_pick_up_exception'&&handlerParams.orderExceptionHandlerResult=='cost_required'"
>
<el-form-item
:label=
"$t('送货费用')+':'"
size=
"medium"
>
<el-input
style=
"width: 100px;"
type=
"text"
v-model=
"handlerParams.amount"
/>
<el-select
v-model=
"handlerParams.currency"
style=
"width: 100px;margin-left: 10px;"
clearable
>
<el-option
v-for=
"dict in getDictDatas('shipping_price_unit') "
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-row>
<el-row
:span=
"8"
v-if=
"orderExceptionData.orderExceptionType!='order_lack_box_exception'&&orderExceptionData.orderExceptionType!='order_miss_exception'&&orderExceptionData.orderExceptionType!='order_superfluous_goods_exception'&&orderExceptionData.orderExceptionType!='order_in_water_exception'&&orderExceptionData.orderExceptionType!='order_damage_exception'&&orderExceptionData.orderExceptionType!='order_other_exception'&&orderExceptionData.orderExceptionType!='order_lack_box_exception'"
>
<el-row
:span=
"8"
>
<el-form-item
:label=
"$t('备注')+':'"
size=
"medium"
>
<el-input
style=
"width: 500px;"
type=
"textarea"
v-model=
"handlerParams.orderExceptionHandlerRemark"
/>
</el-form-item>
</el-row>
<div
v-if=
"orderExceptionData.orderExceptionType=='order_miss_exception'||orderExceptionData.orderExceptionType=='order_superfluous_goods_exception'||orderExceptionData.orderExceptionType=='order_in_water_exception'||orderExceptionData.orderExceptionType=='order_damage_exception'"
>
<!-- <el-row>
<el-form-item :label="$t('详细内容:')">
{{orderExceptionData.orderExceptionDetails||'无'}}
</el-form-item>
</el-row> -->
<el-row
>
<el-form-item
:label=
"$t('状态')+':'"
>
<el-radio-group
v-model=
"handlerParams.orderExceptionStatus"
@
change=
"changeExceptionStatus"
>
<el-radio
label=
"1"
>
{{$t('处理中')}}
</el-radio>
<el-radio
label=
"2"
>
{{$t('已处理')}}
</el-radio>
</el-radio-group>
</el-form-item>
</el-row>
<el-row>
<el-form-item
:label=
"$t('处理结果')+':'"
required
v-if=
"handlerParams.orderExceptionStatus==2"
>
<el-select
v-model=
"handlerParams.orderExceptionHandlerResult"
placeholder=
"请选择"
clearable
>
<el-option
v-for=
"dict in getDictDatas(orderExceptionData.orderExceptionType+'_don_result')"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-row>
<el-row
>
<el-form-item
:label=
"$t('赔付金额')+':'"
size=
"medium"
required
v-if=
"handlerParams.orderExceptionStatus==2"
>
<el-input
style=
"width: 100px;"
type=
"text"
v-model=
"handlerParams.amount"
/>
<el-select
v-model=
"handlerParams.currency"
style=
"width: 100px;margin-left: 10px;"
clearable
>
<el-option
v-for=
"dict in getDictDatas('shipping_price_unit') "
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-row>
<el-row>
<el-form-item
:label=
"$t('查明原因')+':'"
required
v-if=
"handlerParams.orderExceptionStatus==1"
>
<el-select
v-model=
"handlerParams.orderExceptionHandlerResult"
clearable
>
<el-option
v-for=
"dict in getDictDatas(orderExceptionData.orderExceptionType+'_result')"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-row>
</div>
</el-form>
</el-card>
...
...
@@ -286,18 +235,8 @@
<div
v-else
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
{{$t('提交')}}
</el-button>
<el-button
plain
type=
"primary"
@
click=
"$store.dispatch('tagsView/delCurrentView')"
>
{{$t('取消')}}
</el-button>
<!-- <el-button type="primary" @click="submitForm">{{$t('转交')}}</el-button> 接口尚缺失 -->
</div>
<!-- <div v-else-if="orderExceptionData.orderExceptionStatus!='order_pay_exception'">
<el-button type="primary" @click="submitForm">{{$t('提交')}}</el-button>
<el-button plain type="primary" @click="$store.dispatch('tagsView/delCurrentView')">{{$t('取消')}}</el-button>
</div>
<div v-else-if="orderExceptionData.orderExceptionStatus=='order_pay_exception'&&!orderExceptionData.bpmId">
<el-button type="primary" @click="submitForm">{{$t('提交')}}</el-button>
<el-button plain type="primary" @click="$store.dispatch('tagsView/delCurrentView')">{{$t('取消')}}</el-button>
</div> -->
<!-- <el-button v-if="orderExceptionData.orderExceptionStatus=='order_pay_exception'" type="primary" @click="submitForm">转交</el-button> -->
</div>
</div>
</template>
...
...
@@ -359,7 +298,7 @@
}
},
computed
:
{
curren
t
Map
(){
curren
cy
Map
(){
let
map
=
{}
this
.
currencyList
.
forEach
(
item
=>
{
map
[
item
.
id
]
=
this
.
$l
(
item
,
'
title
'
)
...
...
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