Browse Source

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

张延森 4 years ago
parent
commit
a92b799de9

+ 39
- 3
src/store/models/renting.js View File

10
   const list = ref([])
10
   const list = ref([])
11
   const page = reactive({})
11
   const page = reactive({})
12
   const detail = reactive({})
12
   const detail = reactive({})
13
-
13
+  const rentRole = reactive({})
14
+  const rentKeyBox = reactive({})
14
   const getList = data => {
15
   const getList = data => {
15
     loading.value = true
16
     loading.value = true
16
     request({
17
     request({
62
     })
63
     })
63
   }
64
   }
64
 
65
 
65
-  
66
+    // 角色人信息
67
+  const getRole = data => {
68
+    request({
69
+      loadingId: 'rent.role.view',
70
+      url: '/rent/role/view',
71
+      params: {
72
+        roomId:data,
73
+      }
74
+    }).then(res => {
75
+      Object.assign(rentRole, res)
76
+    }).catch(e => {
77
+      console.error(e)
78
+      showDanger('获取角色人失败')
79
+    })
80
+  }
81
+
82
+ // 钥匙信息
83
+  const getKey = data => {
84
+    request({
85
+      loadingId: 'rent.key.view',
86
+      url: '/rent/key/view',
87
+      params: {
88
+        roomId: data,
89
+      }
90
+    }).then(res => {
91
+      Object.assign(rentKeyBox, res)
92
+    }).catch(e => {
93
+      console.error(e)
94
+      showDanger('获取钥匙失败')
95
+    })
96
+  }
97
+
66
 
98
 
67
 
99
 
68
 
100
 
72
     getList,
104
     getList,
73
     detail,
105
     detail,
74
     getDetail,
106
     getDetail,
75
-    loading
107
+    loading,
108
+    getRole,
109
+    rentRole,
110
+    getKey,
111
+    rentKeyBox,
76
   }
112
   }
77
 }
113
 }

+ 85
- 36
src/view/followup/index.vue View File

2
   <div class="closehouse">
2
   <div class="closehouse">
3
     <van-form @submit="onSubmit">
3
     <van-form @submit="onSubmit">
4
       <van-field
4
       <van-field
5
-        v-model="state.id"
5
+        :model-value="`${detail.roomInfo?.roomCode}${detail.roomInfo?.id}`"
6
         name="id"
6
         name="id"
7
         label="房源编号"
7
         label="房源编号"
8
         readonly
8
         readonly
9
         placeholder="房源编号"
9
         placeholder="房源编号"
10
       />
10
       />
11
       <van-field
11
       <van-field
12
-        v-model="state.building"
12
+        :model-value="detail.building?.buildingName"
13
         name="building"
13
         name="building"
14
         label="所属楼盘"
14
         label="所属楼盘"
15
         readonly
15
         readonly
16
         placeholder="所属楼盘"
16
         placeholder="所属楼盘"
17
-       
18
       />
17
       />
18
+
19
       <van-field
19
       <van-field
20
+        required
21
+        :rules="[{ required: true, message: '请选择跟进类型' }]"
22
+        label="跟进类型"
23
+      >
24
+        <template #input>
25
+          <Picker
26
+            placeholder="请选择跟进类型"
27
+            :options="followTypeOptions"
28
+            v-model="formData.followType"
29
+          />
30
+        </template>
31
+      </van-field>
32
+      <!-- <van-field
20
         v-model="pickerState.value"
33
         v-model="pickerState.value"
21
         readonly
34
         readonly
22
         clickable
35
         clickable
23
         required
36
         required
24
-        name="address"
37
+        name="followType"
25
         label="跟进类型"
38
         label="跟进类型"
26
         placeholder="跟进类型"
39
         placeholder="跟进类型"
27
         @click="pickerState.showPicker = true"
40
         @click="pickerState.showPicker = true"
29
       />
42
       />
30
       <van-popup v-model:show="pickerState.showPicker" position="bottom">
