Commit 30dd9bf8 authored by 黄奎's avatar 黄奎

页面修改

parent aa364125
<style>
@import "../../assets/css/comSupplier.css";
@import "../../assets/css/comSupplier.css";
</style>
<template>
<div class="flexOne suppierManage">
......@@ -8,465 +7,682 @@
<ul>
<li>
<span>
<em>{{$t('system.quety_area')}}</em>
<el-select v-model="msg.CountryStr" clearable class="w150" filterable
@change="getProvinceList(msg.CountryStr,1)" :placeholder="$t('hotel.hotel_country')">
<el-option v-for='item in countryList' :key="item.ID" :label="item.Name" :value="item.ID">
<em>{{ $t("system.quety_area") }}</em>
<el-select
v-model="msg.CountryStr"
clearable
class="w150"
filterable
@change="getProvinceList(msg.CountryStr, 1)"
:placeholder="$t('hotel.hotel_country')"
>
<el-option
v-for="item in countryList"
:key="item.ID"
:label="item.Name"
:value="item.ID"
>
</el-option>
</el-select>
<el-select v-model="msg.ProvinceStr" class="w150" filterable @change="getProvinceList(msg.ProvinceStr,2)"
:placeholder="$t('hotel.hotel_province')">
<el-option v-for='item in provinceList' :key="item.ID" :label="item.Name" :value="item.ID">
<el-select
v-model="msg.ProvinceStr"
class="w150"
filterable
@change="getProvinceList(msg.ProvinceStr, 2)"
:placeholder="$t('hotel.hotel_province')"
>
<el-option
v-for="item in provinceList"
:key="item.ID"
:label="item.Name"
:value="item.ID"
>
</el-option>
</el-select>
<el-select v-model="msg.CityStr" class="w150" filterable @change="getProvinceList(msg.CityStr,3)"
:placeholder="$t('hotel.hotel_city')">
<el-option v-for='item in cityList' :key="item.ID" :label="item.Name" :value="item.ID">
<el-select
v-model="msg.CityStr"
class="w150"
filterable
@change="getProvinceList(msg.CityStr, 3)"
:placeholder="$t('hotel.hotel_city')"
>
<el-option
v-for="item in cityList"
:key="item.ID"
:label="item.Name"
:value="item.ID"
>
</el-option>
</el-select>
<el-select v-model="msg.DistrictStr" class="w150" filterable :placeholder="$t('hotel.hotel_area')">
<el-option v-for='item in district' :key="item.ID" :label="item.Name" :value="item.ID">
<el-select
v-model="msg.DistrictStr"
class="w150"
filterable
:placeholder="$t('hotel.hotel_area')"
>
<el-option
v-for="item in district"
:key="item.ID"
:label="item.Name"
:value="item.ID"
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>{{$t('hotel.suplier_name')}}</em>
<el-input maxlength="50" @keyup.native.enter="initData" v-model="msg.Name" class="permiss-input w150"
:placeholder="$t('pub.pleaseImport')"></el-input>
<em>{{ $t("hotel.suplier_name") }}</em>
<el-input
maxlength="50"
@keyup.native.enter="initData"
v-model="msg.Name"
class="permiss-input w150"
:placeholder="$t('pub.pleaseImport')"
></el-input>
</span>
</li>
<li>
<span>
<em>{{$t('hotel.suplier_contact')}}</em>
<el-input maxlength="50" @keyup.native.enter="initData" v-model="msg.Contact" class="permiss-input w150"
:placeholder="$t('pub.pleaseImport')"></el-input>
<em>{{ $t("hotel.suplier_contact") }}</em>
<el-input
maxlength="50"
@keyup.native.enter="initData"
v-model="msg.Contact"
class="permiss-input w150"
:placeholder="$t('pub.pleaseImport')"
></el-input>
</span>
</li>
<li>
<button class="hollowFixedBtn" type="button"
@click="resetPageIndex(),initData()">{{$t('pub.searchBtn')}}</button>
<button class="normalBtn" type="button"
@click="clearinputInfo(),outerVisible = true,dialogTitle=$t('visaT.Addingsuppliers')">{{$t('pub.addBtn')}}</button>
<button
class="hollowFixedBtn"
type="button"
@click="resetPageIndex(), initData()"
>
{{ $t("pub.searchBtn") }}
</button>
<button
class="normalBtn"
type="button"
@click="
clearinputInfo(),
(outerVisible = true),
(dialogTitle = $t('visaT.Addingsuppliers'))
"
>
{{ $t("pub.addBtn") }}
</button>
</li>
</ul>
<el-dialog custom-class='addCompany' :title="dialogTitle" :visible.sync="outerVisible" center>
<el-form :model="addMsg" :rules="rules" ref="addMsg" label-width="100px">
<el-dialog
custom-class="addCompany"
:title="dialogTitle"
:visible.sync="outerVisible"
center
>
<el-form
:model="addMsg"
:rules="rules"
ref="addMsg"
label-width="100px"
>
<el-form-item :label="$t('hotel.suplier_name')" prop="Name">
<el-input type="text" class="w300" maxlength="50" v-model="addMsg.Name"></el-input>
<el-input
type="text"
class="w300"
maxlength="50"
v-model="addMsg.Name"
></el-input>
</el-form-item>
<el-form-item :label="$t('restaurant.res_belongArea')">
<el-select v-model="addMsg.Country" clearable class="w150" filterable
@change="getProvinceList(addMsg.Country,1)" :placeholder="$t('hotel.hotel_country')">
<el-option v-for='item in countryList' :key="item.ID" :label="item.Name" :value="item.ID">
<el-select
v-model="addMsg.Country"
clearable
class="w150"
filterable
@change="getProvinceList(addMsg.Country, 1)"
:placeholder="$t('hotel.hotel_country')"
>
<el-option
v-for="item in countryList"
:key="item.ID"
:label="item.Name"
:value="item.ID"
>
</el-option>
</el-select>
<el-select v-model="addMsg.Province" class="w150" filterable @change="getProvinceList(addMsg.Province,2)"
:placeholder="$t('hotel.hotel_province')">
<el-option v-for='item in provinceList' :key="item.ID" :label="item.Name" :value="item.ID">
<el-select
v-model="addMsg.Province"
class="w150"
filterable
@change="getProvinceList(addMsg.Province, 2)"
:placeholder="$t('hotel.hotel_province')"
>
<el-option
v-for="item in provinceList"
:key="item.ID"
:label="item.Name"
:value="item.ID"
>
</el-option>
</el-select>
<el-select v-model="addMsg.City" class="w150" filterable @change="getProvinceList(addMsg.City,3)"
:placeholder="$t('hotel.hotel_city')">
<el-option v-for='item in cityList' :key="item.ID" :label="item.Name" :value="item.ID">
<el-select
v-model="addMsg.City"
class="w150"
filterable
@change="getProvinceList(addMsg.City, 3)"
:placeholder="$t('hotel.hotel_city')"
>
<el-option
v-for="item in cityList"
:key="item.ID"
:label="item.Name"
:value="item.ID"
>
</el-option>
</el-select>
<el-select v-model="addMsg.District" class="w150" filterable :placeholder="$t('hotel.hotel_area')">
<el-option v-for='item in district' :key="item.ID" :label="item.Name" :value="item.ID">
<el-select
v-model="addMsg.District"
class="w150"
filterable
:placeholder="$t('hotel.hotel_area')"
>
<el-option
v-for="item in district"
:key="item.ID"
:label="item.Name"
:value="item.ID"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('hotel.table_HotelAddress')" prop="Address">
<el-input type="text" class="w300" maxlength="50" v-model="addMsg.Address"
:placeholder="$t('hotel.table_areaDetail')"></el-input>
<el-input
type="text"
class="w300"
maxlength="50"
v-model="addMsg.Address"
:placeholder="$t('hotel.table_areaDetail')"
></el-input>
</el-form-item>
<el-form-item :label="$t('fnc.fkfangshi')" prop="Address">
<el-select v-model="addMsg.PayType" filterable :placeholder="$t('pub.pleaseSel')" class="w300">
<el-option v-for='item in PayTypeList' :key="item.Id" :label="item.name" :value="item.Id">
<el-select
v-model="addMsg.PayType"
filterable
:placeholder="$t('pub.pleaseSel')"
class="w300"
>
<el-option
v-for="item in PayTypeList"
:key="item.Id"
:label="item.name"
:value="item.Id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('ground.shifouyouspf')">
<el-switch v-model="addMsg.IsHaveShouPeiFee" :active-value="inActive" :inactive-value="notInActive">
<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="$t('ground.shoupeije')">
<el-input type="text" class="w300" maxlength="10" @keyup.native="checkPrice(addMsg,'ShouPeiMoney')"
v-model="addMsg.ShouPeiMoney"></el-input>
<el-form-item
v-if="addMsg.IsHaveShouPeiFee == 1"
:label="$t('ground.shoupeije')"
>
<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-input
type="text"
class="w300"
maxlength="20"
v-model="addMsg.Tel"
></el-input>
</el-form-item>
<el-form-item :label="$t('hotel.suplier_contact')" prop="Contact">
<el-input type="text" class="w300" maxlength="20" v-model="addMsg.Contact"></el-input>
<el-input
type="text"
class="w300"
maxlength="20"
v-model="addMsg.Contact"
></el-input>
</el-form-item>
<el-form-item :label="$t('hotel.hotel_fax')" prop="Fax">
<el-input type="text" class="w300" maxlength="20" v-model="addMsg.Fax"></el-input>
<el-input
type="text"
class="w300"
maxlength="20"
v-model="addMsg.Fax"
></el-input>
</el-form-item>
<el-form-item :label="$t('hotel.hotel_remark')" prop="Remark">
<el-input type="textarea" class="w300" maxlength="200" v-model="addMsg.Remark"></el-input>
<el-input
type="textarea"
class="w300"
maxlength="200"
v-model="addMsg.Remark"
></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn"
@click="resetForm('addMsg'),outerVisible = false">{{$t('pub.cancelBtn')}}</button> &nbsp;
<button class="normalBtn" type="primary" @click="submitForm('addMsg')">{{$t('pub.sureBtn')}}</button>
<button
class="hollowFixedBtn"
@click="resetForm('addMsg'), (outerVisible = false)"
>
{{ $t("pub.cancelBtn") }}
</button>
&nbsp;
<button
class="normalBtn"
type="primary"
@click="submitForm('addMsg')"
>
{{ $t("pub.sureBtn") }}
</button>
</div>
</el-dialog>
</div>
<div class="supplierList clearfix" v-loading="loading">
<div class="supList" v-for="item in tabelDate" :key="item.subCode" style="height:270px;">
<div
class="supList"
v-for="item in tabelDate"
:key="item.subCode"
style="height:270px;"
>
<div class="suTop">
<img src="../../assets/img/suplier.jpg">
<div class="topCircle">{{item.Number}}</div>
<img src="../../assets/img/suplier.jpg" />
<div class="topCircle">{{ item.Number }}</div>
</div>
<div class="supTitle">{{item.Name}}</div>
<div class="telNumber">{{item.Tel}}</div>
<div class="supTitle">{{ item.Name }}</div>
<div class="telNumber">{{ item.Tel }}</div>
<div class="Address">
<div v-show="item.Contact">
<i class="iconfont icon-img_dz"></i>
<el-tooltip class="item" effect="dark" :content="item.Contact" placement="top-start">
<div class="AddressInner">{{item.Contact}}</div>
<el-tooltip
class="item"
effect="dark"
:content="item.Contact"
placement="top-start"
>
<div class="AddressInner">{{ item.Contact }}</div>
</el-tooltip>
</div>
</div>
<div class="updataBtn">
<button class="normalBtn UPBtn"
@click="outerVisible = true,dialogTitle=$t('visaT.xiugaigysxx'),updateInfo(item.ID)">{{$t('pub.updateMsg')}}</button>
<button class="hollowFixedBtn UPBtn" @click="isdelete(item.ID)">{{$t('system.table_delete')}}</button>
<button class="hollowFixedBtn HS_financial" @click="AccountManage(item)">{{$t("visaT.Accountmanagement")}}</button>
<button class="hollowFixedBtn HS_financial" @click="GoHotel(item)" >{{$t("ground.jiudianfkfspz")}}</button>
<button
class="normalBtn UPBtn"
@click="
(outerVisible = true),
(dialogTitle = $t('visaT.xiugaigysxx')),
updateInfo(item.ID)
"
>
{{ $t("pub.updateMsg") }}
</button>
<button class="hollowFixedBtn UPBtn" @click="isdelete(item.ID)">
{{ $t("system.table_delete") }}
</button>
<button
class="hollowFixedBtn HS_financial"
@click="AccountManage(item)"
>
{{ $t("visaT.Accountmanagement") }}
</button>
<button class="hollowFixedBtn HS_financial" @click="GoHotel(item)">
{{ $t("ground.jiudianfkfspz") }}
</button>
</div>
</div>
</div>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
layout="total,prev, pager, next, jumper" :page-size="this.msg.pageSize" :total="total">
<el-pagination
background
@current-change="handleCurrentChange"
:current-page.sync="currentPage"
layout="total,prev, pager, next, jumper"
:page-size="this.msg.pageSize"
:total="total"
>
</el-pagination>
</div>
</template>
<script>
export default {
data() {
return {
total: 0,
currentPage: 1,
tabelDate: "",
outerVisible: false,
isRight: true,
loading: true,
dialogTitle: "",
countryList: "",
provinceList: "",
cityList: "",
district: "",
deleteID: "",
typeList: "",
TypeOne: "",
inActive: 1, //有手配费
notInActive: 0, //无手配费
export default {
data() {
return {
total: 0,
currentPage: 1,
tabelDate: "",
outerVisible: false,
isRight: true,
loading: true,
dialogTitle: "",
countryList: "",
provinceList: "",
cityList: "",
district: "",
deleteID: "",
typeList: "",
TypeOne: "",
inActive: 1, //有手配费
notInActive: 0, //无手配费
msg: {
pageIndex: 1,
pageSize: 18,
Name: "",
Contact: "",
Type: 1,
CountryStr: "",
ProvinceStr: "",
CityStr: "",
DistrictStr: ""
},
addMsg: {
ID: 0,
Name: "",
Country: "",
Province: "",
City: "",
District: "",
Address: "",
Tel: "",
Contact: "",
Fax: "",
Remark: "",
Type: "1",
PayType: '',
//是否有手配费
IsHaveShouPeiFee: 0,
//手配费金额
ShouPeiMoney: 0
},
//付款方式
PayTypeList: [{
name: this.$t('ground.xianfu'),
msg: {
pageIndex: 1,
pageSize: 18,
Name: "",
Contact: "",
Type: 1,
CountryStr: "",
ProvinceStr: "",
CityStr: "",
DistrictStr: ""
},
addMsg: {
ID: 0,
Name: "",
Country: "",
Province: "",
City: "",
District: "",
Address: "",
Tel: "",
Contact: "",
Fax: "",
Remark: "",
Type: "1",
PayType: "",
//是否有手配费
IsHaveShouPeiFee: 0,
//手配费金额
ShouPeiMoney: 0
},
//付款方式
PayTypeList: [
{
name: this.$t("ground.xianfu"),
Id: 1
}, {
name: this.$t('ground.qiandan'),
},
{
name: this.$t("ground.qiandan"),
Id: 2
}],
rules: {
Name: [{
},
{ name: this.$t("ground.yufu"), Id: 4 }
],
rules: {
Name: [
{
required: true,
message: this.$t('visaT.qsrgysname'),
message: this.$t("visaT.qsrgysname"),
trigger: "blur"
}],
Contact: [{
}
],
Contact: [
{
required: true,
message: this.$t('ground.qingshurulxr'),
message: this.$t("ground.qingshurulxr"),
trigger: "blur"
}]
}
]
}
};
},
methods: {
//跳转到供应商酒店配置页面
GoHotel(item) {
this.$router.push({
path: "HotelSupplierHotel",
query: {
ID: item.ID,
Name: item.Name,
tab: "供应商酒店备注",
blank: "y"
}
};
});
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.initData();
},
methods: {
//跳转到供应商酒店配置页面
GoHotel(item)
{
this.$router.push({
path: "HotelSupplierHotel",
query: {
ID: item.ID,
Name:item.Name,
tab: "供应商酒店备注",
blank: 'y',
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1;
},
initData() {
this.loading = true;
this.apipost(
"supplier_get_GetPageList",
this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.tabelDate = res.data.data.pageData;
this.total = res.data.data.count;
}
});
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.initData();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1;
},
initData() {
this.loading = true;
this.apipost(
"supplier_get_GetPageList",
this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.tabelDate = res.data.data.pageData;
this.total = res.data.data.count;
}
},
null
);
},
isdelete(ID) {
this.deleteID = ID;
this.$confirm(this.$t("tips.shifoushanchu"), "提示", {
confirmButtonText: this.$t('pub.sureBtn'),
cancelButtonText: this.$t('pub.cancelBtn'),
type: "warning"
})
.then(() => {
this.$message({
type: "success",
message: this.$t('tips.shanchuchenggong')
});
this.delsuppli();
})
.catch(() => {
this.$message({
type: "info",
message: this.$t('tips.cancleDelete')
});
},
null
);
},
isdelete(ID) {
this.deleteID = ID;
this.$confirm(this.$t("tips.shifoushanchu"), "提示", {
confirmButtonText: this.$t("pub.sureBtn"),
cancelButtonText: this.$t("pub.cancelBtn"),
type: "warning"
})
.then(() => {
this.$message({
type: "success",
message: this.$t("tips.shanchuchenggong")
});
this.delsuppli();
})
.catch(() => {
this.$message({
type: "info",
message: this.$t("tips.cancleDelete")
});
},
delsuppli() {
let msg = {
supplierID: this.deleteID
};
this.apipost(
"supplier_post_Remove",
msg,
response => {
if (response.data.resultCode == 1) {
this.Success(this.$t('tips.shanchuchenggong'));
this.initData();
} else {
this.Error(response.data.message);
}
},
null
);
},
saveInfo() {
if (this.addMsg.ShouPeiMoney == '') {
this.addMsg.ShouPeiMoney = 0;
}
this.apipost(
"supplier_post_Set",
this.addMsg,
res => {
if (res.data.resultCode == 1) {
this.initData();
this.Success(this.$t('tips.saveYes'));
this.outerVisible = false;
} else {
this.Error(res.data.message);
}
},
null
);
},
clearinputInfo() {
(this.addMsg = {
Name: "",
Country: "",
Province: "",
City: "",
District: "",
Address: "",
Tel: "",
Contact: "",
Fax: "",
Remark: "",
Type: 1,
PayType: '',
IsHaveShouPeiFee: 0,
ShouPeiMoney: 0
}),
(this.provinceList = "");
this.cityList = "";
this.district = "";
},
updateInfo(ID) {
this.addMsg.ID = ID;
let msg = {
supplierID: ID
};
this.apipost(
"supplier_post_Get",
msg,
res => {
this.addMsg.Country = res.data.data.Country;
if (res.data.data.Country !== 0) {
this.getProvinceList(res.data.data.Country, 1);
}
if (res.data.data.Province !== 0) {
this.getProvinceList(res.data.data.Province, 2);
}
if (res.data.data.City !== 0) {
this.getProvinceList(res.data.data.City, 3);
}
this.addMsg = res.data.data;
this.addMsg.Type = 1;
},
null
);
},
getProvinceList(ID, type) {
//根据省份获取城市
let msg = {
Id: ID
};
if (type == 1) {
this.addMsg.Province = "";
this.addMsg.City = "";
this.addMsg.District = "";
this.msg.ProvinceStr = "";
this.msg.CityStr = "";
this.msg.DistrictStr = "";
} else if (type == 2) {
this.addMsg.City = "";
this.addMsg.District = "";
this.msg.CityStr = "";
this.msg.DistrictStr = "";
} else if (type == 3) {
this.addMsg.District = "";
this.msg.DistrictStr = "";
}
if (this.addMsg.Country != "" || this.msg.CountryStr != "") {
this.apipost(
"dict_post_Destination_GetChildList",
msg,
res => {
if (type == 1) {
this.provinceList = res.data.data;
} else if (type == 2) {
this.cityList = res.data.data;
} else if (type == 3) {
this.district = res.data.data;
}
},
err => {}
);
}
},
getCountryList() {
//获取国家
let msg = {};
this.apipost(
"dict_post_Destination_GetCountry",
msg,
res => {
this.countryList = res.data.data;
},
err => {}
);
},
goUrl(path, id) {
this.$router.push({
path: path,
query: {
id: id
}
});
},
submitForm(addMsg) {
//提交创建、修改表单
let that = this;
that.$refs[addMsg].validate(valid => {
if (valid) {
that.saveInfo();
},
delsuppli() {
let msg = {
supplierID: this.deleteID
};
this.apipost(
"supplier_post_Remove",
msg,
response => {
if (response.data.resultCode == 1) {
this.Success(this.$t("tips.shanchuchenggong"));
this.initData();
} else {
return false;
this.Error(response.data.message);
}
});
},
resetForm(formName) {
this.$refs[formName].resetFields();
},
trim(str) {
//去除空格
return str.replace(/\s+/g, "");
},
gettypeList() {
//获取类型
let msg = {};
},
null
);
},
saveInfo() {
if (this.addMsg.ShouPeiMoney == "") {
this.addMsg.ShouPeiMoney = 0;
}
this.apipost(
"supplier_post_Set",
this.addMsg,
res => {
if (res.data.resultCode == 1) {
this.initData();
this.Success(this.$t("tips.saveYes"));
this.outerVisible = false;
} else {
this.Error(res.data.message);
}
},
null
);
},
clearinputInfo() {
(this.addMsg = {
Name: "",
Country: "",
Province: "",
City: "",
District: "",
Address: "",
Tel: "",
Contact: "",
Fax: "",
Remark: "",
Type: 1,
PayType: "",
IsHaveShouPeiFee: 0,
ShouPeiMoney: 0
}),
(this.provinceList = "");
this.cityList = "";
this.district = "";
},
updateInfo(ID) {
this.addMsg.ID = ID;
let msg = {
supplierID: ID
};
this.apipost(
"supplier_post_Get",
msg,
res => {
this.addMsg.Country = res.data.data.Country;
if (res.data.data.Country !== 0) {
this.getProvinceList(res.data.data.Country, 1);
}
if (res.data.data.Province !== 0) {
this.getProvinceList(res.data.data.Province, 2);
}
if (res.data.data.City !== 0) {
this.getProvinceList(res.data.data.City, 3);
}
this.addMsg = res.data.data;
this.addMsg.Type = 1;
},
null
);
},
getProvinceList(ID, type) {
//根据省份获取城市
let msg = {
Id: ID
};
if (type == 1) {
this.addMsg.Province = "";
this.addMsg.City = "";
this.addMsg.District = "";
this.msg.ProvinceStr = "";
this.msg.CityStr = "";
this.msg.DistrictStr = "";
} else if (type == 2) {
this.addMsg.City = "";
this.addMsg.District = "";
this.msg.CityStr = "";
this.msg.DistrictStr = "";
} else if (type == 3) {
this.addMsg.District = "";
this.msg.DistrictStr = "";
}
if (this.addMsg.Country != "" || this.msg.CountryStr != "") {
this.apipost(
"hotel_post_GetResourceType",
"dict_post_Destination_GetChildList",
msg,
res => {
this.typeList = res.data.data;
if (type == 1) {
this.provinceList = res.data.data;
} else if (type == 2) {
this.cityList = res.data.data;
} else if (type == 3) {
this.district = res.data.data;
}
},
err => {}
);
},
//账户管理
AccountManage(item) {
this.$router.push({
name: "empBankAccount",
query: {
id: item.ID,
type: 1,
blank: 'y',
tab: '账户管理'
}
});
}
},
mounted() {
this.initData();
this.getCountryList(); //初始化国家下拉
getCountryList() {
//获取国家
let msg = {};
this.apipost(
"dict_post_Destination_GetCountry",
msg,
res => {
this.countryList = res.data.data;
},
err => {}
);
},
goUrl(path, id) {
this.$router.push({
path: path,
query: {
id: id
}
});
},
submitForm(addMsg) {
//提交创建、修改表单
let that = this;
that.$refs[addMsg].validate(valid => {
if (valid) {
that.saveInfo();
} else {
return false;
}
});
},
resetForm(formName) {
this.$refs[formName].resetFields();
},
trim(str) {
//去除空格
return str.replace(/\s+/g, "");
},
gettypeList() {
//获取类型
let msg = {};
this.apipost(
"hotel_post_GetResourceType",
msg,
res => {
this.typeList = res.data.data;
},
err => {}
);
},
//账户管理
AccountManage(item) {
this.$router.push({
name: "empBankAccount",
query: {
id: item.ID,
type: 1,
blank: "y",
tab: "账户管理"
}
});
}
};
},
mounted() {
this.initData();
this.getCountryList(); //初始化国家下拉
}
};
</script>
<style>
.CM_look {
padding: 4px !important;
position: relative;
top: 1px;
}
.CM_look {
padding: 4px !important;
position: relative;
top: 1px;
}
</style>
<template>
<div class="flexOne">
<div class="query-box">
<ul>
<li>
<input type="button" class="normalBtn" :value="$t('pub.addBtn')" @click="isShow=true,dialogTitle=$t('ground.xinzengjdgyfs')" />
<input
type="button"
class="normalBtn"
:value="$t('pub.addBtn')"
@click="(isShow = true), (dialogTitle = $t('ground.xinzengjdgyfs'))"
/>
</li>
</ul>
<el-dialog :title="dialogTitle" :visible.sync="isShow" center custom-class="w460">
<el-dialog
:title="dialogTitle"
:visible.sync="isShow"
center
custom-class="w460"
>
<el-form :model="addMsg" label-width="100px">
<el-form-item :label="$t('hotel.suplier_name')" prop="Name">
{{SupplierName}}
{{ SupplierName }}
</el-form-item>
<el-form-item :label="$t('hotel.hotel')">
<el-select v-model="addMsg.HotelId" filterable :placeholder="$t('pub.pleaseSel')" class="w220">
<el-select
v-model="addMsg.HotelId"
filterable
:placeholder="$t('pub.pleaseSel')"
class="w220"
>
<el-option :label="$t('pub.pleaseSel')" :value="0"></el-option>
<el-option v-for='item in HotelList' :key="item.ID" :label="item.Name" :value="item.ID">
<el-option
v-for="item in HotelList"
:key="item.ID"
:label="item.Name"
:value="item.ID"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('fnc.fkfangshi')">
<el-select v-model="addMsg.SubPayType" filterable :placeholder="$t('pub.pleaseSel')" class="w220">
<el-select
v-model="addMsg.SubPayType"
filterable
:placeholder="$t('pub.pleaseSel')"
class="w220"
>
<el-option :label="$t('pub.pleaseSel')" :value="0"></el-option>
<el-option v-for='item in PayTypeList' :key="item.Id" :label="item.name" :value="item.Id">
<el-option
v-for="item in PayTypeList"
:key="item.Id"
:label="item.name"
:value="item.Id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('hotel.hotel_StartDate')">
<el-date-picker class="w220" type="date" v-model="addMsg.StartDate" :picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd" placeholder></el-date-picker>
<el-date-picker
class="w220"
type="date"
v-model="addMsg.StartDate"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
placeholder
></el-date-picker>
</el-form-item>
<el-form-item :label="$t('hotel.hotel_EndDate')">
<el-date-picker class="w220" type="date" v-model="addMsg.EndDate" :picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd" placeholder></el-date-picker>
<el-date-picker
class="w220"
type="date"
v-model="addMsg.EndDate"
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
placeholder
></el-date-picker>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="initData(),isShow = false">{{$t('pub.cancelBtn')}}</button> &nbsp;
<button class="normalBtn" type="primary" @click="SaveData()">{{$t('pub.sureBtn')}}</button>
<button class="hollowFixedBtn" @click="initData(), (isShow = false)">
{{ $t("pub.cancelBtn") }}
</button>
&nbsp;
<button class="normalBtn" type="primary" @click="SaveData()">
{{ $t("pub.sureBtn") }}
</button>
</div>
</el-dialog>
</div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading">
<table
class="singeRowTable"
border="0"
cellspacing="0"
cellpadding="0"
v-loading="loading"
>
<tr>
<th>{{$t('hotel.hotel')}}</th>
<th>{{$t('hotel.hotel_StartDate')}}</th>
<th>{{$t('hotel.hotel_EndDate')}}</th>
<th>{{$t('fnc.fkfangshi')}}</th>
<th>{{$t('system.table_operation')}}</th>
<th>{{ $t("hotel.hotel") }}</th>
<th>{{ $t("hotel.hotel_StartDate") }}</th>
<th>{{ $t("hotel.hotel_EndDate") }}</th>
<th>{{ $t("fnc.fkfangshi") }}</th>
<th>{{ $t("system.table_operation") }}</th>
</tr>
<tr v-for="item in dataList">
<td>{{item.HotelName}}</td>
<td>{{item.StartDateStr}}</td>
<td>{{item.EndDateStr}}</td>
<td>{{item.SubPayTypeStr}}</td>
<td>{{ item.HotelName }}</td>
<td>{{ item.StartDateStr }}</td>
<td>{{ item.EndDateStr }}</td>
<td>{{ item.SubPayTypeStr }}</td>
<td>
<el-tooltip class="item" effect="dark" :content="$t('system.table_edit')" placement="top-start">
<el-button type="primary" class="iconfont icon-bianji-smal"
@click="GetData(item.Id),isShow=true,dialogTitle=$t('ground.xinzengjdgyfs')"></el-button>
<el-tooltip
class="item"
effect="dark"
:content="$t('system.table_edit')"
placement="top-start"
>
<el-button
type="primary"
class="iconfont icon-bianji-smal"
@click="
GetData(item.Id),
(isShow = true),
(dialogTitle = $t('ground.xinzengjdgyfs'))
"
></el-button>
</el-tooltip>
</td>
</tr>
......@@ -74,164 +138,169 @@
</template>
<script>
export default {
data() {
return {
msg: {
SupplierId: 0,
},
loading: false,
isShow: false, //是否显示新增修改
//供应商名称
SupplierName: "",
dialogTitle: this.$t('ground.xinzengjdgyfs'),
//数据源
dataList: [],
HotelList: [], //酒店列表
//添加修改供应商酒店信息
addMsg: {
Id: 0, //编号
SupplierId: 0, //
HotelId: 0,
StartDate: "",
EndDate: "",
SubPayType: 0,
},
//付款方式
PayTypeList: [{
name: this.$t('ground.xianfu'),
export default {
data() {
return {
msg: {
SupplierId: 0
},
loading: false,
isShow: false, //是否显示新增修改
//供应商名称
SupplierName: "",
dialogTitle: this.$t("ground.xinzengjdgyfs"),
//数据源
dataList: [],
HotelList: [], //酒店列表
//添加修改供应商酒店信息
addMsg: {
Id: 0, //编号
SupplierId: 0, //
HotelId: 0,
StartDate: "",
EndDate: "",
SubPayType: 0
},
//付款方式
PayTypeList: [
{
name: this.$t("ground.xianfu"),
Id: 1
}, {
name: this.$t('ground.qiandan'),
},
{
name: this.$t("ground.qiandan"),
Id: 2
}],
pickerBeginDateBefore: {
disabledDate: time => {
if (this.addMsg.EndDate == null) {
return false;
} else {
let endTime = new Date(this.addMsg.EndDate)
return endTime.getTime() < time.getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: time => {
let startTime = new Date(this.addMsg.StartDate)
return startTime.getTime() >= time.getTime()
{ name: this.$t("ground.yufu"), Id: 4 }
],
pickerBeginDateBefore: {
disabledDate: time => {
if (this.addMsg.EndDate == null) {
return false;
} else {
let endTime = new Date(this.addMsg.EndDate);
return endTime.getTime() < time.getTime();
}
}
},
pickerBeginDateAfter: {
disabledDate: time => {
let startTime = new Date(this.addMsg.StartDate);
return startTime.getTime() >= time.getTime();
}
}
},
mounted() {
this.msg.SupplierId = this.$route.query.ID;
};
},
mounted() {
this.msg.SupplierId = this.$route.query.ID;
this.addMsg.SupplierId = this.$route.query.ID;
this.SupplierName = this.$route.query.Name;
this.getList();
this.getHotelList();
},
methods: {
//初始化数据
initData() {
this.addMsg.Id = 0;
this.addMsg.SupplierId = this.$route.query.ID;
this.SupplierName = this.$route.query.Name;
this.getList();
this.getHotelList();
this.addMsg.HotelId = 0;
this.addMsg.StartDate = "";
this.addMsg.EndDate = "";
this.addMsg.SubPayType = 0;
},
methods: {
//初始化数据
initData() {
this.addMsg.Id = 0;
this.addMsg.SupplierId = this.$route.query.ID;
this.addMsg.HotelId = 0;
this.addMsg.StartDate = "";
this.addMsg.EndDate = "";
this.addMsg.SubPayType = 0;
},
SaveData() {
if (this.addMsg.HotelId <= 0) {
this.Info(this.$t('ground.qingxuanzejiud'));
return;
}
if (this.addMsg.SubPayType <= 0) {
this.Info(this.$t('ground.qingxuanzefkfs'));
return;
}
if (this.addMsg.StartDate == "") {
this.Info(this.$t('ground.qingxuanzekssjs'));
return;
}
if (this.addMsg.EndDate == "") {
this.Info(this.$t('ground.qingxuanzejssjs'));
return;
}
this.apipost(
"supplier_post_SetSupplierDetailService",
this.addMsg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.initData();
this.isShow = false;
this.getList();
} else {
this.Error(res.data.message);
}
},
null
);
},
//根据编号获取实体
GetData(Id) {
this.apipost(
"supplier_post_GetEntityService", {
Id: Id
},
res => {
this.loading = false;
if (res.data.resultCode == 1) {
var nData = res.data.data;
this.addMsg.Id = nData.Id;
this.addMsg.HotelId = nData.HotelId;
this.addMsg.SubPayType = nData.SubPayType;
this.addMsg.StartDate = nData.StartDateStr;
this.addMsg.EndDate = nData.EndDateStr;
} else {
this.Error(res.data.message);
}
},
null
);
},
//获取数据
getList() {
this.loading = true;
this.apipost(
"supplier_get_GetListService",
this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.dataList = res.data.data;
} else {
this.Error(res.data.message);
}
},
null
);
},
//获取酒店列表
getHotelList() {
this.loading = true;
this.apipost(
"hotel_post_GetList", {
QCountry: 651
},
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.HotelList = res.data.data;
} else {
this.Error(res.data.message);
}
},
null
);
},
SaveData() {
if (this.addMsg.HotelId <= 0) {
this.Info(this.$t("ground.qingxuanzejiud"));
return;
}
if (this.addMsg.SubPayType <= 0) {
this.Info(this.$t("ground.qingxuanzefkfs"));
return;
}
if (this.addMsg.StartDate == "") {
this.Info(this.$t("ground.qingxuanzekssjs"));
return;
}
if (this.addMsg.EndDate == "") {
this.Info(this.$t("ground.qingxuanzejssjs"));
return;
}
this.apipost(
"supplier_post_SetSupplierDetailService",
this.addMsg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.initData();
this.isShow = false;
this.getList();
} else {
this.Error(res.data.message);
}
},
null
);
},
//根据编号获取实体
GetData(Id) {
this.apipost(
"supplier_post_GetEntityService",
{
Id: Id
},
res => {
this.loading = false;
if (res.data.resultCode == 1) {
var nData = res.data.data;
this.addMsg.Id = nData.Id;
this.addMsg.HotelId = nData.HotelId;
this.addMsg.SubPayType = nData.SubPayType;
this.addMsg.StartDate = nData.StartDateStr;
this.addMsg.EndDate = nData.EndDateStr;
} else {
this.Error(res.data.message);
}
},
null
);
},
//获取数据
getList() {
this.loading = true;
this.apipost(
"supplier_get_GetListService",
this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.dataList = res.data.data;
} else {
this.Error(res.data.message);
}
},
null
);
},
//获取酒店列表
getHotelList() {
this.loading = true;
this.apipost(
"hotel_post_GetList",
{
QCountry: 651
},
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.HotelList = res.data.data;
} else {
this.Error(res.data.message);
}
},
null
);
}
}
};
</script>
......@@ -363,13 +363,24 @@
<span v-else-if="subItem.DMCPayType === 9">月结</span>
<span v-else-if="subItem.DMCPayType === 11">刷卡</span>
<span v-else-if="subItem.DMCPayType === 10">领队导游垫付</span>
</br>
<br/>
<span v-show="subItem.DMCPayType==6">付款团号:{{subItem.PayTypeTCNUM}}</span>
</td>
<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>
<span>{{subItem.SupplierName}}
<br/>
<template v-if="subItem.SupplierPayType !== 0">
<span v-if="subItem.SupplierPayType == 1">
现付
</span>
<span v-else-if="subItem.SupplierPayType == 2">
签单
</span>
<span v-else-if="subItem.SupplierPayType == 4">
预付
</span>
</template>
</span>
<div v-if="subItem.IsHaveShouPeiFee==0" style="color:red;">无手配费</div>
<div v-if="subItem.IsHaveShouPeiFee==1" style="color:red;">手配费:{{subItem.ShouPeiMoney}}</div>
......
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