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
>
<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"
>
<div
class=
"title_box"
>
<p
style=
"font-size: 16px;font-weight: bold;"
>
{{
visaProduct
}}
</p>
...
...
@@ -30,11 +30,11 @@
</el-checkbox-group>
</
template
>
<
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
filterable
v-model=
"addMsg.AuditId"
placeholder=
"签证OP"
style=
"margin-left: 10px;"
>
placeholder=
"签证OP"
style=
"margin-left: 10px;
width: 169px;
"
>
<el-option
v-for=
"item in searchList"
:key=
"item.empId"
...
...
@@ -43,6 +43,22 @@
</el-option>
</el-select>
</
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
class=
"table-box"
>
<el-table
...
...
@@ -126,6 +142,7 @@
</div>
</
template
>
</el-table-column>
<!--
<el-table-column label="凭证" width="200">
<template slot-scope="scope">
<div class="img-box-form">
...
...
@@ -153,13 +170,12 @@
<el-upload drag :http-request="(file)=>uploadFileBtn(file,scope.$index)" :multiple="true"
:show-file-list="false" action="">
<i class="el-icon-plus avatar-uploader-icon"></i>
<!-- <div class="el-upload__text">上传</div> -->
</el-upload>
</div>
</div>
</div>
</template>
</el-table-column>
</el-table-column>
-->
<el-table-column
label=
"是否月结"
width=
"80"
>
<
template
slot-scope=
"scope"
>
<el-tooltip
v-if=
"scope.row.IsMonthly"
content=
"否/是"
placement=
"top"
>
...
...
@@ -173,6 +189,46 @@
</el-table-column>
</el-table>
</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
style=
"color: red;text-align: right;font-size: 13px;margin-bottom: 5px;"
>
...
...
@@ -187,12 +243,15 @@
<
script
>
export
default
{
props
:
[
"visaProduct"
,
"multipleSelection"
,
"isShow"
,
"obj"
],
props
:
[
"visaProduct"
,
"multipleSelection"
,
"isShow"
,],
components
:
{
},
data
()
{
return
{
newProofList
:
[],
proofList
:[],
SwitchStatus
:
false
,
dataList
:
[],
showState
:
true
,
loading
:
false
,
...
...
@@ -203,16 +262,17 @@ export default {
newAddMsg
:{
OrderIdStr
:
''
,
AuditId
:
''
,
detailList
:[]
detailList
:[],
vorcherInos
:[]
},
addMsg
:{
OrderIdStr
:
''
,
AuditId
:
''
,
detailList
:[]
detailList
:[],
vorcherInos
:[]
},
ClientTypeList
:
[],
ClientAccountListS
:
[],
ClientAccountList
:
[],
IsPublicList
:[
{
Name
:
'公账'
,
ID
:
1
},
{
Name
:
'私账'
,
ID
:
0
},
...
...
@@ -227,13 +287,19 @@ export default {
}
},
watch
:
{
obj
:
{
handler
(
newValue
,
onldValue
)
{
},
deep
:
true
,
},
multipleSelection
:
{
handler
(
newValue
,
onldValue
)
{
this
.
proofList
=
JSON
.
parse
(
JSON
.
stringify
(
newValue
))
let
listArr
=
function
(
arr
){
arr
.
forEach
(
x
=>
{
x
.
vorcherInos
=
[]
})
}
listArr
(
this
.
proofList
)
},
deep
:
true
,
immediate
:
true
}
},
mounted
()
{
this
.
visa_GetVisaProductInfo_V1
()
...
...
@@ -246,6 +312,9 @@ export default {
},
200
)
},
methods
:
{
handleClear
(){
},
getPeopleNum
(){
let
PeopleNum
=
0
this
.
multipleSelection
.
forEach
(
x
=>
{
...
...
@@ -298,7 +367,8 @@ export default {
let
msg
=
{
OrderIdStr
:
this
.
addMsg
.
OrderIdStr
,
AuditId
:
this
.
addMsg
.
AuditId
,
detailList
:
[]
detailList
:
[],
vorcherInos
:
[]
}
this
.
addMsg
.
detailList
.
forEach
(
x
=>
{
let
obj
=
{
...
...
@@ -308,10 +378,22 @@ export default {
CurrencyId
:
x
.
CurrencyId
,
IsPublic
:
x
.
IsPublic
,
ClientID
:
x
.
ClientID
,
vorcherInos
:
x
.
vorcherInos
//
vorcherInos: x.vorcherInos
}
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
.
apipost
(
"Financial_post_SetVisaBathCreateFinance"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
...
...
@@ -322,7 +404,7 @@ export default {
this
.
submitLoading
=
false
},
null
)
},
uploadFileBtn
(
file
,
index
)
{
//上传
uploadFileBtn
(
file
,
index
,
fIndex
)
{
//上传
if
(
file
.
file
.
size
>
1024
*
1024
*
10
)
{
this
.
$message
.
warning
(
'文件大小不能超过10M!'
)
return
...
...
@@ -353,16 +435,24 @@ export default {
this
.
$message
.
info
(
'上传中...'
)
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
let
fileSize
=
file
.
file
.
size
<
1024
?
file
.
file
.
size
:
(
file
.
file
.
size
/
1024
).
toFixed
(
0
);
this
.
addMsg
.
detailList
[
index
].
vorcherInos
.
push
({
Type
:
fileTypeNumber
,
Content
:
x
.
data
.
FilePath
,
Url
:
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
,
});
this
.
proofList
.
forEach
((
y
,
indexs
)
=>
{
if
(
indexs
==
index
){
y
.
vorcherInos
.
forEach
((
z
,
i
)
=>
{
if
(
i
==
fIndex
){
z
.
Type
=
fileTypeNumber
,
z
.
Content
=
x
.
data
.
FilePath
,
z
.
Url
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
}
})
}
})
this
.
$message
.
success
(
'上传成功'
);
this
.
$forceUpdate
()
});
},
deleteUploadFile
(
index
,
i
)
{
// 删除上传文件
this
.
addMsg
.
detail
List
[
index
].
vorcherInos
.
splice
(
i
,
1
);
this
.
proof
List
[
index
].
vorcherInos
.
splice
(
i
,
1
);
},
showUpLoadFile
(
i
)
{
// 预览上传文件
if
(
i
.
substring
(
i
.
lastIndexOf
(
'.'
)
+
1
,
i
.
length
).
toUpperCase
()
==
'PDF'
)
{
...
...
@@ -374,6 +464,7 @@ export default {
// 组装已选类型数据
getVisaType
(){
this
.
newAddMsg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
addMsg
))
this
.
newProofList
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
proofList
))
this
.
addMsg
.
detailList
=
[]
this
.
visaDataList
.
forEach
(
x
=>
{
this
.
checkedCities
.
forEach
(
y
=>
{
...
...
@@ -390,18 +481,54 @@ export default {
ClientID
:
''
,
OtherType
:
1
,
ClientAccountList
:
[],
vorcherInos
:[],
//
vorcherInos:[],
loading
:
false
}
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
){
for
(
let
i
=
0
;
i
<
this
.
addMsg
.
detailList
.
length
;
i
++
){
for
(
let
j
=
0
;
j
<
this
.
newAddMsg
.
detailList
.
length
;
j
++
){
if
(
this
.
addMsg
.
detailList
[
i
].
Id
==
this
.
newAddMsg
.
detailList
[
j
].
Id
){
this
.
addMsg
.
detailList
[
i
]
=
this
.
newAddMsg
.
detailList
[
j
]
if
(
this
.
addMsg
.
detailList
[
i
].
Id
==
this
.
newAddMsg
.
detailList
[
j
].
Id
){
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 {
this
.
$forceUpdate
()
},
GetVisaSetUpList
(){
// this.loadingVisa = true
this
.
apipost
(
"Financial_post_GetVisaSetUpList"
,
{},
res
=>
{
// this.loadingVisa = false;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
visaDataList
=
res
.
data
.
data
;
this
.
cities
=
this
.
visaDataList
.
map
(
x
=>
{
return
x
.
Id
})
...
...
@@ -450,9 +575,6 @@ export default {
ObjID
:
0
,
CardNum
:
''
}
// if (i >= 0) {
// msg.ID = i;
// }
this
.
addMsg
.
detailList
[
i
].
loading
=
true
this
.
apipost
(
'financeinfo_post_GetClientAccountList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
...
...
@@ -468,7 +590,6 @@ export default {
}
ClientAccountList
.
push
(
obj
)
})
// this.ClientAccountList = ClientAccountList;
this
.
addMsg
.
detailList
[
i
].
ClientAccountList
=
ClientAccountList
this
.
addMsg
.
detailList
[
i
].
ClientID
=
''
this
.
addMsg
.
detailList
[
i
].
loading
=
false
...
...
@@ -550,4 +671,14 @@ export default {
text-align
:
center
;
color
:
#41D2A1
;
}
.proofList-box
{
display
:
flex
;
margin-left
:
5px
;
margin-bottom
:
3px
;
}
.d-flex
{
max-width
:
318px
;
display
:
flex
;
flex-wrap
:
wrap
;
}
</
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