liuhj hai 1 ano
pai
achega
6204a7d725

+ 12 - 12
src/components/Finance/LncomingBills.vue

@@ -172,18 +172,18 @@ export default {
             options:[],
             DownloadInitlist:[],
             tableData:[
-                {
-                    addingModeName:"",
-                    createTime:"",
-                    priceName:"",
-                    price:"",
-                    count:"",
-                    unit:"",
-                    currency:"",
-                    rate:"",
-                    itemSumPrice:"",
-                    remark:"",
-                }
+                // {
+                //     addingModeName:"",
+                //     createTime:"",
+                //     priceName:"",
+                //     price:"",
+                //     count:"",
+                //     unit:"",
+                //     currency:"",
+                //     rate:"",
+                //     itemSumPrice:"",
+                //     remark:"",
+                // }
             ],
             currencyoptions:[],
             groupInfo:{},

+ 22 - 0
src/components/Finance/royaltypg.vue

@@ -0,0 +1,22 @@
+<template>
+    <div>
+        <div class="royaltypg-all">
+            提成
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    
+}
+</script>
+<style>
+.royaltypg-all{
+    background-color: #fff;
+    padding: 10px;
+    box-shadow: 0 0 5px #0005;
+    border-radius: 10px;
+    height: 100%;
+    min-height: 830px;
+}
+</style>

+ 54 - 25
src/components/OP/EntryDetails.vue

@@ -265,7 +265,7 @@
                                     <el-input size="mini" v-model="scope.row.city"></el-input>
                                 </template> -->
                                 <template slot-scope="scope">
-                                    <el-select size="mini" @change="mealschangeSelect(scope.row,$event)" v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
+                                    <el-select size="mini" @change="mealschangeSelect(scope.row,$event,scope.$index)" v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
                                         <el-option
                                             v-for="item in placeinif"
                                             :key="item.id"
@@ -852,7 +852,7 @@ export default {
             for(let a=0;a<this.quarterageData.length;a++){
                 this.TotalAccommodationFee+=this.quarterageData[a].subTotal
             }
-            this.mealschangeSelect(this.boardWagesData,item,index)
+            // this.mealschangeSelect(this.boardWagesData,item,index)
         },
         //伙食地区选择
         mealschangeSelect(val,item,index){
@@ -865,22 +865,22 @@ export default {
             });
             //在change中获取到整条对象数据
             console.log(obj);
-            if(index!=undefined){
-                val[index].currencyName=obj.currencyName;
-                val[index].currency=obj.currency;
-                val[index].cost=obj.foodCost;
-                val[index].nationalTravelFeeId=obj.id;
-                for(let j=0;j<this.currencys.length;j++){
-                    if(this.currencys[j].currencyCode==obj.currencyCode){
-                        rate=this.currencys[j].rate;
-                    }
-                }
-                val[index].subTotal=Number(val[index].cost)*Number(rate);
-                this.TotalMeals=0;
-                for(let a=0;a<this.boardWagesData.length;a++){
-                    this.TotalMeals+=this.boardWagesData[a].subTotal
-                }
-            }
+            // if(index!=undefined){
+            //     val[index].currencyName=obj.currencyName;
+            //     val[index].currency=obj.currency;
+            //     val[index].cost=obj.foodCost;
+            //     val[index].nationalTravelFeeId=obj.id;
+            //     for(let j=0;j<this.currencys.length;j++){
+            //         if(this.currencys[j].currencyCode==obj.currencyCode){
+            //             rate=this.currencys[j].rate;
+            //         }
+            //     }
+            //     val[index].subTotal=Number(val[index].cost)*Number(rate);
+            //     this.TotalMeals=0;
+            //     for(let a=0;a<this.boardWagesData.length;a++){
+            //         this.TotalMeals+=this.boardWagesData[a].subTotal
+            //     }
+            // }                    
             val.currencyName=obj.currencyName;
             val.currency=obj.currency;
             val.cost=obj.foodCost;
@@ -894,10 +894,11 @@ export default {
             for(let a=0;a<this.boardWagesData.length;a++){
                 this.TotalMeals+=this.boardWagesData[a].subTotal
             }
+            this.MiscellaneouschangeSelect(this.miscellaneousFeeData,item,index)
         },
         //公杂费地区选择