43
       <van-popup v-model:show="pickerState.showPicker" position="bottom">
31
         <van-picker
44
         <van-picker
32
-          :columns="columns"
45
+          :columns="followTypeOptions"
33
           @confirm="onConfirm"
46
           @confirm="onConfirm"
34
           @cancel="pickerState.showPicker = false"
47
           @cancel="pickerState.showPicker = false"
35
         />
48
         />
36
-      </van-popup>
37
-      <!-- <van-field
38
-        v-model="state.building"
39
-        required
40
-        name="type"
41
-        label="关闭类型"
42
-        placeholder="请选择"
43
-        :rules="[{ required: true, message: '请填写密码' }]"
44
-      /> -->
49
+      </van-popup> -->
50
+
51
+      <van-field
52
+        v-show="formData.followType == 4"
53
+        v-model="formData.newRoomPrice"
54
+        label="价格调整为"
55
+        type="number"
56
+      >
57
+        <template #extra>
58
+          元/月
59
+        </template>
60
+      </van-field>
45
       <van-field
61
       <van-field
46
-        v-model="state.explain"
62
+        v-model="formData.followDesc"
47
         required
63
         required
48
-        name="explain"
64
+        name="followDesc"
49
         label="跟进描述"
65
         label="跟进描述"
50
         placeholder="跟进描述"
66
         placeholder="跟进描述"
51
         rows="3"
67
         rows="3"
63
 </template>
79
 </template>
64
 
80
 
65
 <script>
81
 <script>
66
-import { reactive } from "vue";
67
-import { Form, Button, Field, Picker, Popup } from "vant";
68
-
82
+import { reactive, onMounted } from "vue";
83
+import { Form, Button, Field, Popup } from "vant";
84
+import { useRouter } from "vue-router";
85
+import { useModel } from "@zjxpcyc/vue-tiny-store";
86
+import Picker from "@/components/Picker";
87
+import request from "@/utils/request";
69
 export default {
88
 export default {
70
   name: "closehouse",
89
   name: "closehouse",
71
   components: {
90
   components: {
73
     [Button.name]: Button,
92
     [Button.name]: Button,
74
     [Field.name]: Field,
93
     [Field.name]: Field,
75
     [Popup.name]: Popup,
94
     [Popup.name]: Popup,
76
-    [Picker.name]: Picker,
95
+    Picker: Picker,
77
     // Secondhand:secondhand,
96
     // Secondhand:secondhand,
78
   },
97
   },
79
   data() {
98
   data() {
80
     return {};
99
     return {};
81
   },
100
   },
82
   setup() {
101
   setup() {
83
-    const state = reactive({
84
-      id: "",
85
-      building: "",
102
+     const roomId = router.currentRoute.value.query.roomId;
103
+    const formData = reactive({
104
+      roomId: roomId,
105
+      followType: undefined, //根据类型
106
+      newRoomPrice: undefined, //新价格
107
+      followDesc: undefined, //根进描述
86
     });
108
     });
109
+    const router = useRouter();
110
+   
111
+    const { detail, getDetail } = useModel("room");
112
+
113
+    const followTypeOptions = [
114
+      {
115
+        text: "日常跟进",
116
+        value: "2",
117
+      },
118
+      {
119
+        text: "带看",
120
+        value: "1",
121
+      },
122
+      {
123
+        text: "查看敏感信息",
124
+        value: "3",
125
+      },
126
+      {
127
+        text: "价格调整",
128
+        value: "4",
129
+      },
130
+    ];
131
+
87
     const onSubmit = (values) => {
132
     const onSubmit = (values) => {
88
       console.log("submit", values);
133
       console.log("submit", values);
134
+
135
+      request({
136
+        url: "/room/follow/save",
137
+        params: formData,
138
+      }).then(() => {
139
+        // list.value = res.result;
140
+      });
89
     };
141
     };
90
 
142
 
91
-    const pickerState = reactive({
92
-      value: "",
93
-      showPicker: false,
143
+    onMounted(() => {
144
+      if (!detail.roomInfo) {
145
+        getDetail(roomId);
146
+      }
94
     });
147
     });
95
-    const columns = ["杭州", "宁波", "温州", "嘉兴", "湖州"];
96
-
97
-    const onConfirm = (value) => {
98
-      pickerState.value = value;
99
-      pickerState.showPicker = false;
100
-    };
101
 
148
 
102
     return {
149
     return {
103
-      state,
104
-      pickerState,
105
-      columns,
106
-      onConfirm,
150
+   
151
+
152
+      formData,
153
+
107
       onSubmit,
154
       onSubmit,
155
+      detail,
156
+      followTypeOptions,
108
     };
157
     };
109
   },
158
   },
110
 };
159
 };

