Kaynağa Gözat

绑定楼盘改动,销售端订单页筛选调整

huangzhe 3 yıl önce
ebeveyn
işleme
c21e1809ae

+ 321 - 312
src/components/page-component/app-area-picker/app-area-picker.vue

xqd
@@ -1,347 +1,356 @@
 <template>
-    <view class="dir-left-nowrap cross-center">
-        <!-- #ifdef MP-WEIXIN || MP-BAIDU || H5 -->
-        <picker class="box-grow-1 area-picker-left"
-                mode="multiSelector"
-                @change="bindMultiPickerChange"
-                @columnchange="bindMultiPickerColumnChange"
-                :value="multiIndex"
-                range-key="name"
-                :range="multiArray">
-            <text v-if="place!==`请选择`" class="address-name-color">{{place}}</text>
-            <text v-else class="address-place-name-color">{{place}}</text>
-        </picker>
-        <!-- #endif -->
+	<view class="dir-left-nowrap cross-center">
+		<!-- #ifdef MP-WEIXIN || MP-BAIDU || H5 -->
+		<picker class="box-grow-1 area-picker-left" mode="multiSelector" @change="bindMultiPickerChange"
+			@columnchange="bindMultiPickerColumnChange" :value="multiIndex" range-key="name" :range="multiArray">
+			<slot>
+				<text v-if="place!==`请选择`" class="address-name-color">{{place}}</text>
+				<text v-else class="address-place-name-color">{{place}}</text>
+			</slot>
+		</picker>
+		<!-- #endif -->
 
-        <!-- #ifdef MP-ALIPAY || MP-TOUTIAO -->
-        <view class="area-picker-left" @click="showAreaPicker">
-            <text v-if="place!==`请选择`" class="address-name-color">{{place}}</text>
-            <text v-else class="address-place-name-color">{{place}}</text>
-        </view>
-        <view class="area-picker" :class="area_picker_show">
-            <view class="area-picker-bg" bindtap="hideAreaPicker">
-                <scroll-view></scroll-view>
-            </view>
-            <view class="area-picker-body">
-                <scroll-view>
-                    <view class="area-picker-top">
-                        <text class="area-picker-cancel" @click="hideAreaPicker">取消</text>
-                        <text class="area-picker-confirm" @click="areaPickerConfirm">确认</text>
-                    </view>
-                    <view class="area-picker-row">
-                        <picker-view v-if="multiIndex && multiIndex.length" indicator-style="height: 50px" style="width: 100%; height: 250px;"
-                                     :value="multiIndex" @change="areaPickerChange">
-                            <picker-view-column>
-                                <view v-if="multiArray[0]" v-for="(item,index) in multiArray[0]" :key="index"
-                                      style="line-height: 50px;height: 50px;text-align: center">{{item.name}}
-                                </view>
-                            </picker-view-column>
-                            <picker-view-column>
-                                <view v-if="multiArray[1]" v-for="(item,index) in multiArray[1]" :key="index"
-                                      style="line-height: 50px;height: 50px;text-align: center">{{item.name}}
-                                </view>
-                            </picker-view-column>
-                            <picker-view-column>
-                                <view v-if="multiArray[2]" v-for="(item,index) in multiArray[2]" :key="index"
-                                      style="line-height: 50px;height: 50px;text-align: center">{{item.name}}
-                                </view>
-                            </picker-view-column>
-                        </picker-view>
-                    </view>
-                </scroll-view>
-            </view>
-        </view>
-        <!-- #endif -->
-        <image class="box-grow-0 arrow-image" src="https://shop.9026.com/web/statics/image/mall/static/icon/arrow-right.png"></image>
-    </view>
+		<!-- #ifdef MP-ALIPAY || MP-TOUTIAO -->
+		<view class="area-picker-left" @click="showAreaPicker">
+			<text v-if="place!==`请选择`" class="address-name-color">{{place}}</text>
+			<text v-else class="address-place-name-color">{{place}}</text>
+		</view>
+		<view class="area-picker" :class="area_picker_show">
+			<view class="area-picker-bg" bindtap="hideAreaPicker">
+				<scroll-view></scroll-view>
+			</view>
+			<view class="area-picker-body">
+				<scroll-view>
+					<view class="area-picker-top">
+						<text class="area-picker-cancel" @click="hideAreaPicker">取消</text>
+						<text class="area-picker-confirm" @click="areaPickerConfirm">确认</text>
+					</view>
+					<view class="area-picker-row">
+						<picker-view v-if="multiIndex && multiIndex.length" indicator-style="height: 50px"
+							style="width: 100%; height: 250px;" :value="multiIndex" @change="areaPickerChange">
+							<picker-view-column>
+								<view v-if="multiArray[0]" v-for="(item,index) in multiArray[0]" :key="index"
+									style="line-height: 50px;height: 50px;text-align: center">{{item.name}}
+								</view>
+							</picker-view-column>
+							<picker-view-column>
+								<view v-if="multiArray[1]" v-for="(item,index) in multiArray[1]" :key="index"
+									style="line-height: 50px;height: 50px;text-align: center">{{item.name}}
+								</view>
+							</picker-view-column>
+							<picker-view-column>
+								<view v-if="multiArray[2]" v-for="(item,index) in multiArray[2]" :key="index"
+									style="line-height: 50px;height: 50px;text-align: center">{{item.name}}
+								</view>
+							</picker-view-column>
+						</picker-view>
+					</view>
+				</scroll-view>
+			</view>
+		</view>
+		<!-- #endif -->
+		<slot>
+			<image class="box-grow-0 arrow-image"
+				src="https://shop.9026.com/web/statics/image/mall/static/icon/arrow-right.png"></image>
+		</slot>
+	</view>
 </template>
 
 <script>
