Selaa lähdekoodia

05301454lhjqtkx

liuhj 10 kuukautta sitten
vanhempi
commit
1af158e1a7

+ 0 - 7
src/components/OP/EntryDetails.vue

@@ -1662,13 +1662,6 @@ export default {
             }
             var url = "/api/Groups/PostEnterExitCostDownload"
             var that = this
-            var data={
-                    portType: 1,
-                    diId: that.value,
-                    exportType: val,
-                    subTypeId:subTypeId
-                }
-            console.log(JSON.stringify(data))
             this.$axios({
                 method: 'post',
                 url: url,

+ 78 - 21
src/components/OP/OpDecreasePayments.vue

@@ -1,5 +1,5 @@
 <template>
-    <div class="car_add">
+    <div class="car_add" v-loading.fullscreen.lock="fullscreenLoading">
         <div>
             <div class="communal-title">
                 <div>{{ title }}</div>
@@ -119,6 +119,16 @@
                             </el-select>
                         </el-form-item>
                     </div>
+                    <div style="width: 394px;">
+                        <el-form-item label="费用总价:" label-width="160px">
+                            <el-input-number disabled style="width:56%" :precision="2" placeholder="费用总价" v-model="DecreasePaymentsData.feeTotal" :controls='false'>
+                            </el-input-number>
+                            <el-select disabled v-model="DecreasePaymentsData.currency" style="width: 40%;">
+                                <el-option v-for="item in rateList" :key="item.currencyId" :label="item.currencyCode"
+                                :value="item.currencyId"></el-option>
+                            </el-select>
+                        </el-form-item>
+                    </div>
                     <div style="width: 394px;">
                         <el-form-item label="支付方式:" prop="payDId" label-width="160px">
                             <el-select v-model="DecreasePaymentsData.payDId" placeholder="支付方式" style="width: 100%;">
@@ -128,15 +138,42 @@
                         </el-form-item>
                     </div>
                     <div style="width: 394px;">
-                        <el-form-item label="费用总价:" label-width="160px">
-                            <el-input-number disabled style="width:56%" :precision="2" placeholder="费用总价" v-model="DecreasePaymentsData.feeTotal" :controls='false'>
-                            </el-input-number>
-                            <el-select disabled v-model="DecreasePaymentsData.currency" style="width: 40%;">
-                                <el-option v-for="item in rateList" :key="item.currencyId" :label="item.currencyCode"
-                                    :value="item.currencyId"></el-option>
-                            </el-select>
+                        <el-form-item label="社交账号:" prop="supplierSocialAccount" label-width="160px">
+                            <el-input placeholder="社交账号" v-model="DecreasePaymentsData.supplierSocialAccount">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 394px;">
+                        <el-form-item label="供应商地址:" prop="supplierAddress" label-width="160px">
+                            <el-input placeholder="供应商地址" v-model="DecreasePaymentsData.supplierAddress">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 394px;">
+                        <el-form-item label="邮箱:" prop="supplierEmail" label-width="160px">
+                            <el-input placeholder="邮箱" v-model="DecreasePaymentsData.supplierEmail">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 394px;">
+                        <el-form-item label="开户行:" label-width="160px">
+                            <el-input placeholder="开户行" v-model="DecreasePaymentsData.otherBankName">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 394px;">
+                        <el-form-item label="银行卡号:"  label-width="160px">
+                            <el-input placeholder="银行卡号" v-model="DecreasePaymentsData.otherSideNo">
+                            </el-input>
+                        </el-form-item>
+                    </div>
+                    <div style="width: 394px;">
+                        <el-form-item label="对方姓名:"  label-width="160px">
+                            <el-input placeholder="对方姓名" v-model="DecreasePaymentsData.otherSideName">
+                            </el-input>
                         </el-form-item>
                     </div>
+                    
                 </div>
                 <div style="display: flex;">
                     <div>
@@ -176,6 +213,7 @@
 </template>
 <script>
 import { Decimal } from 'decimal.js'
+import {debounce} from '../../store/statice'
 export default {
     data() {
         return {
@@ -212,6 +250,12 @@ export default {
                 supplierTypeId:'',//供应商类型
                 quantity:0,//数量
                 feeTotal:0,//总计
+                supplierSocialAccount:'',//社交账号
+                supplierAddress:'',//供应商地址
+                supplierEmail:'',//邮箱
+                otherBankName:'',//开户行
+                otherSideNo:'',//银行卡号
+                otherSideName:'',//对方姓名
             },
             IsAuditGM: 0,
             Decrease: {},
@@ -251,12 +295,22 @@ export default {
                 supplierArea: [
                     { required: true, message: '请选择供应商地区', trigger: 'change' }
                 ],
+                supplierSocialAccount: [
+                    { required: true, message: '请输入联系人', trigger: 'blur' }
+                ],
+                supplierAddress: [
+                    { required: true, message: '请输入联系人', trigger: 'blur' }
+                ],
+                supplierEmail: [
+                    { required: true, message: '请输入联系人', trigger: 'blur' }
+                ],
 
             },
             rateList: [],
             suppliertype:[],
             supplierRegion:[],
             eventspd:true,
+            fullscreenLoading:false,
         }   
     },
 
@@ -331,6 +385,12 @@ export default {
                     that.DecreasePaymentsData.filePath = that.Decrease.filePath
                     that.projectName = that.Decrease.filePath
                     that.DecreasePaymentsData.remark = that.Decrease.remark
+                    that.DecreasePaymentsData.supplierSocialAccount = that.Decrease.supplierSocialAccount
+                    that.DecreasePaymentsData.supplierAddress = that.Decrease.supplierAddress
+                    that.DecreasePaymentsData.supplierEmail = that.Decrease.supplierEmail
+                    that.DecreasePaymentsData.otherBankName = that.Decrease.otherBankName
+                    that.DecreasePaymentsData.otherSideNo = that.Decrease.otherSideNo
+                    that.DecreasePaymentsData.otherSideName = that.Decrease.otherSideName
                     that.IsAuditGM = that.Decrease.isAuditGM
                     if (that.Decrease.filePath != null && that.Decrease.filePath != undefined && that.Decrease.filePath != "") {
                         that.uploadFiles.push({
@@ -338,13 +398,13 @@ export default {
                             url: 'http://132.232.92.186:24/Office/GrpFile/团组增减款项相关文件/',
                         })
                     }
-
                 }
-
             })
         },
         //点击保存事件
-        addBtn() {
+        addBtn:debounce(function() {
+            this.fullscreenLoading=true;
+            this.DecreasePaymentsData.supplierTypeId=this.eventspd?this.DecreasePaymentsData.supplierTypeId:0;
             if (this.IsAuditGM == 1) {
                 this.$message.error('已通过审核,不可修改!');
             } else {
@@ -390,11 +450,12 @@ export default {
                                         message: res.data.msg,
                                         type: 'success'
                                     });
-                                    that.loading = true;
                                     setTimeout(() => {
+                                        that.fullscreenLoading=false;
                                         that.quxiao()
                                     }, 1000);
                                 } else {
+                                    that.fullscreenLoading=false;
                                     that.$message.error(res.data.msg);
                                 }
                             })
@@ -439,9 +500,11 @@ export default {
                                         });
                                         that.loading = true;
                                         setTimeout(() => {
+                                            that.fullscreenLoading=false;
                                             that.$router.push('/home/DecreasePayments')
-                                        }, 3000);
+                                        }, 1000);
                                     } else {
+                                        that.fullscreenLoading=false;
                                         that.$message.error(res.data.msg);
                                     }
                                 })
