魏熙美 5 лет назад
Родитель
Сommit
0deb327ce4

+ 1
- 1
src/config/api.js Просмотреть файл

@@ -61,7 +61,7 @@ const apis = {
61 61
     getCityName: {
62 62
       method: 'get',
63 63
       url: `${commPrefix}/tdCity?leveltype=2`
64
-    },
64
+    }
65 65
 
66 66
   },
67 67
   dynamic: {

+ 33
- 2
src/views/activity/list.vue Просмотреть файл

@@ -11,6 +11,26 @@
11 11
               <el-option v-for="site in buildings" :label="site.buildingName" :value="site.buildingId" :key="site.buildingId"></el-option>
12 12
            </el-select>
13 13
           </li>
14
+          <li>
15
+             <select-building v-model="filterData.buildingId"></select-building>
16
+          </li>
17
+           <li>
18
+                <el-date-picker
19
+                        v-model="filterData.time"
20
+                        type="datetime"
21
+                        placeholder="活动时间">
22
+                </el-date-picker>
23
+           </li>
24
+            <li>
25
+                <el-select v-model="filterData.isEnlist" placeholder="是否报名">
26
+                    <el-option
27
+                            v-for="item in enlistOptions"
28
+                            :key="item.enlist"
29
+                            :label="item.label"
30
+                            :value="item.enlist">
31
+                    </el-option>
32
+                </el-select>
33
+            </li>
14 34
 
15 35
         </ul>
16 36
         <el-button
@@ -104,9 +124,20 @@ export default {
104 124
         pageNum:1,
105 125
         pageSize:10,
106 126
         total:0,
107
-        top:''
127
+        top:'',
128
+        time: '',
129
+        isEnlist: ''
108 130
       },
109
-      
131
+      enlistOptions: [
132
+          {
133
+              label: '已报名',
134
+              enlist: 1
135
+          },
136
+          {
137
+              label: '未报名',
138
+              enlist: 0
139
+          }
140
+      ],
110 141
       buildingForm: {
111 142
         pageNum: 1,
112 143
         pageSize: 100

+ 103
- 14
src/views/building/list.vue Просмотреть файл

@@ -7,11 +7,59 @@
7 7
         </div>
8 8
         <ul>
9 9
           <li>
10
-            <el-input v-model="code" placeholder="楼盘编号"></el-input>
10
+            <el-input v-model="from.code" placeholder="楼盘编号"  style="width: 120px;"></el-input>
11 11
           </li>
12 12
           <li>
13
-            <el-input v-model="name" placeholder="楼盘名称"></el-input>
13
+            <el-input v-model="from.name" placeholder="楼盘名称"></el-input>
14 14
           </li>
15
+          <li>
16
+            <el-date-picker
17
+                    v-model="from.startDate"
18
+                    type="datetime"
19
+                    placeholder="开盘时间">
20
+            </el-date-picker>
21
+          </li>
22
+          <li>
23
+            <el-select v-model="from.buildingStatus" placeholder="楼盘状态"  style="width: 120px;">
24
+              <el-option
25
+                      v-for="item in statusOptions"
26
+                      :key="item.buildingStatus"
27
+                      :label="item.label"
28
+                      :value="item.buildingStatus">
29
+              </el-option>
30
+            </el-select>
31
+          </li>
32
+          <li>
33
+            <el-select v-model="from.marketStatus" placeholder="销售状态">
34
+              <el-option
35
+                      v-for="item in marketStatusOptions"
36
+                      :key="item.marketStatus"
37
+                      :label="item.label"
38
+                      :value="item.marketStatus">
39
+              </el-option>
40
+            </el-select>
41
+          </li>
42
+          <li>
43
+            <el-select v-model="from.cityId" placeholder="城市">
44
+              <el-option
45
+                      v-for="item in cityList"
46
+                      :key="item.id"
47
+                      :label="item.name"
48
+                      :value="item.id">
49
+              </el-option>
50
+            </el-select>
51
+          </li>
52
+          <li>
53
+            <el-select v-model="from.isMain" placeholder="首页推荐">
54
+              <el-option
55
+                      v-for="item in mainOption"
56
+                      :key="item.value"
57
+                      :label="item.label"
58
+                      :value="item.value">
59
+              </el-option>
60
+            </el-select>
61
+          </li>
62
+
15 63
         </ul>
16 64
         <el-button
17 65
           size="mini"
@@ -97,8 +145,8 @@
97 145
       small
98 146
       style="margin-top:10px;"
99 147
       layout="prev, pager, next"
100
-      :current-page.sync="currentPage"
101
-      :pageSize="pageSize"
148
+      :current-page.sync="from.currentPage"
149
+      :pageSize="from.pageSize"
102 150
       :total="buildings.total || 0"
103 151
       @current-change="getList"
104 152
     >
@@ -114,10 +162,48 @@ import { mapState } from 'vuex'
114 162
 export default {
115 163
   data() {
116 164
     return {
117
-      pageSize: 20,
118
-      currentPage: 1,
119
-      code: '',
120
-      name: ''
165
+      from: {
166
+        pageSize: 20,
167
+        currentPage: 1,
168
+        code: '',
169
+        name: '',
170
+        startDate: '',
171
+        buildingStatus: '',
172
+        marketStatus: '',
173
+        cityId: '',
174
+        isMain: ''
175
+      },
176
+      cityList: [], // 城市列表
177
+      mainOption: [ // 是否首页推荐
178
+        {
179
+          label: '首页推荐',
180
+          value: 1
181
+        },
182
+        {
183
+          label: '未首页推荐',
184
+          value: 0
185
+        }
186
+      ],
187
+      statusOptions: [
188
+        {
189
+          label: '已发布',
190
+          buildingStatus: 1
191
+        },
192
+        {
193
+          label: '未发布',
194
+          buildingStatus: 0
195
+        }
196
+      ],
197
+      marketStatusOptions: [
198
+        {
199
+          label: '已销售',
200
+          marketStatus: 1
201
+        },
202
+        {
203
+          label: '未销售',
204
+          marketStatus: 0
205
+        }
206
+      ]
121 207
     }
122 208
   },
123 209
   computed: {
@@ -158,12 +244,7 @@ export default {
158 244
     //   }
159 245
     // },
160 246
     getList () {
161
-      this.getBuildings({
162
-        pageNum: this.currentPage,
163
-        pageSize: this.pageSize,
164
-        code: this.code,
165
-        name: this.name
166
-      })
247
+      this.getBuildings(this.from)
167 248
     },
168 249
     search () {
169 250
       this.currentPage = 1
@@ -221,10 +302,18 @@ export default {
221 302
           this.getList()
222 303
         })
223 304
       })
305
+    },
306
+    getCityName() { // 查询城市
307
+      this.$store.dispatch('building/getCityName').then((res) => {
308
+        this.cityList = res
309
+      }).catch((err) => {
310
+        this.$notify.error(err.msg || err.message)
311
+      })
224 312
     }
225 313
   },
226 314
   created () {
227 315
     this.getList()
316
+    this.getCityName()
228 317
   }
229 318
 }