-    export default {
-        name: "app-area-picker",
-        props: {
-            ids: {
-                type: Array,
-                default: function () {
-                    return []
-                }
-            }
-        },
-        data() {
-            return {
-                tempIds : this.ids,
-                area_picker_show: '',
-                list: [],
-                multiIndex: [],
-                multiArray: [],
-                place: '',
-            }
-        },
-        created: function () {
-            this.tempIds = this.tempIds.concat();
-        },
-        watch: {
-            ids: {
-                handler:function (newData,oldData){
-                    this.tempIds = this.ids;
-                },
-            },
-            tempIds: {
-                handler:function (newData,oldData){
-                    const self = this;
-                    self.before((data) => {
-                        self.init(data);
-                    })
-                    this.$emit('ids', this.tempIds);
-                },
-                deep: true,
-                immediate: true,
-            },
-        },
+	export default {
+		name: "app-area-picker",
+		props: {
+			ids: {
+				type: Array,
+				default: function() {
+					return []
+				}
+			}
+		},
+		data() {
+			return {
+				tempIds: this.ids,
+				area_picker_show: '',
+				list: [],
+				multiIndex: [],
+				multiArray: [],
+				place: '',
+			}
+		},
+		created: function() {
+			this.tempIds = this.tempIds.concat();
+		},
+		watch: {
+			ids: {
+				handler: function(newData, oldData) {
+					this.tempIds = this.ids;
+				},
+			},
+			tempIds: {
+				handler: function(newData, oldData) {
+					const self = this;
+					self.before((data) => {
+						self.init(data);
+					})
+					this.$emit('ids', this.tempIds);
+				},
+				deep: true,
+				immediate: true,
+			},
+		},
 
-        methods: {
-            //#ifdef MP-ALIPAY || MP-TOUTIAO
-            showAreaPicker: function () {
-                this.area_picker_show = 'active';
-            },
+		methods: {
+			//#ifdef MP-ALIPAY || MP-TOUTIAO
+			showAreaPicker: function() {
+				this.area_picker_show = 'active';
+			},
 
-            hideAreaPicker: function () {
-                this.area_picker_show = '';
-            },
+			hideAreaPicker: function() {
+				this.area_picker_show = '';
+			},
 
-            areaPickerConfirm: function (e) {
-                this.bindMultiPickerChange({detail: {value: this.multiIndex}});
-                this.hideAreaPicker();
-            },
+			areaPickerConfirm: function(e) {
+				this.bindMultiPickerChange({
+					detail: {
+						value: this.multiIndex
+					}
+				});
+				this.hideAreaPicker();
+			},
 
-            areaPickerChange: function (e) {
-                const self = this;
-                if (self.area_picker_show == '') return;
-                let detail = {
-                    column: '',
-                    value: '',
-                };
-                for (let i = 0; i < 3; i++) {
-                    if (e.detail.value[i] !== self.multiIndex[i]) {
-                        detail.column = i;
-                        detail.value = e.detail.value[i];
-                        break;
-                    }
-                }
-                self.multiIndex = e.detail.value;
-                self.bindMultiPickerColumnChange({detail: detail});
-            },
-            //#endif
+			areaPickerChange: function(e) {
+				const self = this;
+				if (self.area_picker_show == '') return;
+				let detail = {
+					column: '',
+					value: '',
+				};
+				for (let i = 0; i < 3; i++) {
+					if (e.detail.value[i] !== self.multiIndex[i]) {
+						detail.column = i;
+						detail.value = e.detail.value[i];
+						break;
+					}
+				}
+				self.multiIndex = e.detail.value;
+				self.bindMultiPickerColumnChange({
+					detail: detail
+				});
+			},
+			//#endif
 
-            before(cb) {
-                const self = this;
-                const district = this.$storage.getStorageSync("_DISTRICT");
-                if (district) {
-                    cb(district);
-                } else {
-                    this.$request({
-                        url: self.$api.default.district,
-                    }).then(info => {
-                        if (info.code === 0) {
-                            this.$storage.setStorageSync("_DISTRICT", info.data.list);
-                            cb(info.data.list);
-                        }
-                    })
-                }
-            },
+			before(cb) {
+				const self = this;
+				const district = this.$storage.getStorageSync("_DISTRICT");
+				if (district) {
+					cb(district);
+				} else {
+					this.$request({
+						url: self.$api.default.district,
+					}).then(info => {
+						if (info.code === 0) {
+							this.$storage.setStorageSync("_DISTRICT", info.data.list);
+							cb(info.data.list);
+						}
+					})
+				}
+			},
 
-            init: function (list) {
-                const null_status = this.tempIds.length === 3 && this.tempIds[0] != 0;
-                const ids = null_status ? this.tempIds : [2, 3, 4];
-                const multiIndex = this.getIndex(list, ids);
-                const multiArray = [
-                    list,
-                    list[multiIndex[0]].list,
-                    list[multiIndex[0]].list[multiIndex[1]].list
-                ];
-                let place = multiArray[0][multiIndex[0]].name
-                    + ','
-                    + multiArray[1][multiIndex[1]].name
-                    + ','
-                    + multiArray[2][multiIndex[2]].name;
+			init: function(list) {
+				const null_status = this.tempIds.length === 3 && this.tempIds[0] != 0;
+				const ids = null_status ? this.tempIds : [2, 3, 4];
+				const multiIndex = this.getIndex(list, ids);
+				const multiArray = [
+					list,
+					list[multiIndex[0]].list,
+					list[multiIndex[0]].list[multiIndex[1]].list
+				];
+				let place = multiArray[0][multiIndex[0]].name +
+					',' +
+					multiArray[1][multiIndex[1]].name +
+					',' +
+					multiArray[2][multiIndex[2]].name;
 
-                /////初始化
-                let eve = [
-                    multiArray[0][multiIndex[0]],
-                    multiArray[1][multiIndex[1]],
-                    multiArray[2][multiIndex[2]],
-                ];
-                ////
-                this.setEvent(eve, null_status);
-                [this.list, this.multiArray, this.multiIndex, this.place] = [list, multiArray, multiIndex, null_status ? place : '请选择']
-            },
+				/////初始化
+				let eve = [
+					multiArray[0][multiIndex[0]],
+					multiArray[1][multiIndex[1]],
+					multiArray[2][multiIndex[2]],
+				];
+				////
+				this.setEvent(eve, null_status);
+				[this.list, this.multiArray, this.multiIndex, this.place] = [list, multiArray, multiIndex,
+					null_status ? place : '请选择'
+				]
+			},
 
-            getIndex: function (list, data) {
-                let arr = [];
-                list.map((item, index) => {
-                    if (data[0] == item.id) arr.push(index)
-                });
+			getIndex: function(list, data) {
+				let arr = [];
+				list.map((item, index) => {
+					if (data[0] == item.id) arr.push(index)
+				});
 
-                list[arr[0]].list.map((item, index) => {
-                    if (data[1] == item.id) arr.push(index)
-                });
+				list[arr[0]].list.map((item, index) => {
+					if (data[1] == item.id) arr.push(index)
+				});
 
-                list[arr[0]].list[arr[1]].list.map((item, index) => {
-                    if (data[2] == item.id) arr.push(index);
-                });
-                return arr;
-            },
+				list[arr[0]].list[arr[1]].list.map((item, index) => {
+					if (data[2] == item.id) arr.push(index);
+				});
+				return arr;
+			},
 
-            bindMultiPickerChange: function (e) {
-                let list = [
-                    this.multiArray[0][e.detail.value[0]],
-                    this.multiArray[1][e.detail.value[1]],
-                    this.multiArray[2][e.detail.value[2]],
-                ];
+			bindMultiPickerChange: function(e) {
+				let list = [
+					this.multiArray[0][e.detail.value[0]],
+					this.multiArray[1][e.detail.value[1]],
+					this.multiArray[2][e.detail.value[2]],
+				];
 
-                let place = list[0].name
-                    + ','
-                    + list[1].name
-                    + ','
-                    + list[2].name;
-                [this.multiIndex, this.place] = [e.detail.value, place];
-                this.setEvent(list);
-            },
+				let place = list[0].name +
+					',' +
+					list[1].name +
+					',' +
+					list[2].name;
+				[this.multiIndex, this.place] = [e.detail.value, place];
+				this.setEvent(list);
+			},
 
-            setEvent: function (list, status = true) {
-                let data = {
-                    province: {
-                        id: list[0].id,
-                        name: list[0].name
-                    },
-                    city: {
-                        id: list[1].id,
-                        name: list[1].name
-                    },
-                    district: {
-                        id: list[2].id,
-                        name: list[2].name
-                    },
-                };
-                this.$emit('customevent', status ? data : null);
-            },
+			setEvent: function(list, status = true) {
+				let data = {
+					province: {
+						id: list[0].id,
+						name: list[0].name
+					},
+					city: {
+						id: list[1].id,
+						name: list[1].name
+					},
+					district: {
+						id: list[2].id,
+						name: list[2].name
+					},
+				};
+				this.$emit('customevent', status ? data : null);
+			},
 
-            bindMultiPickerColumnChange: function (e) {
-                let data = {
-                    multiArray: this.multiArray,
-                    multiIndex: this.multiIndex
-                };
-                data.multiIndex[e.detail.column] = e.detail.value;
-                switch (e.detail.column) {
-                    case 0:
-                        data.multiIndex.splice(1, 1, 0);
-                        data.multiIndex.splice(2, 1, 0);
-                        data.multiArray.splice(1, 1, this.list[data.multiIndex[0]].list);
-                        data.multiArray.splice(2, 1, this.list[data.multiIndex[0]].list[data.multiIndex[1]].list);
-                        break;
-                    case 1:
-                        data.multiIndex.splice(2, 1, 0);
-                        data.multiArray.splice(2, 1, this.list[data.multiIndex[0]].list[data.multiIndex[1]].list);
-                        break;
-                }
-                [this.multiArray, this.multiIndex] = [data.multiArray, data.multiIndex]
-            },
-        },
-    }
+			bindMultiPickerColumnChange: function(e) {
+				let data = {
+					multiArray: this.multiArray,
+					multiIndex: this.multiIndex
+				};
+				data.multiIndex[e.detail.column] = e.detail.value;
+				switch (e.detail.column) {
+					case 0:
+						data.multiIndex.splice(1, 1, 0);
+						data.multiIndex.splice(2, 1, 0);
+						data.multiArray.splice(1, 1, this.list[data.multiIndex[0]].list);
+						data.multiArray.splice(2, 1, this.list[data.multiIndex[0]].list[data.multiIndex[1]].list);
+						break;
+					case 1:
+						data.multiIndex.splice(2, 1, 0);
+						data.multiArray.splice(2, 1, this.list[data.multiIndex[0]].list[data.multiIndex[1]].list);
+						break;
+				}
+				[this.multiArray, this.multiIndex] = [data.multiArray, data.multiIndex]
+			},
+		},
+	}
 </script>
 
 <style scoped lang="scss">
-    .area-picker-left {
-        min-width: #{115rpx};
-        font-size: #{28rpx};
-        padding-right: #{24rpx};
-        line-height: 1.5;
-        margin-left: auto;
+	.area-picker-left {
+		min-width: #{115rpx};
+		font-size: #{28rpx};
+		padding-right: #{24rpx};
+		line-height: 1.5;
+		margin-left: auto;
 
-        .address-name-color {
-            color: #353535;
-        }
+		.address-name-color {
+			color: #353535;
+		}
 
-        .address-place-name-color {
-            color: #999999;
-        }
-    }
+		.address-place-name-color {
+			color: #999999;
+		}
+	}
 
-    .arrow-image {
-        width: #{12rpx};
-        height: #{24rpx};
-    }
+	.arrow-image {
+		width: #{12rpx};
+		height: #{24rpx};
+	}
 
-    /* #ifdef MP-ALIPAY || MP-TOUTIAO  */
-    .area-picker {
-        position: fixed;
-        z-index: 1600;
-        left: 0;
-        top: 0;
-        width: 100%;
-        height: 100%;
-        display: flex;
-        flex-direction: column;
-        transform: translateY(100%);
-        transition: 250ms opacity;
-        opacity: 0;
-        background: rgba(0, 0, 0, .3);
-    }
+	/* #ifdef MP-ALIPAY || MP-TOUTIAO  */
+	.area-picker {
+		position: fixed;
+		z-index: 1600;
+		left: 0;
+		top: 0;
+		width: 100%;
+		height: 100%;
+		display: flex;
+		flex-direction: column;
+		transform: translateY(100%);
+		transition: 250ms opacity;
+		opacity: 0;
+		background: rgba(0, 0, 0, .3);
+	}
 
-    .area-picker.active {
-        transform: translateY(0);
-        opacity: 1;
-    }
+	.area-picker.active {
+		transform: translateY(0);
+		opacity: 1;
+	}
 
-    .area-picker .area-picker-bg {
-        flex-grow: 1;
-        position: relative;
-    }
+	.area-picker .area-picker-bg {
+		flex-grow: 1;
+		position: relative;
+	}
 
-    .area-picker .area-picker-bg > scroll-view {
-        left: 0;
-        top: 0;
-        height: 100%;
-        width: 100%;
-        position: absolute;
-    }
+	.area-picker .area-picker-bg>scroll-view {
+		left: 0;
+		top: 0;
+		height: 100%;
+		width: 100%;
+		position: absolute;
+	}
 
-    .area-picker .area-picker-body {
-        flex-grow: 0;
-        height: #{600rpx};
-        background: #fff;
-        transform: translateY(100%);
-        transition: 250ms transform;
-        position: relative;
-    }
+	.area-picker .area-picker-body {
+		flex-grow: 0;
+		height: #{600rpx};
+		background: #fff;
+		transform: translateY(100%);
+		transition: 250ms transform;
+		position: relative;
+	}
 
-    .area-picker.active .area-picker-body {
-        transform: translateY(0);
-    }
+	.area-picker.active .area-picker-body {
+		transform: translateY(0);
+	}
 
-    .area-picker .area-picker-body > scroll-view {
-        left: 0;
-        top: 0;
-        height: 100%;
-        width: 100%;
-        position: absolute;
-    }
+	.area-picker .area-picker-body>scroll-view {
+		left: 0;
+		top: 0;
+		height: 100%;
+		width: 100%;
+		position: absolute;
+	}
 
-    .area-picker .area-picker-cancel,
-    .area-picker .area-picker-confirm {
-        display: inline-block;
-        padding: #{24rpx};
-        color: #888;
-    }
+	.area-picker .area-picker-cancel,
+	.area-picker .area-picker-confirm {
+		display: inline-block;
+		padding: #{24rpx};
+		color: #888;
+	}
 
-    .area-picker .area-picker-confirm {
-        float: right;
-        color: #00aa00;
-    }
+	.area-picker .area-picker-confirm {
+		float: right;
+		color: #00aa00;
+	}
 
-    .area-picker .area-picker-row {
-        width: 100%;
-        height: #{500rpx};
-    }
-    /* #endif */
-</style>
+	.area-picker .area-picker-row {
+		width: 100%;
+		height: #{500rpx};
+	}
+
+	/* #endif */
+</style>

+ 6 - 1
src/components/page-component/app-user-center-top/app-user-center-top.vue

xqd xqd
@@ -276,7 +276,7 @@
 					</app-form-id>
 				</template>
 			</view>
-			<view class="box-grow-0 address-container">
+			<view class="box-grow-0 address-container" @click="personInfo">
 				<image style="width: 32rpx;height: 34rpx;" src="https://t17.9026.com/web/statics/image/index/arrow_right.png" mode=""></image>
 			</view>
 		</view>
@@ -355,6 +355,11 @@
 		},
 		// #endif
 		methods: {
+			personInfo(){
+				uni.navigateTo({
+					url:'/pages/sale/salePersonInfo'
+				})
+			},
 			callLogin() {
 				this.$store.dispatch('user/accessToken');
 			},

+ 97 - 86
src/pages.json

xqd xqd xqd xqd xqd xqd
@@ -10,25 +10,22 @@
 			}
 		}
 