+ 42
- 24
src/view/renting/detail/components/Follow.vue View File

1
 <template>
1
 <template>
2
-  <x-loading x-id="room.follow.list">
2
+  <x-loading x-id="rent.follow.list">
3
     <p v-if="!list.length">暂无跟进记录</p>
3
     <p v-if="!list.length">暂无跟进记录</p>
4
     <van-steps direction="vertical" :active="0" v-else>
4
     <van-steps direction="vertical" :active="0" v-else>
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>
7
         <p>
7
-          {{item.followUserName}} {{item.createTime}}
8
-        </p>
9
-        <p>
10
-          {{item.followType === '0' ? '看房, ': ''}}
11
-          {{item.followDesc}}
8
+          {{ item.followType === "0" ? "看房, " : "" }}
9
+          {{ item.followDesc }}
12
         </p>
10
         </p>
13
         <p v-if="item.followImg">
11
         <p v-if="item.followImg">
14
           <van-image width="100" height="100" :src="item.followImg" />
12
           <van-image width="100" height="100" :src="item.followImg" />
15
-        </p>          
13
+        </p>
16
       </van-step>
14
       </van-step>
17
     </van-steps>
15
     </van-steps>
16
+
17
+    <!-- <x-field label=" " v-shiro="'room:info:security'"> -->
18
+
19
+    <van-button
20
+      size="small"
21
+      type="primary"
22
+      v-shiro="'room:renting:follow'"
23
+      @click="goToAddFollow"
24
+      >添加跟进</van-button
25
+    >
26
+    <!-- </x-field> -->
18
   </x-loading>
27
   </x-loading>
19
 </template>
28
 </template>
20
 
29
 
21
 <script>
30
 <script>
22
-import { onMounted, ref } from 'vue'
23
-import { List, Step, Steps, Image } from 'vant'
24
-import request from '@/utils/request'
31
+import { onMounted, ref } from "vue";
32
+import { List, Step, Steps, Image, Button } from "vant";
33
+import { useRouter } from "vue-router";
34
+import request from "@/utils/request";
25
 
35
 
26
 export default {
36
 export default {
27
   components: {
37
   components: {
29
     [Steps.name]: Steps,
39
     [Steps.name]: Steps,
30
     [Step.name]: Step,
40
     [Step.name]: Step,
31
     [Image.name]: Image,
41
     [Image.name]: Image,
42
+    [Button.name]: Button,
32
   },
43
   },
33
   props: {
44
   props: {
34
     roomId: undefined,
45
     roomId: undefined,
35
   },
46
   },
36
   setup(props) {
47
   setup(props) {
37
-    const list = ref([])
38
-
48
+    const list = ref([]);
49
+    const router = useRouter();
39
     const handleLoad = () => {
50
     const handleLoad = () => {
40
       request({
51
       request({
41
-        loadingId: 'room.follow.list',
42
-        url: '/room/follow/list',
52
+        loadingId: "rent.follow.list",
53
+        url: "/rent/follow/list",
43
         params: {
54
         params: {
44
           roomId: props.roomId,
55
           roomId: props.roomId,
45
           pageNo: 1,
56
           pageNo: 1,
46
           pageSize: 100,
57
           pageSize: 100,
47
-        }
48
-      }).then(res => {
49
-        list.value = res.result
50
-      })
51
-    }
58
+        },
59
+      }).then((res) => {
60
+        list.value = res.result;
61
+      });
62
+    };
63
+
64
+    const goToAddFollow = () =>
65
+      router.push({
66
+        name: "secondhand.detail",
67
+        query: { roomId: props.roomId },
68
+      });
52
 
69
 
53
     onMounted(() => {
70
     onMounted(() => {
54
-      handleLoad()
55
-    })
71
+      handleLoad();
72
+    });
56
 
73
 
57
     return {
74
     return {
58
       list,
75
       list,
59
       handleLoad,
76
       handleLoad,
60
-    }
61
-  }
62
-}
77
+      goToAddFollow,
78
+    };
79
+  },
80
+};
63
 </script>
