张延森 преди 4 години
родител
ревизия
d73c303d41
променени са 3 файла, в които са добавени 136 реда и са изтрити 16 реда
  1. 2
    2
      src/view/secondhand/detail/components/Estate.vue
  2. 128
    0
      src/view/secondhand/detail/components/Role.vue
  3. 6
    14
      src/view/secondhand/detail/index.vue

+ 2
- 2
src/view/secondhand/detail/components/Estate.vue Целия файл

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

+ 128
- 0
src/view/secondhand/detail/components/Role.vue Целия файл

@@ -0,0 +1,128 @@
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,7 +28,7 @@
28 28
       </van-cell-group>
29 29
 
30 30
       <van-cell-group title="其他信息">
31
-        <van-collapse v-model="collapseItem" accordion @change="handleCollapseChange">
31
+        <van-collapse v-model="collapseItem" accordion>
32 32
           <van-collapse-item name="1">
33 33
             <template #title>
34 34
               <div>基础信息</div>
@@ -40,16 +40,14 @@
40 40
             <template #title>
41 41
               <div>物业信息</div>
42 42
             </template>
43
-            <RoomEstate :build-info="detail.buildInfo" />
43
+            <RoomEstate :build-info="detail.building" />
44 44
           </van-collapse-item>
45 45
 
46 46
           <van-collapse-item name="role">
47 47
             <template #title>
48 48
               <div>角色人</div>
49 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 51
           </van-collapse-item>
54 52
           
55 53
           <van-collapse-item name="auth">
@@ -127,6 +125,7 @@ import { useModel } from "@zjxpcyc/vue-tiny-store"
127 125
 import RoomMain from './components/Main'
128 126
 import RoomBase from './components/Base'
129 127
 import RoomEstate from './components/Estate'
128
+import RoomRole from './components/Role'
130 129
 import RoomAuth from './components/Auth'
131 130
 import RoomKey from './components/Key'
132 131
 import RoomFollow from './components/Follow'
@@ -156,6 +155,7 @@ export default {
156 155
     RoomMain,
157 156
     RoomBase,
158 157
     RoomEstate,
158
+    RoomRole,
159 159
     RoomAuth,
160 160
     RoomKey,
161 161
     RoomFollow,
@@ -174,7 +174,7 @@ export default {
174 174
     const collapseItem = ref()
175 175
     const phone = ref("")
176 176
 
177
-    const { detail, roomRole, getDetail, getRole } = useModel("room")
177
+    const { detail, getDetail } = useModel("room")
178 178
 
179 179
     onMounted(() => {
180 180
       getDetail(roomId);
@@ -238,13 +238,6 @@ export default {
238 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 241
     const roomOtherData = computed(() => {
249 242
       return {
250 243
         leftSecurityNum: detail.leftSecurityNum,
@@ -264,7 +257,6 @@ export default {
264 257
       shareOptions,
265 258
       detail,
266 259
       collapseItem,
267
-      handleCollapseChange,
268 260
       roomId,
269 261
       roomOtherData,
270 262
     };