Explorar el Código

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

liuhj hace 1 año
padre
commit
eb0342d6c1
Se han modificado 1 ficheros con 122 adiciones y 26 borrados
  1. 122 26
      src/components/Finance/Cost.vue

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

@@ -25,7 +25,7 @@
                         <el-button type="primary" @click="GetPriceCheckWord">生成收款账单</el-button>
                         <el-button type="primary" @click="GetClientWord">导出客户报表</el-button>
                         <el-button type="primary" @click="GetGroupCostExcel">导出成本</el-button>
-                        <el-button type="primary">一键复制</el-button>
+                        <!-- <el-button type="primary">一键复制</el-button> -->
                         <el-button type="primary" @click="GroupIsShare">成本通知</el-button>
                         <el-button type="primary" @click="save">保存设置</el-button>
                     </div>
@@ -52,25 +52,25 @@
                         <el-form :inline="true" class="demo-form-inline" :rules="HotelRules" ref="DHotel"
                             :model="costTypeHotelNumbers.filter(item => item.type == 'Default')[0]">
                             <el-form-item label="TBR:" prop="tbr">
-                                <el-input
+                                <el-input @blur='inSelectChangeCheck'
                                     v-model.number="costTypeHotelNumbers.filter(item => item.type == 'Default')[0].tbr"
                                     placeholder="TBR"><i slot="suffix"
                                         style="font-style:normal;margin-right: 10px;">间</i></el-input>
                             </el-form-item>
                             <el-form-item label="SGR:" prop="sgr">
-                                <el-input
+                                <el-input @blur='inSelectChangeCheck'
                                     v-model.number="costTypeHotelNumbers.filter(item => item.type == 'Default')[0].sgr"
                                     placeholder="SGR"><i slot="suffix"
                                         style="font-style:normal;margin-right: 10px;">间</i></el-input>
                             </el-form-item>
                             <el-form-item label="JS/ES:" prop="jses">
-                                <el-input
+                                <el-input @blur='inSelectChangeCheck'
                                     v-model.number="costTypeHotelNumbers.filter(item => item.type == 'Default')[0].jses"
                                     placeholder="JS/ES"><i slot="suffix"
                                         style="font-style:normal;margin-right: 10px;">间</i></el-input>
                             </el-form-item>
                             <el-form-item label="SUITE:" prop="suite">
-                                <el-input
+                                <el-input @blur='inSelectChangeCheck'
                                     v-model.number="costTypeHotelNumbers.filter(item => item.type == 'Default')[0].suite"
                                     placeholder="SUITE"><i slot="suffix"
                                         style="font-style:normal;margin-right: 10px;">间</i></el-input>
@@ -111,7 +111,7 @@
                                 :model="costTypeHotelNumbers.filter(item => item.type == 'A')[0]">
                                 <el-col :span="3">
                                     <div><el-form-item label="TBR:" prop="tbr">
-                                            <el-input
+                                            <el-input @blur='inSelectChangeCheck'
                                                 v-model.number="costTypeHotelNumbers.filter(item => item.type == 'A')[0].tbr"
                                                 placeholder="TBR"><i slot="suffix"
                                                     style="font-style:normal;margin-right: 10px;">间</i></el-input>
@@ -119,7 +119,7 @@
                                 </el-col>
                                 <el-col :span="3">
                                     <div> <el-form-item label="SGR:" prop="sgr">
-                                            <el-input
+                                            <el-input @blur='inSelectChangeCheck'
                                                 v-model.number="costTypeHotelNumbers.filter(item => item.type == 'A')[0].sgr"
                                                 placeholder="SGR"><i slot="suffix"
                                                     style="font-style:normal;margin-right: 10px;">间</i></el-input>
@@ -127,7 +127,7 @@
                                 </el-col>
                                 <el-col :span="3">
                                     <div><el-form-item label="JS/ES:" prop="jses">
-                                            <el-input
+                                            <el-input @blur='inSelectChangeCheck'
                                                 v-model.number="costTypeHotelNumbers.filter(item => item.type == 'A')[0].jses"
                                                 placeholder="JS/ES"><i slot="suffix"
                                                     style="font-style:normal;margin-right: 10px;">间</i></el-input>
@@ -135,7 +135,7 @@
                                 </el-col>
                                 <el-col :span="3">
                                     <div><el-form-item label="SUITE:" prop="suite">
-                                            <el-input
+                                            <el-input @blur='inSelectChangeCheck'
                                                 v-model.number="costTypeHotelNumbers.filter(item => item.type == 'A')[0].suite"
                                                 placeholder="SUITE"><i slot="suffix"
                                                     style="font-style:normal;margin-right: 10px;">间</i></el-input>