81
 </script>

+ 14
- 14
src/view/renting/detail/components/Key.vue View File

1
 <template>
1
 <template>
2
-  <x-loading x-id="room.key">
3
-    <p v-if="!roomKey">暂无钥匙信息</p>
4
-    <p v-else-if="roomKey.status === '1'">当前委托书正在审核中</p>
2
+  <x-loading x-id="rent.key.view">
3
+    <p v-if="!rentKey">暂无钥匙信息</p>
4
+    <p v-else-if="rentKey.status === '1'">当前委托书正在审核中</p>
5
     <div v-else>
5
     <div v-else>
6
       <shiro name="room:info:key">
6
       <shiro name="room:info:key">
7
         <template #callback>
7
         <template #callback>
8
           <van-empty image="error" description="无钥匙协议查看权限" />
8
           <van-empty image="error" description="无钥匙协议查看权限" />
9
         </template>
9
         </template>
10
 
10
 
11
-        <x-field label=" " v-if="roomKeyBox.isCreate">
11
+        <x-field label=" " v-if="rentKeyBox.isCreate">
12
           <van-button size="small" type="danger">删除钥匙</van-button>
12
           <van-button size="small" type="danger">删除钥匙</van-button>
13
         </x-field>
13
         </x-field>
14
 
14
 
15
         <x-field label="上传人">
15
         <x-field label="上传人">
16
-          {{roomKey.keyUserName}} ({{roomKey.keyUserPhone}})
16
+          {{rentKey.keyUserName}} ({{rentKey.keyUserPhone}})
17
         </x-field>
17
         </x-field>
18
 
18
 
19
         <x-field label="上传时间">
19
         <x-field label="上传时间">
20
-          {{roomKey.updateTime}}
20
+          {{rentKey.updateTime}}
21
         </x-field>
21
         </x-field>
22
 
22
 
23
         <x-field label="钥匙编号">
23
         <x-field label="钥匙编号">
24
-          {{roomKey.keyNo}}
24
+          {{rentKey.keyNo}}
25
         </x-field>
25
         </x-field>
26
 
26
 
27
         <x-field label="存储位置">
27
         <x-field label="存储位置">
28
-          {{roomKey.address}}
28
+          {{rentKey.address}}
29
         </x-field>
29
         </x-field>
30
 
30
 
31
-        <van-image width="100" height="100" :src="roomKey.url" />
31
+        <van-image width="100" height="100" :src="rentKey.url" />
32
 
32
 
33
       </shiro>
33
       </shiro>
34
     </div>
34
     </div>
50
     roomId: undefined
50
     roomId: undefined
51
   },
51
   },
52
   setup(props) {
52
   setup(props) {
53
-    const { detail, roomKeyBox, getKey } = useModel("room")
53
+    const { detail, rentKeyBox, getKey } = useModel("renting")
54
 
54
 
55
-    const roomKey = computed(() => roomKeyBox.roomKey)
55
+    const rentKey = computed(() => rentKeyBox.roomKey)
56
 
56
 
57
     onMounted(() => {
57
     onMounted(() => {
58
-      if (!roomKeyBox.roomKey) {
58
+      if (!rentKeyBox.roomKey) {
59
         getKey(props.roomId)
59
         getKey(props.roomId)
60
       }
60
       }
61
     })
61
     })
62
 
62
 
63
     return {
63
     return {
64
       detail,
64
       detail,
65
-      roomKeyBox,
66
-      roomKey,
65
+      rentKeyBox,
66
+      rentKey,
67
     }
67
     }
68
   }
68
   }