-	    ,{
-            "path" : "pages/index/binding/binding",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "绑定楼盘",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-        ,{
-            "path" : "pages/index/binding/bindingSale",
-            "style" :                                                                                    
-            {
-                "navigationBarTitleText": "绑定销售",
-                "enablePullDownRefresh": false
-            }
-            
-        }
-    ],
+		, {
+			"path": "pages/index/binding/binding",
+			"style": {
+				"navigationBarTitleText": "绑定楼盘",
+				"enablePullDownRefresh": false
+			}
+
+		}, {
+			"path": "pages/index/binding/bindingSale",
+			"style": {
+				"navigationBarTitleText": "绑定销售",
+				"enablePullDownRefresh": false
+			}
+
+		}
+	],
 	"globalStyle": {
 		"navigationBarTextStyle": "black",
 		"navigationBarTitleText": "",
@@ -61,66 +58,63 @@
 			}
 		]
 	},
-	"subPackages": [
-		{
+	"subPackages": [{
 			"root": "pages/case",
-			"pages": [
-				{
-					"path": "hot_sale_project",
-					"style": {
-						"navigationBarTitleText": "热销方案",
-						"enablePullDownRefresh": false,
-						"navigationStyle": "custom"
-					}
-				
-				}, {
-					"path": "projectInfo",
-					"style": {
-						"navigationBarTitleText": "方案详情",
-						"enablePullDownRefresh": false,
-						"navigationStyle": "custom"
-					}
-				
-				}, {
-					"path": "selectedCases",
-					"style": {
-						"navigationBarTitleText": "精选案例",
-						"enablePullDownRefresh": false,
-						"navigationBarBackgroundColor": "#ffffff"
-					}
-				
-				}, {
-					"path": "caseDetails",
-					"style": {
-						"navigationBarTitleText": "案例详情",
-						"enablePullDownRefresh": false,
-						"navigationStyle": "custom"
-					}
-				
-				}, {
-					"path": "appointment/appointment",
-					"style": {
-						"navigationBarTitleText": "预约",
-						"enablePullDownRefresh": false
-					}
-				
-				}, {
-					"path": "appointment/appointment-form",
-					"style": {
-						"navigationBarTitleText": "预约",
-						"enablePullDownRefresh": false,
-						"navigationStyle": "custom"
-					}
-				
-				}, {
-					"path": "themeArea",
-					"style": {
-						"navigationBarTitleText": "主题专区",
-						"enablePullDownRefresh": false
-					}
-				
+			"pages": [{
+				"path": "hot_sale_project",
+				"style": {
+					"navigationBarTitleText": "热销方案",
+					"enablePullDownRefresh": false,
+					"navigationStyle": "custom"
 				}
-			]
+
+			}, {
+				"path": "projectInfo",
+				"style": {
+					"navigationBarTitleText": "方案详情",
+					"enablePullDownRefresh": false,
+					"navigationStyle": "custom"
+				}
+
+			}, {
+				"path": "selectedCases",
+				"style": {
+					"navigationBarTitleText": "精选案例",
+					"enablePullDownRefresh": false,
+					"navigationBarBackgroundColor": "#ffffff"
+				}
+
+			}, {
+				"path": "caseDetails",
+				"style": {
+					"navigationBarTitleText": "案例详情",
+					"enablePullDownRefresh": false,
+					"navigationStyle": "custom"
+				}
+
+			}, {
+				"path": "appointment/appointment",
+				"style": {
+					"navigationBarTitleText": "预约",
+					"enablePullDownRefresh": false
+				}
+
+			}, {
+				"path": "appointment/appointment-form",
+				"style": {
+					"navigationBarTitleText": "预约",
+					"enablePullDownRefresh": false,
+					"navigationStyle": "custom"
+				}
+
+			}, {
+				"path": "themeArea",
+				"style": {
+					"navigationBarTitleText": "主题专区",
+					"enablePullDownRefresh": false
+				}
+
+			}]
 		},
 		{
 			"root": "pages/sale",
@@ -172,7 +166,7 @@
 					"style": {
 						"navigationBarTitleText": "我的订单",
 						"enablePullDownRefresh": false,
-						"navigationBarBackgroundColor":"#fff"
+						"navigationBarBackgroundColor": "#fff"
 					}
 
 				}, {
@@ -191,7 +185,17 @@
 					}
 
 				}
-			]
+			    ,{
+                    "path" : "salePersonInfo",
+                    "style" :                                                                                    
+                {
+                    "navigationBarTitleText": "个人信息",
+                    "enablePullDownRefresh": false,
+					"navigationBarBackgroundColor": "#fff"
+                }
+                
+                }
+            ]
 		},
 		// {
 		// 	"root": "plugins/fission",
@@ -492,6 +496,14 @@
 						"enablePullDownRefresh": false
 					}
 
+				}, {
+					"path": "about-mall/ComplaintsSuggestions",
+					"style": {
+						"navigationBarTitleText": "投诉建议",
+						"enablePullDownRefresh": false,
+						"navigationBarBackgroundColor": "#fff"
+					}
+
 				}
 			]
 		},
@@ -614,16 +626,15 @@
 						"enablePullDownRefresh": false
 					}
 