-        MiscellaneouschangeSelect(val,item){
-            console.log(val);
+        MiscellaneouschangeSelect(val,item,index){
+            console.log(index);
             var rate=0
             var obj={}
             obj= this.placeinif.find(function(i){
@@ -905,6 +906,23 @@ export default {
             });
             //在change中获取到整条对象数据
             console.log(obj);
+            console.log(val);
+            if(index!=undefined){
+                val[index].currencyName=obj.currencyName;
+                val[index].currency=obj.currency;
+                val[index].cost=obj.publicCost;
+                val[index].nationalTravelFeeId=obj.id;
+                for(let j=0;j<this.currencys.length;j++){
+                    if(this.currencys[j].currencyCode==obj.currencyCode){
+                        rate=this.currencys[j].rate;
+                    }
+                }
+                val[index].subTotal=Number(val[index].cost)*Number(rate);
+                this.TotalMiscellaneous=0;
+                for(let a=0;a<this.miscellaneousFeeData.length;a++){
+                    this.TotalMiscellaneous+=this.miscellaneousFeeData[a].subTotal
+                }
+            }
             val.currencyName=obj.currencyName;
             val.currency=obj.currency;
             val.cost=obj.publicCost;
@@ -971,6 +989,19 @@ export default {
                     subTotal:0,
                     remark:'',
                 })
+                // this.boardWagesData.push({
+                //     id:0,
+                //     diId:this.value,
+                //     type:2,
+                //     days:this.boardWagesData.length!=0?(this.boardWagesData[this.boardWagesData.length-1].days)+1:1,
+                //     nationalTravelFeeId:'',
+                //     cost:0,
+                //     currency:0,
+                //     subTotal:0,
+                //     remark:'',
+                // })
+            }
+            if(text=="伙食费"){
                 this.boardWagesData.push({
                     id:0,
                     diId:this.value,
@@ -982,13 +1013,11 @@ export default {
                     subTotal:0,
                     remark:'',
                 })
-            }
-            if(text=="伙食费"){
-                this.boardWagesData.push({
+                this.miscellaneousFeeData.push({
                     id:0,
                     diId:this.value,
-                    type:2,
-                    days:this.boardWagesData.length!=0?(this.boardWagesData[this.boardWagesData.length-1].days)+1:1,
+                    type:3,
+                    days:this.miscellaneousFeeData.length!=0?(this.miscellaneousFeeData[this.miscellaneousFeeData.length-1].days)+1:1,
                     nationalTravelFeeId:'',
                     cost:0,
                     currency:0,

+ 169 - 60
src/components/OP/OpLtinerary.vue

@@ -4,20 +4,20 @@
             <div class="opltinerary-head">
                 <div class="opltinerary-head-li">
                     <label>团组名称:</label>
-                    <el-select style="width:210px" size="medium" v-model="value" filterable placeholder="请选择">
+                    <el-select @change="InitOpTravel" style="width:210px" size="medium" v-model="value" filterable placeholder="请选择">
                         <el-option
                             v-for="item in options"
                             :key="item.id"
-                            :label="item.groupName"
+                            :label="item.teamName"
                             :value="item.id">
                         </el-option>
                     </el-select>
                 </div>
                 <div class="opltinerary-head-li">
-                    <el-button size="medium" type="primary">删除本团行程</el-button>
+                    <el-button @click="DelTravel" size="medium" type="primary">删除本团行程</el-button>
                     <!-- <el-button size="medium" type="primary">导入数据</el-button> -->
-                    <el-button size="medium" type="primary">保存修改</el-button>
-                    <el-button size="medium" type="primary">导出完整行程</el-button>
+                    <el-button @click="TravelSave" size="medium" type="primary">保存修改</el-button>
+                    <el-button @click="dcwzxc" size="medium" type="primary">导出完整行程</el-button>
                     <!-- <el-button size="medium" type="primary">导出下拉所选表格</el-button> -->
                 </div>
             </div>
@@ -56,13 +56,13 @@
             </div> -->
             <div class="itinerary-box">
                 <div class="itinerary-title">
-                    【123】团 10 日行程
+                    {{ itineraryinfo.teamName}}
                 </div>
                 <div class="itinerary-inif">
-                    <div>途经城市:北京/巴黎/圣保罗/里约热内卢/圣地亚哥/布宜诺斯艾利斯/阿姆斯特丹/北京</div>
-                    <div>天数:10</div>
-                    <div>团号:4WMi71</div>
-                    <div>人数:6</div>
+                    <div>途经城市:{{ itineraryinfo.city}}</div>
+                    <div>天数:{{ itineraryinfo.visitDays}}</div>
+                    <div>团号:{{ itineraryinfo.tourCode}}</div>
+                    <div>人数:{{ itineraryinfo.visitPNumber}}</div>
                 </div>
                 <div class="itinerary-table">
                     <div class="table-title">
@@ -71,31 +71,23 @@
                         <div style="width: 200px;">交通</div>
                         <div style="width: 100%;">行程</div>
                     </div>
-                    <div class="table-form" v-for="(item,index) in tablearrr" :key="index">
+                    <div class="zwxcdxx" v-if="tablearrr.length<=0">
+                        暂无行程单信息
+                    </div>
+                    <div v-else class="table-form" v-for="(item,index) in tablearrr" :key="index">
                         <div class="table-form-li" style="width: 100px;">
-                            <el-input-number style="width: 50px;" size="mini"  :controls="false" v-model="item.days"></el-input-number>
+                            <el-input-number disabled style="width: 50px;" size="mini"  :controls="false" v-model="item.days"></el-input-number>
                         </div>
                         <div class="table-form-li"  style="width: 300px;">
-                            <el-date-picker
-                            style="width: 150px;" 
-                            size="mini"
-                            v-model="item.date1"
-                            type="date"
-                            placeholder="选择日期">
-                            </el-date-picker>
+                            <el-input disabled style="width: 120px;" size="mini" v-model="item.date"></el-input>
                             <br/>
-                            <el-date-picker
-                            style="width: 150px;" 
-                            size="mini"
-                            v-model="item.date2"
-                            type="date"
-                            placeholder="选择日期">
-                            </el-date-picker>
+                            <el-input v-if="item.weekDay=='星期六'||item.weekDay=='星期日'" class="daycolor" disabled style="width: 120px;color: red;" size="mini" v-model="item.weekDay"></el-input>
+                            <el-input v-else disabled style="width: 120px;" size="mini" v-model="item.weekDay"></el-input>
                         </div>
                         <div class="table-form-li"  style="width: 200px;">
-                            <el-input style="width: 120px;" size="mini" v-model="item.traffic1"></el-input>
+                            <el-input disabled style="width: 120px;" size="mini" v-model="item.traffic_First"></el-input>
                             <br/>
-                            <el-input style="width: 120px;" size="mini" v-model="item.traffic2"></el-input>
+                            <el-input disabled style="width: 120px;" size="mini" v-model="item.traffic_Second"></el-input>
                         </div>
                         <div class="table-form-li"  style="width: 100%;">
                             <el-input
@@ -103,7 +95,7 @@
                             type="textarea"
                             :autosize="{ minRows: 4, maxRows: 4}"
                             placeholder="请输入内容"
-                            v-model="item.remark">
+                            v-model="item.trip">
                             </el-input>
                         </div>
                     </div>
@@ -160,46 +152,148 @@
 export default {
     data() {
         return {
-            value:"",
+            value:-1,
             options:[],
             values:'',
             textarea2:'',
             tablearrr:[
-                {
-                    days:1,
-                    date1:'时间1',
-                    date2:'时间2',
-                    traffic1:'jiaotongyi',
-                    traffic2:'jiaotonger',
-                    remark:''
-                },
-                {
-                    days:2,
-                    date1:'时间1',
-                    date2:'时间2',
-                    traffic1:'jiaotongyi',
-                    traffic2:'jiaotonger',
-                    remark:''
+                
+            ],
+            itineraryinfo:{},
+            userid:'',
+        }
+    },
+    methods:{
+        //行程单接口
+        InitOpTravel() {
+            var url = "/api/Groups/InitOpTravel"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
                 },
-                {
-                    days:3,
-                    date1:'时间1',
-                    date2:'时间2',
-                    traffic1:'jiaotongyi',
-                    traffic2:'jiaotonger',
-                    remark:''
+                data: {
+                    diid: that.value
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    that.options=res.data.data.groupList;
+                    if(that.value==-1){
+                        that.value=that.options[0].id;
+                    }
+                    that.itineraryinfo=res.data.data.groupInfo;
+                    that.tablearrr=res.data.data.opTravelList;
+                }else{
+                    that.$message.error(res.data.msg);
+                }
+            }).catch(function (error) {
+                that.$message.error(error);
+            });
+        },
+        //删除本团行程
+        DelTravel() {
+            this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                var url = "/api/Groups/DelTravel"
+                var that = this
+                this.$axios({
+                    method: 'post',
+                    url: url,
+                    headers: {
+                        Authorization: 'Bearer ' + this.token
+                    },
+                    data: {
+                        diid: that.value,
+                        userId: that.userid
+                    }
+                }).then(function (res) {
+                    if (res.data.code == 200) {
+                        that.$message({
+                            message: res.data.msg,
+                            type: 'success',
+                            offset: 50
+                        });
+                        that.InitOpTravel();
+                    } else {
+                        that.$message.error(res.data.msg);
+                    }
+                }).catch(function (error) {
+                    that.$message.error(error);
+                });
+            }).catch(() => {
+                this.$message({
+                    type: 'info',
+                    message: '已取消删除'
+                });
+            });
+            
+        },
+        //保存
+        TravelSave() {
+            var url = "/api/Groups/TravelSave"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
                 },
-                {
-                    days:4,
-                    date1:'时间1',
-                    date2:'时间2',
-                    traffic1:'jiaotongyi',
-                    traffic2:'jiaotonger',
-                    remark:''
+                data: {
+                    arr: that.tablearrr,
                 }
-            ]
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    that.$message({
+                        message:res.data.msg ,
+                        type: 'success',
+                        offset:50
+                    });
+                    that.InitOpTravel();
+                }else{
+                    that.$message.error(res.data.msg);
+                }
+            }).catch(function (error) {
+                that.$message.error(error);
+            });
+        },
+        //导出完整行程
+        dcwzxc(){
+            var url = "/api/Groups/ExportTravel"
+                var that = this
+                this.$axios({
+                    method: 'post',
+                    url: url,
+                    headers: {
+                        Authorization: 'Bearer ' + that.token
+                    },
+                    data: {
+                        diid: that.value,
+                    }
+                }).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);
+                });
         }
     },
