Browse Source

Merge branch 'master' of http://git.ycjcjy.com/ershoufang/mp-agent into master

zlisen 4 years ago
parent
commit
664e7de3fa

+ 5
- 7
src/layout/index.vue View File

6
 
6
 
7
     <div class="lay-footer">
7
     <div class="lay-footer">
8
       <van-tabbar route>
8
       <van-tabbar route>
9
-        <van-tabbar-item replace to="/home" icon="home-o">首页</van-tabbar-item>
10
-        <van-tabbar-item replace to="/house/add" icon="add-o"
11
-          >录入</van-tabbar-item
12
-        >
13
-        <van-tabbar-item replace to="/user" icon="user-o">我的</van-tabbar-item>
9
+        <van-tabbar-item to="/home" icon="home-o">首页</van-tabbar-item>
10
+        <van-tabbar-item to="/house/add" icon="add-o">录入</van-tabbar-item>
11
+        <van-tabbar-item to="/user" icon="user-o">我的</van-tabbar-item>
14
       </van-tabbar>
12
       </van-tabbar>
15
     </div>
13
     </div>
16
   </div>
14
   </div>
18
 
16
 
19
 <script>
17
 <script>
20
 // import Vue from 'vue';
18
 // import Vue from 'vue';
21
-import { Tabbar, TabbarItem } from "vant"
19
+import { Tabbar, TabbarItem } from 'vant'
22
 
20
 
