Commit ad494baf authored by 黄媛媛's avatar 黄媛媛
parents 6d52f331 32176414
......@@ -100,6 +100,13 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="是否有手配费">
<el-switch v-model="addMsg.IsHaveShouPeiFee" :active-value="inActive" :inactive-value="notInActive">
</el-switch>
</el-form-item>
<el-form-item v-if="addMsg.IsHaveShouPeiFee==1" label="手配费金额">
<el-input type="text" class="w300" maxlength="10" @keyup.native="checkPrice(addMsg,'ShouPeiMoney')" v-model="addMsg.ShouPeiMoney"></el-input>
</el-form-item>
<el-form-item :label="$t('hotel.table_tel')" prop="Tel">
<el-input type="text" class="w300" maxlength="20" v-model="addMsg.Tel"></el-input>
</el-form-item>
......@@ -172,6 +179,9 @@ export default {
deleteID: "",
typeList: "",
TypeOne: "",
inActive: 1, //有手配费
notInActive: 0, //无手配费
msg: {
pageIndex: 1,
pageSize: 18,
......@@ -196,7 +206,11 @@ export default {
Fax: "",
Remark: "",
Type: "1",
PayType:""
PayType:'',
//是否有手配费
IsHaveShouPeiFee:0,
//手配费金额
ShouPeiMoney:0
},
//付款方式
PayTypeList:[{
......@@ -278,6 +292,9 @@ export default {
);
},
saveInfo() {
if(this.addMsg.ShouPeiMoney==''){
this.addMsg.ShouPeiMoney=0;
}
this.apipost(
"supplier_post_Set",
this.addMsg,
......@@ -306,7 +323,9 @@ export default {
Fax: "",
Remark: "",
Type: 1,
PayType:""
PayType:'',
IsHaveShouPeiFee:0,
ShouPeiMoney:0
}),
(this.provinceList = "");
this.cityList = "";
......
......@@ -23,7 +23,7 @@
<li>
<input v-if="IsOperation!=1" type="button" class="fr normalBtn mb30" value="保存" @click="saveList(1)" />
<input style="display:none;" type="button" class="fr normalBtn mb30" value="保存" @click="saveList(1)" />
<span v-if="IsOperation==1" style="color:red;font-size:14px;">已制单,不能修改!</span>
<span v-if="IsOperation==1" style="color:red;font-size:14px;">已制单,不能修改!</span>
</li>
</ul>
税别计算: 单价 * (预订人数-免减人数) * (1 + 0.08 - 返佣比例 / 100) <br />
......@@ -47,7 +47,7 @@
<th width="100">房间类型</th>
<th width="80">房间<br />预定数</th>
<th width="80">预定人数</th>
<th width="80">尚差<br />房间数</th>
<!-- <th width="80">尚差<br />房间数</th> -->
<th width="80">单价/每人</th>
<th width="80">免减人数</th>
<th width="80">金额小计</th>
......@@ -143,7 +143,7 @@
供应商
</td>
<td>
<el-select class='w120 sel' v-model='subItem.SupplierId' filterable placeholder="请选择供应商">
<el-select class='w120 sel' v-model='subItem.SupplierId' @change="getSupplierShoupei(subItem)" filterable placeholder="请选择供应商">
<el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option>
<el-option v-for="(SupplierItem,Supplierindex) in SupplierList" :key="Supplierindex"
:label="SupplierItem.Name" :value="SupplierItem.ID">
......@@ -156,13 +156,8 @@
</tr>
<tr>
<td colspan="2">
<p style="padding-top: 5px;">
<a v-if="subItem.ContractUrl" target="_blank" :href="subItem.ContractUrl">手配书</a>
</p>
<el-upload :http-request="uploadFileBtnS" :multiple="false" :show-file-list="false" action=''>
<el-button size="small" type="danger" @click='getItem(index, subIndex)'>
{{!subItem.ContractUrl ? '上传手配书' : '重新上传手配书'}}</el-button>
</el-upload>
<span v-if="subItem.IsHaveShouPeiFee==0" style="color:red;">暂无手配费</span>
<span v-if="subItem.IsHaveShouPeiFee==1" style="color:red;">手配费:{{subItem.ShouPeiMoney}}</span>
</td>
</tr>
</table>
......@@ -194,12 +189,12 @@
</el-input>
</td>
<!-- 尚差房间数 -->
<td>
<!-- <td>
<p class="pHouseStyle"
:class="{colorRed:childItem.HouseTypeCount-subItem.HouseStatistics.HouseTypeList[childIndex].HouseTypeCount<0}">
{{childItem.HouseTypeCount-subItem.HouseStatistics.HouseTypeList[childIndex].HouseTypeCount}}
</p>
</td>
</td> -->
<!-- 单价/每人 -->
<td>
<el-input @keyup.native="checkInteger(childItem,'UnitPrice')" class='w60 tcenter'
......@@ -408,6 +403,15 @@
</span>
</td>
</tr>
<tr v-if="CurrentUserInfo.EmployeeId == 615">
<td width="70" style="text-align:right;">是否同步更新房间数:</td>
<td>
<el-select class='w135 sel' v-model='subItem.IsSyncHotelCount'>
<el-option label='同步更新' :value='0'></el-option>
<el-option label='不更新' :value='1'></el-option>
</el-select>
</td>
</tr>
</table>
</td>
<!-- 操作 -->
......@@ -438,6 +442,10 @@
</template>
</template>
</table>
<div class="noDataNotice" v-if="list.length<1">
<i class="iconfont icon-kong"></i>
<p>{{$t('active.ld_noData')}}</p>
</div>
</div>
</div>
</template>
......@@ -468,8 +476,6 @@
ClickItem: {},
offsetwidth: 0,
parentEle: '',
checkedIndex: '',
checkedsubIndex: '',
loading: false,
boxHeight: 0,
//合团的团期编号
......@@ -585,25 +591,6 @@
var day = Math.abs(parseInt(days / (1000 * 60 * 60 * 24)));
return day;
},
getItem(index, subIndex) {
this.checkedIndex = index
this.checkedsubIndex = subIndex
},
uploadFileBtnS(file) { //手配书上传
let that = this
let newArr = []
newArr.push(file.file)
let path = '/Upload/Temporary/'
this.$message.info('上传中...')
this.UploadSelfFileT(path, newArr, x => {
this.list[this.checkedIndex].HotelOrderList[this.checkedsubIndex].ContractUrl = this.domainManager()
.ViittoFileUrl + x.data.FilePath
this.$message.success(x.data.Message)
let newlist = JSON.parse(JSON.stringify(this.list))
this.list = newlist
this.$forceUpdate()
})
},
//添加酒店
AddHotel(item, subIndex) {
var subItem = JSON.parse(JSON.stringify(item.HotelOrderList[subIndex]));
......@@ -731,14 +718,20 @@
}
subItem.isShowPop = false;
subItem.ckedHotelName = "";
//遍历手配
this.SupplierList.forEach(x=>{
if(x.ID==subItem.SupplierId){
subItem.IsHaveShouPeiFee = x.IsHaveShouPeiFee;
subItem.ShouPeiMoney = x.ShouPeiMoney;
}
})
})
});
this.list = list;
this.$forceUpdate();
}
} else {
this.$message.error(res.data.message);
this.Error(res.data.message);
}
this.loading = false
}, err => {})
......@@ -920,6 +913,15 @@
}
}, err => {});
},
//改变id获取手配价格
getSupplierShoupei(SubItem){
this.SupplierList.forEach(x=>{
if(x.ID==SubItem.SupplierId){
SubItem.IsHaveShouPeiFee=x.IsHaveShouPeiFee;
SubItem.ShouPeiMoney=x.ShouPeiMoney;
}
})
}
},
mounted() {
let userInfo = this.getLocalStorage()
......
......@@ -304,6 +304,10 @@
<td v-if="childIndex==0" :rowspan="6">
<span>{{subItem.SupplierName}} <span v-if="subItem.SupplierPayType !== 0"
:style="{'color': subItem.SupplierPayType == 2 ? '#E95252': '#111111'}">{{subItem.SupplierPayType == 2 ? '签单' : '现付'}}</span></span>
<div v-if="subItem.IsHaveShouPeiFee==0" style="color:red;">暂无手配费</div>
<div v-if="subItem.IsHaveShouPeiFee==1" style="color:red;">手配费:{{subItem.ShouPeiMoney}}</div>
</td>
<td v-if="childIndex==0" :rowspan="6">
<template v-if="subItem.DMCState==1">
......@@ -895,9 +899,8 @@
x.CostProject = x.CostProject.toString();
});
}
} else {
this.$message.error(res.data.message);
this.Error(res.data.message);
}
}, err => {})
},
......
......@@ -268,6 +268,23 @@
</el-option>
</el-select>
</el-form-item>
<div class="cn_name clearfix">
<el-form-item :label="$t('admin.admin_Surname')" prop="Surname" class="name_input">
<el-input v-model="addMsg.Surname" :placeholder="$t('admin.admin_xing')" v-on:input="setEngName(1,addMsg.Surname)"></el-input>
</el-form-item>
<el-form-item prop="Name" class="name_input">
<el-input v-model="addMsg.Name" :placeholder="$t('admin.admin_ming')" v-on:input="setEngName(2,addMsg.Name)"></el-input>
</el-form-item>
</div>
<div class="cn_name clearfix">
<el-form-item :label="$t('admin.admin_EnSurname')" prop="EnSurname" class="name_input">
<el-input v-model="addMsg.EnSurname" :placeholder="$t('admin.admin_xing')"></el-input>
</el-form-item>
<el-form-item prop="EnName" class="name_input">
<el-input v-model="addMsg.EnName" :placeholder="$t('admin.admin_ming')"></el-input>
</el-form-item>
</div>
<el-form-item :label="$t('admin.admin_language')" class='multiple_input LanguageList' v-if="addMsg.Type==3">
<el-select v-model="LanguageIdS" multiple :placeholder="$t('admin.admin_phlanguage')" class="w210">
<el-option v-for='item in LanguageList' :key="item.ID" :label="item.Name" :value="item.ID">
......@@ -292,28 +309,12 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('system.table_acc')" prop="EmployeeId">
<!-- <el-form-item :label="$t('system.table_acc')" prop="EmployeeId">
<el-select v-model="addMsg.EmployeeId" filterable :placeholder="$t('admin.admin_choAcc')" class="w210">
<el-option v-for='item in EmployeeList' :key="item.EmployeeId" :label="item.EmName" :value="item.EmployeeId">
</el-option>
</el-select>
</el-form-item>
<div class="cn_name clearfix">
<el-form-item :label="$t('admin.admin_Surname')" prop="Surname" class="name_input">
<el-input v-model="addMsg.Surname" :placeholder="$t('admin.admin_xing')" v-on:input="setEngName(1,addMsg.Surname)"></el-input>
</el-form-item>
<el-form-item prop="Name" class="name_input">
<el-input v-model="addMsg.Name" :placeholder="$t('admin.admin_ming')" v-on:input="setEngName(2,addMsg.Name)"></el-input>
</el-form-item>
</div>
<div class="cn_name clearfix">
<el-form-item :label="$t('admin.admin_EnSurname')" prop="EnSurname" class="name_input">
<el-input v-model="addMsg.EnSurname" :placeholder="$t('admin.admin_xing')"></el-input>
</el-form-item>
<el-form-item prop="EnName" class="name_input">
<el-input v-model="addMsg.EnName" :placeholder="$t('admin.admin_ming')"></el-input>
</el-form-item>
</div>
</el-form-item> -->
<el-form-item :label="$t('admin.admin_IDcard')" prop="IdCard" class="other_input">
<el-input type="text" v-model="addMsg.IdCard" :placeholder="$t('admin.admin_phIDcard')" class="w210"></el-input>
</el-form-item>
......@@ -337,6 +338,9 @@
<el-form-item :label="$t('pub.mbPhoneNum')" prop="MobilePhone" class="other_input">
<el-input type="text" v-model="addMsg.MobilePhone" :placeholder="$t('admin.admin_phPhone')" class="w210"></el-input>
</el-form-item>
<el-form-item label="境外电话" class="other_input">
<el-input type="text" v-model="addMsg.SpareTel" :placeholder="$t('admin.admin_SpareTel')" class="w210"></el-input>
</el-form-item>
<el-form-item :label="$t('system.table_Passport')" prop="Passport" class="other_input">
<el-input type="text" v-model="addMsg.Passport" :placeholder="$t('system.ph_Passport')" maxlength="9" class="w210"></el-input>
</el-form-item>
......@@ -412,6 +416,7 @@ export default {
BirthPlace: "",
Sex: "",
MobilePhone: "",
SpareTel:'',
Passport: "",
IssuePlace: "",
IssueDate: "",
......
......@@ -88,6 +88,7 @@
<th width="50">房号</th>
<th width="130">酒店及房型</th>
<th width="130">旅客姓名</th>
<th width="120">占床</th>
<th width="110">英文姓</th>
<th width="145">英文名</th>
<th width="45">性别</th>
......@@ -107,7 +108,7 @@
<th width="120">签证类型</th>
</tr>
<tr>
<td v-show="QueryMsg.dataList.Length==0" colspan="22" align="center">暂无数据</td>
<td v-show="QueryMsg.dataList.Length==0" colspan="23" align="center">暂无数据</td>
</tr>
<!-- <template v-for="(item, index) in QueryMsg.dataList"> -->
<tr v-for="(subItem, subIndex) in dataList" :class="{'redTr':subItem.VisaState==1}">
......@@ -135,6 +136,7 @@
</el-select>
</td>
<td>{{subItem.GuestName}}</td>
<td>{{subItem.IsBed == 1 ? '占床' : '不占床'}}</td>
<td>{{subItem.ESurName}}</td>
<td>{{subItem.EName}}</td>
<td>{{getSexStr(subItem)}}</td>
......@@ -157,7 +159,7 @@
</tr>
<!-- </template> -->
<tr v-if="!allDIs">
<td style="text-align:right" colspan="22"><input type="button" value="保存" class="leader2Btn" @click="saveOPSetGuestHouse"></td>
<td style="text-align:right" colspan="23"><input type="button" value="保存" class="leader2Btn" @click="saveOPSetGuestHouse"></td>
</tr>
</table>
</div>
......@@ -355,7 +357,7 @@ export default {
this.IsLeaderGuide=res.data.data.pageData.IsLeaderGuide;
this.houseList = res.data.data.pageData.houseList;
let disNum = [],numberList = this.numberList;
this.allDIs = res.data.data.pageData.houseList.OpSureHouse==2 ? true : false
this.allDIs = res.data.data.pageData.OpSureHouse==2 ? true : false
list.map(x=>{
if (x.HouseType == 1 && this.IsLeaderGuide == 1){
disNum.push(x.HouseNo)
......
......@@ -285,12 +285,9 @@
if (this.editList.length < 1) {
return this.$message.error('请修改房间类型后在保存!')
}
var TCID = 0;
this.editList.forEach((sItem, sIndex) => {
if (sIndex == 0) {
TCID = sItem.TCID;
} else {
sItem.TCID = TCID;
if (sIndex > 0) {
sItem.TCID = this.editList[0].TCID;
}
});
//console.log("this.editList",this.editList);
......
......@@ -55,10 +55,13 @@ export default {
YouJiShow: false,
showID: 0,
dialogTitle: '',
msg: {
}
}
},mounted() {
},mounted() {
// this.getList();
},methods: {
},methods: {
getList: function () {
this.apipost('', {TCID: TCID, OrderID: OrderID}, res=>{
if (res.data.resultCode === 1) {
......
<style>
.happyMoney .tit {
margin: 20px 0;
}
.happyMoney .tit .name {
width: 284px;
height: 28px;
background: #e3e3e3;
line-height: 28px;
font-size: 14px;
font-weight: bold;
color: rgba(51, 51, 51, 1);
text-align: center;
}
.happyMoney .content-box {
background-color: white;
padding: 30px 20px;
}
.happyMoney .content-box-tit {
font-size: 14px;
}
.happyMoney .content-box-tit p {
margin-bottom: 10px;
}
.happyMoney .content-box-tit p .blod {
font-weight: 800;
}
.happyMoney .content-box-tit p .red {
color: #e95252;
}
.happyMoney table tr td input {
border: none;
}
.happyMoney ._addUpload_box {
display: block;
margin-top: 15px;
}
.happyMoney ._addUpload_box img {
width: 100%;
}
.happyMoney ._addUpload_box > div {
float: left;
width: 138px;
height: 92px;
border: 1px dashed rgba(210, 210, 210, 1);
border-radius: 2px;
cursor: pointer;
margin-bottom: 10px;
padding: 5px;
margin-right: 10px;
position: relative;
}
.happyMoney ._addUpload_box > div:hover {
background-color: #f5f5f5;
}
.happyMoney ._addFile_name {
padding-left: 15px;
max-width: 450px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.happyMoney ._addUpload_box .icon-guanbi1 {
font-size: 12px;
color: white;
display: inline-block;
margin-left: 15px;
position: absolute;
right: -6px;
top: -9px;
background-color: #f56c6c;
border-radius: 50%;
height: 20px;
width: 20px;
text-align: center;
line-height: 20px;
}
.happyMoney ._addUpload_box .icon-guanbi1:hover {
font-size: 12px;
color: #c94052;
}
.happyMoney ._addUpload_box .icon-excel,
.happyMoney ._addUpload_box .icon-pdf {
text-align: center;
font-size: 38px;
color: green;
line-height: 75px;
}
.happyMoney ._show_img_box {
position: fixed;
background: rgba(0, 0, 0, 0.6);
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 999;
text-align: center;
}
.happyMoney ._pic_upload .el-upload-dragger {
font-size: 28px;
color: #8c939d;
width: 126px;
height: 80px;
line-height: 41px;
text-align: center;
}
.happyMoney ._pic_upload .el-upload--text.el-upload .el-upload__text {
font-size: 14px;
}
.happyMoney .avatar-uploader-icon {
height: 30px;
}
</style>
<template>
<div class="happyMoney">
<div class="tit">
<div class="name">XXXXXXXXXXX2019年度大红包结算</div>
</div>
<el-row>
<el-col span="16">
<div class="content-box">
<div class="content-box-tit">
<p>
经系统统计本联盟在
<span class="blod">2009年</span>
<span class="red">销售额为¥500万</span>,
<span>合计</span>
<span class="red">人头数200人</span>
</p>
<p>
按大红包规则获得《
<span class="blod">50万-90万》返4%</span>,因而将
<span class="red">返回给本联盟50000元</span>到幸福存折,以下为所有门店交易明细,请及时确认
</p>
</div>
<table
class="singeRowTable"
border="0"
cellspacing="0"
cellpadding="0"
v-loading="loading"
>
<tr>
<th>名称</th>
<th>交易金额</th>
<th>交易人头</th>
<th>预计返现</th>
<th width="200">确认返现</th>
</tr>
<tr>
<td>XXXXXXXX旅行社</td>
<td>¥12653.00</td>
<td>1256人</td>
<td>¥9856.00</td>
<td>
<input type="number" placeholder="请输入返现金额" />
</td>
</tr>
</table>
<div class="_addUpload_box clearfix">
<template v-for="(file,fIndex) in saveMsg">
<div v-if="file.Type==3">
<div style="width:100%;height:100%;overflow: hidden;">
<img :src="file.Url?file.Url:file.Content" @click="showUpLoadFile(file)" />
</div>
<span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
</div>
<div v-if="file.Type==1">
<div
class="iconfont"
:class="file.Content.substring(file.Content.lastIndexOf('.')+1,file.Content.length).toUpperCase()=='PDF'? 'icon-pdf' : 'icon-excel'"
@click="showUpLoadFile(file)"
></div>
<span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
</div>
<div v-if="file.Type==2">
<div class="iconfont icon-excel" @click="showUpLoadFile(file)"></div>
<span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
</div>
</template>
<div class="_pic_upload">
<el-upload
drag
:http-request="uploadFileBtn"
:multiple="true"
:show-file-list="false"
action
>
<i class="el-icon-plus avatar-uploader-icon"></i>
<div class="el-upload__text">{{$t('active.ld_djscwj')}}</div>
</el-upload>
</div>
</div>
</div>
</el-col>
</el-row>
<div v-if="picIsShow" class="_show_img_box" @click="picIsShow=false,picObj=[]">
<div
style="position: absolute; width: 800px; height: 600px; left: 50%; top: 50%; margin-left: -400px; margin-top: -300px;"
>
<el-carousel :initial-index="initialIndex" height="600px" :interval="5000" trigger="click">
<el-carousel-item
style="height: 600px;overflow:auto;"
v-for="(item,index) in picObj"
:key="index"
>
<img :src="item" style />
</el-carousel-item>
</el-carousel>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
loading: false,
saveMsg: []
};
},
mounted() {
// this.getList();
},
methods: {
getList: function() {
this.apipost(
"",
{ TCID: TCID, OrderID: OrderID },
res => {
if (res.data.resultCode === 1) {
this.dataList = res.data.data;
}
},
null
);
},
showUpLoadFile(i) {
// 预览上传文件
if (i.Type == 3) {
this.picObj.push(i.Url);
this.imgList.push(i.Url);
this.picIsShow = true;
} else {
if (
i.Content.substring(
i.Content.lastIndexOf(".") + 1,
i.Content.length
).toUpperCase() == "PDF"
) {
this.previewPDF(i.Url);
} else {
window.open(
"https://view.officeapps.live.com/op/view.aspx?src=" + i.Url
);
}
}
},
deleteUploadFile(i) {
// 删除上传文件
this.saveMsg.splice(i, 1);
},
uploadFileBtn(file) {
//上传
if (file.file.size > 1024 * 1024 * 10) {
this.$message.warning(this.$t("tips.wjdxbncgsz"));
return;
}
// 1 文档 2 数据 3 图片
let typeArr = [
{ stringArr: "GIF|JPG|JPEG|PNG|BMP", type: 3 },
{ stringArr: "DOCX|DOC|XLSX|XLS|PPT|PPTX|PDF", type: 1 }
];
let ft = file.file.name
.substring(file.file.name.lastIndexOf(".") + 1, file.file.name.length)
.toUpperCase();
let fileTypeNumber = 2;
let typeOk = false;
typeArr.forEach(x => {
if (x.stringArr.indexOf(ft) != "-1") {
fileTypeNumber = x.type;
typeOk = true;
}
});
if (!typeOk) return this.$message.error(this.$t("tips.qscWEfile"));
let newArr = [];
newArr.push(file.file);
let path = "/Upload/Temporary/";
this.$message.info(this.$t("tips.shangchuanzhong"));
this.UploadSelfFileT(
path,
newArr,
x => {
let fileSize =
file.file.size < 1024
? file.file.size
: (file.file.size / 1024).toFixed(0);
this.saveMsg.push({
Content: x.data.FilePath,
ID: 0,
Type: fileTypeNumber,
Url: this.domainManager().ViittoFileUrl + x.data.FilePath
});
},
1
);
}
}
};
</script>
......@@ -550,6 +550,14 @@ export default {
title: '联盟管理'
},
},
{
path: '/happyMoney', //幸福存折
name: 'happyMoney',
component: resolve => require(['@/components/administrative/happyMoney'], resolve),
meta: {
title: '联盟管理'
},
},
{
path: '/statisticsDetail', //每日
name: 'statisticsDetail',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment