liuhj 1 年之前
父節點
當前提交
3624c8b987
共有 4 個文件被更改,包括 728 次插入235 次删除
  1. 161 51
      src/components/OP/EntryDetails.vue
  2. 538 184
      src/components/system/Payroll.vue
  3. 22 0
      src/components/system/SetWorking.vue
  4. 7 0
      src/router/index.js

+ 161 - 51
src/components/OP/EntryDetails.vue

@@ -124,10 +124,13 @@
                         <div style="display: flex;">
                             <div class="li-lable">
                                 <label>合计:</label>
-                                <div class="sub-boxs">{{TotalExpenses.EconomyClasstotal=(TotalExpenses.EconomyClass+TotalExpenses.TravellingExpenses)|numFilter}}</div>
+                                <div class="sub-boxs">{{TotalAccommodationFee|numFilter}}</div>
                                 <span>元/人</span>
                             </div>
                         </div>
+                        <div class="btn-Entry">
+                            <el-button type="primary" @click="addlist" size="mini">新 增</el-button>
+                        </div>
                     </div>
                     <div class="Entry-li-inif">
                         <el-table
@@ -148,28 +151,25 @@
                             label="城 市"
                             width="180">
                                 <template slot-scope="scope">
-                                    <el-input size="mini" v-model="scope.row.city"></el-input>
-                                </template>
-                                <!-- <template slot-scope="scope">
-                                    <el-select size="mini" v-model="scope.row.place" filterable placeholder="请选择">
+                                    <el-select size="mini" @change="changeSelect(scope.row,$event)" v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
                                         <el-option
                                             v-for="item in placeinif"
                                             :key="item.id"
-                                            :label="item.city=='所有城市'?item.country:item.city"
-                                            :value="item.city=='所有城市'?item.country:item.city"
+                                            :label="item.cityname"
+                                            :value="item.id"
                                             >
-                                            <span style="float: left">{{item.city}}</span>
-                                            <span style="float: right; color: #8492a6; font-size: 13px">{{item.country}}</span>
+                                            <span style="float: left">{{item.cityname}}</span>
+                                            <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{item.city}}</span> -->
                                         </el-option>
                                     </el-select>
-                                </template> -->
+                                </template>
                             </el-table-column>
                             <el-table-column
                             prop="cost"
                             label=" 费用标准"
                             width="180">
                                 <template slot-scope="scope">
-                                    <el-input-number size="mini" :precision="2" :controls="false" v-model="scope.row.cost"></el-input-number>
+                                    <el-input-number disabled size="mini" :precision="2" :controls="false" v-model="scope.row.cost"></el-input-number>
                                 </template>
                             </el-table-column>
                             <el-table-column
@@ -177,7 +177,7 @@
                             label=" 币 种"
                             width="180">
                                 <template slot-scope="scope">
-                                    <el-input size="mini" v-model="scope.row.currencyName"></el-input>
+                                    <el-input disabled size="mini" v-model="scope.row.currencyName"></el-input>
                                 </template>
                             </el-table-column>
                             <el-table-column
@@ -185,7 +185,7 @@
                             label="费用小计"
                             width="180">
                                 <template slot-scope="scope">
-                                    <div class="sub-boxs">{{scope.row.subTotal|numFilter}}</div>
+                                    <div class="sub-boxs">{{scope.row.subTotal|numFilter}}</div>&nbsp;CNY
                                 </template>
                             </el-table-column>
                             <el-table-column
@@ -201,10 +201,13 @@
                         <div style="display: flex;">
                             <div class="li-lable">
                                 <label>合计:</label>
-                                <div class="sub-boxs">{{TotalExpenses.EconomyClasstotal=(TotalExpenses.EconomyClass+TotalExpenses.TravellingExpenses)|numFilter}}</div>
+                                <div class="sub-boxs">{{TotalMeals|numFilter}}</div>
                                 <span>元/人</span>
                             </div>
                         </div>
+                        <div class="btn-Entry">
+                            <el-button type="primary" size="mini">新 增</el-button>
+                        </div>
                     </div>
                     <div class="Entry-li-inif">
                         <el-table
@@ -224,29 +227,29 @@
                             prop="city"
                             label="城 市"
                             width="180">
-                                <template slot-scope="scope">
-                                    <el-input size="mini" v-model="scope.row.city"></el-input>
-                                </template>
                                 <!-- <template slot-scope="scope">
-                                    <el-select size="mini" v-model="scope.row.place" filterable placeholder="请选择">
+                                    <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-option
                                             v-for="item in placeinif"
                                             :key="item.id"
