<style> @import "../../assets/css/comSupplier.css"; </style> <template> <div class="flexOne suppierManage"> <div class="query-box"> <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" > </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-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-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-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> </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> </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> </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-form-item :label="$t('hotel.suplier_name')" prop="Name"> <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-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-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-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-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-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-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> </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> <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> <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-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-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-form-item> </el-form> <div slot="footer" class="dialog-footer"> <button class="hollowFixedBtn" @click="resetForm('addMsg'), (outerVisible = false)" > {{ $t("pub.cancelBtn") }} </button> <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="suTop"> <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="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> </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> </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> </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, //无手配费 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"), Id: 2 }, { name: this.$t("ground.yufu"), Id: 4 } ], rules: { Name: [ { required: true, message: this.$t("visaT.qsrgysname"), trigger: "blur" } ], Contact: [ { required: true, 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(); }, 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") }); }); }, 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(); } 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>