Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
CRM
Project
Project
Details
Activity
Releases
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
华国豪
CRM
Commits
68414f37
Commit
68414f37
authored
May 09, 2022
by
zhengke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
eb9dc0c2
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
1007 additions
and
33 deletions
+1007
-33
Agreement.vue
src/components/guestManagement/Agreement.vue
+51
-28
ticketOrder.vue
src/components/guestManagement/ticketOrder.vue
+950
-5
index.vue
src/views/index.vue
+6
-0
No files found.
src/components/guestManagement/Agreement.vue
View file @
68414f37
...
...
@@ -392,9 +392,16 @@
this
.
getList
();
this
.
GetTicketStatusEnumList
()
let
$this
=
this
this
.
MsgBus
.
$on
(
"closeGetList"
,
function
()
{
$
this
.
MsgBus
.
$on
(
"closeGetList"
,
function
()
{
$this
.
getList
()
});
$this
.
MsgBus
.
$on
(
"closeBillMaking"
,
function
()
{
for
(
let
i
=
0
;
i
<
$this
.
dataList
.
length
;
i
++
){
$this
.
dataList
[
i
].
checkList
=
[]
$this
.
dataList
[
i
].
MultipleChoiceList
=
[]
$this
.
dataList
[
i
].
selectedType
=
""
}
});
},
methods
:
{
// 取消
...
...
@@ -405,11 +412,18 @@
if
(
num
==
3
){
this
.
dataList
[
index
].
cost
=
false
}
this
.
dataList
[
index
].
MultipleChoiceList
=
[]
this
.
dataList
[
index
].
selectedType
=
''
this
.
dataList
.
forEach
(
item
=>
{
item
.
checkList
=
[]
item
.
MultipleChoiceList
=
[]
item
.
selectedType
=
''
})
},
//
关闭
弹窗
//
确定
弹窗
popClick
(
row
,
index
,
num
){
if
(
!
row
.
selectedType
){
this
.
$message
.
warning
(
'请选择类型!'
);
return
}
this
.
makeAdocumentFun
(
row
,
index
,
num
)
if
(
num
==
1
){
this
.
dataList
[
index
].
actuallyReceived
=
false
...
...
@@ -532,35 +546,44 @@
}
},
makeAdocumentFun
(
row
,
index
,
num
){
let
list
=
row
.
OrderType
&&
row
.
OrderType
.
split
(
','
)
if
(
this
.
userInfo
.
EmName
!=
row
.
EnterName
)
{
this
.
ValidateOperator
()
}
else
{
if
(
row
.
OrderStatus
!=
'2'
)
{
let
type
type
=
num
==
1
?
1
:
2
// 1收款 2退款 3成本
let
href
let
url
if
(
this
.
isOnline
())
{
url
=
'http://yx.oytour.com/#/'
}
else
{
url
=
'http://www.test.com:8081/#/'
if
(
num
==
'2'
){
let
type
type
=
num
==
1
?
1
:
2
// 1收款 2退款 3成本
let
href
let
url
if
(
this
.
isOnline
())
{
url
=
'http://yx.oytour.com/#/'
}
else
{
url
=
'http://www.test.com:8081/#/'
}
let
data
=
[{
path
:
'ChoiceAddFinancialDocuments'
,
type
:
type
,
OtherType
:
55
,
ReFinanceId
:
row
.
OrderId
,
ReFinanceId2
:
num
,
GuestId
:
row
.
GuestId
,
RelevanceFrId
:
row
.
selectedType
?
row
.
selectedType
:
row
.
OrderType
// 单据类型
}]
href
=
url
+
'automaticLogin?token='
+
this
.
getLocalStorage
().
token
+
'&data='
+
JSON
.
stringify
(
data
)
window
.
open
(
href
);
}
if
(
num
==
'1'
&&
list
&&
list
.
length
>
1
){
let
type
type
=
num
==
1
?
1
:
2
// 1收款 2退款 3成本anceId2 = num
let
$this
=
this
;
this
.
MsgBus
.
$emit
(
"BillMakingOrderBoxOpen"
,
$this
.
ID
,
row
,
true
);
}
else
{
this
.
apipost2
(
"Financial_post_SetFinanceInfoForCRMIn"
,{},(
res
)
=>
{
})
}
let
data
=
[{
path
:
'ChoiceAddFinancialDocuments'
,
type
:
type
,
OtherType
:
55
,
ReFinanceId
:
row
.
OrderId
,
ReFinanceId2
:
num
,
GuestId
:
row
.
GuestId
,
RelevanceFrId
:
row
.
selectedType
?
row
.
selectedType
:
row
.
OrderType
// 单据类型
}]
this
.
dataList
.
forEach
(
item
=>
{
item
.
checkList
=
[]
item
.
MultipleChoiceList
=
[]
item
.
selectedType
=
''
})
href
=
url
+
'automaticLogin?token='
+
this
.
getLocalStorage
().
token
+
'&data='
+
JSON
.
stringify
(
data
)
window
.
open
(
href
);
}
}
...
...
src/components/guestManagement/ticketOrder.vue
View file @
68414f37
...
...
@@ -320,6 +320,119 @@
.combo-center
:first-child
{
margin-right
:
30px
;
}
.BillMaking-box
{
display
:
flex
;
flex-direction
:
column
;
}
.BillMaking-header
{
display
:
flex
;
flex-direction
:
row
;
}
.BillMaking-header-center
{
display
:
flex
;
align-items
:
center
;
margin-right
:
20px
;
margin-bottom
:
10px
;
}
.BillMaking-header-center
:last-child
{
margin-right
:
0px
;
}
.BillMaking-header-center
span
{
flex-shrink
:
0
;
margin-left
:
10px
;
}
.BillMaking-header-center
span
:first-child
{
margin-left
:
0
;
}
.BillMakingType-box
{
display
:
flex
;
flex-direction
:
row
;
margin
:
10px
0
;
}
.BillMakingType-left
{
flex-shrink
:
0
;
margin-right
:
20px
;
padding
:
3px
0
;
line-height
:
25px
;
}
.BillMakingType-right
{
flex-grow
:
1
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-between
;
}
.BillMakingType-right-list
{
display
:
flex
;
flex-direction
:
row
;
margin-bottom
:
5px
;
}
.BillMakingType-right-center
{
flex
:
1
;
display
:
flex
;
align-items
:
center
;
margin-right
:
10px
;
}
.BillMakingType-right-center
span
:first-child
{
flex-shrink
:
0
;
}
.clickJia
{
color
:
#409efe
;
display
:
block
;
padding
:
5px
;
}
.clickJia
:hover
{
cursor
:
pointer
;
flex-shrink
:
0
;
}
.BillingTotal-box
{
display
:
flex
;
justify-content
:
flex-end
;
}
.BillingTotal-center
{
display
:
flex
;
align-items
:
center
;
margin-left
:
20px
;
}
.BillingTotal-center
span
{
flex-shrink
:
0
;
}
.appendix-box
{
display
:
flex
;
flex-direction
:
column
;
margin-top
:
20px
;
}
.appendix-top
{
display
:
flex
;
flex-wrap
:
wrap
;
}
.appendix-top-img
{
width
:
100px
;
height
:
100px
;
margin-bottom
:
10px
;
margin-right
:
10px
;
}
.appendix-bottom
{
margin-bottom
:
10px
;
}
.RemittanceInformation-box
{
display
:
flex
;
}
.RemittanceInformation-center
{
flex
:
1
;
display
:
flex
;
align-items
:
center
;
margin-left
:
20px
;
}
.RemittanceInformation-center
:first-child
{
margin-left
:
0
;
}
.RemittanceInformation-center
span
{
flex-shrink
:
0
;
margin-right
:
10px
;
}
.RemittanceInformation-center-right
{
flex
:
1
;
}
</
style
>
<
template
>
<el-dialog
:visible
.
sync=
"dialogTableVisible"
...
...
@@ -333,7 +446,7 @@
</div>
<div
class=
"form-box"
v-if=
"show"
>
<el-form
:model=
"form"
ref=
"form"
class=
"MyEditForm"
:rules=
"rules"
>
<p
class=
"form-box-tit"
v-if=
"name!='操作日志'&&name!='凭证图'"
><span
class=
"radius"
></span>
<p
class=
"form-box-tit"
v-if=
"name!='操作日志'&&name!='凭证图'
&&name!='制单'
"
><span
class=
"radius"
></span>
{{
name
!=
'修改出票状态'
?
' 基本信息'
:
' 上传'
+
text
+
'凭证'
}}
</p>
<el-row
:gutter=
"30"
>
<el-col
:span=
"8"
v-if=
"name=='新建机票订单'||name=='编辑机票订单'"
>
...
...
@@ -489,9 +602,7 @@
<!--
<div
class=
"el-upload__tip"
slot=
"tip"
>
只能上传jpg/png文件,且不超过500kb
</div>
-->
</el-upload>
</el-form-item>
</div>
</el-col>
</el-row>
<el-row
v-if=
"name=='订单转交'"
>
...
...
@@ -558,7 +669,360 @@
</div>
</div>
</div>
<div
v-if=
"name=='制单'"
class=
"BillMaking-box"
>
<div
class=
"BillMaking-header"
>
<div
class=
"BillMaking-header-center"
>
<span>
流程:
</span>
<el-select
size=
"mini"
v-model=
"BillMaking.TemplateId"
filterable
clearable
placeholder=
"请选择流程"
>
<el-option
v-for=
"item in processList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</div>
<div
class=
"BillMaking-header-center"
>
<span>
公司:
</span>
<el-select
size=
"mini"
v-model=
"BillMaking.RB_Branch_Id"
filterable
placeholder=
"请选择公司"
@
change=
"admin_get_DepartmentGetList"
>
<el-option
v-for=
"item in companyList"
:key=
"item.Id"
:label=
"item.BName"
:value=
"item.Id "
>
</el-option>
</el-select>
</div>
<div
class=
"BillMaking-header-center"
>
<span>
部门:
</span>
<el-select
size=
"mini"
v-model=
"BillMaking.RB_Depart_Id"
filterable
placeholder=
"请选择部门"
>
<el-option
v-for=
"(item,index) in departmentList"
:key=
"index"
:label=
"item.DepartmentName"
:value=
"item.DepartmentID"
>
</el-option>
</el-select>
</div>
<div
class=
"BillMaking-header-center"
>
<span>
账户类型:
</span>
<el-select
size=
"mini"
v-model=
"BillMaking.IsPublic"
filterable
placeholder=
"请选择账户类型"
@
change=
"getAccountList"
>
<el-option
v-for=
"(item,index) in AccList"
:key=
"index"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</div>
<div
class=
"BillMaking-header-center"
>
<span>
账户:
</span>
<el-select
size=
"mini"
v-model=
"BillMaking.AccountId"
filterable
placeholder=
"请选择账户"
>
<el-option
v-for=
"(item,index) in accountList"
:key=
"index"
:label=
"item.Alias+' '+item.BackNo"
:value=
"item.ID"
>
</el-option>
</el-select>
</div>
</div>
<!-- 机票 -->
<div
v-if=
"obj.checkList.indexOf('1')!=-1"
>
<div
class=
"BillMakingType-box"
>
<div
class=
"BillMakingType-left"
>
{{
airTickets
.
title
}}
</div>
<div
class=
"BillMakingType-right"
>
<div
class=
"BillMakingType-right-list"
v-for=
"(item,index) in airTickets.detailList"
:key=
"index"
>
<div
class=
"BillMakingType-right-center"
>
<span>
数量:
</span>
<el-input
size=
"mini"
placeholder=
"数量"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"item.Number"
></el-input>
</div>
<div
class=
"BillMakingType-right-center"
>
<span>
单价:
</span>
<el-input
size=
"mini"
placeholder=
"单价"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"item.UnitPrice"
></el-input>
</div>
<div
class=
"BillMakingType-right-center"
>
<span>
金额:
</span>
<span>
{{
item
.
OriginalMoney
}}
</span>
<!--
<el-input
size=
"mini"
placeholder=
"金额"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"item.OriginalMoney"
></el-input>
-->
</div>
<div
class=
"BillMakingType-right-center"
>
<el-input
size=
"mini"
type=
"textarea"
:rows=
"1"
placeholder=
"备注"
v-model=
"item.Remark"
></el-input>
</div>
<i
class=
"iconfont clickJia"
v-if=
"index==0"
@
click=
"addTypeList(1)"
>

</i>
<i
class=
"iconfont clickJia"
v-if=
"index!=0"
@
click=
"deleteTypeList(item,index,1)"
>

</i>
</div>
</div>
</div>
<div
class=
"BillingTotal-box"
>
<div
class=
"BillingTotal-center"
>
<span>
总价:
</span>
<span>
{{
airTickets
.
WBMoney
}}
</span>
<!--
<el-input
size=
"mini"
placeholder=
"总价"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"airTickets.WBMoney"
></el-input>
-->
</div>
<div
class=
"BillingTotal-center"
>
<el-input
size=
"mini"
placeholder=
"请输入费率"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"airTickets.OriginalFee"
></el-input>
</div>
</div>
</div>
<!-- 签证 -->
<div
v-if=
"obj.checkList.indexOf('2')!=-1"
>
<div
class=
"BillMakingType-box"
>
<div
class=
"BillMakingType-left"
>
{{
visa
.
title
}}
</div>
<div
class=
"BillMakingType-right"
>
<div
class=
"BillMakingType-right-list"
v-for=
"(item,index) in visa.detailList"
:key=
"index"
>
<div
class=
"BillMakingType-right-center"
>
<span>
数量:
</span>
<el-input
size=
"mini"
placeholder=
"请输入数量"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"item.Number"
></el-input>
</div>
<div
class=
"BillMakingType-right-center"
>
<span>
单价:
</span>
<el-input
size=
"mini"
placeholder=
"请输入单价"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"item.UnitPrice"
></el-input>
</div>
<div
class=
"BillMakingType-right-center"
>
<span>
金额:
</span>
<!--
<span>
{{
item
.
OriginalMoney
}}
</span>
-->
<el-input
size=
"mini"
placeholder=
""
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"item.OriginalMoney"
disabled
></el-input>
</div>
<div
class=
"BillMakingType-right-center"
>
<el-input
size=
"mini"
type=
"textarea"
:rows=
"1"
placeholder=
"备注"
v-model=
"item.Remark"
></el-input>
</div>
<i
class=
"iconfont clickJia"
v-if=
"index==0"
@
click=
"addTypeList(2)"
>

</i>
<i
class=
"iconfont clickJia"
v-if=
"index!=0"
@
click=
"deleteTypeList(item,index,2)"
>

</i>
</div>
</div>
</div>
<div
class=
"BillingTotal-box"
>
<div
class=
"BillingTotal-center"
>
<span>
总价:
</span>
<span>
{{
visa
.
WBMoney
}}
</span>
<!--
<el-input
size=
"mini"
placeholder=
"总价"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"visa.WBMoney"
></el-input>
-->
</div>
<div
class=
"BillingTotal-center"
>
<span>
费率:
</span>
<el-input
size=
"mini"
placeholder=
"请输入费率"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"visa.OriginalFee"
></el-input>
</div>
</div>
</div>
<!-- 地接 -->
<div
v-if=
"obj.checkList.indexOf('3')!=-1"
>
<div
class=
"BillMakingType-box"
>
<div
class=
"BillMakingType-left"
>
{{
ground
.
title
}}
</div>
<div
class=
"BillMakingType-right"
>
<div
class=
"BillMakingType-right-list"
v-for=
"(item,index) in ground.detailList"
:key=
"index"
>
<div
class=
"BillMakingType-right-center"
>
<span>
数量:
</span>
<el-input
size=
"mini"
placeholder=
"请输入数量"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"item.Number"
></el-input>
</div>
<div
class=
"BillMakingType-right-center"
>
<span>
单价:
</span>
<el-input
size=
"mini"
placeholder=
"请输入单价"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"item.UnitPrice"
></el-input>
</div>
<div
class=
"BillMakingType-right-center"
>
<span>
金额:
</span>
<!--
<span>
{{
item
.
OriginalMoney
}}
</span>
-->
<el-input
size=
"mini"
placeholder=
""
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"item.OriginalMoney"
disabled
></el-input>
</div>
<div
class=
"BillMakingType-right-center"
>
<el-input
size=
"mini"
type=
"textarea"
:rows=
"1"
placeholder=
"备注"
v-model=
"item.Remark"
></el-input>
</div>
<i
class=
"iconfont clickJia"
v-if=
"index==0"
@
click=
"addTypeList(3)"
>

</i>
<i
class=
"iconfont clickJia"
v-if=
"index!=0"
@
click=
"deleteTypeList(item,index,3)"
>

</i>
</div>
</div>
</div>
<div
class=
"BillingTotal-box"
>
<div
class=
"BillingTotal-center"
>
<span>
总价:
</span>
<span>
{{
ground
.
WBMoney
}}
</span>
<!--
<el-input
size=
"mini"
placeholder=
"总价"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"ground.WBMoney"
></el-input>
-->
</div>
<div
class=
"BillingTotal-center"
>
<span>
费率:
</span>
<el-input
size=
"mini"
placeholder=
"请输入费率"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"ground.OriginalFee"
></el-input>
</div>
</div>
</div>
<!-- 套餐 -->
<!--
<div
v-if=
"obj.checkList.indexOf('4')!=-1"
>
<div
class=
"BillMakingType-box"
>
<div
class=
"BillMakingType-left"
>
{{
combo
.
title
}}
</div>
<div
class=
"BillMakingType-right"
>
<div
class=
"BillMakingType-right-list"
v-for=
"(item,index) in combo.detailList"
:key=
"index"
>
<div
class=
"BillMakingType-right-center"
>
<el-input
size=
"mini"
placeholder=
"数量"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"item.Number"
></el-input>
</div>
<div
class=
"BillMakingType-right-center"
>
<el-input
size=
"mini"
placeholder=
"单价"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"item.UnitPrice"
></el-input>
</div>
<div
class=
"BillMakingType-right-center"
>
<el-input
size=
"mini"
placeholder=
"金额"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"item.OriginalMoney"
></el-input>
</div>
<div
class=
"BillMakingType-right-center"
>
<el-input
size=
"mini"
type=
"textarea"
:rows=
"1"
placeholder=
"备注"
v-model=
"value"
></el-input>
</div>
<i
class=
"iconfont clickJia"
v-if=
"index==0"
@
click=
"addTypeList(1)"
>

</i>
<i
class=
"iconfont clickJia"
v-if=
"index!=0"
@
click=
"deleteTypeList(item,index,1)"
>

</i>
</div>
</div>
</div>
<div
class=
"BillingTotal-box"
>
<div
class=
"BillingTotal-center"
>
<el-input
size=
"mini"
placeholder=
"总价"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"combo.WBMoney"
></el-input>
</div>
<div
class=
"BillingTotal-center"
>
<el-input
size=
"mini"
placeholder=
"费率"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"combo.OriginalFee"
></el-input>
</div>
</div>
</div>
-->
<!-- 其他 -->
<!--
<div
v-if=
"obj.checkList.indexOf('5')!=-1"
>
<div
class=
"BillMakingType-box"
>
<div
class=
"BillMakingType-left"
>
{{
other
.
title
}}
</div>
<div
class=
"BillMakingType-right"
>
<div
class=
"BillMakingType-right-list"
v-for=
"(item,index) in other.detailList"
:key=
"index"
>
<div
class=
"BillMakingType-right-center"
>
<el-input
size=
"mini"
placeholder=
"数量"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"item.Number"
></el-input>
</div>
<div
class=
"BillMakingType-right-center"
>
<el-input
size=
"mini"
placeholder=
"单价"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"item.UnitPrice"
></el-input>
</div>
<div
class=
"BillMakingType-right-center"
>
<el-input
size=
"mini"
placeholder=
"金额"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"item.OriginalMoney"
></el-input>
</div>
<div
class=
"BillMakingType-right-center"
>
<el-input
size=
"mini"
type=
"textarea"
:rows=
"1"
placeholder=
"备注"
v-model=
"value"
></el-input>
</div>
<i
class=
"iconfont clickJia"
v-if=
"index==0"
@
click=
"addTypeList(1)"
>

</i>
<i
class=
"iconfont clickJia"
v-if=
"index!=0"
@
click=
"deleteTypeList(item,index,1)"
>

</i>
</div>
</div>
</div>
<div
class=
"BillingTotal-box"
>
<div
class=
"BillingTotal-center"
>
<el-input
size=
"mini"
placeholder=
"总价"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"other.WBMoney"
></el-input>
</div>
<div
class=
"BillingTotal-center"
>
<el-input
size=
"mini"
placeholder=
"费率"
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'');"
v-model=
"other.OriginalFee"
></el-input>
</div>
</div>
</div>
-->
<div
class=
"appendix-box"
>
<div
class=
"appendix-top"
>
<div
class=
"appendix-top-img"
v-for=
"(items,index) in form.Voucher"
:key=
"index"
>
<el-image
class=
"appendix-img"
:src=
"items"
></el-image>
</div>
</div>
<div
class=
"appendix-bottom"
>
<el-upload
ref=
"ticketUpload"
class=
"upload-demo"
drag
action=
""
:file-list=
"fileList"
:http-request=
"uploadImg"
:multiple=
"true"
accept=
"image/jpeg,image/gif,image/png,image/bmp"
:on-success=
"handleAvatarSuccess"
>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
将文件拖到此处,或
<em>
点击上传
</em></div>
<!--
<div
class=
"el-upload__tip"
slot=
"tip"
>
只能上传jpg/png文件,且不超过500kb
</div>
-->
</el-upload>
</div>
</div>
<div
class=
"RemittanceInformation-box"
>
<div
class=
"RemittanceInformation-center"
>
<span>
汇款人:
</span>
<div
class=
"RemittanceInformation-center-right"
>
<el-input
size=
"mini"
placeholder=
"汇款信息"
v-model=
"BillMaking.RemitterName"
></el-input>
</div>
</div>
<div
class=
"RemittanceInformation-center"
>
<span>
日期:
</span>
<div
class=
"RemittanceInformation-center-right"
>
<el-date-picker
style=
"width: 100%;"
size=
"mini"
v-model=
"BillMaking.TradeDate"
format=
"yyyy-MM-dd"
type=
"date"
placeholder=
"选择日期"
>
</el-date-picker>
</div>
</div>
<div
class=
"RemittanceInformation-center"
>
<span>
流水:
</span>
<div
class=
"RemittanceInformation-center-right"
>
<el-input
size=
"mini"
placeholder=
"流水"
v-model=
"BillMaking.AccountNumber"
></el-input>
</div>
</div>
</div>
</div>
<div
v-if=
"total>0"
>
<el-pagination
class=
"Mypagination"
background
@
current-change=
"handleCurrentChange"
:page-sizes=
"[10, 20, 60, 90, 100]"
:page-size=
"msg.pageSize"
layout=
"sizes, prev, pager, next"
...
...
@@ -602,6 +1066,120 @@
},
data
()
{
return
{
accountList
:[],
//账号类别
AccList
:[],
//账户类型
departmentList
:[],
// 部门
companyList
:[],
// 公司
// 流程
processList
:[],
other
:{
title
:
"其他"
,
WBMoney
:
0
,
//原币总金额
OriginalFee
:
""
,
//原币手续费
RelevanceFrId
:
"1"
,
//订单类型 1机票 2签证 3地接 4套餐 5其他
detailList
:[
{
CostTypeId
:
""
,
//费用ID
Number
:
""
,
//数量
UnitPrice
:
""
,
//单价
OriginalMoney
:
""
,
//金额
Remark
:
""
,
//备注
}
]
},
combo
:{
title
:
"套餐"
,
WBMoney
:
0
,
//原币总金额
OriginalFee
:
""
,
//原币手续费
RelevanceFrId
:
"1"
,
//订单类型 1机票 2签证 3地接 4套餐 5其他
detailList
:[
{
CostTypeId
:
""
,
//费用ID
Number
:
""
,
//数量
UnitPrice
:
""
,
//单价
OriginalMoney
:
""
,
//金额
Remark
:
""
,
//备注
}
]
},
ground
:{
title
:
"地接"
,
WBMoney
:
0
,
//原币总金额
OriginalFee
:
""
,
//原币手续费
RelevanceFrId
:
"1"
,
//订单类型 1机票 2签证 3地接 4套餐 5其他
detailList
:[
{
CostTypeId
:
""
,
//费用ID
Number
:
""
,
//数量
UnitPrice
:
""
,
//单价
OriginalMoney
:
""
,
//金额
Remark
:
""
,
//备注
}
]
},
visa
:{
title
:
"签证"
,
WBMoney
:
0
,
//原币总金额
OriginalFee
:
0
,
//原币手续费
RelevanceFrId
:
"1"
,
//订单类型 1机票 2签证 3地接 4套餐 5其他
detailList
:[
{
CostTypeId
:
""
,
//费用ID
Number
:
""
,
//数量
UnitPrice
:
""
,
//单价
OriginalMoney
:
""
,
//金额
Remark
:
""
,
//备注
}
]
},
airTickets
:{
title
:
"机票"
,
WBMoney
:
0
,
//原币总金额
OriginalFee
:
""
,
//原币手续费
RelevanceFrId
:
"1"
,
//订单类型 1机票 2签证 3地接 4套餐 5其他
detailList
:[
{
CostTypeId
:
""
,
//费用ID
Number
:
""
,
//数量
UnitPrice
:
""
,
//单价
OriginalMoney
:
""
,
//金额
Remark
:
""
,
//备注
}
]
},
BillMaking
:{
IsPublic
:
""
,
// 账户类型 0私账 1公账
BType
:
""
,
//银行类型 看财务单据那边有枚举列表
AccountId
:
""
,
// 账户ID
WBMoney
:
""
,
//原币总金额
OriginalFee
:
""
,
//原币手续费
RB_Branch_Id
:
"1245"
,
//公司ID
RB_Depart_Id
:
"357"
,
//部门ID
RemitterName
:
""
,
// 汇款人
TradeDate
:
""
,
//交易日期
AccountNumber
:
""
,
//流水号
TemplateId
:
""
,
//流程ID
OtherType
:
55
,
//默认=55
ReFinanceId
:
""
,
//订单ID
ReFinanceId2
:
""
,
//类型 1收款
GuestId
:
""
,
//客人ID
RelevanceFrId
:
""
,
//订单类型 1机票 2签证 3地接 4套餐 5其他
vorcherInos
:[
{
Content
:
''
}
],
//array凭证列表
detailList
:[
{
CostTypeId
:
""
,
//费用ID
Number
:
""
,
//数量
UnitPrice
:
""
,
//单价
OriginalMoney
:
""
,
//金额
Remark
:
""
,
//备注
}
]
},
options
:[],
value
:
""
,
RelevanceFrId
:
''
,
//制单类型
comboShow
:
true
,
groundShow
:
true
,
visaShow
:
true
,
...
...
@@ -631,6 +1209,7 @@
pageSize
:
10
,
OrderId
:
""
,
},
msgList
:[],
Voucher
:
[],
fileList
:
[],
radioList
:
[{
...
...
@@ -738,7 +1317,15 @@
};
},
computed
:
{
monthGround
(){
return
this
.
ground
.
detailList
},
monthVisa
(){
return
this
.
visa
.
detailList
},
monthAirTickets
(){
return
this
.
airTickets
.
detailList
}
},
watch
:
{
ID
:
{
...
...
@@ -778,6 +1365,24 @@
},
deep
:
true
,
},
monthGround
:{
handler
(
val
,
oldVal
)
{
this
.
sum
(
3
)
},
deep
:
true
,
},
monthVisa
:{
handler
(
val
,
oldVal
)
{
this
.
sum
(
2
)
},
deep
:
true
,
},
monthAirTickets
:{
handler
(
val
,
oldVal
)
{
this
.
sum
(
1
)
},
deep
:
true
,
}
},
mounted
()
{
this
.
form
.
GuestId
=
this
.
GuestId
...
...
@@ -837,12 +1442,174 @@
if
(
this
.
name
==
'凭证图'
)
{
this
.
width
=
"600px"
}
if
(
this
.
name
==
'制单'
){
this
.
BillMaking
=
{
IsPublic
:
this
.
BillMaking
.
IsPublic
,
// 账户类型 0私账 1公账
BType
:
this
.
BillMaking
.
BType
,
//银行类型 看财务单据那边有枚举列表
AccountId
:
this
.
BillMaking
.
AccountId
,
// 账户ID
WBMoney
:
""
,
//原币总金额
OriginalFee
:
""
,
//原币手续费
RB_Branch_Id
:
this
.
BillMaking
.
RB_Branch_Id
,
//公司ID
RB_Depart_Id
:
this
.
BillMaking
.
RB_Depart_Id
,
//部门ID
RemitterName
:
this
.
BillMaking
.
RemitterName
,
// 汇款人
TradeDate
:
this
.
BillMaking
.
TradeDate
,
//交易日期
AccountNumber
:
this
.
BillMaking
.
AccountNumber
,
//流水号
TemplateId
:
this
.
BillMaking
.
TemplateId
,
//流程ID
OtherType
:
this
.
BillMaking
.
OtherType
,
//默认=55
ReFinanceId
:
this
.
obj
.
ReFinanceId
,
//订单ID
ReFinanceId2
:
this
.
obj
.
ReFinanceId2
,
//类型 1收款
GuestId
:
this
.
GuestId
,
//客人ID
RelevanceFrId
:
this
.
BillMaking
.
RelevanceFrId
,
vorcherInos
:[],
detailList
:[]
}
if
(
!
this
.
BillMaking
.
IsPublic
){
this
.
accountList
=
[]
}
this
.
Financial_post_GetList
()
this
.
getCompany
()
this
.
admin_get_DepartmentGetList
()
this
.
AccountType_post_GetList
()
}
let
$this
=
this
;
setTimeout
(()
=>
{
$this
.
dialogTableVisible
=
true
;
},
50
);
},
methods
:
{
sum
(
num
){
if
(
num
==
'1'
){
for
(
let
i
=
0
;
i
<
this
.
airTickets
.
detailList
.
length
;
i
++
){
this
.
airTickets
.
detailList
[
i
].
OriginalMoney
=
this
.
airTickets
.
detailList
[
i
].
Number
*
this
.
visa
.
detailList
[
i
].
UnitPrice
}
let
OriginalMoney
=
this
.
airTickets
.
detailList
.
map
(
item
=>
{
return
item
.
OriginalMoney
})
this
.
airTickets
.
WBMoney
=
0
for
(
let
j
=
0
;
j
<
OriginalMoney
.
length
;
j
++
){
this
.
airTickets
.
WBMoney
+=
OriginalMoney
[
j
]
}
}
if
(
num
==
'2'
){
for
(
let
i
=
0
;
i
<
this
.
visa
.
detailList
.
length
;
i
++
){
this
.
visa
.
detailList
[
i
].
OriginalMoney
=
this
.
visa
.
detailList
[
i
].
Number
*
this
.
visa
.
detailList
[
i
].
UnitPrice
}
let
OriginalMoney
=
this
.
visa
.
detailList
.
map
(
item
=>
{
return
item
.
OriginalMoney
})
this
.
visa
.
WBMoney
=
0
for
(
let
j
=
0
;
j
<
OriginalMoney
.
length
;
j
++
){
this
.
visa
.
WBMoney
+=
OriginalMoney
[
j
]
}
}
if
(
num
==
'3'
){
for
(
let
i
=
0
;
i
<
this
.
ground
.
detailList
.
length
;
i
++
){
this
.
ground
.
detailList
[
i
].
OriginalMoney
=
this
.
ground
.
detailList
[
i
].
Number
*
this
.
ground
.
detailList
[
i
].
UnitPrice
}
let
OriginalMoney
=
this
.
ground
.
detailList
.
map
(
item
=>
{
return
item
.
OriginalMoney
})
this
.
ground
.
WBMoney
=
0
for
(
let
j
=
0
;
j
<
OriginalMoney
.
length
;
j
++
){
this
.
ground
.
WBMoney
+=
OriginalMoney
[
j
]
}
}
},
// 删除
deleteTypeList
(
item
,
index
,
num
){
this
.
airTickets
.
detailList
.
splice
(
index
,
1
)
},
// 添加
addTypeList
(
item
){
let
data
=
{
CostTypeId
:
item
,
//费用ID
Number
:
""
,
//数量
UnitPrice
:
""
,
//单价
OriginalMoney
:
""
,
//总金额
Remark
:
""
,
//备注
}
if
(
item
==
'1'
){
this
.
airTickets
.
detailList
.
push
(
data
)
}
if
(
item
==
'2'
){
this
.
visa
.
detailList
.
push
(
data
)
}
if
(
item
==
'3'
){
this
.
ground
.
detailList
.
push
(
data
)
}
},
getAccountList
()
{
//获取账户类型对应下的账户列表
if
(
this
.
BillMaking
.
IsPublic
){
this
.
apipost2
(
'FinancialInstitutions_post_GetALLAccountList'
,
{
TypeId
:
this
.
BillMaking
.
IsPublic
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
this
.
accountList
=
data
;
}
},
err
=>
{})
}
},
AccountType_post_GetList
()
{
//获取账户类型下拉
let
queryAccMsg
=
{
IsPublic
:
-
1
,
Is_Open
:
true
,
}
this
.
apipost2
(
'AccountType_post_GetList'
,
queryAccMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
AccList
=
res
.
data
.
data
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{})
},
admin_get_DepartmentGetList
()
{
// 获取部门
let
departmentMsg
=
{
RB_Branch_Id
:
this
.
BillMaking
.
RB_Depart_Id
}
this
.
apipost2
(
'admin_get_DepartmentGetList'
,
this
.
departmentMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
departmentList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
getCompany
()
{
// 获取公司
let
companyMsg
=
{
RB_Group_Id
:
this
.
getLocalStorage
().
RB_Group_id
,
Status
:
0
,
}
this
.
apipost2
(
'admin_get_BranchGetList'
,
companyMsg
,
res
=>
{
let
data
=
res
.
data
.
data
;
let
Status
=
false
;
this
.
companyList
=
data
;
},
err
=>
{})
},
// 获取流程
Financial_post_GetList
(){
//获取
let
msg
=
{
Type
:
1
}
this
.
apipost2
(
'Financial_post_GetList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
let
data
=
res
.
data
.
data
;
if
(
data
){
data
.
forEach
(
item
=>
{
if
(
item
.
Type
==
1
){
this
.
processList
.
push
(
item
)
}
})
}
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
// 多选发生变化
clickMultipleChoice
()
{
if
(
this
.
checkList
.
length
>
0
)
{
...
...
@@ -936,6 +1703,7 @@
},
closedDialog
()
{
this
.
MsgBus
.
$emit
(
"closeTicketOrderDialogBox"
);
this
.
MsgBus
.
$emit
(
"closeBillMaking"
);
},
// 操作日志
getList
()
{
...
...
@@ -973,6 +1741,10 @@
// size: (file.file.size / 1024).toFixed(2) + "kb",
// });
this
.
Voucher
.
push
(
data
)
let
Content
=
{
Content
:
data
}
this
.
BillMaking
.
vorcherInos
.
push
(
Content
)
this
.
form
.
Voucher
.
push
(
url
);
});
},
...
...
@@ -1135,6 +1907,175 @@
}
});
},
// 制单
Financial_post_SetFinanceInfoForCRMIn
(){
if
(
!
this
.
BillMaking
.
TemplateId
){
this
.
$message
.
warning
(
'请选择流程'
);
return
}
if
(
!
this
.
BillMaking
.
IsPublic
){
this
.
$message
.
warning
(
'请选择账户类型'
);
return
}
if
(
!
this
.
BillMaking
.
AccountId
){
this
.
$message
.
warning
(
'请选择账户'
);
return
}
this
.
obj
.
checkList
.
indexOf
(
'1'
)
!=-
1
&&
this
.
airTickets
.
detailList
.
forEach
(
item
=>
{
item
.
CostTypeId
=
this
.
obj
.
OrderType
if
(
!
item
.
Number
){
this
.
$message
.
warning
(
'请输入机票数量'
);
return
}
if
(
!
item
.
UnitPrice
){
this
.
$message
.
warning
(
'请输入机票单价'
);
return
}
if
(
item
.
Remark
==
""
){
this
.
$message
.
warning
(
'请输入机票备注'
);
return
}
})
this
.
obj
.
checkList
.
indexOf
(
'2'
)
!=-
1
&&
this
.
visa
.
detailList
.
forEach
(
item
=>
{
item
.
CostTypeId
=
this
.
obj
.
OrderType
if
(
!
item
.
Number
){
this
.
$message
.
warning
(
'请输入签证数量'
);
return
}
if
(
!
item
.
UnitPrice
){
this
.
$message
.
warning
(
'请输入签证单价'
);
return
}
if
(
item
.
Remark
==
""
){
this
.
$message
.
warning
(
'请输入签证备注'
);
return
}
})
this
.
obj
.
checkList
.
indexOf
(
'3'
)
!=-
1
&&
this
.
ground
.
detailList
.
forEach
(
item
=>
{
item
.
CostTypeId
=
this
.
obj
.
OrderType
if
(
!
item
.
Number
){
this
.
$message
.
warning
(
'请输入地接数量'
);
return
}
if
(
!
item
.
UnitPrice
){
this
.
$message
.
warning
(
'请输入地接单价'
);
return
}
if
(
item
.
Remark
==
""
){
this
.
$message
.
warning
(
'请输入地接备注'
);
return
}
})
if
(
this
.
obj
.
checkList
.
indexOf
(
'1'
)
!=-
1
&&!
this
.
airTickets
.
OriginalFee
){
this
.
$message
.
warning
(
'请输入机票手续费'
);
return
}
if
(
this
.
obj
.
checkList
.
indexOf
(
'2'
)
!=-
1
&&!
this
.
visa
.
OriginalFee
){
this
.
$message
.
warning
(
'请输入签证手续费'
);
return
}
if
(
this
.
obj
.
checkList
.
indexOf
(
'3'
)
!=-
1
&&!
this
.
ground
.
OriginalFee
){
this
.
$message
.
warning
(
'请输入地接手续费'
);
return
}
if
(
this
.
BillMaking
.
vorcherInos
==
[]){
this
.
$message
.
warning
(
'请上传凭证'
);
return
}
if
(
!
this
.
BillMaking
.
RemitterName
){
this
.
$message
.
warning
(
'请输入汇款人'
);
return
}
if
(
!
this
.
BillMaking
.
TradeDate
){
this
.
$message
.
warning
(
'请选择交易日期'
);
return
}
if
(
!
this
.
BillMaking
.
TradeDate
){
this
.
$message
.
warning
(
'请输入流水号'
);
return
}
if
(
this
.
obj
.
checkList
.
indexOf
(
'1'
)
!=-
1
&&
this
.
airTickets
.
detailList
){
this
.
BillMaking
=
{
IsPublic
:
this
.
BillMaking
.
IsPublic
,
// 账户类型 0私账 1公账
BType
:
this
.
BillMaking
.
BType
,
//银行类型 看财务单据那边有枚举列表
AccountId
:
this
.
BillMaking
.
AccountId
,
// 账户ID
WBMoney
:
this
.
airTickets
.
WBMoney
,
//原币总金额
OriginalFee
:
this
.
airTickets
.
OriginalFee
,
//原币手续费
RB_Branch_Id
:
this
.
BillMaking
.
RB_Branch_Id
,
//公司ID
RB_Depart_Id
:
this
.
BillMaking
.
RB_Depart_Id
,
//部门ID
RemitterName
:
this
.
BillMaking
.
RemitterName
,
// 汇款人
TradeDate
:
this
.
BillMaking
.
TradeDate
,
//交易日期
AccountNumber
:
this
.
BillMaking
.
AccountNumber
,
//流水号
TemplateId
:
this
.
BillMaking
.
TemplateId
,
//流程ID
OtherType
:
this
.
BillMaking
.
OtherType
,
//默认=55
ReFinanceId
:
this
.
BillMaking
.
OrderId
,
//订单ID
ReFinanceId2
:
this
.
BillMaking
.
ReFinanceId2
,
//类型 1收款
GuestId
:
this
.
BillMaking
.
GuestId
,
//客人ID
RelevanceFrId
:
this
.
BillMaking
.
RelevanceFrId
,
vorcherInos
:
this
.
BillMaking
.
vorcherInos
,
detailList
:
this
.
airTickets
.
detailList
}
this
.
msgList
.
push
(
this
.
BillMaking
)
}
if
(
this
.
obj
.
checkList
.
indexOf
(
'2'
)
!=-
1
&&
this
.
visa
.
detailList
){
this
.
BillMaking
=
{
IsPublic
:
this
.
BillMaking
.
IsPublic
,
// 账户类型 0私账 1公账
BType
:
this
.
BillMaking
.
BType
,
//银行类型 看财务单据那边有枚举列表
AccountId
:
this
.
BillMaking
.
AccountId
,
// 账户ID
WBMoney
:
this
.
visa
.
WBMoney
,
//原币总金额
OriginalFee
:
this
.
visa
.
OriginalFee
,
//原币手续费
RB_Branch_Id
:
this
.
BillMaking
.
RB_Branch_Id
,
//公司ID
RB_Depart_Id
:
this
.
BillMaking
.
RB_Depart_Id
,
//部门ID
RemitterName
:
this
.
BillMaking
.
RemitterName
,
// 汇款人
TradeDate
:
this
.
BillMaking
.
TradeDate
,
//交易日期
AccountNumber
:
this
.
BillMaking
.
AccountNumber
,
//流水号
TemplateId
:
this
.
BillMaking
.
TemplateId
,
//流程ID
OtherType
:
this
.
BillMaking
.
OtherType
,
//默认=55
ReFinanceId
:
this
.
BillMaking
.
OrderId
,
//订单ID
ReFinanceId2
:
this
.
BillMaking
.
ReFinanceId2
,
//类型 1收款
GuestId
:
this
.
BillMaking
.
GuestId
,
//客人ID
RelevanceFrId
:
this
.
BillMaking
.
RelevanceFrId
,
vorcherInos
:
this
.
BillMaking
.
vorcherInos
,
detailList
:
this
.
visa
.
detailList
}
this
.
msgList
.
push
(
this
.
BillMaking
)
}
if
(
this
.
obj
.
checkList
.
indexOf
(
'3'
)
!=-
1
&&
this
.
ground
.
detailList
){
this
.
BillMaking
=
{
IsPublic
:
this
.
BillMaking
.
IsPublic
,
// 账户类型 0私账 1公账
BType
:
this
.
BillMaking
.
BType
,
//银行类型 看财务单据那边有枚举列表
AccountId
:
this
.
BillMaking
.
AccountId
,
// 账户ID
WBMoney
:
this
.
ground
.
WBMoney
,
//原币总金额
OriginalFee
:
this
.
ground
.
OriginalFee
,
//原币手续费
RB_Branch_Id
:
this
.
BillMaking
.
RB_Branch_Id
,
//公司ID
RB_Depart_Id
:
this
.
BillMaking
.
RB_Depart_Id
,
//部门ID
RemitterName
:
this
.
BillMaking
.
RemitterName
,
// 汇款人
TradeDate
:
this
.
BillMaking
.
TradeDate
,
//交易日期
AccountNumber
:
this
.
BillMaking
.
AccountNumber
,
//流水号
TemplateId
:
this
.
BillMaking
.
TemplateId
,
//流程ID
OtherType
:
this
.
BillMaking
.
OtherType
,
//默认=55
ReFinanceId
:
this
.
BillMaking
.
OrderId
,
//订单ID
ReFinanceId2
:
this
.
BillMaking
.
ReFinanceId2
,
//类型 1收款
GuestId
:
this
.
BillMaking
.
GuestId
,
//客人ID
RelevanceFrId
:
this
.
BillMaking
.
RelevanceFrId
,
vorcherInos
:
this
.
BillMaking
.
vorcherInos
,
detailList
:
this
.
ground
.
detailList
}
this
.
msgList
.
push
(
this
.
BillMaking
)
}
console
.
log
(
this
.
msgList
,
'----'
)
return
this
.
apipost2
(
"Financial_post_SetFinanceInfoForCRMIn"
,
this
.
msgList
,(
res
)
=>
{
console
.
log
(
this
.
msgList
,
'----'
)
})
},
submitForm
(
addMsg
)
{
//提交创建、修改表单
if
(
this
.
name
==
'新建机票订单'
||
this
.
name
==
'编辑机票订单'
)
{
...
...
@@ -1177,11 +2118,15 @@
}
});
}
if
(
this
.
name
==
'制单'
){
this
.
Financial_post_SetFinanceInfoForCRMIn
()
}
},
resetForm
(
formName
)
{
this
.
dialogTableVisible
=
false
;
this
.
MsgBus
.
$emit
(
"closeTicketOrderDialogBox"
);
this
.
MsgBus
.
$emit
(
"closeBillMaking"
);
// 重置表单
this
.
form
=
{
OrderId
:
0
,
...
...
src/views/index.vue
View file @
68414f37
...
...
@@ -351,6 +351,12 @@
$this
.
obj
=
obj
;
$this
.
dialogTicketOrderVisible
=
true
;
});
this
.
MsgBus
.
$on
(
"BillMakingOrderBoxOpen"
,
function
(
GuestId
,
obj
)
{
$this
.
dialogTicketOrderVisibleName
=
"制单"
;
$this
.
GuestId
=
GuestId
;
$this
.
obj
=
obj
;
$this
.
dialogTicketOrderVisible
=
true
;
});
this
.
MsgBus
.
$on
(
"closeTicketOrderDialogBox"
,
function
()
{
$this
.
dialogTicketOrderVisible
=
false
;
this
.
$emit
(
"getList"
);
...
...
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