@@ -177,7 +177,7 @@
                                 <el-col :span="3">
                                     <div>
                                         <el-form-item label="TBR:" prop="tbr">
-                                            <el-input
+                                            <el-input @blur='inSelectChangeCheck'
                                                 v-model.number="costTypeHotelNumbers.filter(item => item.type == 'B')[0].tbr"
                                                 placeholder="TBR"><i slot="suffix"
                                                     style="font-style:normal;margin-right: 10px;">间</i></el-input>
@@ -186,7 +186,7 @@
                                 </el-col>
                                 <el-col :span="3">
                                     <div> <el-form-item label="SGR:" prop="sgr">
-                                            <el-input
+                                            <el-input @blur='inSelectChangeCheck'
                                                 v-model.number="costTypeHotelNumbers.filter(item => item.type == 'B')[0].sgr"
                                                 placeholder="SGR"><i slot="suffix"
                                                     style="font-style:normal;margin-right: 10px;">间</i></el-input>
@@ -194,7 +194,7 @@
                                 </el-col>
                                 <el-col :span="3">
                                     <div><el-form-item label="JS/ES:" prop="jses">
-                                            <el-input
+                                            <el-input @blur='inSelectChangeCheck'
                                                 v-model.number="costTypeHotelNumbers.filter(item => item.type == 'B')[0].jses"
                                                 placeholder="JS/ES"><i slot="suffix"
                                                     style="font-style:normal;margin-right: 10px;">间</i></el-input>
@@ -202,7 +202,7 @@
                                 </el-col>
                                 <el-col :span="3">
                                     <div><el-form-item label="SUITE:" prop="suite">
-                                            <el-input
+                                            <el-input @blur='inSelectChangeCheck'
                                                 v-model.number="costTypeHotelNumbers.filter(item => item.type == 'B')[0].suite"
                                                 placeholder="SUITE"><i slot="suffix"
                                                     style="font-style:normal;margin-right: 10px;">间</i></el-input>
@@ -567,9 +567,10 @@
                                                         <span v-if="itemcabinone.tips">
                                                             <el-popover placement="top-start"
                                                                 :title="itemcabinone.title" width="200" trigger="hover">
-                                                                <span style="color:green">{{ itemcabinone.tips
-                                                                    }}</span>
-                                                                元/人
+                                                                <span v-if="itemcabinone.tips != '暂无!'"
+                                                                    style="color:green">{{ itemcabinone.tips
+                                                                    }}元/人</span>
+                                                                <span v-else style="color: red">暂无!</span>
                                                                 <span slot="reference">{{ scope.row[itemcabinone.prop]
                                                                     }}</span>
                                                             </el-popover>
