张延森 4 年前
父节点
当前提交
d73c303d41

+ 2
- 2
src/view/secondhand/detail/components/Estate.vue 查看文件

1
 <template>
1
 <template>
2
-  <div>
2
+  <div v-if="buildInfo">
3
     <x-field label="物业费">
3
     <x-field label="物业费">
4
       {{buildInfo.propertyPrice}} 元/m²/月
4
       {{buildInfo.propertyPrice}} 元/m²/月
5
     </x-field>
5
     </x-field>
16
       {{buildInfo.propertyCompany}}
16
       {{buildInfo.propertyCompany}}
17
     </x-field>
17
     </x-field>
18
   </div>
18
   </div>
19
-
19
+  <p v-else>暂无物业信息</p>
20
 </template>
20
 </template>
21
 
21
 
22
 <script>
22
 <script>

+ 128
- 0
src/view/secondhand/detail/components/Role.vue 查看文件

1
+<template>
2
+  <x-loading x-id="room.role">
3
+    <x-field label="首次录入人">
4
+      {{firstInputUser}}
5
+    </x-field>
6
+    <x-field label="首次录入时间">
7
+      {{roomRole.createTime}}
8
+    </x-field>
9
+    
10
+    <x-field label="录入人">
11
+      {{inputUser}}
12
+    </x-field>
13
+    <x-field label="录入时间">
14
+      {{roomRole.recordTime}}
15
+    </x-field>
16
+    
17
+    <x-field label="维护人">
18
+      {{getNameFormated(roomRole.belongName, roomRole.belongId)}}
19
+    </x-field>
20
+    <x-field label=" " v-shiro="'room:info:belongTel'">
21
+      <van-button size="small" type="warning">查看电话</van-button>
22
+    </x-field>
23
+    
24
+    <x-field label="实勘人">
25
+      {{getNameFormated(roomRole.rescName, roomRole.rescId)}}
26
+    </x-field>
27
+    <x-field label="达成时间">
28
+      {{roomRole.rescTime}}
29
+    </x-field>
30
+    
31
+    <x-field label="钥匙人">
32
+      {{getNameFormated(roomRole.keyName, roomRole.keyId)}}
33
+    </x-field>
34
+
35
+    <x-field label="委托人">
36
+      {{getNameFormated(roomRole.authName, roomRole.authId)}}
37
+    </x-field>
38
+    <x-field label="委托时间">
39
+      {{roomRole.authTime}}
40
+    </x-field>
41
+
42
+    <x-field label="最后修改人">
43
+      {{getNameFormated(roomRole.updateName, roomRole.updateId)}}
44
+    </x-field>
45
+    <x-field label="最后修改时间">
46
+      {{roomRole.updateTime}}
47
+    </x-field>
48
+
49
+    <template v-if="roomInfo.roomStatus === '8'">
50
+      <x-field label="成交人">
51
+        {{getNameFormated(roomRole.doneName, roomRole.doneId)}}
52
+      </x-field>
53
+      <x-field label="成交时间">
54
+        {{roomRole.doneTime}}
55
+      </x-field>
56
+    </template>
57
+
58
+    <template v-if="roomInfo.roomStatus !== '0' && roomInfo.roomStatus !== '8'">
59
+      <x-field label="申请关闭人">
60
+        {{getNameFormated(roomRole.applyCloseName, roomRole.applyCloseId)}}
61
+      </x-field>
62
+      <x-field label="申请关闭时间">
63
+        {{roomRole.applyCloseTime}}
64
+      </x-field>
65
+      <x-field label="关闭操作人">
66
+        {{getNameFormated(roomRole.closeName, roomRole.closeId)}}
67
+      </x-field>
68
+      <x-field label="关闭操作时间">
69
+        {{roomRole.closeTime}}
70
+      </x-field>
71
+    </template>
72
+
73
+  </x-loading>
74
+</template>
75
+
76
+<script>
77
+import { useModel } from '@zjxpcyc/vue-tiny-store'
78
+import { computed, onMounted } from 'vue'
79
+import { Button } from 'vant'
80
+
81
+export default {
82
+  components: {
83
+    [Button.name]: Button,
84
+  },
85
+  props: {
86
+    roomInfo: {
87
+      type: Object,
88
+      default: () => ({})
89
+    },
90
+  },
91
+  setup(props) {
92
+    const { roomRole, getRole } = useModel("room")
93
+
94
+    const getNameFormated = (name, id) => {
95
+      return name + (name ? `(ID:${id})` : '')
96
+    }
97
+    
98
+    const firstInputUser = computed(() => {
99
+      const createMethod = props.roomInfo?.createMethod
100
+      if (createMethod === '1') {
101
+        return '外部录入'
102
+      } else {
103
+        return getNameFormated(roomRole.createName, roomRole.createId)
104
+      }
105
+    })
106
+
107
+    const inputUser = computed(() => {
108
+      const createMethod = props.roomInfo?.createMethod
109
+      if (createMethod === '1') {
110
+        return '外部录入'
111
+      } else {
112
+        return getNameFormated(roomRole.recordName, roomRole.recordId)
113
+      }
114
+    })
115
+
116
+    onMounted(() => {
117
+      getRole(props.roomInfo.id)
118
+    })
119
+
120
+    return {
121
+      roomRole,
122
+      firstInputUser,
123
+      inputUser,
124
+      getNameFormated,
125
+    }
126
+  }
127
+}
128
+</script>

