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
8baa1242
Commit
8baa1242
authored
Nov 05, 2024
by
youjie
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/huaguohao/crm
parents
fb93d892
3d2bd0ff
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
1318 additions
and
1247 deletions
+1318
-1247
HomeNavLeft.vue
src/components/HomeNav/HomeNavLeft.vue
+155
-145
HomeNavTop.vue
src/components/HomeNav/HomeNavTop.vue
+140
-124
contractManagement.vue
src/components/contractManagement/contractManagement.vue
+2
-7
orderProfits.vue
src/components/customerManage/orderProfits.vue
+651
-647
Agreement copy.vue
src/components/guestManagement/Agreement copy.vue
+53
-47
Agreement.vue
src/components/guestManagement/Agreement.vue
+70
-58
finance.vue
src/components/guestManagement/finance.vue
+1
-1
domainManager.js
src/plugins/domainManager.js
+33
-27
index.js
src/plugins/index.js
+105
-122
customerField.vue
src/views/customerSet/components/customerField.vue
+65
-61
index.vue
src/views/index.vue
+7
-4
login.vue
src/views/login.vue
+36
-4
No files found.
src/components/HomeNav/HomeNavLeft.vue
View file @
8baa1242
<
style
>
<
style
>
.home-nav
{
.home-nav
{
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
/* font-family: perfectFont; */
/* font-family: perfectFont; */
user-select
:
none
;
user-select
:
none
;
}
}
.log-box
{
width
:
100%
;
.log-box
{
height
:
13.19%
;
width
:
100%
;
}
height
:
13.19%
;
.log-box
{
}
background-color
:
#f4f5f9
;
}
.log-box
{
.log-box
>
div
{
background-color
:
#f4f5f9
;
height
:
100%
;
}
width
:
100%
;
background
:
#3d3b4f
;
.log-box
>
div
{
/* border-radius:0px 40px 40px 0px; */
height
:
100%
;
display
:
flex
;
width
:
100%
;
align-items
:
center
;
background
:
#3d3b4f
;
justify-content
:
center
;
/* border-radius:0px 40px 40px 0px; */
}
display
:
flex
;
.log-box
img
{
align-items
:
center
;
width
:
42px
;
justify-content
:
center
;
}
}
.home-nav
.home-menu-box
{
height
:
86.81%
;
.log-box
img
{
overflow
:
hidden
;
width
:
42px
;
}
}
.home-nav
.home-menu
{
padding
:
0
8px
;
.home-nav
.home-menu-box
{
height
:
100%
;
height
:
86.81%
;
overflow-y
:
scroll
;
overflow
:
hidden
;
}
}
.home-nav
.home-menu
.home-menu-item
{
color
:
rgba
(
255
,
255
,
255
,
1
);
.home-nav
.home-menu
{
font-size
:
13px
;
padding
:
0
8px
;
cursor
:
pointer
;
height
:
100%
;
transition
:
all
linear
0.2s
;
overflow-y
:
scroll
;
background-color
:
#f4f5f9
;
}
border-radius
:
4px
;
overflow
:
hidden
;
.home-nav
.home-menu
.home-menu-item
{
font-family
:
"perfectFont"
;
color
:
rgba
(
255
,
255
,
255
,
1
);
}
font-size
:
13px
;
.home-nav
.home-menu
.home-menu-item
>
div
{
cursor
:
pointer
;
padding
:
0
0
0
15px
;
transition
:
all
linear
0.2s
;
background-color
:
#3d3b4f
;
background-color
:
#f4f5f9
;
height
:
50px
;
border-radius
:
4px
;
line-height
:
50px
;
overflow
:
hidden
;
}
font-family
:
"perfectFont"
;
.home-nav
.home-menu
.home-menu-item.active
{
}
background-color
:
#3d3b4f
;
}
.home-nav
.home-menu
.home-menu-item
>
div
{
.home-nav
.home-menu
.home-menu-item.active
>
div
{
padding
:
0
0
0
15px
;
/* font-weight: bold; */
background-color
:
#3d3b4f
;
color
:
#fff
;
height
:
50px
;
opacity
:
1
;
line-height
:
50px
;
transition
:
all
linear
0.2s
;
}
background-color
:
#409efe
;
/* border-radius: 19px 0 0 19px; */
.home-nav
.home-menu
.home-menu-item.active
{
}
background-color
:
#3d3b4f
;
.home-nav
.home-menu
.home-menu-item
>
div
.iconfont
{
}
padding-right
:
10px
;
}
.home-nav
.home-menu
.home-menu-item.active
>
div
{
/* font-weight: bold; */
color
:
#fff
;
opacity
:
1
;
transition
:
all
linear
0.2s
;
background-color
:
#409efe
;
/* border-radius: 19px 0 0 19px; */
}
.home-nav
.home-menu
.home-menu-item
>
div
.iconfont
{
padding-right
:
10px
;
}
</
style
>
</
style
>
<
template
>
<
template
>
<div
class=
"home-nav"
>
<div
class=
"home-nav"
>
...
@@ -73,13 +84,8 @@
...
@@ -73,13 +84,8 @@
</div>
</div>
<div
class=
"home-menu-box"
>
<div
class=
"home-menu-box"
>
<ul
class=
"home-menu"
>
<ul
class=
"home-menu"
>
<li
<li
class=
"home-menu-item"
v-for=
"(item, index) in navList"
:key=
"index"
class=
"home-menu-item"
:class=
"[index === activeIndex ? 'active' : '']"
@
click=
"changeMenu(item, index)"
>
v-for=
"(item, index) in navList"
:key=
"index"
:class=
"[index === activeIndex ? 'active' : '']"
@
click=
"changeMenu(item, index)"
>
<div>
<div>
<i
class=
"iconfont"
:class=
"[item.MenuStyle ? JSON.parse(item.MenuStyle).icon : '']"
></i>
<i
class=
"iconfont"
:class=
"[item.MenuStyle ? JSON.parse(item.MenuStyle).icon : '']"
></i>
<span>
{{
item
.
MenuName
}}
</span>
<span>
{{
item
.
MenuName
}}
</span>
...
@@ -87,82 +93,86 @@
...
@@ -87,82 +93,86 @@
</li>
</li>
</ul>
</ul>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
activeIndex
:
0
,
activeIndex
:
0
,
navList
:
[
navList
:
[{
{
class
:
"iconfont iconyibiaopan"
,
class
:
"iconfont iconyibiaopan"
,
name
:
"仪表盘"
,
name
:
"仪表盘"
,
path
:
"/Home"
,
path
:
"/Home"
,
},
},
{
{
class
:
"iconfont icondaiban"
,
class
:
"iconfont icondaiban"
,
name
:
"待办事项"
,
name
:
"待办事项"
,
path
:
"/waitMatter"
,
path
:
"/waitMatter"
,
},
},
{
{
class
:
"iconfont iconxiansuo"
,
class
:
"iconfont iconxiansuo"
,
name
:
"线索"
,
name
:
"线索"
,
path
:
"/clueManagement"
,
path
:
"/clueManagement"
,
},
},
{
{
class
:
"iconfont iconkehu"
,
class
:
"iconfont iconkehu"
,
name
:
"客户"
,
name
:
"客户"
,
path
:
"/customerManage"
,
path
:
"/customerManage"
,
},
},
{
{
class
:
"iconfont iconkehu1"
,
class
:
"iconfont iconkehu1"
,
name
:
"联系人"
,
name
:
"联系人"
,
path
:
"/contactsManagement"
,
path
:
"/contactsManagement"
,
},
},
{
{
class
:
"iconfont icongonghaiguanli"
,
class
:
"iconfont icongonghaiguanli"
,
name
:
"公海"
,
name
:
"公海"
,
path
:
"/watersManagement"
,
path
:
"/watersManagement"
,
},
},
{
{
class
:
"iconfont iconshangji"
,
class
:
"iconfont iconshangji"
,
name
:
"商机"
,
name
:
"商机"
,
path
:
"/businessManagement"
,
path
:
"/businessManagement"
,
},
},
{
{
class
:
"iconfont iconhetong"
,
class
:
"iconfont iconhetong"
,
name
:
"合同"
,
name
:
"合同"
,
},
},
{
{
class
:
"iconfont iconchanpin1"
,
class
:
"iconfont iconchanpin1"
,
name
:
"产品"
,
name
:
"产品"
,
},
},
{
{
class
:
"iconfont icondingdan1"
,
class
:
"iconfont icondingdan1"
,
name
:
"订单"
,
name
:
"订单"
,
},
},
],
],
};
};
},
},
mounted
()
{
mounted
()
{
let
userInfo
=
this
.
getLocalStorage
();
let
userInfo
=
this
.
getLocalStorage
();
this
.
userInfo
=
userInfo
;
this
.
userInfo
=
userInfo
;
if
(
userInfo
&&
userInfo
.
UserMenu
&&
userInfo
.
UserMenu
.
length
>
0
)
{
this
.
navList
=
userInfo
.
UserMenu
[
0
].
ChildMenu
[
0
].
ChildMenu
;
this
.
navList
=
userInfo
.
UserMenu
[
0
].
ChildMenu
[
0
].
ChildMenu
;
let
$this
=
this
;
}
this
.
MsgBus
.
$on
(
"setLeftNav"
,
function
(
val
)
{
$this
.
activeIndex
=
0
;
let
$this
=
this
;
$this
.
navList
=
userInfo
.
UserMenu
[
0
].
ChildMenu
[
val
].
ChildMenu
;
this
.
MsgBus
.
$on
(
"setLeftNav"
,
function
(
val
)
{
});
$this
.
activeIndex
=
0
;
},
if
(
userInfo
&&
userInfo
.
UserMenu
&&
userInfo
.
UserMenu
.
length
>
0
)
{
methods
:
{
$this
.
navList
=
userInfo
.
UserMenu
[
0
].
ChildMenu
[
val
].
ChildMenu
;
changeMenu
:
function
(
item
,
ind
)
{
}
this
.
activeIndex
=
ind
;
this
.
$router
.
push
({
path
:
item
.
MenuUrl
,
});
});
},
},
},
methods
:
{
};
changeMenu
:
function
(
item
,
ind
)
{
</
script
>
this
.
activeIndex
=
ind
;
this
.
$router
.
push
({
path
:
item
.
MenuUrl
,
});
},
},
};
</
script
>
\ No newline at end of file
src/components/HomeNav/HomeNavTop.vue
View file @
8baa1242
<
style
>
<
style
>
.nav-right
{
.nav-right
{
height
:
100%
;
height
:
100%
;
margin
:
0
30px
;
margin
:
0
30px
;
display
:
flex
;
display
:
flex
;
font-family
:
perfectFont
;
font-family
:
perfectFont
;
user-select
:
none
;
user-select
:
none
;
}
}
.nav-right
.nav-right-menu
,
.nav-right
.nav-right-info
{
.nav-right
.nav-right-menu
,
display
:
flex
;
.nav-right
.nav-right-info
{
align-items
:
center
;
display
:
flex
;
height
:
100%
;
align-items
:
center
;
flex
:
1
;
height
:
100%
;
}
flex
:
1
;
.nav-right
.nav-right-menu
ul
{
}
padding
:
0
;
margin
:
0
;
.nav-right
.nav-right-menu
ul
{
display
:
flex
;
padding
:
0
;
width
:
100%
;
margin
:
0
;
height
:
100%
;
display
:
flex
;
}
width
:
100%
;
.nav-right
.nav-right-menu
ul
li
{
height
:
100%
;
line-height
:
56px
;
}
display
:
inline-block
;
border-bottom
:
3px
solid
rgba
(
13
,
36
,
129
,
0
);
.nav-right
.nav-right-menu
ul
li
{
margin
:
0
20px
;
line-height
:
56px
;
color
:
#666
;
display
:
inline-block
;
font-size
:
16px
;
border-bottom
:
3px
solid
rgba
(
13
,
36
,
129
,
0
);
cursor
:
pointer
;
margin
:
0
20px
;
font-family
:
perfectFont
;
color
:
#666
;
white-space
:
nowrap
;
font-size
:
16px
;
overflow
:
hidden
;
cursor
:
pointer
;
text-overflow
:
ellipsis
;
font-family
:
perfectFont
;
}
white-space
:
nowrap
;
.nav-right
.nav-right-menu
ul
li
:first-child
{
overflow
:
hidden
;
margin-left
:
0px
;
text-overflow
:
ellipsis
;
}
}
.nav-right
.nav-right-menu
ul
li
.active
{
color
:
#409efe
;
.nav-right
.nav-right-menu
ul
li
:first-child
{
border-bottom-color
:
#409efe
;
margin-left
:
0px
;
font-family
:
pingfangR
;
}
}
.nav-right
.nav-right-menu
ul
li
i
{
.nav-right
.nav-right-menu
ul
li
.active
{
font-size
:
16px
;
color
:
#409efe
;
margin-right
:
5px
;
border-bottom-color
:
#409efe
;
}
font-family
:
pingfangR
;
.nav-right
.nav-right-info
{
}
flex
:
unset
;
width
:
240px
;
.nav-right
.nav-right-menu
ul
li
i
{
justify-content
:
flex-end
;
font-size
:
16px
;
margin-right
:
5px
;
}
}
.nav-right
.nav-right-info
.right-item
{
text-align
:
right
;
.nav-right
.nav-right-info
{
padding-left
:
20px
;
flex
:
unset
;
display
:
flex
;
width
:
240px
;
flex-wrap
:
nowrap
;
justify-content
:
flex-end
;
align-items
:
center
;
}
}
/* .nav-right .nav-right-info .right-item:last-child{
.nav-right
.nav-right-info
.right-item
{
text-align
:
right
;
padding-left
:
20px
;
display
:
flex
;
flex-wrap
:
nowrap
;
align-items
:
center
;
}
/* .nav-right .nav-right-info .right-item:last-child{
margin: 0px;
margin: 0px;
} */
} */
.nav-right
.nav-right-info
.right-item
img
{
.nav-right
.nav-right-info
.right-item
img
{
width
:
34px
;
width
:
34px
;
height
:
34px
;
height
:
34px
;
border-radius
:
100%
;
border-radius
:
100%
;
}
}
.nav-right
.nav-right-info
.right-item
.welcomne-txt
{
font-size
:
12px
;
.nav-right
.nav-right-info
.right-item
.welcomne-txt
{
color
:
#bbb
;
font-size
:
12px
;
margin-right
:
5px
;
color
:
#bbb
;
white-space
:
nowrap
;
margin-right
:
5px
;
}
white-space
:
nowrap
;
.nav-right
.nav-right-info
.right-item
.usr-name
{
}
font-size
:
16px
;
font-weight
:
bold
;
.nav-right
.nav-right-info
.right-item
.usr-name
{
color
:
black
;
font-size
:
16px
;
white-space
:
nowrap
;
font-weight
:
bold
;
}
color
:
black
;
.nav-right
.nav-right-info
.right-item
i
{
white-space
:
nowrap
;
font-size
:
20px
;
}
color
:
#409efe
;
}
.nav-right
.nav-right-info
.right-item
i
{
font-size
:
20px
;
color
:
#409efe
;
}
</
style
>
</
style
>
<
template
>
<
template
>
<div
class=
"nav-right"
>
<div
class=
"nav-right"
>
<div
class=
"nav-right-menu"
>
<div
class=
"nav-right-menu"
>
<ul>
<ul>
<li
:class=
"
{'active':chosenMenuId==item.MenuId}" v-for="(item, index) in menuList[0].ChildMenu" :key="index" @click="chosenFirstLeaveMenu(item, index)">
<template
v-if=
"menuList&&menuList.length>0"
>
<i
class=
"iconfont"
:class=
"[item.MenuStyle ? JSON.parse(item.MenuStyle).icon : '']"
></i>
{{
item
.
MenuName
}}
<li
:class=
"
{'active':chosenMenuId==item.MenuId}" v-for="(item, index) in menuList[0].ChildMenu" :key="index"
</li>
@click="chosenFirstLeaveMenu(item, index)">
<i
class=
"iconfont"
:class=
"[item.MenuStyle ? JSON.parse(item.MenuStyle).icon : '']"
></i>
{{
item
.
MenuName
}}
</li>
</
template
>
</ul>
</ul>
</div>
</div>
<div
class=
"nav-right-info"
>
<div
class=
"nav-right-info"
>
...
@@ -101,11 +117,7 @@
...
@@ -101,11 +117,7 @@
<span
class=
"usr-name"
>
{{userInfo.EmName}}
</span>
<span
class=
"usr-name"
>
{{userInfo.EmName}}
</span>
</div>
</div>
<div
class=
"right-item"
>
<div
class=
"right-item"
>
<el-popover
<el-popover
placement=
"top"
width=
"160"
trigger=
"click"
v-model=
"visible"
>
placement=
"top"
width=
"160"
trigger=
"click"
v-model=
"visible"
>
<ul
style=
"padding:0;margin:0;display:block;"
>
<ul
style=
"padding:0;margin:0;display:block;"
>
<li
style=
"padding:0;margin:0;color:#000;cursor: pointer;"
@
click=
"signout"
>
<li
style=
"padding:0;margin:0;color:#000;cursor: pointer;"
@
click=
"signout"
>
<i
class=
"iconfont icontuichu"
></i>
<i
class=
"iconfont icontuichu"
></i>
...
@@ -121,41 +133,45 @@
...
@@ -121,41 +133,45 @@
</div>
</div>
</template>
</template>
<
script
>
<
script
>
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
activeIndex
:
0
,
activeIndex
:
0
,
value
:
0
,
value
:
0
,
menuList
:
[{
ChildMenu
:
[]
}],
menuList
:
[{
chosenMenuId
:
0
,
ChildMenu
:
[]
userInfo
:
{
}],
EmName
:
""
,
chosenMenuId
:
0
,
Icon
:
""
,
userInfo
:
{
},
EmName
:
""
,
visible
:
false
,
Icon
:
""
,
};
},
},
visible
:
false
,
mounted
()
{
};
let
userInfo
=
this
.
getLocalStorage
();
this
.
userInfo
=
userInfo
;
this
.
menuList
=
userInfo
.
UserMenu
;
this
.
chosenMenuId
=
userInfo
.
UserMenu
[
0
].
ChildMenu
[
0
].
MenuId
;
},
methods
:
{
chosenFirstLeaveMenu
(
item
,
index
)
{
this
.
chosenMenuId
=
item
.
MenuId
;
this
.
MsgBus
.
$emit
(
"setLeftNav"
,
index
);
this
.
$router
.
push
({
path
:
item
.
ChildMenu
[
0
].
MenuUrl
,
});
},
},
errorHandler
()
{
mounted
()
{
return
true
;
let
userInfo
=
this
.
getLocalStorage
();
this
.
userInfo
=
userInfo
;
if
(
userInfo
&&
userInfo
.
UserMenu
&&
userInfo
.
UserMenu
.
length
>
0
)
{
this
.
menuList
=
userInfo
.
UserMenu
;
this
.
chosenMenuId
=
userInfo
.
UserMenu
[
0
].
ChildMenu
[
0
].
MenuId
;
}
},
},
signout
()
{
methods
:
{
window
.
localStorage
.
removeItem
(
"userInfo"
);
chosenFirstLeaveMenu
(
item
,
index
)
{
this
.
$router
.
push
(
"/login"
);
this
.
chosenMenuId
=
item
.
MenuId
;
this
.
MsgBus
.
$emit
(
"setLeftNav"
,
index
);
this
.
$router
.
push
({
path
:
item
.
ChildMenu
[
0
].
MenuUrl
,
});
},
errorHandler
()
{
return
true
;
},
signout
()
{
window
.
localStorage
.
removeItem
(
"userInfo"
);
this
.
$router
.
push
(
"/login"
);
},
},
},
},
};
};
</
script
>
</
script
>
\ No newline at end of file
src/components/contractManagement/contractManagement.vue
View file @
8baa1242
...
@@ -312,13 +312,8 @@
...
@@ -312,13 +312,8 @@
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
this
.
total
=
res
.
data
.
data
.
count
;
this
.
dataList
.
forEach
(
x
=>
{
this
.
dataList
.
forEach
(
x
=>
{
// let Url = "http://yx.oytour.com";
let
Url
=
this
.
domainManager
().
erpRoutingUrl
;
let
Url
=
"http://testerp.oytour.com"
;
Url
=
Url
+
'/#/TravelContractConfirm?ContractId='
+
x
.
ID
;
if
(
this
.
isOnline
())
{
Url
=
Url
+
'/#/TravelContractConfirm?ContractId='
+
x
.
ID
;
}
else
{
Url
=
Url
+
":8081/"
+
'#/TravelContractConfirm?ContractId='
+
x
.
ID
;
}
x
.
Url
=
Url
;
x
.
Url
=
Url
;
})
})
this
.
tableData
=
this
.
dataList
this
.
tableData
=
this
.
dataList
...
...
src/components/customerManage/orderProfits.vue
View file @
8baa1242
<
template
>
<
template
>
<div
class=
"finance-list-box"
v-loading=
"loading"
>
<div
class=
"finance-list-box"
v-loading=
"loading"
>
<div
style=
"font-size:16px;padding: 20px 0 0 0;"
>
订单利润核算表
</div>
<div
style=
"font-size:16px;padding: 20px 0 0 0;"
>
订单利润核算表
</div>
<div
class=
"Team_Content"
v-if=
"d"
>
<div
class=
"Team_Content"
v-if=
"d"
>
<el-row
:gutter=
"12"
v-if=
"d"
>
<el-row
:gutter=
"12"
v-if=
"d"
>
<el-col
:span=
"4"
>
<el-col
:span=
"4"
>
<div
class=
"Team_DList"
>
<div
class=
"Team_DList"
>
<div
class=
"Team_firstTitle"
>
<div
class=
"Team_firstTitle"
>
<span
class=
"Team_comCoinType Team_shou"
>
<span
class=
"Team_comCoinType Team_shou"
>
<i
class=
"iconfont icon-qian"
></i>
<i
class=
"iconfont icon-qian"
></i>
</span>
订单收入
</span>
订单收入
</div>
</div>
<div
class=
"Team_Incontent"
>
<div
class=
"Team_Incontent"
>
<div>
应收:
<span>
¥
{{
d
.
YSMoney
}}
</span></div>
<div>
应收:
<span>
¥
{{
d
.
YSMoney
}}
</span></div>
<div>
实收:
<span
class=
"Team_Coins"
>
¥
{{
d
.
SSMoney
}}
</span></div>
<div>
实收:
<span
class=
"Team_Coins"
>
¥
{{
d
.
SSMoney
}}
</span></div>
<div>
手续费:
<span
class=
"Team_Coins"
>
¥
{{
d
.
SSFee
}}
</span></div>
<div>
手续费:
<span
class=
"Team_Coins"
>
¥
{{
d
.
SSFee
}}
</span></div>
<div>
待收:
<span
class=
"Team_Coins"
>
¥
{{
d
.
DSMoney
}}
</span></div>
<div>
待收:
<span
class=
"Team_Coins"
>
¥
{{
d
.
DSMoney
}}
</span></div>
<div>
<div>
注:应收=订单应收总额,实收=订单实收总额(不包含手续费)
注:应收=订单应收总额,实收=订单实收总额(不包含手续费)
</div>
</div>
</div>
</el-col>
<el-col
:span=
"4"
>
<div
class=
"Team_DList"
>
<div
class=
"Team_firstTitle"
>
<span
class=
"Team_comCoinType Team_shou"
>
<i
class=
"iconfont icon-qian"
></i>
</span>
其他收入
</div>
<div
class=
"Team_Incontent"
>
<div>
应收:
<span>
¥
{{
d
.
OtherYS
}}
</span></div>
<div>
实收:
<span
class=
"Team_Coins"
>
¥
{{
d
.
OtherSS
}}
</span></div>
<div>
手续费:
<span
class=
"Team_Coins"
>
¥
{{
d
.
OtherFee
}}
</span></div>
<div>
待收:
<span
class=
"Team_Coins"
>
¥
{{
d
.
OtherDS
}}
</span></div>
<div>
注:统计除订单上主业务外的其他总收入
</div>
</div>
</div>
</div>
</
el-col
>
</
div
>
<el-col
:span=
"4"
>
</div
>
<div
class=
"Team_DList"
>
</el-col
>
<div
class=
"Team_firstTitle
"
>
<el-col
:span=
"4
"
>
<span
class=
"Team_comCoinType Team_zhichu
"
>
<div
class=
"Team_DList
"
>
<i
class=
"iconfont icon-qian"
></i
>
<div
class=
"Team_firstTitle"
>
</span>
成本支出
<span
class=
"Team_comCoinType Team_shou"
>
<
/div
>
<
i
class=
"iconfont icon-qian"
></i
>
<div
class=
"Team_Incontent"
>
</span>
其他收入
<div>
应付:
<span>
¥
{{
d
.
CostYFMoney
}}
</span>
</div>
</div>
<div>
实付:
<span
class=
"Team_Coins"
>
¥
{{
d
.
CostSFMoney
}}
</span></div
>
<div
class=
"Team_Incontent"
>
<div>
待付:
<span
class=
"Team_Coins"
>
¥
{{
d
.
CostDFMoney
}}
</span></div>
<div>
应收:
<span>
¥
{{
d
.
OtherYS
}}
</span></div>
<div>
提成:
<span
class=
"Team_Coins"
>
¥
{{
d
.
Commission
}}
</span></div>
<div>
实收:
<span
class=
"Team_Coins"
>
¥
{{
d
.
OtherSS
}}
</span></div>
<
div>
<div>
手续费:
<span
class=
"Team_Coins"
>
¥
{{
d
.
OtherFee
}}
</span></
div>
注:成本总额+订单提成
<div>
待收:
<span
class=
"Team_Coins"
>
¥
{{
d
.
OtherDS
}}
</span></div>
</
div>
<
div>
</div>
注:统计除订单上主业务外的其他总收入
</div>
</div>
</el-col>
</div>
<el-col
:span=
"4"
>
</div>
<div
class=
"Team_DList"
>
</el-col>
<div
class=
"Team_firstTitle"
>
<el-col
:span=
"4"
>
<span
class=
"Team_comCoinType Team_zhichu"
>
<div
class=
"Team_DList"
>
<i
class=
"iconfont icon-qian"
></i>
<div
class=
"Team_firstTitle"
>
</span>
退款
<span
class=
"Team_comCoinType Team_zhichu"
>
</div>
<i
class=
"iconfont icon-qian"
></i>
<div
class=
"Team_Incontent"
>
</span>
成本支出
<div>
应退:
<span>
¥
{{
d
.
BackYFMoney
}}
</span></div>
</div>
<div>
实退:
<span
class=
"Team_Coins"
>
¥
{{
d
.
BackSFMoney
}}
</span></div>
<div
class=
"Team_Incontent"
>
<div>
待退:
<span
class=
"Team_Coins"
>
¥
{{
d
.
BackDFMoney
}}
</span></div>
<div>
应付:
<span>
¥
{{
d
.
CostYFMoney
}}
</span></div>
<div>
<div>
实付:
<span
class=
"Team_Coins"
>
¥
{{
d
.
CostSFMoney
}}
</span></div>
注:订单产生的退款总额
<div>
待付:
<span
class=
"Team_Coins"
>
¥
{{
d
.
CostDFMoney
}}
</span></div>
</div>
<div>
提成:
<span
class=
"Team_Coins"
>
¥
{{
d
.
Commission
}}
</span></div>
</div>
<div>
注:成本总额+订单提成
</div>
</div>
</
el-col
>
</
div
>
<el-col
:span=
"4"
>
</div
>
<div
class=
"Team_DList"
>
</el-col
>
<div
class=
"Team_firstTitle
"
>
<el-col
:span=
"4
"
>
<span
class=
"Team_comCoinType Team_zhichu
"
>
<div
class=
"Team_DList
"
>
<i
class=
"iconfont icon-qian"
></i
>
<div
class=
"Team_firstTitle"
>
</span>
其他支出
<span
class=
"Team_comCoinType Team_zhichu"
>
<
/div
>
<
i
class=
"iconfont icon-qian"
></i
>
<div
class=
"Team_Incontent"
>
</span>
退款
<div>
应付:
<span>
¥
{{
d
.
OtherYF
}}
</span>
</div>
</div>
<div>
实付:
<span
class=
"Team_Coins"
>
¥
{{
d
.
OtherSF
}}
</span></div
>
<div
class=
"Team_Incontent"
>
<div>
待付:
<span
class=
"Team_Coins"
>
¥
{{
d
.
OtherDF
}}
</span></div>
<div>
应退:
<span>
¥
{{
d
.
BackYFMoney
}}
</span></div>
<
div>
<div>
实退:
<span
class=
"Team_Coins"
>
¥
{{
d
.
BackSFMoney
}}
</span></
div>
注:订单产生的其他项目支出
<div>
待退:
<span
class=
"Team_Coins"
>
¥
{{
d
.
BackDFMoney
}}
</span></div>
</
div>
<
div>
</div>
注:订单产生的退款总额
</div>
</div>
</el-col>
</div>
<el-col
:span=
"4"
>
</div>
<div
class=
"Team_DList"
>
</el-col>
<div
class=
"Team_firstTitle"
>
<el-col
:span=
"4"
>
<span
class=
"Team_comCoinType Team_lirun"
>
<div
class=
"Team_DList"
>
<i
class=
"iconfont icon-qian"
></i>
<div
class=
"Team_firstTitle"
>
</span>
利润(计算规则请看注解)
<span
class=
"Team_comCoinType Team_zhichu"
>
</div>
<i
class=
"iconfont icon-qian"
></i>
<div
class=
"Team_Incontent"
>
</span>
其他支出
<div>
实际利润:
<span>
¥
{{
d
.
RealityProfit
}}
</span></div>
</div>
<div>
当前利润:
<span
class=
"Team_Coins"
>
¥
{{
d
.
NowProfit
}}
</span></div>
<div
class=
"Team_Incontent"
>
<div>
<div>
应付:
<span>
¥
{{
d
.
OtherYF
}}
</span></div>
注:(实收+其他收入)-成本(应付/实付)-其他(应付/实付)-退款(应付/实付)
<div>
实付:
<span
class=
"Team_Coins"
>
¥
{{
d
.
OtherSF
}}
</span></div>
</div>
<div>
待付:
<span
class=
"Team_Coins"
>
¥
{{
d
.
OtherDF
}}
</span></div>
</div>
<div>
注:订单产生的其他项目支出
</div>
</div>
</el-col>
</div>
</el-row>
</div>
<div
class=
"Team_collection"
v-if=
"d"
>
<div
class=
"clearfix TB_PrintDiv"
>
<div
class=
"TB_comtitle TB-Title"
>
订单收入:
<span>
<span
class=
"span_all"
>
应收:¥
{{
d
.
YSMoney
}}
</span>
<span
class=
"span_all"
>
实收:¥
{{
d
.
SSMoney
}}
</span>
</span>
</div>
</div>
</div>
</el-col>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<el-col
:span=
"4"
>
<tr>
<div
class=
"Team_DList"
>
<th
width=
"180"
>
单号
</th>
<div
class=
"Team_firstTitle"
>
<th
width=
"200"
>
费用类型
</th>
<span
class=
"Team_comCoinType Team_lirun"
>
<th
width=
"500"
>
交易明细
</th>
<i
class=
"iconfont icon-qian"
></i>
<th
width=
"300"
>
金额
</th>
</span>
利润(计算规则请看注解)
<th
width=
"200"
>
交易日期
</th>
</div>
<th
width=
"250"
>
制单人员
</th>
<div
class=
"Team_Incontent"
>
<th
width=
'180'
>
审核状态
</th>
<div>
实际利润:
<span>
¥
{{
d
.
RealityProfit
}}
</span></div>
<th
width=
"200"
>
当前审核人
</th>
<div>
当前利润:
<span
class=
"Team_Coins"
>
¥
{{
d
.
NowProfit
}}
</span></div>
</tr>
<div>
<template
v-if=
"isExsitList(1).length>0"
>
注:(实收+其他收入)-成本(应付/实付)-其他(应付/实付)-退款(应付/实付)
<tr
v-for=
"item in isExsitList(1)"
:key=
"item.FrID"
>
</div>
<td><span
class=
"Team_income"
@
click=
"openDetails(item)"
>
{{
item
.
FrID
}}
</span>
</td>
<td><span
v-for=
"(subItem,i) in item.CostTypeList"
:key=
"i"
>
{{
subItem
}}
</span></td>
<td>
<div
v-for=
"childItem in item.TradeWayList"
>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<span
class=
"Team_Coins"
>
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<span
class=
"TB_Rate"
>
汇率:
{{
childItem
.
Rate
}}
</span>
</div>
</td>
<td
style=
"font-size:14px;"
>
应收:
{{
item
.
Money
}}
<br
/>
实收:
{{
item
.
PayMoney
}}
</td>
<td>
{{
item
.
TradeDate
}}
</td>
<td>
<div>
{{
item
.
EmName
}}
</div>
<div
class=
"Team_btmDiv"
>
{{
item
.
CreateDate
}}
</div>
</td>
<td>
{{
item
.
StatusStr
}}
</td>
<td>
<div
v-for=
"AuditItem in item.AuditList"
>
{{
AuditItem
.
EmName
}}
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
</div>
</td>
</tr>
</
template
>
<tr
v-else
>
<td
colspan=
"8"
class=
"none-finance"
>
暂无相关单据
</td>
</tr>
</table>
</div>
<div
class=
"Team_collection"
v-if=
"d"
>
<div
class=
"clearfix TB_PrintDiv"
>
<div
class=
"TB_comtitle TB-Title"
>
<div>
其他收入
<span>
<span
class=
"span_all"
>
应收:¥{{d.OtherYS}}
</span>
<span
class=
"span_all"
>
实收:¥{{d.OtherSS}}
</span>
</span>
</div>
</div>
</div>
</div>
<el-button
style=
"float: right;"
size=
"mini"
type=
"primary"
@
click=
"makeAdocument(d,1)"
>
制单
</el-button>
</el-col>
</el-row>
</div>
<div
class=
"Team_collection"
v-if=
"d"
>
<div
class=
"clearfix TB_PrintDiv"
>
<div
class=
"TB_comtitle TB-Title"
>
订单收入:
<span>
<span
class=
"span_all"
>
应收:¥
{{
d
.
YSMoney
}}
</span>
<span
class=
"span_all"
>
实收:¥
{{
d
.
SSMoney
}}
</span>
</span>
</div>
</div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th
width=
"180"
>
单号
</th>
<th
width=
"200"
>
费用类型
</th>
<th
width=
"500"
>
交易明细
</th>
<th
width=
"300"
>
金额
</th>
<th
width=
"200"
>
交易日期
</th>
<th
width=
"250"
>
制单人员
</th>
<th
width=
'180'
>
审核状态
</th>
<th
width=
"200"
>
当前审核人
</th>
</tr>
<
template
v-if=
"isExsitList(2).length>0"
>
<tr
v-for=
"item in isExsitList(2)"
:key=
"item.FrID"
>
<td><span
class=
"Team_income"
@
click=
"openDetails(item)"
>
{{
item
.
FrID
}}
</span>
</td>
<td><span
v-for=
"(subItem,i) in item.CostTypeList"
:key=
"i"
>
{{
subItem
}}
</span></td>
<td>
<div
v-for=
"childItem in item.TradeWayList"
>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<span
class=
"Team_Coins"
>
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<span
class=
"TB_Rate"
>
汇率:
{{
childItem
.
Rate
}}
</span>
</div>
</td>
<td
style=
"font-size:14px;"
>
应收:
{{
item
.
Money
}}
<br
/>
实收:
{{
item
.
PayMoney
}}
</td>
<td>
{{
item
.
TradeDate
}}
</td>
<td>
<div>
{{
item
.
EmName
}}
</div>
<div
class=
"Team_btmDiv"
>
{{
item
.
CreateDate
}}
</div>
</td>
<td>
{{
item
.
StatusStr
}}
</td>
<td>
<div
v-for=
"AuditItem in item.AuditList"
>
{{
AuditItem
.
EmName
}}
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
</div>
</td>
</tr>
</
template
>
<tr
v-else
>
<td
colspan=
"8"
class=
"none-finance"
>
暂无相关单据
</td>
</tr>
</table>
</div>
</div>
<div
class=
"Team_collection"
v-if=
"d"
>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<div
class=
"clearfix TB_PrintDiv"
>
<tr>
<div
class=
"TB_comtitle TB-Title"
>
成本支出:
<th
width=
"180"
>
单号
</th>
<span>
<th
width=
"200"
>
费用类型
</th>
<span
class=
"span_all"
>
应付:¥{{d.CostYFMoney}}
</span>
<th
width=
"500"
>
交易明细
</th>
<span
class=
"span_all"
>
实付:¥{{d.CostSFMoney}}
</span>
<th
width=
"300"
>
金额
</th>
</span>
<th
width=
"200"
>
交易日期
</th>
</div>
<th
width=
"250"
>
制单人员
</th>
</div>
<th
width=
'180'
>
审核状态
</th>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<th
width=
"200"
>
当前审核人
</th>
<tr>
</tr>
<th
width=
"180"
>
单号
</th>
<template
v-if=
"isExsitList(1).length>0"
>
<th
width=
"200"
>
费用类型
</th>
<tr
v-for=
"item in isExsitList(1)"
:key=
"item.FrID"
>
<th
width=
"500"
>
交易明细
</th>
<td><span
class=
"Team_income"
@
click=
"openDetails(item)"
>
{{
item
.
FrID
}}
</span>
<th
width=
"300"
>
金额
</th>
</td>
<th
width=
"200"
>
交易日期
</th>
<td><span
v-for=
"(subItem,i) in item.CostTypeList"
:key=
"i"
>
{{
subItem
}}
</span></td>
<th
width=
"250"
>
制单人员
</th>
<td>
<th
width=
'180'
>
审核状态
</th>
<div
v-for=
"childItem in item.TradeWayList"
>
<th
width=
"200"
>
当前审核人
</th>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
</tr>
<span
class=
"Team_Coins"
>
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<
template
v-if=
"isExsitList(3).length>0"
>
<span
class=
"TB_Rate"
>
汇率:
{{
childItem
.
Rate
}}
</span>
<tr
v-for=
"item in isExsitList(3)"
:key=
"item.FrID"
>
</div>
<td><span
class=
"Team_income"
@
click=
"openDetails(item)"
>
{{
item
.
FrID
}}
</span>
</td>
</td>
<td
style=
"font-size:14px;"
>
<td><span
v-for=
"(subItem,i) in item.CostTypeList"
:key=
"i"
>
{{
subItem
}}
</span></td>
应收:
{{
item
.
Money
}}
<br
/>
<td>
实收:
{{
item
.
PayMoney
}}
<div
v-for=
"childItem in item.TradeWayList"
>
</td>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<td>
{{
item
.
TradeDate
}}
</td>
<span
class=
"Team_Coins"
>
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<td>
<span
class=
"TB_Rate"
>
汇率:
{{
childItem
.
Rate
}}
</span>
<div>
{{
item
.
EmName
}}
</div>
</div>
<div
class=
"Team_btmDiv"
>
{{
item
.
CreateDate
}}
</div>
</td>
</td>
<td
style=
"font-size:14px;"
>
<td>
{{
item
.
StatusStr
}}
</td>
应收:
{{
item
.
Money
}}
<br
/>
<td>
实收:
{{
item
.
PayMoney
}}
<div
v-for=
"AuditItem in item.AuditList"
>
</td>
{{
AuditItem
.
EmName
}}
<td>
{{
item
.
TradeDate
}}
</td>
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
<td>
</div>
<div>
{{
item
.
EmName
}}
</div>
</td>
<div
class=
"Team_btmDiv"
>
{{
item
.
CreateDate
}}
</div>
</td>
<td>
{{
item
.
StatusStr
}}
</td>
<td>
<div
v-for=
"AuditItem in item.AuditList"
>
{{
AuditItem
.
EmName
}}
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
</div>
</td>
</tr>
</
template
>
<tr
v-else
>
<td
colspan=
"8"
class=
"none-finance"
>
暂无相关单据
</td>
</tr>
</tr>
</table>
</
template
>
</div>
<tr
v-else
>
<div
class=
"Team_collection"
v-if=
"d"
>
<td
colspan=
"8"
class=
"none-finance"
>
暂无相关单据
</td>
<div
class=
"clearfix TB_PrintDiv"
>
</tr>
<div
class=
"TB_comtitle TB-Title"
>
其他支出:
</table>
</div>
<div
class=
"Team_collection"
v-if=
"d"
>
<div
class=
"clearfix TB_PrintDiv"
>
<div
class=
"TB_comtitle TB-Title"
>
<div>
其他收入
<span>
<span>
<span
class=
"span_all"
>
应
付:¥{{d.OtherYF
}}
</span>
<span
class=
"span_all"
>
应
收:¥{{d.OtherYS
}}
</span>
<span
class=
"span_all"
>
实
付:¥{{d.OtherSF
}}
</span>
<span
class=
"span_all"
>
实
收:¥{{d.OtherSS
}}
</span>
</span>
</span>
</div>
</div>
<el-button
style=
"float: right;"
size=
"mini"
type=
"primary"
@
click=
"makeAdocument(d,3)"
>
制单
</el-button>
</div>
</div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<el-button
style=
"float: right;"
size=
"mini"
type=
"primary"
@
click=
"makeAdocument(d,1)"
>
制单
</el-button>
<tr>
<th
width=
"180"
>
单号
</th>
<th
width=
"200"
>
费用类型
</th>
<th
width=
"500"
>
交易明细
</th>
<th
width=
"300"
>
金额
</th>
<th
width=
"200"
>
交易日期
</th>
<th
width=
"250"
>
制单人员
</th>
<th
width=
'180'
>
审核状态
</th>
<th
width=
"200"
>
当前审核人
</th>
</tr>
<
template
v-if=
"isExsitList(4).length>0"
>
<tr
v-for=
"item in isExsitList(4)"
:key=
"item.FrID"
>
<td><span
class=
"Team_income"
@
click=
"openDetails(item)"
>
{{
item
.
FrID
}}
</span>
</td>
<td><span
v-for=
"(subItem,i) in item.CostTypeList"
:key=
"i"
>
{{
subItem
}}
</span></td>
<td>
<div
v-for=
"childItem in item.TradeWayList"
>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<span
class=
"Team_Coins"
>
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<span
class=
"TB_Rate"
>
汇率:
{{
childItem
.
Rate
}}
</span>
</div>
</td>
<td
style=
"font-size:14px;"
>
应收:
{{
item
.
Money
}}
<br
/>
实收:
{{
item
.
PayMoney
}}
</td>
<td>
{{
item
.
TradeDate
}}
</td>
<td>
<div>
{{
item
.
EmName
}}
</div>
<div
class=
"Team_btmDiv"
>
{{
item
.
CreateDate
}}
</div>
</td>
<td>
{{
item
.
StatusStr
}}
</td>
<td>
<div
v-for=
"AuditItem in item.AuditList"
>
{{
AuditItem
.
EmName
}}
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
</div>
</td>
</tr>
</
template
>
<tr
v-else
>
<td
colspan=
"8"
class=
"none-finance"
>
暂无相关单据
</td>
</tr>
</table>
</div>
</div>
<div
class=
"Team_collection"
v-if=
"d"
>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<div
class=
"clearfix TB_PrintDiv"
>
<tr>
<div
class=
"TB_comtitle TB-Title"
>
退款:
<th
width=
"180"
>
单号
</th>
<span>
<th
width=
"200"
>
费用类型
</th>
<span
class=
"span_all"
>
应退:¥{{d.BackYFMoney}}
</span>
<th
width=
"500"
>
交易明细
</th>
<span
class=
"span_all"
>
实退:¥{{d.BackSFMoney}}
</span>
<th
width=
"300"
>
金额
</th>
</span>
<th
width=
"200"
>
交易日期
</th>
</div>
<th
width=
"250"
>
制单人员
</th>
<th
width=
'180'
>
审核状态
</th>
<th
width=
"200"
>
当前审核人
</th>
</tr>
<
template
v-if=
"isExsitList(2).length>0"
>
<tr
v-for=
"item in isExsitList(2)"
:key=
"item.FrID"
>
<td><span
class=
"Team_income"
@
click=
"openDetails(item)"
>
{{
item
.
FrID
}}
</span>
</td>
<td><span
v-for=
"(subItem,i) in item.CostTypeList"
:key=
"i"
>
{{
subItem
}}
</span></td>
<td>
<div
v-for=
"childItem in item.TradeWayList"
>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<span
class=
"Team_Coins"
>
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<span
class=
"TB_Rate"
>
汇率:
{{
childItem
.
Rate
}}
</span>
</div>
</td>
<td
style=
"font-size:14px;"
>
应收:
{{
item
.
Money
}}
<br
/>
实收:
{{
item
.
PayMoney
}}
</td>
<td>
{{
item
.
TradeDate
}}
</td>
<td>
<div>
{{
item
.
EmName
}}
</div>
<div
class=
"Team_btmDiv"
>
{{
item
.
CreateDate
}}
</div>
</td>
<td>
{{
item
.
StatusStr
}}
</td>
<td>
<div
v-for=
"AuditItem in item.AuditList"
>
{{
AuditItem
.
EmName
}}
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
</div>
</td>
</tr>
</
template
>
<tr
v-else
>
<td
colspan=
"8"
class=
"none-finance"
>
暂无相关单据
</td>
</tr>
</table>
</div>
<div
class=
"Team_collection"
v-if=
"d"
>
<div
class=
"clearfix TB_PrintDiv"
>
<div
class=
"TB_comtitle TB-Title"
>
成本支出:
<span>
<span
class=
"span_all"
>
应付:¥{{d.CostYFMoney}}
</span>
<span
class=
"span_all"
>
实付:¥{{d.CostSFMoney}}
</span>
</span>
</div>
</div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
</div>
<tr>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<th
width=
"180"
>
单号
</th>
<tr>
<th
width=
"200"
>
费用类型
</th>
<th
width=
"180"
>
单号
</th>
<th
width=
"500"
>
交易明细
</th>
<th
width=
"200"
>
费用类型
</th>
<th
width=
"300"
>
金额
</th>
<th
width=
"500"
>
交易明细
</th>
<th
width=
"200"
>
交易日期
</th>
<th
width=
"300"
>
金额
</th>
<th
width=
"250"
>
制单人员
</th>
<th
width=
"200"
>
交易日期
</th>
<th
width=
'180'
>
审核状态
</th>
<th
width=
"250"
>
制单人员
</th>
<th
width=
"200"
>
当前审核人
</th>
<th
width=
'180'
>
审核状态
</th>
<th
width=
"200"
>
当前审核人
</th>
</tr>
<
template
v-if=
"isExsitList(3).length>0"
>
<tr
v-for=
"item in isExsitList(3)"
:key=
"item.FrID"
>
<td><span
class=
"Team_income"
@
click=
"openDetails(item)"
>
{{
item
.
FrID
}}
</span>
</td>
<td><span
v-for=
"(subItem,i) in item.CostTypeList"
:key=
"i"
>
{{
subItem
}}
</span></td>
<td>
<div
v-for=
"childItem in item.TradeWayList"
>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<span
class=
"Team_Coins"
>
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<span
class=
"TB_Rate"
>
汇率:
{{
childItem
.
Rate
}}
</span>
</div>
</td>
<td
style=
"font-size:14px;"
>
应收:
{{
item
.
Money
}}
<br
/>
实收:
{{
item
.
PayMoney
}}
</td>
<td>
{{
item
.
TradeDate
}}
</td>
<td>
<div>
{{
item
.
EmName
}}
</div>
<div
class=
"Team_btmDiv"
>
{{
item
.
CreateDate
}}
</div>
</td>
<td>
{{
item
.
StatusStr
}}
</td>
<td>
<div
v-for=
"AuditItem in item.AuditList"
>
{{
AuditItem
.
EmName
}}
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
</div>
</td>
</tr>
</tr>
<
template
v-if=
"isExsitList(5).length>0"
>
</
template
>
<tr
v-for=
"item in isExsitList(5)"
:key=
"item.FrID"
>
<tr
v-else
>
<td><span
class=
"Team_income"
@
click=
"openDetails(item)"
>
{{
item
.
FrID
}}
</span>
<td
colspan=
"8"
class=
"none-finance"
>
暂无相关单据
</td>
</td>
</tr>
<td><span
v-for=
"(subItem,i) in item.CostTypeList"
:key=
"i"
>
{{
subItem
}}
</span></td>
</table>
<td>
</div>
<div
v-for=
"childItem in item.TradeWayList"
>
<div
class=
"Team_collection"
v-if=
"d"
>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<div
class=
"clearfix TB_PrintDiv"
>
<span
class=
"Team_Coins"
>
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<div
class=
"TB_comtitle TB-Title"
>
其他支出:
<span
class=
"TB_Rate"
>
汇率:
{{
childItem
.
Rate
}}
</span>
<span>
</div>
<span
class=
"span_all"
>
应付:¥{{d.OtherYF}}
</span>
</td>
<span
class=
"span_all"
>
实付:¥{{d.OtherSF}}
</span>
<td
style=
"font-size:14px;"
>
</span>
应收:
{{
item
.
Money
}}
<br
/>
</div>
实收:
{{
item
.
PayMoney
}}
<el-button
style=
"float: right;"
size=
"mini"
type=
"primary"
@
click=
"makeAdocument(d,3)"
>
制单
</el-button>
</td>
</div>
<td>
{{
item
.
TradeDate
}}
</td>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<td>
<tr>
<div>
{{
item
.
EmName
}}
</div>
<th
width=
"180"
>
单号
</th>
<div
class=
"Team_btmDiv"
>
{{
item
.
CreateDate
}}
</div>
<th
width=
"200"
>
费用类型
</th>
</td>
<th
width=
"500"
>
交易明细
</th>
<td>
{{
item
.
StatusStr
}}
</td>
<th
width=
"300"
>
金额
</th>
<td>
<th
width=
"200"
>
交易日期
</th>
<div
v-for=
"AuditItem in item.AuditList"
>
<th
width=
"250"
>
制单人员
</th>
{{
AuditItem
.
EmName
}}
<th
width=
'180'
>
审核状态
</th>
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
<th
width=
"200"
>
当前审核人
</th>
</div>
</tr>
</td>
<
template
v-if=
"isExsitList(4).length>0"
>
</tr>
<tr
v-for=
"item in isExsitList(4)"
:key=
"item.FrID"
>
</
template
>
<td><span
class=
"Team_income"
@
click=
"openDetails(item)"
>
{{
item
.
FrID
}}
</span>
<tr
v-else
>
</td>
<td
colspan=
"8"
class=
"none-finance"
>
暂无相关单据
</td>
<td><span
v-for=
"(subItem,i) in item.CostTypeList"
:key=
"i"
>
{{
subItem
}}
</span></td>
<td>
<div
v-for=
"childItem in item.TradeWayList"
>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<span
class=
"Team_Coins"
>
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<span
class=
"TB_Rate"
>
汇率:
{{
childItem
.
Rate
}}
</span>
</div>
</td>
<td
style=
"font-size:14px;"
>
应收:
{{
item
.
Money
}}
<br
/>
实收:
{{
item
.
PayMoney
}}
</td>
<td>
{{
item
.
TradeDate
}}
</td>
<td>
<div>
{{
item
.
EmName
}}
</div>
<div
class=
"Team_btmDiv"
>
{{
item
.
CreateDate
}}
</div>
</td>
<td>
{{
item
.
StatusStr
}}
</td>
<td>
<div
v-for=
"AuditItem in item.AuditList"
>
{{
AuditItem
.
EmName
}}
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
</div>
</td>
</tr>
</tr>
</table>
</
template
>
<tr
v-else
>
<td
colspan=
"8"
class=
"none-finance"
>
暂无相关单据
</td>
</tr>
</table>
</div>
<div
class=
"Team_collection"
v-if=
"d"
>
<div
class=
"clearfix TB_PrintDiv"
>
<div
class=
"TB_comtitle TB-Title"
>
退款:
<span>
<span
class=
"span_all"
>
应退:¥{{d.BackYFMoney}}
</span>
<span
class=
"span_all"
>
实退:¥{{d.BackSFMoney}}
</span>
</span>
</div>
</div>
</div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th
width=
"180"
>
单号
</th>
<th
width=
"200"
>
费用类型
</th>
<th
width=
"500"
>
交易明细
</th>
<th
width=
"300"
>
金额
</th>
<th
width=
"200"
>
交易日期
</th>
<th
width=
"250"
>
制单人员
</th>
<th
width=
'180'
>
审核状态
</th>
<th
width=
"200"
>
当前审核人
</th>
</tr>
<
template
v-if=
"isExsitList(5).length>0"
>
<tr
v-for=
"item in isExsitList(5)"
:key=
"item.FrID"
>
<td><span
class=
"Team_income"
@
click=
"openDetails(item)"
>
{{
item
.
FrID
}}
</span>
</td>
<td><span
v-for=
"(subItem,i) in item.CostTypeList"
:key=
"i"
>
{{
subItem
}}
</span></td>
<td>
<div
v-for=
"childItem in item.TradeWayList"
>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<span
class=
"Team_Coins"
>
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<span
class=
"TB_Rate"
>
汇率:
{{
childItem
.
Rate
}}
</span>
</div>
</td>
<td
style=
"font-size:14px;"
>
应收:
{{
item
.
Money
}}
<br
/>
实收:
{{
item
.
PayMoney
}}
</td>
<td>
{{
item
.
TradeDate
}}
</td>
<td>
<div>
{{
item
.
EmName
}}
</div>
<div
class=
"Team_btmDiv"
>
{{
item
.
CreateDate
}}
</div>
</td>
<td>
{{
item
.
StatusStr
}}
</td>
<td>
<div
v-for=
"AuditItem in item.AuditList"
>
{{
AuditItem
.
EmName
}}
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
</div>
</td>
</tr>
</
template
>
<tr
v-else
>
<td
colspan=
"8"
class=
"none-finance"
>
暂无相关单据
</td>
</tr>
</table>
</div>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
export
default
{
export
default
{
props
:
[
"orderId"
,
"GuestId"
],
props
:
[
"orderId"
,
"GuestId"
],
data
()
{
data
()
{
return
{
return
{
loading
:
true
,
loading
:
true
,
d
:
null
,
d
:
null
,
userInfo
:{}
userInfo
:
{}
};
};
},
mounted
()
{
this
.
userInfo
=
this
.
getLocalStorage
();
this
.
init
();
},
methods
:
{
init
()
{
this
.
apipost2
(
"crm_post_GetCRMGuestOrderCheck"
,
{
OrderId
:
this
.
orderId
},
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
d
=
res
.
data
.
data
;
}
this
.
loading
=
false
;
},
(
err
)
=>
{}
);
},
},
openDetails
(
item
)
{
mounted
()
{
let
href
;
this
.
userInfo
=
this
.
getLocalStorage
();
let
url
=
this
.
domainManager
().
erpRoutingUrl
;
this
.
init
();
let
data
=
[
{
path
:
"FinancialDocumentsDetail"
,
id
:
item
.
FrID
,
},
];
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
window
.
open
(
href
);
},
},
isExsitList
(
code
)
{
methods
:
{
if
(
code
==
1
)
{
init
()
{
return
this
.
d
.
FinanceList
.
filter
(
this
.
apipost2
(
(
x
)
=>
x
.
ReFinanceId2
==
1
&&
x
.
RelevanceFrId
!=
5
"crm_post_GetCRMGuestOrderCheck"
,
{
);
OrderId
:
this
.
orderId
}
else
if
(
code
==
2
)
{
},
return
this
.
d
.
FinanceList
.
filter
(
(
res
)
=>
{
(
x
)
=>
x
.
ReFinanceId2
==
1
&&
x
.
RelevanceFrId
==
5
if
(
res
.
data
.
resultCode
==
1
)
{
);
this
.
d
=
res
.
data
.
data
;
}
else
if
(
code
==
3
)
{
}
return
this
.
d
.
FinanceList
.
filter
(
this
.
loading
=
false
;
(
x
)
=>
x
.
ReFinanceId2
==
3
&&
x
.
RelevanceFrId
!=
5
},
);
(
err
)
=>
{}
}
else
if
(
code
==
4
)
{
return
this
.
d
.
FinanceList
.
filter
(
(
x
)
=>
x
.
ReFinanceId2
==
3
&&
x
.
RelevanceFrId
==
5
);
);
}
else
if
(
code
==
5
)
{
},
return
this
.
d
.
FinanceList
.
filter
((
x
)
=>
x
.
ReFinanceId2
==
2
);
openDetails
(
item
)
{
}
let
href
;
},
let
url
=
this
.
domainManager
().
erpRoutingUrl
;
// 制作单据
let
data
=
[{
makeAdocument
(
row
,
num
)
{
path
:
"FinancialDocumentsDetail"
,
this
.
makeAdocumentFun
(
row
,
num
);
id
:
item
.
FrID
,
},
},
];
makeAdocumentFun
(
row
,
num
)
{
href
=
let
type
;
url
+
type
=
num
==
1
?
1
:
2
;
// 1收款 2退款 3成本
"automaticLogin?token="
+
let
href
;
this
.
getLocalStorage
().
token
+
let
url
=
this
.
domainManager
().
erpRoutingUrl
;
"&data="
+
let
data
;
JSON
.
stringify
(
data
);
if
(
this
.
userInfo
.
EmName
==
row
.
EnterName
)
{
window
.
open
(
href
);
if
(
row
.
OrderStatus
!=
"2"
)
{
},
isExsitList
(
code
)
{
if
(
code
==
1
)
{
return
this
.
d
.
FinanceList
.
filter
(
(
x
)
=>
x
.
ReFinanceId2
==
1
&&
x
.
RelevanceFrId
!=
5
);
}
else
if
(
code
==
2
)
{
return
this
.
d
.
FinanceList
.
filter
(
(
x
)
=>
x
.
ReFinanceId2
==
1
&&
x
.
RelevanceFrId
==
5
);
}
else
if
(
code
==
3
)
{
return
this
.
d
.
FinanceList
.
filter
(
(
x
)
=>
x
.
ReFinanceId2
==
3
&&
x
.
RelevanceFrId
!=
5
);
}
else
if
(
code
==
4
)
{
return
this
.
d
.
FinanceList
.
filter
(
(
x
)
=>
x
.
ReFinanceId2
==
3
&&
x
.
RelevanceFrId
==
5
);
}
else
if
(
code
==
5
)
{
return
this
.
d
.
FinanceList
.
filter
((
x
)
=>
x
.
ReFinanceId2
==
2
);
}
},
// 制作单据
makeAdocument
(
row
,
num
)
{
this
.
makeAdocumentFun
(
row
,
num
);
},
makeAdocumentFun
(
row
,
num
)
{
let
type
;
type
=
num
==
1
?
1
:
2
;
// 1收款 2退款 3成本
let
href
;
let
url
=
this
.
domainManager
().
erpRoutingUrl
;
let
data
;
if
(
this
.
userInfo
.
EmName
==
row
.
EnterName
)
{
if
(
row
.
OrderStatus
!=
"2"
)
{
if
(
num
==
'1'
||
num
==
'3'
)
{
if
(
num
==
'1'
||
num
==
'3'
)
{
data
=
[
data
=
[{
{
path
:
"ChoiceAddFinancialDocuments"
,
path
:
"ChoiceAddFinancialDocuments"
,
type
:
type
,
type
:
type
,
OtherType
:
55
,
OtherType
:
55
,
ReFinanceId
:
this
.
orderId
,
ReFinanceId
:
this
.
orderId
,
ReFinanceId2
:
num
,
ReFinanceId2
:
num
,
GuestId
:
this
.
GuestId
,
GuestId
:
this
.
GuestId
,
RelevanceFrId
:
5
,
// 单据类型 5其他
RelevanceFrId
:
5
,
// 单据类型 5其他
},
];
},
];
}
}
if
(
num
==
'2'
)
{
if
(
num
==
'2'
)
{
data
=
[
data
=
[{
{
path
:
"ChoiceAddFinancialDocuments"
,
path
:
"ChoiceAddFinancialDocuments"
,
type
:
type
,
type
:
type
,
OtherType
:
55
,
OtherType
:
55
,
ReFinanceId
:
this
.
orderId
,
ReFinanceId
:
this
.
orderId
,
ReFinanceId2
:
num
,
ReFinanceId2
:
num
,
GuestId
:
this
.
GuestId
,
GuestId
:
this
.
GuestId
,
},
];
},
];
}
}
href
=
href
=
url
+
url
+
...
@@ -500,194 +495,203 @@ export default {
...
@@ -500,194 +495,203 @@ export default {
this
.
getLocalStorage
().
token
+
this
.
getLocalStorage
().
token
+
"&data="
+
"&data="
+
JSON
.
stringify
(
data
);
JSON
.
stringify
(
data
);
window
.
open
(
href
);
window
.
open
(
href
);
}
}
}
}
}
,
},
},
},
};
};
</
script
>
</
script
>
<
style
>
<
style
>
.finance-list-box
{
.finance-list-box
{
padding
:
0
20px
20px
20px
;
padding
:
0
20px
20px
20px
;
position
:
absolute
;
position
:
absolute
;
top
:
54px
;
top
:
54px
;
bottom
:
0
;
bottom
:
0
;
left
:
0
;
left
:
0
;
right
:
0
;
right
:
0
;
overflow-y
:
auto
;
overflow-y
:
auto
;
}
}
.none-finance
{
height
:
30px
;
.none-finance
{
text-align
:
center
;
height
:
30px
;
color
:
#666666
;
text-align
:
center
;
}
color
:
#666666
;
.TB_comtitle
{
}
color
:
#333333
;
padding-left
:
10px
;
.TB_comtitle
{
height
:
14px
;
color
:
#333333
;
line-height
:
14px
;
padding-left
:
10px
;
font-size
:
14px
;
height
:
14px
;
border-left
:
3px
solid
#4d7afd
;
line-height
:
14px
;
margin-bottom
:
20px
;
font-size
:
14px
;
}
border-left
:
3px
solid
#4d7afd
;
margin-bottom
:
20px
;
.Team_Details
{
}
margin-top
:
20px
;
font-size
:
12px
;
.Team_Details
{
}
margin-top
:
20px
;
font-size
:
12px
;
.Team_DList
{
}
border
:
1px
solid
#e6e6e6
;
background-color
:
#fff
;
.Team_DList
{
margin-top
:
20px
;
border
:
1px
solid
#e6e6e6
;
padding
:
20px
;
background-color
:
#fff
;
height
:
167px
;
margin-top
:
20px
;
}
padding
:
20px
;
.tipTable
tr
td
{
height
:
167px
;
height
:
30px
!important
;
}
}
.singeRowTable
tr
th
{
.tipTable
tr
td
{
height
:
30px
;
height
:
30px
!important
;
text-align
:
left
!important
;
}
padding-left
:
12px
!important
;
}
.singeRowTable
tr
th
{
height
:
30px
;
.singeRowTable
tr
td
{
text-align
:
left
!important
;
border
:
1px
solid
#e5e5e5
;
padding-left
:
12px
!important
;
padding
:
0px
!important
;
}
padding-left
:
12px
!important
;
font-size
:
13px
;
.singeRowTable
tr
td
{
}
border
:
1px
solid
#e5e5e5
;
padding
:
0px
!important
;
/* .Team_Content .el-col-5 {
padding-left
:
12px
!important
;
font-size
:
13px
;
}
/* .Team_Content .el-col-5 {
margin-right: 18px;
margin-right: 18px;
} */
} */
.Team_Coins
{
.Team_Coins
{
color
:
#ff9c00
;
color
:
#ff9c00
;
}
}
.Team_income
{
.Team_income
{
color
:
#4d7afd
;
color
:
#4d7afd
;
text-decoration
:
underline
;
text-decoration
:
underline
;
cursor
:
pointer
;
cursor
:
pointer
;
}
}
.TB-Title
{
.TB-Title
{
float
:
left
;
float
:
left
;
position
:
relative
;
position
:
relative
;
top
:
10px
;
top
:
10px
;
}
}
.TB-Title.B-Title-fr
{
display
:
flex
;
.TB-Title.B-Title-fr
{
justify-content
:
space-between
;
display
:
flex
;
}
justify-content
:
space-between
;
}
.Team_ComCoin
{
width
:
60%
;
.Team_ComCoin
{
margin
:
auto
;
width
:
60%
;
text-align
:
left
;
margin
:
auto
;
}
text-align
:
left
;
}
.Team_btmDiv
{
margin-top
:
5px
;
.Team_btmDiv
{
}
margin-top
:
5px
;
}
.Team_collection
{
margin-top
:
40px
;
.Team_collection
{
display
:
flex
;
margin-top
:
40px
;
flex-direction
:
column
;
display
:
flex
;
}
flex-direction
:
column
;
.Team_collection
tr
th
{
}
border
:
1px
solid
#e5e5e5
;
font-size
:
14px
;
.Team_collection
tr
th
{
}
border
:
1px
solid
#e5e5e5
;
font-size
:
14px
;
.Team_outCome
{
}
color
:
#ff9c00
;
}
.Team_outCome
{
color
:
#ff9c00
;
.Team_Pay
{
}
color
:
#ff5150
;
}
.Team_Pay
{
color
:
#ff5150
;
.TeamAddBtn
{
}
float
:
right
;
margin-bottom
:
10px
;
.TeamAddBtn
{
}
float
:
right
;
margin-bottom
:
10px
;
.Team_DList
div
{
}
margin-bottom
:
8px
;
color
:
#666666
;
.Team_DList
div
{
}
margin-bottom
:
8px
;
color
:
#666666
;
.Team_firstTitle
{
}
font-size
:
14px
;
/* font-family: "PingFang-SC-Bold"; */
.Team_firstTitle
{
color
:
#333333
!important
;
font-size
:
14px
;
}
/* font-family: "PingFang-SC-Bold"; */
color
:
#333333
!important
;
.Team_comCoinType
{
}
display
:
inline-block
;
width
:
24px
;
.Team_comCoinType
{
height
:
24px
;
display
:
inline-block
;
border-radius
:
50%
;
width
:
24px
;
position
:
relative
;
height
:
24px
;
top
:
-1px
;
border-radius
:
50%
;
}
position
:
relative
;
top
:
-1px
;
.Team_shou
{
}
background-color
:
#d7e6ff
;
color
:
#4d7afd
;
.Team_shou
{
}
background-color
:
#d7e6ff
;
color
:
#4d7afd
;
.Team_firstTitle
span
{
}
margin-right
:
10px
;
text-align
:
center
;
.Team_firstTitle
span
{
line-height
:
24px
;
margin-right
:
10px
;
font-size
:
12px
;
text-align
:
center
;
vertical-align
:
middle
;
line-height
:
24px
;
}
font-size
:
12px
;
.Team_Incontent
{
vertical-align
:
middle
;
font-size
:
12px
;
}
}
.Team_Incontent
span
{
.Team_Incontent
{
font-size
:
12px
;
font-size
:
12px
;
font-family
:
"PingFangSC-Fine"
;
}
}
.Team_Incontent
span
{
.Team_zhichu
{
font-size
:
12px
;
background-color
:
#fde2df
;
font-family
:
"PingFangSC-Fine"
;
color
:
#ff504f
;
}
}
.Team_zhichu
{
.Team_lirun
{
background-color
:
#fde2df
;
background-color
:
#d1f3ea
;
color
:
#ff504f
;
color
:
#1bc594
;
}
}
.Team_lirun
{
.Team_BtnList
{
background-color
:
#d1f3ea
;
margin-top
:
30px
;
color
:
#1bc594
;
text-align
:
center
;
}
}
.Team_BtnList
{
.TB_Rate
,
margin-top
:
30px
;
.TB_PayMoney
{
text-align
:
center
;
margin-left
:
20px
;
}
}
.TB_Rate
,
.TeamBalancePayment
.TB_PrintDiv
{
.TB_PayMoney
{
height
:
40px
;
margin-left
:
20px
;
}
}
.span_all
{
.TeamBalancePayment
.TB_PrintDiv
{
margin-left
:
15px
;
height
:
40px
;
}
}
.TeamExpectList
{
max-height
:
105px
;
.span_all
{
overflow
:
auto
;
margin-left
:
15px
;
margin-bottom
:
0
!important
;
}
}
</
style
>
.TeamExpectList
{
max-height
:
105px
;
overflow
:
auto
;
margin-bottom
:
0
!important
;
}
</
style
>
\ No newline at end of file
src/components/guestManagement/Agreement copy.vue
View file @
8baa1242
...
@@ -247,15 +247,15 @@
...
@@ -247,15 +247,15 @@
</el-row>
</el-row>
<el-dropdown
@
command=
"handleCommand"
style=
"top: 1px;"
>
<el-dropdown
@
command=
"handleCommand"
style=
"top: 1px;"
>
<el-button
plain
icon=
"el-icon-plus"
type=
"primary"
size=
"mini"
class=
"margin-right0"
>
<el-button
plain
icon=
"el-icon-plus"
type=
"primary"
size=
"mini"
class=
"margin-right0"
>
创建订单
</el-button>
创建订单
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
"1"
>
机票订单
</el-dropdown-item>
<el-dropdown-item
command=
"1"
>
机票订单
</el-dropdown-item>
<el-dropdown-item
command=
"2"
>
签证订单
</el-dropdown-item>
<el-dropdown-item
command=
"2"
>
签证订单
</el-dropdown-item>
<el-dropdown-item
command=
"3"
>
跟团游订单
</el-dropdown-item>
<el-dropdown-item
command=
"3"
>
跟团游订单
</el-dropdown-item>
<el-dropdown-item
command=
"4"
>
当地游订单
</el-dropdown-item>
<el-dropdown-item
command=
"4"
>
当地游订单
</el-dropdown-item>
<el-dropdown-item
command=
"5"
>
酒店订单
</el-dropdown-item>
<el-dropdown-item
command=
"5"
>
酒店订单
</el-dropdown-item>
<el-dropdown-item
command=
"6"
>
门票订单
</el-dropdown-item>
<el-dropdown-item
command=
"6"
>
门票订单
</el-dropdown-item>
<el-dropdown-item
command=
"7"
>
包车订单
</el-dropdown-item>
<el-dropdown-item
command=
"7"
>
包车订单
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown>
<!--
<el-button
plain
icon=
"el-icon-plus"
type=
"primary"
size=
"mini"
class=
"margin-right0"
@
click=
"addBusiness"
>
<!--
<el-button
plain
icon=
"el-icon-plus"
type=
"primary"
size=
"mini"
class=
"margin-right0"
@
click=
"addBusiness"
>
...
@@ -326,14 +326,16 @@
...
@@ -326,14 +326,16 @@
</el-table-column>
</el-table-column>
<el-table-column
label=
"退款"
:width=
"120"
>
<el-table-column
label=
"退款"
:width=
"120"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
BackMoney
}}
<i
v-if=
"scope.row.OrderStatus!=2&&scope.row.OrderStatus!=5&&scope.row.OrderStatus!=6"
{{
scope
.
row
.
BackMoney
}}
<i
v-if=
"scope.row.OrderStatus!=2&&scope.row.OrderStatus!=5&&scope.row.OrderStatus!=6"
@
click=
"makeAdocument(scope.row,scope.$index,2)"
class=
"iconfont iconjia- numIcon"
></i>
@
click=
"makeAdocument(scope.row,scope.$index,2)"
class=
"iconfont iconjia- numIcon"
></i>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"成本"
:width=
"120"
>
<el-table-column
label=
"成本"
:width=
"120"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
class=
"agreement-IncomeMoney-box"
>
<div
class=
"agreement-IncomeMoney-box"
>
{{
scope
.
row
.
PayMoney
}}
<i
v-if=
"scope.row.OrderStatus!=2&&scope.row.OrderStatus!=5&&scope.row.OrderStatus!=6"
{{
scope
.
row
.
PayMoney
}}
<i
v-if=
"scope.row.OrderStatus!=2&&scope.row.OrderStatus!=5&&scope.row.OrderStatus!=6"
@
click=
"makeAdocument(scope.row,scope.$index,3)"
class=
"iconfont iconjia- numIcon"
>
@
click=
"makeAdocument(scope.row,scope.$index,3)"
class=
"iconfont iconjia- numIcon"
>
<div
v-show=
"scope.row.cost"
class=
"agreement-IncomeMoney-pop"
>
<div
v-show=
"scope.row.cost"
class=
"agreement-IncomeMoney-pop"
>
<div
class=
"float-flag-shape"
></div>
<div
class=
"float-flag-shape"
></div>
...
@@ -362,8 +364,7 @@
...
@@ -362,8 +364,7 @@
</el-table-column>
</el-table-column>
<el-table-column
label=
"出票状态"
:width=
"90"
>
<el-table-column
label=
"出票状态"
:width=
"90"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span
@
click=
"modifyStatus(scope.row)"
class=
"cp tatusText"
<span
@
click=
"modifyStatus(scope.row)"
class=
"cp tatusText"
:class=
"scope.row.TicketStatus==1?'grey':
:class=
"scope.row.TicketStatus==1?'grey':
(scope.row.TicketStatus==2?'success':
(scope.row.TicketStatus==2?'success':
(scope.row.TicketStatus==3?'error':
(scope.row.TicketStatus==3?'error':
(scope.row.TicketStatus==4?'cancel':
(scope.row.TicketStatus==4?'cancel':
...
@@ -433,8 +434,9 @@
...
@@ -433,8 +434,9 @@
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
class=
"item-but-box"
>
<div
class=
"item-but-box"
>
<div
class=
"enedit-box"
>
<div
class=
"enedit-box"
>
<el-tooltip
v-if=
"scope.row.OrderStatus!=2&&scope.row.OrderStatus!=5&&scope.row.OrderStatus!=6"
class=
"item-but"
<el-tooltip
effect=
"dark"
content=
"编辑订单"
placement=
"top"
>
v-if=
"scope.row.OrderStatus!=2&&scope.row.OrderStatus!=5&&scope.row.OrderStatus!=6"
class=
"item-but"
effect=
"dark"
content=
"编辑订单"
placement=
"top"
>
<i
class=
"iconfont iconwenbenbianji cp"
@
click=
"editOrder(scope.row)"
></i>
<i
class=
"iconfont iconwenbenbianji cp"
@
click=
"editOrder(scope.row)"
></i>
</el-tooltip>
</el-tooltip>
<div>
<div>
...
@@ -472,7 +474,7 @@
...
@@ -472,7 +474,7 @@
components
:
{
components
:
{
orderDetailsDrawer
orderDetailsDrawer
},
},
props
:
[
"detailsData"
,
"ID"
,
"BusinessType"
],
props
:
[
"detailsData"
,
"ID"
,
"BusinessType"
],
data
()
{
data
()
{
return
{
return
{
VisaList
:
[{
VisaList
:
[{
...
@@ -589,43 +591,45 @@
...
@@ -589,43 +591,45 @@
handleCommand
(
command
)
{
handleCommand
(
command
)
{
let
data
=
[{
let
data
=
[{
path
:
""
,
path
:
""
,
LureEmpNmae
:
this
.
detailsData
.
CreateByStr
,
//引流姓名
LureEmpNmae
:
this
.
detailsData
.
CreateByStr
,
//引流姓名
LureEmpId
:
this
.
detailsData
.
CreateBy
,
//引流id
LureEmpId
:
this
.
detailsData
.
CreateBy
,
//引流id
CRMGuestId
:
this
.
ID
,
//客人ID
CRMGuestId
:
this
.
ID
,
//客人ID
CRMGuestName
:
this
.
detailsData
.
SurName
+
this
.
detailsData
.
Name
//客人ID
CRMGuestName
:
this
.
detailsData
.
SurName
+
this
.
detailsData
.
Name
//客人ID
}]
}]
let
href
let
href
let
url
=
this
.
domainManager
().
erpRoutingUrl
;
let
url
=
this
.
domainManager
().
erpRoutingUrl
;
if
(
command
==
1
)
{
if
(
command
==
1
)
{
this
.
addBusiness
();
this
.
addBusiness
();
}
else
{
}
else
{
if
(
command
==
2
)
{
if
(
command
==
2
)
{
data
[
0
].
path
=
'VisaProductAddOrder'
data
[
0
].
path
=
'VisaProductAddOrder'
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
}
else
if
(
command
==
3
)
{
data
);
}
else
if
(
command
==
3
)
{
data
[
0
].
path
=
'productQuery'
data
[
0
].
path
=
'productQuery'
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
}
data
);
else
if
(
command
==
4
)
{
}
else
if
(
command
==
4
)
{
data
[
0
].
path
=
'productQueryOne'
data
[
0
].
path
=
'productQueryOne'
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
}
data
);
else
if
(
command
==
5
)
{
}
else
if
(
command
==
5
)
{
data
[
0
].
path
=
'singleProductHotelList'
data
[
0
].
path
=
'singleProductHotelList'
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
}
data
);
else
if
(
command
==
6
)
{
}
else
if
(
command
==
6
)
{
data
[
0
].
path
=
'SingleticketList'
data
[
0
].
path
=
'SingleticketList'
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
}
data
);
else
if
(
command
==
7
)
{
}
else
if
(
command
==
7
)
{
data
[
0
].
path
=
'BookAcarList'
data
[
0
].
path
=
'BookAcarList'
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
}
}
if
(
href
)
{
if
(
href
)
{
window
.
open
(
href
);
window
.
open
(
href
);
}
}
}
}
},
},
// 清空下拉
// 清空下拉
...
@@ -720,7 +724,7 @@
...
@@ -720,7 +724,7 @@
}
}
},
},
// 修改日期
// 修改日期
modifiedDate
(
row
){
modifiedDate
(
row
)
{
let
$this
=
this
let
$this
=
this
this
.
MsgBus
.
$emit
(
"modifiedDateOrderBoxOpen"
,
$this
.
ID
,
row
,
true
);
this
.
MsgBus
.
$emit
(
"modifiedDateOrderBoxOpen"
,
$this
.
ID
,
row
,
true
);
},
},
...
@@ -947,7 +951,7 @@
...
@@ -947,7 +951,7 @@
ReFinanceId
:
row
.
OrderId
,
ReFinanceId
:
row
.
OrderId
,
ReFinanceId2
:
num
,
ReFinanceId2
:
num
,
GuestId
:
row
.
GuestId
,
GuestId
:
row
.
GuestId
,
RelevanceFrId
:
num
==
2
?
1
:
row
.
OrderType
,
// 单据类型
RelevanceFrId
:
num
==
2
?
1
:
row
.
OrderType
,
// 单据类型
}]
}]
href
=
url
+
'automaticLogin?token='
+
this
.
getLocalStorage
().
token
+
'&data='
+
JSON
href
=
url
+
'automaticLogin?token='
+
this
.
getLocalStorage
().
token
+
'&data='
+
JSON
.
stringify
(
data
)
.
stringify
(
data
)
...
@@ -1054,7 +1058,8 @@
...
@@ -1054,7 +1058,8 @@
if
(
this
.
userInfo
.
EmployeeId
!=
row
.
EnterID
&&
this
.
userInfo
.
EmployeeId
!=
row
.
CreateBy
)
{
if
(
this
.
userInfo
.
EmployeeId
!=
row
.
EnterID
&&
this
.
userInfo
.
EmployeeId
!=
row
.
CreateBy
)
{
this
.
ValidateOperator
()
this
.
ValidateOperator
()
}
else
{
}
else
{
if
(
row
.
OrderStatus
==
1
&&
(
row
.
TicketStatus
==
1
||
row
.
TicketStatus
==
5
)
||
(
row
.
visaStatus
==
0
||
row
.
visaStatus
==
1
))
{
if
(
row
.
OrderStatus
==
1
&&
(
row
.
TicketStatus
==
1
||
row
.
TicketStatus
==
5
)
||
(
row
.
visaStatus
==
0
||
row
.
visaStatus
==
1
))
{
let
$this
=
this
;
let
$this
=
this
;
this
.
MsgBus
.
$emit
(
"editOrderTicketOrderBoxOpen"
,
$this
.
ID
,
row
,
true
);
this
.
MsgBus
.
$emit
(
"editOrderTicketOrderBoxOpen"
,
$this
.
ID
,
row
,
true
);
}
else
{
}
else
{
...
@@ -1067,15 +1072,14 @@
...
@@ -1067,15 +1072,14 @@
if
(
this
.
userInfo
.
EmployeeId
!=
row
.
EnterID
&&
this
.
userInfo
.
EmployeeId
!=
row
.
CreateBy
)
{
if
(
this
.
userInfo
.
EmployeeId
!=
row
.
EnterID
&&
this
.
userInfo
.
EmployeeId
!=
row
.
CreateBy
)
{
this
.
ValidateOperator
()
this
.
ValidateOperator
()
}
else
{
}
else
{
if
(
row
.
OrderStatus
==
1
&&
(
row
.
TicketStatus
==
1
||
row
.
TicketStatus
==
5
)
||
(
row
.
visaStatus
==
0
||
row
.
visaStatus
==
1
))
{
if
(
row
.
OrderStatus
==
1
&&
(
row
.
TicketStatus
==
1
||
row
.
TicketStatus
==
5
)
||
(
row
.
visaStatus
==
0
||
row
.
visaStatus
==
1
))
{
let
$this
=
this
;
let
$this
=
this
;
this
.
MsgBus
.
$emit
(
"editTicketOrderBoxOpen"
,
$this
.
ID
,
row
,
true
);
this
.
MsgBus
.
$emit
(
"editTicketOrderBoxOpen"
,
$this
.
ID
,
row
,
true
);
}
else
{
}
else
{
this
.
emptyMore
()
this
.
emptyMore
()
}
}
}
}
},
},
openDetails
(
row
)
{
openDetails
(
row
)
{
let
href
let
href
...
@@ -1175,14 +1179,15 @@
...
@@ -1175,14 +1179,15 @@
{
{
Name
:
'订单收损'
,
Name
:
'订单收损'
,
Id
:
'8'
,
Id
:
'8'
,
show
:
item
.
OrderStatus
!=
2
&&
show
:
item
.
OrderStatus
!=
2
&&
item
.
OrderStatus
!=
6
?
true
:
false
item
.
OrderStatus
!=
6
?
true
:
false
},
},
{
{
Name
:
'收损完结'
,
Name
:
'收损完结'
,
Id
:
'9'
,
Id
:
'9'
,
show
:
(
item
.
OrderStatus
==
3
||
item
.
OrderStatus
==
4
)
show
:
(
item
.
OrderStatus
==
3
||
item
.
OrderStatus
==
&&
item
.
DueinMoney
==
0
?
true
:
false
4
)
&&
item
.
DueinMoney
==
0
?
true
:
false
},
},
{
{
Name
:
'订单完结'
,
Name
:
'订单完结'
,
...
@@ -1198,7 +1203,8 @@
...
@@ -1198,7 +1203,8 @@
{
{
Name
:
"修改日期"
,
Name
:
"修改日期"
,
Id
:
"10"
,
Id
:
"10"
,
show
:
item
.
OrderType
&&
item
.
OrderType
.
indexOf
(
1
)
!=
-
1
?
true
:
false
,
show
:
item
.
OrderType
&&
item
.
OrderType
.
indexOf
(
1
)
!=
-
1
?
true
:
false
,
}
}
]
]
});
});
...
...
src/components/guestManagement/Agreement.vue
View file @
8baa1242
...
@@ -218,7 +218,8 @@
...
@@ -218,7 +218,8 @@
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
<div
style=
"display: flex;flex-direction: row;align-items: center;"
>
<div
style=
"display: flex;flex-direction: row;align-items: center;"
>
<span
class=
"font-size-12"
style=
"padding-right: 10px;flex-shrink: 0;"
>
订单类型:
</span>
<span
class=
"font-size-12"
style=
"padding-right: 10px;flex-shrink: 0;"
>
订单类型:
</span>
<el-select
size=
"mini"
width=
"200"
v-model=
"msg.OrderType"
placeholder=
"请选择"
@
change=
"handleCurrentChange(1)"
>
<el-select
size=
"mini"
width=
"200"
v-model=
"msg.OrderType"
placeholder=
"请选择"
@
change=
"handleCurrentChange(1)"
>
<el-option
v-for=
"item in OrderTypeList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
<el-option
v-for=
"item in OrderTypeList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
>
</el-option>
</el-option>
</el-select>
</el-select>
...
@@ -237,15 +238,15 @@
...
@@ -237,15 +238,15 @@
</el-row>
</el-row>
<el-dropdown
@
command=
"handleCommand"
style=
"top: 1px;"
>
<el-dropdown
@
command=
"handleCommand"
style=
"top: 1px;"
>
<el-button
plain
icon=
"el-icon-plus"
type=
"primary"
size=
"mini"
class=
"margin-right0"
>
<el-button
plain
icon=
"el-icon-plus"
type=
"primary"
size=
"mini"
class=
"margin-right0"
>
创建订单
</el-button>
创建订单
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
"1"
>
机票订单
</el-dropdown-item>
<el-dropdown-item
command=
"1"
>
机票订单
</el-dropdown-item>
<el-dropdown-item
command=
"2"
>
签证订单
</el-dropdown-item>
<el-dropdown-item
command=
"2"
>
签证订单
</el-dropdown-item>
<el-dropdown-item
command=
"3"
>
跟团游订单
</el-dropdown-item>
<el-dropdown-item
command=
"3"
>
跟团游订单
</el-dropdown-item>
<el-dropdown-item
command=
"4"
>
当地游订单
</el-dropdown-item>
<el-dropdown-item
command=
"4"
>
当地游订单
</el-dropdown-item>
<el-dropdown-item
command=
"5"
>
酒店订单
</el-dropdown-item>
<el-dropdown-item
command=
"5"
>
酒店订单
</el-dropdown-item>
<el-dropdown-item
command=
"6"
>
门票订单
</el-dropdown-item>
<el-dropdown-item
command=
"6"
>
门票订单
</el-dropdown-item>
<el-dropdown-item
command=
"7"
>
包车订单
</el-dropdown-item>
<el-dropdown-item
command=
"7"
>
包车订单
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown-menu>
</el-dropdown>
</el-dropdown>
</div>
</div>
...
@@ -273,7 +274,7 @@
...
@@ -273,7 +274,7 @@
orderList
,
orderList
,
orderDetailsDrawer
orderDetailsDrawer
},
},
props
:
[
"detailsData"
,
"ID"
,
"BusinessType"
],
props
:
[
"detailsData"
,
"ID"
,
"BusinessType"
],
data
()
{
data
()
{
return
{
return
{
title
:
'详情'
,
title
:
'详情'
,
...
@@ -332,11 +333,20 @@
...
@@ -332,11 +333,20 @@
Id
:
'3'
Id
:
'3'
},
},
],
],
OrderStatusList
:
[
OrderStatusList
:
[{
{
Name
:
'不限'
,
Id
:
0
},
Name
:
'不限'
,
{
Name
:
'正常'
,
Id
:
1
},
Id
:
0
{
Name
:
'取消'
,
Id
:
2
}],
//订单状态
},
OrderTypeList
:[],
{
Name
:
'正常'
,
Id
:
1
},
{
Name
:
'取消'
,
Id
:
2
}
],
//订单状态
OrderTypeList
:
[],
ticketingStatusList
:
[],
// 出票状态
ticketingStatusList
:
[],
// 出票状态
dataList
:
[],
dataList
:
[],
loading
:
false
,
loading
:
false
,
...
@@ -359,22 +369,22 @@
...
@@ -359,22 +369,22 @@
EnterId
:
'0'
,
//业务员id
EnterId
:
'0'
,
//业务员id
OrderState
:
1
,
//订单状态
OrderState
:
1
,
//订单状态
Q_IsCollect
:
"0"
,
//收款状态
Q_IsCollect
:
"0"
,
//收款状态
StartTime
:
""
,
//报名开始日期
StartTime
:
""
,
//报名开始日期
EndTime
:
""
,
//报名结束日期
EndTime
:
""
,
//报名结束日期
IsMyOrder
:
"1"
,
//我的订单
IsMyOrder
:
"1"
,
//我的订单
FinishSTime
:
""
,
//完结开始时间
FinishSTime
:
""
,
//完结开始时间
FinishETime
:
""
,
//完结结束时间
FinishETime
:
""
,
//完结结束时间
DepartSTime
:
""
,
//出发开始
DepartSTime
:
""
,
//出发开始
DepartETime
:
""
,
//出发结束
DepartETime
:
""
,
//出发结束
TCNUM
:
""
,
//团号
TCNUM
:
""
,
//团号
ProductName
:
""
,
//商品名称
ProductName
:
""
,
//商品名称
CustomerName
:
""
,
//客户名称
CustomerName
:
""
,
//客户名称
LureEmpId
:
0
,
//引流人员
LureEmpId
:
0
,
//引流人员
LineId
:
0
,
//线路
LineId
:
0
,
//线路
TravelType
:
0
,
//跟团类型 1跟团 2当地游
TravelType
:
0
,
//跟团类型 1跟团 2当地游
OrderType
:
"0"
,
//订单类型
OrderType
:
"0"
,
//订单类型
IsSelectCRM
:
1
,
//1来源crm
IsSelectCRM
:
1
,
//1来源crm
IsMyOrder
:
0
,
//1我的订单
IsMyOrder
:
0
,
//1我的订单
},
},
total
:
0
,
total
:
0
,
currentOrder
:
null
,
currentOrder
:
null
,
...
@@ -420,43 +430,45 @@
...
@@ -420,43 +430,45 @@
handleCommand
(
command
)
{
handleCommand
(
command
)
{
let
data
=
[{
let
data
=
[{
path
:
""
,
path
:
""
,
LureEmpNmae
:
this
.
detailsData
.
CreateByStr
,
//引流姓名
LureEmpNmae
:
this
.
detailsData
.
CreateByStr
,
//引流姓名
LureEmpId
:
this
.
detailsData
.
CreateBy
,
//引流id
LureEmpId
:
this
.
detailsData
.
CreateBy
,
//引流id
CRMGuestId
:
this
.
ID
,
//客人ID
CRMGuestId
:
this
.
ID
,
//客人ID
CRMGuestName
:
this
.
detailsData
.
SurName
+
this
.
detailsData
.
Name
//客人ID
CRMGuestName
:
this
.
detailsData
.
SurName
+
this
.
detailsData
.
Name
//客人ID
}]
}]
let
href
let
href
let
url
=
this
.
domainManager
().
erpRoutingUrl
;
let
url
=
this
.
domainManager
().
erpRoutingUrl
;
if
(
command
==
1
)
{
if
(
command
==
1
)
{
this
.
addBusiness
();
this
.
addBusiness
();
}
else
{
}
else
{
if
(
command
==
2
)
{
if
(
command
==
2
)
{
data
[
0
].
path
=
'VisaProductAddOrder'
data
[
0
].
path
=
'VisaProductAddOrder'
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
}
else
if
(
command
==
3
)
{
data
);
}
else
if
(
command
==
3
)
{
data
[
0
].
path
=
'productQuery'
data
[
0
].
path
=
'productQuery'
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
}
data
);
else
if
(
command
==
4
)
{
}
else
if
(
command
==
4
)
{
data
[
0
].
path
=
'productQueryOne'
data
[
0
].
path
=
'productQueryOne'
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
}
data
);
else
if
(
command
==
5
)
{
}
else
if
(
command
==
5
)
{
data
[
0
].
path
=
'singleProductHotelList'
data
[
0
].
path
=
'singleProductHotelList'
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
}
data
);
else
if
(
command
==
6
)
{
}
else
if
(
command
==
6
)
{
data
[
0
].
path
=
'SingleticketList'
data
[
0
].
path
=
'SingleticketList'
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
}
data
);
else
if
(
command
==
7
)
{
}
else
if
(
command
==
7
)
{
data
[
0
].
path
=
'BookAcarList'
data
[
0
].
path
=
'BookAcarList'
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
}
}
if
(
href
)
{
if
(
href
)
{
window
.
open
(
href
);
window
.
open
(
href
);
}
}
}
}
},
},
// 清空下拉
// 清空下拉
...
@@ -551,7 +563,7 @@
...
@@ -551,7 +563,7 @@
}
}
},
},
// 修改日期
// 修改日期
modifiedDate
(
row
){
modifiedDate
(
row
)
{
let
$this
=
this
let
$this
=
this
this
.
MsgBus
.
$emit
(
"modifiedDateOrderBoxOpen"
,
$this
.
ID
,
row
,
true
);
this
.
MsgBus
.
$emit
(
"modifiedDateOrderBoxOpen"
,
$this
.
ID
,
row
,
true
);
},
},
...
@@ -778,7 +790,7 @@
...
@@ -778,7 +790,7 @@
ReFinanceId
:
row
.
OrderId
,
ReFinanceId
:
row
.
OrderId
,
ReFinanceId2
:
num
,
ReFinanceId2
:
num
,
GuestId
:
row
.
GuestId
,
GuestId
:
row
.
GuestId
,
RelevanceFrId
:
num
==
2
?
1
:
row
.
OrderType
,
// 单据类型
RelevanceFrId
:
num
==
2
?
1
:
row
.
OrderType
,
// 单据类型
}]
}]
href
=
url
+
'automaticLogin?token='
+
this
.
getLocalStorage
().
token
+
'&data='
+
JSON
href
=
url
+
'automaticLogin?token='
+
this
.
getLocalStorage
().
token
+
'&data='
+
JSON
.
stringify
(
data
)
.
stringify
(
data
)
...
@@ -885,7 +897,8 @@
...
@@ -885,7 +897,8 @@
if
(
this
.
userInfo
.
EmployeeId
!=
row
.
EnterID
&&
this
.
userInfo
.
EmployeeId
!=
row
.
CreateBy
)
{
if
(
this
.
userInfo
.
EmployeeId
!=
row
.
EnterID
&&
this
.
userInfo
.
EmployeeId
!=
row
.
CreateBy
)
{
this
.
ValidateOperator
()
this
.
ValidateOperator
()
}
else
{
}
else
{
if
(
row
.
OrderStatus
==
1
&&
(
row
.
TicketStatus
==
1
||
row
.
TicketStatus
==
5
)
||
(
row
.
visaStatus
==
0
||
row
.
visaStatus
==
1
))
{
if
(
row
.
OrderStatus
==
1
&&
(
row
.
TicketStatus
==
1
||
row
.
TicketStatus
==
5
)
||
(
row
.
visaStatus
==
0
||
row
.
visaStatus
==
1
))
{
let
$this
=
this
;
let
$this
=
this
;
this
.
MsgBus
.
$emit
(
"editOrderTicketOrderBoxOpen"
,
$this
.
ID
,
row
,
true
);
this
.
MsgBus
.
$emit
(
"editOrderTicketOrderBoxOpen"
,
$this
.
ID
,
row
,
true
);
}
else
{
}
else
{
...
@@ -898,15 +911,14 @@
...
@@ -898,15 +911,14 @@
if
(
this
.
userInfo
.
EmployeeId
!=
row
.
EnterID
&&
this
.
userInfo
.
EmployeeId
!=
row
.
CreateBy
)
{
if
(
this
.
userInfo
.
EmployeeId
!=
row
.
EnterID
&&
this
.
userInfo
.
EmployeeId
!=
row
.
CreateBy
)
{
this
.
ValidateOperator
()
this
.
ValidateOperator
()
}
else
{
}
else
{
if
(
row
.
OrderStatus
==
1
&&
(
row
.
TicketStatus
==
1
||
row
.
TicketStatus
==
5
)
||
(
row
.
visaStatus
==
0
||
row
.
visaStatus
==
1
))
{
if
(
row
.
OrderStatus
==
1
&&
(
row
.
TicketStatus
==
1
||
row
.
TicketStatus
==
5
)
||
(
row
.
visaStatus
==
0
||
row
.
visaStatus
==
1
))
{
let
$this
=
this
;
let
$this
=
this
;
this
.
MsgBus
.
$emit
(
"editTicketOrderBoxOpen"
,
$this
.
ID
,
row
,
true
);
this
.
MsgBus
.
$emit
(
"editTicketOrderBoxOpen"
,
$this
.
ID
,
row
,
true
);
}
else
{
}
else
{
this
.
emptyMore
()
this
.
emptyMore
()
}
}
}
}
},
},
openDetails
(
row
)
{
openDetails
(
row
)
{
let
href
let
href
...
...
src/components/guestManagement/finance.vue
View file @
8baa1242
...
@@ -241,7 +241,7 @@ export default {
...
@@ -241,7 +241,7 @@ export default {
let
href
let
href
let
url
let
url
if
(
this
.
isOnline
()){
if
(
this
.
isOnline
()){
url
=
'http://
yx
.oytour.com/#/'
url
=
'http://
admin
.oytour.com/#/'
}
else
{
}
else
{
url
=
'http://localhost:8081/#/'
url
=
'http://localhost:8081/#/'
}
}
...
...
src/plugins/domainManager.js
View file @
8baa1242
const
isOnline
=
function
()
{
const
isOnline
=
function
()
{
return
process
.
env
.
NODE_ENV
!==
'development'
;
return
process
.
env
.
NODE_ENV
!==
'development'
;
}
}
export
default
function
()
{
export
default
function
()
{
//CRM API
//CRM API
let
domainUrl
=
""
;
let
domainUrl
=
"http://192.168.5.46:5003"
;
// domainUrl = "http://192.168.10.46:8500";
// domainUrl = "http://192.168.10.128:5003";
domainUrl
=
"http://192.168.10.9:8098"
;
// domainUrl = "http://crm.oytour.com"
//domainUrl = "http://localhost:5003";
let
locationName
=
window
.
location
.
hostname
;
//旅游ERPApi
//旅游ERPApi
let
domainPostUrl
=
""
let
erpApiUrl
=
"http://192.168.5.46"
domainPostUrl
=
"http://192.168.10.9:8083"
;
let
erpSiteUrl
=
""
;
//ERP前端域名
//domainPostUrl = "http://192.168.10.46";
let
javaUrl
=
"http://192.168.10.215:9000"
;
//javaapi域名获取优惠卷
let
ViittoFileUrl
=
"http://192.168.5.214:8130"
;
//文件预览站点
let
UploadUrl
=
"http://192.168.5.214:8120"
;
//文件上传站点
if
(
isOnline
())
{
if
(
isOnline
())
{
if
(
window
.
location
.
host
.
indexOf
(
'fcrmyx.oytour.com'
)
!=
-
1
)
{
domainUrl
=
"http://crm.oytour.com"
;
domainUrl
=
"http://crm.oytour.com"
erpApiUrl
=
"http://reborn.oytour.com"
;
domainPostUrl
=
"http://reborn.oytour.com"
javaUrl
=
"http://efficient.oytour.com"
;
}
else
{
ViittoFileUrl
=
"http://imgfile.oytour.com"
;
domainUrl
=
"http://testcrm.oytour.com"
UploadUrl
=
"http://uploadfile.oytour.com"
;
domainPostUrl
=
"http://testapi.oytour.com"
}
var
storageUser
=
this
.
getLocalStorage
();
if
(
isOnline
())
{
erpSiteUrl
=
"http://admin.oytour.com/#/"
;
if
(
storageUser
&&
storageUser
.
ERPUrl
)
{
erpSiteUrl
=
storageUser
.
ERPUrl
+
"/#/"
;
}
}
else
{
erpSiteUrl
=
"http://localhost:8080/#/"
;
if
(
storageUser
&&
storageUser
.
ERPUrl
)
{
erpSiteUrl
=
storageUser
.
ERPUrl
+
"/#/"
;
}
}
}
}
var
obj
=
{
var
obj
=
{
//主地址
DownLoadContractUrl
:
erpApiUrl
,
DomainUrl
:
domainUrl
,
DownLoadContractUrl
:
domainPostUrl
,
//阿里服务器地址
//阿里服务器地址
AliUrl
:
"https://reborndev.oss-cn-hangzhou.aliyuncs.com"
,
AliUrl
:
"https://reborndev.oss-cn-hangzhou.aliyuncs.com"
,
//CRMApi地址
//CRMApi地址
PostUrl
:
domainUrl
,
PostUrl
:
domainUrl
,
//旅游ERPApi地址
//旅游ERPApi地址
ERPApiUrl
:
domainPost
Url
+
"/api/common/post"
,
ERPApiUrl
:
erpApi
Url
+
"/api/common/post"
,
ERPApiUrlFile
:
domainPost
Url
+
"/api/file/GetFileFromWebApi"
,
ERPApiUrlFile
:
erpApi
Url
+
"/api/file/GetFileFromWebApi"
,
javaUrl
:
locationName
.
indexOf
(
'testb2b'
)
==
-
1
?
"http://efficient.oytour.com"
:
locationName
.
indexOf
(
'testb2b.oytour.com'
)
!==
-
1
?
"http://47.96.12.235:9001"
:
"http://192.168.10.215:9000"
,
javaUrl
:
javaUrl
,
ViittoFileUrl
:
locationName
.
indexOf
(
'oytour'
)
!==
-
1
||
locationName
.
indexOf
(
'testb2b.oytour.com'
)
!==
-
1
?
"http://staticfile.oytour.com"
:
'http://192.168.10.214:8130'
,
ViittoFileUrl
:
ViittoFileUrl
,
UploadUrl
:
locationName
.
indexOf
(
'oytour'
)
!==
-
1
||
locationName
.
indexOf
(
'testb2b.oytour.com'
)
!==
-
1
?
"http://uploadfile.oytour.com"
:
"http://192.168.10.214:8120"
,
UploadUrl
:
UploadUrl
,
erpRoutingUrl
:
locationName
.
indexOf
(
'oytour'
)
!==
-
1
||
locationName
.
indexOf
(
'testb2b.oytour.com'
)
!==
-
1
?
"http://yx.oytour.com/#/"
:
"http://localhost:8081/#/"
// "http://www.test.com:8081/#/",
erpRoutingUrl
:
erpSiteUrl
};
};
return
obj
;
return
obj
;
}
}
\ No newline at end of file
src/plugins/index.js
View file @
8baa1242
...
@@ -7,82 +7,64 @@ export default {
...
@@ -7,82 +7,64 @@ export default {
},
},
domainManager
,
domainManager
,
install
(
Vue
,
options
)
{
install
(
Vue
,
options
)
{
Vue
.
prototype
.
isOnline
=
function
()
{
Vue
.
prototype
.
isOnline
=
function
()
{
return
process
.
env
.
NODE_ENV
!==
'development'
;
return
process
.
env
.
NODE_ENV
!==
'development'
;
},
};
//域名管理对象
//域名管理对象
Vue
.
prototype
.
domainManager
=
domainManager
,
Vue
.
prototype
.
domainManager
=
domainManager
;
//消息成功提示
//消息成功提示
Vue
.
prototype
.
Success
=
function
(
msg
)
{
Vue
.
prototype
.
Success
=
function
(
msg
)
{
this
.
$message
({
this
.
$message
({
message
:
msg
,
message
:
msg
,
duration
:
2000
,
duration
:
2000
,
type
:
"success"
type
:
"success"
});
});
},
}
//错误提示
//错误提示
Vue
.
prototype
.
Error
=
function
(
msg
)
{
Vue
.
prototype
.
Error
=
function
(
msg
)
{
this
.
$message
({
this
.
$message
({
message
:
msg
,
message
:
msg
,
duration
:
2000
,
duration
:
2000
,
type
:
"error"
type
:
"error"
});
});
},
}
//一般提示
//一般提示
Vue
.
prototype
.
Info
=
function
(
msg
)
{
Vue
.
prototype
.
Info
=
function
(
msg
)
{
this
.
$message
({
this
.
$message
({
message
:
msg
,
message
:
msg
,
duration
:
2000
,
duration
:
2000
,
type
:
"info"
type
:
"info"
});
});
},
}
//警告提示
//警告提示
Vue
.
prototype
.
Warning
=
function
(
msg
)
{
Vue
.
prototype
.
Warning
=
function
(
msg
)
{
this
.
$message
({
this
.
$message
({
message
:
msg
,
message
:
msg
,
duration
:
2000
,
duration
:
2000
,
type
:
"warning"
});
}
//Confirm
Vue
.
prototype
.
Confirm
=
function
(
msg
,
callback
)
{
this
.
$confirm
(
msg
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
type
:
"warning"
})
.
then
(()
=>
{
if
(
typeof
callback
===
'function'
)
{
callback
();
}
})
.
catch
(()
=>
{
this
.
Info
(
"已取消操作"
);
});
});
},
}
//Confirm
Vue
.
prototype
.
Confirm
=
function
(
msg
,
callback
)
{
this
.
$confirm
(
msg
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
})
.
then
(()
=>
{
if
(
typeof
callback
===
'function'
)
{
callback
();
}
})
.
catch
(()
=>
{
this
.
Info
(
"已取消操作"
);
});
},
//压缩图片
//path : 图片路径
//type : m_filt 填充 m_w 宽度固定 高度不固定 m_h 高度固定 宽度不固定
// w : 宽
// h : 高
Vue
.
prototype
.
compressImg
=
function
(
path
,
type
,
w
,
h
)
{
let
url
=
this
.
domainManager
().
UploadUrl
;
let
poise
=
'width='
;
w
=
w
?
w
:
''
h
=
h
?
h
:
''
if
(
type
===
'w'
)
{
poise
=
'width'
}
else
if
(
type
===
'h'
)
{
poise
=
'height'
}
return
path
.
split
(
'?'
)[
0
]
+
'?width='
+
w
;
}
//旅游ERP接口
//旅游ERP接口
Vue
.
prototype
.
apipost2
=
function
(
cmd
,
msg
,
successCall
,
faildCall
,
isOnline
)
{
Vue
.
prototype
.
apipost2
=
function
(
cmd
,
msg
,
successCall
,
faildCall
,
isOnline
)
{
if
(
msg
==
null
||
msg
==
""
)
{
if
(
msg
==
null
||
msg
==
""
)
{
msg
=
{}
msg
=
{}
}
}
...
@@ -131,7 +113,7 @@ export default {
...
@@ -131,7 +113,7 @@ export default {
}
}
//CRM接口
//CRM接口
Vue
.
prototype
.
apipost
=
function
(
cmd
,
msg
,
successCall
,
faildCall
)
{
Vue
.
prototype
.
apipost
=
function
(
cmd
,
msg
,
successCall
,
faildCall
)
{
if
(
msg
==
null
||
msg
==
""
)
{
if
(
msg
==
null
||
msg
==
""
)
{
msg
=
{}
msg
=
{}
}
}
...
@@ -174,7 +156,7 @@ export default {
...
@@ -174,7 +156,7 @@ export default {
},
},
// 自动登录HTTP提交数据
// 自动登录HTTP提交数据
Vue
.
prototype
.
apipostLogin
=
function
(
cmd
,
msg
,
successCall
,
faildCall
)
{
Vue
.
prototype
.
apipostLogin
=
function
(
cmd
,
msg
,
successCall
,
faildCall
)
{
if
(
msg
==
null
||
msg
==
""
)
{
if
(
msg
==
null
||
msg
==
""
)
{
msg
=
{}
msg
=
{}
}
}
...
@@ -217,7 +199,7 @@ export default {
...
@@ -217,7 +199,7 @@ export default {
},
},
//Java接口
//Java接口
Vue
.
prototype
.
apiJavaPost
=
function
(
cmd
,
msg
,
successCall
,
faildCall
)
{
Vue
.
prototype
.
apiJavaPost
=
function
(
cmd
,
msg
,
successCall
,
faildCall
)
{
if
(
msg
==
null
||
msg
==
""
)
{
if
(
msg
==
null
||
msg
==
""
)
{
msg
=
{}
msg
=
{}
}
}
...
@@ -269,7 +251,7 @@ export default {
...
@@ -269,7 +251,7 @@ export default {
},
},
//下载文件
//下载文件
Vue
.
prototype
.
GetLocalFile
=
function
(
cmd
,
msg
,
fileName
,
callBack
)
{
Vue
.
prototype
.
GetLocalFile
=
function
(
cmd
,
msg
,
fileName
,
callBack
)
{
if
(
msg
==
null
||
msg
==
""
)
{
if
(
msg
==
null
||
msg
==
""
)
{
msg
=
{}
msg
=
{}
}
}
...
@@ -311,57 +293,58 @@ export default {
...
@@ -311,57 +293,58 @@ export default {
};
};
callBack
(
result
);
callBack
(
result
);
}
}
}).
catch
(
function
(
res
)
{
}).
catch
(
function
(
res
)
{
console
.
log
(
"GetLocalFile"
,
res
);
console
.
log
(
"GetLocalFile"
,
res
);
});
});
}
}
//erp下载文件
Vue
.
prototype
.
GetLocalFile2
=
function
(
cmd
,
msg
,
fileName
,
callBack
)
{
//erp下载文件
if
(
msg
==
null
||
msg
==
""
)
{
Vue
.
prototype
.
GetLocalFile2
=
function
(
cmd
,
msg
,
fileName
,
callBack
)
{
msg
=
{}
if
(
msg
==
null
||
msg
==
""
)
{
}
msg
=
{}
var
apiurl
=
this
.
domainManager
().
ERPApiUrlFile
;
var
timestamp
=
(
new
Date
()).
valueOf
();
var
token
=
""
;
var
key
=
""
;
if
(
this
.
getLocalStorage
()
!=
null
)
{
token
=
this
.
getLocalStorage
().
token
;
key
=
this
.
getLocalStorage
().
SecretKey
;
}
var
encodeMsg
=
encodeURIComponent
(
JSON
.
stringify
(
msg
)).
toLowerCase
();
var
md5Str
=
md5
(
`cmd=
${
cmd
}
&msg=
${
encodeMsg
}
×tamp=
${
timestamp
}
&token=
${
token
}
&key=
${
key
}
`
);
var
postData
=
{
"cmd"
:
cmd
,
"msg"
:
msg
,
"timestamp"
:
timestamp
,
"token"
:
token
,
"sign"
:
md5Str
}
this
.
$http
.
post
(
apiurl
,
postData
,
{
headers
:
{
'Content-Type'
:
'application/json'
,
'Referer-Viitto'
:
this
.
$route
.
path
,
},
responseType
:
'blob'
}).
then
((
res
)
=>
{
let
blob
=
new
Blob
([
res
.
data
],
{
type
:
"application/vnd.ms-excel"
})
let
url
=
URL
.
createObjectURL
(
blob
);
let
link
=
document
.
createElement
(
'a'
);
link
.
href
=
url
;
link
.
setAttribute
(
"download"
,
fileName
);
document
.
body
.
appendChild
(
link
);
link
.
click
();
if
(
callBack
)
{
var
result
=
{
Code
:
1
};
callBack
(
result
);
}
}).
catch
(
function
(
res
)
{
console
.
log
(
"GetLocalFile"
,
res
);
});
}
}
var
apiurl
=
this
.
domainManager
().
ERPApiUrlFile
;
var
timestamp
=
(
new
Date
()).
valueOf
();
var
token
=
""
;
var
key
=
""
;
if
(
this
.
getLocalStorage
()
!=
null
)
{
token
=
this
.
getLocalStorage
().
token
;
key
=
this
.
getLocalStorage
().
SecretKey
;
}
var
encodeMsg
=
encodeURIComponent
(
JSON
.
stringify
(
msg
)).
toLowerCase
();
var
md5Str
=
md5
(
`cmd=
${
cmd
}
&msg=
${
encodeMsg
}
×tamp=
${
timestamp
}
&token=
${
token
}
&key=
${
key
}
`
);
var
postData
=
{
"cmd"
:
cmd
,
"msg"
:
msg
,
"timestamp"
:
timestamp
,
"token"
:
token
,
"sign"
:
md5Str
}
this
.
$http
.
post
(
apiurl
,
postData
,
{
headers
:
{
'Content-Type'
:
'application/json'
,
'Referer-Viitto'
:
this
.
$route
.
path
,
},
responseType
:
'blob'
}).
then
((
res
)
=>
{
let
blob
=
new
Blob
([
res
.
data
],
{
type
:
"application/vnd.ms-excel"
})
let
url
=
URL
.
createObjectURL
(
blob
);
let
link
=
document
.
createElement
(
'a'
);
link
.
href
=
url
;
link
.
setAttribute
(
"download"
,
fileName
);
document
.
body
.
appendChild
(
link
);
link
.
click
();
if
(
callBack
)
{
var
result
=
{
Code
:
1
};
callBack
(
result
);
}
}).
catch
(
function
(
res
)
{
console
.
log
(
"GetLocalFile"
,
res
);
});
}
}
}
}
}
\ No newline at end of file
src/views/customerSet/components/customerField.vue
View file @
8baa1242
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<div
class=
"q-pa-md customerField"
>
<div
class=
"q-pa-md customerField"
>
<div
style=
"text-align: right;"
>
<div
style=
"text-align: right;"
>
<el-button
type=
"primary"
style=
"float:right;margin-bottom: 10px;"
size=
"sm"
class=
"q-mr-md"
icon=
"plus"
<el-button
type=
"primary"
style=
"float:right;margin-bottom: 10px;"
size=
"sm"
class=
"q-mr-md"
icon=
"plus"
@
click=
"goaddfield()"
>
新增字段
</el-button>
@
click=
"goaddfield()"
>
新增字段
</el-button>
</div>
</div>
<table
class=
"payTable"
>
<table
class=
"payTable"
>
<thead>
<thead>
...
@@ -21,58 +21,61 @@
...
@@ -21,58 +21,61 @@
<td
:colspan=
"8"
align=
"center"
>
暂无数据
</td>
<td
:colspan=
"8"
align=
"center"
>
暂无数据
</td>
</tr>
</tr>
<!--
<draggable
v-model=
"data"
tag=
"tbody"
item-key=
"Id"
:move=
"getdata"
@
update=
"datadragEnd"
>
-->
<!--
<draggable
v-model=
"data"
tag=
"tbody"
item-key=
"Id"
:move=
"getdata"
@
update=
"datadragEnd"
>
-->
<template>
<template>
<tr
v-for=
"element in data"
:key=
"element.Id"
>
<tr
v-for=
"element in data"
:key=
"element.Id"
>
<td><span>
{{
element
.
Name
}}
</span></td>
<td><span>
{{
element
.
Name
}}
</span></td>
<td>
<td>
<span
v-if=
"element.IsSystem!=1"
>
{{
element
.
TypeName
}}
</span>
<span
v-if=
"element.IsSystem!=1"
>
{{
element
.
TypeName
}}
</span>
<span
v-if=
"element.IsSystem==1"
>
系统字段
</span>
<span
v-if=
"element.IsSystem==1"
>
系统字段
</span>
</td>
</td>
<td><span>
{{
element
.
DeptName
}}
</span></td>
<td><span>
{{
element
.
DeptName
}}
</span></td>
<td>
<td>
<q-toggle
v-if=
"element.IsLock==1"
v-model=
"element.Enable"
:true-value=
"1"
:false-value=
"2"
<q-toggle
v-if=
"element.IsLock==1"
v-model=
"element.Enable"
:true-value=
"1"
:false-value=
"2"
icon=
"lock"
disable
/>
icon=
"lock"
disable
/>
<q-toggle
v-else
v-model=
"element.Enable"
:true-value=
"1"
:false-value=
"2"
<q-toggle
v-else
v-model=
"element.Enable"
:true-value=
"1"
:false-value=
"2"
@
update:model-value=
"godelete(element,1)"
/>
@
update:model-value=
"godelete(element,1)"
/>
</td>
</td>
<td>
<td>
<q-toggle
v-model=
"element.Required"
:true-value=
"1"
:false-value=
"2"
<q-toggle
v-model=
"element.Required"
:true-value=
"1"
:false-value=
"2"
@
update:model-value=
"godelete(element,2)"
/>
@
update:model-value=
"godelete(element,2)"
/>
</td>
</td>
<td>
<td>
<div>
{{
element
.
UpdateByName
}}
</div>
<div>
{{
element
.
UpdateByName
}}
</div>
<div>
{{
element
.
UpdateTime
}}
</div>
<div>
{{
element
.
UpdateTime
}}
</div>
</td>
</td>
<td>
<td>
<el-button
flat
size=
"xs"
icon=
"edit"
style=
"font-weight:400;color: #3FC4FF"
class=
"q-mr-xs"
<el-button
flat
size=
"xs"
icon=
"edit"
style=
"font-weight:400;color: #3FC4FF"
class=
"q-mr-xs"
@
click=
"goedit(element)"
>
编辑
</el-button>
@
click=
"goedit(element)"
>
编辑
</el-button>
<el-button
v-if=
'element.IsDefault!=1'
flat
size=
"xs"
icon=
"delete"
color=
"negative"
<el-button
v-if=
'element.IsDefault!=1'
flat
size=
"xs"
icon=
"delete"
color=
"negative"
class=
"q-mr-xs"
@
click=
"godelete(element,3)"
>
删除
</el-button>
class=
"q-mr-xs"
@
click=
"godelete(element,3)"
>
删除
</el-button>
</td>
</td>
<td>
<td>
<i
class=
"iconfont icon-drag"
style=
"font-size: 20px;color: #777;"
></i>
<i
class=
"iconfont icon-drag"
style=
"font-size: 20px;color: #777;"
></i>
</td>
</td>
</tr>
</tr>
</
template
>
</
template
>
<!-- </draggable> -->
<!-- </draggable> -->
</table>
</table>
<div>
<div>
<el-dialog
:visible
.
sync=
"Isadd"
persistent
title=
"新建/修改字段"
>
<el-dialog
:visible
.
sync=
"Isadd"
persistent
title=
"新建/修改字段"
>
<addfield
@
getcancel=
'getcancel'
:passobj=
"addMsg"
:passdeptl=
"deptl"
:passtabsList=
"tabsList"
<addfield
@
getcancel=
'getcancel'
:passobj=
"addMsg"
:passdeptl=
"deptl"
:passtabsList=
"tabsList"
:passcheckboxList=
"checkboxList"
></addfield>
:passcheckboxList=
"checkboxList"
></addfield>
</el-dialog>
</el-dialog>
</div>
</div>
</div>
</div>
</template>
</template>
<scr
<
script
>
<
script
>
import
draggable
from
"vuedraggable"
;
import
draggable
from
"vuedraggable"
;
import
Vue
from
'vue'
import
Vue
from
'vue'
import
addfield
from
'./addfield.vue'
import
addfield
from
'./addfield.vue'
export
default
{
export
default
{
components: { draggable, addfield },
components
:
{
draggable
,
addfield
},
data
()
{
data
()
{
return
{
return
{
data
:
[],
data
:
[],
...
@@ -98,19 +101,21 @@
...
@@ -98,19 +101,21 @@
}
}
}
}
},
},
mounted() {
mounted
()
{
this.changePage()
this
.
changePage
()
this.getCustomerFieldType()
this
.
getCustomerFieldType
()
this.getDepartList()
//获取部门
this
.
getDepartList
()
//获取部门
this.getFieldInputType()
//输入类型
this
.
getFieldInputType
()
//输入类型
},
},
methods
:
{
methods
:
{
changePage
()
{
changePage
()
{
this.apipost("/api/Scene/GetCustomerFiledList", {Enable: -1}, (res) => {
this
.
apipost
(
"/api/Scene/GetCustomerFiledList"
,
{
if (res.data.resultCode == 1) {
Enable
:
-
1
this.data = res.data.data
},
(
res
)
=>
{
}
if
(
res
.
data
.
resultCode
==
1
)
{
});
this
.
data
=
res
.
data
.
data
}
});
},
},
datadragEnd
(
e
)
{
datadragEnd
(
e
)
{
let
olddragId
=
0
let
olddragId
=
0
...
@@ -124,13 +129,11 @@
...
@@ -124,13 +129,11 @@
FiledId
:
dragId
,
FiledId
:
dragId
,
SortFiledId
:
olddragId
,
SortFiledId
:
olddragId
,
}
}
this.apipost('/api/Scene/SetCustomerFiledState',msg,(res) => {
this
.
apipost
(
'/api/Scene/SetCustomerFiledState'
,
msg
,
(
res
)
=>
{
if (res.data.Code == 1) {
if
(
res
.
data
.
Code
==
1
)
{}
else
{
//如果移动失败 重新获取列表
} else {//如果移动失败 重新获取列表
this
.
changePage
()
this
.
changePage
()
}
}
})
})
},
},
getdata
(
e
)
{
getdata
(
e
)
{
this
.
dragId
=
e
.
draggedContext
.
element
.
Id
this
.
dragId
=
e
.
draggedContext
.
element
.
Id
...
@@ -141,7 +144,7 @@
...
@@ -141,7 +144,7 @@
FiledId
:
item
.
Id
,
FiledId
:
item
.
Id
,
SortFiledId
:
0
,
SortFiledId
:
0
,
}
}
this.apipost('/api/Scene/SetCustomerFiledState',
msg,
(res) => {
this
.
apipost
(
'/api/Scene/SetCustomerFiledState'
,
msg
,
(
res
)
=>
{
if
(
res
.
data
.
Code
==
1
)
{
if
(
res
.
data
.
Code
==
1
)
{
this
.
$message
.
success
({
this
.
$message
.
success
({
icon
:
'iconfont icon-chenggong'
,
icon
:
'iconfont icon-chenggong'
,
...
@@ -151,13 +154,13 @@
...
@@ -151,13 +154,13 @@
position
:
'top'
position
:
'top'
})
})
this
.
changePage
()
this
.
changePage
()
} else {//如果移动失败 重新获取列表
}
else
{
//如果移动失败 重新获取列表
}
}
})
})
},
},
godelete
(
item
,
type
)
{
godelete
(
item
,
type
)
{
let
text
=
''
let
text
=
''
if (type == 1) {//tyep等于1和2的时候 先让弹出提示 然后再给予掉接口 所以把原本的值暂时先赋值给本身
if
(
type
==
1
)
{
//tyep等于1和2的时候 先让弹出提示 然后再给予掉接口 所以把原本的值暂时先赋值给本身
text
=
'确定修改启用状态'
text
=
'确定修改启用状态'
if
(
item
.
Enable
==
2
)
{
if
(
item
.
Enable
==
2
)
{
item
.
Enable
=
1
item
.
Enable
=
1
...
@@ -190,7 +193,7 @@
...
@@ -190,7 +193,7 @@
});
});
},
},
getCustomerFieldType
()
{
getCustomerFieldType
()
{
this.apipost('/api/Scene/GetCustomerFieldTypeEnumList',
{},
(res) => {
this
.
apipost
(
'/api/Scene/GetCustomerFieldTypeEnumList'
,
{},
(
res
)
=>
{
if
(
res
.
data
.
Code
==
1
)
{
if
(
res
.
data
.
Code
==
1
)
{
this
.
tabsList
=
res
.
data
.
Data
this
.
tabsList
=
res
.
data
.
Data
this
.
tabsList
.
forEach
(
x
=>
{
this
.
tabsList
.
forEach
(
x
=>
{
...
@@ -205,7 +208,6 @@
...
@@ -205,7 +208,6 @@
},
},
goaddfield
()
{
goaddfield
()
{
this
.
Isadd
=
true
;
this
.
Isadd
=
true
;
console.log('@vue/composition-api goaddfield', this.Isadd)
this
.
addMsg
=
{
this
.
addMsg
=
{
Id
:
0
,
Id
:
0
,
Type
:
1
,
Type
:
1
,
...
@@ -232,14 +234,16 @@
...
@@ -232,14 +234,16 @@
}
}
},
},
getDepartList
()
{
getDepartList
()
{
this.apipost('/User/GetDeptTree',{ School_Id: 0 },(res) => {
this
.
apipost
(
'/User/GetDeptTree'
,
{
School_Id
:
0
},
(
res
)
=>
{
if
(
res
.
data
.
Code
==
1
)
{
if
(
res
.
data
.
Code
==
1
)
{
this
.
deptl
=
res
.
data
.
Data
this
.
deptl
=
res
.
data
.
Data
}
}
})
})
},
},
getFieldInputType
()
{
getFieldInputType
()
{
this.apipost('/api/Scene/GetCustomerFieldInputTypeEnumList', {},(res) => {
this
.
apipost
(
'/api/Scene/GetCustomerFieldInputTypeEnumList'
,
{},
(
res
)
=>
{
if
(
res
.
data
.
Code
==
1
)
{
if
(
res
.
data
.
Code
==
1
)
{
this
.
checkboxList
=
res
.
data
.
Data
this
.
checkboxList
=
res
.
data
.
Data
}
}
...
...
src/views/index.vue
View file @
8baa1242
...
@@ -175,7 +175,7 @@
...
@@ -175,7 +175,7 @@
<p><span></span>
新建场景
</p>
<p><span></span>
新建场景
</p>
<span
icon=
"el-icon-close"
></span>
<span
icon=
"el-icon-close"
></span>
</div>
</div>
<sceneBox
:LableType=
"LableType"
:sceneType=
"sceneType"
:sceneDataList=
"sceneDataList"
/>
<sceneBox
:LableType=
"LableType"
:sceneType=
"sceneType"
:sceneDataList=
"sceneDataList"
/>
</el-dialog>
</el-dialog>
<!-- 高级筛选修改 -->
<!-- 高级筛选修改 -->
<el-dialog
:visible
.
sync=
"sceneEditBoxShow"
:close-on-click-modal=
"false"
width=
"800px"
<el-dialog
:visible
.
sync=
"sceneEditBoxShow"
:close-on-click-modal=
"false"
width=
"800px"
...
@@ -443,7 +443,7 @@
...
@@ -443,7 +443,7 @@
$this
.
sceneType
=
sceneType
;
$this
.
sceneType
=
sceneType
;
$this
.
sceneDataList
=
sceneDataList
;
$this
.
sceneDataList
=
sceneDataList
;
$this
.
sceneShow
=
true
;
$this
.
sceneShow
=
true
;
});
});
this
.
MsgBus
.
$on
(
"sceneBoxClose"
,
function
()
{
this
.
MsgBus
.
$on
(
"sceneBoxClose"
,
function
()
{
$this
.
sceneShow
=
false
;
$this
.
sceneShow
=
false
;
...
@@ -564,15 +564,18 @@
...
@@ -564,15 +564,18 @@
},
},
Employee
()
{
Employee
()
{
let
msg
=
{
let
msg
=
{
RB_Group_id
:
this
.
userInfo
.
RB_Group_id
,
RB_Group_id
:
0
,
BranchId
:
-
1
,
BranchId
:
-
1
,
DepartmentId
:
0
,
DepartmentId
:
0
,
PostId
:
0
,
PostId
:
0
,
IsLeave
:
0
,
IsLeave
:
0
,
};
};
if
(
this
.
userInfo
&&
this
.
userInfo
.
RB_Group_id
)
{
msg
.
RB_Group_id
=
this
.
userInfo
.
RB_Group_id
;
}
this
.
apipost2
(
this
.
apipost2
(
"admin_get_EmployeeGetList"
,
"admin_get_EmployeeGetList"
,
this
.
msg
,
msg
,
(
res
)
=>
{
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
EmployeeList
=
res
.
data
.
data
;
this
.
EmployeeList
=
res
.
data
.
data
;
...
...
src/views/login.vue
View file @
8baa1242
...
@@ -8,7 +8,11 @@
...
@@ -8,7 +8,11 @@
<div
class=
"head-icon"
>
<div
class=
"head-icon"
>
<img
src=
"http://imgfile.oytour.com/Upload/User/636681352035115417.jpg"
/>
<img
src=
"http://imgfile.oytour.com/Upload/User/636681352035115417.jpg"
/>
</div>
</div>
<div
class=
"publisher"
>
徐总
</div>
<div
class=
"publisher"
>
<template
v-if=
"groupModel&&groupModel.GroupName&&groupModel.GroupName!=''"
>
{{
groupModel
.
ContactPersion
}}
</
template
>
</div>
<div
class=
"job"
>
总经理
</div>
<div
class=
"job"
>
总经理
</div>
<div
class=
"content"
>
職場上成功者與失敗者最大的分別就是,前者找機會,後者找藉口,今日的你痛恨每天上班「度日如年」,將來的你會感激經歷過這一切,你練成了更強大的自己,玻璃心不再怕碎。
<div
class=
"content"
>
職場上成功者與失敗者最大的分別就是,前者找機會,後者找藉口,今日的你痛恨每天上班「度日如年」,將來的你會感激經歷過這一切,你練成了更強大的自己,玻璃心不再怕碎。
</div>
</div>
...
@@ -17,7 +21,11 @@
...
@@ -17,7 +21,11 @@
</el-carousel>
</el-carousel>
</div>
</div>
<div
class=
"right-card"
>
<div
class=
"right-card"
>
<div
class=
"company"
>
四川和平国际旅行社有限公司
</div>
<div
class=
"company"
>
<
template
v-if=
"groupModel&&groupModel.GroupName&&groupModel.GroupName!=''"
>
{{
groupModel
.
GroupName
}}
</
template
>
</div>
<div
class=
"t"
>
登录
</div>
<div
class=
"t"
>
登录
</div>
<div
class=
"field_wrap"
>
<div
class=
"field_wrap"
>
<div
class=
"pwd_box"
>
<div
class=
"pwd_box"
>
...
@@ -90,6 +98,7 @@
...
@@ -90,6 +98,7 @@
pwd
:
""
,
pwd
:
""
,
isLogining
:
false
,
isLogining
:
false
,
isAutoLogin
:
false
,
isAutoLogin
:
false
,
groupModel
:
{},
};
};
},
},
created
()
{
created
()
{
...
@@ -100,7 +109,28 @@
...
@@ -100,7 +109,28 @@
this
.
pwd
=
autoLogin
?
autoLogin
.
pwd
:
""
;
this
.
pwd
=
autoLogin
?
autoLogin
.
pwd
:
""
;
this
.
isAutoLogin
=
autoLogin
?
true
:
false
;
this
.
isAutoLogin
=
autoLogin
?
true
:
false
;
},
},
mounted
()
{
this
.
getGroup
();
},
methods
:
{
methods
:
{
getGroup
()
{
//获取集团
let
Domain
=
window
.
location
.
hostname
;
if
(
this
.
isOnline
())
{
if
(
Domain
==
"fcrmyx.oytour.com"
)
{
Domain
=
"admin.oytour.com"
;
}
else
{
Domain
=
Domain
.
replace
(
"crm"
,
''
);
}
}
this
.
apipost2
(
'admin_get_GetModelByDomain'
,
{
'Domain'
:
Domain
},
res
=>
{
this
.
groupModel
=
res
.
data
.
data
;
if
(
this
.
groupModel
&&
this
.
groupModel
.
GroupName
&&
this
.
groupModel
.
GroupName
!=
''
)
{
document
.
title
=
"欢迎使用 "
+
this
.
groupModel
.
GroupName
+
" CRM系统"
;
}
},
err
=>
{})
},
goLogin
()
{
goLogin
()
{
if
(
this
.
account
==
""
)
{
if
(
this
.
account
==
""
)
{
return
this
.
$message
({
return
this
.
$message
({
...
@@ -121,13 +151,15 @@
...
@@ -121,13 +151,15 @@
};
};
if
(
!
this
.
isOnline
())
{
if
(
!
this
.
isOnline
())
{
msg
.
Domain
=
"localhost"
;
msg
.
Domain
=
"localhost"
;
}
else
{
let
currentDomain
=
window
.
location
.
hostname
;
msg
.
Domain
=
currentDomain
;
}
}
this
.
apipost
(
"/api/Login/UserLogin"
,
msg
,
(
res
)
=>
{
this
.
apipost
(
"/api/Login/UserLogin"
,
msg
,
(
res
)
=>
{
var
jsonData
=
res
.
data
;
var
jsonData
=
res
.
data
;
if
(
jsonData
.
resultCode
==
1
)
{
if
(
jsonData
.
resultCode
==
1
)
{
//登录成功
//登录成功
let
autoLogin
=
this
.
isAutoLogin
?
let
autoLogin
=
this
.
isAutoLogin
?
{
{
acc
:
this
.
account
,
acc
:
this
.
account
,
pwd
:
this
.
pwd
,
pwd
:
this
.
pwd
,
}
:
}
:
...
...
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