Переглянути джерело

Merge branch 'master' of http://132.232.92.186:3000/XinXiBu/oa-system

yuanrf 1 рік тому
батько
коміт
a57abbf8c1

+ 192 - 122
src/components/Finance/Cost.vue

@@ -1,5 +1,5 @@
 <template>
-    <div class="cost-all" v-loading.fullscreen.lock="costloading" >
+    <div class="cost-all" v-loading.fullscreen.lock="costloading">
         <div class="cost-box">
             <div class="cost-haed">
                 <div class="ser-btn">
@@ -10,10 +10,12 @@
                                 <span v-else style="color:gray">{{ item.groupName }}</span>
                             </el-option>
                         </el-select>
-                        <div style="line-height: 28px;font-size: 14px;width: 90px;color: #555;text-align: right;padding-right: 12px;">
+                        <div
+                            style="line-height: 28px;font-size: 14px;width: 90px;color: #555;text-align: right;padding-right: 12px;">
                             分段类型:
                         </div>
-                        <el-select style="width:200px" size="small" v-model="costTypevalue" placeholder="请选择" @change="costTypeSelect">
+                        <el-select style="width:200px" size="small" v-model="costTypevalue" placeholder="请选择"
+                            @change="costTypeSelect">
                             <el-option v-for="item in costType" :key="item.value" :label="item.label"
                                 :value="item.value">
                             </el-option>
@@ -82,16 +84,16 @@
                                 :model="AGroupCostParameter">
                                 <el-col :span="5">
                                     <div> <el-form-item label="第一段开始:" prop="costTypeStartTime">
-                                            <el-date-picker size="small" v-model="AGroupCostParameter.costTypeStartTime" type="date"
-                                                placeholder="第一段开始" format="yyyy-MM-dd"
+                                            <el-date-picker size="small" v-model="AGroupCostParameter.costTypeStartTime"
+                                                type="date" placeholder="第一段开始" format="yyyy-MM-dd"
                                                 value-format="yyyy-MM-dd">
                                             </el-date-picker>
                                         </el-form-item>
                                     </div>
                                 </el-col>
                                 <el-col :span="4">
-                                    <div> <el-form-item label="结束:" prop="costTypeendTime"><el-date-picker
-                                        size="small" v-model="AGroupCostParameter.costTypeendTime" type="date"
+                                    <div> <el-form-item label="结束:" prop="costTypeendTime"><el-date-picker size="small"
+                                                v-model="AGroupCostParameter.costTypeendTime" type="date"
                                                 placeholder="结束" format="yyyy-MM-dd" value-format="yyyy-MM-dd">
                                             </el-date-picker>
                                         </el-form-item>
@@ -99,8 +101,9 @@
                                 </el-col>
                                 <el-col :span="3">
                                     <div>
-                                        <el-form-item label="人数:" prop="costTypenumber"><el-input size="small" placeholder="人数"
-                                                v-model.number="AGroupCostParameter.costTypenumber" clearable>
+                                        <el-form-item label="人数:" prop="costTypenumber"><el-input size="small"
+                                                placeholder="人数" v-model.number="AGroupCostParameter.costTypenumber"
+                                                clearable>
                                             </el-input>
                                         </el-form-item>
                                     </div>
@@ -147,8 +150,8 @@
                                 :model="BGroupCostParameter">
                                 <el-col :span="5">
                                     <div> <el-form-item label="第二段开始:" prop="costTypeStartTime">
-                                            <el-date-picker size="small" v-model="BGroupCostParameter.costTypeStartTime" type="date"
-                                                placeholder="第二段开始" format="yyyy-MM-dd"
+                                            <el-date-picker size="small" v-model="BGroupCostParameter.costTypeStartTime"
+                                                type="date" placeholder="第二段开始" format="yyyy-MM-dd"
                                                 value-format="yyyy-MM-dd">
                                             </el-date-picker>
                                         </el-form-item>
@@ -164,8 +167,9 @@
                                 </el-col>
                                 <el-col :span="3">
                                     <div>
-                                        <el-form-item label="人数:" prop="costTypenumber"><el-input size="small" placeholder="人数"
-                                                v-model.number="BGroupCostParameter.costTypenumber" clearable>
+                                        <el-form-item label="人数:" prop="costTypenumber"><el-input size="small"
+                                                placeholder="人数" v-model.number="BGroupCostParameter.costTypenumber"
+                                                clearable>
                                             </el-input>
                                         </el-form-item>
                                     </div>
@@ -249,7 +253,7 @@
 
                 <!-- :height="centerheight" -->
 
-                <template v-for="(  item, index  ) in      tableLabel     ">
+                <template v-for="(  item, index  ) in      tableLabel">
                     <el-table-column :key="index" :prop="item.prop"
                         :width="item.width != '100' ? columnWidth : item.width" :label="item.label"
                         v-if="CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues.includes(item.label)">
@@ -268,8 +272,19 @@
                                     show-word-limit />
                             </div>
                             <div v-else-if="item.prop === 'day'">