-                                            :label="item.city=='所有城市'?item.country:item.city"
-                                            :value="item.city=='所有城市'?item.country:item.city"
+                                            :label="item.cityname"
+                                            :value="item.id"
                                             >
-                                            <span style="float: left">{{item.city}}</span>
-                                            <span style="float: right; color: #8492a6; font-size: 13px">{{item.country}}</span>
+                                            <span style="float: left">{{item.cityname}}</span>
+                                            <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{item.city}}</span> -->
                                         </el-option>
                                     </el-select>
-                                </template> -->
+                                </template>
                             </el-table-column>
                             <el-table-column
                             prop="cost"
                             label=" 费用标准"
                             width="180">
                                 <template slot-scope="scope">
-                                    <el-input-number size="mini" :precision="2" :controls="false" v-model="scope.row.cost"></el-input-number>
+                                    <el-input-number disabled size="mini" :precision="2" :controls="false" v-model="scope.row.cost"></el-input-number>
                                 </template>
                             </el-table-column>
                             <el-table-column
@@ -254,7 +257,7 @@
                             label=" 币 种"
                             width="180">
                                 <template slot-scope="scope">
-                                    <el-input size="mini" v-model="scope.row.currencyName"></el-input>
+                                    <el-input disabled size="mini" v-model="scope.row.currencyName"></el-input>
                                 </template>
                             </el-table-column>
                             <el-table-column
@@ -262,7 +265,7 @@
                             label="费用小计"
                             width="180">
                                 <template slot-scope="scope">
-                                    <div class="sub-boxs">{{scope.row.subTotal|numFilter}}</div>
+                                    <div class="sub-boxs">{{scope.row.subTotal|numFilter}}</div>&nbsp;CNY
                                 </template>
                             </el-table-column>
                             <el-table-column
@@ -278,10 +281,13 @@
                         <div style="display: flex;">
                             <div class="li-lable">
                                 <label>合计:</label>
-                                <div class="sub-boxs">{{TotalExpenses.EconomyClasstotal=(TotalExpenses.EconomyClass+TotalExpenses.TravellingExpenses)|numFilter}}</div>
+                                <div class="sub-boxs">{{TotalMiscellaneous|numFilter}}</div>
                                 <span>元/人</span>
                             </div>
                         </div>
+                        <div class="btn-Entry">
+                            <el-button type="primary" size="mini">新 增</el-button>
+                        </div>
                     </div>
                     <div class="Entry-li-inif">
                         <el-table
@@ -301,29 +307,29 @@
                             prop="city"
                             label="城 市"
                             width="180">
-                                <template slot-scope="scope">
-                                    <el-input size="mini" v-model="scope.row.city"></el-input>
-                                </template>
                                 <!-- <template slot-scope="scope">
-                                    <el-select size="mini" v-model="scope.row.place" filterable placeholder="请选择">
+                                    <el-input size="mini" v-model="scope.row.city"></el-input>
+                                </template> -->
+                                <template slot-scope="scope">
+                                    <el-select @change="MiscellaneouschangeSelect(scope.row,$event)" size="mini" v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
                                         <el-option
                                             v-for="item in placeinif"
                                             :key="item.id"
-                                            :label="item.city=='所有城市'?item.country:item.city"
-                                            :value="item.city=='所有城市'?item.country:item.city"
+                                            :label="item.cityname"
+                                            :value="item.id"
                                             >
-                                            <span style="float: left">{{item.city}}</span>
-                                            <span style="float: right; color: #8492a6; font-size: 13px">{{item.country}}</span>
+                                            <span style="float: left">{{item.cityname}}</span>
+                                            <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{item.city}}</span> -->
                                         </el-option>
                                     </el-select>
-                                </template> -->
+                                </template>
                             </el-table-column>
                             <el-table-column
                             prop="cost"
                             label=" 费用标准"
                             width="180">
                                 <template slot-scope="scope">
-                                    <el-input-number size="mini" :precision="2" :controls="false" v-model="scope.row.cost"></el-input-number>
+                                    <el-input-number disabled size="mini" :precision="2" :controls="false" v-model="scope.row.cost"></el-input-number>
                                 </template>
                             </el-table-column>
                             <el-table-column
@@ -331,7 +337,7 @@
                             label=" 币 种"
                             width="180">
                                 <template slot-scope="scope">
-                                    <el-input size="mini" v-model="scope.row.currencyName"></el-input>
+                                    <el-input disabled size="mini" v-model="scope.row.currencyName"></el-input>
                                 </template>
                             </el-table-column>
                             <el-table-column
