Prechádzať zdrojové kódy

新增民宿等级和720全景

zhuxiuping 2 rokov pred
rodič
commit
9ca04b57ae

+ 1 - 0
.env.development

@@ -3,3 +3,4 @@ ENV = 'development'
 
 # base api
 VUE_APP_BASE_API = ''
+VUE_APP_BASE_FILE = ''

+ 1 - 0
.env.production

@@ -4,3 +4,4 @@ ENV = 'production'
 # base api
 VUE_APP_BASE_API = 'https://chtech.ncjti.edu.cn/hotelReservation/mhotel'
 
+VUE_APP_BASE_FILE = 'https://chtech.ncjti.edu.cn/hotelReservation/fileload'

+ 1 - 1
.env.staging

@@ -5,4 +5,4 @@ ENV = 'staging'
 
 # base api
 VUE_APP_BASE_API = '/stage-api'
-
+VUE_APP_BASE_FILE ='/stage-file'

BIN
dist.zip


+ 2 - 2
package.json

@@ -4,11 +4,11 @@
 	"description": "A vue admin template with Element UI & axios & iconfont & permission control & lint",
 	"author": "Pan <panfree23@gmail.com>",
 	"scripts": {
-		"build": "set NODE_OPTIONS=--openssl-legacy-provider & vue-cli-service build",
+		"build": "vue-cli-service build",
 		"build:report": "set NODE_OPTIONS=--openssl-legacy-provider & vue-cli-service build --report",
 		"build:prod": "vue-cli-service build",
 		"build:stage": "vue-cli-service build --mode staging",
-		"dev": "set NODE_OPTIONS=--openssl-legacy-provider & vue-cli-service serve",
+		"dev": "vue-cli-service serve --mode staging",
 		"preview": "node build/index.js --preview",
 		"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml",
 		"lint": "eslint --ext .js,.vue src",

+ 3 - 2
src/api/fileInfo.js

@@ -1,4 +1,5 @@
 import request from '@/utils/request'
+import request2 from '@/utils/request2'
 
 export function getFileList(linkId) {
 	const query = '?linkId=' + linkId
@@ -14,8 +15,8 @@ export function uploadhimage(forData) {
 	data.append('myFileFileName', forData.file.name)
 	data.append('myFile', forData.file)
 
-	return request({
-		url: 'https://chtech.ncjti.edu.cn/hotelReservation/fileload/loadhimage.action',
+	return request2({//https://chtech.ncjti.edu.cn/hotelReservation/fileload
+		url: '/loadhimage.action', 
 		method: 'post',
 		data
 	})

+ 5 - 1
src/api/residentialhostelMgr.js

@@ -38,7 +38,7 @@ export function addHostel(param) {
 	data.append('adminName', param.adminName);
 	data.append('password', 'Jams_123456');
 	data.append('hotelName', param.hotelName);
-	data.append('hotelTownship', param.id);
+	data.append('hotelTownship', param.hotelTownship);
 	data.append('corpnName', param.corpnName);
 	data.append('corpnPhone', param.corpnPhone);
 	data.append('level', param.level);
@@ -46,6 +46,8 @@ export function addHostel(param) {
 	data.append('cardName', param.cardName);
 	data.append('bankName', param.bankName);
 	data.append('fileListJson', param.fileUrl);
+	data.append('type', param.jibieId);
+	data.append('linkProUrl', param.linkproUrl);
 
 	return request({
 		url: '/managerAdmininsertAdmin.action',
@@ -69,6 +71,8 @@ export function modifyHostel(param) {
 	data.append('cardName', param.cardName);
 	data.append('bankName', param.bankName);
 	data.append('fileListJson', param.fileUrl);
+	data.append('type', param.type);
+	data.append('linkProUrl', param.linkProUrl);
 
 	return request({
 		url: '/managerAdminupdateAdmin.action',

+ 1 - 0
src/components/pl-upload/index.vue

@@ -151,6 +151,7 @@
 				})
 				// 发起上传
 				uploadhimage(file).then((res) => {
+					console.log('1',res.data)
 					const tempData = res.data
 					self.uploadFileList.push(tempData)
 					self.fileList = self.uploadFileList

+ 98 - 0
src/utils/request2.js

@@ -0,0 +1,98 @@
+import axios from 'axios'
+import {
+	MessageBox,
+	Message
+} from 'element-ui'
+import store from '@/store'
+import {
+	getToken,
+	getName
+} from '@/utils/auth'
+
+// 创建axios实例
+console.log(process.env)
+console.log(process.env.VUE_APP_BASE_FILE)
+const service = axios.create({
+	baseURL: process.env.VUE_APP_BASE_FILE, // url = base url + request url
+	// withCredentials: true, // 跨域请求时发送cookie
+	timeout: 20000 // 请求超时
+})
+
+// 请求拦截器
+service.interceptors.request.use(
+	config => {
+		// 在发送请求之前做些什么
+		if (store.getters.token) {
+			// 让每个请求携带令牌
+			// ['X-Token'] 是否为自定义标题键
+			// 请根据实际情况进行修改
+			config.headers['X-Token'] = getToken()
+			config.headers['Admin-Name'] = getName()
+		}
+		return config
+	},
+	error => {
+		// 处理请求错误
+		// console.log(error) // 调试命令
+		return Promise.reject(error)
+	}
+)
+
+// 响应拦截器
+service.interceptors.response.use(
+	/**
+	 * 如果您想要获取http信息,如header或状态
+	 * 请返回  response => response
+	 */
+
+	/**
+	 * 通过自定义代码确定请求状态
+	 * 这只是一个例子
+	 * 您也可以通过“HTTP状态码”来判断状态
+	 */
+	response => {
+		const res = response.data
+
+		// 如果定制代码不是20000,则判定为错误。
+		if (res.code !== 200) {
+			// 返回格式不规范,也只能如此了
+			return res
+
+			Message({
+				message: res.message || '返回信息中无code,无法解析数据',
+				type: 'error',
+				duration: 5 * 1000
+			})
+
+			// 50008: 非法的令牌; 50012: 其他客户端已登录; 50014: 过期令牌;
+			if (res.code === 50008 || res.code === 50012 || res.code === 50014) {
+				// 重新登陆
+				MessageBox.confirm('您已注销,您可以取消留在此页面,或重新登录',
+					'确认注销', {
+						confirmButtonText: '重新登入',
+						cancelButtonText: '取消',
+						type: 'warning'
+					}).then(() => {
+					store.dispatch('user/resetToken').then(() => {
+						location.reload()
+					})
+				})
+			}
+
+			return Promise.reject(new Error(res.message || '未知错误'))
+		} else {
+			return res
+		}
+	},
+	error => {
+		// console.log('错误:' + error) // 用于调试
+		// Message({
+		// 	message: error.message,
+		// 	type: 'error',
+		// 	duration: 5 * 1000
+		// })
+		return Promise.reject(error)
+	}
+)
+
+export default service

+ 64 - 4
src/views/residentialhostelMgr/index.vue

@@ -134,7 +134,7 @@
 							</el-input>
 						</el-form-item>
 						<el-form-item label="所属乡镇:" :label-width="formLabelWidth" :required="true" prop="id">
-							<el-select v-model="formAddHostel.id" clearable placeholder="请选择乡镇" @change="getHotelId($event)">
+							<el-select v-model="formAddHostel.hotelTownship" clearable placeholder="请选择乡镇" @change="getHotelId($event)">
 								<el-option v-for="item in formAddHostel.options" :key="item.id" :label="item.hotelTownship" :value="item.id">
 								</el-option>
 							</el-select>
@@ -161,6 +161,16 @@
 							<el-input v-model="formAddHostel.bankName" autocomplete="off" placeholder="请输入银行名称" maxlength="10">
 							</el-input>
 						</el-form-item>
+						<el-form-item label="民宿等级:" :label-width="formLabelWidth" :required="true" prop="jibieId">
+							<el-select v-model="formAddHostel.jibieId" clearable placeholder="请选择等级">
+								<el-option v-for="item in formAddHostel.jibie" :key="item.id" :label="item.jibieName" :value="item.id">
+								</el-option>
+							</el-select>
+						</el-form-item>
+						<el-form-item label="720全景链接" :label-width="formLabelWidth" :required="true" prop="linkproUrl">
+							<el-input v-model="formAddHostel.linkproUrl" autocomplete="off" placeholder="请输入720全景链接">
+							</el-input>
+						</el-form-item>
 					</el-col>
 				</el-row>
 				<el-row>
@@ -227,6 +237,16 @@
 							<el-input v-model="formModifyHostel.bankName" autocomplete="off" placeholder="请输入银行名称">
 							</el-input>
 						</el-form-item>
+						<el-form-item label="民宿等级:" :label-width="formLabelWidth" :required="true" prop="type">
+							<el-select v-model="formModifyHostel.type" clearable placeholder="请选择等级">
+								<el-option v-for="item in formModifyHostel.jibie" :key="item.id" :label="item.jibieName" :value="item.id">
+								</el-option>
+							</el-select>
+						</el-form-item>
+						<el-form-item label="720全景链接" :label-width="formLabelWidth" :required="true" prop="linkProUrl">
+							<el-input v-model="formModifyHostel.linkProUrl" autocomplete="off" placeholder="请输入720全景链接">
+							</el-input>
+						</el-form-item>
 					</el-col>
 				</el-row>
 				<el-row>
@@ -711,6 +731,18 @@
 				}
 				callback();
 			};
+			var checkJibieId = (rule, value, callback) => {
+				if (!value) {
+					return callback(new Error('请选择民宿等级'));
+				}
+				callback();
+			};
+			var checkLinkproUrl = (rule, value, callback) => {
+				if (!value) {
+					return callback(new Error('请输入720全景链接'));
+				}
+				callback();
+			};
 			var checkHostelCalssName = (rule, value, callback) => {
 				if (!value) {
 					return callback(new Error('请输入民宿类型'));
@@ -838,8 +870,15 @@
 					bankCard: '',
 					cardName: '',
 					bankName: '',
+					jibie:[
+						{id:1,jibieName:'银宿级'},
+						{id:2,jibieName:'金宿级'},
+						{id:3,jibieName:'铂金级'},
+					],//民宿级别
+					jibieId:'',
 					fileUrl: '', // 图片上传列表
 					url: '', // 上传的图片列表
+					linkproUrl:'',//720全景链接
 					level: this.$store.state.user.level
 				},
 				addHostelFormRules: {
@@ -869,7 +908,13 @@
 					}],
 					fileUrl: [{
 						validator: checkFileUrl
-					}]
+					}],
+					jibieId: [{
+						validator: checkJibieId
+					}],
+					linkproUrl: [{
+						validator: checkLinkproUrl
+					}],
 				},
 				formModifyHostel: {
 					options: [],
@@ -883,8 +928,15 @@
 					bankCard: '',
 					cardName: '',
 					bankName: '',
+					jibie:[
+						{id:1,jibieName:'银宿级'},
+						{id:2,jibieName:'金宿级'},
+						{id:3,jibieName:'铂金级'},
+					],//民宿级别
+					type:'',
 					fileUrl: '', // 图片上传列表
 					url: '', // 上传的图片列表
+					linkProUrl:'',//720全景链接
 					level: this.$store.state.user.level
 				},
 				modifyHostelFormRules: {
@@ -914,7 +966,13 @@
 					}],
 					fileUrl: [{
 						validator: checkFileUrl
-					}]
+					}],
+					type: [{
+						validator: checkJibieId
+					}],
+					linkProUrl: [{
+						validator: checkLinkproUrl
+					}],
 				},
 				// 修改字典数据
 				modify_dictionary_data: {
@@ -1309,7 +1367,7 @@
 			 * 修改民宿
 			 */
 			modify_house_dialog(index, row) {
-				// console.log(index, row);
+				console.log(index, row);
 				var t = parseInt(row.hotelTownship);
 				this.formModifyHostel.id = row.id;
 				if (typeof t === 'number' && isNaN(t)) {
@@ -1324,6 +1382,8 @@
 				this.formModifyHostel.bankCard = row.bankCard;
 				this.formModifyHostel.cardName = row.cardName;
 				this.formModifyHostel.bankName = row.bankName;
+				this.formModifyHostel.type = row.type;
+				this.formModifyHostel.linkProUrl = row.linkProUrl;
 				// this.formModifyHostel.fileUrl = row.bankName;
 
 				this.dialogModifyHostelFormVisible = true;

+ 7 - 0
vue.config.js

@@ -44,6 +44,13 @@ module.exports = {
 				pathRewrite: {
 					['^' + process.env.VUE_APP_BASE_API]: ''
 				}
+			},
+			[process.env.VUE_APP_BASE_FILE]: {//图片上传
+				target: 'https://chtech.ncjti.edu.cn/hotelReservation/fileload',
+				changeOrigin: true,
+				pathRewrite: {
+					['^' + process.env.VUE_APP_BASE_FILE]: ''
+				}
 			}
 		}
 		// before: require('./mock/mock-server.js')