+ 6
- 14
src/view/secondhand/detail/index.vue 查看文件

28
       </van-cell-group>
28
       </van-cell-group>
29
 
29
 
30
       <van-cell-group title="其他信息">
30
       <van-cell-group title="其他信息">
31
-        <van-collapse v-model="collapseItem" accordion @change="handleCollapseChange">
31
+        <van-collapse v-model="collapseItem" accordion>
32
           <van-collapse-item name="1">
32
           <van-collapse-item name="1">
33
             <template #title>
33
             <template #title>
34
               <div>基础信息</div>
34
               <div>基础信息</div>
40
             <template #title>
40
             <template #title>
41
               <div>物业信息</div>
41
               <div>物业信息</div>
42
             </template>
42
             </template>
43
-            <RoomEstate :build-info="detail.buildInfo" />
43
+            <RoomEstate :build-info="detail.building" />
44
           </van-collapse-item>
44
           </van-collapse-item>
45
 
45
 
46
           <van-collapse-item name="role">
46
           <van-collapse-item name="role">
47
             <template #title>
47
             <template #title>
48
               <div>角色人</div>
48
               <div>角色人</div>
49
             </template>
49
             </template>
50
-            <x-loading x-id="room.role" tips="请稍等...">
51
-              <!-- <Contextc :options="roleInformationOptions"></Contextc> -->
52
-            </x-loading>
50
+            <RoomRole :room-info="detail.roomInfo" />
53
           </van-collapse-item>
51
           </van-collapse-item>
54
           
52
           
55
           <van-collapse-item name="auth">
53
           <van-collapse-item name="auth">
127
 import RoomMain from './components/Main'
125
 import RoomMain from './components/Main'
128
 import RoomBase from './components/Base'
126
 import RoomBase from './components/Base'
129
 import RoomEstate from './components/Estate'
127
 import RoomEstate from './components/Estate'
128
+import RoomRole from './components/Role'
130
 import RoomAuth from './components/Auth'
129
 import RoomAuth from './components/Auth'
131
 import RoomKey from './components/Key'
130
 import RoomKey from './components/Key'
132
 import RoomFollow from './components/Follow'
131
 import RoomFollow from './components/Follow'
156
     RoomMain,
155
     RoomMain,
157
     RoomBase,
156
     RoomBase,
158
     RoomEstate,
157
     RoomEstate,
158
+    RoomRole,
159
     RoomAuth,
159
     RoomAuth,
160
     RoomKey,
160
     RoomKey,
161
     RoomFollow,
161
     RoomFollow,
174
     const collapseItem = ref()
174
     const collapseItem = ref()
175
     const phone = ref("")
175
     const phone = ref("")
176
 
176
 
177
-    const { detail, roomRole, getDetail, getRole } = useModel("room")
177
+    const { detail, getDetail } = useModel("room")
178
 
178
 
179
     onMounted(() => {
179
     onMounted(() => {
180
       getDetail(roomId);
180
       getDetail(roomId);
238
       showShare.value = false;
238
       showShare.value = false;
239
     };
239
     };
240
 
240
 
241
-    // 查看房源内容
242
-    const handleCollapseChange = activeName => {
243
-      if (activeName === 'role' && roomId != roomRole.roomId) {
244
-        getRole(roomId)
245
-      }
246
-    }
247
-
248
     const roomOtherData = computed(() => {
241
     const roomOtherData = computed(() => {
249
       return {
242
       return {
250
         leftSecurityNum: detail.leftSecurityNum,
243
         leftSecurityNum: detail.leftSecurityNum,
264
       shareOptions,
257
       shareOptions,
265
       detail,
258
       detail,
266
       collapseItem,
259
       collapseItem,
267
-      handleCollapseChange,
268
       roomId,
260
       roomId,
269
       roomOtherData,
261
       roomOtherData,
270
     };
262
     };