@@ -339,7 +345,7 @@
                             label="费用小计"
                             width="180">
                                 <template slot-scope="scope">
-                                    <div class="sub-boxs">{{scope.row.subTotal|numFilter}}</div>
+                                    <div class="sub-boxs">{{scope.row.subTotal|numFilter}}</div>&nbsp;CNY
                                 </template>
                             </el-table-column>
                             <el-table-column
@@ -359,6 +365,9 @@
                                 <span>元/人</span>
                             </div>
                         </div>
+                        <div class="btn-Entry">
+                            <el-button type="primary" size="mini">新 增</el-button>
+                        </div>
                     </div>
                     <div class="Entry-li-inif">
                         <el-table
@@ -378,22 +387,22 @@
                             prop="city"
                             label="城 市"
                             width="180">
-                                <template slot-scope="scope">
-                                    <el-input size="mini" v-model="scope.row.city"></el-input>
-                                </template>
                                 <!-- <template slot-scope="scope">
-                                    <el-select size="mini" v-model="scope.row.place" filterable placeholder="请选择">
+                                    <el-input size="mini" v-model="scope.row.city"></el-input>
+                                </template> -->
+                                <template slot-scope="scope">
+                                    <el-select size="mini" v-model="scope.row.nationalTravelFeeId" filterable placeholder="请选择">
                                         <el-option
                                             v-for="item in placeinif"
                                             :key="item.id"
-                                            :label="item.city=='所有城市'?item.country:item.city"
-                                            :value="item.city=='所有城市'?item.country:item.city"
+                                            :label="item.cityname"
+                                            :value="item.id"
                                             >
-                                            <span style="float: left">{{item.city}}</span>
-                                            <span style="float: right; color: #8492a6; font-size: 13px">{{item.country}}</span>
+                                            <span style="float: left">{{item.cityname}}</span>
+                                            <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{item.city}}</span> -->
                                         </el-option>
                                     </el-select>
-                                </template> -->
+                                </template>
                             </el-table-column>
                             <el-table-column
                             prop="cost"
@@ -456,6 +465,11 @@ export default {
                 EconomyClasstotal:0,//经济舱合计
                 BusinessClasstotal:0,//公务舱合计
             },
+
+            TotalAccommodationFee:0,//住宿费合计
+            TotalMeals:0,//伙食费合计
+            TotalMiscellaneous:0,//公杂费合计
+
             quarterageData: [],
             boardWagesData:[],
             miscellaneousFeeData:[],