23
 export default {
21
 export default {
24
-  name: "layout",
22
+  name: 'layout',
25
   components: {
23
   components: {
26
     [Tabbar.name]: Tabbar,
24
     [Tabbar.name]: Tabbar,
27
     [TabbarItem.name]: TabbarItem,
25
     [TabbarItem.name]: TabbarItem,

+ 23
- 16
src/view/secondhand/detail/components/Auth.vue View File

2
   <x-loading x-id="room.auth">
2
   <x-loading x-id="room.auth">
3
     <div v-if="!roomAuth">
3
     <div v-if="!roomAuth">
4
       <p>暂无业主委托书</p>
4
       <p>暂无业主委托书</p>
5
-      <template v-if="roomInfo.status !== '7'">
5
+      <!-- <template v-if="roomInfo.status !== '7'"> -->
6
+      <template v-if="roomInfo.status === '0'">
6
         <van-button
7
         <van-button
7
           block
8
           block
8
           size="small"
9
           size="small"
35
         <x-field
36
         <x-field
36
           label=" "
37
           label=" "
37
           v-shiro="'room:info:delAuth'"
38
           v-shiro="'room:info:delAuth'"
38
-          v-if="roomAuthBox.isCreate && roomAuth.status === '0'"
39
+          v-if="
40
+            roomAuthBox.isCreate &&
41
+            roomAuth.status === '0' &&
42
+            roomInfo.status === '0'
43
+          "
39
         >
44
         >
40
           <van-button block size="small" type="danger" @click="toggleDialog">
45
           <van-button block size="small" type="danger" @click="toggleDialog">
41
             删除委托书
46
             删除委托书
59
         </x-field>
64
         </x-field>
60
 
65
 
61
         <x-field label="截止时间">
66
         <x-field label="截止时间">
62
-          {{ roomAuth.startTime || "售出为止" }}
67
+          {{ roomAuth.startTime || '售出为止' }}
63
         </x-field>
68
         </x-field>
64
 
69
 
65
         <van-image width="100" height="100" :src="roomAuth.url" />
70
         <van-image width="100" height="100" :src="roomAuth.url" />
87
 </template>
92
 </template>
88
 
93
 
89
 <script>
94
 <script>
90
-import { computed, onMounted, ref } from "vue"
91
-import { Button, Image, Field, Dialog } from "vant"
92
-import { useModel } from "@zjxpcyc/vue-tiny-store"
93
-import { showDanger, showSuccess, showWarn } from "@/utils"
94
-import request from "@/utils/request"
95
+import { computed, onMounted, ref } from 'vue'
96
+import { Button, Image, Field, Dialog } from 'vant'
97
+import { useModel } from '@zjxpcyc/vue-tiny-store'
98
+import { showDanger, showSuccess, showWarn } from '@/utils'
99
+import request from '@/utils/request'
95
 
100
 
96
 export default {
101
 export default {
97
   components: {
102
   components: {
102
   },
107
   },
103
   props: {
108
   props: {
104
     roomId: undefined,
109
     roomId: undefined,
110
+    roomInfo: {
111
+      type: Object,
112
+      default: () => ({}),
113
+    },
105
   },
114
   },
106
   setup(props) {
115
   setup(props) {
107
-    const { detail, roomAuthBox, getAuth } = useModel("room")
116
+    const { detail, roomAuthBox, getAuth } = useModel('room')
108
 
117
 
109
     const delReason = ref()
118
     const delReason = ref()
110
     const showDialog = ref(false)
119
     const showDialog = ref(false)
111
 
120
 
112
     const roomAuth = computed(() => roomAuthBox.roomAuth)
121
     const roomAuth = computed(() => roomAuthBox.roomAuth)
113
-    const roomInfo = computed(() => detail.roomInfo)
114
 
122
 
115
     const toggleDialog = () => {
123
     const toggleDialog = () => {
116
       showDialog.value = !showDialog.value
124
       showDialog.value = !showDialog.value
118
 
126
 
119
     const handleDelete = () => {
127
     const handleDelete = () => {
120
       if (!delReason.value) {
128
       if (!delReason.value) {
121
-        showWarn("请填写删除原因")
129
+        showWarn('请填写删除原因')
122
         return
130
         return
123
       }
131
       }
124
 
132
 
127
       const params = {
135
       const params = {
128
         id: roomAuth.value.id,
136
         id: roomAuth.value.id,
129
         reason: delReason.value,
137
         reason: delReason.value,
130
-        roomId: roomInfo.value.id,
138
+        roomId: props.roomInfo.id,
131
       }
139
       }
132
 
140
 
133
       request({
141
       request({
134
-        url: "/room/auth/delete",
142
+        url: '/room/auth/delete',
135
         params,
143
         params,
136
-        toast: "请稍候...",
144
+        toast: '请稍候...',
137
       })
145
       })
138
         .then(() => {
146
         .then(() => {
139
           roomAuthBox.roomAuth = undefined
147
           roomAuthBox.roomAuth = undefined
140
-          showSuccess("删除成功")
148
+          showSuccess('删除成功')
141
         })
149
         })
142
         .catch((e) => {
150
         .catch((e) => {
143
           showDanger(e.message)
151
           showDanger(e.message)
154
       detail,
162
       detail,
155
       roomAuthBox,
163
       roomAuthBox,
156
       roomAuth,
164
       roomAuth,
157
-      roomInfo,
158
       delReason,
165
       delReason,
159
       showDialog,
166
       showDialog,
160
       handleDelete,
167
       handleDelete,

+ 14
- 9
src/view/secondhand/detail/components/Follow.vue View File

5
       <van-step v-for="(item, index) in list" :key="index">
5
       <van-step v-for="(item, index) in list" :key="index">
6
         <p>{{ item.followUserName }} {{ item.createTime }}</p>
6
         <p>{{ item.followUserName }} {{ item.createTime }}</p>
7
         <p>
7
         <p>
8
-          {{ item.followType === "0" ? "看房, " : "" }}
8
+          {{ item.followType === '0' ? '看房, ' : '' }}
9
           {{ item.followDesc }}
9
           {{ item.followDesc }}
10
         </p>
10
         </p>
11
         <p v-if="item.followImg">
11
         <p v-if="item.followImg">
17
       block
17
       block
18
       size="small"
18
       size="small"
19
       type="warning"
19
       type="warning"
20
+      v-if="roomInfo.status === '0'"
20
       v-shiro="'room:info:addFollow'"
21
       v-shiro="'room:info:addFollow'"
21
       @click="goToAddFollow"
22
       @click="goToAddFollow"
22
     >
23
     >
26
 </template>
27
 </template>
27
 
28
 
28
 <script>
29
 <script>
29
-import { onMounted, ref } from "vue"
30
-import { List, Step, Steps, Image, Button } from "vant"
31
-import { useRouter } from "vue-router"
32
-import request from "@/utils/request"
30
+import { onMounted, ref } from 'vue'
31
+import { List, Step, Steps, Image, Button } from 'vant'
32
+import { useRouter } from 'vue-router'
33
+import request from '@/utils/request'
33
 
34
 
34
 export default {
35
 export default {
35
   components: {
36
   components: {
41
   },
42
   },
42
   props: {
43
   props: {
43
     roomId: undefined,
44
     roomId: undefined,
45
+    roomInfo: {
46
+      type: Object,
47
+      default: () => ({}),
48
+    },
44
   },
49
   },
45
   setup(props) {
50
   setup(props) {
46
     const list = ref([])
51
     const list = ref([])
48
 
53
 
49
     const handleLoad = () => {
54
     const handleLoad = () => {
50
       request({
55
       request({
51
-        loadingId: "room.follow.list",
52
-        url: "/room/follow/list",
56
+        loadingId: 'room.follow.list',
57
+        url: '/room/follow/list',
53
         params: {
58
         params: {
54
           roomId: props.roomId,
59
           roomId: props.roomId,
55
           pageNo: 1,
60
           pageNo: 1,
61
     }
66
     }
62
     const goToAddFollow = () =>
67
     const goToAddFollow = () =>
63
       router.push({
68
       router.push({
64
-        name: "followup",
65
-        query: { roomId: props.roomId, type: "room" },
69
+        name: 'followup',
70
+        query: { roomId: props.roomId, type: 'room' },
66
       })
71
       })
67
 
72
 
68
     onMounted(() => {
73
     onMounted(() => {

+ 22
- 15
src/view/secondhand/detail/components/Key.vue View File

2
   <x-loading x-id="room.key">
2
   <x-loading x-id="room.key">
3
     <div v-if="!roomKey">
3
     <div v-if="!roomKey">
4
       <p>暂无钥匙信息</p>
4
       <p>暂无钥匙信息</p>
5
-      <template v-if="roomInfo.status !== '7'">
5
+      <!-- <template v-if="roomInfo.status !== '7'"> -->
6
+      <template v-if="roomInfo.status === '0'">
6
         <van-button
7
         <van-button
7
           block
8
           block
8
           size="small"
9
           size="small"
34
 
35
 
35
         <x-field
36
         <x-field
36
           label=" "
37
           label=" "
37
-          v-if="roomKeyBox.isCreate && roomKey.status === '0'"
38
+          v-if="
39
+            roomKeyBox.isCreate &&
40
+            roomKey.status === '0' &&
41
+            roomInfo.status === '0'
42
+          "
38
           v-shiro="'room:info:delKey'"
43
           v-shiro="'room:info:delKey'"
39
         >
44
         >
40
           <van-button block size="small" type="danger" @click="toggleDialog"
45
           <van-button block size="small" type="danger" @click="toggleDialog"
83
 </template>
88
 </template>
84
 
89
 
85
 <script>
90
 <script>
86
-import { Button, Image } from "vant"
87
-import { useModel } from "@zjxpcyc/vue-tiny-store"
88
-import { computed, onMounted, ref } from "vue"
89
-import { showDanger, showSuccess, showWarn } from "@/utils"
90
-import request from "@/utils/request"
91
+import { Button, Image } from 'vant'
92
+import { useModel } from '@zjxpcyc/vue-tiny-store'
93
+import { computed, onMounted, ref } from 'vue'
94
+import { showDanger, showSuccess, showWarn } from '@/utils'
95
+import request from '@/utils/request'
91
 
96
 
92
 export default {
97
 export default {
93
   components: {
98
   components: {
96
   },
101
   },
97
   props: {
102
   props: {
98
     roomId: undefined,
103
     roomId: undefined,
104
+    roomInfo: {
105
+      type: Object,
106
+      default: () => ({}),
107
+    },
99
   },
108
   },
100
   setup(props) {
109
   setup(props) {
101
-    const { detail, roomKeyBox, getKey } = useModel("room")
110
+    const { detail, roomKeyBox, getKey } = useModel('room')
102
 
111
 
103
     const roomKey = computed(() => roomKeyBox.roomKey)
112
     const roomKey = computed(() => roomKeyBox.roomKey)
104
-    const roomInfo = computed(() => detail.roomInfo)
105
 
113
 
106
     const delReason = ref()
114
     const delReason = ref()
107
     const showDialog = ref(false)
115
     const showDialog = ref(false)
112
 
120
 
113
     const handleDelete = () => {
121
     const handleDelete = () => {
114
       if (!delReason.value) {
122
       if (!delReason.value) {
115
-        showWarn("请填写删除原因")
123
+        showWarn('请填写删除原因')
116
         return
124
         return
117
       }
125
       }
118
 
126
 
121
       const params = {
129
       const params = {
122
         id: roomKey.value.id,
130
         id: roomKey.value.id,
123
         reason: delReason.value,
131
         reason: delReason.value,
124
-        roomId: roomInfo.value.id,
132
+        roomId: props.roomInfo.id,
125
       }
133
       }
126
 
134
 
127
       request({
135
       request({
128
-        url: "/room/key/delete",
136
+        url: '/room/key/delete',
129
         params,
137
         params,
130
-        toast: "请稍候...",
138
+        toast: '请稍候...',
131
       })
139
       })
132
         .then(() => {
140
         .then(() => {
133
           roomKeyBox.roomKey = undefined
141
           roomKeyBox.roomKey = undefined
134
-          showSuccess("删除成功")
142
+          showSuccess('删除成功')
135
         })
143
         })
136
         .catch((e) => {
144
         .catch((e) => {
137
           showDanger(e.message)
145
           showDanger(e.message)
148
       detail,
156
       detail,
149
       roomKeyBox,
157
       roomKeyBox,
150
       roomKey,
158
       roomKey,
151
-      roomInfo,
152
       toggleDialog,
159
       toggleDialog,
153
       handleDelete,
160
       handleDelete,
154
     }
161
     }

+ 14
- 9
src/view/secondhand/detail/components/Look.vue View File

5
       <van-step v-for="(item, index) in list" :key="index">
5
       <van-step v-for="(item, index) in list" :key="index">
6
         <p>{{ item.followUserName }} {{ item.createTime }}</p>
6
         <p>{{ item.followUserName }} {{ item.createTime }}</p>
7
         <p>
7
         <p>
8
-          {{ item.followType === "0" ? "看房, " : "" }}
8
+          {{ item.followType === '0' ? '看房, ' : '' }}
9
           {{ item.followDesc }}
9
           {{ item.followDesc }}
10
         </p>
10
         </p>
11
         <p v-if="item.followImg">
11
         <p v-if="item.followImg">
17
       block
17
       block
18
       size="small"
18
       size="small"
19
       type="warning"
19
       type="warning"
20
+      v-if="roomInfo.status === '0'"
20
       v-shiro="'room:info:addFollow'"
21
       v-shiro="'room:info:addFollow'"
21
       @click="goToAddLook"
22
       @click="goToAddLook"
22
     >
23
     >
26
 </template>
27
 </template>
27
 
28
 
28
 <script>
29
 <script>
29
-import { onMounted, ref } from "vue"
30
-import { List, Step, Steps, Image, Button } from "vant"
31
-import request from "@/utils/request"
32
-import { useRouter } from "vue-router"
30
+import { onMounted, ref } from 'vue'
31
+import { List, Step, Steps, Image, Button } from 'vant'
32
+import request from '@/utils/request'
33
+import { useRouter } from 'vue-router'
33
 export default {
34
 export default {
34
   components: {
35
   components: {
35
     [List.name]: List,
36
     [List.name]: List,
40
   },
41
   },
41
   props: {
42
   props: {
42
     roomId: undefined,
43
     roomId: undefined,
44
+    roomInfo: {
45
+      type: Object,
46
+      default: () => ({}),
47
+    },
43
   },
48
   },
44
   setup(props) {
49
   setup(props) {
45
     const list = ref([])
50
     const list = ref([])
47
 
52
 
48
     const handleLoad = () => {
53
     const handleLoad = () => {
49
       request({
54
       request({
50
-        loadingId: "room.look.list",
51
-        url: "/room/look/list",
55
+        loadingId: 'room.look.list',
56
+        url: '/room/look/list',
52
         params: {
57
         params: {
53
           roomId: props.roomId,
58
           roomId: props.roomId,
54
           pageNo: 1,
59
           pageNo: 1,
61
 
66
 
62
     const goToAddLook = () =>
67
     const goToAddLook = () =>
63
       router.push({
68
       router.push({
64
-        name: "look",
65
-        query: { roomId: props.roomId,type:'room' },
69
+        name: 'look',
70
+        query: { roomId: props.roomId, type: 'room' },
66
       })
71
       })
67
 
72
 
68
     onMounted(() => {
73
     onMounted(() => {

+ 19
- 19
src/view/secondhand/detail/components/Main.vue View File

25
     </x-field>
25
     </x-field>
26
 
26
 
27
     <x-field label="创建方式">
27
     <x-field label="创建方式">
28
-      {{ roomInfo.createMethod === "1" ? "外部录入" : "荟居录入" }}
28
+      {{ roomInfo.createMethod === '1' ? '外部录入' : '荟居录入' }}
29
     </x-field>
29
     </x-field>
30
 
30
 
31
     <x-field label="楼栋">
31
     <x-field label="楼栋">
32
-      {{ securityInfo.roomBuild || "敏感信息" }}
32
+      {{ securityInfo.roomBuild || '敏感信息' }}
33
     </x-field>
33
     </x-field>
34
 
34
 
35
     <x-field label="单元">
35
     <x-field label="单元">
36
-      {{ securityInfo.roomUnit || "敏感信息" }}
36
+      {{ securityInfo.roomUnit || '敏感信息' }}
37
     </x-field>
37
     </x-field>
38
 
38
 
39
     <x-field label="楼房号">
39
     <x-field label="楼房号">
40
-      {{ securityInfo.roomNum || "敏感信息" }}
40
+      {{ securityInfo.roomNum || '敏感信息' }}
41
     </x-field>
41
     </x-field>
42
 
42
 
43
     <x-field label="业主姓名">
43
     <x-field label="业主姓名">
44
-      {{ securityInfo.ownerName || "敏感信息" }}
44
+      {{ securityInfo.ownerName || '敏感信息' }}
45
     </x-field>
45
     </x-field>
46
 
46
 
47
     <x-field label="业主电话">
47
     <x-field label="业主电话">
48
-      {{ securityInfo.ownerTel || "敏感信息" }}
48
+      {{ securityInfo.ownerTel || '敏感信息' }}
49
     </x-field>
49
     </x-field>
50
 
50
 
51
     <x-field label=" " v-shiro="'room:info:security'">
51
     <x-field label=" " v-shiro="'room:info:security'">
71
 </template>
71
 </template>
72
 
72
 
73
 <script>
73
 <script>
74
-import { computed, ref } from "vue"
75
-import { useRouter } from "vue-router"
76
-import { Button, Dialog } from "vant"
77
-import request from "@/utils/request"
78
-import { showDanger } from "@/utils"
74
+import { computed, ref } from 'vue'
75
+import { useRouter } from 'vue-router'
76
+import { Button, Dialog } from 'vant'
77
+import request from '@/utils/request'
78
+import { showDanger } from '@/utils'
79
 
79
 
80
 const getSecurity = (roomId) => {
80
 const getSecurity = (roomId) => {
81
   return request({
81
   return request({
82
-    loadingId: "room.security",
83
-    url: "/room/security",
82
+    loadingId: 'room.security',
83
+    url: '/room/security',
84
     params: { roomId },
84
     params: { roomId },
85
   })
85
   })
86
     .then((res) => {
86
     .then((res) => {
108
     const unfollowRoom = ref()
108
     const unfollowRoom = ref()
109
 
109
 
110
     const floor = computed(() => {
110
     const floor = computed(() => {
111
-      const [a, b, c] = (props.roomInfo.roomFloor || "").split(",")
112
-      return `${a || ""}/${b || ""}(${c || ""})`
111
+      const [a, b, c] = (props.roomInfo.roomFloor || '').split(',')
112
+      return `${a || ''}/${b || ''}(${c || ''})`
113
     })
113
     })
114
 
114
 
115
     const avgPrice = computed(() => {
115
     const avgPrice = computed(() => {
120
 
120
 
121
     const goToAddFollow = () =>
121
     const goToAddFollow = () =>
122
       router.push({
122
       router.push({
123
-        name: "secondhand.detail",
123
+        name: 'secondhand.detail',
124
         query: { roomId: unfollowRoom.value.id },
124
         query: { roomId: unfollowRoom.value.id },
125
       })
125
       })
126
 
126
 
132
             unfollowRoom.value = undefined
132
             unfollowRoom.value = undefined
133
           })
133
           })
134
           .catch((e) => {
134
           .catch((e) => {
135
-            if ("1003" === e.code) {
135
+            if ('1003' === e.code) {
136
               unfollowRoom.value = JSON.parse(e.message)
136
               unfollowRoom.value = JSON.parse(e.message)
137
 
137
 
138
               Dialog.alert({
138
               Dialog.alert({
139
-                title: "去跟进",
139
+                title: '去跟进',
140
                 message: `您存在未跟进的房源,房源编号: ${unfollowRoom.value.id}`,
140
                 message: `您存在未跟进的房源,房源编号: ${unfollowRoom.value.id}`,
141
               }).then(() => {
141
               }).then(() => {
142
                 // todo
142
                 // todo
143
               })
143
               })
144
             } else {
144
             } else {
145
               unfollowRoom.value = undefined
145
               unfollowRoom.value = undefined
146
-              showDanger("查看敏感信息失败")
146
+              showDanger('查看敏感信息失败')
147
             }
147
             }
148
           })
148
           })
149
       }
149
       }

+ 9
- 9
src/view/secondhand/detail/components/Role.vue View File

73
 </template>
73
 </template>
74
 
74
 
75
 <script>
75
 <script>
76
-import { useModel } from "@zjxpcyc/vue-tiny-store"
77
-import { computed, onMounted } from "vue"
78
-import { Button } from "vant"
76
+import { useModel } from '@zjxpcyc/vue-tiny-store'
77
+import { computed, onMounted } from 'vue'
78
+import { Button } from 'vant'
79
 
79
 
80
 export default {
80
 export default {
81
   components: {
81
   components: {
88
     },
88
     },
89
   },
89
   },
90
   setup(props) {
90
   setup(props) {
91
-    const { roomRole, getRole } = useModel("room")
91
+    const { roomRole, getRole } = useModel('room')
92
 
92
 
93
     const getNameFormated = (name, id) => {
93
     const getNameFormated = (name, id) => {
94
-      return name + (name ? `(ID:${id})` : "")
94
+      return name + (name ? `(ID:${id})` : '')
95
     }
95
     }
96
 
96
 
97
     const firstInputUser = computed(() => {
97
     const firstInputUser = computed(() => {
98
       const createMethod = props.roomInfo?.createMethod
98
       const createMethod = props.roomInfo?.createMethod
99
-      if (createMethod === "1") {
100
-        return "外部录入"
99
+      if (createMethod === '1') {
100
+        return '外部录入'
101
       } else {
101
       } else {
102
         return getNameFormated(roomRole.createName, roomRole.createId)
102
         return getNameFormated(roomRole.createName, roomRole.createId)
103
       }
103
       }
105
 
105
 
106
     const inputUser = computed(() => {
106
     const inputUser = computed(() => {
107
       const createMethod = props.roomInfo?.createMethod
107
       const createMethod = props.roomInfo?.createMethod
108
-      if (createMethod === "1") {
109
-        return "外部录入"
108
+      if (createMethod === '1') {
109
+        return '外部录入'
110
       } else {
110
       } else {
111
         return getNameFormated(roomRole.recordName, roomRole.recordId)
111
         return getNameFormated(roomRole.recordName, roomRole.recordId)
112
       }
112
       }

+ 36
- 31
src/view/secondhand/detail/index.vue View File

9
       <div class="title">
9
       <div class="title">
10
         <p class="body">{{ detail.roomInfo?.title }}</p>
10
         <p class="body">{{ detail.roomInfo?.title }}</p>
11
 
11
 
12
-        <MoreActions :room-info="detail.roomInfo" />
12
+        <MoreActions v-if="isNormalStatus" :room-info="detail.roomInfo" />
13
       </div>
13
       </div>
14
 
14
 
15
       <van-cell-group title="房源信息">
15
       <van-cell-group title="房源信息">
43
             <template #title>
43
             <template #title>
44
               <div>委托书</div>
44
               <div>委托书</div>
45
             </template>
45
             </template>
46
-            <RoomAuth :room-id="roomId" />
46
+            <RoomAuth :room-info="detail.roomInfo" :room-id="roomId" />
47
           </van-collapse-item>
47
           </van-collapse-item>
48
 
48
 
49
           <van-collapse-item name="key">
49
           <van-collapse-item name="key">
50
             <template #title>
50
             <template #title>
51
               <div>钥匙</div>
51
               <div>钥匙</div>
52
             </template>
52
             </template>
53
-            <RoomKey :room-id="roomId" />
53
+            <RoomKey :room-info="detail.roomInfo" :room-id="roomId" />
54
           </van-collapse-item>
54
           </van-collapse-item>
55
 
55
 
56
           <van-collapse-item name="follow">
56
           <van-collapse-item name="follow">
57
             <template #title>
57
             <template #title>
58
               <div>跟进记录</div>
58
               <div>跟进记录</div>
59
             </template>
59
             </template>
60
-            <RoomFollow :room-id="roomId" />
60
+            <RoomFollow :room-info="detail.roomInfo" :room-id="roomId" />
61
           </van-collapse-item>
61
           </van-collapse-item>
62
 
62
 
63
           <van-collapse-item name="look">
63
           <van-collapse-item name="look">
64
             <template #title>
64
             <template #title>
65
               <div>空看记录</div>
65
               <div>空看记录</div>
66
             </template>
66
             </template>
67
-            <RoomLook :room-id="roomId" />
67
+            <RoomLook :room-info="detail.roomInfo" :room-id="roomId" />
68
           </van-collapse-item>
68
           </van-collapse-item>
69
         </van-collapse>
69
         </van-collapse>
70
       </van-cell-group>
70
       </van-cell-group>
89
 </template>
89
 </template>
90
 
90
 
91
 <script>
91
 <script>
92
-import { ref, onMounted, computed } from "vue"
93
-import { useRouter } from "vue-router"
94
-import { Swiper } from "@/components/detailCompents"
92
+import { ref, onMounted, computed } from 'vue'
93
+import { useRouter } from 'vue-router'
94
+import { Swiper } from '@/components/detailCompents'
95
 import {
95
 import {
96
   Icon,
96
   Icon,
97
   Popover,
97
   Popover,
108
   CellGroup,
108
   CellGroup,
109
   Collapse,
109
   Collapse,
110
   CollapseItem,
110
   CollapseItem,
111
-} from "vant"
112
-import { useModel } from "@zjxpcyc/vue-tiny-store"
113
-import MoreActions from "./components/MoreActions"
114
-import RoomMain from "./components/Main"
115
-import RoomBase from "./components/Base"
116
-import RoomEstate from "./components/Estate"
117
-import RoomRole from "./components/Role"
118
-import RoomAuth from "./components/Auth"
119
-import RoomKey from "./components/Key"
120
-import RoomFollow from "./components/Follow"
121
-import RoomLook from "./components/Look"
111
+} from 'vant'
112
+import { useModel } from '@zjxpcyc/vue-tiny-store'
113
+import MoreActions from './components/MoreActions'
114
+import RoomMain from './components/Main'
115
+import RoomBase from './components/Base'
116
+import RoomEstate from './components/Estate'
117
+import RoomRole from './components/Role'
118
+import RoomAuth from './components/Auth'
119
+import RoomKey from './components/Key'
120
+import RoomFollow from './components/Follow'
121
+import RoomLook from './components/Look'
122
 // import Contextc from "../../../components/contextC"
122
 // import Contextc from "../../../components/contextC"
123
 // import { router } from "../../../router";
123
 // import { router } from "../../../router";
124
 
124
 
125
 export default {
125
 export default {
126
-  name: "secondhanddetail",
126
+  name: 'secondhanddetail',
127
   components: {
127
   components: {
128
     [CellGroup.name]: CellGroup,
128
     [CellGroup.name]: CellGroup,
129
     [Cell.name]: Cell,
129
     [Cell.name]: Cell,
162
     const showShare = ref(false)
162
     const showShare = ref(false)
163
     const phoneShow = ref(false)
163
     const phoneShow = ref(false)
164
     const collapseItem = ref()
164
     const collapseItem = ref()
165
-    const phone = ref("")
165
+    const phone = ref('')
166
 
166
 
167
-    const { detail, getDetail } = useModel("room")
167
+    const { detail, getDetail } = useModel('room')
168
 
168
 
169
-    const { dicts, getDict } = useModel("dicts")
169
+    const { dicts, getDict } = useModel('dicts')
170
+
171
+    const isNormalStatus = computed(() => {
172
+      return detail.roomInfo?.status === '0'
173
+    })
170
 
174
 
171
     const getRescType = (val) => {
175
     const getRescType = (val) => {
172
-      const rescTypes = dicts["roomResc_type"] || []
176
+      const rescTypes = dicts['roomResc_type'] || []
173
       return (rescTypes.filter((x) => x.value === val)[0] || {}).text
177
       return (rescTypes.filter((x) => x.value === val)[0] || {}).text
174
     }
178
     }
175
 
179
 
176
     const imageList = computed(() => {
180
     const imageList = computed(() => {
177
       return (detail.RoomResc || [])
181
       return (detail.RoomResc || [])
178
-        .filter((x) => x.imgType !== "0")
182
+        .filter((x) => x.imgType !== '0')
179
         .map((x) => ({ image: x.url, text: getRescType(x.imgType) }))
183
         .map((x) => ({ image: x.url, text: getRescType(x.imgType) }))
180
     })
184
     })
181
 
185
 
182
     onMounted(() => {
186
     onMounted(() => {
183
       getDetail(roomId)
187
       getDetail(roomId)
184
-      getDict("roomResc_type")
188
+      getDict('roomResc_type')
185
     })
189
     })
186
 
190
 
187
     const shareOptions = [
191
     const shareOptions = [
188
-      { name: "微信", icon: "wechat" },
189
-      { name: "微博", icon: "weibo" },
190
-      { name: "复制链接", icon: "link" },
191
-      { name: "分享海报", icon: "poster" },
192
-      { name: "二维码", icon: "qrcode" },
192
+      { name: '微信', icon: 'wechat' },
193
+      { name: '微博', icon: 'weibo' },
194
+      { name: '复制链接', icon: 'link' },
195
+      { name: '分享海报', icon: 'poster' },
196
+      { name: '二维码', icon: 'qrcode' },
193
     ]
197
     ]
194
 
198
 
195
     const onShareSelect = (option) => {
199
     const onShareSelect = (option) => {
215
       onShareSelect,
219
       onShareSelect,
216
       shareOptions,
220
       shareOptions,
217
       detail,
221
       detail,
222
+      isNormalStatus,
218
       collapseItem,
223
       collapseItem,
219
       roomId,
224
       roomId,
220
       roomOtherData,
225
       roomOtherData,