Browse Source

阶段性提交

soft5566 2 years atrás
parent
commit
c47a3ada8a

+ 69 - 69
src/api/discountCouponMgr.js

@@ -113,77 +113,77 @@ export function coupominsterCoupon(forData) {
 }
 
 // 修改代金券
-export function coupominsterModifyVoucher(forData) {
-	let data = new FormData()
-
-	data.append('name', forData.name)
-	data.append('deductionPrice', forData.deductionPrice)
-	data.append('grantNumber', forData.grantNumber)
-	data.append('limitNumber', forData.limitNumber)
-
-	data.append('grantStartDate', forData.grantTimes[0])
-	data.append('grantEndDate', forData.grantTimes[1])
-
-	data.append('meetPrice', forData.meetPrice)
-
-	if (forData.effectiveType == 1) {
-		data.append('effectiveStartDate', forData.effectiveDateTime[0])
-		data.append('effectiveEndDate', forData.effectiveDateTime[1])
-	} else if (forData.effectiveType == 2) {
-		data.append('effectiveDay', forData.effectiveDay)
-		data.append('effectiveLoseDay', forData.effectiveLoseDay)
-	}
-
-	data.append('hotelIds', forData.hotelIds)
-	data.append('createId', forData.createId)
-	data.append('effectiveType', forData.effectiveType)
-	data.append('type', forData.type)
-	data.append('status', forData.status)
-	data.append('id', forData.id)
-
-	return request({
-		url: '/Coupomupdate.action',
-		method: 'post',
-		data
-	})
-}
+// export function coupominsterModifyVoucher(forData) {
+// 	let data = new FormData()
+
+// 	data.append('name', forData.name)
+// 	data.append('deductionPrice', forData.deductionPrice)
+// 	data.append('grantNumber', forData.grantNumber)
+// 	data.append('limitNumber', forData.limitNumber)
+
+// 	data.append('grantStartDate', forData.grantTimes[0])
+// 	data.append('grantEndDate', forData.grantTimes[1])
+
+// 	data.append('meetPrice', forData.meetPrice)
+
+// 	if (forData.effectiveType == 1) {
+// 		data.append('effectiveStartDate', forData.effectiveDateTime[0])
+// 		data.append('effectiveEndDate', forData.effectiveDateTime[1])
+// 	} else if (forData.effectiveType == 2) {
+// 		data.append('effectiveDay', forData.effectiveDay)
+// 		data.append('effectiveLoseDay', forData.effectiveLoseDay)
+// 	}
+
+// 	data.append('hotelIds', forData.hotelIds)
+// 	data.append('createId', forData.createId)
+// 	data.append('effectiveType', forData.effectiveType)
+// 	data.append('type', forData.type)
+// 	data.append('status', forData.status)
+// 	data.append('id', forData.id)
+
+// 	return request({
+// 		url: '/Coupomupdate.action',
+// 		method: 'post',
+// 		data
+// 	})
+// }
 
 // 修改折扣券
-export function coupominsterModifyCoupon(forData) {
-	let data = new FormData()
-
-	data.append('name', forData.name)
-	data.append('rebatePrice', forData.rebatePrice)
-	data.append('maxDeduction', forData.maxDeduction)
-	data.append('grantNumber', forData.grantNumber)
-	data.append('limitNumber', forData.limitNumber)
-
-	data.append('grantStartDate', forData.grantTimes[0])
-	data.append('grantEndDate', forData.grantTimes[1])
-
-	data.append('meetPrice', forData.meetPrice)
-
-	if (forData.effectiveType == 1) {
-		data.append('effectiveStartDate', forData.effectiveDateTime[0])
-		data.append('effectiveEndDate', forData.effectiveDateTime[1])
-	} else if (forData.effectiveType == 2) {
-		data.append('effectiveDay', forData.effectiveDay)
-		data.append('effectiveLoseDay', forData.effectiveLoseDay)
-	}
-
-	data.append('hotelIds', forData.hotelIds)
-	data.append('createId', forData.createId)
-	data.append('effectiveType', forData.effectiveType)
-	data.append('type', forData.type)
-	data.append('status', forData.status)
-	data.append('id', forData.id)
-
-	return request({
-		url: '/Coupomupdate.action',
-		method: 'post',
-		data
-	})
-}
+// export function coupominsterModifyCoupon(forData) {
+// 	let data = new FormData()
+
+// 	data.append('name', forData.name)
+// 	data.append('rebatePrice', forData.rebatePrice)
+// 	data.append('maxDeduction', forData.maxDeduction)
+// 	data.append('grantNumber', forData.grantNumber)
+// 	data.append('limitNumber', forData.limitNumber)
+
+// 	data.append('grantStartDate', forData.grantTimes[0])
+// 	data.append('grantEndDate', forData.grantTimes[1])
+
+// 	data.append('meetPrice', forData.meetPrice)
+
+// 	if (forData.effectiveType == 1) {
+// 		data.append('effectiveStartDate', forData.effectiveDateTime[0])
+// 		data.append('effectiveEndDate', forData.effectiveDateTime[1])
+// 	} else if (forData.effectiveType == 2) {
+// 		data.append('effectiveDay', forData.effectiveDay)
+// 		data.append('effectiveLoseDay', forData.effectiveLoseDay)
+// 	}
+
+// 	data.append('hotelIds', forData.hotelIds)
+// 	data.append('createId', forData.createId)
+// 	data.append('effectiveType', forData.effectiveType)
+// 	data.append('type', forData.type)
+// 	data.append('status', forData.status)
+// 	data.append('id', forData.id)
+
+// 	return request({
+// 		url: '/Coupomupdate.action',
+// 		method: 'post',
+// 		data
+// 	})
+// }
 
 // 获取民宿列表
 export function hotelqueryAllHotel() {

+ 34 - 0
src/api/residentialhostelMgr.js

@@ -185,4 +185,38 @@ export function delHomestayDictionary(param) {
 		method: 'post',
 		data
 	});
+};
+
+// 获取民宿其他配置
+export function otherConfig(param) {
+	return request({
+		url: '/hotelqueryTakeOrderDict.action',
+		method: 'get'
+	});
+};
+
+// 修改民宿其他配置
+export function modifyOtherConfig(param) {
+	const data = {
+	  dicts: [
+	    {
+	      id: param[0].id,
+	      code: param[0].miniteValue,
+	    },
+	    {
+	      id: param[1].id,
+	      code: param[1].value,
+	    },
+	    {
+	      id: param[2].id,
+	      code: param[2].monthValue,
+	    }
+	  ]
+	};
+	
+	return request({
+		url: '/hotelupdateTakeOrderDict.action',
+		method: 'post',
+		data
+	});
 };

File diff suppressed because it is too large
+ 1 - 0
src/icons/svg/process.svg


+ 1 - 1
src/layout/components/Sidebar/index.vue

@@ -2,7 +2,7 @@
 	<div :class="{'has-logo':showLogo}">
 		<logo v-if="showLogo" :collapse="isCollapse" />
 		<el-scrollbar wrap-class="scrollbar-wrapper">
-			<el-menu :default-openeds="['/systemset']" :default-active="activeMenu" :collapse="isCollapse" :background-color="variables.menuBg"
+			<el-menu :default-openeds="['/systemset','/processMgr']" :default-active="activeMenu" :collapse="isCollapse" :background-color="variables.menuBg"
 				:text-color="variables.menuText" :unique-opened="false" :active-text-color="variables.menuActiveText" :collapse-transition="false"
 				mode="vertical">
 				<sidebar-item v-for="route in routes" :key="route.path" :item="route" :base-path="route.path" />

+ 29 - 3
src/router/index.js

@@ -67,7 +67,7 @@ export const constantRoutes = [{
 			}
 		}]
 	},
