Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
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
罗超
SuperMan
Commits
8dbd0b55
Commit
8dbd0b55
authored
Jul 28, 2023
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
签证 一键制单调整
parent
14e9eeb4
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
165 additions
and
34 deletions
+165
-34
OneClickDocumentPreparation.vue
...ents/SalesVisa/components/OneClickDocumentPreparation.vue
+165
-34
No files found.
src/components/SalesVisa/components/OneClickDocumentPreparation.vue
View file @
8dbd0b55
<
template
>
<
template
>
<el-dialog
title=
"一键制单"
width=
"10
00
px"
:visible
.
sync=
"showState"
center
@
close=
"close"
<el-dialog
title=
"一键制单"
width=
"10
28
px"
:visible
.
sync=
"showState"
center
@
close=
"close"
:close-on-click-modal=
"false"
>
:close-on-click-modal=
"false"
>
<div
class=
"title_box"
>
<div
class=
"title_box"
>
<p
style=
"font-size: 16px;font-weight: bold;"
>
{{
visaProduct
}}
</p>
<p
style=
"font-size: 16px;font-weight: bold;"
>
{{
visaProduct
}}
</p>
...
@@ -30,11 +30,11 @@
...
@@ -30,11 +30,11 @@
</el-checkbox-group>
</el-checkbox-group>
</
template
>
</
template
>
<
template
v-if=
"searchList&&searchList.length>0"
>
<
template
v-if=
"searchList&&searchList.length>0"
>
<span
style=
"margin-left:
5
0px;"
><span
style=
"color: red;"
>
*
</span>
签证OP:
</span>
<span
style=
"margin-left:
2
0px;"
><span
style=
"color: red;"
>
*
</span>
签证OP:
</span>
<el-select
<el-select
filterable
filterable
v-model=
"addMsg.AuditId"
v-model=
"addMsg.AuditId"
placeholder=
"签证OP"
style=
"margin-left: 10px;"
>
placeholder=
"签证OP"
style=
"margin-left: 10px;
width: 169px;
"
>
<el-option
<el-option
v-for=
"item in searchList"
v-for=
"item in searchList"
:key=
"item.empId"
:key=
"item.empId"
...
@@ -43,6 +43,22 @@
...
@@ -43,6 +43,22 @@
</el-option>
</el-option>
</el-select>
</el-select>
</
template
>
</
template
>
<span
style=
"margin-left: 20px;"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"只有签证、保险、服务共用凭证"
placement=
"top"
>
<i
class=
"el-icon-info"
style=
"margin-left: 2px;cursor: pointer;"
></i>
</el-tooltip>
开启凭证共用:
</span>
<el-switch
style=
"margin-left: 15px;"
v-model=
"SwitchStatus"
@
change=
"getVisaType"
>
</el-switch>
</div>
<div
style=
"margin-bottom: 10px;"
>
</div>
</div>
<div
class=
"table-box"
>
<div
class=
"table-box"
>
<el-table
<el-table
...
@@ -126,6 +142,7 @@
...
@@ -126,6 +142,7 @@
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<!--
<el-table-column label="凭证" width="200">
<el-table-column label="凭证" width="200">
<template slot-scope="scope">
<template slot-scope="scope">
<div class="img-box-form">
<div class="img-box-form">
...
@@ -153,13 +170,12 @@
...
@@ -153,13 +170,12 @@
<el-upload drag :http-request="(file)=>uploadFileBtn(file,scope.$index)" :multiple="true"
<el-upload drag :http-request="(file)=>uploadFileBtn(file,scope.$index)" :multiple="true"
:show-file-list="false" action="">
:show-file-list="false" action="">
<i class="el-icon-plus avatar-uploader-icon"></i>
<i class="el-icon-plus avatar-uploader-icon"></i>
<!-- <div class="el-upload__text">上传</div> -->
</el-upload>
</el-upload>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
</el-table-column>
</el-table-column>
-->
<el-table-column
label=
"是否月结"
width=
"80"
>
<el-table-column
label=
"是否月结"
width=
"80"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-tooltip
v-if=
"scope.row.IsMonthly"
content=
"否/是"
placement=
"top"
>
<el-tooltip
v-if=
"scope.row.IsMonthly"
content=
"否/是"
placement=
"top"
>
...
@@ -173,6 +189,46 @@
...
@@ -173,6 +189,46 @@
</el-table-column>
</el-table-column>
</el-table>
</el-table>
</div>
</div>
<div
style=
"margin-top: 10px;display: flex;flex-wrap: wrap;"
v-if=
"addMsg.detailList&&addMsg.detailList.length>0"
>
<div
v-for=
"(item,index) in proofList"
class=
"table-box proofList-box"
>
<el-tag
:key=
"index"
size=
"mini"
>
{{item.Id}}
</el-tag>
<div
class=
"d-flex"
>
<div
class=
"img-box-form"
v-for=
"(file,fIndex) in item.vorcherInos"
style=
"margin-left: 5px;"
>
<span>
{{file.SetUpTypeStr.slice(0,2)}}凭证:
</span>
<div
v-if=
"file.Type==3"
class=
"img-box"
>
<div
style=
"width:100%;height:100%;"
>
<el-image
style=
"width: 100%; height: 100%"
:src=
"file.Url?file.Url:file.Content"
:preview-src-list=
"[file.Url?file.Url:file.Content]"
>
</el-image>
</div>
<span
class=
"iconfont icon-guanbi1 delete"
@
click=
"deleteUploadFile(index,fIndex)"
></span>
</div>
<div
v-if=
"file.Type==1"
class=
"img-box"
>
<div
class=
"iconfont _wenjian_P"
:class=
"file.Content.substring(file.Content.lastIndexOf('.')+1,file.Content.length).toUpperCase()=='PDF'? 'icon-pdf' : 'icon-excel'"
@
click=
"showUpLoadFile(file.Content)"
>
</div>
<span
class=
"iconfont icon-guanbi1 delete"
@
click=
"deleteUploadFile(index,fIndex)"
></span>
</div>
<div
class=
"_fujian_box"
style=
"margin-left: 15px;margin-right: 5px;"
>
<div
class=
"_pic_upload"
>
<el-upload
drag
:http-request=
"(file)=>uploadFileBtn(file,index,fIndex)"
:multiple=
"true"
:show-file-list=
"false"
action=
""
>
<i
class=
"el-icon-plus avatar-uploader-icon"
></i>
</el-upload>
</div>
</div>
</div>
</div>
</div>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
style=
"color: red;text-align: right;font-size: 13px;margin-bottom: 5px;"
>
<div
style=
"color: red;text-align: right;font-size: 13px;margin-bottom: 5px;"
>
...
@@ -187,12 +243,15 @@
...
@@ -187,12 +243,15 @@
<
script
>
<
script
>
export
default
{
export
default
{
props
:
[
"visaProduct"
,
"multipleSelection"
,
"isShow"
,
"obj"
],
props
:
[
"visaProduct"
,
"multipleSelection"
,
"isShow"
,],
components
:
{
components
:
{
},
},
data
()
{
data
()
{
return
{
return
{
newProofList
:
[],
proofList
:[],
SwitchStatus
:
false
,
dataList
:
[],
dataList
:
[],
showState
:
true
,
showState
:
true
,
loading
:
false
,
loading
:
false
,
...
@@ -203,16 +262,17 @@ export default {
...
@@ -203,16 +262,17 @@ export default {
newAddMsg
:{
newAddMsg
:{
OrderIdStr
:
''
,
OrderIdStr
:
''
,
AuditId
:
''
,
AuditId
:
''
,
detailList
:[]
detailList
:[],
vorcherInos
:[]
},
},
addMsg
:{
addMsg
:{
OrderIdStr
:
''
,
OrderIdStr
:
''
,
AuditId
:
''
,
AuditId
:
''
,
detailList
:[]
detailList
:[],
vorcherInos
:[]
},
},
ClientTypeList
:
[],
ClientTypeList
:
[],
ClientAccountListS
:
[],
ClientAccountListS
:
[],
ClientAccountList
:
[],
IsPublicList
:[
IsPublicList
:[
{
Name
:
'公账'
,
ID
:
1
},
{
Name
:
'公账'
,
ID
:
1
},
{
Name
:
'私账'
,
ID
:
0
},
{
Name
:
'私账'
,
ID
:
0
},
...
@@ -227,13 +287,19 @@ export default {
...
@@ -227,13 +287,19 @@ export default {
}
}
},
},
watch
:
{
watch
:
{
obj
:
{
multipleSelection
:
{
handler
(
newValue
,
onldValue
)
{
handler
(
newValue
,
onldValue
)
{
this
.
proofList
=
JSON
.
parse
(
JSON
.
stringify
(
newValue
))
},
let
listArr
=
function
(
arr
){
deep
:
true
,
arr
.
forEach
(
x
=>
{
},
x
.
vorcherInos
=
[]
})
}
listArr
(
this
.
proofList
)
},
deep
:
true
,
immediate
:
true
}
},
},
mounted
()
{
mounted
()
{
this
.
visa_GetVisaProductInfo_V1
()
this
.
visa_GetVisaProductInfo_V1
()
...
@@ -246,6 +312,9 @@ export default {
...
@@ -246,6 +312,9 @@ export default {
},
200
)
},
200
)
},
},
methods
:
{
methods
:
{
handleClear
(){
},
getPeopleNum
(){
getPeopleNum
(){
let
PeopleNum
=
0
let
PeopleNum
=
0
this
.
multipleSelection
.
forEach
(
x
=>
{
this
.
multipleSelection
.
forEach
(
x
=>
{
...
@@ -298,7 +367,8 @@ export default {
...
@@ -298,7 +367,8 @@ export default {
let
msg
=
{
let
msg
=
{
OrderIdStr
:
this
.
addMsg
.
OrderIdStr
,
OrderIdStr
:
this
.
addMsg
.
OrderIdStr
,
AuditId
:
this
.
addMsg
.
AuditId
,
AuditId
:
this
.
addMsg
.
AuditId
,
detailList
:
[]
detailList
:
[],
vorcherInos
:
[]
}
}
this
.
addMsg
.
detailList
.
forEach
(
x
=>
{
this
.
addMsg
.
detailList
.
forEach
(
x
=>
{
let
obj
=
{
let
obj
=
{
...
@@ -308,10 +378,22 @@ export default {
...
@@ -308,10 +378,22 @@ export default {
CurrencyId
:
x
.
CurrencyId
,
CurrencyId
:
x
.
CurrencyId
,
IsPublic
:
x
.
IsPublic
,
IsPublic
:
x
.
IsPublic
,
ClientID
:
x
.
ClientID
,
ClientID
:
x
.
ClientID
,
vorcherInos
:
x
.
vorcherInos
//
vorcherInos: x.vorcherInos
}
}
msg
.
detailList
.
push
(
obj
)
msg
.
detailList
.
push
(
obj
)
})
})
this
.
proofList
.
forEach
(
x
=>
{
x
.
vorcherInos
.
forEach
(
y
=>
{
let
obj
=
{
VisaOrder
:
x
.
Id
,
VisaType
:
y
.
VisaType
,
Type
:
y
.
Type
,
Content
:
y
.
Content
,
Url
:
y
.
Url
,
}
msg
.
vorcherInos
.
push
(
obj
)
})
})
this
.
submitLoading
=
true
this
.
submitLoading
=
true
this
.
apipost
(
"Financial_post_SetVisaBathCreateFinance"
,
msg
,
res
=>
{
this
.
apipost
(
"Financial_post_SetVisaBathCreateFinance"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
if
(
res
.
data
.
resultCode
===
1
)
{
...
@@ -322,7 +404,7 @@ export default {
...
@@ -322,7 +404,7 @@ export default {
this
.
submitLoading
=
false
this
.
submitLoading
=
false
},
null
)
},
null
)
},
},
uploadFileBtn
(
file
,
index
)
{
//上传
uploadFileBtn
(
file
,
index
,
fIndex
)
{
//上传
if
(
file
.
file
.
size
>
1024
*
1024
*
10
)
{
if
(
file
.
file
.
size
>
1024
*
1024
*
10
)
{
this
.
$message
.
warning
(
'文件大小不能超过10M!'
)
this
.
$message
.
warning
(
'文件大小不能超过10M!'
)
return
return
...
@@ -353,16 +435,24 @@ export default {
...
@@ -353,16 +435,24 @@ export default {
this
.
$message
.
info
(
'上传中...'
)
this
.
$message
.
info
(
'上传中...'
)
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
let
fileSize
=
file
.
file
.
size
<
1024
?
file
.
file
.
size
:
(
file
.
file
.
size
/
1024
).
toFixed
(
0
);
let
fileSize
=
file
.
file
.
size
<
1024
?
file
.
file
.
size
:
(
file
.
file
.
size
/
1024
).
toFixed
(
0
);
this
.
addMsg
.
detailList
[
index
].
vorcherInos
.
push
({
this
.
proofList
.
forEach
((
y
,
indexs
)
=>
{
Type
:
fileTypeNumber
,
if
(
indexs
==
index
){
Content
:
x
.
data
.
FilePath
,
y
.
vorcherInos
.
forEach
((
z
,
i
)
=>
{
Url
:
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
,
if
(
i
==
fIndex
){
});
z
.
Type
=
fileTypeNumber
,
z
.
Content
=
x
.
data
.
FilePath
,
z
.
Url
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
}
})
}
})
this
.
$message
.
success
(
'上传成功'
);
this
.
$message
.
success
(
'上传成功'
);
this
.
$forceUpdate
()
});
});
},
},
deleteUploadFile
(
index
,
i
)
{
// 删除上传文件
deleteUploadFile
(
index
,
i
)
{
// 删除上传文件
this
.
addMsg
.
detail
List
[
index
].
vorcherInos
.
splice
(
i
,
1
);
this
.
proof
List
[
index
].
vorcherInos
.
splice
(
i
,
1
);
},
},
showUpLoadFile
(
i
)
{
// 预览上传文件
showUpLoadFile
(
i
)
{
// 预览上传文件
if
(
i
.
substring
(
i
.
lastIndexOf
(
'.'
)
+
1
,
i
.
length
).
toUpperCase
()
==
'PDF'
)
{
if
(
i
.
substring
(
i
.
lastIndexOf
(
'.'
)
+
1
,
i
.
length
).
toUpperCase
()
==
'PDF'
)
{
...
@@ -374,6 +464,7 @@ export default {
...
@@ -374,6 +464,7 @@ export default {
// 组装已选类型数据
// 组装已选类型数据
getVisaType
(){
getVisaType
(){
this
.
newAddMsg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
addMsg
))
this
.
newAddMsg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
addMsg
))
this
.
newProofList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
proofList
))
this
.
addMsg
.
detailList
=
[]
this
.
addMsg
.
detailList
=
[]
this
.
visaDataList
.
forEach
(
x
=>
{
this
.
visaDataList
.
forEach
(
x
=>
{
this
.
checkedCities
.
forEach
(
y
=>
{
this
.
checkedCities
.
forEach
(
y
=>
{
...
@@ -390,18 +481,54 @@ export default {
...
@@ -390,18 +481,54 @@ export default {
ClientID
:
''
,
ClientID
:
''
,
OtherType
:
1
,
OtherType
:
1
,
ClientAccountList
:
[],
ClientAccountList
:
[],
vorcherInos
:[],
//
vorcherInos:[],
loading
:
false
loading
:
false
}
}
this
.
addMsg
.
detailList
.
push
(
obj
)
this
.
addMsg
.
detailList
.
push
(
obj
)
}
}
})
})
})
})
this
.
proofList
.
forEach
(
y
=>
{
y
.
vorcherInos
=
[]
this
.
addMsg
.
detailList
.
forEach
(
x
=>
{
let
obj
=
{
VisaType
:
x
.
TemplateId
,
SetUpTypeStr
:
x
.
SetUpTypeStr
,
Type
:
null
,
Content
:
null
,
Url
:
null
}
if
(
this
.
SwitchStatus
==
true
&&
(
x
.
SetUpTypeStr
==
'签证费'
||
x
.
SetUpTypeStr
==
'快递费'
)){
y
.
vorcherInos
.
push
(
obj
)
}
if
(
!
this
.
SwitchStatus
){
y
.
vorcherInos
.
push
(
obj
)
}
})
})
if
(
this
.
newAddMsg
&&
this
.
newAddMsg
.
detailList
&&
this
.
newAddMsg
.
detailList
.
length
>
0
){
if
(
this
.
newAddMsg
&&
this
.
newAddMsg
.
detailList
&&
this
.
newAddMsg
.
detailList
.
length
>
0
){
for
(
let
i
=
0
;
i
<
this
.
addMsg
.
detailList
.
length
;
i
++
){
for
(
let
i
=
0
;
i
<
this
.
addMsg
.
detailList
.
length
;
i
++
){
for
(
let
j
=
0
;
j
<
this
.
newAddMsg
.
detailList
.
length
;
j
++
){
for
(
let
j
=
0
;
j
<
this
.
newAddMsg
.
detailList
.
length
;
j
++
){
if
(
this
.
addMsg
.
detailList
[
i
].
Id
==
this
.
newAddMsg
.
detailList
[
j
].
Id
){
if
(
this
.
addMsg
.
detailList
[
i
].
Id
==
this
.
newAddMsg
.
detailList
[
j
].
Id
){
this
.
addMsg
.
detailList
[
i
]
=
this
.
newAddMsg
.
detailList
[
j
]
this
.
addMsg
.
detailList
[
i
]
=
this
.
newAddMsg
.
detailList
[
j
]
}
}
}
}
if
(
this
.
newProofList
&&
this
.
newProofList
.
length
>
0
){
for
(
let
i
=
0
;
i
<
this
.
proofList
.
length
;
i
++
){
for
(
let
j
=
0
;
j
<
this
.
newProofList
.
length
;
j
++
){
if
(
this
.
proofList
[
i
].
Id
==
this
.
newProofList
[
j
].
Id
){
if
(
this
.
newProofList
[
j
].
vorcherInos
&&
this
.
newProofList
[
j
].
vorcherInos
.
length
>
0
&&
this
.
proofList
[
j
].
vorcherInos
&&
this
.
proofList
[
j
].
vorcherInos
.
length
>
0
){
for
(
let
x
=
0
;
x
<
this
.
proofList
[
i
].
vorcherInos
.
length
;
x
++
){
for
(
let
y
=
0
;
y
<
this
.
newProofList
[
j
].
vorcherInos
.
length
;
y
++
){
if
(
this
.
proofList
[
i
].
vorcherInos
[
x
].
VisaType
==
this
.
newProofList
[
j
].
vorcherInos
[
y
].
VisaType
){
this
.
proofList
[
i
].
vorcherInos
[
x
]
=
this
.
newProofList
[
j
].
vorcherInos
[
y
]
}
}
}
}
}
}
}
}
}
}
...
@@ -409,12 +536,10 @@ export default {
...
@@ -409,12 +536,10 @@ export default {
this
.
$forceUpdate
()
this
.
$forceUpdate
()
},
},
GetVisaSetUpList
(){
GetVisaSetUpList
(){
// this.loadingVisa = true
this
.
apipost
(
this
.
apipost
(
"Financial_post_GetVisaSetUpList"
,
"Financial_post_GetVisaSetUpList"
,
{},
{},
res
=>
{
res
=>
{
// this.loadingVisa = false;
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
visaDataList
=
res
.
data
.
data
;
this
.
visaDataList
=
res
.
data
.
data
;
this
.
cities
=
this
.
visaDataList
.
map
(
x
=>
{
return
x
.
Id
})
this
.
cities
=
this
.
visaDataList
.
map
(
x
=>
{
return
x
.
Id
})
...
@@ -450,9 +575,6 @@ export default {
...
@@ -450,9 +575,6 @@ export default {
ObjID
:
0
,
ObjID
:
0
,
CardNum
:
''
CardNum
:
''
}
}
// if (i >= 0) {
// msg.ID = i;
// }
this
.
addMsg
.
detailList
[
i
].
loading
=
true
this
.
addMsg
.
detailList
[
i
].
loading
=
true
this
.
apipost
(
'financeinfo_post_GetClientAccountList'
,
msg
,
res
=>
{
this
.
apipost
(
'financeinfo_post_GetClientAccountList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
...
@@ -468,7 +590,6 @@ export default {
...
@@ -468,7 +590,6 @@ export default {
}
}
ClientAccountList
.
push
(
obj
)
ClientAccountList
.
push
(
obj
)
})
})
// this.ClientAccountList = ClientAccountList;
this
.
addMsg
.
detailList
[
i
].
ClientAccountList
=
ClientAccountList
this
.
addMsg
.
detailList
[
i
].
ClientAccountList
=
ClientAccountList
this
.
addMsg
.
detailList
[
i
].
ClientID
=
''
this
.
addMsg
.
detailList
[
i
].
ClientID
=
''
this
.
addMsg
.
detailList
[
i
].
loading
=
false
this
.
addMsg
.
detailList
[
i
].
loading
=
false
...
@@ -550,4 +671,14 @@ export default {
...
@@ -550,4 +671,14 @@ export default {
text-align
:
center
;
text-align
:
center
;
color
:
#41D2A1
;
color
:
#41D2A1
;
}
}
.proofList-box
{
display
:
flex
;
margin-left
:
5px
;
margin-bottom
:
3px
;
}
.d-flex
{
max-width
:
318px
;
display
:
flex
;
flex-wrap
:
wrap
;
}
</
style
>
</
style
>
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