230 319
 </script>

+ 28
- 13
src/views/carouselFigure/advertisement.vue Просмотреть файл

@@ -5,12 +5,15 @@
5 5
         <div class="flex-item flex-h">
6 6
           <el-button size="mini" type="success" @click='addDynamic'>新增</el-button>
7 7
         </div>
8
-        <el-select v-model="buildingId" placeholder="请选择" @change="getList">
8
+        &nbsp;
9
+        <select-building v-model="form.buildingId"></select-building>
10
+        &nbsp;
11
+        <el-select v-model="form.contentType" placeholder="类型" @change="getList">
9 12
           <el-option
10
-                  v-for="item in buildingList"
11
-                  :key="item.buildingId"
12
-                  :label="item.buildingName"
13
-                  :value="item.buildingId">
13
+                  v-for="item in contentTypeOption"
14
+                  :key="item.value"
15
+                  :label="item.label"
16
+                  :value="item.value">
14 17
           </el-option>
15 18
         </el-select>
16 19
       </div>
@@ -64,8 +67,8 @@
64 67
             small
65 68
             style="margin-top:10px;"
66 69
             layout="prev, pager, next"
67
-            :current-page.sync="currentPage"
68
-            :pageSize="pageSize"
70
+            :current-page.sync="form.currentPage"
71
+            :pageSize="form.pageSize"
69 72
             :total="carouselList.total || 0"
70 73
             @current-change="getList"
71 74
     >
@@ -99,6 +102,23 @@
99 102
           pageNum: 1,
100 103
           pageSize: 100
101 104
         },
105
+        form: {
106
+          pageNum: 1,
107
+          pageSize: 1000,
108
+          buildingId: '',
109
+          showType: 'screen',
110
+          contentType: '',
111
+        },
112
+        contentTypeOption: [
113
+          {
114
+            label: '资讯',
115
+            value: 'news'
116
+          },
117
+          {
118
+            label: '其他',
119
+            value: 'other'
120
+          }
121
+        ],
102 122
       };
103 123
     },
104 124
     computed: {
@@ -122,12 +142,7 @@
122 142
       },
123 143
 
124 144
       getList() {
125
-        this.getExtendContent({
126
-          pageNum: this.currentPage,
127
-          pageSize: this.pageSize,
128
-          buildingId: this.buildingId,
129
-          showType: 'screen'
130
-        });
145
+        this.getExtendContent(this.form);
131 146
       },
132 147
       getBuildingName(id) {
133 148
         return (

+ 71
- 11
src/views/carouselFigure/list.vue Просмотреть файл

@@ -5,14 +5,36 @@
5 5
         <div class="flex-item flex-h">
6 6
           <el-button size="mini" type="success" @click='addDynamic'>新增</el-button>
7 7
         </div>
8
-        <el-select v-model="buildingId" placeholder="请选择" @change="getList">
8
+        &nbsp;
9
+        <select-building v-model="form.buildingId"></select-building>
10
+        &nbsp;
11
+        <el-select v-model="form.contentType" placeholder="类型" @change="getList">
9 12
           <el-option
10
-                  v-for="item in buildingList"
11
-                  :key="item.buildingId"
12
-                  :label="item.buildingName"
13
-                  :value="item.buildingId">
13
+                  v-for="item in contentTypeOption"
14
+                  :key="item.value"
15
+                  :label="item.label"
16
+                  :value="item.value">
14 17
           </el-option>
15 18
         </el-select>
19
+        &nbsp;
20
+        <el-select v-model="form.showPosition" placeholder="发布位置" @change="getList">
21
+          <el-option
22
+                  v-for="item in showPositionOption"
23
+                  :key="item.value"
24
+                  :label="item.label"
25
+                  :value="item.value">
26
+          </el-option>
27
+        </el-select>
28
+        &nbsp;
29
+        <el-select v-model="form.status" placeholder="状态" @change="getList">
30
+          <el-option
31
+                  v-for="item in statusOption"
32
+                  :key="item.value"
33
+                  :label="item.label"
34
+                  :value="item.value">
35
+          </el-option>
36
+        </el-select>
37
+
16 38
       </div>
17 39
       <div class="moreFilter"></div>
18 40
     </div>
@@ -105,6 +127,49 @@ export default {
105 127
         pageNum: 1,
106 128
         pageSize: 100
107 129
       },
130
+      form: {
131
+        pageNum: 1,
132
+        pageSize: 100,
133
+        buildingId: '',
134
+        showType: 'banner',
135
+        contentType: '',
136
+        showPosition: '',
137
+        status: ''
138
+      },
139
+      contentTypeOption: [
140
+        {
141
+          label: '活动',
142
+          value: 'activity'
143
+        },
144
+        {
145
+          label: '项目',
146
+          value: 'project'
147
+        },
148
+        {
149
+          label: '资讯',
150
+          value: 'news'
151
+        }
152
+      ],
153
+      showPositionOption: [
154
+        {
155
+          label: '商城',
156
+          value: 'mall'
157
+        },
158
+        {
159
+          label: '首页',
160
+          value: 'index'
161
+        },
162
+      ],
163
+      statusOption: [
164
+        {
165
+          label: '启用',
166
+          value: 1
167
+        },
168
+        {
169
+          label: '停用',
170
+          value: 0
171
+        }
172
+      ]
108 173
     };
109 174
   },