+    created(){
+        this.userid=JSON.parse(localStorage.getItem('userinif')).userInfo.userId;
+        this.InitOpTravel();
+    }
 }
 </script>
 <style>
@@ -300,4 +394,19 @@ export default {
     display: inline-block;
     margin-bottom: 10px;
 }
+.itinerary-table .el-input.is-disabled .el-input__inner{
+    color: #606266;
+}
+.opltinerary-all .itinerary-table .daycolor .el-input__inner{
+    color: red;
+}
+.zwxcdxx{
+    font-size: 14px;
+    color: #606266;
+    border-left:1px solid #ebeef5;
+    border-bottom:1px solid #ebeef5;
+    border-right:1px solid #ebeef5;
+    text-align: center;
+    padding: 30px;
+}
 </style>

+ 6 - 1
src/components/Resource/OfficialActivities.vue

@@ -27,7 +27,7 @@
                     <span style="font-weight: bold;">出访国家:</span>
                     {{ delegationInfo.visitCountry }}&nbsp;&nbsp;&nbsp;
                     <span style="font-weight: bold;">起止日期:</span>
-                    {{ delegationInfo.visitStartDate }}—{{ delegationInfo.visitEndDate }}&nbsp;&nbsp;&nbsp;
+                    {{ delegationInfo.visitStartDate|capitalize }}~{{ delegationInfo.visitEndDate|capitalize }}&nbsp;&nbsp;&nbsp;
                     <span style="font-weight: bold;">天数/人数:</span>
                     {{ delegationInfo.visitDays }}天/{{ delegationInfo.visitPNumber }}人
                 </div>
