张延森 vor 4 Jahren
Ursprung
Commit
b4f9552b09

+ 0
- 4
src/store/models/dicts.js Datei anzeigen

@@ -121,10 +121,6 @@ const leaseWay = [
121 121
   },
122 122
 ]
123 123
 
124
-
125
-
126
-
127
-
128 124
 export default () => {
129 125
   const dicts = reactive({
130 126
     roomType,

+ 3
- 3
src/view/closehouse/index.vue Datei anzeigen

@@ -1,10 +1,10 @@
1 1
 <template>
2
-  <van-nav-bar
2
+  <!-- <van-nav-bar
3 3
     title="关闭房源"
4 4
     left-text="返回"
5 5
     left-arrow
6 6
     @click-left="$router.go(-1)"
7
-  />
7
+  /> -->
8 8
   <x-loading x-id="room.view">
9 9
     <div class="closehouse">
10 10
       <van-cell-group>
@@ -142,7 +142,7 @@ export default {
142 142
 
143 143
     // 获取房源详情
144 144
     watch(() => route.query.roomId, (nw, od) => {
145
-      if (nw && !od && !detail.roomInfo) {
145
+      if (nw && !od && nw) {
146 146
         getDetail(nw)
147 147
       }
148 148
     }, {immediate: true})

+ 9
- 4
src/view/login/index.vue Datei anzeigen

@@ -1,6 +1,6 @@
1 1
 <template>
2 2
   <div class="login">
3
-    <p>经纪人平台</p>
3
+    <h3 class="title">经纪人平台</h3>
4 4
     <div class="login-from">
5 5
       <van-form @submit="onSubmit">
6 6
         <van-field
@@ -20,15 +20,15 @@
20 20
           :left-icon="passwordicon"
21 21
           placeholder="请输入密码"
22 22
         />
23
-        <van-field :border="false">
23
+        <!-- <van-field :border="false">
24 24
           <template #input>
25 25
             <van-checkbox shape="square" v-model="remember"
26 26
               >记住密码</van-checkbox
27 27
             >
28 28
           </template>
29
-        </van-field>
29
+        </van-field> -->
30 30
 
31
-        <div style="margin: 16px;">
31
+        <div style="margin: 2em;">
32 32
           <van-button
33 33
             class="loginbutton"
34 34
             block
@@ -111,5 +111,10 @@ export default {
111 111
       letter-spacing: 6px;
112 112
     }
113 113
   }
114
+
115
+  .title {
116
+    text-align: center;
117
+    font-weight: 500;
118
+  }
114 119
 }
115 120
 </style>

+ 1
- 1
src/view/secondhand/components/secondhandmorescreen/index.vue Datei anzeigen

@@ -198,7 +198,7 @@ export default {
198 198
     return {};
199 199
   },
200 200
   emits:["back", 'search'],
201
-  setup(props,{emit}) {
201
+  setup(props, {emit}) {
202 202
     const formData = reactive({
203 203
       // 楼盘
204 204
       estateName: undefined,

+ 2
- 0
src/view/secondhand/detail/components/MoreActions.vue Datei anzeigen

@@ -43,7 +43,9 @@
43 43
           v-show="roomInfo.status !== '7'"
44 44
           title="修改房源"
45 45
           icon="expand"
46
+          @click="$router.push({name: 'secondhand.edit', query: {roomId: roomInfo.id}})"
46 47
         />
48
+
47 49
         <van-cell
48 50
           v-shiro="'room:info:share'"
49 51
           title="分享房源"

+ 62
- 0
src/view/secondhand/edithouse/components/Basic.vue Datei anzeigen

@@ -0,0 +1,62 @@
1
+<template>
2
+  <van-collapse v-model="activeName" accordion>
3
+    <van-collapse-item title="基础信息" name="1">
4
+      <x-field label="房源编号">
5
+        {{roomInfo.roomCode}}{{roomInfo.id}}
6
+      </x-field>
7
+      <x-field label="楼盘名称">
8
+        {{building.buildingName}}
9
+      </x-field>
10
+      <x-field label="楼盘地址">
11
+        {{building.address}}
12
+      </x-field>
13
+      <x-field label="栋号">
14
+        {{roomInfo.roomBuild}}
15
+      </x-field>
16
+      <x-field label="单元">
17
+        {{roomInfo.roomUnit}}
18
+      </x-field>
19
+      <x-field label="楼层">
20
+        {{floor}}
21
+      </x-field>
22
+      <x-field label="房号">
23
+        {{roomInfo.roomNum}}
24
+      </x-field>
25
+    </van-collapse-item>
26
+  </van-collapse>
27
+</template>
28
+
29
+<script>
30
+import { computed, ref } from 'vue'
31
+import { Collapse, CollapseItem } from 'vant'
32
+
33
+export default {
34
+  components: {
35
+    [Collapse.name]: Collapse,
36
+    [CollapseItem.name]: CollapseItem,
37
+  },
38
+  props: {
39
+    roomInfo: {
40
+      type: Object,
41
+      default: () => ({})
42
+    },
43
+    building: {
44
+      type: Object,
45
+      default: () => ({})
46
+    },
47
+  },
48
+  setup(props) {
49
+    const activeName = ref('1')
50
+
51
+    const floor = computed(() => {
52
+      const roomFloor = (props.roomInfo.roomFloor || '').split(',')
53
+      return `${roomFloor[0]}/${roomFloor[1]}(${roomFloor[2]})`
54
+    })
55
+
56
+    return {
57
+      activeName,
58
+      floor,
59
+    }
60
+  }
61
+}
62
+</script>

+ 291
- 0
src/view/secondhand/edithouse/components/Form.vue Datei anzeigen

@@ -0,0 +1,291 @@
1
+<template>
2
+  <van-form @submit="handleSumbit">
3
+    <van-field
4
+      v-model="formData.title"
5
+      name="title"
6
+      label="标题"
7
+      placeholder="请输入"
8
+      :rules="[{ required: true, message: '请填写标题' }]"
9
+    />
10
+
11
+    <van-field
12
+      v-model="formData.acreage"
13
+      name="acreage"
14
+      label="面积"
15
+      placeholder="请输入"
16
+      required
17
+      type="number"
18
+      :rules="[{ required: true, message: '请填写面积' }]"
19
+    >
20
+      <template #extra>
21
+        ㎡
22
+      </template>
23
+    </van-field>
24
+
25
+    <van-field
26
+      v-model="formData.innerAcreage"
27
+      name="innerAcreage"
28
+      label="套内面积"
29
+      placeholder="请输入"
30
+    />
31
+
32
+    <van-field
33
+      name="roomType"
34
+      label="户型"
35
+      placeholder="请输入"
36
+      required
37
+    >
38
+      <template #input>
39
+        <RoomType v-model="formData.roomType" />
40
+      </template>
41
+    </van-field>
42
+
43
+    <van-field
44
+      name="proportion"
45
+      label="楼户比例"
46
+      placeholder="请输入"
47
+      required
48
+    >
49
+      <template #input>
50
+        <Proportion v-model="formData.proportion" />
51
+      </template>
52
+    </van-field>
53
+    
54
+    <van-field
55
+      name="decoration"
56
+      label="装修"
57
+      required
58
+    >
59
+      <template #input>
60
+        <Picker :options="decorationOptions" v-model="formData.decoration" />
61
+      </template>
62
+    </van-field>
63
+    
64
+    <van-field
65
+      v-model="formData.totalPrice"
66
+      name="totalPrice"
67
+      label="总价"
68
+      placeholder="请输入"
69
+      required
70
+      type="number"
71
+      :rules="[{ required: true, message: '请填写总价' }]"
72
+    >
73
+      <template #extra>
74
+        万元
75
+      </template>
76
+    </van-field>
77
+    
78
+    <van-field
79
+      name="aspect"
80
+      label="朝向"
81
+      required
82
+    >
83
+      <template #input>
84
+        <Picker :options="aspectOptions" v-model="formData.aspect" />
85
+      </template>
86
+    </van-field>
87
+    
88
+    <van-field
89
+      name="sourceFrom"
90
+      label="房屋来源"
91
+      required
92
+    >
93
+      <template #input>
94
+        <Picker :options="sourceFromOptions" v-model="formData.sourceFrom" />
95
+      </template>
96
+    </van-field>
97
+    
98
+    <van-field
99
+      name="buildType"
100
+      label="建筑类型"
101
+      required
102
+    >
103
+      <template #input>
104
+        <Picker :options="buildTypeOptions" v-model="formData.buildType" />
105
+      </template>
106
+    </van-field>
107
+    
108
+    <van-field
109
+      name="elevator"
110
+      label="电梯"
111
+      required
112
+    >
113
+      <template #input>
114
+        <Picker :options="elevatorOptions" v-model="formData.elevator" />
115
+      </template>
116
+    </van-field>
117
+    
118
+    <van-field
119
+      name="nature"
120
+      label="交易属性"
121
+      required
122
+    >
123
+      <template #input>
124
+        <Picker :options="natureOptions" v-model="formData.nature" />
125
+      </template>
126
+    </van-field>
127
+    
128
+    <van-field
129
+      name="purpose"
130
+      label="房屋用途"
131
+      required
132
+    >
133
+      <template #input>
134
+        <Picker :options="purposeOptions" v-model="formData.purpose" />
135
+      </template>
136
+    </van-field>
137
+
138
+    <van-field
139
+      v-model="formData.buildYear"
140
+      label="建筑年代"
141
+      placeholder="请输入"
142
+      type="number"
143
+    />
144
+    
145
+    <van-field
146
+      name="mortgage"
147
+      label="抵押信息"
148
+      required
149
+    >
150
+      <template #input>
151
+        <Picker :options="mortgageOptions" v-model="formData.isMortgage" />
152
+      </template>
153
+    </van-field>
154
+    
155
+    <van-field
156
+      name="buildTime"
157
+      label="税 费"
158
+      required
159
+    >
160
+      <template #input>
161
+        <Picker :options="buildTimeOptions" v-model="formData.buildTime" />
162
+      </template>
163
+    </van-field>
164
+
165
+  </van-form>
166
+</template>
167
+
168
+<script>
169
+import { reactive } from 'vue'
170
+import {
171
+  Form,
172
+  Field,
173
+} from 'vant'
174
+import { useModel } from '@zjxpcyc/vue-tiny-store'
175
+import Picker from '@/components/Picker'
176
+import RoomType from './RoomType'
177
+import Proportion from './Proportion'
178
+
179
+export default {
180
+  components: {
181
+    [Form.name]: Form,
182
+    [Field.name]: Field,
183
+    RoomType,
184
+    Proportion,
185
+    Picker,
186
+  },
187
+  setup(props) {
188
+    const formData = reactive({})
189
+    const { dicts, getDict } = useModel('dicts')
190
+    
191
+    // 装修
192
+    const decorationOptions = computed(() => {
193
+      const decorationDict = dicts.decoration || []
194
+      if (!decorationDict.length) {
195
+        getDict('decoration')
196
+      }
197
+
198
+      return decorationDict
199
+    })
200
+
201
+    // 朝向
202
+    const aspectOptions = computed(() => {
203
+      const aspectDict = dicts.aspect || []
204
+      if (!aspectDict.length) {
205
+        getDict('aspect')
206
+      }
207
+
208
+      return aspectDict
209
+    })
210
+
211
+    // 房源来源
212
+    const sourceFromOptions = computed(() => {
213
+      const sourceFromDict = dicts.sourceFrom || []
214
+      if (!sourceFromDict.length) {
215
+        getDict('sourceFrom')
216
+      }
217
+
218
+      return sourceFromDict
219
+    })
220
+
221
+    // 建筑类型
222
+    const buildTypeOptions = computed(() => {
223
+      const buildTypeDict = dicts['build_type'] || []
224
+      if (!buildTypeDict.length) {
225
+        getDict('build_type')
226
+      }
227
+
228
+      return buildTypeDict
229
+    })
230
+
231
+    // 电梯
232
+    const elevatorOptions = dicts.elevator
233
+
234
+    // 交易属性
235
+    const natureOptions = computed(() => {
236
+      const natureDict = dicts.nature || []
237
+      if (!natureDict.length) {
238
+        getDict('nature')
239
+      }
240
+
241
+      return natureDict
242
+    })
243
+
244
+    // 房屋用途
245
+    const purposeOptions = computed(() => {
246
+      const purposeDict = dicts.purpose || []
247
+      if (!purposeDict.length) {
248
+        getDict('purpose')
249
+      }
250
+
251
+      return purposeDict
252
+    })
253
+
254
+    // 抵押信息
255
+    const mortgageOptions = computed(() => {
256
+      const mortgageDict = dicts.mortgage || []
257
+      if (!mortgageDict.length) {
258
+        getDict('mortgage')
259
+      }
260
+
261
+      return mortgageDict
262
+    })
263
+
264
+    // 税费
265
+    const buildTimeOptions = computed(() => {
266
+      const buildTimeDict = dicts['build_time'] || []
267
+      if (!buildTimeDict.length) {
268
+        getDict('build_time')
269
+      }
270
+
271
+      return buildTimeDict
272
+    })
273
+
274
+    const handleSumbit = () => {}
275
+
276
+    return {
277
+      formData,
278
+      handleSumbit,
279
+      decorationOptions,
280
+      aspectOptions,
281
+      sourceFromOptions,
282
+      buildTypeOptions,
283
+      elevatorOptions,
284
+      natureOptions,
285
+      purposeOptions,
286
+      mortgageOptions,
287
+      buildTimeOptions,
288
+    }
289
+  }
290
+}
291
+</script>

+ 58
- 0
src/view/secondhand/edithouse/components/Proportion.vue Datei anzeigen

@@ -0,0 +1,58 @@
1
+<template>
2
+  <div class="proportion-box">
3
+    <div class="proportion-item">
4
+      <input type="number" v-model="proportion.elevator" /> 梯
5
+    </div>
6
+    <div class="proportion-item">
7
+      <input type="number" v-model="proportion.family" /> 户
8
+    </div>
9
+  </div>
10
+</template>
11
+
12
+<script>
13
+import { reactive, watch } from 'vue'
14
+
15
+export default {
16
+  props: {
17
+    modelValue: undefined,
18
+  },
19
+
20
+  emits: [
21
+    'update:modelValue'
22
+  ],
23
+
24
+  setup(props, {emit}) {
25
+    const proportion = reactive({
26
+      room: undefined,
27
+      family: undefined,
28
+    })
29
+
30
+    watch(() => props.modelValue, (nw, od) => {
31
+      if (nw && !od) {
32
+        const typeArr = props.modelValue.split(',')
33
+        proportion.elevator = typeArr[0]
34
+        proportion.family = typeArr[1]
35
+      }
36
+    }, {immediate: true})
37
+
38
+    watch(proportion, () => {
39
+      const vals = [proportion.elevator, proportion.family]
40
+      emit('update:modelValue', vals.join(','))
41
+    }, {immediate: true, deep: true})
42
+
43
+    return {
44
+      proportion
45
+    }
46
+  }
47
+}
48
+</script>
49
+
50
+<style lang="less" scoped>
51
+.proportion-box {
52
+  display: flex;
53
+
54
+  .proportion-item {
55
+    flex: auto;
56
+  }
57
+}
58
+</style>

+ 73
- 0
src/view/secondhand/edithouse/components/RoomType.vue Datei anzeigen

@@ -0,0 +1,73 @@
1
+<template>
2
+  <div class="room-type-box">
3
+    <div class="room-type-item">
4
+      <input type="number" v-model="roomType.room" /> 室
5
+    </div>
6
+    <div class="room-type-item">
7
+      <input type="number" v-model="roomType.hall" /> 厅
8
+    </div>
9
+    <div class="room-type-item">
10
+      <input type="number" v-model="roomType.kitchen" /> 厨
11
+    </div>
12
+    <div class="room-type-item">
13
+      <input type="number" v-model="roomType.toilet" /> 卫
14
+    </div>
15
+    <div class="room-type-item">
16
+      <input type="number" v-model="roomType.balcony" /> 阳台
17
+    </div>
18
+  </div>
19
+</template>
20
+
21
+<script>
22
+import { reactive, watch } from 'vue'
23
+
24
+export default {
25
+  props: {
26
+    modelValue: undefined,
27
+  },
28
+
29
+  emits: [
30
+    'update:modelValue'
31
+  ],
32
+
33
+  setup(props, {emit}) {
34
+    const roomType = reactive({
35
+      room: undefined,
36
+      hall: undefined,
37
+      kitchen: undefined,
38
+      toilet: undefined,
39
+      balcony: undefined,
40
+    })
41
+
42
+    watch(() => props.modelValue, (nw, od) => {
43
+      if (nw && !od) {
44
+        const typeArr = props.modelValue.split(',')
45
+        roomType.room = typeArr[0]
46
+        roomType.hall = typeArr[1]
47
+        roomType.kitchen = typeArr[2]
48
+        roomType.toilet = typeArr[3]
49
+        roomType.balcony = typeArr[4]
50
+      }
51
+    }, {immediate: true})
52
+
53
+    watch(roomType, () => {
54
+      const vals = [roomType.room, roomType.hall, roomType.kitchen, roomType.toilet, roomType.balcony]
55
+      emit('update:modelValue', vals.join(','))
56
+    }, {immediate: true, deep: true})
57
+
58
+    return {
59
+      roomType
60
+    }
61
+  }
62
+}
63
+</script>
64
+
65
+<style lang="less" scoped>
66
+.room-type-box {
67
+  display: flex;
68
+
69
+  .room-type-item {
70
+    flex: auto;
71
+  }
72
+}
73
+</style>

+ 140
- 201
src/view/secondhand/edithouse/index.vue Datei anzeigen

@@ -1,224 +1,163 @@
1 1
 <template>
2
-  <div class="secondhanddetail ">
3
-    <div class="detailcard van-hairline--bottom">
4
-      <div class="detailcard-title">
5
-        <span>基础信息</span>
6
-      </div>
7
-      <Contextc :options="baseInformationOptions"></Contextc>
2
+  <x-loading x-id="room.view">
3
+    <div class="secondhanddetail ">
4
+      <RoomBasic :room-info="detail.roomInfo" :building="detail.building" />
5
+<!-- 
6
+      <div>
7
+        <van-form @submit="onSubmit">
8
+          <van-field
9
+            v-model="state.username"
10
+            name="title"
11
+            label="标题"
12
+            placeholder="请输入"
13
+            required
14
+            :rules="[{ required: true, message: '请填写标题' }]"
15
+          />
16
+          <van-field
17
+            v-model="state.username"
18
+            name="aaaa"
19
+            label="面积"
20
+            placeholder="请输入"
21
+            required
22
+            type="number"
23
+            :rules="[{ required: true, message: '请填写面积' }]"
24
+          >
25
+            <template #extra>
26
+              ㎡
27
+            </template>
28
+          </van-field>
29
+          <van-field
30
+            v-model="state.username"
31
+            name="3333"
32
+            label="套内面积"
33
+            placeholder="请输入"
34
+          />
35
+          <van-field
36
+            v-model="state.username"
37
+            name="title"
38
+            label="户型"
39
+            placeholder="请输入"
40
+            required
41
+            :rules="[{ required: true, message: '请填写楼户比例' }]"
42
+          />
43
+
44
+          <van-field
45
+            v-model="state.username"
46
+            name="title"
47
+            label="楼户比例"
48
+            placeholder="请输入"
49
+            required
50
+            :rules="[{ required: true, message: '请填写楼户比例' }]"
51
+          />
52
+          <Pickerc
53
+            v-model="state.username"
54
+            name="title"
55
+            label="装修"
56
+            required
57
+          ></Pickerc>
58
+          <van-field
59
+            v-model="state.username"
60
+            name="title"
61
+            label="总价"
62
+            placeholder="请输入"
63
+            type="number"
64
+            required
65
+            :rules="[{ required: true, message: '请填写楼户比例' }]"
66
+          >
67
+            <template #extra>
68
+              万元
69
+            </template></van-field
70
+          >
71
+          <Pickerc
72
+            v-model="state.username"
73
+            name="title"
74
+            label="朝向"
75
+            required
76
+          ></Pickerc>
77
+          <Pickerc
78
+            v-model="state.username"
79
+            name="title"
80
+            label="房源来源"
81
+            required
82
+          ></Pickerc>
83
+
84
+          <Pickerc
85
+            v-model="state.username"
86
+            name="title"
87
+            label="建筑类型"
88
+          ></Pickerc>
89
+
90
+          <Pickerc v-model="state.username" name="title" label="电梯"></Pickerc>
91
+
92
+          <Pickerc
93
+            v-model="state.username"
94
+            name="title"
95
+            label="交易属性"
96
+          ></Pickerc>
97
+
98
+          <Pickerc
99
+            v-model="state.username"
100
+            name="title"
101
+            label="房屋用途"
102
+          ></Pickerc>
103
+          <van-field
104
+            v-model="state.username"
105
+            name="title"
106
+            label="建成年代"
107
+            placeholder="请输入"
108
+            :rules="[{ required: true, message: '请填写楼户比例' }]"
109
+          />
110
+          <Pickerc
111
+            v-model="state.username"
112
+            name="title"
113
+            label="抵押信息"
114
+          ></Pickerc>
115
+
116
+          <Pickerc v-model="state.username" name="title" label="税费"></Pickerc>
117
+
118
+          <div style="margin: 16px;">
119
+            <van-button round block type="primary" native-type="submit">
120
+              提交
121
+            </van-button>
122
+          </div>
123
+        </van-form>
124
+      </div> -->
8 125
     </div>
9
-
10
-    <div>
11
-      <van-form @submit="onSubmit">
12
-        <van-field
13
-          v-model="state.username"
14
-          name="title"
15
-          label="标题"
16
-          placeholder="请输入"
17
-          required
18
-          :rules="[{ required: true, message: '请填写标题' }]"
19
-        />
20
-        <van-field
21
-          v-model="state.username"
22
-          name="aaaa"
23
-          label="面积"
24
-          placeholder="请输入"
25
-          required
26
-          type="number"
27
-          :rules="[{ required: true, message: '请填写面积' }]"
28
-        >
29
-          <template #extra>
30
-            ㎡
31
-          </template>
32
-        </van-field>
33
-        <van-field
34
-          v-model="state.username"
35
-          name="3333"
36
-          label="套内面积"
37
-          placeholder="请输入"
38
-        />
39
-        <van-field
40
-          v-model="state.username"
41
-          name="title"
42
-          label="户型"
43
-          placeholder="请输入"
44
-          required
45
-          :rules="[{ required: true, message: '请填写楼户比例' }]"
46
-        />
47
-
48
-        <van-field
49
-          v-model="state.username"
50
-          name="title"
51
-          label="楼户比例"
52
-          placeholder="请输入"
53
-          required
54
-          :rules="[{ required: true, message: '请填写楼户比例' }]"
55
-        />
56
-        <Pickerc
57
-          v-model="state.username"
58
-          name="title"
59
-          label="装修"
60
-          required
61
-        ></Pickerc>
62
-        <van-field
63
-          v-model="state.username"
64
-          name="title"
65
-          label="总价"
66
-          placeholder="请输入"
67
-          type="number"
68
-          required
69
-          :rules="[{ required: true, message: '请填写楼户比例' }]"
70
-        >
71
-          <template #extra>
72
-            万元
73
-          </template></van-field
74
-        >
75
-        <Pickerc
76
-          v-model="state.username"
77
-          name="title"
78
-          label="朝向"
79
-          required
80
-        ></Pickerc>
81
-        <Pickerc
82
-          v-model="state.username"
83
-          name="title"
84
-          label="房源来源"
85
-          required
86
-        ></Pickerc>
87
-
88
-        <Pickerc
89
-          v-model="state.username"
90
-          name="title"
91
-          label="建筑类型"
92
-        ></Pickerc>
93
-
94
-        <Pickerc v-model="state.username" name="title" label="电梯"></Pickerc>
95
-
96
-        <Pickerc
97
-          v-model="state.username"
98
-          name="title"
99
-          label="交易属性"
100
-        ></Pickerc>
101
-
102
-        <Pickerc
103
-          v-model="state.username"
104
-          name="title"
105
-          label="房屋用途"
106
-        ></Pickerc>
107
-        <van-field
108
-          v-model="state.username"
109
-          name="title"
110
-          label="建成年代"
111
-          placeholder="请输入"
112
-          :rules="[{ required: true, message: '请填写楼户比例' }]"
113
-        />
114
-        <Pickerc
115
-          v-model="state.username"
116
-          name="title"
117
-          label="抵押信息"
118
-        ></Pickerc>
119
-
120
-        <Pickerc v-model="state.username" name="title" label="税费"></Pickerc>
121
-
122
-        <div style="margin: 16px;">
123
-          <van-button round block type="primary" native-type="submit">
124
-            提交
125
-          </van-button>
126
-        </div>
127
-      </van-form>
128
-    </div>
129
-  </div>
126
+  </x-loading>
130 127
 </template>
131 128
 
132 129
 <script>
133
-import { reactive } from "vue";
134
-
135
-import {
136
-  Icon,
137
-  Popover,
138
-  Row,
139
-  Col,
140
-  Button,
141
-  steps,
142
-  step,
143
-  //   Dialog,
144
-  Form,
145
-  Field,
146
-} from "vant";
147
-import Contextc from "../../../components/contextC";
148
-import { Pickerc } from "../../../components/editCompents";
130
+import { watch } from "vue"
131
+import { useModel } from '@zjxpcyc/vue-tiny-store'
132
+import { useRoute } from 'vue-router'
133
+import RoomBasic from './components/Basic'
149 134
 
150 135
 // import { router } from "../../../router";
151 136
 
152 137
 export default {
153 138
   name: "secondhanddetail",
154 139
   components: {
155
-    [Row.name]: Row,
156
-    [Col.name]: Col,
157
-    [Popover.name]: Popover,
158
-    [Icon.name]: Icon,
159
-    [Button.name]: Button,
160
-    [steps.name]: steps,
161
-    [step.name]: step,
162
-    [Form.name]: Form,
163
-    [Field.name]: Field,
164
-    Pickerc: Pickerc,
165
-    Contextc: Contextc,
166
-  },
167
-  data() {
168
-    return {};
140
+    RoomBasic,
169 141
   },
170 142
 
171 143
   setup() {
172
-    const state = reactive({
173
-      username: "",
174
-      password: "",
175
-    });
176
-
177
-    // 房源信息
178
-    const baseInformationOptions = [
179
-      {
180
-        name: "房源编号",
181
-        value: "123",
182
-      },
183
-      {
184
-        name: "楼盘名称",
185
-        value: "123",
186
-      },
187
-      {
188
-        name: "楼盘地址",
189
-        value: "123",
190
-        span: 24,
191
-      },
192
-      {
193
-        name: "栋号",
194
-        value: "123",
195
-        required: true,
196
-      },
197
-      {
198
-        name: "单元",
199
-        value: "123",
200
-        required: true,
201
-      },
202
-      {
203
-        name: "楼层",
204
-        value: "123",
205
-        required: true,
206
-      },
207
-      {
208
-        name: "房号",
209
-        value: "123",
210
-        required: true,
211
-      },
212
-    ];
144
+    const route = useRoute()
145
+    const { detail, getDetail } = useModel('room')
146
+    
147
+    watch(() => route.query.roomId, (nw, od) => {
148
+      if (nw != od && nw) {
149
+        getDetail(nw)
150
+      }
151
+    }, {immediate: true})
152
+
213 153
 
214 154
     const onSubmit = (values) => {
215 155
       console.log("submit", values);
216 156
     };
217 157
 
218 158
     return {
219
-      state,
220 159
       onSubmit,
221
-      baseInformationOptions,
160
+      detail,
222 161
     };
223 162
   },
224 163
 };
@@ -227,7 +166,7 @@ export default {
227 166
 <!-- Add "scoped" attribute to limit CSS to this component only -->
228 167
 <style lang="less" scoped>
229 168
 .secondhanddetail {
230
-  text-align: left;
169
+  // padding: 1em;
231 170
 }
232 171
 .secondhand-main::-webkit-scrollbar {
233 172
   display: none; /*隐藏滚动条*/

+ 2
- 2
vue.config.js Datei anzeigen

@@ -41,8 +41,8 @@ module.exports = {
41 41
             // // 或者可以通过 less 文件覆盖(文件路径为绝对路径)
42 42
             // hack: `true; @import "your-less-file-path.less";`,
43 43
             '@dialog-border-radius': '4px',
44
-            '@nav-bar-icon-color': '#d75e3a',
45
-            '@nav-bar-text-color': '#d75e3a'
44
+            '@nav-bar-icon-color': '#d7693a',
45
+            '@nav-bar-text-color': '#d7693a'
46 46
           },
47 47
         },
48 48
       },