Commit 8dbd0b55 authored by youjie's avatar youjie

签证 一键制单调整

parent 14e9eeb4
<template> <template>
<el-dialog title="一键制单" width="1000px" :visible.sync="showState" center @close="close" <el-dialog title="一键制单" width="1028px" :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: 50px;"><span style="color: red;">*</span> 签证OP:</span> <span style="margin-left: 20px;"><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.detailList[index].vorcherInos.splice(i, 1); this.proofList[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>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment