李志伟 3 years ago
parent
commit
2f297f33b1

+ 25
- 6
src/hotel/components/HouseManage/houseManage.jsx View File

6
 import addImg from '@/assets/icons/landlord/add.png'
6
 import addImg from '@/assets/icons/landlord/add.png'
7
 import copyRoom from '@/assets/icons/landlord/copyroom.png'
7
 import copyRoom from '@/assets/icons/landlord/copyroom.png'
8
 import React, { useState, useEffect, useRef, useImperativeHandle, useMemo } from 'react'
8
 import React, { useState, useEffect, useRef, useImperativeHandle, useMemo } from 'react'
9
-import { getRoomList, saveRoom, deleteRoom } from '@/services/landlord'
9
+import { getRoomList, saveRoom, deleteRoom, saveExtend } from '@/services/landlord'
10
+import { getExtendContent } from "@/services/home";
11
+import Spin3 from '@/components/Spin/Spin3';
10
 import cutoverUser from '@/assets/icons/UserCenter/cutoverUser.png'
12
 import cutoverUser from '@/assets/icons/UserCenter/cutoverUser.png'
11
 import ToggleRole from '@/components/toggleRole/ToggleRole'
13
 import ToggleRole from '@/components/toggleRole/ToggleRole'
12
 import List from '@/components/List';
14
 import List from '@/components/List';
20
 export default React.forwardRef((props, ref) => {
22
 export default React.forwardRef((props, ref) => {
21
   const { hotel, hotelList, onHotelChange } = props
23
   const { hotel, hotelList, onHotelChange } = props
22
   const [detail, setDetail] = useState([])
24
   const [detail, setDetail] = useState([])
23
-  const [search,setSearch]=useState()
25
+  const [search, setSearch] = useState()
24
 
26
 
25
   const queryParams = useMemo(() => ({
27
   const queryParams = useMemo(() => ({
26
     hotelId: hotel.hotelId,
28
     hotelId: hotel.hotelId,
27
     roomName: search
29
     roomName: search
28
-  }), [hotel.hotelId,search])
30
+  }), [hotel.hotelId, search])
29
 
31
 
30
   const shareDataRef = useRef()
32
   const shareDataRef = useRef()
31
 
33
 
90
   //当前页面切换到前台时
92
   //当前页面切换到前台时
91
   useDidShow(() => {
93
   useDidShow(() => {
92
     if (mounted.current) {
94
     if (mounted.current) {
93
-      getRoomList({ hotelId: hotel.hotelId,roomName: search,pageSize:'500' }).then((res) => {
95
+      getRoomList({ hotelId: hotel.hotelId, roomName: search, pageSize: '500' }).then((res) => {
94
         setDetail(res.records || [])
96
         setDetail(res.records || [])
95
       })
97
       })
96
     }
98
     }
134
       })
136
       })
135
     }
137
     }
136
   }
138
   }
139
+  //本店指南
140
+  const [loading,setLoading]=useState(false)
137
   const handelCopy = (e, val) => {
141
   const handelCopy = (e, val) => {
138
     //阻止冒泡不允许执行父元素的点击事件
142
     //阻止冒泡不允许执行父元素的点击事件
139
     e.stopPropagation()
143
     e.stopPropagation()
144
+    setLoading(true)
140
     let copy = 0
145
     let copy = 0
141
     detail.map((item, index) => {
146
     detail.map((item, index) => {
142
       if (item.roomId === val.roomId) {
147
       if (item.roomId === val.roomId) {
143
         copy = index
148
         copy = index
144
       }
149
       }
145
     })
150
     })
146
-    saveRoom({ ...val, roomId: null, roomName: val.roomName + '复制' }).then((res) => {
147
-      setDetail([...detail.slice(0, copy), res, ...detail.slice(copy)])
151
+    getExtendContent('room', val.roomId, { pageSize: 500 }).then((res2) => {
152
+      saveRoom({ ...val, roomId: null, roomName: val.roomName + '复制' }).then((res) => {
153
+        res2.records.lenght != 0 ?
154
+          //如果原房源有更多指引查出列表遍历每条拿出来放到新的房源的更多指引里
155
+          res2.records.map((item) => {
156
+            saveExtend({ ...item, targetId: res.roomId })
157
+          }) :null
158
+          setLoading(false)
159
+          Taro.showToast({
160
+            title: '复制房源成功',
161
+            icon: 'none',
162
+          })
163
+        setDetail([...detail.slice(0, copy), res, ...detail.slice(copy)])
164
+      })
148
     })
165
     })
166
+
149
   }
167
   }
150
   const [showCutover3, setShowCutover3] = useState(false)
168
   const [showCutover3, setShowCutover3] = useState(false)
151
   const ShowMoldeOn3 = () => {
169
   const ShowMoldeOn3 = () => {
156
   }
174
   }
157
   return (
175
   return (
158
     <View style={{ padding: '0 30rpx', height: '100%', display: 'flex', flexDirection: 'column' }}>
176
     <View style={{ padding: '0 30rpx', height: '100%', display: 'flex', flexDirection: 'column' }}>
177
+      <Spin3 show={loading} />
159
       <ToggleRole role='hotel' showCutover={showCutover3} maskClosable={showCutover3} onClose={onClose3} />
178
       <ToggleRole role='hotel' showCutover={showCutover3} maskClosable={showCutover3} onClose={onClose3} />
160
       <View style={{ flex: 'none' }}>
179
       <View style={{ flex: 'none' }}>
161
         <view className='storeName'>店名:<Picker style={{ display: 'inline-block' }} placeholder="请选择民宿" value={hotel?.hotelId} kv={['hotelName', 'hotelId']} dicts={hotelList} onChange={handleHotelChange} /></view>
180
         <view className='storeName'>店名:<Picker style={{ display: 'inline-block' }} placeholder="请选择民宿" value={hotel?.hotelId} kv={['hotelName', 'hotelId']} dicts={hotelList} onChange={handleHotelChange} /></view>

+ 2
- 3
src/hotel/pages/landlord/addRoom/addRoom.jsx View File

3
 import CustomNav from '@/components/CustomNav'
3
 import CustomNav from '@/components/CustomNav'
4
 import { View, Input, Button, Label, Textarea, Text, Image } from '@tarojs/components';
4
 import { View, Input, Button, Label, Textarea, Text, Image } from '@tarojs/components';
5
 import { useEffect, useState } from "react"
5
 import { useEffect, useState } from "react"
6
-import { saveRoom, getRoomDetail, updateRoom } from '@/services/landlord'
6
+import { saveRoom, getRoomDetail, updateRoom,saveExtend } from '@/services/landlord'
7
 import GPS from '@/assets/icons/GuideCheck/GPS.png'
7
 import GPS from '@/assets/icons/GuideCheck/GPS.png'
8
 import { getExtendContent } from "@/services/home";
8
 import { getExtendContent } from "@/services/home";
9
-import { saveExtend } from '@/services/landlord'
10
 //export default是导出模块的   export也是导出模块的    如果引用时不加{}就是引用默认模块加了就是引用相应的模块
9
 //export default是导出模块的   export也是导出模块的    如果引用时不加{}就是引用默认模块加了就是引用相应的模块
11
 import { uploadFile } from '@/utils/request'
10
 import { uploadFile } from '@/utils/request'
12
 import Popup from '@/components/Popup'
11
 import Popup from '@/components/Popup'
87
   const [reset, setReset] = useState(false)
86
   const [reset, setReset] = useState(false)
88
   useEffect(() => {
87
   useEffect(() => {
89
     if (roomId) {
88
     if (roomId) {
90
-      getExtendContent('room', roomId, { pageSize: 999 }).then((res) => {
89
+      getExtendContent('room', roomId, { pageSize: 500 }).then((res) => {
91
         setExtend(res.records || []);
90
         setExtend(res.records || []);
92
       })
91
       })
93
       setReset(false)
92
       setReset(false)

+ 0
- 1
src/pages/PayOrder/index.jsx View File

17
 
17
 
18
 export default withLayout((props) => {
18
 export default withLayout((props) => {
19
   const { router, person } = props;
19
   const { router, person } = props;
20
-  console.log("🚀 ~ file: index.jsx ~ line 20 ~ withLayout ~ props", props)
21
   const { packageId, orderId, scene, subOrderId, id } = props.router.params;
20
   const { packageId, orderId, scene, subOrderId, id } = props.router.params;
22
   const [payInfo, setPayInfo] = useState();
21
   const [payInfo, setPayInfo] = useState();
23
   // 是否已阅读协议
22
   // 是否已阅读协议

+ 0
- 1
src/pages/index/index.jsx View File

22
 
22
 
23
 export default withLayout((props) => {
23
 export default withLayout((props) => {
24
   const { router, person, location } = props
24
   const { router, person, location } = props
25
-  console.log("🚀 ~ file: index.jsx ~ line 25 ~ withLayout ~ router", router)
26
   let { roomId, roomOrderId } = router.params
25
   let { roomId, roomOrderId } = router.params
27
   const { roomId: rid } = useModel('hotel')
26
   const { roomId: rid } = useModel('hotel')
28
 
27