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
a4de6d75
Commit
a4de6d75
authored
May 16, 2022
by
zhengke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
a615a77a
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
429 additions
and
43 deletions
+429
-43
customerOrder.vue
src/components/customerManage/customerOrder.vue
+38
-5
myCustomerOrder.vue
src/components/customerManage/myCustomerOrder.vue
+38
-5
orderList.vue
src/components/customerManage/orderList.vue
+44
-3
customerInfoBox.vue
src/components/guestManagement/customerInfoBox.vue
+26
-2
finance.vue
src/components/guestManagement/finance.vue
+34
-4
ticketOrder.vue
src/components/guestManagement/ticketOrder.vue
+96
-2
index.vue
src/components/planeTicketOrder/index.vue
+141
-22
index.vue
src/views/index.vue
+12
-0
No files found.
src/components/customerManage/customerOrder.vue
View file @
a4de6d75
...
...
@@ -107,6 +107,20 @@
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</el-col>
<el-col
:xs=
"7"
:sm=
"6"
:md=
"5"
:lg=
"4"
:xl=
"3"
>
<span
class=
"font-size-12"
style=
"padding-right: 10px"
>
出签状态
</span
>
<el-select
size=
"mini"
v-model=
"msg.VisaStatus"
@
change=
"getList"
>
<el-option
v-for=
"(item, index) in VisaList"
:key=
"index"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</el-col>
<el-col
:xs=
"7"
:sm=
"6"
:md=
"5"
:lg=
"4"
:xl=
"3"
>
<span
class=
"font-size-12"
style=
"padding-right: 10px"
>
订单状态
</span>
<el-select
size=
"mini"
v-model=
"msg.OrderStatus"
@
change=
"getList"
>
...
...
@@ -214,6 +228,11 @@
},
data
()
{
return
{
VisaList
:[
{
Name
:
"不限"
,
Id
:
"0"
},
{
Name
:
"未出签"
,
Id
:
"1"
},
{
Name
:
"已出签"
,
Id
:
"2"
},
],
MultipleChoiceList
:
[
//多选项目
{
Name
:
'机票'
,
...
...
@@ -248,16 +267,14 @@
EndCityName
:
""
,
//到达城市
EnterID
:
""
,
//业务员id
TicketStatus
:
"0"
,
//出票状态
OrderStatus
:
"1"
,
//订单状态
VisaStatus
:
"0"
,
//出签状态
OrderStatus
:
"0"
,
//订单状态
Q_IsCollect
:
"0"
,
//收款状态
StartTime
:
""
,
EndTime
:
""
},
ticketingStatusList
:[],
// 出票状态
OrderStatusList
:[
{
Name
:
'正常'
,
Id
:
'1'
},
{
Name
:
'取消'
,
Id
:
'2'
}
],
OrderStatusList
:[],
QIsCollectList
:[
{
Name
:
'不限'
,
Id
:
'0'
},
{
Name
:
'已收齐'
,
Id
:
'1'
},
...
...
@@ -278,6 +295,7 @@
}
this
.
Employee
()
//业务员
this
.
GetTicketStatusEnumList
()
//出票枚举
this
.
GetOrderStatusEnumList
()
//订单状态枚举
let
$this
=
this
this
.
MsgBus
.
$on
(
"closeGetList"
,
function
()
{
$this
.
getList
()
...
...
@@ -331,6 +349,21 @@
return
item
.
More
=
''
})
},
// 获取订单状态枚举
GetOrderStatusEnumList
()
{
this
.
apipost
(
"/api/Order/GetOrderStatusEnumList"
,
{},
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
OrderStatusList
=
res
.
data
.
data
;
let
data
=
{
Name
:
"不限"
,
Id
:
"0"
,
};
this
.
OrderStatusList
.
unshift
(
data
);
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
});
},
// 获取出票状态枚举
GetTicketStatusEnumList
(){
this
.
apipost
(
...
...
src/components/customerManage/myCustomerOrder.vue
View file @
a4de6d75
...
...
@@ -90,6 +90,20 @@
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</el-col>
<el-col
:xs=
"7"
:sm=
"6"
:md=
"5"
:lg=
"4"
:xl=
"3"
>
<span
class=
"font-size-12"
style=
"padding-right: 10px"
>
出签状态
</span
>
<el-select
size=
"mini"
v-model=
"msg.VisaStatus"
@
change=
"getList"
>
<el-option
v-for=
"(item, index) in VisaList"
:key=
"index"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-select>
</el-col>
<el-col
:xs=
"7"
:sm=
"6"
:md=
"5"
:lg=
"4"
:xl=
"3"
>
<span
class=
"font-size-12"
style=
"padding-right: 10px"
>
订单状态
</span>
<el-select
size=
"mini"
v-model=
"msg.OrderStatus"
@
change=
"getList"
>
...
...
@@ -197,6 +211,11 @@
},
data
()
{
return
{
VisaList
:[
{
Name
:
"不限"
,
Id
:
"0"
},
{
Name
:
"未出签"
,
Id
:
"1"
},
{
Name
:
"已出签"
,
Id
:
"2"
},
],
MultipleChoiceList
:
[
//多选项目
{
Name
:
'机票'
,
...
...
@@ -230,16 +249,14 @@
EndCityName
:
""
,
//到达城市
EnterID
:
""
,
//业务员id
TicketStatus
:
"0"
,
//出票状态
OrderStatus
:
"1"
,
//订单状态
VisaStatus
:
"0"
,
//出签状态
OrderStatus
:
"0"
,
//订单状态
Q_IsCollect
:
"0"
,
//收款状态
StartTime
:
"2022-04-28"
,
EndTime
:
""
},
ticketingStatusList
:[],
// 出票状态
OrderStatusList
:[
{
Name
:
'正常'
,
Id
:
'1'
},
{
Name
:
'取消'
,
Id
:
'2'
}
],
OrderStatusList
:[],
QIsCollectList
:[
{
Name
:
'不限'
,
Id
:
'0'
},
{
Name
:
'已收齐'
,
Id
:
'1'
},
...
...
@@ -259,6 +276,7 @@
}
this
.
Employee
()
//业务员
this
.
GetTicketStatusEnumList
()
//出票枚举
this
.
GetOrderStatusEnumList
()
//订单状态枚举
let
$this
=
this
this
.
MsgBus
.
$on
(
"closeGetList"
,
function
()
{
$this
.
getList
()
...
...
@@ -312,6 +330,21 @@
return
item
.
More
=
''
})
},
// 获取订单状态枚举
GetOrderStatusEnumList
()
{
this
.
apipost
(
"/api/Order/GetOrderStatusEnumList"
,
{},
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
OrderStatusList
=
res
.
data
.
data
;
let
data
=
{
Name
:
"不限"
,
Id
:
"0"
,
};
this
.
OrderStatusList
.
unshift
(
data
);
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
});
},
// 获取出票状态枚举
GetTicketStatusEnumList
(){
this
.
apipost
(
...
...
src/components/customerManage/orderList.vue
View file @
a4de6d75
...
...
@@ -31,6 +31,7 @@
<th
width=
"6.5%"
>
手续费
</th>
<th
width=
"6.5%"
>
待收
</th>
<th
width=
"6.5%"
>
出票状态
</th>
<th
width=
"6.5%"
>
签证状态
</th>
<th
width=
"6.5%"
>
订单状态
</th>
<th
width=
"100px"
>
操作
</th>
</tr>
...
...
@@ -106,10 +107,24 @@
(item.TicketStatus==4?'Black':'')))"
>
{{
item
.
TicketStatusName
}}
</span>
<i
v-if=
"item.TicketStatus!=1&&item.TicketVoucherList!=[]&&item.CancelVoucherList!=[]&&item.TicketStatusName!='无需机票'"
class=
"iconfont iconpingzhengchaxun Credentials"
<i
v-if=
"item.TicketStatus!=1&&item.TicketVoucherList!=[]&&item.CancelVoucherList!=[]&&item.TicketStatusName!='无需机票'"
class=
"
cp
iconfont iconpingzhengchaxun Credentials"
@
click=
"viewCredentials(item)"
></i>
</p>
</td>
<td
style=
"border:none"
>
<p
class=
"TicketVoucher-box"
>
<span
@
click=
"item.VisaStatus=='1'?AmendVisa(item):''"
class=
"tatusText"
:class=
"item.VisaStatus==0?'grey':
(item.VisaStatus==2?'success'+' cp':
(item.VisaStatus==1?'Black':''))"
>
{{
item
.
VisaStatus
==
1
?
'未出签'
:(
item
.
VisaStatus
==
2
?
'已出签'
:
'无需签证'
)
}}
</span>
<i
v-if=
"item.VisaStatus==2"
class=
"cp iconfont iconpingzhengchaxun Credentials"
@
click=
"CheckOutDetails(item)"
></i>
</p>
</td>
<td
style=
"border:none"
>
<div
style=
"background: rgba(2, 196, 153, 0.2);width: 70px;border-radius: 2px;text-align: center"
...
...
@@ -143,7 +158,7 @@
</td>
</tr>
<tr>
<td
:colspan=
"
8
"
style=
"height: 108px;text-align: left"
>
<td
:colspan=
"
9
"
style=
"height: 108px;text-align: left"
>
<div>
备注:
</div>
<div
class=
"remarks-b"
>
<div
v-if=
"item.Remark != null || item.Remark != ''"
>
...
...
@@ -231,7 +246,7 @@
</table>
</div>
<el-drawer
:with-header=
"false"
size=
'70%'
:visible
.
sync=
"drawer"
direction=
"rtl"
:before-close=
"handleClose"
>
<customerInfoBox
:CustomerId=
"CustomerId"
/>
<customerInfoBox
:CustomerId=
"CustomerId"
:activeNameNum=
"activeNameNum"
:receiptType=
"receiptType"
/>
</el-drawer>
<!-- 单号抽屉 -->
<el-drawer
@
closed=
"closeOrderDrawerHandler"
:with-header=
"false"
size=
'70%'
:visible
.
sync=
"orderDrawer"
direction=
"rtl"
:before-close=
"handleClose"
>
...
...
@@ -266,6 +281,7 @@ export default {
},
data
()
{
return
{
receiptType
:{},
activeNameNum
:
"1"
,
MultipleChoiceList
:
[
//多选项目
{
...
...
@@ -598,6 +614,31 @@ export default {
operationLog
(
row
)
{
this
.
MsgBus
.
$emit
(
"logTicketOrderBoxOpen"
,
row
.
GuestId
,
row
,
true
);
},
// 修改签证状态
AmendVisa
(
row
){
if
(
this
.
superManage
)
{
this
.
AmendVisafun
(
row
);
}
else
{
if
(
this
.
userInfo
.
EmName
!=
row
.
EnterName
)
{
this
.
ValidateOperator
();
}
else
{
this
.
AmendVisafun
(
row
);
}
}
},
AmendVisafun
(
row
){
this
.
MsgBus
.
$emit
(
"AmendVisaOrderBoxOpen"
,
row
.
GuestId
,
row
,
true
);
},
// 出签凭证详情
CheckOutDetails
(
row
){
let
$this
=
this
;
this
.
MsgBus
.
$emit
(
"CheckOutDetailsOrderBoxOpen"
,
$this
.
ID
,
row
,
true
);
},
// 修改出票状态
modifyStatus
(
row
)
{
if
(
this
.
superManage
)
{
...
...
src/components/guestManagement/customerInfoBox.vue
View file @
a4de6d75
...
...
@@ -116,7 +116,7 @@
</el-row>
</div>
<div
class=
"content"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tabs
v-
if=
"!receiptType.ReFinanceId"
v-
model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"活动"
name=
"1"
>
<Activity
v-if=
"activeName === '1'"
:CustomerId=
"CustomerId"
:showType=
"2"
:detailsData=
"detailsData"
/>
</el-tab-pane>
...
...
@@ -145,6 +145,12 @@
<Record
v-if=
"activeName === '9'"
:CustomerId=
"CustomerId"
/>
</el-tab-pane>
</el-tabs>
<el-tabs
v-else
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"财务单据"
name=
"12"
>
<finance
v-if=
"activeName === '12'"
:ID=
"CustomerId"
:receiptType=
"receiptType"
/>
</el-tab-pane>
</el-tabs>
</div>
</div>
</div>
...
...
@@ -172,6 +178,10 @@
guestTeam
,
},
props
:
{
documentDetails
:
{
type
:
Boolean
,
default
:
false
,
},
CustomerId
:
{
type
:
Number
,
default
:
0
,
...
...
@@ -180,6 +190,14 @@
type
:
Boolean
,
default
:
false
,
},
activeNameNum
:
{
type
:
String
,
default
:
false
},
receiptType
:
{
type
:
Object
,
default
:
false
}
},
data
()
{
return
{
...
...
@@ -192,10 +210,16 @@
CustomerId
:
{
handler
(
val
,
oldVal
)
{
this
.
init
();
this
.
activeName
=
"1"
;
},
deep
:
true
,
},
activeNameNum
:
{
immediate
:
true
,
handler
(
val
,
oldVal
)
{
this
.
activeName
=
val
;
},
deep
:
true
,
}
},
created
()
{
...
...
src/components/guestManagement/finance.vue
View file @
a4de6d75
...
...
@@ -86,7 +86,7 @@
:data=
"dataList"
tooltip-effect=
"dark"
style=
"width: 100%"
:height=
"dataList.length > 0 ? '600' : '6
6
0'"
:height=
"dataList.length > 0 ? '600' : '6
0
0'"
row-class-name=
"font-size-12"
>
<el-table-column
fixed
...
...
@@ -167,7 +167,20 @@
</template>
<
script
>
export
default
{
props
:
[
"ID"
,
"BusinessType"
],
props
:{
ID
:{
type
:
Number
,
default
:
false
},
BusinessType
:{
type
:
Boolean
,
default
:
false
},
receiptType
:{
type
:
Object
,
default
:
false
}
},
data
()
{
return
{
ApprovalStatusList
:[
...
...
@@ -192,7 +205,10 @@ export default {
FrID
:
"0"
,
Type
:
"-1"
,
Status
:
"-1"
,
GuestId
:
""
GuestId
:
""
,
ReFinanceId
:
""
,
// 订单ID
ReFinanceId2
:
""
,
//1收入 2退款 3成本
RelevanceFrId
:
""
,
//收据类型
},
total
:
0
};
...
...
@@ -200,10 +216,24 @@ export default {
watch
:
{
ID
:
{
handler
(
val
,
oldVal
)
{
this
.
getList
();
if
(
!
this
.
receiptType
.
ReFinanceId
){
this
.
getList
();
}
},
deep
:
true
,
},
receiptType
:
{
immediate
:
true
,
handler
(
val
,
oldVal
)
{
this
.
msg
.
ReFinanceId
=
val
.
ReFinanceId
this
.
msg
.
ReFinanceId2
=
val
.
ReFinanceId2
this
.
msg
.
RelevanceFrId
=
val
.
RelevanceFrId
if
(
val
.
ReFinanceId
){
this
.
getList
()
}
},
deep
:
true
,
}
},
mounted
()
{
this
.
msg
.
GuestId
=
this
.
ID
...
...
src/components/guestManagement/ticketOrder.vue
View file @
a4de6d75
...
...
@@ -504,7 +504,7 @@
<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!='凭证图'&&name!='制单'"
><span
class=
"radius"
></span>
{{
name
!=
'修改出票状态'
?
' 基本信息'
:
' 上传'
+
text
+
'凭证'
}}
</p>
{{
name
!=
'修改出票状态'
&&
name
!=
'修改出签状态'
?
' 基本信息'
:
' 上传'
+
text
+
'凭证'
}}
</p>
<el-row
:gutter=
"30"
>
<el-col
:span=
"8"
v-if=
"name=='新建机票订单'||name=='编辑机票订单'"
>
<div
class=
"MyEditForm-item"
>
...
...
@@ -621,7 +621,7 @@
<div
class=
"MyEditForm-item"
>
<el-form-item
label=
"凭证/图片"
prop=
""
>
<div
class=
"certificate-img-box"
>
<div
class=
"img-box"
v-
loding=
"imgShow"
v-for=
"(item,index) in form.Voucher"
:key=
"index"
>
<div
class=
"img-box"
:
loding=
"imgShow"
v-for=
"(item,index) in form.Voucher"
:key=
"index"
>
<el-image
style=
"width: 100px; height: 100px"
:src=
"item"
...
...
@@ -640,6 +640,46 @@
class=
"upload-demo"
drag
action=
""
:show-file-list=
"false"
:file-list=
"fileList"
:http-request=
"uploadImg"
:multiple=
"true"
accept=
"image/jpeg,image/gif,image/png,image/bmp"
:before-upload=
"handleAvatarUpload"
:on-success=
"handleAvatarSuccess"
>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
将文件拖到此处,或
<em>
点击上传
</em></div>
</el-upload>
</el-form-item>
</div>
</el-col>
</el-row>
<el-row
v-if=
"name=='修改出签状态'"
>
<el-col
:span=
"24"
>
<div
class=
"MyEditForm-item"
>
<el-form-item
label=
"凭证/图片"
prop=
""
>
<div
class=
"certificate-img-box"
>
<div
class=
"img-box"
:loding=
"imgShow"
v-for=
"(item,index) in form.Voucher"
:key=
"index"
>
<el-image
style=
"width: 100px; height: 100px"
:src=
"item"
:preview-src-list=
"form.Voucher"
>
</el-image>
</div>
</div>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"MyEditForm-item"
>
<el-form-item
label=
"上传图片"
prop=
"Voucher"
>
<el-upload
ref=
"ticketUpload"
class=
"upload-demo"
drag
action=
""
:show-file-list=
"false"
:file-list=
"fileList"
:http-request=
"uploadImg"
:multiple=
"true"
...
...
@@ -699,6 +739,18 @@
</div>
</div>
</div>
<div
v-if=
"name=='出签凭证图'"
class=
"Credentials-box"
>
<div
class=
"Credentials-text"
>
<div
class=
"Credentialstext-box"
>
<p>
出签凭证
</p>
<div
class=
"Credentialsimg-box"
>
<el-image
v-for=
"(items,index) in obj.VisaVoucherList.map(item=>
{return domainManager().ViittoFileUrl + item})" :key="index"
:src="items"
:preview-src-list="obj.VisaVoucherList.map(item=>{return domainManager().ViittoFileUrl + item})">
</el-image>
</div>
</div>
</div>
</div>
<div
v-if=
"name=='操作日志'"
>
<div
v-for=
"(item,index) in logData"
:key=
"index"
>
<div
class=
"form-box-log"
>
...
...
@@ -1491,6 +1543,9 @@
this
.
AccountType_post_GetList
()
this
.
Financial_post_GetCostTypeList
()
}
if
(
this
.
name
==
'修改出签状态'
)
{
this
.
text
=
'出签'
}
},
...
...
@@ -2207,6 +2262,38 @@
}
})
},
// 修改出签状态
SetOrderVisaState
(){
if
(
this
.
Voucher
.
length
==
0
){
this
.
$message
.
warning
(
'请上传凭证!'
);
return
}
let
data
=
{
OrderId
:
this
.
obj
.
OrderId
,
//订单ID
Voucher
:
this
.
Voucher
}
this
.
clickShow
=
true
this
.
apipost
(
"api/Order/SetOrderVisaState"
,
data
,(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
clickShow
=
false
this
.
dialogTableVisible
=
false
;
this
.
Voucher
=
[]
this
.
MsgBus
.
$emit
(
"closeBillMaking"
);
this
.
$confirm
(
res
.
data
.
message
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
''
,
type
:
'warning'
}).
then
(()
=>
{
}).
catch
(()
=>
{
});
}
else
{
this
.
clickShow
=
false
this
.
$message
.
error
(
res
.
data
.
message
);
}
})
},
submitForm
(
addMsg
)
{
//提交创建、修改表单
if
(
this
.
name
==
'新建机票订单'
||
this
.
name
==
'编辑机票订单'
)
{
...
...
@@ -2252,6 +2339,13 @@
if
(
this
.
name
==
'制单'
){
this
.
Financial_post_SetFinanceInfoForCRMIn
()
}
if
(
this
.
name
==
'修改出签状态'
){
this
.
SetOrderVisaState
()
}
if
(
this
.
name
==
'凭证图'
||
this
.
name
==
'出签凭证图'
){
this
.
dialogTableVisible
=
false
;
this
.
MsgBus
.
$emit
(
"closeTicketOrderDialogBox"
);
}
},
resetForm
(
formName
)
{
...
...
src/components/planeTicketOrder/index.vue
View file @
a4de6d75
This diff is collapsed.
Click to expand it.
src/views/index.vue
View file @
a4de6d75
...
...
@@ -333,6 +333,12 @@
$this
.
obj
=
obj
;
$this
.
dialogTicketOrderVisible
=
true
;
});
this
.
MsgBus
.
$on
(
"AmendVisaOrderBoxOpen"
,
function
(
GuestId
,
obj
)
{
$this
.
dialogTicketOrderVisibleName
=
"修改出签状态"
;
$this
.
GuestId
=
GuestId
;
$this
.
obj
=
obj
;
$this
.
dialogTicketOrderVisible
=
true
;
});
this
.
MsgBus
.
$on
(
"logTicketOrderBoxOpen"
,
function
(
GuestId
,
obj
)
{
$this
.
dialogTicketOrderVisibleName
=
"操作日志"
;
$this
.
GuestId
=
GuestId
;
...
...
@@ -351,6 +357,12 @@
$this
.
obj
=
obj
;
$this
.
dialogTicketOrderVisible
=
true
;
});
this
.
MsgBus
.
$on
(
"CheckOutDetailsOrderBoxOpen"
,
function
(
GuestId
,
obj
)
{
$this
.
dialogTicketOrderVisibleName
=
"出签凭证图"
;
$this
.
GuestId
=
GuestId
;
$this
.
obj
=
obj
;
$this
.
dialogTicketOrderVisible
=
true
;
});
this
.
MsgBus
.
$on
(
"BillMakingOrderBoxOpen"
,
function
(
GuestId
,
obj
)
{
$this
.
dialogTicketOrderVisibleName
=
"制单"
;
$this
.
GuestId
=
GuestId
;
...
...
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