69
 }
69
 }

+ 3
- 3
src/view/renting/detail/components/Look.vue View File

1
 <template>
1
 <template>
2
-  <x-loading x-id="room.look.list">
2
+  <x-loading x-id="rent.look.list">
3
     <p v-if="!list.length">暂无空看记录</p>
3
     <p v-if="!list.length">暂无空看记录</p>
4
     <van-steps direction="vertical" :active="0" v-else>
4
     <van-steps direction="vertical" :active="0" v-else>
5
       <van-step v-for="(item, index) in list" :key="index">
5
       <van-step v-for="(item, index) in list" :key="index">
38
 
38
 
39
     const handleLoad = () => {
39
     const handleLoad = () => {
40
       request({
40
       request({
41
-        loadingId: 'room.look.list',
42
-        url: '/room/look/list',
41
+        loadingId: 'rent.look.list',
42
+        url: '/rent/look/list',
43
         params: {
43
         params: {
44
           roomId: props.roomId,
44
           roomId: props.roomId,
45
           pageNo: 1,
45
           pageNo: 1,

+ 7
- 4
src/view/renting/detail/components/Main.vue View File

3
     <x-field label="房源ID"> {{ roomInfo.roomCode }}{{ roomInfo.id }} </x-field>
3
     <x-field label="房源ID"> {{ roomInfo.roomCode }}{{ roomInfo.id }} </x-field>
4
 
4
 
5
     <x-field label="所属楼盘">
5
     <x-field label="所属楼盘">
6
-      {{ roomInfo.buildingName }}
6
+      {{ building.buildingName }}
7
     </x-field>
7
     </x-field>
8
 
8
 
9
     <x-field label="面积"> {{ roomInfo.acreage }} ㎡ </x-field>
9
     <x-field label="面积"> {{ roomInfo.acreage }} ㎡ </x-field>
27
       }}
27
       }}
28
     </x-field>
28
     </x-field>
29
 
29
 
30
-
31
-
32
     <x-field label="创建方式">
30
     <x-field label="创建方式">
33
       {{ roomInfo.createMethod === "1" ? "外部录入" : "荟居录入" }}
31
       {{ roomInfo.createMethod === "1" ? "外部录入" : "荟居录入" }}
34
     </x-field>
32
     </x-field>
76
         size="small"
74
         size="small"
77
         type="warning"
75
         type="warning"
78
         @click="handleSecurityClick"
76
         @click="handleSecurityClick"
79
-        >查看敏感信息(剩余 {{ otherData.leftSecurityNum }} 次)</van-button
77
+        >查看敏感信息(剩余 {{ otherData?.leftSecurityNum }} 次)</van-button
80
       >
78
       >
81
       <van-button
79
       <van-button
82
         v-else
80
         v-else
121
       type: Object,
119
       type: Object,
122
       default: () => ({}),
120
       default: () => ({}),
123
     },
121
     },
122
+    building: {
123
+      type: Object,
124
+      default: () => ({}),
125
+    },
126
+
124
     otherData: Object,
127
     otherData: Object,
125
   },
128
   },