-                                <el-input size="mini" :ref="'el-input-' + index" v-model="scope.row[item.prop]"
-                                    type="number" controls-position="right" min="0" @change="NumberSetTime(scope.row[item.prop], scope.$index)" />
+                                <el-input
+                                size="mini" 
+                                :ref="'el-input-' + index" 
+                                v-model="scope.row[item.prop]"
+                                type="number" 
+                                controls-position="right" 
+                                min="0"
+                                @change="NumberSetTime(scope.row[item.prop], scope.$index)">
+                                    <div style="display: flex;flex-direction: column;height: 28px;justify-content: center;margin-right: -5px;font-size: 14px;" slot="suffix" class="number-input-icon">
+                                        <i class="el-icon-caret-top btntop" @click="increase(scope.$index)"></i>
+                                        <i class="el-icon-caret-bottom btnbottom" @click="decrease(scope.$index)"></i>
+                                    </div>
+                                </el-input>
                             </div>
                             <div v-else-if="item.prop === 'date'">
                                 <span :title="scope.row[item.prop]">
@@ -318,8 +333,7 @@
                                             </div>
                                         </div>
                                     </div>
-                                    <el-input size="mini" slot="reference"
-                                        v-model="scope.row[item.prop]">
+                                    <el-input size="mini" slot="reference" v-model="scope.row[item.prop]">
                                     </el-input>
                                 </el-popover>
                             </div>
@@ -339,13 +353,12 @@
                                             </div>
                                         </div>
                                     </div>
-                                    <el-input size="mini" slot="reference" 
-                                        v-model="scope.row[item.prop]">
+                                    <el-input size="mini" slot="reference" v-model="scope.row[item.prop]">
                                     </el-input>
                                 </el-popover>
                             </div>
                             <span v-else :title="scope.row[item.prop]">
-                                <el-input size="mini"  v-model="scope.row[item.prop]">
+                                <el-input size="mini" v-model="scope.row[item.prop]">
                                 </el-input></span>
                         </template>
                     </el-table-column>
@@ -353,15 +366,18 @@
                 <el-table-column class="czbtn" label="操作">
                     <!-- eslint-disable-next-line -->
                     <template slot-scope="scope">
-                        <el-button class="czbtn" size="mini" @click="insertRow(scope.$index, scope.row, 'UP')" type="primary">
+                        <el-button class="czbtn" size="mini" @click="insertRow(scope.$index, scope.row, 'UP')"
+                            type="primary">
                             插入行↑
                         </el-button>
                         <br />
-                        <el-button class="czbtn" style="margin: 10px 0;" size="mini" @click="handleDelete(scope.$index, scope.row, tableData)" type="danger">
+                        <el-button class="czbtn" style="margin: 10px 0;" size="mini"
+                            @click="handleDelete(scope.$index, scope.row, tableData)" type="danger">
                             删除<i class="el-icon-delete"></i>
                         </el-button>
                         <br />
-                        <el-button class="czbtn" size="mini" @click="insertRow(scope.$index, scope.row, 'DOWN')" type="primary">插入行↓
+                        <el-button class="czbtn" size="mini" @click="insertRow(scope.$index, scope.row, 'DOWN')"
+                            type="primary">插入行↓
                         </el-button>
                     </template>
                 </el-table-column>
@@ -370,8 +386,7 @@
                         class="el-icon-plus"></i></el-button></div>
             <div>
                 <el-table :data="[{ a: 1 }]" border style="width: 100%;font-size:12px">
-                    <el-table-column 
-                    v-for="item in columnTotalData" :key="item.label"
+                    <el-table-column v-for="item in columnTotalData" :key="item.label"
                         :width="item.width != '100' ? columnWidth : item.width"
                         :label="item.tips ? item.tips + getCurr : ''"
                         v-if="CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues.includes(item.label)">
@@ -383,8 +398,7 @@
             </div>
             <div>
                 <el-table :data="[{ a: 1 }]" border style="width: 100%;font-size:12px">
-                    <el-table-column 
-                        v-for="item in columnTotalData" :key="item.label"
+                    <el-table-column v-for="item in columnTotalData" :key="item.label"
                         :width="item.width != '100' ? columnWidth : item.width"
                         :label="item.singleTips ? item.singleTips + getCurr : ''"
                         v-if="CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues.includes(item.label)">
@@ -503,8 +517,7 @@
                         <div style="width: 2%;" v-show="costTypevalue != 'A'"></div>
                         <div style="width: 49%;" v-show="costTypevalue != 'A'">
 
-                            <div class=""
-                                style="width: 200px;margin-bottom:0px;margin-top: 20px;visibility: hidden;"
+                            <div class="" style="width: 200px;margin-bottom:0px;margin-top: 20px;visibility: hidden;"
                                 v-if="CheckBoxListSelect.filter(item => item.cbType == 'Left')[0].cbValues.includes('签证') && visaCountryInfoArr.length > 0">
 
                                 <el-table :data="visaCountryInfoArr" border style="width: 100%">