-	
+
 	{
 		path: '/complaintMgr',
 		component: Layout,
@@ -85,6 +85,32 @@ export const constantRoutes = [{
 	},
 
 	{
+		path: '/processMgr',
+		component: Layout,
+		name: 'ProcessMgr',
+		meta: {
+			roles: ['superAdmin'],
+			title: '流程管理',
+			icon: 'process'
+		},
+		children: [{
+			path: 'myAgent',
+			name: 'MyAgent',
+			component: () => import('@/views/myAgent/index'),
+			meta: {
+				title: '我的代办'
+			}
+		},{
+			path: 'audited',
+			name: 'Audited',
+			component: () => import('@/views/audited/index'),
+			meta: {
+				title: '已审核'
+			}
+		}]
+	},
+
+	{
 		path: '/systemset',
 		component: Layout,
 		name: 'Systemset',
@@ -116,13 +142,13 @@ export const constantRoutes = [{
 			}
 		}]
 	},
-	
+
 	{
 		path: '/404',
 		component: () => import('@/views/404'),
 		hidden: true
 	},
-	
+
 	// 404页面 必须放在最后!!
 	{
 		path: '*',

+ 526 - 0
src/views/audited/index.vue

@@ -0,0 +1,526 @@
+<template>
+	<div class="app-container">
+		<el-row>
+			<el-col :span="24">
+				<div class="cell">
+					<div class="cell-title">
+						<div class="title-left">
+							<div class="title">流程管理/已审核</div>
+						</div>
+					</div>
+					<div class="cell-body" style="height: 670px;">
+						
+					</div>
+				</div>
+			</el-col>
+		</el-row>
+	</div>
+</template>
+
+<script>
+	// import {
+	// 	getTableData,
+	// 	getXiang,
+	// 	downloadExcel
+	// } from '@/api/complaintMgr'
+
+	export default {
+		data() {
+			return {
+				currentUserLevel: this.$store.state.user.level, // 当前用户的权限
+				dialogImageUrl: '',
+				formLabelWidth: '120px',
+				// 表格单元格样式
+				cell_style: {
+					color: '#1A202B',
+					'font-size': '14px',
+					'font-family': 'Microsoft YaHei-3970(82674968)'
+				},
+				// 表格头部样式
+				header_cell_style: {
+					background: '#E6ECFE',
+					color: '#1A202B',
+					'font-size': '16px',
+					'font-family': 'Microsoft YaHei-3970(82674968)'
+				},
+				// 查询数据
+				formInline: {
+					options: [{
+						id: 0,
+						label: '已删除'
+					}, {
+						id: 1,
+						label: '处理中'
+					}, {
+						id: 2,
+						label: '已处理'
+					}],
+					status: '',
+					search_datatime: '',
+					keyword: ''
+				},
+				tableData: [],
+				cond_data: {},
+				// 分页参数
+				pagination: {
+					currentPage: 1,
+					pageSize: 9,
+					total: 0
+				},
+				loading: true,
+				complaint: {
+					status: 'Pending',
+					complaintNumber: '123456',
+					lodge: 'Some Lodge',
+					lodgePhone: '1234567890',
+					complainantPhone: '0987654321',
+					orderNumber: '987654321',
+					title: 'Complaint Title',
+					description: 'Complaint Description',
+					images: [],
+					complaintTime: '2022-01-01 10:00:00'
+				},
+				dialogComplaintVisible: false,
+				dialogVisible: false,
+				dialogRemarksFormVisible: false, // 添加备注
+				formRemarks: {
+					id: '',
+					remark: ''
+				}
+			}
+		},
+		created() {
+			// 检测权限
+			if (this.currentUserLevel !== 2) {
+				this.$router.replace({
+					path: '/data'
+				})
+				return
+			}
+			// 获取消费记录,表格数据
+			this.get_table_data('list')
+		},
+		mounted() {
+			document.getElementsByClassName("el-pagination__jump")[0].childNodes[0].nodeValue = "跳至";
+		},
+		methods: {
+			handlePictureCardPreview(file) {
+				this.dialogImageUrl = file;
+				this.dialogVisible = true;
+			},
+			/**
+			 * 添加备注
+			 */
+			handleRemarks() {
+				console.log(this.formRemarks);
+			},
+			/**
+			 * 受理
+			 * @param {Object} row
+			 */
+			handleClickAcceptance(row) {
+				// console.log(row);
+				this.formRemarks.id = row.id;
+				this.dialogRemarksFormVisible = true;
+			},
+			// 点击查看备注,弹出投诉详情对话框
+			handleClickRemarks(row) {
+				// console.log(row);
+				this.dialogComplaintVisible = true
+
+				getXiang(row).then((res) => {
+					console.log(res.data);
+					if (res.code === 200) {
+						this.complaint = res.data
+					} else {
+						this.complaint = []
+						this.$message.warning('没有符合条件的数据!')
+					}
+				}).catch((err) => {
+					// console.log(err);
+					this.$message.error(err.message)
+				});
+			},
+			// 关闭投诉详情对话框
+			complaint_close() {
+				this.dialogComplaintVisible = false
+			},
+			/**
+			 * 获取消费记录,表格数据
+			 */
+			get_table_data(param) {
+				this.loading = true
+				this.get_condtion();
+
+				let data = this.cond_data;
+				if (param == 'search') {
+					data.page = 1
+					this.pagination.currentPage = 1
+				}
+
+				var that = this
+				// console.log(data);
+				getTableData(data).then((res) => {
+					// console.log(res.data);
+					if (res.code === 200) {
+						var d = res.data
+						that.pagination.total = d.total
+						that.tableData = []
+						for (var i = 0; i < d.pageList.length; i++) {
+							that.tableData.push(d.pageList[i])
+						}
+					} else {
+						that.tableData = []
+						that.$message.warning('没有符合条件的数据!')
+					}
+				}).catch((err) => {
+					// console.log(err);
+					that.$message.error(err.message)
+				});
+				that.loading = false;
+			},
+			/**
+			 * 查询条件
+			 */
+			get_condtion() {
+				let data = {
+					page: this.pagination.currentPage,
+					rows: this.pagination.pageSize
+				}
+
+				if (this.formInline.status !== '') {
+					data.status = this.formInline.status
+				}
+
+				if (this.formInline.search_datatime !== '') {
+					data.search_datatime = this.formInline.search_datatime
+				}
+
+				if (this.formInline.keyword !== '') {
+					data.keyword = this.formInline.keyword
+				}
+
+				this.cond_data = data;
+			},
+			/**
+			 * 导出为Excel
+			 */
+			exportExcel() {
+				var that = this
+				downloadExcel(this.cond_data).then((res) => {
+					// console.log(res);
+					if (res.code === 200) {
+						that.$message.success(res.message)
+						let xls = res.downurl
+						window.open(xls)
+					} else {
+						that.tableData = []
+						that.$message.warning(res.message)
+					}
+				}).catch((err) => {
+					// console.log(err);
+					that.$message.error(err.message)
+				});
+			},
+			/**
+			 * 搜索
+			 */
+			btn_search() {
+				this.get_table_data('search')
+			},
+			/**
+			 * currentPage 改变时会触发
+			 * @param {Object} val
+			 */
+			currentPageChange(val) {
+				this.pagination.currentPage = val
+				this.get_table_data('pages')
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.app-container {
+		background-color: #EFF2F7;
+		padding: 10px;
+
+		.el-row {
+
+			.el-col {
+				padding: 10px;
+
+				.cell {
+					padding: 30px;
+					border-radius: 10px;
+					background-color: #FFFFFF;
+					box-shadow: 0px 3px 21px 0px rgba(60, 108, 254, 0.16);
+
+					.cell-title {
+						display: flex;
+						justify-content: space-between;
+						align-items: center;
+						margin-bottom: 30px;
+						padding-bottom: 30px;
+						border-bottom: 1px solid #CCCCCC;
+
+						.title-left {
+							display: flex;
+							align-items: center;
+
+							.title {
+								font-size: 22px;
+								font-family: Microsoft YaHei-3970(82674968);
+								font-weight: bold;
+								color: #1A202B;
+							}
+
+							.title-detail {
+								margin-left: 50px;
+								font-size: 18px;
+								font-family: Microsoft YaHei-3970(82674968);
+								color: #1A202B;
+							}
+						}
+
+						.title-right {
+							display: flex;
+							justify-content: space-between;
+							align-items: center;
+
+							.el-button {
+								width: 110px;
+								height: 46px;
+								background: #2B4CFE;
+								font-size: 18px;
+								color: #FFFFFF;
+								font-family: Microsoft YaHei-3970(82674968);
+								border-radius: 5px;
+							}
+
+							.el-button--warning {
+								background: #F88A64;
+							}
+						}
+					}
+
+					.cell-body {
+
+						.controls {
+							display: flex;
+							justify-content: space-between;
+							align-items: center;
+
+							.demo-form-inline {
+								display: inline-flex;
+								flex-wrap: wrap;
+								align-items: center;
+								justify-content: flex-start;
+
+								.btn-search {
+									background: rgba(9, 101, 98, 1);
+									font-size: 14px;
+									color: #FFFFFF;
+									font-family: Microsoft YaHei-3970(82674968);
+									border-radius: 5px;
+									border: none;
+								}
+							}
+
+							.export {
+								background: rgba(9, 101, 98, 1);
+								font-size: 14px;
+								color: #FFFFFF;
+								font-family: Microsoft YaHei-3970(82674968);
+								border-radius: 5px;
+								margin-bottom: 22px;
+								border: none;
+							}
+						}
+
+						.pagination-table {
+							display: flex;
+							justify-content: flex-end;
+							align-items: center;
+							height: 30px;
+							margin-top: 20px;
+							padding-right: 100px;
+
+							.txt-notice {
+
+								span {
+									font-size: 28px;
+									font-weight: 500;
+									font-family: '微软雅黑';
+								}
+							}
+
+							::v-deep .el-pagination {
+								display: flex;
+								justify-content: flex-end;
+								align-items: center;
+							}
+
+							::v-deep .el-pagination ul {
+								display: flex;
+
+							}
+
+							::v-deep .el-pagination button,
+							::v-deep .el-pagination li {
+								display: flex;
+								justify-content: center;
+								align-items: center;
+								width: 50px;
+								height: 36px;
+								border: 1px solid #626262;
+								border-radius: 3px;
+								font-size: 14px;
+								margin: 0 5px;
+							}
+
+							::v-deep .el-pagination span {
+								margin-left: 10px;
+							}
+
+							::v-deep .el-pagination .el-pagination__jump {
+								font-size: 16px;
+							}
+
+							::v-deep .el-pagination .el-pagination__editor {
+								width: 50px;
+								height: 36px;
+								margin: 0 5px;
+							}
+
+							::v-deep .el-pagination .el-input__inner {
+								width: 50px;
+								height: 36px;
+								border: 1px solid #626262;
+								margin: -4px 0 0 0;
+							}
+						}
+					}
+				}
+			}
+		}
+
+		::v-deep .el-dialog {
+			margin: 0 !important;
+			width: 650px;
+			height: 560px;
+			background: #FFFFFF;
+			box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.29);
+			border-radius: 6px;
+			position: absolute;
+			top: 50%;
+			left: 50%;
+			transform: translate(-50%, -50%);
+
+			.el-dialog__header {
+				display: flex;
+				align-items: center;
+				width: 100%;
+				height: 58px;
+				padding: 30px;
+				border-radius: 6px 6px 0px 0px;
+				font-weight: bold;
+				border-bottom: 1px solid rgba(230, 230, 230, 1);
+			}
+
+			.el-dialog__body {
+				padding-bottom: 0;
+
+				.el-form-item__label,
+				.el-form-item__content {
+					font-size: 16px;
+					font-family: Microsoft YaHei-3970(82674968);
+					color: #53575A;
+				}
+
+				.el-input__inner {
+					width: 180px;
+				}
+			}
+
+			// 删除对话框的样式
+			.del-account-body {
+				display: flex;
+				flex-direction: column;
+				justify-content: center;
+				align-items: center;
+				height: 180px;
+
+				img {
+					width: 72px;
+				}
+
+				.del-account-body-txt {
+					height: 58px;
+					line-height: 58px;
+					font-size: 18px;
+					font-family: Microsoft YaHei-3970(82674968);
+					color: #333333;
+				}
+			}
+
+			.el-dialog__footer {
+				padding-bottom: 0 !important;
+				text-align: center;
+
+				.el-button.el-button--default {
+					width: 75px;
+					height: 40px;
+					border: 1px solid #2B4CFE;
+					border-radius: 6px;
+					font-size: 16px;
+					font-family: Microsoft YaHei-3970(82674968);
+					color: #2B4CFE;
+				}
+
+				.el-button.el-button--primary {
+					width: 75px;
+					height: 40px;
+					background: #2B4CFE;
+					border-radius: 6px;
+					font-size: 16px;
+					font-family: Microsoft YaHei-3970(82674968);
+					color: #FFFFFF;
+					margin-left: 60px;
+				}
+			}
+		}
+	}
+</style>
+
+<style>
+	.acceptance-class {
+		height: 650px !important;
+	}
+
+	.add-remarks-class {
+		height: 300px !important;
+	}
+
+	.el-date-editor--daterange.el-input__inner {
+		width: 280px !important;
+	}
+
+	.show-imgs {
+		display: flex;
+	}
+
+	.imgs {
+		display: flex;
+		flex-direction: row;
+		margin-left: 20px;
+	}
+
+	.lbl-cls {
+		display: inline-block;
+		width: 100px;
+		text-align: right;
+		padding-right: 10px;
+		color: #bbb;
+	}
+</style>

+ 103 - 31
src/views/complaintMgr/index.vue

@@ -34,45 +34,45 @@
 						</div>
 						<el-table ref="multipleTable" :data="tableData" height="510" style="width: 100%" :cell-style="cell_style" v-loading="loading"
 							:header-cell-style="header_cell_style">
-							<el-table-column label="状态" align="center">
+							<el-table-column fixed="left" label="状态" align="center">
 								<template slot-scope="scope">
 									<span v-if="scope.row.status == 0" style="color: #ccc;">已删除</span>
 									<span v-else-if="scope.row.status == 1" style="color: #F9273F;">处理中</span>
 									<span v-else-if="scope.row.status == 2" style="color: #56AA2E;">已处理</span>
 								</template>
 							</el-table-column>
-							<el-table-column label="投诉单号" align="center">
+							<el-table-column label="投诉单号" align="center" width="180">
 								<template slot-scope="scope">
 									<span>{{ scope.row.id }}</span>
 								</template>
 							</el-table-column>
-							<el-table-column label="民宿" align="center">
+							<el-table-column label="民宿" align="center" width="280">
 								<template slot-scope="scope">
 									<span>{{ scope.row.hotelName }}</span>
 								</template>
 							</el-table-column>
 
-							<el-table-column label="民宿电话" align="center">
+							<el-table-column label="民宿电话" align="center" width="120">
 								<template slot-scope="scope">
 									<span>{{ scope.row.hotelPhone }}</span>
 								</template>
 							</el-table-column>
-							<el-table-column label="投诉人电话" align="center">
+							<el-table-column label="投诉人电话" align="center" width="120">
 								<template slot-scope="scope">
 									<span>{{ scope.row.complainPhone }}</span>
 								</template>
 							</el-table-column>
-							<el-table-column label="订单号" align="center">
+							<el-table-column label="订单号" align="center" width="180">
 								<template slot-scope="scope">
-									<span>{{ scope.row.bookingId }}</span>
+									<span>{{ scope.row.order_num }}</span>
 								</template>
 							</el-table-column>
-							<el-table-column label="标题" align="center">
+							<el-table-column label="标题" align="center" width="180">
 								<template slot-scope="scope">
 									<span>{{ scope.row.title }}</span>
 								</template>
 							</el-table-column>
-							<el-table-column label="问题表述" align="center">
+							<el-table-column label="问题描述" align="center" width="280">
 								<template slot-scope="scope">
 									<span>{{ scope.row.content }}</span>
 								</template>
@@ -82,9 +82,15 @@
 									<span>{{ scope.row.createDate.substring(0, scope.row.createDate.length - 2) }}</span>
 								</template>
 							</el-table-column>
-							<el-table-column fixed="right" label="操作" width="100">
+							<el-table-column label="备注" align="center" width="280">
 								<template slot-scope="scope">
-									<el-button @click="handleClick(scope.row)" type="text" size="small">查看详情</el-button>
+									<span>{{ scope.row.remark }}</span>
+								</template>
+							</el-table-column>
+							<el-table-column fixed="right" label="操作" width="120">
+								<template slot-scope="scope">
+									<el-button @click="handleClickRemarks(scope.row)" type="text" size="small">受理</el-button>
+									<el-button @click="handleClickAcceptance(scope.row)" type="text" size="small">备注</el-button>
 								</template>
 							</el-table-column>
 						</el-table>
@@ -98,9 +104,11 @@
 			</el-col>
 		</el-row>
 		<!-- 投诉详情 -->
-		<el-dialog title="投诉详情" custom-class="add-account-class" :visible.sync="dialogComplaintVisible" :close-on-click-modal="false"
+		<el-dialog title="投诉详情" custom-class="acceptance-class" :visible.sync="dialogComplaintVisible" :close-on-click-modal="true"
 			:close-on-press-escape="false" @close="complaint_close">
-			<p><label class="lbl-cls">投诉状态:</label>{{ complaint.status==0?"处理中":"处理完成" }}</p>
+			<p v-if="complaint.status == 1"><label class="lbl-cls">投诉状态:</label><span style="color: #F9273F;">处理中</span></p>
+			<p v-else-if="complaint.status == 2"><label class="lbl-cls">投诉状态:</label><span style="color: #56AA2E;">处理完成</span></p>
+			<p v-else><label class="lbl-cls">投诉状态:</label><span style="color: #ccc;">已删除</span></p>
 			<p><label class="lbl-cls">投诉单号:</label> {{ complaint.bookingId }}</p>
 			<p><label class="lbl-cls">民宿:</label> {{ complaint.hotelName }}</p>
 			<p><label class="lbl-cls">民宿电话:</label> {{ complaint.hotelPhone }}</p>
@@ -114,16 +122,37 @@
 					<div><label class="lbl-cls">图片:</label></div>
 					<div class="imgs">
 						<div v-for="(image, index) in complaint.fileInfos" :key="index">
-							<img :src="image" alt="" @click="handlePictureCardPreview(image)" height="80px" width="80px" />
+							<img :src="image.url" v-if="!image.url.endsWith('.mp4')"
+							 style="margin: 0 2px; border-radius: 5px;" alt="" @click="handlePictureCardPreview(image.url)" height="80px" width="80px" />
 						</div>
 					</div>
 				</div>
 				<p><label class="lbl-cls">投诉时间:</label> {{ complaint.createDate}}</p>
+				<p><label class="lbl-cls">备注:</label><el-input type="textarea" style="margin-left: 100px; margin-top: -20px; width: calc(100% - 100px);"
+						:rows="2" placeholder="暂无备注信息" v-model="complaint.remark">
+					</el-input>
+				</p>
+				<p style="display: flex; justify-content: flex-end;">
+					<el-button class="cancel-btn" @click="dialogComplaintVisible = false">取 消</el-button>
+					<el-button type="primary" class="confirm-btn" @click="handleRemarks">确定受理</el-button>
+				</p>
 			</div>
 		</el-dialog>
 		<el-dialog :visible.sync="dialogVisible">
 			<img width="100%" :src="dialogImageUrl" alt="">
 		</el-dialog>
+		<el-dialog title="添加备注" custom-class="add-remarks-class" :visible.sync="dialogRemarksFormVisible" :close-on-click-modal="false">
+			<el-form :model="formRemarks">
+				<el-form-item>
+					<el-input type="textarea" placeholder="请输入备注" v-model="formRemarks.remark" :autosize="{minRows: 4, maxRows: 6}" maxlength="100"
+						show-word-limit></el-input>
+				</el-form-item>
+			</el-form>
+			<div slot="footer" class="dialog-footer">
+				<el-button class="cancel-btn" @click="dialogRemarksFormVisible = false">取 消</el-button>
+				<el-button type="primary" class="confirm-btn" @click="handleRemarks">确 定</el-button>
+			</div>
+		</el-dialog>
 	</div>
 </template>
 
@@ -158,10 +187,10 @@
 					options: [{
 						id: 0,
 						label: '已删除'
-					},{
+					}, {
 						id: 1,
 						label: '处理中'
-					},{
+					}, {
 						id: 2,
 						label: '已处理'
 					}],
@@ -187,18 +216,16 @@
 					orderNumber: '987654321',
 					title: 'Complaint Title',
 					description: 'Complaint Description',
-					images: [
-						'image1.jpg',
-						'image2.jpg',
-						'image3.jpg',
-						'image1.jpg',
-						'image2.jpg',
-						'image3.jpg'
-					],
+					images: [],
 					complaintTime: '2022-01-01 10:00:00'
 				},
 				dialogComplaintVisible: false,
 				dialogVisible: false,
+				dialogRemarksFormVisible: false, // 添加备注
+				formRemarks: {
+					id: '',
+					remark: ''
+				}
 			}
 		},
 		created() {
@@ -217,12 +244,27 @@
 		},
 		methods: {
 			handlePictureCardPreview(file) {
-				this.dialogImageUrl = file.url;
+				this.dialogImageUrl = file;
 				this.dialogVisible = true;
 			},
-			// 点击查看投诉详情,弹出投诉详情对话框
-			handleClick(row) {
-				console.log(row);
+			/**
+			 * 添加备注
+			 */
+			handleRemarks() {
+				console.log(this.formRemarks);
+			},
+			/**
+			 * 受理
+			 * @param {Object} row
+			 */
+			handleClickAcceptance(row) {
+				// console.log(row);
+				this.formRemarks.id = row.id;
+				this.dialogRemarksFormVisible = true;
+			},
+			// 点击查看备注,弹出投诉详情对话框
+			handleClickRemarks(row) {
+				// console.log(row);
 				this.dialogComplaintVisible = true
 
 				getXiang(row).then((res) => {
@@ -587,24 +629,41 @@
 				}
 			}
 		}
+
+		>>>.el-table__fixed-body-wrapper .el-table__body {
+			padding-bottom: 17px !important; // 滚动条高度
+		}
+
+		>>>.el-table__fixed,
+		>>>.el-table__fixed-right {
+			height: calc(100% - 14px) !important;
+		}
 	}
 </style>
 
 <style>
+	.acceptance-class {
+		height: 680px !important;
+	}
+
+	.add-remarks-class {
+		height: 300px !important;
+	}
+
 	.el-date-editor--daterange.el-input__inner {
 		width: 280px !important;
 	}
-	
+
 	.show-imgs {
 		display: flex;
 	}
-	
+
 	.imgs {
 		display: flex;
 		flex-direction: row;
 		margin-left: 20px;
 	}
-	
+
 	.lbl-cls {
 		display: inline-block;
 		width: 100px;
@@ -612,4 +671,17 @@
 		padding-right: 10px;
 		color: #bbb;
 	}
+	
+	.cancel-btn {
+		color: rgba(9, 101, 98, 1) !important;
+		border: 1px solid rgba(9, 101, 98, 1) !important;
+	}
+	
+	.confirm-btn {
+		border: none !important;
+		background: rgba(9, 101, 98, 1) !important;
+		color: #fff !important;
+		border-radius: 5px !important;
+		margin-left: 28px !important;
+	}
 </style>

+ 262 - 226
src/views/discountCouponMgr/index.vue

@@ -116,8 +116,8 @@
 			</el-col>
 		</el-row>
 		<!-- 代金劵详情 -->
-		<el-dialog title="优惠券详情" custom-class="add-account-class" :visible.sync="dialogVoucherVisible" :close-on-click-modal="false"
-			:close-on-press-escape="false" @close="dialogVoucherVisible = false">
+		<el-dialog title="优惠券详情" custom-class="add-account-class" :visible.sync="dialogVoucherVisible" :close-on-click-modal="true"
+			:close-on-press-escape="true" @close="dialogVoucherVisible = false">
 			<p><label class="lbl-cls">代金券名称:</label>{{ coupon.name }}</p>
 			<p><label class="lbl-cls">减免金额:</label> {{ coupon.deductionPrice }}</p>
 			<p><label class="lbl-cls">发放数量:</label> {{ coupon.grantNumber }}张</p>
@@ -129,12 +129,13 @@
 				<p v-if="coupon.effectiveType == 1"><label class="lbl-cls">有效期:</label> {{ coupon.effectiveStartDate }} ~ {{ coupon.effectiveEndDate}}</p>
 				<p v-else-if="coupon.effectiveType == 2"><label class="lbl-cls">有效期:</label> 领取后{{ coupon.effectiveDay }}天开始,{{ coupon.effectiveLoseDay }}天内有效
 				</p>
-				<p><label class="lbl-cls">选用民宿:</label> {{ coupon.hotelNames }}</p>
+				<p v-if="coupon.hotelIds == -1"><label class="lbl-cls">选用民宿:</label> 全部民宿</p>
+				<p v-else><label class="lbl-cls">选用民宿:</label> {{ coupon.hotelNames }}</p>
 			</div>
 		</el-dialog>
 		<!-- 折扣劵详情 -->
-		<el-dialog title="优惠券详情" custom-class="add-account-class" :visible.sync="dialogCouponVisible" :close-on-click-modal="false"
-			:close-on-press-escape="false" @close="dialogCouponVisible = false">
+		<el-dialog title="优惠券详情" custom-class="add-account-class" :visible.sync="dialogCouponVisible" :close-on-click-modal="true" :close-on-press-escape="true"
+			@close="dialogCouponVisible = false">
 			<p><label class="lbl-cls">折扣券名称:</label>{{ coupon.name }}</p>
 			<p><label class="lbl-cls">折扣:</label> {{ coupon.rebatePrice }}折</p>
 			<p><label class="lbl-cls">最大折扣金额:</label> {{ coupon.maxDeduction }}元</p>
@@ -147,7 +148,8 @@
 				<p v-if="coupon.effectiveType == 1"><label class="lbl-cls">有效期:</label> {{ coupon.effectiveStartDate }} ~ {{ coupon.effectiveEndDate}}</p>
 				<p v-else-if="coupon.effectiveType == 2"><label class="lbl-cls">有效期:</label> 领取后{{ coupon.effectiveDay }}天开始,{{ coupon.effectiveLoseDay }}天内有效
 				</p>
-				<p><label class="lbl-cls">选用民宿:</label> {{ coupon.hotelNames }}</p>
+				<p v-if="coupon.hotelIds == -1"><label class="lbl-cls">选用民宿:</label> 全部民宿</p>
+				<p v-else><label class="lbl-cls">选用民宿:</label> {{ coupon.hotelNames }}</p>
 			</div>
 		</el-dialog>
 		<!-- 新增优惠券界面 -->
@@ -355,7 +357,7 @@
 			</div>
 		</el-dialog>
 		<!-- 修改代金券对话框 -->
-		<el-dialog title="修改优惠券" custom-class="add-voucher-class" :visible.sync="dialogModifyVoucherFormVisible" :close-on-click-modal="false"
+		<!-- <el-dialog title="修改优惠券" custom-class="add-voucher-class" :visible.sync="dialogModifyVoucherFormVisible" :close-on-click-modal="false"
 			:close-on-press-escape="false" @close="dialogModifyVoucherFormVisible = false">
 			<el-form :model="formModifyVoucher" ref="addHostelForm">
 				<div style="height: 700px; padding: 0; margin: 0; overflow:auto;">
@@ -443,9 +445,9 @@
 				<el-button class="add-info-cancel-btn" @click="dialogModifyVoucherFormVisible = false">取 消</el-button>
 				<el-button class="add-info-confirm-btn" @click="modify_voucher_dialog_handler">确 认</el-button>
 			</div>
-		</el-dialog>
+		</el-dialog> -->
 		<!-- 修改折扣券对话框 -->
-		<el-dialog title="修改优惠券" custom-class="add-voucher-class" :visible.sync="dialogModifyCouponFormVisible" :close-on-click-modal="false"
+		<!-- <el-dialog title="修改优惠券" custom-class="add-voucher-class" :visible.sync="dialogModifyCouponFormVisible" :close-on-click-modal="false"
 			:close-on-press-escape="false" @close="dialogModifyCouponFormVisible = false">
 			<el-form :model="formModifyCoupon" ref="addHostelForm" :rules="addCouponFormRules">
 				<div style="height: 700px; padding: 0; margin: 0; overflow:auto;">
@@ -541,7 +543,7 @@
 				<el-button class="add-info-cancel-btn" @click="dialogModifyCouponFormVisible = false">取 消</el-button>
 				<el-button class="add-info-confirm-btn" @click="modify_coupon_dialog_handler">确 认</el-button>
 			</div>
-		</el-dialog>
+		</el-dialog> -->
 	</div>
 </template>
 
@@ -550,8 +552,8 @@
 		getTableData,
 		coupomsaveBatchLapse,
 		coupominsterVoucher,
-		coupominsterModifyVoucher,
-		coupominsterModifyCoupon,
+		// coupominsterModifyVoucher,
+		// coupominsterModifyCoupon,
 		coupominsterCoupon,
 		hotelqueryAllHotel
 	} from '@/api/discountCouponMgr'
@@ -648,8 +650,10 @@
 				couponModifyCheckedTowns: [], // 修改折扣券适用民宿
 				voucherMinSuIds: [], // 增加代金券适用民宿的ids
 				couponMinSuIds: [], // 增加折扣券适用民宿的ids
-				voucherModifyMinSuIds: [], // 增加代金券适用民宿的ids
-				couponModifyMinSuIds: [] // 增加折扣券适用民宿的ids
+				voucherModifyMinSuIds: [], // 修改代金券适用民宿的ids
+				couponModifyMinSuIds: [], // 修改折扣券适用民宿的ids
+				voucherMinSuIds_bool: false, // 增加代金券适用民宿:全选则为true,否则false
+				couponMinSuIds_bool: false // 增加折扣券适用民宿:全选则为true,否则false
 			}
 		},
 		created() {
@@ -706,7 +710,7 @@
 			handleModifyCouponCheckAllChange(val) {
 				this.couponModifyCheckedTowns = val ? townOptions : [];
 				this.isModifyCouponIndeterminate = false;
-				
+
 				// 获取代金券ids
 				this.get_modify_zhekouquan_ids()
 			},
@@ -714,50 +718,55 @@
 			 * 获取增加代金券,适用民宿ids
 			 */
 			get_daijinquan_ids() {
-				var that = this;
-				this.voucherMinSuIds.length = 0;
-
-				this.voucherCheckedTowns.forEach((item) => {
-					townOptions_obj.forEach((obj) => {
-						if (obj.hname === item) {
-							that.voucherMinSuIds.push(obj.hid);
-						}
+				if (this.voucherCheckedTowns.length == townOptions_obj.length) {
+					this.voucherMinSuIds_bool = true
+				} else {
+					var that = this;
+					this.voucherMinSuIds.length = 0;
+
+					this.voucherCheckedTowns.forEach((item) => {
+						townOptions_obj.forEach((obj) => {
+							if (obj.hname === item) {
+								that.voucherMinSuIds.push(obj.hid);
+							}
+						});
 					});
-				});
-				// console.log(this.voucherMinSuIds);
+					// console.log(this.voucherMinSuIds);
+					this.voucherMinSuIds_bool = false
+				}
 			},
 			/**
 			 * 获取修改代金券,适用民宿ids
 			 */
-			get_modify_daijinquan_ids() {
-				var that = this;
-				this.voucherModifyMinSuIds.length = 0;
-
-				this.voucherModifyCheckedTowns.forEach((item) => {
-					townOptions_obj.forEach((obj) => {
-						if (obj.hname === item) {
-							that.voucherModifyMinSuIds.push(obj.hid);
-						}
-					});
-				});
-				console.log(this.voucherModifyMinSuIds);
-			},
+			// get_modify_daijinquan_ids() {
+			// 	var that = this;
+			// 	this.voucherModifyMinSuIds.length = 0;
+
+			// 	this.voucherModifyCheckedTowns.forEach((item) => {
+			// 		townOptions_obj.forEach((obj) => {
+			// 			if (obj.hname === item) {
+			// 				that.voucherModifyMinSuIds.push(obj.hid);
+			// 			}
+			// 		});
+			// 	});
+			// 	console.log(this.voucherModifyMinSuIds);
+			// },
 			/**
 			 * 获取修改折扣券,适用民宿ids
 			 */
-			get_modify_zhekouquan_ids() {
-				var that = this;
-				this.couponModifyMinSuIds.length = 0;
-				
-				this.couponModifyCheckedTowns.forEach((item) => {
-					townOptions_obj.forEach((obj) => {
-						if (obj.hname === item) {
-							that.couponModifyMinSuIds.push(obj.hid);
-						}
-					});
-				});
-				console.log(this.couponModifyMinSuIds);
-			},
+			// get_modify_zhekouquan_ids() {
+			// 	var that = this;
+			// 	this.couponModifyMinSuIds.length = 0;
+
+			// 	this.couponModifyCheckedTowns.forEach((item) => {
+			// 		townOptions_obj.forEach((obj) => {
+			// 			if (obj.hname === item) {
+			// 				that.couponModifyMinSuIds.push(obj.hid);
+			// 			}
+			// 		});
+			// 	});
+			// 	console.log(this.couponModifyMinSuIds);
+			// },
 			/**
 			 * 折扣券适用民宿全选
 			 * @param {Object} val
@@ -773,17 +782,22 @@
 			 * 获取折扣券ids
 			 */
 			get_zhekouquan_ids() {
-				var that = this;
-				this.couponMinSuIds.length = 0;
-
-				this.couponCheckedTowns.forEach((item) => {
-					townOptions_obj.forEach((obj) => {
-						if (obj.hname === item) {
-							that.couponMinSuIds.push(obj.hid);
-						}
+				if (this.couponCheckedTowns.length == townOptions_obj.length) {
+					this.couponMinSuIds_bool = true;
+				} else {
+					var that = this;
+					this.couponMinSuIds.length = 0;
+
+					this.couponCheckedTowns.forEach((item) => {
+						townOptions_obj.forEach((obj) => {
+							if (obj.hname === item) {
+								that.couponMinSuIds.push(obj.hid);
+							}
+						});
 					});
-				});
-				// console.log(this.couponMinSuIds);
+					// console.log(this.couponMinSuIds);
+					this.couponMinSuIds_bool = false;
+				}
 			},
 			/**
 			 * 代金券适用民宿,勾选某一项
@@ -820,7 +834,7 @@
 				let checkedCount = value.length;
 				this.couponModifyCheckAll = checkedCount === this.towns.length;
 				this.isModifyCouponIndeterminate = checkedCount > 0 && checkedCount < this.towns.length;
-				
+
 				// 获取代金券ids
 				this.get_modify_zhekouquan_ids()
 			},
@@ -884,163 +898,163 @@
 			/**
 			 * 修改折扣券
 			 */
-			modify_coupon_dialog_handler() {
-				var that = this;
-				var d = this.formModifyCoupon;
-				if (isEmpty(d.name)) {
-					this.$message.error('请输入【优惠券名称】')
-					return
-				}
-				if (isEmpty(d.rebatePrice)) {
-					this.$message.error('请输入【折扣】')
-					return
-				}
-				if (isEmpty(d.maxDeduction)) {
-					this.$message.error('请输入【最大抵扣金额】')
-					return
-				}
-				if (isEmpty(d.grantNumber)) {
-					this.$message.error('请输入【发放数量】')
-					return
-				}
-				if (isEmpty(d.limitNumber)) {
-					this.$message.error('请输入【每人限领】')
-					return
-				}
-				if (isEmpty(d.grantTimes)) {
-					this.$message.error('请选择【发放时间】')
-					return
-				}
-				if (isEmpty(d.meetPrice)) {
-					this.$message.error('请输入【订单满多少可使用】')
-					return
-				}
-
-				if (d.radio == 1) {
-					if (isEmpty(d.effectiveDateTime)) {
-						this.$message.error('请选择【有效期时间段】')
-						return
-					}
-				} else if (d.radio == 2) {
-					if (isEmpty(d.effectiveDay)) {
-						this.$message.error('请选择【多少天开始】')
-						return
-					}
-					if (isEmpty(d.effectiveLoseDay)) {
-						this.$message.error('请输入【多少天有效】')
-						return
-					}
-				}
-
-				if (isEmpty(this.couponModifyMinSuIds)) {
-					this.$message.error('请选择【适用民宿】')
-					return
-				}
-
-				this.formModifyCoupon.hotelIds = this.couponModifyMinSuIds // 适用民宿ids
-				this.formModifyCoupon.createId = this.currentUserId // 创建人
-				this.formModifyCoupon.effectiveType = d.radio // 有效期类型(1.时间段 2.生效失效天数)
-				this.formModifyCoupon.type = 2 //  // 类型(1.代金券 2.折扣券)
-				this.formModifyCoupon.status = 1 // 状态(0删除 1正常)
-
-				coupominsterModifyCoupon(this.formModifyCoupon).then((res) => {
-					// console.log(res);
-					if (res.code === 200) {
-						that.$message.success(res.message)
-
-						this.get_table_data('list')
-
-						that.dialogModifyCouponFormVisible = false
-
-						that.formModifyCoupon = {}
-						that.couponModifyMinSuIds = []
-						that.couponModifyCheckedTowns = []
-					} else {
-						that.$message.warning(res.message)
-					}
-				}).catch((err) => {
-					// console.log(err);
-					that.$message.error(err.message)
-				});
-			},
+			// modify_coupon_dialog_handler() {
+			// 	var that = this;
+			// 	var d = this.formModifyCoupon;
+			// 	if (isEmpty(d.name)) {
+			// 		this.$message.error('请输入【优惠券名称】')
+			// 		return
+			// 	}
+			// 	if (isEmpty(d.rebatePrice)) {
+			// 		this.$message.error('请输入【折扣】')
+			// 		return
+			// 	}
+			// 	if (isEmpty(d.maxDeduction)) {
+			// 		this.$message.error('请输入【最大抵扣金额】')
+			// 		return
+			// 	}
+			// 	if (isEmpty(d.grantNumber)) {
+			// 		this.$message.error('请输入【发放数量】')
+			// 		return
+			// 	}
+			// 	if (isEmpty(d.limitNumber)) {
+			// 		this.$message.error('请输入【每人限领】')
+			// 		return
+			// 	}
+			// 	if (isEmpty(d.grantTimes)) {
+			// 		this.$message.error('请选择【发放时间】')
+			// 		return
+			// 	}
+			// 	if (isEmpty(d.meetPrice)) {
+			// 		this.$message.error('请输入【订单满多少可使用】')
+			// 		return
+			// 	}
+
+			// 	if (d.radio == 1) {
+			// 		if (isEmpty(d.effectiveDateTime)) {
+			// 			this.$message.error('请选择【有效期时间段】')
+			// 			return
+			// 		}
+			// 	} else if (d.radio == 2) {
+			// 		if (isEmpty(d.effectiveDay)) {
+			// 			this.$message.error('请选择【多少天开始】')
+			// 			return
+			// 		}
+			// 		if (isEmpty(d.effectiveLoseDay)) {
+			// 			this.$message.error('请输入【多少天有效】')
+			// 			return
+			// 		}
+			// 	}
+
+			// 	if (isEmpty(this.couponModifyMinSuIds)) {
+			// 		this.$message.error('请选择【适用民宿】')
+			// 		return
+			// 	}
+
+			// 	this.formModifyCoupon.hotelIds = this.couponModifyMinSuIds // 适用民宿ids
+			// 	this.formModifyCoupon.createId = this.currentUserId // 创建人
+			// 	this.formModifyCoupon.effectiveType = d.radio // 有效期类型(1.时间段 2.生效失效天数)
+			// 	this.formModifyCoupon.type = 2 //  // 类型(1.代金券 2.折扣券)
+			// 	this.formModifyCoupon.status = 1 // 状态(0删除 1正常)
+
+			// 	coupominsterModifyCoupon(this.formModifyCoupon).then((res) => {
+			// 		// console.log(res);
+			// 		if (res.code === 200) {
+			// 			that.$message.success(res.message)
+
+			// 			this.get_table_data('list')
+
+			// 			that.dialogModifyCouponFormVisible = false
+
+			// 			that.formModifyCoupon = {}
+			// 			that.couponModifyMinSuIds = []
+			// 			that.couponModifyCheckedTowns = []
+			// 		} else {
+			// 			that.$message.warning(res.message)
+			// 		}
+			// 	}).catch((err) => {
+			// 		// console.log(err);
+			// 		that.$message.error(err.message)
+			// 	});
+			// },
 			/**
 			 * 修改代金券
 			 */
-			modify_voucher_dialog_handler() {
-				var that = this;
-				var d = this.formModifyVoucher;
-				if (isEmpty(d.name)) {
-					this.$message.error('请输入【优惠券名称】')
-					return
-				}
-				if (isEmpty(d.deductionPrice)) {
-					this.$message.error('请输入【减免金额】')
-					return
-				}
-				if (isEmpty(d.grantNumber)) {
-					this.$message.error('请输入【发放数量】')
-					return
-				}
-				if (isEmpty(d.limitNumber)) {
-					this.$message.error('请输入【每人限领】')
-					return
-				}
-				if (isEmpty(d.grantTimes)) {
-					this.$message.error('请选择【发放时间】')
-					return
-				}
-				if (isEmpty(d.meetPrice)) {
-					this.$message.error('请输入【订单满多少可使用】')
-					return
-				}
-
-				if (d.radio == 1) {
-					if (isEmpty(d.effectiveDateTime)) {
-						this.$message.error('请选择【有效期时间段】')
-						return
-					}
-				} else if (d.radio == 2) {
-					if (isEmpty(d.effectiveDay)) {
-						this.$message.error('请选择【多少天开始】')
-						return
-					}
-					if (isEmpty(d.effectiveLoseDay)) {
-						this.$message.error('请输入【多少天有效】')
-						return
-					}
-				}
-
-				if (isEmpty(this.voucherModifyMinSuIds)) {
-					this.$message.error('请选择【适用民宿】')
-					return
-				}
-
-				this.formModifyVoucher.hotelIds = this.voucherModifyMinSuIds // 适用民宿ids
-				this.formModifyVoucher.createId = this.currentUserId // 创建人
-				this.formModifyVoucher.effectiveType = d.radio // 有效期类型(1.时间段 2.生效失效天数)
-				this.formModifyVoucher.type = 1 // 类型(1.代金券 2.折扣券)
-				this.formModifyVoucher.status = 1 // 状态(0删除 1正常)
-
-				coupominsterModifyVoucher(this.formModifyVoucher).then((res) => {
-					// console.log(res);
-					if (res.code === 200) {
-						that.$message.success(res.message)
-
-						this.get_table_data('list')
-
-						that.dialogModifyVoucherFormVisible = false
-
-						that.formModifyVoucher = {}
-						that.voucherModifyMinSuIds = []
-						that.voucherModifyCheckedTowns = []
-					} else {
-						that.$message.warning(res.message)
-					}
-				}).catch((err) => {
-					// console.log(err);
-					that.$message.error(err.message)
-				});
-			},
+			// modify_voucher_dialog_handler() {
+			// 	var that = this;
+			// 	var d = this.formModifyVoucher;
+			// 	if (isEmpty(d.name)) {
+			// 		this.$message.error('请输入【优惠券名称】')
+			// 		return
+			// 	}
+			// 	if (isEmpty(d.deductionPrice)) {
+			// 		this.$message.error('请输入【减免金额】')
+			// 		return
+			// 	}
+			// 	if (isEmpty(d.grantNumber)) {
+			// 		this.$message.error('请输入【发放数量】')
+			// 		return
+			// 	}
+			// 	if (isEmpty(d.limitNumber)) {
+			// 		this.$message.error('请输入【每人限领】')
+			// 		return
+			// 	}
+			// 	if (isEmpty(d.grantTimes)) {
+			// 		this.$message.error('请选择【发放时间】')
+			// 		return
+			// 	}
+			// 	if (isEmpty(d.meetPrice)) {
+			// 		this.$message.error('请输入【订单满多少可使用】')
+			// 		return
+			// 	}
+
+			// 	if (d.radio == 1) {
+			// 		if (isEmpty(d.effectiveDateTime)) {
+			// 			this.$message.error('请选择【有效期时间段】')
+			// 			return
+			// 		}
+			// 	} else if (d.radio == 2) {
+			// 		if (isEmpty(d.effectiveDay)) {
+			// 			this.$message.error('请选择【多少天开始】')
+			// 			return
+			// 		}
+			// 		if (isEmpty(d.effectiveLoseDay)) {
+			// 			this.$message.error('请输入【多少天有效】')
+			// 			return
+			// 		}
+			// 	}
+
+			// 	if (isEmpty(this.voucherModifyMinSuIds)) {
+			// 		this.$message.error('请选择【适用民宿】')
+			// 		return
+			// 	}
+
+			// 	this.formModifyVoucher.hotelIds = this.voucherModifyMinSuIds // 适用民宿ids
+			// 	this.formModifyVoucher.createId = this.currentUserId // 创建人
+			// 	this.formModifyVoucher.effectiveType = d.radio // 有效期类型(1.时间段 2.生效失效天数)
+			// 	this.formModifyVoucher.type = 1 // 类型(1.代金券 2.折扣券)
+			// 	this.formModifyVoucher.status = 1 // 状态(0删除 1正常)
+
+			// 	coupominsterModifyVoucher(this.formModifyVoucher).then((res) => {
+			// 		// console.log(res);
+			// 		if (res.code === 200) {
+			// 			that.$message.success(res.message)
+
+			// 			this.get_table_data('list')
+
+			// 			that.dialogModifyVoucherFormVisible = false
+
+			// 			that.formModifyVoucher = {}
+			// 			that.voucherModifyMinSuIds = []
+			// 			that.voucherModifyCheckedTowns = []
+			// 		} else {
+			// 			that.$message.warning(res.message)
+			// 		}
+			// 	}).catch((err) => {
+			// 		// console.log(err);
+			// 		that.$message.error(err.message)
+			// 	});
+			// },
 			/**
 			 * 添加代金券
 			 */
@@ -1088,12 +1102,16 @@
 					}
 				}
 
-				if (isEmpty(this.voucherMinSuIds)) {
-					this.$message.error('请选择【适用民宿】')
-					return
+				if (this.voucherMinSuIds_bool) {
+					this.formAddVoucher.hotelIds = -1 // 适用民宿ids
+				} else {
+					if (isEmpty(this.voucherMinSuIds)) {
+						this.$message.error('请选择【适用民宿】')
+						return
+					}
+					this.formAddVoucher.hotelIds = this.voucherMinSuIds // 适用民宿ids
 				}
 
-				this.formAddVoucher.hotelIds = this.voucherMinSuIds // 适用民宿ids
 				this.formAddVoucher.createId = this.currentUserId // 创建人
 				this.formAddVoucher.effectiveType = d.radio // 有效期类型(1.时间段 2.生效失效天数)
 				this.formAddVoucher.type = 1 // 类型(1.代金券 2.折扣券)
@@ -1139,6 +1157,20 @@
 				if (isEmpty(d.rebatePrice)) {
 					this.$message.error('请输入【折扣】')
 					return
+				} else {
+					const reg = /^(?:[1-9](?:\.[0-9])?|9(?:\.[0-9])?)$/;
+					const msg = '【折扣】只能输入1.0-9.9,仅可带有一位小数。';
+					if (!regex.test(d.rebatePrice)) {
+						this.$message.error(msg);
+						const h = this.$createElement;
+
+						this.$notify({
+							title: '提示信息',
+							message: h('i', {
+								style: 'color: red'
+							}, msg)
+						});
+					}
 				}
 				if (isEmpty(d.maxDeduction)) {
 					this.$message.error('请输入【最大抵扣金额】')
@@ -1177,12 +1209,16 @@
 					}
 				}
 
-				if (isEmpty(this.couponMinSuIds)) {
-					this.$message.error('请选择【适用民宿】')
-					return
+				if (this.couponMinSuIds_bool) {
+					this.formAddCoupon.hotelIds = -1 // 适用民宿ids
+				} else {
+					if (isEmpty(this.couponMinSuIds)) {
+						this.$message.error('请选择【适用民宿】')
+						return
+					}
+					this.formAddCoupon.hotelIds = this.couponMinSuIds // 适用民宿ids
 				}
 
-				this.formAddCoupon.hotelIds = this.couponMinSuIds // 适用民宿ids
 				this.formAddCoupon.createId = this.currentUserId // 创建人
 				this.formAddCoupon.effectiveType = d.radio // 有效期类型(1.时间段 2.生效失效天数)
 				this.formAddCoupon.type = 2 //  // 类型(1.代金券 2.折扣券)
@@ -1353,7 +1389,7 @@
 					this.coupon.effectiveLoseDay = row.effectiveLoseDay
 
 					this.coupon.hotelNames = row.hotelNames
-					// this.coupon.hotelIds = row.hotelIds
+					this.coupon.hotelIds = row.hotelIds
 				} else { // 折扣券
 					this.dialogCouponVisible = true
 
@@ -1373,7 +1409,7 @@
 					this.coupon.effectiveLoseDay = row.effectiveLoseDay
 
 					this.coupon.hotelNames = row.hotelNames
-					// this.coupon.hotelIds = row.hotelIds
+					this.coupon.hotelIds = row.hotelIds
 				}
 			},
 			/**

+ 526 - 0
src/views/myAgent/index.vue

@@ -0,0 +1,526 @@
+<template>
+	<div class="app-container">
+		<el-row>
+			<el-col :span="24">
+				<div class="cell">
+					<div class="cell-title">
+						<div class="title-left">
+							<div class="title">流程管理/我的代办</div>
+						</div>
+					</div>
+					<div class="cell-body" style="height: 670px;">
+						
+					</div>
+				</div>
+			</el-col>
+		</el-row>
+	</div>
+</template>
+
+<script>
+	// import {
+	// 	getTableData,
+	// 	getXiang,
+	// 	downloadExcel
+	// } from '@/api/complaintMgr'
+
+	export default {
+		data() {
+			return {
+				currentUserLevel: this.$store.state.user.level, // 当前用户的权限
+				dialogImageUrl: '',
+				formLabelWidth: '120px',
+				// 表格单元格样式
+				cell_style: {
+					color: '#1A202B',
+					'font-size': '14px',
+					'font-family': 'Microsoft YaHei-3970(82674968)'
+				},
+				// 表格头部样式
+				header_cell_style: {
+					background: '#E6ECFE',
+					color: '#1A202B',
+					'font-size': '16px',
+					'font-family': 'Microsoft YaHei-3970(82674968)'
+				},
+				// 查询数据
+				formInline: {
+					options: [{
+						id: 0,
+						label: '已删除'
+					}, {
+						id: 1,
+						label: '处理中'
+					}, {
+						id: 2,
+						label: '已处理'
+					}],
+					status: '',
+					search_datatime: '',
+					keyword: ''
+				},
+				tableData: [],
+				cond_data: {},
+				// 分页参数
+				pagination: {
+					currentPage: 1,
+					pageSize: 9,
+					total: 0
+				},
+				loading: true,
+				complaint: {
+					status: 'Pending',
+					complaintNumber: '123456',
+					lodge: 'Some Lodge',
+					lodgePhone: '1234567890',
+					complainantPhone: '0987654321',
+					orderNumber: '987654321',
+					title: 'Complaint Title',
+					description: 'Complaint Description',
+					images: [],
+					complaintTime: '2022-01-01 10:00:00'
+				},
+				dialogComplaintVisible: false,
+				dialogVisible: false,
+				dialogRemarksFormVisible: false, // 添加备注
+				formRemarks: {
+					id: '',
+					remark: ''
+				}
+			}
+		},
+		created() {
+			// 检测权限
+			if (this.currentUserLevel !== 2) {
+				this.$router.replace({
+					path: '/data'
+				})
+				return
+			}
+			// 获取消费记录,表格数据
+			this.get_table_data('list')
+		},
+		mounted() {
+			document.getElementsByClassName("el-pagination__jump")[0].childNodes[0].nodeValue = "跳至";
+		},
+		methods: {
+			handlePictureCardPreview(file) {
+				this.dialogImageUrl = file;
+				this.dialogVisible = true;
+			},
+			/**
+			 * 添加备注
+			 */
+			handleRemarks() {
+				console.log(this.formRemarks);
+			},
+			/**
+			 * 受理
+			 * @param {Object} row
+			 */
+			handleClickAcceptance(row) {
+				// console.log(row);
+				this.formRemarks.id = row.id;
+				this.dialogRemarksFormVisible = true;
+			},
+			// 点击查看备注,弹出投诉详情对话框
+			handleClickRemarks(row) {
+				// console.log(row);
+				this.dialogComplaintVisible = true
+
+				getXiang(row).then((res) => {
+					console.log(res.data);
+					if (res.code === 200) {
+						this.complaint = res.data
+					} else {
+						this.complaint = []
+						this.$message.warning('没有符合条件的数据!')
+					}
+				}).catch((err) => {
+					// console.log(err);
+					this.$message.error(err.message)
+				});
+			},
+			// 关闭投诉详情对话框
+			complaint_close() {
+				this.dialogComplaintVisible = false
+			},
+			/**
+			 * 获取消费记录,表格数据
+			 */
+			get_table_data(param) {
+				this.loading = true
+				this.get_condtion();
+
+				let data = this.cond_data;
+				if (param == 'search') {
+					data.page = 1
+					this.pagination.currentPage = 1
+				}
+
+				var that = this
+				// console.log(data);
+				getTableData(data).then((res) => {
+					// console.log(res.data);
+					if (res.code === 200) {
+						var d = res.data
+						that.pagination.total = d.total
+						that.tableData = []
+						for (var i = 0; i < d.pageList.length; i++) {
+							that.tableData.push(d.pageList[i])
+						}
+					} else {
+						that.tableData = []
+						that.$message.warning('没有符合条件的数据!')
+					}
+				}).catch((err) => {
+					// console.log(err);
+					that.$message.error(err.message)
+				});
+				that.loading = false;
+			},
+			/**
+			 * 查询条件
+			 */
+			get_condtion() {
+				let data = {
+					page: this.pagination.currentPage,
+					rows: this.pagination.pageSize
+				}
+
+				if (this.formInline.status !== '') {
+					data.status = this.formInline.status
+				}
+
+				if (this.formInline.search_datatime !== '') {
+					data.search_datatime = this.formInline.search_datatime
+				}
+
+				if (this.formInline.keyword !== '') {
+					data.keyword = this.formInline.keyword
+				}
+
+				this.cond_data = data;
+			},
+			/**
+			 * 导出为Excel
+			 */
+			exportExcel() {
+				var that = this
+				downloadExcel(this.cond_data).then((res) => {
+					// console.log(res);
+					if (res.code === 200) {
+						that.$message.success(res.message)
+						let xls = res.downurl
+						window.open(xls)
+					} else {
+						that.tableData = []
+						that.$message.warning(res.message)
+					}
+				}).catch((err) => {
+					// console.log(err);
+					that.$message.error(err.message)
+				});
+			},
+			/**
+			 * 搜索
+			 */
+			btn_search() {
+				this.get_table_data('search')
+			},
+			/**
+			 * currentPage 改变时会触发
+			 * @param {Object} val
+			 */
+			currentPageChange(val) {
+				this.pagination.currentPage = val
+				this.get_table_data('pages')
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.app-container {
+		background-color: #EFF2F7;
+		padding: 10px;
+
+		.el-row {
+
+			.el-col {
+				padding: 10px;
+
+				.cell {
+					padding: 30px;
+					border-radius: 10px;
+					background-color: #FFFFFF;
+					box-shadow: 0px 3px 21px 0px rgba(60, 108, 254, 0.16);
+
+					.cell-title {
+						display: flex;
+						justify-content: space-between;
+						align-items: center;
+						margin-bottom: 30px;
+						padding-bottom: 30px;
+						border-bottom: 1px solid #CCCCCC;
+
+						.title-left {
+							display: flex;
+							align-items: center;
+
+							.title {
+								font-size: 22px;
+								font-family: Microsoft YaHei-3970(82674968);
+								font-weight: bold;
+								color: #1A202B;
+							}
+
+							.title-detail {
+								margin-left: 50px;
+								font-size: 18px;
+								font-family: Microsoft YaHei-3970(82674968);
+								color: #1A202B;
+							}
+						}
+
+						.title-right {
+							display: flex;
+							justify-content: space-between;
+							align-items: center;
+
+							.el-button {
+								width: 110px;
+								height: 46px;
+								background: #2B4CFE;
+								font-size: 18px;
+								color: #FFFFFF;
+								font-family: Microsoft YaHei-3970(82674968);
+								border-radius: 5px;
+							}
+
+							.el-button--warning {
+								background: #F88A64;
+							}
+						}
+					}
+
+					.cell-body {
+
+						.controls {
+							display: flex;
+							justify-content: space-between;
+							align-items: center;
+
+							.demo-form-inline {
+								display: inline-flex;
+								flex-wrap: wrap;
+								align-items: center;
+								justify-content: flex-start;
+
+								.btn-search {
+									background: rgba(9, 101, 98, 1);
+									font-size: 14px;
+									color: #FFFFFF;
+									font-family: Microsoft YaHei-3970(82674968);
+									border-radius: 5px;
+									border: none;
+								}
+							}
+
+							.export {
+								background: rgba(9, 101, 98, 1);
+								font-size: 14px;
+								color: #FFFFFF;
+								font-family: Microsoft YaHei-3970(82674968);
+								border-radius: 5px;
+								margin-bottom: 22px;
+								border: none;
+							}
+						}
+
+						.pagination-table {
+							display: flex;
+							justify-content: flex-end;
+							align-items: center;
+							height: 30px;
+							margin-top: 20px;
+							padding-right: 100px;
+
+							.txt-notice {
+
+								span {
+									font-size: 28px;
+									font-weight: 500;
+									font-family: '微软雅黑';
+								}
+							}
+
+							::v-deep .el-pagination {
+								display: flex;
+								justify-content: flex-end;
+								align-items: center;
+							}
+
+							::v-deep .el-pagination ul {
+								display: flex;
+
+							}
+
+							::v-deep .el-pagination button,
+							::v-deep .el-pagination li {
+								display: flex;
+								justify-content: center;
+								align-items: center;
+								width: 50px;
+								height: 36px;
+								border: 1px solid #626262;
+								border-radius: 3px;
+								font-size: 14px;
+								margin: 0 5px;
+							}
+
+							::v-deep .el-pagination span {
+								margin-left: 10px;
+							}
+
+							::v-deep .el-pagination .el-pagination__jump {
+								font-size: 16px;
+							}
+
+							::v-deep .el-pagination .el-pagination__editor {
+								width: 50px;
+								height: 36px;
+								margin: 0 5px;
+							}
+
+							::v-deep .el-pagination .el-input__inner {
+								width: 50px;
+								height: 36px;
+								border: 1px solid #626262;
+								margin: -4px 0 0 0;
+							}
+						}
+					}
+				}
+			}
+		}
+
+		::v-deep .el-dialog {
+			margin: 0 !important;
+			width: 650px;
+			height: 560px;
+			background: #FFFFFF;
+			box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.29);
+			border-radius: 6px;
+			position: absolute;
+			top: 50%;
+			left: 50%;
+			transform: translate(-50%, -50%);
+
+			.el-dialog__header {
+				display: flex;
+				align-items: center;
+				width: 100%;
+				height: 58px;
+				padding: 30px;
+				border-radius: 6px 6px 0px 0px;
+				font-weight: bold;
+				border-bottom: 1px solid rgba(230, 230, 230, 1);
+			}
+
+			.el-dialog__body {
+				padding-bottom: 0;
+
+				.el-form-item__label,
+				.el-form-item__content {
+					font-size: 16px;
+					font-family: Microsoft YaHei-3970(82674968);
+					color: #53575A;
+				}
+
+				.el-input__inner {
+					width: 180px;
+				}
+			}
+
+			// 删除对话框的样式
+			.del-account-body {
+				display: flex;
+				flex-direction: column;
+				justify-content: center;
+				align-items: center;
+				height: 180px;
+
+				img {
+					width: 72px;
+				}
+
+				.del-account-body-txt {
+					height: 58px;
+					line-height: 58px;
+					font-size: 18px;
+					font-family: Microsoft YaHei-3970(82674968);
+					color: #333333;
+				}
+			}
+
+			.el-dialog__footer {
+				padding-bottom: 0 !important;
+				text-align: center;
+
+				.el-button.el-button--default {
+					width: 75px;
+					height: 40px;
+					border: 1px solid #2B4CFE;
+					border-radius: 6px;
+					font-size: 16px;
+					font-family: Microsoft YaHei-3970(82674968);
+					color: #2B4CFE;
+				}
+
+				.el-button.el-button--primary {
+					width: 75px;
+					height: 40px;
+					background: #2B4CFE;
+					border-radius: 6px;
+					font-size: 16px;
+					font-family: Microsoft YaHei-3970(82674968);
+					color: #FFFFFF;
+					margin-left: 60px;
+				}
+			}
+		}
+	}
+</style>
+
+<style>
+	.acceptance-class {
+		height: 650px !important;
+	}
+
+	.add-remarks-class {
+		height: 300px !important;
+	}
+
+	.el-date-editor--daterange.el-input__inner {
+		width: 280px !important;
+	}
+
+	.show-imgs {
+		display: flex;
+	}
+
+	.imgs {
+		display: flex;
+		flex-direction: row;
+		margin-left: 20px;
+	}
+
+	.lbl-cls {
+		display: inline-block;
+		width: 100px;
+		text-align: right;
+		padding-right: 10px;
+		color: #bbb;
+	}
+</style>

+ 174 - 2
src/views/residentialhostelMgr/index.vue

@@ -415,6 +415,42 @@
 						</el-col>
 					</el-row>
 				</el-tab-pane>
+				<el-tab-pane label="其他配置" name="fifth">
+					<el-row>
+						<el-col :span="24">
+							<div style="font-size: 14px; font-weight: bold; margin: 50px 0 10px 0;">订单响应:</div>
+							<div style="display: flex; align-items: center;">
+								<div style="white-space: nowrap; padding-left: 30px;">当民宿设置手动接单时,用户下单后</div>
+								<el-select class="custom-select" v-model="otherConfig[0].miniteValue" placeholder="请选择">
+									<el-option v-for="item in otherConfig[0].miniteOptions" :key="item.value" :label="item.label" :value="item.value">
+									</el-option>
+								</el-select>
+								<div style="white-space: nowrap;">内响应订单;</div>
+							</div>
+							<div style="display: flex; align-items: center;">
+								<div style="white-space: nowrap; padding-left: 30px;">若没响应,则自动</div>
+								<el-select class="custom-select" v-model="otherConfig[1].value" placeholder="请选择">
+									<el-option v-for="item in otherConfig[1].options" :key="item.value" :label="item.label" :value="item.value">
+									</el-option>
+								</el-select>
+								<div>。</div>
+							</div>
+							<div style="font-size: 14px; font-weight: bold; margin: 50px 0 10px 0;">民宿预订期:</div>
+							<div style="display: flex; align-items: center;">
+								<div style="white-space: nowrap; padding-left: 30px;">可预订</div>
+								<el-select class="custom-select" v-model="otherConfig[2].monthValue" placeholder="请选择">
+									<el-option v-for="item in otherConfig[2].monthOptions" :key="item.value" :label="item.label" :value="item.value">
+									</el-option>
+								</el-select>
+								<div>内的房间。</div>
+							</div>
+							<div style="display: flex; justify-content: flex-end; padding-top: 130px;">
+								<el-button class="cancel-btn" @click="dialogResidentialHostelConfigurationVisible = false">取 消</el-button>
+								<el-button type="primary" class="confirm-btn" @click="handlerOtherConfig">确 定</el-button>
+							</div>
+						</el-col>
+					</el-row>
+				</el-tab-pane>
 			</el-tabs>
 		</el-dialog>
 		<!-- 添加民宿类型配置字典 不带图标-->
@@ -623,7 +659,9 @@
 		listHomestayDictionary,
 		addHomestayDictionary,
 		modifyHomestayDictionary,
-		delHomestayDictionary
+		delHomestayDictionary,
+		otherConfig,
+		modifyOtherConfig
 	} from '@/api/residentialhostelMgr'
 	import plUpload from "@/components/pl-upload/index"
 	import {
@@ -1068,7 +1106,59 @@
 					fileUrl: [{
 						validator: checkIcon
 					}]
-				}
+				},
+				otherConfig: [{
+					miniteOptions: [{
+						value: '1',
+						label: '1分钟'
+					}, {
+						value: '2',
+						label: '2分钟'
+					}, {
+						value: '3',
+						label: '3分钟'
+					}, {
+						value: '4',
+						label: '4分钟'
+					}, {
+						value: '5',
+						label: '5分钟'
+					}],
+					miniteValue: '',
+					id: ''
+				}, {
+					options: [{
+						value: '1',
+						label: '接单'
+					}, {
+						value: '2',
+						label: '拒单'
+					}],
+					value: '',
+					id: ''
+				}, {
+					monthOptions: [{
+						value: '1',
+						label: '1个月'
+					}, {
+						value: '2',
+						label: '2个月'
+					}, {
+						value: '3',
+						label: '3个月'
+					}, {
+						value: '4',
+						label: '4个月'
+					}, {
+						value: '5',
+						label: '5个月'
+					}, {
+						value: '6',
+						label: '6个月'
+					}],
+					monthValue: '',
+					id: ''
+				}]
 			}
 		},
 		created() {
@@ -1085,12 +1175,66 @@
 			this.get_towns()
 			// 民宿字典列表
 			this.getHostelListByCode(1234)
+			
+			this.getOtherConfig()
 		},
 		mounted() {
 			// 修改分页栏文字
 			document.getElementsByClassName("el-pagination__jump")[0].childNodes[0].nodeValue = "跳至";
 		},
 		methods: {
+			handlerOtherConfig() {
+				modifyOtherConfig(this.otherConfig).then((res) => {
+					// console.log(res);
+					if (typeof res.code == 'undefined' || res.code == '') {
+						this.$message.error('返回数据格式问题,code未获取到!');
+						return;
+					}
+
+					if (res.code === 200) {
+						this.$message.success(res.message);
+						this.dialogResidentialHostelConfigurationVisible = false;
+					} else {
+						this.$message.error(res.message);
+					}
+				}).catch((err) => {
+					// console.log(err);
+					this.$message.error(err.message);
+				})
+			},
+			// 获取民宿其他配置
+			getOtherConfig() {
+				otherConfig().then((res) => {
+					// console.log(res);
+					if (typeof res.code == 'undefined' || res.code == '') {
+						this.$message.error('返回数据格式问题,code未获取到!');
+						return;
+					}
+
+					if (res.code === 200) {
+						if (typeof res.date !== 'undefined') {
+							var data = res.date;
+							for (var i = 0; i < data.length; i++) {
+								if (data[i].description.includes('多少分钟')) {
+									this.otherConfig[0].miniteValue = data[i].code;
+									this.otherConfig[0].id = data[i].id;
+								} else if (data[i].description.includes('拒单')) {
+									this.otherConfig[1].value = data[i].code;
+									this.otherConfig[1].id = data[i].id;
+								} else {
+									this.otherConfig[2].monthValue = data[i].code;
+									this.otherConfig[2].id = data[i].id;
+								}
+							}
+						}
+					} else {
+						this.$message.error(res.message);
+					}
+				}).catch((err) => {
+					// console.log(err);
+					this.$message.error(err.message);
+				})
+			},
 			/**
 			 * 民宿类型
 			 */
@@ -2198,4 +2342,32 @@
 	.add-ms-service .el-input__inner {
 		width: 220px !important;
 	}
+
+	.custom-select {
+		margin: 0 3px !important;
+	}
+
+	.custom-select .el-input,
+	.custom-select .el-input__inner {
+		/* 修改输入框宽度和高度 */
+		width: 88px !important;
+		height: 30px !important;
+	}
+
+	.custom-select .el-input__icon {
+		line-height: 30px !important;
+		width: 18px !important;
+	}
+
+	.custom-select .el-select-dropdown {
+		/* 修改下拉菜单宽度和最大高度 */
+		width: 90px !important;
+		max-height: 60px !important;
+	}
+
+	.custom-select .el-option {
+		/* 修改选项高度和行高 */
+		height: 40px !important;
+		line-height: 40px !important;
+	}
 </style>

+ 1 - 1
vue.config.js

@@ -28,7 +28,7 @@ module.exports = {
 	outputDir: 'dist',
 	assetsDir: 'static',
 	lintOnSave: process.env.NODE_ENV === 'development',
-	productionSourceMap: false,
+	productionSourceMap: false, // 生产环境是否生成 sourceMap 文件
 	devServer: {
 		port: port,
 		open: true,