110 175
   computed: {
@@ -128,12 +193,7 @@ export default {
128 193
     },
129 194
 
130 195
     getList() {
131
-      this.getExtendContent({
132
-        pageNum: this.currentPage,
133
-        pageSize: this.pageSize,
134
-        buildingId: this.buildingId,
135
-        showType: 'banner'
136
-      });
196
+      this.getExtendContent(this.form);
137 197
     },
138 198
     getBuildingName(id) {
139 199
       return (

+ 24
- 8
src/views/customer/list.vue Просмотреть файл

@@ -4,20 +4,26 @@
4 4
       <div class="flex-h">
5 5
         <ul>
6 6
           <li>
7
-            <span>姓名</span>
8
-            <el-input v-model="form.name" ></el-input>
7
+            <el-input v-model="form.name" placeholder="姓名"></el-input>
9 8
           </li>
10 9
           <li>
11
-            <span>电话</span>
12
-            <el-input v-model="form.tel" ></el-input>
10
+            <el-input v-model="form.tel" placeholder="电话"></el-input>
13 11
           </li>
14 12
           <li>
15
-            <span>推荐人</span>
16
-            <el-input v-model="form.consultName" ></el-input>
13
+            <el-input v-model="form.consultName" placeholder="推荐人"></el-input>
17 14
           </li>
18 15
           <li>
19
-            <span>推荐人电话</span>
20
-            <el-input v-model="form.consultTel" ></el-input>
16
+            <el-input v-model="form.consultTel" placeholder="推荐人电话"></el-input>
17
+          </li>
18
+          <li>
19
+            <el-select v-model="form.sex" placeholder="性别">
20
+              <el-option
21
+                      v-for="item in sexOptions"
22
+                      :key="item.value"
23
+                      :label="item.label"
24
+                      :value="item.value">
25
+              </el-option>
26
+            </el-select>
21 27
           </li>
22 28
         </ul>
23 29
         <el-button
@@ -157,6 +163,16 @@
157 163
           consultTel: '',
158 164
           verifyStatus: '1' // 0未通过 1已通过 2已驳
159 165
         },
166
+        sexOptions: [ // 性别
167
+          {
168
+            label: '男',
169
+            value: 1
170
+          },
171
+          {
172
+            label: '女',
173
+            value: 2
174
+          }
175
+        ],
160 176
         list: [],
161 177
         total: 0,
162 178
         sex: "",

+ 33
- 2
src/views/goods/list.vue Просмотреть файл

@@ -9,6 +9,26 @@
9 9
           <li>
10 10
             <el-input v-model="filterData.goodsName" placeholder="商品名称"></el-input>
11 11
           </li>
12
+          <li>
13
+            <el-select v-model="filterData.status" clearable placeholder="状态">
14
+              <el-option
15
+                      v-for="item in options"
16
+                      :key="item.value"
17
+                      :label="item.label"
18
+                      :value="item.value">
19
+              </el-option>
20
+            </el-select>
21
+          </li>
22
+          <li>
23
+            <select-building v-model="filterData.buildingId"></select-building>
24
+          </li>
25
+          <li>
26
+            <el-input v-model="filterData.priceLesser" placeholder="价格小" style="width: 100px;"/>
27
+          </li>
28
+
29
+          <li>
30
+            <el-input v-model="filterData.priceGreater" placeholder="价格大" style="width: 100px;"/>
31
+          </li>
12 32
 
13 33
         </ul>
14 34
         <el-button
@@ -87,14 +107,25 @@ export default {
87 107
   data() {
88 108
     return {
89 109
       filterData: {
90
-        goodsName: ""
110
+        goodsName: "",
111
+        status: '',
112
+        buildingId: '',
113
+        priceLesser: '',
114
+        priceGreater: ''
91 115
       },
92 116
       list: [],
93 117
       pageNavi: {
94 118
         current: 1,
95 119
         size: 20,
96 120
         total: 0
97
-      }
121
+      },
122
+      options: [{
123
+        value: 1,
124
+        label: '已上架'
125
+      }, {
126
+        value: 0,
127
+        label: '已下架'
128
+      }],
98 129
     };
99 130
   },
100 131
   computed: {},

+ 54
- 4
src/views/news/index.vue Просмотреть файл

@@ -3,7 +3,7 @@
3 3
         <div class="operation-class">
4 4
            <el-button type="primary" @click="ediNewsType">新增</el-button>
5 5
             &nbsp;
6
-            <el-select v-model="form.buildingId" placeholder="项目" @change="getList">
6
+            <el-select v-model="form.buildingId" placeholder="项目" @change="getChangeList">
7 7
                 <el-option
8 8
                         v-for="item in buildingList"
9 9
                         :key="item.buildingId"
@@ -11,6 +11,24 @@
11 11
                         :value="item.buildingId">
12 12
                 </el-option>
13 13
             </el-select>
14
+            &nbsp;
15
+            <el-select v-model="form.newsTypeId" placeholder="资讯类型" @change="getList">
16
+                <el-option
17
+                        v-for="item in typeList"
18
+                        :key="item.newsTypeId"
19
+                        :label="item.newsTypeName"
20
+                        :value="item.newsTypeId">
21
+                </el-option>
22
+            </el-select>
23
+            &nbsp;
24
+            <el-select v-model="form.newsStatus" placeholder="状态" @change="getList">
25
+                 <el-option
26
+                            v-for="item in optionNewsStatus"
27
+                            :key="item.newsStatus"
28
+                            :label="item.name"
29
+                            :value="item.newsStatus">
30
+                 </el-option>
31
+            </el-select>
14 32
         </div>
15 33
         <div class="body">
16 34
             <el-table
@@ -104,19 +122,38 @@
104 122
                 form: {
105 123
                     buildingId: '',
106 124
                     pageNum: 1,
107
-                    pageSize: 10
125
+                    pageSize: 10,
126
+                    newsTypeId: '',
127
+                    newsStatus: ''
108 128
                 },
109 129
                 buildingForm: {
110 130
                     pageNum: 1,
111 131
                     pageSize: 100
112 132
                 },
113 133
                 total: 0,
114
-                list: []
134
+                list: [],
135
+                typeList: [],
136
+                typeForm: {
137
+                    buildingId: '',
138
+                    pageNum: 1,
139
+                    pageSize: 100
140
+                },
141
+                optionNewsStatus: [
142
+                    {
143
+                        name: '已发布',
144
+                        newsStatus: 0
145
+                    },
146
+                    {
147
+                        name: '未发布',
148
+                        newsStatus: 1
149
+                    }
150
+                ],
115 151
             }
116 152
         },
117 153
         created() {
118 154
           this.getList()
119 155
           this.getBuildList()
156
+          this.getTypeList()
120 157
         },
121 158
         methods: {
122 159
             formateDate(dt) {
@@ -142,6 +179,10 @@
142 179
                 this.form.pageNum = val
143 180
                 this.getList()
144 181
             },
182
+            getChangeList() { // 项目change事件
183
+                this.getList()
184
+                this.getTypeList()
185
+            },
145 186
             getList() {
146 187
               this.$store.dispatch('news/getList', this.form).then((res) => {
147 188
                 this.list = res.records
@@ -172,7 +213,16 @@
172 213
                 }).catch(() => {
173 214
                     console.log('news/updateType err')
174 215
                 })
175
-            }
216
+            },
217
+            getTypeList() {
218
+                this.typeForm.buildingId = this.form.buildingId
219
+                this.$store.dispatch('news/getTypeList', this.typeForm).then((res) => {
220
+                    this.typeList = res.records
221
+                }).catch((err) => {
222
+                    this.$notify.error(err.msg || err.message);
223
+                    console.log('news/getTypeList err')
224
+                })
225
+            },
176 226
         }
177 227
     }
178 228
 </script>