126
   setup(props) {
129
   setup(props) {

+ 14
- 42
src/view/renting/detail/components/Role.vue View File

1
 <template>
1
 <template>
2
-  <x-loading x-id="room.role">
2
+  <x-loading x-id="rent.role.view">
3
     <x-field label="首次录入人">
3
     <x-field label="首次录入人">
4
       {{firstInputUser}}
4
       {{firstInputUser}}
5
     </x-field>
5
     </x-field>
6
     <x-field label="首次录入时间">
6
     <x-field label="首次录入时间">
7
-      {{roomRole.createTime}}
7
+      {{rentRole.createTime}}
8
     </x-field>
8
     </x-field>
9
     
9
     
10
     <x-field label="录入人">
10
     <x-field label="录入人">
11
       {{inputUser}}
11
       {{inputUser}}
12
     </x-field>
12
     </x-field>
13
     <x-field label="录入时间">
13
     <x-field label="录入时间">
14
-      {{roomRole.recordTime}}
14
+      {{rentRole.recordTime}}
15
     </x-field>
15
     </x-field>
16
     
16
     
17
     <x-field label="维护人">
17
     <x-field label="维护人">
18
-      {{getNameFormated(roomRole.belongName, roomRole.belongId)}}
18
+      {{getNameFormated(rentRole.belongName, rentRole.belongId)}}
19
     </x-field>
19
     </x-field>
20
     <x-field label=" " v-shiro="'room:info:belongTel'">
20
     <x-field label=" " v-shiro="'room:info:belongTel'">
21
       <van-button size="small" type="warning">查看电话</van-button>
21
       <van-button size="small" type="warning">查看电话</van-button>
22
     </x-field>
22
     </x-field>
23
     
23
     
24
     <x-field label="实勘人">
24
     <x-field label="实勘人">
25
-      {{getNameFormated(roomRole.rescName, roomRole.rescId)}}
25
+      {{getNameFormated(rentRole.rescName, rentRole.rescId)}}
26
     </x-field>
26
     </x-field>
27
     <x-field label="达成时间">
27
     <x-field label="达成时间">
28
-      {{roomRole.rescTime}}
28
+      {{rentRole.rescTime}}
29
     </x-field>
29
     </x-field>
30
     
30
     
31
     <x-field label="钥匙人">
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}}
32
+      {{getNameFormated(rentRole.keyName, rentRole.keyId)}}
40
     </x-field>
33
     </x-field>
41
 
34
 
42
     <x-field label="最后修改人">
35
     <x-field label="最后修改人">
43
-      {{getNameFormated(roomRole.updateName, roomRole.updateId)}}
36
+      {{getNameFormated(rentRole.updateName, rentRole.updateId)}}
44
     </x-field>
37
     </x-field>
45
     <x-field label="最后修改时间">
38
     <x-field label="最后修改时间">
46
-      {{roomRole.updateTime}}
39
+      {{rentRole.updateTime}}
47
     </x-field>
40
     </x-field>
48
 
41
 
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
 
42
 
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>
43
+    
72
 
44
 
73
   </x-loading>
45
   </x-loading>
74
 </template>
46
 </template>
89
     },
61
     },
90
   },
62
   },
91
   setup(props) {
63
   setup(props) {
92
-    const { roomRole, getRole } = useModel("room")
64
+    const { rentRole, getRole } = useModel("renting")
93
 
65
 
94
     const getNameFormated = (name, id) => {
66
     const getNameFormated = (name, id) => {
95
       return name + (name ? `(ID:${id})` : '')
67
       return name + (name ? `(ID:${id})` : '')
100
       if (createMethod === '1') {
72
       if (createMethod === '1') {
101
         return '外部录入'
73
         return '外部录入'
102
       } else {
74
       } else {
103
-        return getNameFormated(roomRole.createName, roomRole.createId)
75
+        return getNameFormated(rentRole.createName, rentRole.createId)
104
       }
76
       }
105
     })
77
     })
106
 
78
 
109
       if (createMethod === '1') {
81
       if (createMethod === '1') {
110
         return '外部录入'
82
         return '外部录入'
111
       } else {
83
       } else {
112
-        return getNameFormated(roomRole.recordName, roomRole.recordId)
84
+        return getNameFormated(rentRole.recordName, rentRole.recordId)
113
       }
85
       }
114
     })
86
     })
115
 
87
 
