Browse Source

0402-1556lhj

liuhj 1 year ago
parent
commit
784cc789b3

+ 67 - 4
src/components/OP/AirTicketRes.vue

@@ -35,6 +35,26 @@
                     <span style="color:#606266;">{{ delegationInfo.visitDays }}天/{{ delegationInfo.visitPNumber }}人</span>
                 </div>
             </div>
+            <div class="costbudgeting">
+                <span>*团组成本预算-机票的预算:</span>
+                <div v-if="budgeting.length>1">
+                    <div class="costbudgeting-li" v-for="(item,index) in budgeting" :key="index">
+                        <span>({{item.costType}}段)</span>
+                        <span>时间:{{item.costTypeStartTime}} ~ {{item.costTypeEndTime}}</span>
+                        <span v-for="(items,index) in item.data" :key="index">&nbsp;&nbsp;&nbsp;{{items.airType}}:{{townum(items.airDRCB)}}元/人&nbsp;&nbsp;&nbsp;{{items.airNum}}人&nbsp;&nbsp;&nbsp;共:{{townum(items.airZCB)}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
+                    </div>
+                </div>
+                <div v-if="budgeting.length<=1">
+                    <div class="costbudgeting-li" v-for="(item,index) in budgeting" :key="index">
+                        <span v-for="(items,index) in item.data" :key="index">{{items.airType}}:{{townum(items.airDRCB)}}元/人&nbsp;&nbsp;&nbsp;{{items.airNum}}人&nbsp;&nbsp;&nbsp;共:{{townum(items.airZCB)}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
+                    </div>
+                </div>
+                <div v-if="budgeting.length==0">
+                    <div class="costbudgeting-li">
+                        未设置团组成本或成本未通知
+                    </div>
+                </div>
+            </div>
             <template>
                 <el-table :data="tableDatas.slice((currentPage - 1) * pageSize, currentPage * pageSize)" border
                     style="width: 100%" v-loading="loading" element-loading-text="拼命加载中...">
@@ -53,12 +73,12 @@
                     </el-table-column>
                     <el-table-column prop="prePrice,preCurrencyStr" label="机票单价" width="120" sortable>
                         <template slot-scope="scope">
-                            {{ scope.row.prePrice }}({{ scope.row.preCurrencyStr }})
+                            {{ townum(scope.row.prePrice) }}({{ scope.row.preCurrencyStr }})
                         </template>
                     </el-table-column>
                     <el-table-column prop="price,currencyStr" label="机票总价" width="120">
                         <template slot-scope="scope">
-                            {{ scope.row.price }}({{ scope.row.currencyStr }})
+                            {{ townum(scope.row.price) }}({{ scope.row.currencyStr }})
                         </template>
                     </el-table-column>
                     <el-table-column prop="isAuditGM" label="是否审核" width="120">
@@ -103,10 +123,43 @@ export default {
             DiId: '',
             AirTicketResSelectData: [],
             delegationInfo: {},
-            fynone:true
+            fynone:true,
+            budgeting:[]
         }
     },
     methods: {
+        btn(){
+            console.log(this.budgeting.length)
+        },
+        //保留两位小数
+        townum(val){
+            return val.toFixed(2)
+        },
+        //获取成本提示
+        getcostbudgeting(){
+            this.budgeting=[];
+            var url = "/api/Groups/PostGroupCostModulePrompt"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    userId: that.userId,
+                    diId: that.DiId,
+                    cTable:85,
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    console.log(res)
+                    that.budgeting=res.data.data.modulePromptInfos;
+                } else {
+                    // that.$message.error(res.data.msg);
+                }
+            })
+        },
         //每页条数改变时触发 选择一页显示多少行
         handleSizeChange(val) {
             this.currentPage = 1;
@@ -141,7 +194,8 @@ export default {
                         } else {
                             that.DiId = that.AirTicketResSelectData[0].id;
                         }
-                        that.AirTicketResList()
+                        that.AirTicketResList();
+                        that.getcostbudgeting();
                     }
 
                 }
