|
|
@@ -3,8 +3,13 @@
|
|
|
<div class="title">
|
|
|
<!-- <el-icon :size="23" class="camera"><VideoCameraFilled /></el-icon> -->
|
|
|
<span class="cameratxt">民宿管理/民宿信息</span>
|
|
|
- <el-button type="primary" color="rgba(9, 101, 98, 1)" @click="maintain"
|
|
|
- v-if="store.state.user.level == 2">信息维护</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ color="rgba(9, 101, 98, 1)"
|
|
|
+ @click="maintain"
|
|
|
+ v-if="store.state.user.level == 2"
|
|
|
+ >信息维护</el-button
|
|
|
+ >
|
|
|
</div>
|
|
|
<div class="content">
|
|
|
<div class="left">
|
|
|
@@ -19,7 +24,11 @@
|
|
|
</div>
|
|
|
<div class="tupian">
|
|
|
<img :src="tableData.coverImg" alt="" />
|
|
|
- <div class="lookImg" @click="lookImg(1)" v-if="tableData.coverImg">
|
|
|
+ <div
|
|
|
+ class="lookImg"
|
|
|
+ @click="lookImg(1)"
|
|
|
+ v-if="tableData.coverImg"
|
|
|
+ >
|
|
|
<img src="@/assets/lookImg.png" alt="" />
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -32,9 +41,19 @@
|
|
|
<div class="pre" @click="infoImgClick('left')">
|
|
|
<img src="@/assets/left.png" alt="" />
|
|
|
</div>
|
|
|
- <el-carousel ref="infoImg" indicator-position="none" arrow="always" :autoplay="false" @change="switchImg"
|
|
|
- :initial-index="switchImgInd">
|
|
|
- <el-carousel-item v-for="(item, index) in imgList2" :key="item.id" :name="index">
|
|
|
+ <el-carousel
|
|
|
+ ref="infoImg"
|
|
|
+ indicator-position="none"
|
|
|
+ arrow="always"
|
|
|
+ :autoplay="false"
|
|
|
+ @change="switchImg"
|
|
|
+ :initial-index="switchImgInd"
|
|
|
+ >
|
|
|
+ <el-carousel-item
|
|
|
+ v-for="(item, index) in imgList2"
|
|
|
+ :key="item.id"
|
|
|
+ :name="index"
|
|
|
+ >
|
|
|
<img :src="item.url" alt="" />
|
|
|
</el-carousel-item>
|
|
|
</el-carousel>
|
|
|
@@ -172,11 +191,28 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<!-- 信息维护弹窗 -->
|
|
|
- <el-dialog class="addStaff" v-model="addDialogVisible" :close-on-click-modal="false" :close-on-press-escape="false"
|
|
|
- title="信息维护" align-center width="900" :before-close="cancelAdd">
|
|
|
+ <el-dialog
|
|
|
+ class="addStaff"
|
|
|
+ v-model="addDialogVisible"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :close-on-press-escape="false"
|
|
|
+ title="信息维护"
|
|
|
+ align-center
|
|
|
+ width="900"
|
|
|
+ :before-close="cancelAdd"
|
|
|
+ >
|
|
|
<div class="slider">
|
|
|
- <el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-width="100px" class="demo-ruleForm"
|
|
|
- size="default" label-position="left" status-icon :inline="true">
|
|
|
+ <el-form
|
|
|
+ ref="ruleFormRef"
|
|
|
+ :model="ruleForm"
|
|
|
+ :rules="rules"
|
|
|
+ label-width="100px"
|
|
|
+ class="demo-ruleForm"
|
|
|
+ size="default"
|
|
|
+ label-position="left"
|
|
|
+ status-icon
|
|
|
+ :inline="true"
|
|
|
+ >
|
|
|
<div class="titles"><span>基础信息</span></div>
|
|
|
<div class="form_item tag">
|
|
|
<div class="items">
|
|
|
@@ -191,11 +227,23 @@
|
|
|
<div class="lookImgs" @click="lookImg(3)" v-if="img1">
|
|
|
<img src="@/assets/lookImg.png" alt="" />
|
|
|
</div>
|
|
|
- <el-upload class="avatar-uploader" action="" list-type="picture" :on-preview="handlePreview"
|
|
|
- :on-remove="handleRemove" :on-change="handleChange" :http-request="handleUpload"
|
|
|
- :before-upload="beforeAvatarUpload">
|
|
|
+ <el-upload
|
|
|
+ class="avatar-uploader"
|
|
|
+ action=""
|
|
|
+ list-type="picture"
|
|
|
+ :on-preview="handlePreview"
|
|
|
+ :on-remove="handleRemove"
|
|
|
+ :on-change="handleChange"
|
|
|
+ :http-request="handleUpload"
|
|
|
+ :before-upload="beforeAvatarUpload"
|
|
|
+ >
|
|
|
<template #trigger>
|
|
|
- <el-button type="primary" color="rgba(9, 101, 98, 1)" @click="updateImg">上传图片</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ color="rgba(9, 101, 98, 1)"
|
|
|
+ @click="updateImg"
|
|
|
+ >上传图片</el-button
|
|
|
+ >
|
|
|
</template>
|
|
|
<template #tip>
|
|
|
<div class="el-upload__tip">
|
|
|
@@ -214,9 +262,18 @@
|
|
|
<div class="pre" @click="infoImgClick2('left')">
|
|
|
<img src="@/assets/left.png" alt="" />
|
|
|
</div>
|
|
|
- <el-carousel ref="infoImg2" indicator-position="none" arrow="always" :autoplay="false"
|
|
|
- @change="switchImg2" :initial-index="switchImgInd2">
|
|
|
- <el-carousel-item v-for="item in fileList.list" :key="item.id">
|
|
|
+ <el-carousel
|
|
|
+ ref="infoImg2"
|
|
|
+ indicator-position="none"
|
|
|
+ arrow="always"
|
|
|
+ :autoplay="false"
|
|
|
+ @change="switchImg2"
|
|
|
+ :initial-index="switchImgInd2"
|
|
|
+ >
|
|
|
+ <el-carousel-item
|
|
|
+ v-for="item in fileList.list"
|
|
|
+ :key="item.id"
|
|
|
+ >
|
|
|
<img :src="item.url" alt="" />
|
|
|
</el-carousel-item>
|
|
|
</el-carousel>
|
|
|
@@ -227,15 +284,29 @@
|
|
|
switchImgInd2 + 1 + "/" + fileList.list.length
|
|
|
}}</span>
|
|
|
<div class="lookImg" v-if="fileList.list.length">
|
|
|
- <img src="@/assets/lookImg.png" alt="" @click="lookImg(4)" />
|
|
|
+ <img
|
|
|
+ src="@/assets/lookImg.png"
|
|
|
+ alt=""
|
|
|
+ @click="lookImg(4)"
|
|
|
+ />
|
|
|
<div class="delimg" @click="delImgList(item)"></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <el-upload class="avatar-uploader" action="" :on-preview="handlePreview2"
|
|
|
- :on-remove="handleRemove2" :on-change="handleChange2" :http-request="handleUpload2"
|
|
|
- :before-upload="beforeAvatarUpload2">
|
|
|
+ <el-upload
|
|
|
+ class="avatar-uploader"
|
|
|
+ action=""
|
|
|
+ :on-preview="handlePreview2"
|
|
|
+ :on-remove="handleRemove2"
|
|
|
+ :on-change="handleChange2"
|
|
|
+ :http-request="handleUpload2"
|
|
|
+ :before-upload="beforeAvatarUpload2"
|
|
|
+ >
|
|
|
<template #trigger>
|
|
|
- <el-button type="primary" color="rgba(9, 101, 98, 1)">上传图片</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ color="rgba(9, 101, 98, 1)"
|
|
|
+ >上传图片</el-button
|
|
|
+ >
|
|
|
</template>
|
|
|
<template #tip>
|
|
|
<div class="el-upload__tip">
|
|
|
@@ -276,14 +347,26 @@
|
|
|
<div class="form_item">
|
|
|
<div class="items">
|
|
|
<el-form-item label="民宿类型 :" prop="htype">
|
|
|
- <el-select v-model="ruleForm.htype" class="m-2" placeholder="请选择民宿类型">
|
|
|
- <el-option v-for="i in teamIdName" :label="i.name" :value="`${i.id}`" />
|
|
|
+ <el-select
|
|
|
+ v-model="ruleForm.htype"
|
|
|
+ class="m-2"
|
|
|
+ placeholder="请选择民宿类型"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="i in teamIdName"
|
|
|
+ :label="i.name"
|
|
|
+ :value="`${i.id}`"
|
|
|
+ />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="items">
|
|
|
<el-form-item label="状态 :" prop="hstatus">
|
|
|
- <el-select v-model="ruleForm.hstatus" class="m-2" placeholder="请选择状态">
|
|
|
+ <el-select
|
|
|
+ v-model="ruleForm.hstatus"
|
|
|
+ class="m-2"
|
|
|
+ placeholder="请选择状态"
|
|
|
+ >
|
|
|
<el-option label="营业" :value="1" />
|
|
|
<el-option label="休息" :value="2" />
|
|
|
</el-select>
|
|
|
@@ -305,9 +388,18 @@
|
|
|
<div class="form_item">
|
|
|
<div class="items">
|
|
|
<el-form-item label="详细地址 :" prop="hposition">
|
|
|
- <el-input v-model="ruleForm.hposition" placeholder="请输入地址" :clearable="false">
|
|
|
+ <el-input
|
|
|
+ v-model="ruleForm.hposition"
|
|
|
+ placeholder="请输入地址"
|
|
|
+ :clearable="false"
|
|
|
+ >
|
|
|
<template #suffix>
|
|
|
- <img src="@/assets/map.png" style="width: 16px; cursor: pointer" alt="" @click="clickMap" />
|
|
|
+ <img
|
|
|
+ src="@/assets/map.png"
|
|
|
+ style="width: 16px; cursor: pointer"
|
|
|
+ alt=""
|
|
|
+ @click="clickMap"
|
|
|
+ />
|
|
|
</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
@@ -321,14 +413,28 @@
|
|
|
<div class="form_item">
|
|
|
<div class="items">
|
|
|
<el-form-item label="开业时间 :" prop="openTime">
|
|
|
- <el-date-picker v-model="ruleForm.openTime" type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD"
|
|
|
- :prefix-icon="Calendar" placeholder="请选择开业时间" :clearable="true" />
|
|
|
+ <el-date-picker
|
|
|
+ v-model="ruleForm.openTime"
|
|
|
+ type="date"
|
|
|
+ format="YYYY-MM-DD"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ :prefix-icon="Calendar"
|
|
|
+ placeholder="请选择开业时间"
|
|
|
+ :clearable="true"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="items">
|
|
|
<el-form-item label="装修时间 :" prop="fitupTime">
|
|
|
- <el-date-picker v-model="ruleForm.fitupTime" type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD"
|
|
|
- :prefix-icon="Calendar" placeholder="请选择装修时间" :clearable="true" />
|
|
|
+ <el-date-picker
|
|
|
+ v-model="ruleForm.fitupTime"
|
|
|
+ type="date"
|
|
|
+ format="YYYY-MM-DD"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ :prefix-icon="Calendar"
|
|
|
+ placeholder="请选择装修时间"
|
|
|
+ :clearable="true"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -344,7 +450,12 @@
|
|
|
placeholder="请选择入店时间"
|
|
|
:clearable="true"
|
|
|
/> -->
|
|
|
- <el-time-picker v-model="ruleForm.liveTime" format="HH:mm" value-format="HH:mm" placeholder="请选择入店时间" />
|
|
|
+ <el-time-picker
|
|
|
+ v-model="ruleForm.liveTime"
|
|
|
+ format="HH:mm"
|
|
|
+ value-format="HH:mm"
|
|
|
+ placeholder="请选择入店时间"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="items">
|
|
|
@@ -358,8 +469,12 @@
|
|
|
placeholder="请选择离店时间"
|
|
|
:clearable="true"
|
|
|
/> -->
|
|
|
- <el-time-picker v-model="ruleForm.leaveTime" format="HH:mm" value-format="HH:mm"
|
|
|
- placeholder="请选择离店时间" />
|
|
|
+ <el-time-picker
|
|
|
+ v-model="ruleForm.leaveTime"
|
|
|
+ format="HH:mm"
|
|
|
+ value-format="HH:mm"
|
|
|
+ placeholder="请选择离店时间"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -378,18 +493,31 @@
|
|
|
<div class="form_item">
|
|
|
<div class="items intro">
|
|
|
<el-form-item label="简介 :" prop="remark">
|
|
|
- <el-input v-model="ruleForm.remark" placeholder="请输入民宿简介信息" :rows="4" type="textarea" :maxlength="200"
|
|
|
- clearable autosize :show-word-limit="true" />
|
|
|
+ <el-input
|
|
|
+ v-model="ruleForm.remark"
|
|
|
+ placeholder="请输入民宿简介信息"
|
|
|
+ :rows="4"
|
|
|
+ type="textarea"
|
|
|
+ :maxlength="200"
|
|
|
+ clearable
|
|
|
+ autosize
|
|
|
+ :show-word-limit="true"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="titles">
|
|
|
- <span>民宿配置</span><span>(最多可选择5个设施信息展示,管理端民宿配置管理)</span>
|
|
|
+ <span>民宿配置</span
|
|
|
+ ><span>(最多可选择5个设施信息展示,管理端民宿配置管理)</span>
|
|
|
</div>
|
|
|
<div class="form_item">
|
|
|
<div class="items">
|
|
|
<el-form-item label="" prop="hconfig">
|
|
|
- <el-checkbox-group @change="checkHouse" v-model="checkedCities" :max="5">
|
|
|
+ <el-checkbox-group
|
|
|
+ @change="checkHouse"
|
|
|
+ v-model="checkedCities"
|
|
|
+ :max="5"
|
|
|
+ >
|
|
|
<el-checkbox v-for="city in cities" :label="`${city.id}`">{{
|
|
|
city.name
|
|
|
}}</el-checkbox>
|
|
|
@@ -403,7 +531,11 @@
|
|
|
<div class="form_item">
|
|
|
<div class="items">
|
|
|
<el-form-item label="接单设置 :" prop="isOrder">
|
|
|
- <el-select v-model="ruleForm.isOrder" class="m-2" placeholder="请选择接单设置">
|
|
|
+ <el-select
|
|
|
+ v-model="ruleForm.isOrder"
|
|
|
+ class="m-2"
|
|
|
+ placeholder="请选择接单设置"
|
|
|
+ >
|
|
|
<el-option label="自动接单" :value="1" />
|
|
|
<el-option label="手动接单" :value="2" />
|
|
|
</el-select>
|
|
|
@@ -411,7 +543,11 @@
|
|
|
</div>
|
|
|
<div class="items default">
|
|
|
<el-form-item label="是否自动退房 :" prop="isCheckout">
|
|
|
- <el-select v-model="ruleForm.isCheckout" class="m-2" placeholder="请选择是否自动退房">
|
|
|
+ <el-select
|
|
|
+ v-model="ruleForm.isCheckout"
|
|
|
+ class="m-2"
|
|
|
+ placeholder="请选择是否自动退房"
|
|
|
+ >
|
|
|
<el-option label="是" :value="1" />
|
|
|
<el-option label="否" :value="2" />
|
|
|
</el-select>
|
|
|
@@ -429,12 +565,20 @@
|
|
|
<el-option label="校方人员" :value="0" />
|
|
|
<el-option label="第三方人员" :value="1" />
|
|
|
</el-select> -->
|
|
|
- <el-input v-model="ruleForm.lockTime" placeholder="请输入锁定时间" clearable />
|
|
|
+ <el-input
|
|
|
+ v-model="ruleForm.lockTime"
|
|
|
+ placeholder="请输入锁定时间"
|
|
|
+ clearable
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="items default">
|
|
|
<el-form-item label="用户是否能取消订房 :" prop="isCanorder">
|
|
|
- <el-select v-model="ruleForm.isCanorder" class="m-2" placeholder="请选择是否能取消订房">
|
|
|
+ <el-select
|
|
|
+ v-model="ruleForm.isCanorder"
|
|
|
+ class="m-2"
|
|
|
+ placeholder="请选择是否能取消订房"
|
|
|
+ >
|
|
|
<el-option label="是" :value="1" />
|
|
|
<el-option label="否" :value="2" />
|
|
|
</el-select>
|
|
|
@@ -445,8 +589,13 @@
|
|
|
<div class="now"></div>
|
|
|
<div class="items">
|
|
|
<el-form-item label="入住当天 :" prop="cancelTime">
|
|
|
- <el-time-picker :editable="false" v-model="ruleForm.cancelTime" format="HH:mm" value-format="HH:mm"
|
|
|
- placeholder="请选择时间" />
|
|
|
+ <el-time-picker
|
|
|
+ :editable="false"
|
|
|
+ v-model="ruleForm.cancelTime"
|
|
|
+ format="HH:mm"
|
|
|
+ value-format="HH:mm"
|
|
|
+ placeholder="请选择时间"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
<span>之前可以取消订单</span>
|
|
|
</div>
|
|
|
@@ -455,7 +604,12 @@
|
|
|
(注:锁定时间为订单待支付倒计时时间,订单待支付前客房锁定)
|
|
|
</div>
|
|
|
<el-form-item class="options">
|
|
|
- <el-button color="rgba(9, 101, 98, 1)" class="queding" type="primary" @click="submitAdd(ruleFormRef)">
|
|
|
+ <el-button
|
|
|
+ color="rgba(9, 101, 98, 1)"
|
|
|
+ class="queding"
|
|
|
+ type="primary"
|
|
|
+ @click="submitAdd(ruleFormRef)"
|
|
|
+ >
|
|
|
保存
|
|
|
</el-button>
|
|
|
<el-button @click="cancelAdd(ruleFormRef)">取消</el-button>
|
|
|
@@ -464,14 +618,34 @@
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
- <el-dialog class="mapDialong" v-model="mapDialong" :close-on-click-modal="false" :close-on-press-escape="false"
|
|
|
- title="地图" align-center width="1200" :before-close="closeMap">
|
|
|
- <Map @mapClick="mapDatas" :fatherMessage="fatherMessage" :key="fatherMessage.timer"></Map>
|
|
|
+ <el-dialog
|
|
|
+ class="mapDialong"
|
|
|
+ v-model="mapDialong"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :close-on-press-escape="false"
|
|
|
+ title="地图"
|
|
|
+ align-center
|
|
|
+ width="1200"
|
|
|
+ :before-close="closeMap"
|
|
|
+ >
|
|
|
+ <Map
|
|
|
+ @mapClick="mapDatas"
|
|
|
+ :fatherMessage="fatherMessage"
|
|
|
+ :key="fatherMessage.timer"
|
|
|
+ ></Map>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
<div class="bgImg" v-if="bgImg">
|
|
|
- <el-carousel @click="bgImg = false" ref="bgImg" indicator-position arrow="always" :autoplay="false"
|
|
|
- @change="switchBgImg" trigger :initial-index="switchImgInd3">
|
|
|
+ <el-carousel
|
|
|
+ @click="bgImg = false"
|
|
|
+ ref="bgImg"
|
|
|
+ indicator-position
|
|
|
+ arrow="always"
|
|
|
+ :autoplay="false"
|
|
|
+ @change="switchBgImg"
|
|
|
+ trigger
|
|
|
+ :initial-index="switchImgInd3"
|
|
|
+ >
|
|
|
<el-carousel-item v-for="item in bgImgList" :key="item.id">
|
|
|
<img :src="item.url" alt="" />
|
|
|
</el-carousel-item>
|
|
|
@@ -545,7 +719,7 @@ const ruleForm = reactive({
|
|
|
lockTime: "", //订单锁定时间
|
|
|
fileListJson: "", //民宿详细图
|
|
|
hpositionWens: "", // 经纬度
|
|
|
- cancelTime: "",// 入住当天 取消订单
|
|
|
+ cancelTime: "", // 入住当天 取消订单
|
|
|
id: "",
|
|
|
});
|
|
|
// 传给子组件的参数
|
|
|
@@ -606,7 +780,9 @@ const rules = reactive({
|
|
|
fileListJson: [
|
|
|
{ required: true, message: "详情图不能为空", trigger: "blur" },
|
|
|
],
|
|
|
- cancelTime: [{ required: true, message: "取消订单不能为空", trigger: "blur" }],
|
|
|
+ cancelTime: [
|
|
|
+ { required: true, message: "取消订单不能为空", trigger: "blur" },
|
|
|
+ ],
|
|
|
});
|
|
|
|
|
|
// 查看员工列表
|
|
|
@@ -714,7 +890,7 @@ const maintain = async () => {
|
|
|
ruleForm.isCanorder = tableData.value.isCanorder;
|
|
|
|
|
|
ruleForm.lockTime = tableData.value.lockTime;
|
|
|
- ruleForm.cancelTime = tableData.value.cancelTime
|
|
|
+ ruleForm.cancelTime = tableData.value.cancelTime;
|
|
|
|
|
|
addDialogVisible.value = true;
|
|
|
};
|
|
|
@@ -860,8 +1036,8 @@ const handleUpload2 = async (file) => {
|
|
|
// console.log([res.data.data]);
|
|
|
let arr = {
|
|
|
uid: file.file.uid,
|
|
|
- url: res.data.data
|
|
|
- }
|
|
|
+ url: res.data.data,
|
|
|
+ };
|
|
|
|
|
|
fileList.list = fileList.list.concat([arr]);
|
|
|
ruleForm.fileListJson = fileList.list;
|
|
|
@@ -869,7 +1045,6 @@ const handleUpload2 = async (file) => {
|
|
|
};
|
|
|
// 确认维护信息
|
|
|
const submitAdd = lodash.debounce(async (formEl) => {
|
|
|
-
|
|
|
if (!formEl) return;
|
|
|
await formEl.validate(async (valid, fields) => {
|
|
|
if (valid) {
|
|
|
@@ -895,7 +1070,7 @@ const submitAdd = lodash.debounce(async (formEl) => {
|
|
|
data.set("managerId", sessionStorage.getItem("token"));
|
|
|
data.set("hname", tableData.value.hotelName);
|
|
|
data.set("createId", sessionStorage.getItem("roomId"));
|
|
|
- data.set("cancelTime", ruleForm.cancelTime)
|
|
|
+ data.set("cancelTime", ruleForm.cancelTime);
|
|
|
|
|
|
console.log(ruleForm);
|
|
|
|
|
|
@@ -1558,7 +1733,6 @@ onBeforeMount(async () => {
|
|
|
.now {
|
|
|
width: 332px;
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
|