118
     })
90
     })
119
 
91
 
120
     return {
92
     return {
121
-      roomRole,
93
+      rentRole,
122
       firstInputUser,
94
       firstInputUser,
123
       inputUser,
95
       inputUser,
124
       getNameFormated,
96
       getNameFormated,

+ 10
- 10
src/view/renting/detail/index.vue View File

1
 <template>
1
 <template>
2
   <div class="secondhanddetail">
2
   <div class="secondhanddetail">
3
     <!-- xId='room.view' -->
3
     <!-- xId='room.view' -->
4
-    <x-loading x-id="room.view" tip="正在加载详情">
4
+    <x-loading x-id="rent.key.view" tip="正在加载详情">
5
       <div>
5
       <div>
6
         <Swiper></Swiper>
6
         <Swiper></Swiper>
7
       </div>
7
       </div>
24
       </div>
24
       </div>
25
 
25
 
26
       <van-cell-group title="房源信息">
26
       <van-cell-group title="房源信息">
27
-        <RoomMain :room-info="detail.roomInfo" :other-data="roomOtherData" />
27
+        <RoomMain :room-info="detail.roomInfo" :building="detail.building"  :other-data="roomOtherData" />
28
       </van-cell-group>
28
       </van-cell-group>
29
 
29
 
30
       <van-cell-group title="其他信息">
30
       <van-cell-group title="其他信息">
36
             <RoomBase :room-info="detail.roomInfo" :building="detail.building" />
36
             <RoomBase :room-info="detail.roomInfo" :building="detail.building" />
37
           </van-collapse-item>
37
           </van-collapse-item>
38
 
38
 
39
-          <van-collapse-item name="2">
39
+          <!-- <van-collapse-item name="2">
40
             <template #title>
40
             <template #title>
41
               <div>物业信息</div>
41
               <div>物业信息</div>
42
             </template>
42
             </template>
43
             <RoomEstate :build-info="detail.building" />
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>
50
             <RoomRole :room-info="detail.roomInfo" />
50
             <RoomRole :room-info="detail.roomInfo" />
51
           </van-collapse-item>
51
           </van-collapse-item>
52
           
52
           
53
-          <van-collapse-item name="auth">
53
+          <!-- <van-collapse-item name="auth">
54
             <template #title>
54
             <template #title>
55
               <div>委托书</div>
55
               <div>委托书</div>
56
             </template>
56
             </template>
57
             <RoomAuth :room-id="roomId" />
57
             <RoomAuth :room-id="roomId" />
58
-          </van-collapse-item>
58
+          </van-collapse-item> -->
59
           
59
           
60
           <van-collapse-item name="key">
60
           <van-collapse-item name="key">
61
             <template #title>
61
             <template #title>
124
 import { useModel } from "@zjxpcyc/vue-tiny-store"
124
 import { useModel } from "@zjxpcyc/vue-tiny-store"
125
 import RoomMain from './components/Main'
125
 import RoomMain from './components/Main'
126
 import RoomBase from './components/Base'
126
 import RoomBase from './components/Base'
127
-import RoomEstate from './components/Estate'
127
+// import RoomEstate from './components/Estate'
128
 import RoomRole from './components/Role'
128
 import RoomRole from './components/Role'
129
-import RoomAuth from './components/Auth'
129
+// import RoomAuth from './components/Auth'
130
 import RoomKey from './components/Key'
130
 import RoomKey from './components/Key'
131
 import RoomFollow from './components/Follow'
131
 import RoomFollow from './components/Follow'
132
 import RoomLook from './components/Look'
132
 import RoomLook from './components/Look'
154
     Swiper: Swiper,
154
     Swiper: Swiper,
155
     RoomMain,
155
     RoomMain,
156
     RoomBase,
156
     RoomBase,
157
-    RoomEstate,
157
+    // RoomEstate,
158
     RoomRole,
158
     RoomRole,
159
-    RoomAuth,
159
+    // RoomAuth,
160
     RoomKey,
160
     RoomKey,
161
     RoomFollow,
161
     RoomFollow,
162
     RoomLook,
162
     RoomLook,

+ 38
- 22
src/view/secondhand/detail/components/Follow.vue View File

3
     <p v-if="!list.length">暂无跟进记录</p>
3
     <p v-if="!list.length">暂无跟进记录</p>
4
     <van-steps direction="vertical" :active="0" v-else>
4
     <van-steps direction="vertical" :active="0" v-else>
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>
7
         <p>
7
-          {{item.followUserName}} {{item.createTime}}
8
-        </p>
9
-        <p>
10
-          {{item.followType === '0' ? '看房, ': ''}}
11
-          {{item.followDesc}}
8
+          {{ item.followType === "0" ? "看房, " : "" }}
9
+          {{ item.followDesc }}
12
         </p>
10
         </p>
13
         <p v-if="item.followImg">
11
         <p v-if="item.followImg">
14
           <van-image width="100" height="100" :src="item.followImg" />
12
           <van-image width="100" height="100" :src="item.followImg" />
15
-        </p>          
13
+        </p>
16
       </van-step>
14
       </van-step>
17
     </van-steps>
15
     </van-steps>
16
+    <van-button
17
+      size="small"
18
+      type="primary"
19
+     
20
+      @click="goToAddFollow"
21
+      >添加跟进</van-button
22
+    >
23
+     <!-- v-shiro="'room:info:addFollow'" -->
18
   </x-loading>
24
   </x-loading>
19
 </template>
25
 </template>
20
 
26
 
21
 <script>
27
 <script>
22
-import { onMounted, ref } from 'vue'
23
-import { List, Step, Steps, Image } from 'vant'
24
-import request from '@/utils/request'
28
+import { onMounted, ref } from "vue";
29
+import { List, Step, Steps, Image,Button } from "vant";
30
+import { useRouter } from 'vue-router'
31
+import request from "@/utils/request";
25
 
32
 
26
 export default {
33
 export default {
27
   components: {
34
   components: {
29
     [Steps.name]: Steps,
36
     [Steps.name]: Steps,
30
     [Step.name]: Step,
37
     [Step.name]: Step,
31
     [Image.name]: Image,
38
     [Image.name]: Image,
39
+    [Button.name]: Button,
40
+    
32
   },
41
   },
33
   props: {
42
   props: {
34
     roomId: undefined,
43
     roomId: undefined,
35
   },
44
   },
36
   setup(props) {
45
   setup(props) {
37
-    const list = ref([])
46
+    const list = ref([]);
47
+    const router = useRouter()
38
 
48
 
39
     const handleLoad = () => {
49
     const handleLoad = () => {
40
       request({
50
       request({
41
-        loadingId: 'room.follow.list',
42
-        url: '/room/follow/list',
51
+        loadingId: "room.follow.list",
52
+        url: "/room/follow/list",
43
         params: {
53
         params: {
44
           roomId: props.roomId,
54
           roomId: props.roomId,
45
           pageNo: 1,
55
           pageNo: 1,
46
           pageSize: 100,
56
           pageSize: 100,
47
-        }
48
-      }).then(res => {
49
-        list.value = res.result
50
-      })
51
-    }
57
+        },
58
+      }).then((res) => {
59
+        list.value = res.result;
60
+      });
61
+    };
62
+    const goToAddFollow = () =>
63
+      router.push({
64
+        name: "followup",
65
+        query: { roomId: props.roomId },
66
+      });
52
 
67
 
53
     onMounted(() => {
68
     onMounted(() => {
54
-      handleLoad()
55
-    })
69
+      handleLoad();
70
+    });
56
 
71
 
57
     return {
72
     return {
58
       list,
73
       list,
59
       handleLoad,
74
       handleLoad,
60
-    }
61
-  }
62
-}
75
+      goToAddFollow,
76
+    };
77
+  },
78
+};
63
 </script>
79
 </script>