@@ -151,6 +205,7 @@ export default {
         },
         AirTicketResSelectChange() {
             this.AirTicketResList();
+            this.getcostbudgeting();
         },
         //团组信息绑定
         AirTicketResList() {
@@ -343,6 +398,7 @@ export default {
     box-shadow: 0 0 5px #0005;
     border-radius: 10px;
     min-height: 830px;
+    
 }
 
 .communal-title {
@@ -366,4 +422,11 @@ export default {
     margin-left: 10px;
     padding: 8px 20px;
 }
+.costbudgeting{
+    color: red;
+    font-size: 14px;
+}
+.costbudgeting-li{
+    margin: 5px 0;
+}
 </style>

+ 5 - 1
src/components/OP/Customers.vue

@@ -54,7 +54,7 @@
                     </el-table-column>
                     <el-table-column prop="insuranceCosts,currencyStr" label="保险费用">
                         <template slot-scope="scope">
-                            {{ scope.row.insuranceCosts }}({{ scope.row.currencyStr }})
+                            {{  townum(scope.row.insuranceCosts) }}({{ scope.row.currencyStr }})
                         </template>
                     </el-table-column>
                     <el-table-column prop="isAuditGMStr" label="是否审核">
@@ -107,6 +107,10 @@ export default {
         }
     },
     methods: {
+        //保留两位小数
+        townum(val){
+            return val.toFixed(2)
+        },
         //每页条数改变时触发 选择一页显示多少行
         handleSizeChange(val) {
             this.currentPage = 1;

+ 3 - 2
src/components/OP/DecreasePayments.vue

@@ -4,11 +4,11 @@
             <div>
 
                 <div class="communal-title">
-                    <div>团组增减款项</div>
+                    <div>其他款项</div>
                 </div>
                 <div style="display: flex;">
                     <div style="width: 90%;">
-                        <el-select style="width:400px" v-model="DiId" placeholder="团组选择" clearable filterable @change="DecreasePaymentsChange">
+                        <el-select style="width:300px" v-model="DiId" placeholder="团组选择" clearable filterable @change="DecreasePaymentsChange">
                             <el-option v-for="item in delegationInfoList" :key="item.id" :label="item.teamName"
                                 :value="item.id">
                             </el-option>
@@ -156,6 +156,7 @@ export default {
                     Authorization: 'Bearer ' + this.token
                 },
                 data: {
+                    userId:that.userId,
                     diId: that.DiId
                 }
             }).then(function (res) {

+ 70 - 2
src/components/OP/OpAirTicketRes.vue

@@ -5,7 +5,27 @@
                 <div>{{ title }}</div>
             </div>
         </div>
-        <div style="display: flex;">
+        <div class="opcostbudgeting">
+            <span>*团组成本预算-机票的预算:</span>
+            <div v-if="budgeting.length>1">
+                <div class="opcostbudgeting-li" v-for="(item,index) in budgeting" :key="index">
+                    <span>({{item.costType}}段)</span>
+                    <span>时间:{{item.costTypeStartTime}} ~ {{item.costTypeEndTime}}</span>
+                    <span v-for="(items,index) in item.data" :key="index">&nbsp;&nbsp;&nbsp;{{items.airType}}:{{townum(items.airDRCB)}}元/人&nbsp;&nbsp;&nbsp;{{items.airNum}}人&nbsp;&nbsp;&nbsp;共:{{townum(items.airZCB)}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
+                </div>
+            </div>
+            <div v-if="budgeting.length<=1">
+                <div class="opcostbudgeting-li" v-for="(item,index) in budgeting" :key="index">
+                    <span v-for="(items,index) in item.data" :key="index">{{items.airType}}:{{townum(items.airDRCB)}}元/人&nbsp;&nbsp;&nbsp;{{items.airNum}}人&nbsp;&nbsp;&nbsp;共:{{townum(items.airZCB)}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
+                </div>
+            </div>
+            <div v-if="budgeting.length==0">
+                <div class="opcostbudgeting-li">
+                    未设置团组成本或成本未通知
+                </div>
+            </div>
+        </div>
+        <!-- <div style="display: flex;">
             <div style="text-align:left;font-size: 17px;font-weight: 600;color: #555;">
                 团组成本预算 - 机票的预算:
             </div>
@@ -20,7 +40,7 @@
             <div style="margin-left:20px;" v-else>
                 团组成本暂未开放此团数据!
             </div>
-        </div>
+        </div> -->
         <hr style='background-color:#5555; height:1px; border:none;' />
         <div>
             <el-form :model="delegationInfo" label-width="100px" class="demo-ruleForm">
@@ -518,9 +538,14 @@ export default {
             },
             IsAuditGM: 0,
             rateList: [],
+            budgeting:[]
         }
     },
     methods: {
+        //保留两位小数
+        townum(val){
+            return val.toFixed(2)
+        },
         clientNamechange(val) {
             console.log(val.length)
             this.airTicketResOpData.clientNum = val.length;
@@ -553,6 +578,7 @@ export default {
                     that.cardPaymentOpData.bankNo=that.cardType[0].remark;
                     that.airTicketAgents = res.data.data.airTicketAgents//合作方资料下拉框
                     that.DiIdSelect = parseInt(that.DiId); //选中团组
+                    that.getcostbudgeting();
                     //that.QueryTankType();
                 }
 
@@ -560,9 +586,35 @@ export default {
         },
         //团组切换
         AirTicketResChange() {
+            this.getcostbudgeting();
             this.AirTicketResList();
             this.QueryClient();
         },
+        //获取成本提示
+        getcostbudgeting(){
+            this.budgeting=[];
+            var url = "/api/Groups/PostGroupCostModulePrompt"
+            var that = this
+            this.$axios({
+                method: 'post',
+                url: url,
+                headers: {
+                    Authorization: 'Bearer ' + this.token
+                },
+                data: {
+                    userId: that.userId,
+                    diId: this.DiIdSelect ? this.DiIdSelect : this.DiId,
+                    cTable:85,
+                }
+            }).then(function (res) {
+                if (res.data.code == 200) {
+                    console.log(res)
+                    that.budgeting=res.data.data.modulePromptInfos;
+                } else {
+                    // that.$message.error(res.data.msg);
+                }
+            })
+        },
         //团组基础信息以及成本信息
         AirTicketResList() {
             this.fullscreenLoading=true;
@@ -984,6 +1036,15 @@ export default {
         },
         //加载团组客户名单
         QueryClient() {
+            this.clientNameId= [
+                {
+                    firstName: "程单",
+                    id: -1,
+                    lastName: "行",
+                    phone: "行程单",
+                    pinyin: "行程单"
+                }
+            ]
             var url = "/api/Groups/QueryClientInfoByDIID"
             var that = this
             this.$axios({
@@ -1134,6 +1195,13 @@ export default {
     box-shadow: 0 0 5px #0005;
     border-radius: 10px;
 }
+.opcostbudgeting{
+    color: red;
+    font-size: 14px;
+}
+.opcostbudgeting-li{
+    margin: 5px 0;
+}
 
 @media screen and (max-width: 1700px) {
     .appraise-box>div {

+ 2 - 2
src/components/OP/OpVisaPriec.vue

@@ -62,9 +62,9 @@
             <el-form :model="OpVisaPriceData" ref="OpVisaPriceData" :rules="OpVisaPriceDataRules" label-width="100px"
                 class="demo-ruleForm">
                 <div style="width: 100%;">
-                    <el-form-item label="此舱位客人名称:" prop="visaClient" label-width="160px">
+                    <el-form-item label="签证客户:" prop="visaClient" label-width="160px">
                         <el-select @change="clientNamechange" style="width: 100%;" v-model="OpVisaPriceData.visaClient"
-                            placeholder="此舱位客人名称" multiple clearable filterable>
+                            placeholder="签证客户" multiple clearable filterable>
                             <el-option v-for="item in fliterClient" :key="item.id"
                                 :label="item.lastName + item.firstName" :value="item.id">
                             </el-option>

+ 2 - 2
src/components/Resource/TicketBlackCode.vue

@@ -8,14 +8,14 @@
                 </div>
                 <div style="display: flex;justify-content: space-between;">
                     <div style="width: 60%;">
-                        <el-select v-model="DiId" placeholder="团组选择" clearable filterable
+                        <el-select style="width:300px" v-model="DiId" placeholder="团组选择" clearable filterable
                             @change="AirTicketResSelectChange">
                             <el-option v-for="item in DelegationSelect" :key="item.id" :label="item.groupName"
                                 :value="item.id">
                             </el-option>
                         </el-select>
                     </div>
-                    <div style="width: 20%;">
+                    <div style="width: 20%;text-align: right;">
                         <el-button type="primary" style="margin-left: 10px;" @click="addIf">新增</el-button>
                     </div>
                 </div>