@@ -225,6 +225,11 @@ export default {
             });
         },
     },
+    filters: {
+        capitalize: function (value) {
+            return value.split(" ")[0]
+        }
+    },
     created(){
         this.diids = Number(this.$route.query.DiId);
         this.token = JSON.parse(localStorage.getItem('userinif')).token;

+ 1 - 1
src/components/home.vue

@@ -495,7 +495,7 @@ export default {
             }
         }).then(function (res) {
             if(res.data.code==200){
-              that.unReadCount=res.data.data;
+              that.unReadCount=res.data.data.messageUnReadCount;
               if(that.unReadCount!=localStorage.getItem('unReadCount')){
                 that.PotsMsgTypeData();
                 window.localStorage.removeItem('unReadCount');

+ 6 - 1
src/router/index.js

@@ -103,7 +103,7 @@ import RvsReport from '@/components/Finance/RvsReport';
 import Overspend from '@/components/Finance/Overspend';
 import Overspendedit from '@/components/Finance/Overspendedit';
 import backwardtabke from '@/components/OP/backwardtabke'
-
+import royaltypg from '@/components/Finance/royaltypg';
 
 
 Vue.use(Router)
@@ -637,6 +637,11 @@ export default new Router({
           name: 'backwardtabke',
           component: backwardtabke
         },
+        {
+          path: '/home/royaltypg',
+          name: 'royaltypg',
+          component: royaltypg
+        },
       ]
     },
     {