-				}
-			    ,{
-                    "path" : "invoice/invoiceAddr",
-                    "style" :  {
+				}, {
+					"path": "invoice/invoiceAddr",
+					"style": {
 						"navigationBarTitleText": "发票收货地址",
 						"enablePullDownRefresh": false
 					}
-                
-                }
-            ]
+
+				}
+			]
 		},
 		{
 			"root": "pages/poster",

+ 0 - 34
src/pages/case/components/hxj-bd-info.vue

xqd xqd
@@ -49,56 +49,24 @@
 		name: "u-info",
 		props: {
 			name: String,
-			subtitle: String,
-			isNegotiable: Number,
 			theme: Object,
-			flashSale: Object,
-			levelShow: Number,
 			price: {
 				type: [Number, String]
 			},
 			originalPrice: {
 				type: [Number, String]
 			},
-			priceMax: Number,
-			priceMin: Number,
-			priceMemberMax: Number,
-			priceMemberMin: Number,
-			isShowMember: {
-				type: Boolean,
-				default () {
-					return true;
-				}
-			},
-			discount: {
-				type: [Number, String]
-			},
-			isVipCardUser: {
-				type: Number,
-				default () {
-					return 0;
-				}
-			},
 			sales: {
 				type: [Number, String]
 			},
-			unit: String,
-			isSales: Number,
 			goodsId: Number,
 			goods: Object,
-			isVip: Boolean,
 			isShowShare: {
 				type: Boolean,
 				default () {
 					return true;
 				}
 			},
-			isProcess: {
-				type: Boolean,
-				default () {
-					return false;
-				}
-			},
 			posterConfig: String,
 			posterGenerate: String,
 			hasPosterNav: {
@@ -111,8 +79,6 @@
 			appShareTitle: String,
 			appSharePic: String,
 			extraQuickShare: Object,
-			minNumber: Number,
-			limitBuy: Object,
 			hasUnderlinePrice: {
 				type: [Boolean, String],
 				default: true

+ 22 - 65
src/pages/case/projectInfo.vue

xqd xqd xqd xqd xqd xqd xqd
@@ -19,24 +19,21 @@
 					</view>
 				</view>
 				<hxj-scroll-list :itemWidth="'168rpx'" :itemHeight="'168rpx'" :list="list"></hxj-scroll-list>
-				<hxj-bd-info :theme="getTheme" :name="name" :is-negotiable="is_negotiable" :subtitle="subtitle"
-					:flash-sale="flash_sale" :level-show="level_show" :price="price" :original-price="original_price"
-					:price-max="price_max" :price-min="price_min" :price-member-max="price_member_max"
-					:price-member-min="price_member_min" :discount="discount" :is-vip-card-user="is_vip_card_user"
-					:sales="sales" :is-vip="is_vip" :unit="unit" :is-sales="is_sales" :goods-id="goodsId"
-					:extra-quick-share="extra_quick_share"
+				<hxj-bd-info :theme="getTheme" :name="name" :price="price" :original-price="original_price"
+					:sales="sales" :goods-id="goodsId" :extra-quick-share="extra_quick_share"
 					:app-share-pic="app_share_pic ? app_share_pic : goods.pic_url[0].pic_url"
 					:app-share-title="app_share_title ? app_share_title : name"
 					:poster-config="poster_config + `&goods_id=` + goodsId"
-					:poster-generate="poster_generate + `&goods_id=` + goodsId" :has-poster-nav="true"
-					v-bind:goods="goods" @share="hShareAppMessage" @quickShare="quickShare" :limit-buy="limit_buy"
-					:min-number="min_number" @receive="receive"></hxj-bd-info>
+					:poster-generate="poster_generate + `&goods_id=` + goodsId" :has-poster-nav="true" :goods="goods"
+					@share="hShareAppMessage" @quickShare="quickShare" @receive="receive"></hxj-bd-info>
 				<view class="hxj-goods-list" :style="{ height: isOpen ? 'auto' : '270rpx' }">
 					<view class="main-between" style="width: 560rpx;">
 						<view class="title">套装内商品</view>
 						<view class="title">数量</view>
 					</view>
-					<view class="main-between item" v-for="(item, index) in ['ins风高档皮质沙发','歌尚雅新款单人沙发布艺小户型客厅','梵瑟 北欧全实木沙发组合新中式现代简约','梵瑟 北欧全实木沙发组合新中式现代简约','客厅家用茶几桌轻奢现代小户型']" :key="index">
+					<view class="main-between item"
+						v-for="(item, index) in ['ins风高档皮质沙发','歌尚雅新款单人沙发布艺小户型客厅','梵瑟 北欧全实木沙发组合新中式现代简约','梵瑟 北欧全实木沙发组合新中式现代简约','客厅家用茶几桌轻奢现代小户型']"
+						:key="index">
 						<view class="main-between" style="width: 560rpx;">
 							<view class="name t-omit">{{item}}</view>
 							<view class="num">x1</view>
@@ -56,50 +53,9 @@
 			</view>
 
 			<!--商品优惠券-->
-			<bd-coupon @change="setCoupon" @on-show-change="val => {isCouponShow = val}" :isCustomEntry="true" :myShow="isCouponShow" :theme="getTheme" :coupons="goods_coupon_center"></bd-coupon>
-			<!--商品规格-->
-			<!-- <bd-xbc
-                :coAttr="is_open == 1 && exchangeStatus ==null ? 1 : 0"
-                :attr-list="checked && checked.attr_list"
-                :type="goodsType"
-                :guarantee-title="guarantee_title"
-                :guarantee-pic="guarantee_pic"
-                :param_content="param_content"
-                :param_name="param_name"
-                :services="services"
-                :attr-groups="attr_groups"
-                :goods-stock="goods_num"
-                @openAttr="clickAttr"
-            ></bd-xbc> -->
-			<!--商品信息-->
-			<!-- <bd-hc
-                :integral="goods_marketing_award.integral"
-                :coupon="goods_marketing_award.coupon"
-                :card="goods_marketing_award.card"
-                :balance="goods_marketing_award.balance"
-                :theme="getTheme"
-            ></bd-hc>
-            <bd-kb
-                :limit="goods_marketing.limit"
-                :express="express"
-                :shipping="goods_marketing.shipping"
-                :pickup="goods_marketing.pickup"
-            ></bd-kb> -->
-			<!--套餐组合-->
-			<!-- <view @click="toComposition" class="goods-composition" v-if="composition && composition.list.length > 0">
-                <view class="goods-composition-title">套餐组合</view>
-                <uni-swiper-dot :current="current" :theme="getTheme" :info="composition.list" mode="customize">
-                    <swiper @change="change" class="goods-composition-swiper" :current="current" :autoplay="true">
-                        <swiper-item v-for="item in composition.list" :key="item.id">
-                            <app-composition :theme="getTheme"  @click="toComposition(item)" @look="toComposition(item)" :item="item"></app-composition>
-                        </swiper-item>
-                    </swiper>
-                </uni-swiper-dot>
-                <view class="goods-composition-more main-between cross-center">
-                    <view>更多套餐组合</view>
-                    <image src="https://shop.9026.com/web/statics/image/mall/static/icon/arrow-right.png"></image>
-                </view>
-            </view> -->
+			<bd-coupon @change="setCoupon" @on-show-change="val => {isCouponShow = val}" :isCustomEntry="true"
+				:myShow="isCouponShow" :theme="getTheme" :coupons="goods_coupon_center"></bd-coupon>
+
 			<!-- <bd-comments :goods-id="goodsId"></bd-comments> -->
 			<!--商品详情-->
 			<bd-detail :detail="detail"></bd-detail>
@@ -126,6 +82,7 @@
 							<text class="bd-text">首页</text>
 						</view>
 						<template v-if="is_negotiable !== 1">
+							<!-- 客服组件 -->
 							<bd-service :name="name" :url="sendPath"></bd-service>
 						</template>
 						<view class="bd-back dir-top-nowrap main-center cross-center box-grow-0" @click="setFavorite">
@@ -515,8 +472,8 @@
 		},
 		// #endif
 		methods: {
-			receive(){
-				this.isCouponShow=true
+			receive() {
+				this.isCouponShow = true
 			},
 			onCouponShow(val) {
 				console.log(val);
@@ -585,13 +542,13 @@
 			},
 			loadData(id, options) {
 				this.$request({
-					url:this.$api.composition.info,
-					data:{
-						composition_id:id
+					url: this.$api.composition.info,
+					data: {
+						composition_id: id
 					},
-					method:'post'
-				}).then(res=>{
-					 
+					method: 'post'
+				}).then(res => {
+
 				})
 				return new Promise((resolve, reject) => {
 					this.$showLoading();
@@ -717,7 +674,7 @@
 							this.$hideLoading();
 						});
 				});
-				
+
 			},
 			onAttr(data) {
 				this.selectAttr = data;
@@ -1005,8 +962,8 @@
 			line-height: 70upx;
 			text-align: center;
 		}
-	
-	.tel {
+
+		.tel {
 			border-top-left-radius: 35upx;
 			border-bottom-left-radius: 35upx;
 		}

+ 3 - 0
src/pages/cats/cats.vue

xqd
@@ -703,6 +703,9 @@
                 }
             }
         },
+		onShow(){
+			uni.hideHomeButton()
+		},
         onLoad(options) { this.$commonLoad.onload(options);
             this.$commonLoad.onload();
 

+ 199 - 22
src/pages/index/binding/binding.vue

xqd xqd xqd xqd
@@ -1,36 +1,53 @@
 <template>
 	<view>
-		<view class="main-between cross-center lp">
+		<view class="properties_list">
+			<view class="item main-left" v-for="(item,index) in dataList">
+				<view class="left">
+					<image :src="item.cover_img" mode=""></image>
+				</view>
+				<view class="main-between-y right ">
+					<view class="title">{{item.name}}</view>
+					<view class="addr">{{item.address}}</view>
+					<view class="content t-omit-two" v-html="item.details"></view>
+				</view>
+				<image class="bg" src="https://t17.9026.com/web/statics/image/sale/properties_gradual.png" mode="">
+				</image>
+			</view>
+		</view>
+		<!-- <view class="main-between cross-center lp">
 			<view class="name">世龙广场</view>
 			<image src="https://t17.9026.com/web/statics/image/index/arrow-down-bottom.png" mode=""></image>
-		</view>
+		</view> -->
 		<view class="form-box">
 			<view class="title">楼盘信息</view>
 			<view class="main-between cross-center item" @click="selectBuild">
 				<view class="title_1">楼盘名称</view>
 				<view class="main-right cross-center">
-					<text class="pla">请选择</text>
-					<image class="arrow-right" src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png" mode=""></image>
+					<text :class="{'val':name!=='','pla':name===''}">{{name===''?'请选择':name}}</text>
+					<image class="arrow-right" src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png"
+						mode=""></image>
 				</view>
 			</view>
 			<view class="line"></view>
-			<picker mode="region" @change="bindPickerRegion">
-				<view class="main-between cross-center item">
+			<AppAreaPicker @customevent="areaEvent">
+				<view class="main-between cross-center item" style="padding-right: 8rpx;">
 					<view class="title_1">区域信息</view>
 					<view class="main-right cross-center">
-						<text :class="{'val':region!=='请选择','pla':region==='请选择'}">{{region}}</text>
-						<image class="arrow-right" src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png" mode="">
+						<text :class="{'val':region!=='','pla':region===''}">{{region?region:'请选择'}}</text>
+						<image class="arrow-right"
+							src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png" mode="">
 						</image>
 					</view>
 				</view>
-			</picker>
+			</AppAreaPicker>
 			<view class="line"></view>
 			<picker mode="selector" @change="bindPickerNature" :range="natureList">
 				<view class="main-between cross-center item">
 					<view class="title_1">楼盘性质</view>
 					<view class="main-right cross-center">
-						<text :class="{'val':nature!=='请选择','pla':nature==='请选择'}">{{nature}}</text>
-						<image class="arrow-right" src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png" mode="">
+						<text :class="{'val':nature!=='','pla':nature===''}">{{nature?nature:'请选择'}}</text>
+						<image class="arrow-right"
+							src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png" mode="">
 						</image>
 					</view>
 				</view>
@@ -38,27 +55,121 @@
 			<view class="line"></view>
 			<view class="main-between cross-center item" @click="selectSale">
 				<view class="title_1">绑定销售</view>
-				<view class="main-right cross-center" >
-					<text class="pla">请选择</text>
-					<image class="arrow-right" src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png" mode=""></image>
+				<view class="main-right cross-center">
+					<text :class="{'val':sale!=='','pla':sale===''}">{{sale?sale:'请选择'}}</text>
+					<image class="arrow-right" src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png"
+						mode=""></image>
 				</view>
 			</view>
 		</view>
-		<button type="default" :class="{'add':true, 'allow-add':true, 'not-add':false}" :disabled="fasle">添加楼盘</button>
+		<button type="default" @click="addmyEstate" :class="{'add':true, 'allow-add':true, 'not-add':false}"
+			:disabled="fasle">添加楼盘</button>
 	</view>
 </template>
 
 <script>
+	import AppAreaPicker from "@/components/page-component/app-area-picker/app-area-picker.vue"
 	export default {
+		components: {
+			AppAreaPicker
+		},
 		data() {
 			return {
-				region: '请选择',
-				nature: '请选择',
+				name: '',
+				region: '',
+				nature: '',
+				sale: '',
 
-				natureList: ['住宅用房', '非住宅用房']
+				natureList: ['住宅用房', '非住宅用房'],
+
+				dataList: [{
+					address: "中国四川省成都市金牛区蜀跃路",
+					area_id: "1050",
+					city_id: "0",
+					cover_img: "https://swdzshopv4.oss-cn-chengdu.aliyuncs.com/uploads/mall10000/20210811/bf85fea4246c07b25c2e6e2c79c3602b.jpg",
+					created_at: "2021-12-07 11:31:07",
+					deleted_at: "0000-00-00 00:00:00",
+					details: "<p>万达广场详细描述万达广场详细描述万达广场详细描述万达广场详细描述万达广场详细描述万达广场详细描述万达广场详细描述</p>",
+					district_id: "0",
+					id: "1",
+					is_delete: "0",
+					latitude: "30.709999",
+					longitude: "104.013252",
+					mall_id: "10000",
+					name: "金牛区万科金域西岭",
+					property: "1",
+					province_id: "0",
+					status: "1",
+					updated_at: "2021-12-16 17:56:22",
+				}]
 			};
+		},
+		onShow() {
+			var pages = getCurrentPages();
+			var currPage = pages[pages.length - 1]; //当前页面
+
+			'estateInfo' in currPage.$vm ? this.name = currPage.$vm.estateInfo.name : ''
+			'saleInfo' in currPage.$vm ? this.sale = currPage.$vm.saleInfo.name : ''
+
+			console.log(currPage.$vm)
+		},
+		onLoad() {
+
 		},
 		methods: {
+			addmyEstate() {
+				if(this.name==='' || this.region==='' || this.nature==='' || this.sale===''){
+					uni.showToast({
+						title:'请完整填写信息',
+						icon:'none'
+					})
+					return
+				}
+				let qwe = {
+					address: "中国四川省成都市武侯区成汉南路86号",
+					area_id: "0",
+					city_id: "0",
+					cover_img: "https://swdzshopv4.oss-cn-chengdu.aliyuncs.com/uploads/mall10000/20211213/0faa8082fbe997a00dbff8ef482f98be.jpg",
+					created_at: "2021-12-13 21:17:29",
+					deleted_at: "2021-12-16 17:56:22",
+					details: "<p>测试测试测试</p>",
+					district_id: "0",
+					id: "2",
+					is_delete: "0",
+					latitude: "30.586587",
+					longitude: "104.054303",
+					mall_id: "10000",
+					name: "测试测试测试测试",
+					property: "2",
+					province_id: "0",
+					status: "1",
+					updated_at: "2021-12-16 17:56:22",
+				}
+				this.dataList.push(qwe)
+			},
+			areaEvent(data) {
+				if (data) {
+					// this.form.province_id = data.province.id;
+			 	// this.form.city_id = data.city.id;
+					// this.form.district_id = data.district.id;
+					this.region = [data.province.name, data.city.name, data.district.name].join('')
+				}
+			},
+			getDate(page, name) {
+				this.$request({
+					url: this.$api.sale.estate_list,
+					data: {
+						page: page,
+						is_myself: 1,
+						name: name,
+					},
+					method: 'post'
+				}).then(res => {
+					if (res.code === 0) {
+						this.dataList = res.data.list
+					}
+				})
+			},
 			selectBuild() {
 				uni.navigateTo({
 					url: '/pages/sale/properties/addProperties'
@@ -69,10 +180,6 @@
 					url: '/pages/index/binding/bindingSale'
 				})
 			},
-			bindPickerRegion(e) {
-				console.log('地区',e)
-				this.region = e.target.value.join('')
-			},
 			bindPickerNature(e) {
 				this.nature = this.natureList[e.target.value]
 			}
@@ -179,4 +286,74 @@
 		width: 12.8rpx;
 		height: 22.8rpx;
 	}
+
+	.properties_list {
+		background-color: #F8F8F8;
+
+		.item {
+			font-family: PingFang SC;
+			margin: 25rpx auto;
+			width: 678rpx;
+			height: 206rpx;
+			background: #FFFFFF;
+			border-radius: 10rpx;
+			// background-image: url(https://t17.9026.com/web/statics/image/sale/properties_gradual.png);
+			padding: 25rpx;
+			position: relative;
+
+			.bg {
+				position: absolute;
+				top: 0;
+				left: 0;
+				width: 80%;
+				height: 100%;
+			}
+
+			.left {
+				image {
+					width: 153rpx;
+					height: 153rpx;
+					border-radius: 10rpx;
+				}
+			}
+
+			.right {
+				margin-left: 25rpx;
+
+				.title {
+					font-size: 30rpx;
+
+					font-weight: bold;
+					color: #222222;
+				}
+
+				.addr {
+					font-size: 22rpx;
+
+					font-weight: 500;
+					color: #222222;
+				}
+
+				.content {
+					font-size: 24rpx;
+
+					font-weight: 500;
+					color: #666666;
+					line-height: 34rpx;
+				}
+			}
+		}
+
+		.addPro {
+			position: fixed;
+			bottom: 0;
+			width: 100%;
+			height: 100rpx;
+			background: #A18353;
+			font-size: 32rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #FFFFFF;
+		}
+	}
 </style>

+ 15 - 1
src/pages/index/binding/bindingSale.vue

xqd xqd
@@ -22,7 +22,7 @@
 				<image v-show="selectSaleIndex===index" style="width: 36rpx;height: 36rpx;" src="https://t17.9026.com/web/statics/image/index/select_sale.png" mode=""></image>
 			</view>
 		</view>
-		<button type="default" @click="" :class="{'add':true, 'allow-add':selectSaleIndex!==-1, 'not-add':selectSaleIndex===-1}" :disabled="fasle">确认绑定</button>
+		<button type="default" @click="bindingSale" :class="{'add':true, 'allow-add':selectSaleIndex!==-1, 'not-add':selectSaleIndex===-1}" :disabled="fasle">确认绑定</button>
 	</view>
 </template>
 
@@ -36,6 +36,20 @@
 		methods:{
 			selectSale(index){
 				this.selectSaleIndex=index
+				var pages = getCurrentPages();
+				var currPage = pages[pages.length - 1]; //当前页面
+				var prevPage = pages[pages.length - 2]; //上一个页面
+				prevPage.$vm.saleInfo={id:1,name:'王晓晓'}
+			},
+			bindingSale(){
+				if(this.selectSaleIndex===-1){
+					uni.showToast({
+						title:'请选择销售',
+						icon:'none'
+					})
+					return
+				}
+				uni.navigateBack()
 			}
 		}
 	}

+ 101 - 53
src/pages/index/hxj_index_component.vue

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -2,9 +2,10 @@
 	<view style="background-color: #FEFFFE;">
 		<view class="swiper_cent">
 			<swiper style="height: 900rpx;" :indicator-dots="false" :autoplay="false" :interval="3000" :duration="1000"
-				@change="swiperChange" >
-				<swiper-item v-for="(item,index) in 3" :key="index" >
-					<image src="https://t17.9026.com/web/statics/image/index/1.png" style="width: 100%;height: 900rpx;" mode=""></image>
+				@change="swiperChange">
+				<swiper-item v-for="(item,index) in 3" :key="index">
+					<image src="https://t17.9026.com/web/statics/image/index/1.png" style="width: 100%;height: 900rpx;"
+						mode=""></image>
 				</swiper-item>
 			</swiper>
 			<view class="swiper_zhishi">
@@ -14,8 +15,8 @@
 		</view>
 		<view class="link">
 			<view>
-				<view class="title">人居 · 荟享家<image class="hxjImg" src="https://t17.9026.com/web/statics/image/index/HUIXIANGJIA.png"
-						mode=""></image>
+				<view class="title">人居 · 荟享家<image class="hxjImg"
+						src="https://t17.9026.com/web/statics/image/index/HUIXIANGJIA.png" mode=""></image>
 				</view>
 			</view>
 
@@ -28,15 +29,18 @@
 			<view class="subtitle">臻选整装 · 安全无甲醛 · 7天入住</view>
 		</view>
 		<view class="lg_list">
-			<view class="item" v-for="(item,index) in [3,'temporary/jhk-1634283447190','temporary/jhk-1634284367308']" :key="index" @click="goPage('/pages/case/projectInfo?id=9')">
-				<image class="imgBox" :src="`https://t17.9026.com/web/statics/image/index/${item}.png`"></image>
+			<view class="item" v-for="(item,index) in jdlg" :key="index"
+				@click="goPage('/pages/case/projectInfo?id=9')">
+				<image class="imgBox" :src="`https://t17.9026.com/web/statics/image/index/${item.cover_image}.png`">
+				</image>
 				<view class="b_card main-between">
 					<view class="left">
-						<view class="title">85m²MUJI风创造「最大坪效」</view>
-						<view class="desc">细节控·轻奢风</view>
+						<view class="title">{{item.title}}</view>
+						<view class="desc">{{item.sub_title}}</view>
 					</view>
 					<view class="right">
-						<view class="price"><text class="rmb">¥</text><text>56800</text><text class="dw">元</text></view>
+						<view class="price"><text class="rmb">¥</text><text>{{item.price}}</text><text
+								class="dw">元</text></view>
 					</view>
 				</view>
 			</view>
@@ -68,7 +72,8 @@
 			</view>
 		</view>
 		<view class="link mt_20">
-			<view class="title1">荟享定制<image class="coupon_1" src="https://t17.9026.com/web/statics/image/index/coupon_1.png" mode="">
+			<view class="title1">荟享定制<image class="coupon_1"
+					src="https://t17.9026.com/web/statics/image/index/coupon_1.png" mode="">
 				</image><text class="coupon_sub">HUIXIANG</text></view>
 
 		</view>
@@ -94,9 +99,11 @@
 			</view>
 			<scroll-view scroll-x="true">
 				<view class="main-left w">
-					<view class="item" v-for="(item,index) in ['jhk-1634283667210','jhk-1634284372084','jhk-1634283687206']" :key="index">
-						<image class="borradu_20" :src="`https://t17.9026.com/web/statics/image/index/temporary/${item}.png`" mode=""></image>
-						<view class="title_2">定制主题</view>
+					<view class="item" v-for="(item,index) in qwe" :key="index">
+						<image class="borradu_20"
+							:src="`https://t17.9026.com/web/statics/image/index/temporary/${item.cover_image}.png`"
+							mode=""></image>
+						<view class="title_2">{{item.title}}</view>
 						<view class="desc_2">独到品味的代表备份</view>
 					</view>
 				</view>
@@ -109,16 +116,24 @@
 				</view>
 			</view> -->
 		</view>
-		<view class="link mt_20">
-			<view class="title1">限时团购<image class="coupon_1" src="https://t17.9026.com/web/statics/image/index/coupon_1.png" mode="">
-				</image><text class="coupon_sub">TUANGOU</text></view>
-
+		<view class="main-between link mt_20">
+			<view class="title1">
+				限时团购
+				<image class="coupon_1"
+					src="https://t17.9026.com/web/statics/image/index/coupon_1.png" mode="">
+				</image>
+				<text class="coupon_sub">TUANGOU</text>
+			</view>
+			<view class="link-more" @click="goPage('/plugins/pt/index/index')">
+				查看更多<image src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png" mode=""></image>
+			</view>
 		</view>
 
 		<view class="group_list">
 			<swiper style="height: 606rpx;" :indicator-dots="false" :autoplay="false" :interval="3000" :duration="1000"
 				previous-margin="75rpx" next-margin="75rpx">
-				<swiper-item class="" v-for="(item,index) in 3" :key="index" @click="goPage('/plugins/pt/goods/goods?goods_id=29')">
+				<swiper-item class="" v-for="(item,index) in 3" :key="index"
+					@click="goPage('/plugins/pt/goods/goods?goods_id=29')">
 					<view class="item">
 						<view class="imgBox">
 							<image class="img" src="https://t17.9026.com/web/statics/image/index/3.png"></image>
@@ -161,9 +176,11 @@
 				</view>
 			</view>
 			<view class="dir-left-wrap bottom">
-				<view class="item" v-for="(item,index) in 4" :key="index" @click="goPage(`/pages/goods/goods?id=${18+index}`)">
+				<view class="item" v-for="(item,index) in 4" :key="index"
+					@click="goPage(`/pages/goods/goods?id=${18+index}`)">
 					<view>
-						<image class="cover" :src="`https://t17.9026.com/web/statics/image/index/${index+10}.png`" mode=""></image>
+						<image class="cover" :src="`https://t17.9026.com/web/statics/image/index/${index+10}.png`"
+							mode=""></image>
 					</view>
 					<view class="title_2">马蒂斯系列 烟灰缸/首饰盘</view>
 					<view class="desc_2">细节控 · 创意</view>
@@ -188,51 +205,81 @@
 <script>
 	import appScrollList from './components/scroll-list.vue'
 	export default {
-		components:{
+		components: {
 			appScrollList
 		},
 		data() {
 			return {
 				swiperKey: 0, //轮播位置
-				list:[
-					
-						{
-							image: 'https://t17.9026.com/web/statics/image/index/temporary/jhk-1634283687206.png',
-							title: '热销方案',
-							tag: '热销',
-							link:'/pages/case/hot_sale_project'
-						},
-						{
-							image: 'https://t17.9026.com/web/statics/image/index/temporary/jhk-1634284372084.png',
-							title: '主题专区',
-							tag: '主题',
-							link:'/pages/case/themeArea'
-						},
-						{
-								image: 'https://t17.9026.com/web/statics/image/index/temporary/jhk-1634283667210.png',
-								title: '定制产品',
-								tag: '定制',
-								link:''
-							},
-						{
-							image: 'https://t17.9026.com/web/statics/image/index/2.png',
-							title: '定制产品',
-							tag: '定制'
-						}
-				]
+				list: [
+
+					{
+						image: 'https://t17.9026.com/web/statics/image/index/temporary/jhk-1634283687206.png',
+						title: '热销方案',
+						tag: '热销',
+						link: '/pages/case/hot_sale_project'
+					},
+					{
+						image: 'https://t17.9026.com/web/statics/image/index/temporary/jhk-1634284372084.png',
+						title: '主题专区',
+						tag: '主题',
+						link: '/pages/case/themeArea'
+					},
+					{
+						image: 'https://t17.9026.com/web/statics/image/index/temporary/jhk-1634283667210.png',
+						title: '定制产品',
+						tag: '定制',
+						link: ''
+					},
+					{
+						image: 'https://t17.9026.com/web/statics/image/index/2.png',
+						title: '明星套装',
+						tag: '套装'
+					}
+				],
+				jdlg: [{
+						title: '兴城人居ins风套装',
+						sub_title: '细节控·轻奢风',
+						price: '65622',
+						cover_image: '3',
+					},
+					{
+						title: '风创造「最大坪效」85m²MUJI',
+						sub_title: '细节控·轻奢风',
+						price: '7486',
+						cover_image: 'temporary/jhk-1634283447190'
+					},
+					{
+						title: '85m²MUJI风创造「最大坪效」',
+						sub_title: '细节控·轻奢风',
+						price: '27853',
+						cover_image: 'temporary/jhk-1634284367308'
+					}
+				],
+				qwe: [{
+					'title': '兴城人居',
+					'cover_image': 'jhk-1634283667210'
+				}, {
+					'title': '世龙广场',
+					'cover_image': 'jhk-1634284372084'
+				}, {
+					'title': '新中式',
+					'cover_image': 'jhk-1634283687206'
+				}]
+
 			}
 		},
 		created() {
-			this.$store.dispatch('user/isEnterSales',false);
+			this.$store.dispatch('user/isEnterSales', false);
 		},
 		methods: {
-			swiperChange(e){
+			swiperChange(e) {
 				console.log(e.detail.current)
 				this.swiperKey = e.detail.current
 			},
-			goPage(url){
+			goPage(url) {
 				uni.navigateTo({
-					url:url
+					url: url
 				})
 			}
 		}
@@ -244,6 +291,7 @@
 
 	.swiper_cent {
 		position: relative;
+
 		.swiper_zhishi {
 			display: flex;
 			align-items: center;
@@ -257,10 +305,10 @@
 				height: 4rpx;
 				background: #c8c8c8;
 			}
+
 			.view_active {
 				background: #f4f4f4;
 			}
 		}
 	}
-	
 </style>

+ 10 - 0
src/pages/index/index.scss

xqd
@@ -69,6 +69,16 @@
 		letter-spacing: 3rpx;
 		margin-left: 25rpx;
 	}
+	.link-more{
+		font-size: 25rpx;
+		font-weight: 500;
+		color: #989898;
+		image{
+			width: 12rpx;
+			height: 19rpx;
+			margin-left: 6rpx;
+		}
+	}
 }
 .pd_list {
 	padding: 0 0 0 40rpx;

+ 4 - 2
src/pages/sale/components/app-my-income.vue

xqd xqd
@@ -3,7 +3,8 @@
 		<view class="item" @click="goPage('/pages/share/order/order')">
 			<view class="title">订单总额(万)</view>
 			<view class="main-between cross-center">
-				<view class="num">{{userInfo.salesperson_info.order_total_amount}}</view>
+				<!-- <view class="num">{{userInfo.salesperson_info.order_total_amount}}</view> -->
+				<view class="num">210</view>
 				<image style="width: 12rpx;height: 21rpx;" src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png"
 					mode=""></image>
 			</view>
@@ -12,7 +13,8 @@
 		<view class="item">
 			<view class="title">我的提成(万)</view>
 			<view class="main-between cross-center">
-				<view class="num">{{userInfo.salesperson_info.order_total_commission}}</view>
+				<!-- <view class="num">{{userInfo.salesperson_info.order_total_commission}}</view> -->
+				<view class="num">45.3</view>
 				<image style="width: 12rpx;height: 21rpx;" src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png"
 					mode=""></image>
 			</view>

+ 101 - 82
src/pages/sale/mySaleOrder.vue

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -1,33 +1,40 @@
 <template>
 	<!-- <app-layout :haveBackground="false"> -->
 	<view class="page">
-		<view style="background-color: #fff;">
-			<view class="main-left cross-center search">
-				<image src="https://t17.9026.com/web/statics/image/index/search.png" mode=""></image>
-				<input style="width: 560rpx;" type="text" value="" placeholder="搜索客户、商品、时间、订单号"
-					placeholder-style="font-size:28rpx;color:#999;" />
-			</view>
+		<!-- <view style="background-color: #fff;position: fixed;top: 0;width: 100%;"> -->
+		<view class="main-left cross-center search">
+			<image src="https://t17.9026.com/web/statics/image/index/search.png" mode=""></image>
+			<input style="width: 560rpx;" type="text" value="" placeholder="搜索客户、商品、时间、订单号"
+				placeholder-style="font-size:28rpx;color:#999;" />
 		</view>
-
-		<AppDropdownMenu :size="28" selectedColor="#465CFF" :options="options" @click="rangeItemClick"
-			@close="rangeClose" ref="ddmRange">
-			<view class="main-between">
-				<view class="fui-filter__item" @tap="filterTap">
-					<text>{{range}}</text>
-					<view class="fui-filter__icon" :class="{'fui-icon__ani':rangeShow}">
-						<fui-icon name="turningdown" :size="32"></fui-icon>
+		<view style="background-color: #fff;position: sticky;top: 0;width: 100%;">
+			<AppDropdownMenu :size="28" :selectedColor="getTheme.color" :checkboxColor="getTheme.color"
+				:options="options[selectIndex]" :minWidth="750" @click="rangeItemClick" @close="rangeClose"
+				ref="ddmRange">
+				<view class="main-between">
+					<view class="fui-filter__item" @tap="filterTap(0)">
+						<text>{{range}}</text>
+						<view class="fui-filter__icon cross-center" :class="{'fui-icon__ani':rangeShow}">
+							<image style="width: 16rpx;height: 9rpx;margin:0 11rpx;"
+								src="https://t17.9026.com/web/statics/image/index/arrow-down-bottom.png" mode="">
+							</image>
+						</view>
 					</view>
-				</view>
-				<view class="fui-filter__item" @tap="filterTap">
-					<text>{{range}}</text>
-					<view class="fui-filter__icon" :class="{'fui-icon__ani':rangeShow}">
-						<fui-icon name="turningdown" :size="32"></fui-icon>
+					<view class="fui-filter__item" @tap="filterTap(1)">
+						<text>{{range1}}</text>
+						<view class="fui-filter__icon cross-center" :class="{'fui-icon__ani':rangeShow1}">
+							<image style="width: 16rpx;height: 9rpx;margin:0 11rpx;"
+								src="https://t17.9026.com/web/statics/image/index/arrow-down-bottom.png" mode="">
+							</image>
+						</view>
 					</view>
 				</view>
-			</view>
-		</AppDropdownMenu>
+			</AppDropdownMenu>
+		</view>
+		<!-- </view> -->
+
 		<view class="list">
-			<view class="box" v-for="(item,index) in 2" :key="index">
+			<view class="box" v-for="(item,index) in 5" :key="index">
 				<view class="main-between cross-center header">
 					<view class="cross-center head" :class="{'border_bottom':true}">
 						<image src="https://t17.9026.com/web/statics/image/sale/1.png" mode=""></image>
@@ -77,15 +84,16 @@
 							<image src="https://t17.9026.com/web/statics/image/user-center/arrow-top.png" mode=""></image>
 						</view> -->
 					</view>
-					<view class="main-right cross-bottom total_pay">
-						<text>应付总</text><text>¥</text><text>2388.00</text>
+					<view class="main-between cross-bottom total_pay">
+						<view class="order_number">订单号:968606069111121</view>
+						<view><text>应付总</text><text>¥</text><text>2388.00</text></view>
 					</view>
 				</view>
 				<view class="main-between footer cross-center border_top">
 					<template>
 						<view class="date">2021-12-11</view>
 						<view class="main-around">
-							<view class="kbtn">上传发票</view>
+							<!-- <view class="kbtn">上传发票</view> -->
 							<view class="kbtn">再次购买</view>
 							<view class="kbtn">查看物流</view>
 						</view>
@@ -111,6 +119,9 @@
 </template>
 
 <script>
+	import {
+		mapGetters
+	} from 'vuex'
 	import AppTabBar from '@/components/basic-component/app-tab-bar/app-tab-bar.vue';
 	import AppDropdownMenu from '@/components/fui-dropdown-menu/fui-dropdown-menu.vue';
 	export default {
@@ -120,35 +131,61 @@
 		},
 		data() {
 			return {
-				options: [{
-					text: '订单状态',
-					value: 1,
-					checked: true
-				}, {
-					text: '交易成功',
-					value: 2
-				}, {
-					text: '交易失败',
-					value: 3
-				}],
+				options: [
+					[{
+						text: '订单状态',
+						value: 1,
+						checked: true
+					}, {
+						text: '交易成功',
+						value: 2
+					}, {
+						text: '交易失败',
+						value: 3
+					}],
+					[{
+						text: '全部客户',
+						value: 1,
+						checked: true
+					}, {
+						text: '已认证',
+						value: 2
+					}, {
+						text: '未认证',
+						value: 3
+					}]
+				],
 				range: '订单状态',
-				rangeShow: false
+				range1: '全部客户',
+				selectIndex: 0,
+				rangeShow: false,
+				rangeShow1: false
 			};
 		},
-		methods:{
-			filterTap() {
-					//显示下拉框
-					this.$refs.ddmRange.show()
-					this.rangeShow = true;
-				},
-				rangeItemClick(e) {
-					console.log(e)
-					this.range = e.text
-					this.rangeClose()
-				},
-				rangeClose() {
-					this.rangeShow = false;
-				}
+		computed: {
+			...mapGetters('mallConfig', {
+				getTheme: 'getTheme'
+			})
+		},
+		onShow() {
+			uni.hideHomeButton()
+		},
+		methods: {
+			filterTap(i) {
+				this.selectIndex = i
+				//显示下拉框
+				this.$refs.ddmRange.show()
+				this.selectIndex ? this.rangeShow1 = true : this.rangeShow = true
+			},
+			rangeItemClick(e) {
+				console.log(e)
+				this.selectIndex ? this.range1 = e.text : this.range = e.text
+
+				this.rangeClose()
+			},
+			rangeClose() {
+				this.selectIndex ? this.rangeShow1 = false : this.rangeShow = false
+			}
 		}
 	}
 </script>
@@ -159,7 +196,7 @@
 	}
 
 	.fui-filter__item {
-		width: 375rpx;
+		width: 100%;
 		height: 88rpx;
 		display: flex;
 		align-items: center;
@@ -183,29 +220,6 @@
 		width: #{750rpx};
 	}
 
-	.top-menu {
-		padding: 20rpx 30rpx;
-
-		.item {
-			width: 158rpx;
-			height: 130rpx;
-			background: linear-gradient(179deg, #8469C9, #C7A3F0);
-			border-radius: 8rpx;
-
-			.title {
-				font-size: 24rpx;
-				font-weight: bold;
-				color: #FFFFFF;
-				line-height: 34rpx;
-			}
-
-			image {
-				width: 60rpx;
-				height: 60rpx;
-			}
-		}
-	}
-
 	.search {
 		width: 680rpx;
 		height: 82rpx;
@@ -227,10 +241,10 @@
 	}
 
 	.box {
-		width: 678rpx;
+		width: 750rpx;
 		height: auto;
 		background: #ffffff;
-		border-radius: 6rpx;
+		// border-radius: 6rpx;
 		padding: 26rpx 31rpx;
 		margin: 0 auto 20rpx;
 
@@ -344,17 +358,17 @@
 					height: 141rpx;
 					// background: #F8F8F8;
 					border-radius: 6rpx;
-					padding: 18rpx 0 18rpx 24rpx;
+					padding: 18rpx 0 18rpx 0;
 
 					.goods-img {
-						width: 101rpx;
-						height: 99rpx;
+						width: 147rpx;
+						height: 110rpx;
 						border-radius: 8rpx;
 						margin-right: 21rpx;
 					}
 
 					.title {
-						width: 438rpx;
+						width: 478rpx;
 						font-size: 26rpx;
 						font-weight: 500;
 						color: #222222;
@@ -362,7 +376,7 @@
 					}
 
 					.price {
-						width: 470rpx;
+						width: 520rpx;
 						font-size: 24rpx;
 						font-weight: 500;
 						color: #222222;
@@ -378,6 +392,11 @@
 				font-size: 24rpx;
 				color: #222222;
 				line-height: 34px;
+				.order_number{
+					font-size: 22rpx;
+					font-weight: 500;
+					color: #838584;
+				}
 
 				&>text:nth-child(1) {
 					font-weight: 500;

+ 17 - 16
src/pages/sale/properties/addProperties.vue

xqd
@@ -67,30 +67,31 @@
 		},
 		methods:{
 			selectEstate(index,name,id){
-				if(this.type==='addCustomer'){
+				// if(this.type==='addCustomer'){
 					var pages = getCurrentPages();
 					var currPage = pages[pages.length - 1]; //当前页面
 					var prevPage = pages[pages.length - 2]; //上一个页面
 					prevPage.$vm.estateInfo={id:id,name:name}
-					uni.navigateBack()
-					return
-				}
+					// uni.navigateBack()
+					// return
+				// }
 				this.selectIndex=index
 				this.show=true
 			},
 			bindingEstate(){
-				this.$request({
-					url: this.$api.sale.binding_estate,
-					data: {
-						estate_id:this.dataList[this.selectIndex].id
-					},
-					method: 'post'
-				}).then(res=>{
-					uni.showToast({
-						icon:'none',
-						title:res.msg
-					})
-				})
+				uni.navigateBack()
+				// this.$request({
+				// 	url: this.$api.sale.binding_estate,
+				// 	data: {
+				// 		estate_id:this.dataList[this.selectIndex].id
+				// 	},
+				// 	method: 'post'
+				// }).then(res=>{
+				// 	uni.showToast({
+				// 		icon:'none',
+				// 		title:res.msg
+				// 	})
+				// })
 			},
 			search(e){
 				this.$utils.debounce(()=>{

+ 7 - 7
src/pages/sale/sale-user-center.vue

xqd
@@ -149,13 +149,13 @@
 						name: "联系客服",
 						open_type: "navigate",
 					},
-					// {
-					// 	icon_url: "https://t17.9026.com/web/statics/image/sale/sale_home.png",
-					// 	key: "",
-					// 	link_url: "/pages/user-center/user-center",
-					// 	name: "用户端",
-					// 	open_type: "navigate",
-					// }
+					{
+						icon_url: "https://t17.9026.com/web/statics/image/sale/sale_home.png",
+						key: "",
+						link_url: "/pages/index/index",
+						name: "用户端",
+						open_type: "reLaunch",
+					}
 				]
 			}
 		},

+ 82 - 0
src/pages/sale/salePersonInfo.vue

xqd
@@ -0,0 +1,82 @@
+<template>
+	<view style="padding-top: 20rpx;">
+		<view class="main-between cross-center list-item">
+			<view class="title">头像</view>
+			<view class="main-right cross-center">
+				<image class="head" src="../../static/image/index/head_port.png" mode=""></image>
+				<image class="arrow-right" src="../../static/image/index/arrow-right-gray.png" mode=""></image>
+			</view>
+		</view>
+		<view class="line"></view>
+		<view class="main-between cross-center list-item">
+			<view class="title">姓名</view>
+			<view class="main-right cross-center">
+				<input class="input" type="text" v-model="name" />
+				<image class="arrow-right" src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png" mode=""></image>
+			</view>
+		</view>
+		<view class="line"></view>
+		<view class="main-between cross-center list-item">
+			<view class="title">电话号</view>
+			<view class="main-right cross-center">
+				<input class="input" type="text" v-model="mobile" />
+				<image class="arrow-right" src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png" mode=""></image>
+			</view>
+		</view>
+		<view class="line"></view>
+		<view class="main-between cross-center list-item">
+			<view class="title">性别</view>
+			<view class="main-right cross-center">
+				<input class="input" type="text" v-model="sex" />
+				<image class="arrow-right" src="https://t17.9026.com/web/statics/image/index/arrow-right-gray.png" mode=""></image>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				name:'万老三',
+				mobile:'13350561213',
+				sex:'男'
+			};
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.list-item{
+		height: 108rpx;
+		width: 100%;
+		padding: 0 37rpx 0 38rpx;
+		background-color: #fff;
+		font-size: 30rpx;
+		font-weight: 500;
+		color: #222222;
+		.head{
+			width: 78rpx;
+			height: 78rpx;
+			overflow: hidden;
+			border-radius: 50%;
+		}
+		.arrow-right{
+			width: 12rpx;
+			height: 21rpx;
+			margin-left: 36rpx;
+		}
+		.input{
+			text-align: right;
+			font-size: 30rpx;
+			font-weight: 500;
+			color: #999999;
+		}
+	}
+	.line{
+		width: 678rpx;
+		height: 1rpx;
+		margin: 0 auto;
+		background-color: #EAEAEA;
+	}
+</style>

+ 138 - 0
src/pages/user-center/about-mall/ComplaintsSuggestions.vue

xqd
@@ -0,0 +1,138 @@
+<template>
+	<view class="page">
+		<view class="evalContent">
+			<view class="item">
+				<view class="main-left cross-center title">
+					整体评价
+				</view>
+				<textarea class="evalClass"  placeholder-class="evalphlVal" value="" maxlength="30" placeholder="请写下您想咨询的问题或投诉建议,以便更好的为您解决。" />
+			</view>
+		</view>
+		<view class="evalContent">
+			<view class="item">
+				<view class="main-left cross-center title">
+					上传图片(选填)
+				</view>
+			</view>
+		</view>
+		<view class="uploddimg" @click="uploadImg">
+			<image src="https://t17.9026.com/web/statics/image/user-center/takePicture.png" mode=""></image>
+			<view class="text">上传图片</view>
+		</view>
+		
+		<button class="tij">提交</button>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			};
+		},
+		methods:{
+			uploadImg(){
+				uni.chooseImage({
+				    count: 6, //默认9
+				    sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
+				    sourceType: ['album','camera'], //从相册选择
+				    success:(res)=> {
+				        console.log(JSON.stringify(res.tempFilePaths));
+				    }
+				});
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.page{
+		min-height: 100vh;
+		background-color: #fff;
+	}
+	.tij{
+		width: 678rpx;
+		height: 90rpx;
+		background: #A18353;
+		border-radius: 6rpx;
+		font-size: 32rpx;
+		font-weight: bold;
+		color: #FFFFFF;
+	}
+	.uploddimg{
+		width: 187rpx;
+		height: 126rpx;
+		background: #F4F4F4;
+		opacity: 0.8;
+		border-radius: 8rpx;
+		margin: 56rpx 36rpx;
+		padding-top: 31rpx;
+		image{
+			width: 48rpx;
+			height: 38rpx;
+			display: block;
+			margin: 0 auto 14rpx;
+		}
+		.text{
+			text-align: center;
+			font-size: 20rpx;
+			font-weight: 500;
+			color: #666666;
+		}
+	}
+	.evalContent{
+		background-color: #fff;
+		margin-top: 16rpx;
+		.evalClass{
+			width: 678rpx;
+			height: 171rpx;
+			background: #F8F8F8;
+			border-radius: 6rpx;
+			margin: 24rpx auto 0;
+		}
+		/deep/.evalphlVal{
+			font-size: 28rpx;
+			font-weight: 500;
+			color: #999999;
+			padding: 33rpx 31rpx;
+		}
+		.item{
+			padding: 40rpx 36rpx 0;
+		.title{
+			font-size: 30rpx;
+			font-weight: bold;
+			color: #222222;
+		}
+		.icon{
+			width: 32rpx;
+			height: 32rpx;
+			margin-right: 11rpx;
+		}}
+	}
+	.evaObj{
+		padding: 37rpx 37rpx 0;
+		background-color: #fff;
+		image{
+			width: 111rpx;height: 110rpx;
+			margin-right: 24rpx;
+		}
+		.title{
+			font-size: 26rpx;
+			
+			font-weight: 500;
+			color: #666666;
+		}
+		.price{
+			font-size: 24rpx;
+			font-weight: 500;
+			color: #222222;
+		}
+		.num{
+			font-size: 22rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #222222;
+		}
+	}
+</style>

+ 6 - 1
src/pages/user-center/about-mall/about-mall.vue

xqd xqd
@@ -3,7 +3,7 @@
 		<view class="i">
 			商城协议<image src="../../../static/index/arrow-right-ewrte.png" mode=""></image>
 		</view>
-		<view class="i">
+		<view class="i" @click="goPage('/pages/user-center/about-mall/ComplaintsSuggestions')">
 			投诉建议<image src="../../../static/index/arrow-right-ewrte.png" mode=""></image>
 		</view>
 		<view class="i">
@@ -18,6 +18,11 @@
 			return {
 				
 			};
+		},
+		methods:{
+			goPage(url){
+				uni.navigateTo({url:url})
+			}
 		}
 	}
 </script>

+ 38 - 46
src/pages/user-center/evaluate/list.vue

xqd xqd xqd xqd xqd
@@ -1,6 +1,6 @@
 <template>
 	<view class="page">
-		<view class="box">
+		<view class="box" v-for="(item,index) in evaluateList" :key="index">
 			<view class="main-between cross-center header">
 				<view class="cross-center head">
 					<image src="https://t17.9026.com/web/statics/image/sale/1.png" mode=""></image>
@@ -8,59 +8,20 @@
 				</view>
 				<view class="main-between cross-center">
 					<view class="date">2021-11-17</view>
-					<image class="del" src="https://t17.9026.com/web/statics/image/user-center/del.png" mode=""></image>
+					<image class="del" src="https://t17.9026.com/web/statics/image/user-center/del.png" mode="" @click="delEval(index)"></image>
 				</view>
 			</view>
-			<view class="center">
+			<view class="center" :style="{'height':item.isSpread?'auto':'174rpx'}">
 				<view class="main-between cross-center">
 					<view class="title">整体评价</view>
-					<view class="isopen cross-center">
-						展开
-						<image src="https://t17.9026.com/web/statics/image/user-center/arrow-bottom.png" mode=""></image>
-					</view>
-				</view>
-				<view class="center-text">基本上任何一件服装都包含了来自可能多达数十位供应商的零部件和服务</view>
-				<view class="center-img" v-if="false"><image v-for="(item, index) in 5" :key="index" src="https://t17.9026.com/web/statics/image/user-center/1.png" mode=""></image></view>
-				<view class="main-between goods" v-if="false">
-					<view class="main-left desc">
-						<image class="goods-img" src="https://t17.9026.com/web/statics/image/user-center/1.png" mode=""></image>
-						<view>
-							<view class="title">兴城人居ins居家占位套餐</view>
-							<view class="price">
-								<text class="company">¥</text>
-								2466.00
-							</view>
-						</view>
-					</view>
-					<view class="isopen cross-center">
-						收起
-						<image src="https://t17.9026.com/web/statics/image/user-center/arrow-top.png" mode=""></image>
-					</view>
-				</view>
-			</view>
-		</view>
-		<view class="box">
-			<view class="main-between cross-center header">
-				<view class="cross-center head">
-					<image src="https://t17.9026.com/web/statics/image/sale/1.png" mode=""></image>
-					周先生
-				</view>
-				<view class="main-between cross-center">
-					<view class="date">2021-11-17</view>
-					<image class="del" src="https://t17.9026.com/web/statics/image/user-center/del.png" mode=""></image>
-				</view>
-			</view>
-			<view class="center">
-				<view class="main-between cross-center">
-					<view class="title">整体评价</view>
-					<view class="isopen cross-center">
+					<view class="isopen cross-center" @click="Spread(index,1)" v-show="!item.isSpread">
 						展开
 						<image src="https://t17.9026.com/web/statics/image/user-center/arrow-bottom.png" mode=""></image>
 					</view>
 				</view>
 				<view class="center-text">基本上任何一件服装都包含了来自可能多达数十位供应商的零部件和服务</view>
 				<view class="center-img"><image v-for="(item, index) in 5" :key="index" src="https://t17.9026.com/web/statics/image/user-center/1.png" mode=""></image></view>
-				<view class="main-between goods">
+				<view class="main-between goods" >
 					<view class="main-left desc">
 						<image class="goods-img" src="https://t17.9026.com/web/statics/image/user-center/1.png" mode=""></image>
 						<view>
@@ -71,13 +32,14 @@
 							</view>
 						</view>
 					</view>
-					<view class="isopen cross-center">
+					<view class="isopen cross-center" @click="Spread(index,0)">
 						收起
 						<image src="https://t17.9026.com/web/statics/image/user-center/arrow-top.png" mode=""></image>
 					</view>
 				</view>
 			</view>
 		</view>
+		
 		<view class="no-more">没有更多了...</view>
 	</view>
 </template>
@@ -85,7 +47,35 @@
 <script>
 export default {
 	data() {
-		return {};
+		return {
+			evaluateList:[
+				{
+					isSpread:false
+				},
+				{
+					isSpread:false
+				}
+			]
+		};
+	},
+	methods:{
+		delEval(index){
+			uni.showModal({
+				title: '提示',
+				content: '确定删除这条评价吗',
+				success: (res)=> {
+					if (res.confirm) {
+						console.log('用户点击确定');
+						this.evaluateList.splice(index,1)
+					} else if (res.cancel) {
+						console.log('用户点击取消');
+					}
+				}
+			});
+		},
+		Spread(index,i){
+			i?this.evaluateList[index].isSpread=true:this.evaluateList[index].isSpread=false
+		}
 	}
 };
 </script>
@@ -136,6 +126,8 @@ export default {
 	}
 	.center {
 		padding: 37rpx 0 10rpx;
+		height: 174rpx;
+		overflow: hidden;
 		.title {
 			font-size: 30rpx;
 			font-weight: bold;

+ 27 - 5
src/plugins/composition/components/app-bd-info/app-bd-info.vue

xqd xqd
@@ -13,14 +13,20 @@
 						</text>
 						<text class="price-line"><text>¥</text>3000.00</text>
 					</view>
-					<view class="main-left">
-						<view class="tag">套餐</view>
-						<view class="tag">全款</view>
-						<view class="tag">满200减10</view>
+					<view class="main-between">
+						<view class="main-left">
+							<view class="tag">套餐</view>
+							<view class="tag">全款</view>
+							<view class="tag">满200减10</view>
+						</view>
 					</view>
 				</view>
 			</view>
-			<view></view>
+			<view class="cross-bottom">
+				<view class="receive" @click="receive">
+					领券
+				</view>
+			</view>
 		</view>
 	</view>
 </template>
@@ -31,11 +37,27 @@
 			return {
 				
 			};
+		},
+		methods:{
+			receive(){
+				this.$emit('receive')
+			}
 		}
 	}
 </script>
 
 <style lang="scss" scoped>
+	.receive{
+		width: 92rpx;
+		height: 38rpx;
+		background: #FF0000;
+		border-radius: 19rpx;
+		font-size: 20rpx;
+		font-weight: 500;
+		color: #FFFFFF;
+		line-height: 38rpx;
+		text-align: center;
+	}
 	.info-box{
 		width: 100%;
 		height: 230rpx;

+ 4 - 4
src/plugins/composition/components/app-list/app-list.vue

xqd xqd xqd
@@ -24,14 +24,14 @@
 						    <!-- <view class="item-good-num">x1</view> -->
 						    <view class="item-good-attr" v-if="!goods.choose_attr" @click="chooseAttr(goods,index)">
 						        <view class="item-good-attr-text t-omit-two">未选择</view>
-						        <image class="item-good-attr-arrow" src="https://t17.9026.com/web/statics/image/index/arrow-right-yellow.png"></image>
+						        <image class="item-good-attr-arrow" src="https://t17.9026.com/web/statics/image/index/arrow-right-A18353.png"></image>
 						    </view>
 						    <view class="item-good-attr" v-else @click="chooseAttr(goods,index)">
 						        <view class="item-good-attr-text t-omit-two">
 									<!-- {{attr.attr_group_name}}: -->
 						            <text v-for="attr in goods.choose_attr.attr_list" :key="attr.attr_id">{{attr.attr_name}}</text>
 						        </view>
-						        <image class="item-good-attr-arrow" src="https://t17.9026.com/web/statics/image/index/arrow-right-yellow.png"></image>
+						        <image class="item-good-attr-arrow" src="https://t17.9026.com/web/statics/image/index/arrow-right-A18353.png"></image>
 						    </view>
 						    <view v-if="item.type == 2 && goods.choose_attr" :style="{'color': theme.color}" class="choose_price">¥{{goods.total_price}}</view>
 							<view class="price"><text class="ought_price">¥3400.00</text><text class="paid_price">实付:¥<text>3000</text>.00</text></view>
@@ -54,7 +54,7 @@
                         <!-- <view class="item-good-num">x1</view> -->
                         <view class="item-good-attr" v-if="!goods.choose_attr" @click="chooseAttr(goods,index)">
                             <view class="item-good-attr-text t-omit-two">未选择</view>
-                            <image class="item-good-attr-arrow" src="https://t17.9026.com/web/statics/image/index/arrow-right-yellow.png"></image>
+                            <image class="item-good-attr-arrow" src="https://t17.9026.com/web/statics/image/index/arrow-right-A18353.png"></image>
                         </view>
                         <view class="item-good-attr" v-else @click="chooseAttr(goods,index)">
                             <view class="item-good-attr-text t-omit-two">
@@ -63,7 +63,7 @@
                                     <text>{{attr.attr_name}}</text>
                                 </text>
                             </view>
-                            <image class="item-good-attr-arrow" src="https://t17.9026.com/web/statics/image/index/arrow-right-yellow.png"></image>
+                            <image class="item-good-attr-arrow" src="https://t17.9026.com/web/statics/image/index/arrow-right-A18353.png"></image>
                         </view>
                         <view v-if="item.type == 2 && goods.choose_attr"  :style="{'color': theme.color}" class="choose_price">¥{{goods.total_price}}</view>
 						<view class="price"><text class="ought_price">¥3400.00</text><text class="paid_price">实付:¥<text>3000</text>.00</text></view>

+ 40 - 4
src/plugins/composition/detail/detail.vue

xqd xqd xqd xqd
@@ -1,6 +1,9 @@
 <template>
     <app-layout>
-		<app-bd-info></app-bd-info>
+		<app-bd-info @receive="receive"></app-bd-info>
+		<!--商品优惠券-->
+		<bd-coupon @change="setCoupon" @on-show-change="val => {isCouponShow = val}" :isCustomEntry="true"
+			:myShow="isCouponShow" :theme="getTheme" :coupons="goods_coupon_center"></bd-coupon>
 		<view style="font-size: 34rpx;font-weight: bold;color: #222222;line-height: 46rpx;padding:30rpx 0 0 35rpx;background-color: #fff;">套餐内商品</view>
         <app-list v-if="loading" :hidden="false" :top="0" :theme="getTheme" :list="list" v-on:update="update" v-on:change="getTotal" v-on:updateList="updateList"></app-list>
         <view class="list" v-if="other.length > 0">
@@ -47,7 +50,7 @@
     import appList from '../components/app-list/app-list';
 	import appBdInfo from '../components/app-bd-info/app-bd-info.vue';
     import appComposition from "../../../components/basic-component/app-composition/app-composition.vue";
-
+import bdCoupon from '@/components/page-component/goods/bd-coupon.vue';
     export default {
         data() {
             return {
@@ -63,13 +66,40 @@
                 iphone_x: false,
                 noMore: false,
                 composition_id: '',
-                loading: false
+                loading: false,
+				
+				
+				isCouponShow: false,
+				goods_coupon_center:[
+					{
+						appoint_type: "3",
+						begin_time: "0000-00-00 00:00:00",
+						can_receive_count: "-1",
+						cat: [],
+						desc: "",
+						discount: 10,
+						discount_limit: 0,
+						end_time: "0000-00-00 00:00:00",
+						expire_day: "99",
+						expire_type: "1",
+						goods: [],
+						id: "2",
+						is_receive: "0",
+						min_price: 100,
+						name: "优惠券1",
+						rule: "",
+						share_type: 4,
+						sub_price: 10,
+						type: "2",
+					}
+				]
             }
         },
         components: {
             'app-list': appList,
             'app-composition': appComposition,
-			appBdInfo
+			appBdInfo,
+			bdCoupon
         },
         computed: {
             ...mapGetters('mallConfig', {
@@ -77,6 +107,12 @@
             })
         },
         methods: {
+			receive() {
+				this.isCouponShow = true
+			},
+			setCoupon(index) {
+				this.$set(this.goods_coupon_center[index], 'is_receive', 1);
+			},
             choose(item) {
                 this.composition_id = item.id;
                 this.total = '0.00';

+ 1 - 1
src/plugins/pt/index/index.vue

xqd
@@ -212,7 +212,7 @@
             .app-icon {
                 width: #{60rpx};
                 height: #{60rpx};
-                background-image: url("https://shop.9026.com/web/statics/img/pt/big-sarch.png");
+                background-image: url("https://t17.9026.com/web/statics/image/index/search.png");
                 background-size: 100% 100%;
                 background-repeat: no-repeat;
             }

BIN
src/static/image/index/arrow-down-000.png


BIN
src/static/image/index/arrow-right-A18353.png


BIN
src/static/image/index/head_port.png