@@ -550,15 +564,22 @@ export default {
                 }
             }).then(function (res) {
                 console.log(res)
+                let placeinifarr=[];
                 if(res.data.code==200){
-                    that.placeinif=res.data.data;
+                    for(let i=0;i<res.data.data.length;i++){
+                        res.data.data[i]['cityname']=res.data.data[i].country+'-'+res.data.data[i].city;
+                        placeinifarr.push(res.data.data[i]);
+                    }
+                    that.placeinif=placeinifarr;
                     console.log(that.placeinif)
+                    console.log(placeinifarr)
                 }
             })
         },
         GetEnterExitCostInfobyDiId(){
             var url = "/api/Groups/GetEnterExitCostInfobyDiId"
             var that = this
+            console.log(that.value)
             this.$axios({
                 method: 'post',
                 url: url,
@@ -567,7 +588,7 @@ export default {
                 },
                 data:{
                     portType: 1,
-                    diId: that.value
+                    diId: 2362
                 }
             }).then(function (res) {
                 if(res.data.code==200){
@@ -588,10 +609,19 @@ export default {
                     that.TotalExpenses.TravellingExpenses=res.data.data.cityTranffic;
                     //住宿费
                     that.quarterageData=res.data.data.quarterageData;
+                    for(let a=0;a<res.data.data.quarterageData.length;a++){
+                        that.TotalAccommodationFee+=res.data.data.quarterageData[a].subTotal
+                    }
                     //伙食费
                     that.boardWagesData=res.data.data.boardWagesData;
+                    for(let b=0;b<res.data.data.boardWagesData.length;b++){
+                        that.TotalMeals+=res.data.data.boardWagesData[b].subTotal
+                    }
                     //公杂费
                     that.miscellaneousFeeData=res.data.data.miscellaneousFeeData;
+                    for(let c=0;c<res.data.data.miscellaneousFeeData.length;c++){
+                        that.TotalMiscellaneous+=res.data.data.miscellaneousFeeData[c].subTotal
+                    }
                     //培训费
                     that.trainingExpenseData=res.data.data.trainingExpenseData;
                 }
@@ -605,6 +635,81 @@ export default {
             this.treeDataValue= data.name
             this.treeData= data.name
             console.log(this.treeData)
+        },
+        //住宿地区选择
+        changeSelect(val,item){
+            console.log(val);
+            var rate=0
+            var obj={}
+            obj= this.placeinif.find(function(i){
+                return i.id ===item
+            });
+            //在change中获取到整条对象数据
+            console.log(obj);
+            val.currencyName=obj.currencyName;
+            val.cost=obj.roomCost;
+            console.log(this.currencys)
+            for(let j=0;j<this.currencys.length;j++){
+                if(this.currencys[j].currencyCode==obj.currencyCode){
+                    rate=this.currencys[j].rate;
+                }
+            }
+            console.log(val.cost,rate)
+            val.subTotal=Number(val.cost)*Number(rate);
+            this.TotalAccommodationFee=0;
+            for(let a=0;a<this.quarterageData.length;a++){
+                this.TotalAccommodationFee+=this.quarterageData[a].subTotal
+            }
+        },
+        //伙食地区选择
+        mealschangeSelect(val,item){
+            console.log(val);
+            var rate=0
+            var obj={}
+            obj= this.placeinif.find(function(i){
+                return i.id ===item
+            });
+            //在change中获取到整条对象数据
+            console.log(obj);
+            val.currencyName=obj.currencyName;
+            val.cost=obj.foodCost;
+            for(let j=0;j<this.currencys.length;j++){
+                if(this.currencys[j].currencyCode==obj.currencyCode){
+                    rate=this.currencys[j].rate;
+                }
+            }
+            val.subTotal=Number(val.cost)*Number(rate);
+            this.TotalMeals=0;
+            for(let a=0;a<this.boardWagesData.length;a++){
+                this.TotalMeals+=this.boardWagesData[a].subTotal
+            }
+        },
+        //公杂费地区选择
+        MiscellaneouschangeSelect(val,item){
+            console.log(val);
+            var rate=0
+            var obj={}
+            obj= this.placeinif.find(function(i){
+                return i.id ===item
+            });
+            //在change中获取到整条对象数据
+            console.log(obj);
+            val.currencyName=obj.currencyName;
+            val.cost=obj.publicCost;
+            for(let j=0;j<this.currencys.length;j++){
+                if(this.currencys[j].currencyCode==obj.currencyCode){
+                    rate=this.currencys[j].rate;
+                }
+            }
+            val.subTotal=Number(val.cost)*Number(rate);
+            this.TotalMiscellaneous=0;
+            for(let a=0;a<this.miscellaneousFeeData.length;a++){
+                this.TotalMiscellaneous+=this.miscellaneousFeeData[a].subTotal
+            }
+        },
+        //新增list
+        addlist(){
+            console.log(this.quarterageData)
         }
     },
     filters: {
@@ -696,8 +801,9 @@ export default {
 }
 .Entry-li-lable{
     display: flex;
-    justify-content: space-between;
+    align-items: center;
     margin: 10px 0;
+    margin-top: 20px;
 }
 .Entry-inif-box .depipt{
     display: inline-block;
@@ -741,6 +847,10 @@ export default {
     -webkit-transition: border-color .2s cubic-bezier(.645,.045,.355,1);
     transition: border-color .2s cubic-bezier(.645,.045,.355,1);
 }
+.btn-Entry{
+    width: 83%;
+    text-align: right;
+}
 .opc-city{
     
 }

File diff suppressed because it is too large
+ 538 - 184
src/components/system/Payroll.vue


+ 22 - 0
src/components/system/SetWorking.vue

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

+ 7 - 0
src/router/index.js

@@ -78,6 +78,7 @@ import OpTicketBlackCode from '@/components/Resource/OpTicketBlackCode'
 import Payroll from '@/components/system/Payroll';
 import GroundEntry from '@/components/Resource/GroundEntry';
 import GroundDetailedfees from '@/components/Resource/GroundDetailedfees';
+import SetWorking from '@/components/system/SetWorking';
 
 
 Vue.use(Router)
@@ -457,6 +458,12 @@ export default new Router({
           name: 'GroundDetailedfees',
           component: GroundDetailedfees
         },
+        {
+          path: '/home/SetWorking',
+          name: 'SetWorking',
+          component: SetWorking
+        },
+        
       ]
     },
     {