@@ -2568,6 +2569,9 @@ export default {
                     that.options = resp.data.data.groupList;
                     that.grouptitleinfo = resp.data.data.groupInfo.data;
                     that.diid = that.grouptitleinfo.id;
+                    localStorage.setItem('costLoadData', JSON.stringify({
+                        diid: that.diid
+                    }))
                     that.QueryRate();
 
                     for (var i = 0; i < that.CheckBoxListSelect.length; i++) {
@@ -2664,12 +2668,12 @@ export default {
                         if (acostvalue != undefined) {
                             that.AGroupCostParameter = acostvalue;
                             var result = Number(that.AGroupCostParameter.currency);
-                            if(isNaN(result)){
+                            if (isNaN(result)) {
 
-                            }else{
+                            } else {
                                 that.AGroupCostParameter.currency = result;
                             }
-                            
+
                         } else {
                             that.AGroupCostParameter = {
                                 "id": 0,
@@ -3050,10 +3054,23 @@ export default {
                                 that.sheetDatal[m].childList[0].tips = "暂无!";
                             }
                         }
+
+                        for (var i = 0; i < that.cabinDatal.length; i++) {
+                            if (that.cabinDatal[i].label.indexOf('经济舱') != -1) {
+                                that.cabinDatal[i].childList[3].tips = '暂无!'
+                            }
+                            if (that.cabinDatal[i].label.indexOf('公务舱') != -1) {
+                                that.cabinDatal[i].childList[3].tips = '暂无!'
+                            }
+                        }
+
                         that.ShowBaoPi = [];
                     }
 
+                    that.GivePeopleNumber();
+
                 }
+                that.inSelectChangeCheck();
                 that.costloading = false;
             }).catch(err => {
                 that.costloading = false;
@@ -3141,10 +3158,10 @@ export default {
                             resolve(false);
                         }
 
-                        var result  = Number(that.AGroupCostParameter.currency);
-                        if(isNaN(result)){
+                        var result = Number(that.AGroupCostParameter.currency);
+                        if (isNaN(result)) {
 
-                        }else{
+                        } else {
                             that.AGroupCostParameter.currency = result;
                         }
                     })
@@ -4195,9 +4212,9 @@ export default {
             }
 
             var resultCurr = Number(this.AGroupCostParameter.currency);
-            if(isNaN(resultCurr)){
+            if (isNaN(resultCurr)) {
                 resultCurr = this.AGroupCostParameter.currency;
-            }else{
+            } else {
                 for (let index = 0; index < this.currencyOption.length; index++) {
                     if (this.currencyOption[index].currencyId == resultCurr) {
                         resultCurr = this.currencyOption[index].currencyCode;
@@ -4746,13 +4763,92 @@ export default {
                     break;
                 }
             }
+        },
+        inSelectChangeCheck() {
+            console.log('inSelectChangeCheck');
+            var arr = [];
+            var pusharr = [];
+            if (this.costTypevalue == 'A') {
+                var defaultP = this.costTypeHotelNumbers.filter(item => item.type == 'Default')[0];
+
+                if (defaultP.sgr == 0) {
+                    arr.push('酒店SGR');
+                } else {
+                    pusharr.push('酒店SGR');
+                }
+                if (defaultP.tbr == 0) {
+                    arr.push('酒店TBR');
+                } else {
+                    pusharr.push('酒店TBR');
+                }
+                if (defaultP.jses == 0) {
+                    arr.push('酒店JSES');
+                } else {
+                    pusharr.push('酒店JSES');
+                }
+                if (defaultP.suite == 0) {
+                    arr.push('酒店SUITE');
+                }
+                else {
+                    pusharr.push('酒店SUITE');
+                }
+
+            } else {
+                var HotelA = this.costTypeHotelNumbers.filter(item => item.type == 'A')[0];
+                var HotelB = this.costTypeHotelNumbers.filter(item => item.type == 'B')[0];
+                if (HotelA.sgr == 0 && HotelB.sgr == 0) { arr.push('酒店SGR'); } else {
+                    pusharr.push('酒店SGR');
+                }
+                if (HotelA.tbr == 0 && HotelB.tbr == 0) { arr.push('酒店TBR'); } else {
+                    pusharr.push('酒店TBR');
+                }
+                if (HotelA.jses == 0 && HotelB.jses == 0) { arr.push('酒店JSES'); } else {
+                    pusharr.push('酒店JSES');
+                }
+                if (HotelA.suite == 0 && HotelB.suite == 0) { arr.push('酒店SUITE'); } else {
+                    pusharr.push('酒店SUITE');
+                }
+
+            }
+
+            var leftCheck = this.CheckBoxListSelect.filter(item => item.cbType == 'Left')[0].cbValues;
+            var resultArr = leftCheck.filter(item => !arr.includes(item));
+            resultArr = [...resultArr, ...pusharr];
+            resultArr = [...new Set(resultArr)];
+            console.log('resultArr', resultArr);
+            this.CheckBoxListSelect.filter(item => item.cbType == 'Left')[0].cbValues = resultArr;
+        },
+        GivePeopleNumber() {
+            var number = this.grouptitleinfo.visitPNumber;
+            if (this.AGroupCostParameter.visaRS == 0) {
+                this.AGroupCostParameter.visaRS = number;
+            }
+            if (this.AGroupCostParameter.bxrs == 0) {
+                this.AGroupCostParameter.bxrs = number;
+            }
+            if (this.AGroupCostParameter.djrs == 0) {
+                this.AGroupCostParameter.djrs = number;
+            }
+            if (this.AGroupCostParameter.lyjrs == 0) {
+                this.AGroupCostParameter.lyjrs = number;
+            }
+            if (this.AGroupCostParameter.gwrs == 0) {
+                this.AGroupCostParameter.gwrs = number;
+            }
         }
     },
     mounted() {
-
         this.token = JSON.parse(localStorage.getItem('userinif')).token;
         this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId
-        this.loadData(-1);
+        var costLoadData = localStorage.getItem('costLoadData');
+        if (costLoadData) {
+            var JSONP = JSON.parse(costLoadData);
+            var diidP = Number(JSONP.diid);
+            this.loadData(isNaN(diidP) ? -1 : diidP);
+        } else {
+            this.loadData(-1);
+        }
+
         window.Vue = this;
     },
     computed: {