@@ -457,7 +520,7 @@ export default {
 
             }
             // 此时必填完成,做保存后的业务操作
-        },
+        },1000,true),
         //取消
         quxiao(){
             this.$router.push({
@@ -473,22 +536,18 @@ export default {
         },
         DecreasePaymentsChange() {
             this.QueryRate();
-            console.log(this.delegationInfo);
             for (let index = 0; index < this.delegationInfoList.length; index++) {
                 if (this.delegationInfoList[index].id == parseInt(this.DiIdSelect)) {
                     this.delegationInfo = this.delegationInfoList[index];
-                    console.log(this.delegationInfo);
                     if(this.delegationInfo.teamDid==302||this.delegationInfo.teamDid==691||this.delegationInfo.teamDid==762||this.delegationInfo.teamDid==1047){
                         this.eventspd=true
                     }else{
                         this.eventspd=false
                     }
-                    console.log(this.eventspd);
                     break;
                 }
             }
         },
-
         //上传
         // 文件超出限制
         exceed(files, fileList) {
@@ -497,7 +556,6 @@ export default {
                 } 个文件,请取消要替换的文件`
             );
         },
-
         //文件上传成功时的钩子
         upLoadSuccess(response, file, fileList) {
             if (response.code == 200) {
@@ -544,9 +602,8 @@ export default {
                         that.$message.error(res.data.msg);
                     }
                 })
-                console.log("上传成功");
             } else {
-                console.log("保存失败");
+                that.$message.error(res.data.msg);
             }
 
         },

+ 354 - 0
src/components/OP/downloadpage.vue

@@ -0,0 +1,354 @@
+<template>
+    <div class="downloadpage-all">
+        <div class="downloadpage-Groups">
+            <el-select v-model="diIdselect" clearable filterable placeholder="团组选择" style="width: 100%;">
+                <el-option v-for="item in delegationInfoList" :key="item.rowNumber" :label="item.groupName"
+                    :value="item.id">
+                </el-option>
+            </el-select>
+        </div>
+        <div class="downloadpage-ps">PS:请先选择团组再下载!</div>
+        <div class="downloadpage-table">
+            <div class="downloadpage-table-tr">
+                <div class="downloadpage-table-tb tb-name">OP行程单</div> 
+                <div class="downloadpage-table-tb tb-type">WORD</div> 
+                <div class="downloadpage-table-tb tb-Language">中文</div> 
+                <div class="downloadpage-table-tb tb-download">
+                    <el-button size="small" @click="dcwzxc" type="primary">下载</el-button>
+                </div> 
+            </div>
+            <div class="downloadpage-table-tr">
+                <div class="downloadpage-table-tb tb-name">OP行程单</div> 
+                <div class="downloadpage-table-tb tb-type">PDF</div> 
+                <div class="downloadpage-table-tb tb-Language">中文</div> 
+                <div class="downloadpage-table-tb tb-download">
+                    <el-button size="small" type="primary">下载</el-button>
+                </div> 
+            </div>
+            <div class="downloadpage-table-tr">
+                <div class="downloadpage-table-tb tb-name">团组名单</div> 
+                <div class="downloadpage-table-tb tb-type">WORD</div> 
+                <div class="downloadpage-table-tb tb-Language">中文</div> 
+                <div class="downloadpage-table-tb tb-download">
+                    <el-button size="small" @click="Exportlist(0)" type="primary">下载</el-button>
+                </div> 
+            </div>
+            <div class="downloadpage-table-tr">
+                <div class="downloadpage-table-tb tb-name">团组名单</div> 
+                <div class="downloadpage-table-tb tb-type">WORD</div> 
+                <div class="downloadpage-table-tb tb-Language">英文</div> 
+                <div class="downloadpage-table-tb tb-download">
+                    <el-button size="small"  @click="Exportlist(1)" type="primary">下载</el-button>
+                </div> 
+            </div>
+            <div class="downloadpage-table-tr">
+                <div class="downloadpage-table-tb tb-name">导出倒推表</div> 
+                <div class="downloadpage-table-tb tb-type">WORD</div> 
+                <div class="downloadpage-table-tb tb-Language">中文</div> 
+                <div class="downloadpage-table-tb tb-download">
+                    <el-button size="small" @click="PostInvertedListFileDownload" type="primary">下载</el-button>
+                </div> 
+            </div>
+            <div class="downloadpage-table-tr">
+                <div class="downloadpage-table-tb tb-name">出国出境经费审核计算明细</div> 
+                <div class="downloadpage-table-tb tb-type">WORD</div> 
+                <div class="downloadpage-table-tb tb-Language">中文</div> 
+                <div class="downloadpage-table-tb tb-download">
+                    <el-button size="small" @click="eptschedule(1,1005)" type="primary">下载</el-button>
+                </div> 
+            </div>
+            <div class="downloadpage-table-tr">
+                <div class="downloadpage-table-tb tb-name">因公出国(境)经费测算明细表</div> 
+                <div class="downloadpage-table-tb tb-type">WORD</div> 
+                <div class="downloadpage-table-tb tb-Language">中文</div> 
+                <div class="downloadpage-table-tb tb-download">
+                    <el-button size="small" @click="eptschedule(1,1006)" type="primary">下载</el-button>
+                </div> 
+            </div>
+            <div class="downloadpage-table-tr">
+                <div class="downloadpage-table-tb tb-name">四川省商务厅出国经费财政先行审核表</div> 
+                <div class="downloadpage-table-tb tb-type">EXCEL</div> 
+                <div class="downloadpage-table-tb tb-Language">中文</div> 
+                <div class="downloadpage-table-tb tb-download">
+                    <el-button size="small" @click="eptschedule(1,1007)" type="primary">下载</el-button>
+                </div> 
+            </div>
+            <div class="downloadpage-table-tr">
+                <div class="downloadpage-table-tb tb-name">成都市因公临时出国任务和预算审批意见表(外专培训团专用)</div> 
+                <div class="downloadpage-table-tb tb-type">WORD</div> 
+                <div class="downloadpage-table-tb tb-Language">中文</div> 
+                <div class="downloadpage-table-tb tb-download">
+                    <el-button size="small" @click="eptschedule(1,1066)" type="primary">下载</el-button>
+                </div> 
+            </div>
+            <div class="downloadpage-table-tr">
+                <div class="downloadpage-table-tb tb-name">派员单位出(境)任务和预算审批意见表</div> 
+                <div class="downloadpage-table-tb tb-type">WORD</div> 
+                <div class="downloadpage-table-tb tb-Language">中文</div> 
+                <div class="downloadpage-table-tb tb-download">
+                    <el-button size="small" @click="eptschedule(2,1008)" type="primary">下载</el-button>
+                </div> 
+            </div>
+            <div class="downloadpage-table-tr">
+                <div class="downloadpage-table-tb tb-name">省级单位出(境)经费报销单</div> 
+                <div class="downloadpage-table-tb tb-type">WORD</div> 
+                <div class="downloadpage-table-tb tb-Language">中文</div> 
+                <div class="downloadpage-table-tb tb-download">
+                    <el-button size="small" @click="eptschedule(2,1009)" type="primary">下载</el-button>
+                </div> 
+            </div>
+        </div>
+        <div class="downloadpage-btn-box">
+            <!-- <el-button class="downloadpage-btn" type="primary">主要按钮</el-button>
+            <el-button class="downloadpage-btn" type="primary">主要按钮</el-button>
+            <el-button class="downloadpage-btn" type="primary">主要按钮</el-button>
+            <el-button class="downloadpage-btn" type="primary">主要按钮</el-button>
+            <el-button class="downloadpage-btn" type="primary">主要按钮</el-button>
+            <el-button class="downloadpage-btn" type="primary">主要按钮</el-button>
+            <el-button class="downloadpage-btn" type="primary">主要按钮</el-button>
+            <el-button class="downloadpage-btn" type="primary">主要按钮</el-button>
+            <el-button class="downloadpage-btn" type="primary">主要按钮</el-button>
+            <el-button class="downloadpage-btn" type="primary">主要按钮</el-button>
+            <el-button class="downloadpage-btn" type="primary">主要按钮</el-button>
+            <el-button class="downloadpage-btn" type="primary">主要按钮</el-button>
+            <el-button class="downloadpage-btn" type="primary">主要按钮</el-button> -->
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            diIdselect:'',
+            delegationInfoList:[],
+            pageloadData: {
+                "portType": 1,
+                "pageIndex": 1,
+                "pageSize": 10,
+                "contact": "",
+                "location": "",
+                "client": "",
+                "userid": "",
+                "lvlid": 0,
+                "business": "",
+                "Range": 0,
+                "Category": 0,
+                "operationUserId": 0
+            },
+            token:'',
+            pageId:'',
+            userId:''
+        }
+    },
+    methods:{
+        //页面加载
+        padeload(){
+            var url = "/api/Business/PostGroupNameScreen"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data:{
+                    portType: 1,
+                    pageIndex:1,
+                    pageSize: 9000,
+                    groupName:'',
+                    userId:that.userId==21?-1:that.userId,
+                }
+            }).then(function (res) {
+                console.log(res)
+                if(res.data.code==200){
+                    that.delegationInfoList=res.data.data;
+                    that.diIdselect=that.delegationInfoList[0].id;
+                }else{
+                    that.$message.error(res.data.msg);
+                }
+            })
+        },
+        //导出完整行程
+        dcwzxc(){
+            var url = "/api/Groups/ExportTravel"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + that.token
+                },
+                data: {
+                    diid: that.diIdselect,
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    that.$message({
+                        message: res.data.msg,
+                        type: 'success',
+                        offset: 50
+                    });
+                    window.open(res.data.data.replace('C:/Server/File/OA2023/','http://132.232.92.186:24/'));
+                } else {
+                    that.$message.error(res.data.msg);
+                }
+            }).catch(function (error) {
+                that.$message.error(error);
+            });
+        },
+        //团组名单
+        Exportlist(val) {
+            var url = "/api/Groups/PostTourClientListDownloadFile"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    portType: 1,
+                    userId: that.userId,
+                    pageId: that.pageId,
+                    diId: that.diIdselect,
+                    language: val
+                }
+            }).then(function (res) {
+                console.log(res)
+                if (res.data.code == 200) {
+                    window.location.href = res.data.data
+                    that.$message({
+                        type: 'success',
+                        message: res.data.msg
+                    });
+                } else {
+                    that.$message.error(res.data.msg);
+                }
+            }).catch(function (error) {
+                that.$message.error("下载失败!");
+            });
+        },
+        //导出倒推表
+        PostInvertedListFileDownload() {
+            var url = "/api/Groups/PostInvertedListFileDownload"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + that.token
+                },
+                data: {
+                    portType: 1,
+                    diId: that.diIdselect
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    that.$message({
+                        message:res.data.msg ,
+                        type: 'success',
+                        offset:50
+                    });
+                    window.open(res.data.data);
+                }else{
+                    that.$message.error(res.data.msg);
+                }
+            }).catch(function (error) {
+                that.$message.error(error);
+            });
+        },
+        //三公导出
+        eptschedule(val1,val2){
+            var url = "/api/Groups/PostEnterExitCostDownload"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data:{
+                    portType: 1,
+                    diId: that.diIdselect,
+                    exportType: val1,
+                    subTypeId:val2
+                }
+            }).then(function (res) {
+                console.log(res)
+                if(res.data.code==200){
+                    that.$message({
+                        type: 'success',
+                        message: res.data.msg
+                    });
+                    window.open(res.data.data.url);
+                }else{
+                    that.$message.error(res.data.msg);
+                }
+            })
+        },
+    },
+    created(){
+        this.token = JSON.parse(localStorage.getItem('userinif')).token;
+        this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
+        this.pageId = Number(localStorage.getItem('indexs').split('-')[1]);//页面id
+        this.padeload()
+    }
+}
+</script>
+<style>
+.downloadpage-all {
+    background-color: #fff;
+    padding: 20px;
+    box-shadow: 0 0 5px #0005;
+    border-radius: 10px;
+    min-height: 810px;
+}
+.downloadpage-Groups{
+    width: 394px;
+}
+.downloadpage-btn{
+    width: 200px;
+}
+.downloadpage-table-tr{
+    display: flex;
+    
+}
+.downloadpage-ps{
+    margin-top:20px ;
+    font-size: 14px;
+}
+.downloadpage-table{
+    max-height: 700px;
+    border-bottom: 1px solid #DCDFE6;
+    overflow: hidden;
+    overflow: auto;
+}
+.downloadpage-table-tr{
+    border-top: 1px solid #DCDFE6;
+}
+.downloadpage-table-tb{
+    padding: 10px;
+    text-align: center;
+    border-left: 1px solid #DCDFE6;
+    font-size: 14px;
+    color: #555;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+}
+.downloadpage-table-tb:last-child{
+    border-right: 1px solid #DCDFE6;
+}
+.tb-name{
+    width: 40%;
+}
+.tb-type{
+    width: 25%;
+}
+.tb-Language{
+    width: 25%;
+}
+.tb-download{
+    width: 10%;
+}
+</style>

+ 6 - 0
src/router/index.js

@@ -107,6 +107,7 @@ import royaltypg from '@/components/Finance/royaltypg';
 import visaAgencyfee from '@/components/OP/visaAgencyfee'
 import Hotelenquiry from '@/components/OP/Hotelenquiry'
 import Marketingamount from '@/components/MCR/Marketingamount';
+import downloadpage from '@/components/OP/downloadpage';
 
 Vue.use(Router)
 
@@ -659,6 +660,11 @@ export default new Router({
           name: 'Marketingamount',
           component: Marketingamount
         },
+        {
+          path: '/home/downloadpage',
+          name: 'downloadpage',
+          component: downloadpage
+        },
       ]
     },
     {