@@ -818,7 +831,7 @@ export default {
                 { label: 'JS/ES', width: '60', prop: 'jS_ES', describe: '小套房/豪华套房(JUNIOR SUITE/EXECUTIVE SUITE) #个人成本' },
                 { label: 'SUITE', width: '60', prop: 'suite', describe: '套房(SUITE) #个人成本' },
                 { label: 'ACCO N', width: '100', prop: 'accon', describe: '住宿地名称(ACCOMMODATION NAME)' },
-                  //--------------------------------------------------
+                //--------------------------------------------------
                 { label: 'TV/N', width: '60', prop: 'gwCount', describe: '公务场次' },
                 { label: 'IF/N', width: '60', prop: 'fyCount', describe: '翻译场次' },
                 //-----------------------------------------------------
@@ -2056,7 +2069,7 @@ export default {
                 {
                     "diid": 0,
                     "cbType": "Left",
-                    "cbValues": ['签证', '机票', '保险','火车票','地接','公务','零用金'] //"string"
+                    "cbValues": ['签证', '机票', '保险', '火车票', '地接', '公务', '零用金'] //"string"
                 },
                 {
                     "diid": 0,
@@ -2621,25 +2634,25 @@ export default {
         };
     },
     watch: {
-        costTypeHotelNumbers:{
-            handler(val){
-                for(var i=0;i<val.length;i++){
+        costTypeHotelNumbers: {
+            handler(val) {
+                for (var i = 0; i < val.length; i++) {
                     console.log(val[i]);
-                    if(val[i].tbr==''){
-                        val[i].tbr=0
+                    if (val[i].tbr == '') {
+                        val[i].tbr = 0
                     }
-                    if(val[i].sgr==''){
-                        val[i].sgr=0
+                    if (val[i].sgr == '') {
+                        val[i].sgr = 0
                     }
-                    if(val[i].jses==''){
-                        val[i].jses=0
+                    if (val[i].jses == '') {
+                        val[i].jses = 0
                     }
-                    if(val[i].suite==''){
-                        val[i].suite=0
+                    if (val[i].suite == '') {
+                        val[i].suite = 0
                     }
                 }
             },
-            deep:true
+            deep: true
         },
         'tableData.length': {
             handler(newValue, oldValue) {
@@ -2664,7 +2677,7 @@ export default {
             const sums1 = [];
             const texts = [];
             var prices = [];
-            var BUpdate= []
+            var BUpdate = []
             var thisData = data;
             var ATime = { start: that.addOneDay(that.AGroupCostParameter.costTypeStartTime, 0), end: that.addOneDay(that.AGroupCostParameter.costTypeendTime, 0) };
             var BTime = { start: that.addOneDay(that.BGroupCostParameter.costTypeStartTime, 0), end: that.addOneDay(that.BGroupCostParameter.costTypeendTime, 0) };
@@ -2727,10 +2740,10 @@ export default {
                         prices[index] = '共' + (sums[index] * that.peopleNumber).toFixed(2) + ' ' + this.AGroupCostParameter.currency + '\r\n人均' + (sums[index]).toFixed(2) + " " + this.AGroupCostParameter.currency //sums[index] + '(' + this.AGroupCostParameter.currency + ')' + '  人均(' + sums[index] + ')';
                     }
                     else if (column.label == 'SGR' || column.label == 'JS/ES' || column.label == 'SUITE' || column.label == 'TBR') {
-                        if( column.label == 'TBR'){
-                            that.lableSetPrice(column.label, (sums[index]).toFixed(2), (sums[index] / 2 ).toFixed(2));
+                        if (column.label == 'TBR') {
+                            that.lableSetPrice(column.label, (sums[index]).toFixed(2), (sums[index] / 2).toFixed(2));
                             prices[index] = '共' + (sums[index]).toFixed(2) + ' ' + this.AGroupCostParameter.currency + '\r\n人均' + (sums[index] / 2).toFixed(2) + " " + this.AGroupCostParameter.currency
-                        }else{
+                        } else {
                             that.lableSetPrice(column.label, (sums[index]).toFixed(2), (sums[index]).toFixed(2));
                             prices[index] = '共' + (sums[index]).toFixed(2) + ' ' + this.AGroupCostParameter.currency + '\r\n人均' + (sums[index]).toFixed(2) + " " + this.AGroupCostParameter.currency
                         }
@@ -2759,15 +2772,15 @@ export default {
                         }, 0);
 
                         if (column.label == 'B' || column.label == 'L' || column.label == 'D' || column.label == 'EF' || column.label == 'TE' || column.label == 'T/G T' || column.label == 'P/C' || column.label == 'DRV T' || column.label == 'DRV T') {
-                            BUpdate.push({label:column.label, total:(sums1[index] * that.BGroupCostParameter.costTypenumber).toFixed(2),single:(sums1[index]).toFixed(2)});
+                            BUpdate.push({ label: column.label, total: (sums1[index] * that.BGroupCostParameter.costTypenumber).toFixed(2), single: (sums1[index]).toFixed(2) });
                             prices[index] = 'A段费用' + prices[index] + '\r\nB段费用共' + (sums1[index] * that.BGroupCostParameter.costTypenumber).toFixed(2) + " " + this.AGroupCostParameter.currency + '\r\n人均' + (sums1[index]).toFixed(2) + " " + this.AGroupCostParameter.currency //sums[index] + '(' + this.AGroupCostParameter.currency + ')' + '  人均(' + sums[index] + ')';
                         }
                         else if (column.label == 'SGR' || column.label == 'JS/ES' || column.label == 'SUITE' || column.label == 'TBR') {
-                            BUpdate.push({label:column.label,  total:(sums1[index]).toFixed(2), single:(sums1[index]).toFixed(2)});
+                            BUpdate.push({ label: column.label, total: (sums1[index]).toFixed(2), single: (sums1[index]).toFixed(2) });
                             prices[index] = 'A段费用' + prices[index] + '\r\nB段费用共' + (sums1[index]).toFixed(2) + " " + this.AGroupCostParameter.currency + '\r\n人均' + (sums1[index]).toFixed(2) + " " + this.AGroupCostParameter.currency //sums[index] + '(' + this.AGroupCostParameter.currency + ')' + '  人均(' + sums[index] + ')';
                         }
                         else {
-                            BUpdate.push({label:column.label,  total:sums1[index].toFixed(2), single:(sums1[index] / that.BGroupCostParameter.costTypenumber).toFixed(2)});
+                            BUpdate.push({ label: column.label, total: sums1[index].toFixed(2), single: (sums1[index] / that.BGroupCostParameter.costTypenumber).toFixed(2) });
                             prices[index] = 'A段费用' + prices[index] + '\r\nB段费用共' + sums1[index].toFixed(2) + " " + this.AGroupCostParameter.currency + '\r\n人均' + (sums1[index] / that.BGroupCostParameter.costTypenumber).toFixed(2) + " " + this.AGroupCostParameter.currency //sums[index] + '(' + this.AGroupCostParameter.currency + ')' + '  人均(' + sums[index] + ')';
                             sums1[index] = ((sums1[index] / that.BGroupCostParameter.costTypenumber).toFixed(2));
                         }
@@ -2805,7 +2818,7 @@ export default {
             //////console.log(that.sumTopPrice, '------------');
             setTimeout(() => {
                 this.setLastTitle(prices);
-                if(that.costTypevalue == 'B'){
+                if (that.costTypevalue == 'B') {
                     //遍历bupdate
                     BUpdate.forEach(function (item) {
                         that.BlableSetPrice(item.label, item.total, item.single);
@@ -2889,6 +2902,26 @@ export default {
                 });
             });
         },
+        //减
+        increase(val){
+            console.log(this.tableData[val]);
+            if(this.tableData[val].day=="-"){
+                this.tableData[val].day=0
+            }
+            if(this.tableData[val].day<=1){
+                return
+            }
+            this.tableData[val].day--
+            this.NumberSetTime(this.tableData[val].day, val)
+        },
+        //加
+        decrease(val){
+            if(this.tableData[val].day=="-"){
+                this.tableData[val].day=0
+            }
+            this.tableData[val].day++
+            this.NumberSetTime(this.tableData[val].day, val)
+        },
         addStrip() {
             var souerLength = this.tableData.length - 1;
             var dataStr = "";
@@ -2899,14 +2932,14 @@ export default {
                 var getDay = this.tableData[souerLength].day;
                 if (getDay) {
                     day = parseInt(getDay) + 1;
-                }else{
-                  try{  
-                    day = parseInt(this.tableData[souerLength - 1].day) + 1;
-                    dataStr = this.addOneDay(this.tableData[souerLength - 1].date, 1)
-                  }catch(e){
-                    dataStr = "";
-                    day = '-';
-                  }
+                } else {
+                    try {
+                        day = parseInt(this.tableData[souerLength - 1].day) + 1;
+                        dataStr = this.addOneDay(this.tableData[souerLength - 1].date, 1)
+                    } catch (e) {
+                        dataStr = "";
+                        day = '-';
+                    }
                 }
             }
 
@@ -2951,6 +2984,8 @@ export default {
                     "tlf": "",
                     "ect": "",
                     "id": 1,
+                    "gwCount": "",
+                    "fyCount": ""
                 }
             )
         },
@@ -3003,7 +3038,7 @@ export default {
                             {
                                 "diid": that.diid,
                                 "cbType": "Left",
-                                "cbValues": ['签证', '机票', '保险','火车票','地接','公务','零用金'] //"string"
+                                "cbValues": ['签证', '机票', '保险', '火车票', '地接', '公务', '零用金'] //"string"
                             },
                             {
                                 "diid": that.diid,
@@ -3020,11 +3055,11 @@ export default {
                     if (resp.data.data.groupCost.length > 0) {
                         that.tableData = resp.data.data.groupCost;
                         console.log(that.tableData);
-                        for(var i=0;i<that.tableData.length;i++){
+                        for (var i = 0; i < that.tableData.length; i++) {
                             for (var prop in that.tableData[i]) {
                                 console.log(that.tableData[i][prop]);
-                                if(that.tableData[i][prop]==0){
-                                    that.tableData[i][prop]=''
+                                if (that.tableData[i][prop] == 0) {
+                                    that.tableData[i][prop] = ''
                                 }
                             }
                         }
@@ -3038,7 +3073,7 @@ export default {
                                 "carType": "",
                                 "carCost": "",
                                 "carNumber": "",
-                                "carTiming":"",
+                                "carTiming": "",
                                 "tgs": "",
                                 "tgwh": "",
                                 "tgn": "",
@@ -3062,7 +3097,7 @@ export default {
                                 "iL": "",
                                 "if": "",
                                 "ef": "",
-                                "b_R_F":"",
+                                "b_R_F": "",
                                 "te": "",
                                 "tgTips": "",
                                 "drvTips": "",
@@ -3070,6 +3105,8 @@ export default {
                                 "tlf": "",
                                 "ect": "",
                                 "id": 1,
+                                "gwCount": "",
+                                "fyCount": ""
                             }
                         ]
                     }
@@ -3500,7 +3537,7 @@ export default {
 
             return new Promise(async (resolve, reject) => {
 
-                if(this.costTypevalue == 'A'){
+                if (this.costTypevalue == 'A') {
                     var sgrfilter = this.costTypeHotelNumbers.filter(x => {
                         return x.type == 'Default'
                     })[0];
@@ -3508,26 +3545,26 @@ export default {
                     //遍历 sgrfilter对象
                     for (var key in sgrfilter) {
                         var parNumber = Number(sgrfilter[key]);
-                        if(isNaN(parNumber)){
+                        if (isNaN(parNumber)) {
                             parNumber = 0;
-                        }else{
-                            if (key == 'tbr'){
+                        } else {
+                            if (key == 'tbr') {
                                 pNumber += parNumber * 2;
                             }
-                            if (key == 'sgr'){
-                                pNumber += parNumber ;
+                            if (key == 'sgr') {
+                                pNumber += parNumber;
                             }
-                            if (key == 'jses'){
-                                pNumber += parNumber ;
+                            if (key == 'jses') {
+                                pNumber += parNumber;
                             }
-                            if (key == 'suite'){
+                            if (key == 'suite') {
                                 pNumber += parNumber;
                             }
                         }
                     }
 
-                    console.log(pNumber,'pNumber-------------');
-                    if(this.grouptitleinfo.visitPNumber != pNumber){
+                    console.log(pNumber, 'pNumber-------------');
+                    if (this.grouptitleinfo.visitPNumber != pNumber) {
                         this.$message.error('团组人数与房间人数不一致!')
                         return resolve(false);
                     }
@@ -3582,7 +3619,7 @@ export default {
                         Data.groupCostParameters = [Aparam, Bparam];
                     }
 
-                    var ResultCostArr =  this.Dataformat();
+                    var ResultCostArr = this.Dataformat();
                     Data.groupCosts = ResultCostArr;
                     ////console.log(Data, "save-------Data");
 
@@ -4038,22 +4075,22 @@ export default {
                 var BtxtGWCSUITERS = (Bresult.hasOwnProperty("公务舱SUITE") ? Bresult["公务舱SUITE"] : 0)
 
 
-                if(BtxtJJCSGRRS > 0){
+                if (BtxtJJCSGRRS > 0) {
                     rightCheckArr.push('经济舱 SGR');
                 }
-                if(BlblGWCSGRRS > 0){
+                if (BlblGWCSGRRS > 0) {
                     rightCheckArr.push('公务舱 SGR');
                 }
-                if(BtxtJJCTBRRS > 0){
+                if (BtxtJJCTBRRS > 0) {
                     rightCheckArr.push('经济舱 TBR');
                 }
-                if(BtxtGWCJSESRS > 0){
+                if (BtxtGWCJSESRS > 0) {
                     rightCheckArr.push('公务舱 JSES');
                 }
-                if(BJJCSUITERS > 0){
+                if (BJJCSUITERS > 0) {
                     rightCheckArr.push('经济舱 SUITE');
                 }
-                if(BtxtGWCSUITERS > 0){
+                if (BtxtGWCSUITERS > 0) {
                     rightCheckArr.push('公务舱 SUITE');
                 }
 
@@ -4117,33 +4154,33 @@ export default {
             var JJCSUITERS = (result.hasOwnProperty("经济舱SUITE") ? result["经济舱SUITE"] : 0)
             var txtGWCSUITERS = (result.hasOwnProperty("公务舱SUITE") ? result["公务舱SUITE"] : 0)
 
-           
-            if(txtJJCSGRRS > 0){
+
+            if (txtJJCSGRRS > 0) {
                 rightCheckArr.push('经济舱 SGR');
             }
-            if(lblGWCSGRRS > 0){
+            if (lblGWCSGRRS > 0) {
                 rightCheckArr.push('公务舱 SGR');
             }
-            if(txtJJCTBRRS > 0){
+            if (txtJJCTBRRS > 0) {
                 rightCheckArr.push('经济舱 TBR');
             }
-            if(txtGWCJSESRS > 0){
+            if (txtGWCJSESRS > 0) {
                 rightCheckArr.push('公务舱 JSES');
             }
-            if(JJCSUITERS > 0){
+            if (JJCSUITERS > 0) {
                 rightCheckArr.push('经济舱 SUITE');
             }
-            if(txtGWCSUITERS > 0){
+            if (txtGWCSUITERS > 0) {
                 rightCheckArr.push('公务舱 SUITE');
             }
-            
+
             rightCheckArr.push('团组预算明细');
             rightCheckArr = [...new Set(rightCheckArr)];
 
-            try{
-                console.log('rightCheckArr',rightCheckArr);
+            try {
+                console.log('rightCheckArr', rightCheckArr);
                 this.CheckBoxListSelect.filter(item => item.cbType == 'Right')[0].cbValues = rightCheckArr;
-            }catch(e){}
+            } catch (e) { }
 
             this.cabinDatal[0].sheetInfo[0].toll = txtJJCTBRRS;
             this.cabinDatal[1].sheetInfo[0].toll = txtJJCSGRRS;
@@ -4292,7 +4329,7 @@ export default {
             }
         },
         NumberSetTime(number, index) {
-            ////console.log(number, index, this.grouptitleinfo.visitStartDate);
+            console.log(number, index, this.grouptitleinfo.visitStartDate);
             number = parseInt(number);
             if (!isNaN(number)) {
                 var time = this.addOneDay(this.grouptitleinfo.visitStartDate, number - 1)
@@ -4358,17 +4395,17 @@ export default {
                     cancelButtonText: '取消',
                     type: 'warning'
                 }).then(() => {
-                    if(label=='SGR'){
-                        this.costTypeHotelNumbers.filter(item => item.type == 'Default')[0].sgr=0
+                    if (label == 'SGR') {
+                        this.costTypeHotelNumbers.filter(item => item.type == 'Default')[0].sgr = 0
                     }
-                    if(label=='TBR'){
-                        this.costTypeHotelNumbers.filter(item => item.type == 'Default')[0].tbr=0
+                    if (label == 'TBR') {
+                        this.costTypeHotelNumbers.filter(item => item.type == 'Default')[0].tbr = 0
                     }
-                    if(label=='JS/ES'){
-                        this.costTypeHotelNumbers.filter(item => item.type == 'Default')[0].jses=0
+                    if (label == 'JS/ES') {
+                        this.costTypeHotelNumbers.filter(item => item.type == 'Default')[0].jses = 0
                     }
-                    if(label=='SUITE'){
-                        this.costTypeHotelNumbers.filter(item => item.type == 'Default')[0].suite=0
+                    if (label == 'SUITE') {
+                        this.costTypeHotelNumbers.filter(item => item.type == 'Default')[0].suite = 0
                     }
                     ////console.log('确定清空数据');
                     var fliterList = this.sumTopPrice.filter(x => x.label == label);
@@ -4419,6 +4456,8 @@ export default {
                             "tlf": "",
                             "ect": "",
                             "id": 1,
+                            "gwCount": "",
+                            "fyCount": ""
                         };
                         var prop = fliterList[0].prop;
                         var initval = obj[prop];
@@ -5010,6 +5049,8 @@ export default {
                 "tlf": "",
                 "ect": "",
                 "id": 1,
+                "gwCount": "",
+                "fyCount": ""
             };
 
             if (oper == 'UP') {
@@ -5077,6 +5118,8 @@ export default {
                 "tlf": 0,
                 "ect": 0,
                 "id": 1,
+                "gwCount": "",
+                "fyCount": ""
             };
             var numberList = [];
             for (var key in souer) {
@@ -5373,10 +5416,10 @@ export default {
                 if (this.columnTotalData[i].label == lable) {
                     var aT = Number(this.columnTotalData[i].totalPrice).toFixed(2);
                     var aS = Number(this.columnTotalData[i].singlePrice).toFixed(2);
-                    if(!isNaN(aT)){
-                        this.columnTotalData[i].totalPrice = 'A段费用' + aT +'\r\n B段费用' + total; 
+                    if (!isNaN(aT)) {
+                        this.columnTotalData[i].totalPrice = 'A段费用' + aT + '\r\n B段费用' + total;
                     }
-                    if(!isNaN(aS)){
+                    if (!isNaN(aS)) {
                         this.columnTotalData[i].singlePrice = 'A段费用' + aS + '\r\n B段费用' + single;
                     }
                     break
@@ -5384,11 +5427,11 @@ export default {
             }
         },
     },
-    updated(){
-        this.$emit('transfer',true)
+    updated() {
+        this.$emit('transfer', true)
     },
-    destroyed(){
-        this.$emit('transfer',false) 
+    destroyed() {
+        this.$emit('transfer', false)
     },
     mounted() {
         this.token = JSON.parse(localStorage.getItem('userinif')).token;
@@ -5404,7 +5447,7 @@ export default {
         }
 
         window.Vue = this;
-        
+
     },
     computed: {
         defaultCostTypeHotelNumber() {
@@ -5422,10 +5465,10 @@ export default {
             if (this.CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues.length < 22) {
                 return 74
             }
-            else if(22<=this.CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues.length < 26){
+            else if (22 <= this.CheckBoxListSelect.filter(item => item.cbType == 'Top')[0].cbValues.length < 26) {
                 return 59
-            } 
-            else{
+            }
+            else {
                 return 55
             }
         },
@@ -5482,11 +5525,12 @@ export default {
 }
 </script>
 <style lang="less" scoped>
-/deep/ .el-table th.el-table__cell > .cell {
-    white-space: pre-wrap; 
+/deep/ .el-table th.el-table__cell>.cell {
+    white-space: pre-wrap;
 }
+
 /deep/ .el-table--striped .el-table__body tr.el-table__row--striped td {
-	background: #F0F9FF;
+    background: #F0F9FF;
 }
 </style>
 <style>
@@ -5662,17 +5706,43 @@ export default {
 .tables .el-input--mini {
     font-size: 12px;
 }
-.tables .el-input__inner{
+
+.tables .el-input__inner {
     padding: 0;
     text-align: center;
 }
-.sheet-box .el-table th.el-table__cell>.cell{
+
+.sheet-box .el-table th.el-table__cell>.cell {
     font-size: 12px;
 }
-.sheet-box .el-input__inner{
+
+.sheet-box .el-input__inner {
     font-size: 12px;
 }
-.cost-all .el-form-item{
+
+.cost-all .el-form-item {
     margin-bottom: 5px;
 }
+.cost-all input::-webkit-inner-spin-button {
+    -webkit-appearance: none !important;
+
+}
+
+.cost-all input::-webkit-outer-spin-button {
+    -webkit-appearance: none !important;
+
+}
+
+.cost-all input[type="number"] {
+    -moz-appearance: textfield;
+
+}
+.btntop:hover{
+    cursor: pointer;
+    color: #000;
+}
+.btnbottom:hover{
+    cursor: pointer;
+    color: #000;
+}
 </style>

+ 52 - 1
src/components/Finance/DailyFeePayment.vue

@@ -46,6 +46,14 @@
                         </el-option>
                     </el-select>
                 </div>
+                <div class="feeType-box">
+                    <label>是否付款: </label>
+                    <el-select @change="downtrigger()" v-model="isPaySign" filterable placeholder="请输入总经理审核状态">
+                        <el-option key="-1" label="全部" value="-1"></el-option>
+                        <el-option key="0" label="未付款" value="0"></el-option>
+                        <el-option key="1" label="已付款" value="1"></el-option>
+                    </el-select>
+                </div>
                 <div class="feeType-box">
                     <label>费用描述:</label>
                     <el-input @input="downtrigger()" v-model="formInline.feeDesc" placeholder="费用描述"></el-input>
@@ -123,6 +131,13 @@
                         label="总经理审核"
                         width="100">
                     </el-table-column>
+                    <el-table-column
+                        label="是否付款"
+                        width="100">
+                        <template slot-scope="scope">
+                            {{ scope.row.isPay==1?'已付款':'未付款' }}
+                        </template>
+                    </el-table-column>
                     <el-table-column
                         prop="Id"
                         label="操 作">
@@ -223,6 +238,7 @@ export default {
                 }
             ],
             userNameValue:'',
+            isPaySign:"-1",//是否付款
             feeSubTypeData:[
                 {
                     id: -1,
@@ -288,7 +304,8 @@ export default {
                     feeTypeId: that.feeTypValue,           //费用类型
                     feeSubTypeId: that.feeSubTypeValue,       //费用子类型
                     feeDesc: that.formInline.feeDesc,    //描述
-                    createUserId: that.userNameValue //申请人
+                    createUserId: that.userNameValue, //申请人
+                    isPaySign:that.isPaySign //是否支付
                 }
             }).then(function (res) {
                 console.log(res)
@@ -372,9 +389,34 @@ export default {
         addDaily(){
             this.$router.push({ path: "/home/DailyFeeedit"});
         },
+        //编辑保存全局变量
         handleEdit(index, row) {
+            this.$store.state.PaymentRequest = {
+                feeTypValue:this.feeTypValue,
+                feeSubTypeValue:this.feeSubTypeValue,
+                financialValue:this.financialValue,
+                GMValue:this.GMValue,
+                feeDesc:this.formInline.feeDesc,
+                userNameValue:this.userNameValue,
+                isPaySign:this.isPaySign,
+                pgindex:this.currentPage,
+                pageSize:this.pageSize,
+            };
             this.$router.push({path: '/home/DailyFeeedit?id=' + row.id +''});
         },
+        //判断全局变量是否有值
+        estimatePaymentRequest(){
+            console.log(this.$store.state.PaymentRequest);
+            this.feeTypValue=this.$store.state.PaymentRequest.feeTypValue?this.$store.state.PaymentRequest.feeTypValue:-1;
+            this.feeSubTypeValue=this.$store.state.PaymentRequest.feeSubTypeValue?this.$store.state.PaymentRequest.feeSubTypeValue:-1;
+            this.financialValue=this.$store.state.PaymentRequest.financialValue?this.$store.state.PaymentRequest.financialValue:-1;
+            this.GMValue=this.$store.state.PaymentRequest.GMValue?this.$store.state.PaymentRequest.GMValue:-1;
+            this.formInline.feeDesc=this.$store.state.PaymentRequest.feeDesc?this.$store.state.PaymentRequest.feeDesc:'';
+            this.userNameValue=this.$store.state.PaymentRequest.userNameValue?this.$store.state.PaymentRequest.userNameValue:'';
+            this.isPaySign=this.$store.state.PaymentRequest.isPaySign?this.$store.state.PaymentRequest.isPaySign:'-1';
+            this.currentPage=this.$store.state.PaymentRequest.pgindex?this.$store.state.PaymentRequest.pgindex:1;
+            this.pageSize=this.$store.state.PaymentRequest.pageSize?this.$store.state.PaymentRequest.pageSize:10;
+        },
         handleDelete(index, row,rows) {
             console.log(index, row);
             this.$confirm('此操作将删除该条信息, 是否继续?', '提示', {
@@ -462,7 +504,16 @@ export default {
             });
         }
     },
+    beforeRouteLeave(to,from,next) {
+        if(to.name=='DailyFeeedit'){
+            next();
+        }else{
+            this.$store.state.PaymentRequest={};
+             next();
+        }
+    },
     created(){
+        this.estimatePaymentRequest();
         this.token = JSON.parse(localStorage.getItem('userinif')).token;
         this.userid=JSON.parse(localStorage.getItem('userinif')).userInfo.userId;
         this.judgmentpms();

+ 10 - 6
src/components/OP/OPgroup.vue

@@ -49,6 +49,14 @@
                             <div v-if="scope.row.department!='国交部'&&scope.row.department!='市场部'">{{ scope.row.department }}</div>
                         </template>
                     </el-table-column>
+                    <el-table-column
+                        prop="teamLev"
+                        label="级 别"
+                        width="70">
+                        <template slot-scope="scope">
+                            {{ scope.row.teamLev=='暂未定级'?'-':scope.row.teamLev }}
+                        </template>
+                    </el-table-column>
                     <el-table-column
                         prop="tourCode"
                         width="100"
@@ -64,11 +72,7 @@
                         label="团组类型"
                         width="110">
                     </el-table-column>
-                    <!-- <el-table-column
-                        prop="teamLev"
-                        label="级 别"
-                        width="80">
-                    </el-table-column> -->
+                    
                     <el-table-column
                         prop="teamName"
                         label="团队名称"
@@ -104,7 +108,7 @@
                         label="接团操作人"
                         width="110">
                     </el-table-column>
-                    <el-table-column label="操作">
+                    <el-table-column label="操作"  width="200">
                         <template slot-scope="scope">
                             <el-button
                             size="mini"

+ 1 - 1
src/components/OP/backwardtabke.vue

@@ -61,7 +61,7 @@
                         <el-date-picker v-model="datainfo.issueApprovalDt" type="date" placeholder="选择日期">
                         </el-date-picker>
                     </div>
-                    <div class="backward-li-span"><p style="line-height: 0px;padding: 0;">出批件</p><p  style="line-height: 0px;padding: 0;">护照办理</p></div>
+                    <div class="backward-li-span"><p style="line-height: 10px;padding: 0;">出批件</p><p  style="line-height: 10px;padding: 0;">护照办理</p></div>
                     <div class="backward-li-span">
                         <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2}" placeholder="请输入内容"
                             v-model="datainfo.issueApprovalRemark">

+ 20 - 0
src/components/OP/visaAgencyfee.vue

@@ -0,0 +1,20 @@
+<template>
+    <div class="visaAgencyfee-all">
+        <div></div>
+        签证代办
+    </div>
+</template>
+<script>
+export default {
+      
+}
+</script>
+<style>
+.visaAgencyfee-all {
+    background-color: #fff;
+    padding: 10px;
+    box-shadow: 0 0 5px #0005;
+    border-radius: 10px;
+    min-height: 830px;
+}
+</style>

+ 39 - 2
src/components/Resource/InvitationOfficialActivityData.vue

@@ -42,7 +42,7 @@
                 </div>
             </div>
             <template>
-                <el-table :data="tableData" border
+                <el-table height="680" :data="tableData" border
                     style="width: 100%;margin-top: 10px;" v-loading="loading" element-loading-text="拼命加载中...">
                     <el-table-column prop="num" label="序 号" width="55">
                         <template slot-scope="scope">
@@ -166,6 +166,15 @@ export default {
             },
         }
     },
+    beforeRouteLeave(to,from,next) {
+        if(to.name=='OpInvitationOfficialActivityData'){
+            next();
+        }else{
+            this.$store.state.Termsofinvitation={};
+             next();
+        }
+        console.log(this.$store.state.Termsofinvitation)
+    },
     methods: {
         //每页条数改变时触发 选择一页显示多少行
         handleSizeChange(val) {
@@ -253,11 +262,34 @@ export default {
                 return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0);
             };
         },
-
+        //查询添加vuex
         QueryData() {
+            this.$store.state.Termsofinvitation = {
+                Country:this.Country,
+                UnitName:this.UnitName,
+                Contact:this.Contact,
+                Delegation:this.Delegation,
+                CreateUserId:this.CreateUserId,
+                InviteTime:this.InviteTime,
+                Field:this.Field,
+
+            };
             this.currentPage = 1;
             this.QueryInvitationOfficialActivityData()
         },
+        //判断全局变量是否有值
+        estimatevuex(){
+            console.log(this.$store.state.Termsofinvitation);
+            this.Country=this.$store.state.Termsofinvitation.Country?this.$store.state.Termsofinvitation.Country:'';
+            this.UnitName=this.$store.state.Termsofinvitation.UnitName?this.$store.state.Termsofinvitation.UnitName:'';
+            this.Contact=this.$store.state.Termsofinvitation.Contact?this.$store.state.Termsofinvitation.Contact:'';
+            this.Delegation=this.$store.state.Termsofinvitation.Delegation?this.$store.state.Termsofinvitation.Delegation:'';
+            this.CreateUserId=this.$store.state.Termsofinvitation.CreateUserId?this.$store.state.Termsofinvitation.CreateUserId:'';
+            this.InviteTime=this.$store.state.Termsofinvitation.InviteTime?this.$store.state.Termsofinvitation.InviteTime:'';
+            this.Field=this.$store.state.Termsofinvitation.Field?this.$store.state.Termsofinvitation.Field:'';
+            this.currentPage=this.$store.state.Termsofinvitation.pgindex?this.$store.state.Termsofinvitation.pgindex:1;
+            this.pageSize=this.$store.state.Termsofinvitation.pageSize?this.$store.state.Termsofinvitation.pageSize:10;
+        },
         //基础数据
         QueryIOAInitData() {
             var url = "/api/Resource/QueryIOAInitData"
@@ -458,12 +490,17 @@ export default {
             });
         },
         upDate(index, row) {
+            this.$store.state.Termsofinvitation.pgindex=this.currentPage;
+            this.$store.state.Termsofinvitation.pageSize=this.pageSize;
             this.$router.push({
                 path: "/home/OpInvitationOfficialActivityData",
                 query: { id: row.id }
             })
         },
     },
+    created(){
+        this.estimatevuex()
+    },
     mounted() {
         this.QueryIOAInitData();
         this.token = JSON.parse(localStorage.getItem('userinif')).token;

+ 6 - 0
src/router/index.js

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

+ 2 - 0
src/store/index.js

@@ -11,6 +11,8 @@ const store = new Vuex.Store({
 		return {
 			phone :'',
             webSocketMsg:'1',
+            Termsofinvitation:{},//商邀表格全局变量
+            PaymentRequest:{},//日常付款全局变量
 		}
 	},
 	// 在 mutations 内封装数据更新方法