From 563a0f248d37b8820cdb3e46479d7c8c891b3386 Mon Sep 17 00:00:00 2001
From: xuxy <1059738716@qq.com>
Date: 星期三, 26 六月 2024 17:56:33 +0800
Subject: [PATCH] update 子包

---
 pages/user/user-info/user-info.vue                     |   74 ---
 common/global.scss                                     |   17 
 pages/login/farmer-login.vue                           |    4 
 pages.json                                             |  113 +++--
 sub_pages/farmer/flower-manage/flower-add.vue          |    0 
 sub_pages/farmer/flower-manage/flower-manage.vue       |   63 ++
 sub_pages/farmer/farmer-info/farmer-info.vue           |  163 ++++----
 sub_pages/farmer/farmer-reg/farmer-reg.vue             |  358 +++++++++++++++++++
 sub_pages/farmer/order-sale/order-sale.vue             |    0 
 pages/user/user-pwd/user-pwd.vue                       |  234 +++++++++++++
 pages/user/farmer-user.vue                             |   31 +
 pages/login/login.scss                                 |    2 
 sub_pages/farmer/order-records/order-records.vue       |    0 
 pages/home/farmer-home.vue                             |    8 
 sub_pages/farmer/order-settlement/order-settlement.vue |    0 
 15 files changed, 840 insertions(+), 227 deletions(-)

diff --git a/common/global.scss b/common/global.scss
index 82d22b4..c06dcfa 100644
--- a/common/global.scss
+++ b/common/global.scss
@@ -54,7 +54,14 @@
 		color: #696969;
 	}
 }
-
+.component-line-vert{
+	width: 2rpx;
+	background-color: #EEEEEE;
+}
+.component-popup_input.white{
+	background: #fff;
+	
+}
 .component-popup_input{
 	margin: 0 auto;
 	margin-top: calc(50% + 200rpx);
@@ -66,6 +73,14 @@
 	border-radius: 16rpx;
 	padding: 26rpx;
 	position: relative;
+	.title{
+		font-weight: 400;
+		font-size: 28rpx;
+		color: #333333;
+		line-height: 42rpx;
+		text-align: center;
+		margin-bottom: 32rpx;
+	}
 	.uni-easyinput{
 		width: auto !important;
 	}
diff --git a/pages.json b/pages.json
index 9c356b7..65fcb7f 100644
--- a/pages.json
+++ b/pages.json
@@ -49,66 +49,85 @@
 		},
 
 		{
-			"path": "pages/login/farmer-reg",
+			"path": "pages/notice/notice",
 			"style": {
-				"navigationBarTitleText": "申请入住",
-				"enablePullDownRefresh": true
-			}
-		},
-		{
-			"path": "pages/farmer/order-settlement/order-settlement",
-			"style": {
-				"navigationBarTitleText": "账单结算",
-				"enablePullDownRefresh": true
-			}
-		},
-		{
-			"path": "pages/farmer/flower-manage/flower-manage",
-			"style": {
-				"navigationBarTitleText": "商品管理",
-				"enablePullDownRefresh": true
-			}
-		},
-		{
-			"path": "pages/farmer/order-sale/order-sale",
-			"style": {
-				"navigationBarTitleText": "售后理赔",
-				"enablePullDownRefresh": true
-			}
-		},
-		{
-			"path": "pages/farmer/order-records/order-records",
-			"style": {
-				"navigationBarTitleText": "扣款记录",
-				"enablePullDownRefresh": false,
-				"navigationBarBackgroundColor": "#E6F2EB"
-
-			}
-		},
-		{
-			"path": "pages/farmer/flower-manage/flower-add",
-			"style": {
-				"navigationBarTitleText": "",
+				"navigationBarTitleText": "通知公告",
 				"enablePullDownRefresh": false
 			}
 		},
 		{
-			"path" : "pages/notice/notice",
-			"style" : 
-			{
-				"navigationBarTitleText" : "通知公告",
-				"enablePullDownRefresh" : false
+			"path": "pages/notice/list",
+			"style": {
+				"navigationBarTitleText": "通知公告",
+				"enablePullDownRefresh": true
 			}
 		},
 		{
-			"path" : "pages/notice/list",
+			"path" : "pages/user/user-pwd/user-pwd",
 			"style" : 
 			{
-				"navigationBarTitleText" : "通知公告",
-				"enablePullDownRefresh" : true
+				"navigationBarTitleText" : "修改密码",
+				"enablePullDownRefresh" : false
 			}
 		}
 	],
+
+	"subPackages": [{
+		"root": "sub_pages/farmer",
+		"pages": [{
+				"path": "farmer-info/farmer-info",
+				"style": {
+					"navigationBarTitleText": "信息维护",
+					"enablePullDownRefresh": false
+				}
+			}, {
+				"path": "order-settlement/order-settlement",
+				"style": {
+					"navigationBarTitleText": "账单结算",
+					"enablePullDownRefresh": true
+				}
+			},
+			{
+				"path": "flower-manage/flower-manage",
+				"style": {
+					"navigationBarTitleText": "商品管理",
+					"enablePullDownRefresh": true
+				}
+			},
+			{
+				"path": "order-sale/order-sale",
+				"style": {
+					"navigationBarTitleText": "售后理赔",
+					"enablePullDownRefresh": true
+				}
+			},
+			{
+				"path": "order-records/order-records",
+				"style": {
+					"navigationBarTitleText": "扣款记录",
+					"enablePullDownRefresh": false,
+					"navigationBarBackgroundColor": "#E6F2EB"
+
+				}
+			},
+			{
+				"path": "flower-manage/flower-add",
+				"style": {
+					"navigationBarTitleText": "",
+					"enablePullDownRefresh": false
+				}
+			},
+			{
+				"path": "farmer-reg/farmer-reg",
+				"style": {
+					"navigationBarTitleText": "申请入住",
+					"navigationStyle": "custom"
+				}
+			}
+		]
+
+
+	}],
 	"globalStyle": {
 		"navigationBarTextStyle": "black",
 		"navigationBarTitleText": "uni-app",
diff --git a/pages/home/farmer-home.vue b/pages/home/farmer-home.vue
index 56a6f9e..458f928 100644
--- a/pages/home/farmer-home.vue
+++ b/pages/home/farmer-home.vue
@@ -101,28 +101,28 @@
 		<view class="item-container">
 			<view class="title">常用功能</view>
 			<view class="flex order-icons m-t-12">
-				<view class="nav row margin-tb" @click="goto('/pages/farmer/order-settlement/order-settlement',true)">
+				<view class="nav row margin-tb" @click="goto('/sub_pages/farmer/order-settlement/order-settlement',true)">
 					<view class="img-c">
 						<image class="icon margin-bottom order-icon zdjs"
 							src="/static/images/farmer/user/user-icon-kkjl.png" mode="scaleToFill" />
 					</view>
 					<view class="order-desc tg">账单结算</view>
 				</view>
-				<view class="nav row margin-tb" @click="goto('/pages/farmer/flower-manage/flower-manage',true)">
+				<view class="nav row margin-tb" @click="goto('/sub_pages/farmer/flower-manage/flower-manage',true)">
 					<view class="img-c">
 						<image class="icon margin-bottom order-icon spgl"
 							src="/static/images/farmer/user/user-icon-spgl.png" mode="scaleToFill" />
 					</view>
 					<view class="order-desc cqw">商品管理</view>
 				</view>
-				<view class="nav row margin-tb" @click="goto('/pages/farmer/order-sale/order-sale',true)">
+				<view class="nav row margin-tb" @click="goto('/sub_pages/farmer/order-sale/order-sale',true)">
 					<view class="img-c">
 						<image class="icon margin-bottom order-icon shlp"
 							src="/static/images/farmer/user/user-icon-shlp.png" mode="scaleToFill" />
 					</view>
 					<view class="order-desc syst">售后理赔</view>
 				</view>
-				<view class="nav row margin-tb" @click="goto('/pages/farmer/order-records/order-records',true)">
+				<view class="nav row margin-tb" @click="goto('/sub_pages/farmer/order-records/order-records',true)">
 					<view class="img-c">
 						<image class="icon margin-bottom order-icon kkjl"
 							src="/static/images/farmer/user/user-icon-kkjl.png" mode="scaleToFill" />
diff --git a/pages/login/farmer-login.vue b/pages/login/farmer-login.vue
index caf2acc..e26f158 100644
--- a/pages/login/farmer-login.vue
+++ b/pages/login/farmer-login.vue
@@ -117,8 +117,8 @@
 				// uni.switchTab({
 				// 	url: '/pages/index/index'
 				// })
-				uni.navigateTo({
-					url: '/pages/login/farmer-reg'
+				uni.redirectTo({
+					url: '/sub_pages/farmer/farmer-reg/farmer-reg'
 				})
 
 			},
diff --git a/pages/login/login.scss b/pages/login/login.scss
index fcd6136..d975945 100644
--- a/pages/login/login.scss
+++ b/pages/login/login.scss
@@ -1,6 +1,6 @@
 .login-container{
 	min-height: 99vh;
-		background-image: url('../../static/images/farmer/login/bg.png');
+		background-image: url('@/static/images/farmer/login/bg.png');
 		.nav-title{
 			font-weight: 400;
 			font-size: 32rpx;
diff --git a/pages/user/farmer-user.vue b/pages/user/farmer-user.vue
index 0245c43..b08912d 100644
--- a/pages/user/farmer-user.vue
+++ b/pages/user/farmer-user.vue
@@ -24,12 +24,30 @@
 
 		</view>
 		<view class="user-utils m-20">
-			<view class="user-util">
+			<view class="user-util m-b-5 flex" @click="goto('/pages/user/user-info/user-info',true)">
+				<view class="title">个人信息</view>
+				<view class="right-icon">
+					<uni-icons type="right"></uni-icons>
+				</view>
+			</view>
+			<view class="user-util m-t-12 flex" @click="goto('/sub_pages/farmer/farmer-info/farmer-info',true)">
+				<view class="title">店铺信息</view>
+				<view class="right-icon">
+					<uni-icons type="right"></uni-icons>
+				</view>
+			</view>
+			<view class="user-util m-t-12 flex" @click="goto('/pages/user/user-pwd/user-pwd',true)">
+				<view class="title">修改密码</view>
+				<view class="right-icon">
+					<uni-icons type="right"></uni-icons>
+				</view>
+			</view>
+			<view class="user-util m-t-12 " @click="callTel">
 				<view class="title">我的客服</view>
 				<view class="flex">
 					<image class="icon-clock m-r-6 m-t-2" src="../../static/common/icon-call.png"></image>
 					<view class="name">
-						客服电话: <span class="topic-gray">1386785374</span>
+						客服电话: <span class="topic-gray">{{tel}}</span>
 					</view>
 				</view>
 			</view>
@@ -57,7 +75,7 @@
 				tcode: '',
 				inviterName: '',
 				// StatusBar:0,
-
+				tel:'1386785374'
 			};
 		},
  
@@ -78,7 +96,12 @@
 					url: '/pages/login/farmer-login'
 				})
 			},
-		
+			async callTel(){
+				await this.$message.confirm('是否拨打客服电话')
+				uni.makePhoneCall({
+					phoneNumber: this.tel //仅为示例
+				});
+			}
 
 	
 		}
diff --git a/pages/user/user-info/user-info.vue b/pages/user/user-info/user-info.vue
index a8cd0ef..fc82505 100644
--- a/pages/user/user-info/user-info.vue
+++ b/pages/user/user-info/user-info.vue
@@ -16,12 +16,12 @@
 				</view>
 			</view>
 			<view class="form-item">
-				<view class="label">姓名</view>
+				<view class="label">昵称</view>
 
 				<view class="m-l-a m-r-0 flex text-right">
 					<!-- {{dto.nickName || '-'}} -->
-					<input v-model="dto.nickName" type="nickname" placeholder="请输入昵称"  @blur="bindblur"  @input="bindinput"
-						style="margin-top: 16px;text-align: right;"></input>
+					<input v-model="dto.nickName" type="nickname" placeholder="请输入昵称" @blur="bindblur"
+						@input="bindinput" style="margin-top: 16px;text-align: right;"></input>
 				</view>
 			</view>
 
@@ -51,49 +51,6 @@
 				</view>
 			</view>
 
-			<!-- 			<view class="form-item">
-				<view class="label">用户名</view>
-				
-				<view class="m-l-a m-r-0 flex">
-					<input v-model="dto.birthday" placeholder="请输入用户名" style="margin-top: 16px;text-align: right;"></input>
-				</view>
-			</view> -->
-
-
-			<!-- #ifndef MP -->
-			<view class="form-item">
-				<view class="label">部门</view>
-				<view class="m-l-a m-r-0 flex desc-gray">
-					<input v-model="dto.departmentName" disabled style="margin-top: 16px;text-align: right;"></input>
-				</view>
-			</view>
-			<view class="form-item">
-				<view class="label">邮箱</view>
-				<view class="m-l-a m-r-0 flex desc-gray">
-					<input v-model="dto.email" disabled style="margin-top: 16px;text-align: right;"></input>
-				</view>
-			</view>
-
-			<view class="form-item">
-				<view class="label">性别</view>
-				<view class="m-l-a m-r-0 flex desc-gray">
-					<input v-model="dto.genderStr" disabled style="margin-top: 16px;text-align: right;"></input>
-				</view>
-			</view>
-
-			<view class="form-item">
-				<view class="label">工号</view>
-				<view class="m-l-a m-r-0 flex desc-gray">
-					<input v-model="dto.workNo" disabled style="margin-top: 16px;text-align: right;"></input>
-				</view>
-			</view>
-			<view class="form-item">
-				<view class="label">岗位</view>
-				<view class="m-l-a m-r-0 flex desc-gray">
-					<input v-model="dto.positionName" disabled style="margin-top: 16px;text-align: right;"></input>
-				</view>
-			</view>
-			<!-- #endif -->
 
 		</view>
 		<view class="button-green-1 m-t-20 button-fixed-bottom" @click="update">
@@ -118,27 +75,9 @@
 		},
 		async mounted() {
 			// await this.$store.dispatch('getCurrentInfo');
-			// #ifdef MP
 			this.dto = {
 				...this.currentInfo,
 			}
-			// #endif
-			// #ifndef MP
-			this.$message.showLoading()
-			const {
-				data
-			} = await this.$http.request('get', '/api/personnel/employee/get/' + this.currentInfo.id)
-			console.log('data', data)
-			this.$message.hideLoading()
-
-			this.dto = {
-				// address:this.currentInfo.customerInfo.address||'',
-				// email:this.currentInfo.customerInfo.email||'',
-				...this.currentInfo,
-				...data
-			}
-			// #endif
-
 		},
 		methods: {
 			bindblur(e) {
@@ -155,12 +94,13 @@
 				}
 				// "/api/current/user/update"
 				this.$message.showLoading()
-				if(this.dto.picture&&this.dto.picture.indexOf('http://tmp/')>=0){
+				if (this.dto.picture && this.dto.picture.indexOf('http://tmp/') >= 0) {
 					//上传
 					const res = await this.$http.upload(this.dto.picture)
 					var picture = res.data && res.data.length > 0 && res.data[0].url || ''
 					this.dto.picture = picture
 				}
+				
 				// #ifdef MP
 				const {
 					code
@@ -191,12 +131,14 @@
 				// // #endif
 				this.$message.hideLoading()
 
+				// #ifdef MP
 				if (code == 0) {
 					this.$message.showToast('更新成功')
 					// this.$store.commit('updateInfo',this.dto)
 					// }
 					await this.$store.dispatch('getCurrentInfo');
 				}
+				// #endif
 
 
 			},
@@ -365,7 +307,7 @@
 		border: 1px solid #fff;
 		// border-radius: 200%;
 		color: #fff;
-		
+
 		&::after {
 			border: none;
 		}
diff --git a/pages/user/user-pwd/user-pwd.vue b/pages/user/user-pwd/user-pwd.vue
new file mode 100644
index 0000000..51ffd75
--- /dev/null
+++ b/pages/user/user-pwd/user-pwd.vue
@@ -0,0 +1,234 @@
+<template>
+	<view class="wrap bg-app-white hidebar" style="min-height: calc(100vh - 150rpx);">
+		<u-form :model="model" :rules="rules" ref="uForm">
+			<!-- 		<u-form-item :label-position="labelPosition" label="原始密码" label-width="150" prop="oldpassword">
+				<u-input :border="border" type="password" v-model="model.oldpassword" placeholder="请确认密码"></u-input>
+			</u-form-item> -->
+<!-- 			<u-form-item :label-position="labelPosition" label="旧密码" prop="oldpassword" label-width="150">
+				<u-input :password-icon="true" :border="border" type="password" v-model="model.oldpassword"
+					placeholder="请输入旧密码"></u-input>
+			</u-form-item>
+			<u-divider></u-divider> -->
+			<u-form-item :label-position="labelPosition" label="新密码" prop="password" label-width="150">
+				<u-input :password-icon="true" :border="border" type="password" v-model="model.password"
+					placeholder="请输入新密码"></u-input>
+			</u-form-item>
+			<u-divider></u-divider>
+			<u-form-item :label-position="labelPosition" label="确认密码" label-width="150" prop="rePassword">
+				<u-input :border="border" type="password" v-model="model.rePassword" placeholder="请确认密码"></u-input>
+			</u-form-item>
+		</u-form>
+		<!-- <u-button @click="submit">提交</u-button> -->
+		<view class="button-green-1 m-t-20 button-fixed-bottom" @click="submit">
+			保存
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			let that = this;
+			return {
+				labelPosition: 'left',
+				model: {
+					oldpassword: '',
+					password: '',
+					rePassword: ''
+				},
+
+				rules: {
+					// oldpassword: [
+					// 	{
+					// 		required: true,
+					// 		message: '请输入密码',
+					// 		trigger: ['change', 'blur']
+					// 	},
+					// 	// {
+					// 	// 	// 正则不能含有两边的引号
+					// 	// 	pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]+\S{5,12}$/,
+					// 	// 	message: '需同时含有字母和数字,长度在6-12之间',
+					// 	// 	trigger: ['change', 'blur']
+					// 	// }
+					// ],
+					oldpassword: [{
+							required: true,
+							message: '请输入旧密码',
+							trigger: ['change', 'blur']
+						} 
+					],
+					password: [{
+							required: true,
+							message: '请输入密码',
+							trigger: ['change', 'blur']
+						} 
+					],
+					rePassword: [{
+							required: true,
+							message: '请重新输入密码',
+							trigger: ['change', 'blur']
+						},
+						{
+							validator: (rule, value, callback) => {
+								return value === this.model.password;
+							},
+							message: '两次输入的密码不相等',
+							trigger: ['change', 'blur']
+						}
+					]
+				},
+				border: false,
+				check: false,
+				selectStatus: 'close',
+
+				errorType: ['message']
+			};
+		},
+		onLoad() {},
+		computed: {
+			borderCurrent() {
+				return this.border ? 0 : 1;
+			}
+		},
+		onReady() {
+			this.$refs.uForm.setRules(this.rules);
+		},
+		methods: {
+			back() {
+				uni.navigateBack({
+					animationDuration: 500,
+				})
+			},
+			submit() {
+				if (!this.model.password) {
+					this.$message.showToast('密码未填写');
+
+					return
+				}
+				if (this.model.rePassword === this.model.password) {
+					this.updatePwd();
+				} else {
+					this.$message.showToast('两次密码不一样');
+
+					return
+				}
+				// this.$refs.uForm.validate(valid => {
+				// 	if (valid) {
+				// 		// if(!this.model.agreement) return this.$u.toast('请勾选协议');
+				// 		// console.log('验证通过');
+				// 		this.updatePwd();
+				// 	} else {
+				// 		// console.log('验证失败');
+				// 	}
+				// });
+			},
+			async updatePwd() {
+				const resp = await this.$http.request('post', '/api/current/user/password/change', {
+					data: {
+						// password: this.model.oldpassword,
+						// newpassword: this.model.password
+						oldPassword: this.model.oldPassword,
+						password: this.model.password
+					}
+				});
+				if (resp && resp.code == 0) {
+					this.model.password = ''
+					this.model.rePassword = ''
+					this.model.oldPassword = ''
+					this.$message.showToast('修改成功');
+				}
+			},
+			// 点击actionSheet回调
+			actionSheetCallback(index) {
+				uni.hideKeyboard();
+				this.model.sex = this.actionSheetList[index].text;
+			},
+			// checkbox选择发生变化
+			checkboxGroupChange(e) {
+				this.model.likeFruit = e;
+			},
+			// radio选择发生变化
+			radioGroupChange(e) {
+				this.model.payType = e;
+			},
+			// 勾选版权协议
+			checkboxChange(e) {
+				this.model.agreement = e.value;
+			},
+			// 选择地区回调
+			regionConfirm(e) {
+				this.model.region = e.province.label + '-' + e.city.label + '-' + e.area.label;
+			},
+			// 选择商品类型回调
+			selectConfirm(e) {
+				this.model.goodsType = '';
+				e.map((val, index) => {
+					this.model.goodsType += this.model.goodsType == '' ? val.label : '-' + val.label;
+				});
+			},
+			borderChange(index) {
+				this.border = !index;
+			},
+			radioCheckboxChange(index) {
+				if (index == 0) {
+					this.radioCheckWrap = false;
+					this.radioCheckWidth = 'auto';
+				} else if (index == 1) {
+					this.radioCheckWrap = true;
+					this.radioCheckWidth = 'auto';
+				} else if (index == 2) {
+					this.radioCheckWrap = false;
+					this.radioCheckWidth = '50%';
+				}
+			},
+			labelPositionChange(index) {
+				this.labelPosition = index == 0 ? 'left' : 'top';
+			},
+			codeChange(text) {
+				this.codeTips = text;
+			},
+			// 获取验证码
+			getCode() {
+				if (this.$refs.uCode.canGetCode) {
+					// 模拟向后端请求验证码
+					uni.showLoading({
+						title: '正在获取验证码',
+						mask: true
+					});
+					setTimeout(() => {
+						uni.hideLoading();
+						// 这里此提示会被this.start()方法中的提示覆盖
+						this.$u.toast('验证码已发送');
+						// 通知验证码组件内部开始倒计时
+						this.$refs.uCode.start();
+					}, 2000);
+				} else {
+					this.$u.toast('倒计时结束后再发送');
+				}
+			},
+			errorChange(index) {
+				if (index == 0) this.errorType = ['message'];
+				if (index == 1) this.errorType = ['toast'];
+				if (index == 2) this.errorType = ['border-bottom'];
+				if (index == 3) this.errorType = ['border'];
+			}
+		}
+	};
+</script>
+
+<style scoped lang="scss">
+	.wrap {
+		padding: 30rpx;
+	}
+
+	.agreement {
+		display: flex;
+		align-items: center;
+		margin: 40rpx 0;
+
+		.agreement-text {
+			padding-left: 8rpx;
+			color: $u-tips-color;
+		}
+	}
+</style>
\ No newline at end of file
diff --git a/pages/login/farmer-reg.vue b/sub_pages/farmer/farmer-info/farmer-info.vue
similarity index 73%
rename from pages/login/farmer-reg.vue
rename to sub_pages/farmer/farmer-info/farmer-info.vue
index dec8b1f..0f54ae3 100644
--- a/pages/login/farmer-reg.vue
+++ b/sub_pages/farmer/farmer-info/farmer-info.vue
@@ -21,15 +21,26 @@
 
 				</view>
 			</view>
-			<view class="form-item before-line">
+			<view class="form-item bottom-border-no">
 				<view class="label required" style="width: 360rpx;">店铺头像(750*750px)</view>
 				<view class="m-l-a m-r-0 flex m-t-20 m-b-20">
-					<view class="component-button-upload" @click="uploadIcon('icon')"
-						:style="{'background-image':dto.icon&&`url('${dto.icon}')`||''}">
+					<view class="component-button-upload" @click="uploadIcon('cover')" >
 
 					</view>
 				</view>
 			</view>
+			<view v-if="dto.cover">
+				<view class="flex p20 form-item bottom-border-no" style="padding-top: 0rpx;padding-bottom: 10rpx" >
+					<view class="m-r-10 ">
+						<image class="banner-img" :src="dto.cover" @click.stop="previewImg(dto.cover)">
+				
+						</image>
+						<view class="t-red text-center" @click.stop="deleteImg('cover','')">删除</view>
+					</view>
+				</view>
+			</view>
+			<u-divider></u-divider>
+			
 			<view class="form-item before-line">
 				<view class="label required">姓名</view>
 				<view class="m-l-a m-r-0 flex">
@@ -87,10 +98,10 @@
 			<view class="form-item before-line m-t-20">
 				<view class="label required">选择审核方式</view>
 				<view class="m-l-a m-r-0 flex">
-					
+
 					<u-radio-group v-model="dto.idcardType" placement="row">
-						<u-radio :customStyle="{'margin-bottom': '8px','margin-right': '8px','font-size':'28rpx'}" v-for="(item, index) in shTypeList" :key="index"
-							:label="item.name" :name="item.name">
+						<u-radio :customStyle="{'margin-bottom': '8px','margin-right': '8px','font-size':'28rpx'}"
+							v-for="(item, index) in shTypeList" :key="index" :label="item.name" :name="item.name">
 						</u-radio>
 					</u-radio-group>
 				</view>
@@ -98,27 +109,41 @@
 			<view class="form-item before-line m-t-20 p-b-20" v-if="dto.idcardType=='身份证'">
 				<view class="label required">身份证正反面</view>
 				<view class="m-l-a m-r-0 flex">
-					<view class="component-button-upload m-r-15" @click="uploadIcon('icon')"
-						:style="{'background-image':dto.icon&&`url('${dto.icon}')`||''}">
+					<view class="component-button-upload m-r-15" @click="uploadIcon('idCards')">
 
 					</view>
-					<view class="component-button-upload" @click="uploadIcon('icon')"
-						:style="{'background-image':dto.icon&&`url('${dto.icon}')`||''}">
+					<view class="component-button-upload" @click="uploadIcon('idCards')">
 
 					</view>
+				</view>
+			</view>
+			<view class="flex p20" style="padding-top: 0rpx;padding-bottom: 10rpx"
+				v-if="dto.idCards&&dto.idCards.length>0">
+				<view class="m-t-12 m-r-10 " v-for="(tBanner,index) of dto.idCards" :key="index">
+					<image class="banner-img" :src="tBanner.url" @click.stop="previewImg(tBanner.url)">
+
+					</image>
+					<view class="t-red text-center" @click.stop="deleteImg('idCards',index)">删除</view>
 				</view>
 			</view>
 			<view class="form-item before-line m-t-20 p-b-20" v-if="dto.idcardType=='营业执照'">
 				<view class="label required">营业执照</view>
 				<view class="m-l-a m-r-0 flex">
-					<view class="component-button-upload m-r-15" @click="uploadIcon('icon')"
-						:style="{'background-image':dto.icon&&`url('${dto.icon}')`||''}">
+					<view class="component-button-upload m-r-15" @click="uploadIcon('pictures')">
 
 					</view>
 
 				</view>
 			</view>
+			<view class="flex p20" style="padding-top: 0rpx;padding-bottom: 10rpx"
+				v-if="dto.pictures&&dto.pictures.length>0">
+				<view class="m-t-12 m-r-10 " v-for="(tBanner,index) of dto.pictures" :key="index">
+					<image class="banner-img" :src="tBanner.url" @click.stop="previewImg(tBanner.url)">
 
+					</image>
+					<view class="t-red text-center" @click.stop="deleteImg('pictures',index)">删除</view>
+				</view>
+			</view>
 
 
 
@@ -128,7 +153,9 @@
 
 		</view>
 
-
+		<view style="min-height: 200rpx;">
+			&nbsp;
+		</view>
 		<u-picker @confirm="select_type" keyName="label" @cancel="show_select_type=false" :show="show_select_type"
 			:columns="columns_types"></u-picker>
 
@@ -158,7 +185,9 @@
 				api: '',
 				dto: {
 					id: '',
-					applicationType: '',
+					pictures: [],
+					idCards: [],
+					cover:''
 				},
 				show_select_type: false,
 				show_select_user: false,
@@ -187,31 +216,6 @@
 				this.id = options.id
 				this.getDetail()
 			} else {
-				// this.$http.request('get', '/api/personnel/employee/list', {
-				// 	params: {
-				// 		size: 4000,
-				// 		current: 1
-				// 	}
-				// }).then(res => {
-				// 	this.userListAll = (res.data && res.data.records || []).map(item => {
-				// 		item.label = item.label || item.name || item.nickName || item.loginName || '-'
-				// 		return item
-				// 	})
-				// 	var index = 0
-				// 	this.userList = this.userListAll.map(item => {
-				// 		index += 1
-				// 		return `${index}.` + item.label + (item.tel ? `(${item.tel})` : '')
-				// 	})
-				// 	var arr = this.userListAll.map(item => {
-				// 		return {
-				// 			label: item.label + (item.tel ? `(${item.tel})` : ''),
-				// 			value: item.id
-				// 		}
-				// 	})
-				// 	this.userListCols = [arr]
-
-				// })
-
 
 				this.$http.request('get', '/api/code/value', {
 					params: {
@@ -249,16 +253,18 @@
 				const {
 					code,
 					data
-				} = await this.$http.request('get', "/api/app/application/get/" + this.id, {})
+				} = await this.$http.request('get', "/api/supplier/addOrUpdate/detail/" + this.id, {})
 				if (code == 0) {
 					this.dto = {
 						...data,
 
 					}
-					if (this.dto.applicationDate) {
-						this.dto.applicationDate = this.$util.toDate(new Date(this.dto.applicationDate))
+					if (!this.dto.pictures) {
+						this.dto.pictures = []
 					}
-					// console.log('this.dto', this.dto)
+					if (!this.dto.idCards) {
+						this.dto.idCards = []
+					}
 
 				}
 
@@ -266,29 +272,15 @@
 
 			},
 			async submit() {
-				if (!this.dto.applicationType) {
-					this.$message.showToast('未选择类型')
-					return
-				}
-				if (!this.dto.applicationTitle) {
-					this.$message.showToast('未填写申请主题')
-					return
-				}
-				if (!this.dto.auditPersonId) {
-					this.$message.showToast('未选择审批人')
-					return
-				}
-				await this.$message.confirm(`是否确定提交申请${this.auditPersonName?(",审批人为:"+this.auditPersonName):""}`)
 
-				// this.$message.showToast('1')
-				// return
+				await this.$message.confirm(`是否确定提交/修改店铺信息`)
+
+
 				var dto = {
 					...this.dto,
-					applicationDate: this.$util.toDate(new Date()),
-					applicantId: this.currentInfo.id
 				}
 				this.$message.showLoading()
-				const re = await this.$http.request('post', '/api/app/application/create', {
+				const re = await this.$http.request('post', '/api/supplier/addOrUpdate', {
 					data: dto
 				})
 				this.$message.hideLoading()
@@ -300,28 +292,14 @@
 					this.backpage()
 				}
 			},
-			async submitAudit() {
-				var url = ''
-				if (this.audit_result) {
-					url = '/api/app/application/audit/pass'
-				} else {
-					url = '/api/app/application/audit/reject'
-				}
-				var dto = {
-					id: this.id,
-					auditRemarks: this.audit_remarks
-				}
-				this.show_audit = false
-				this.$message.showLoading()
-				const re = await this.$http.request('post', url, {
-					data: dto
-				})
-				this.$message.hideLoading()
-				if (re.code == 2000 || re.code == 0) {
-					this.$message.showToast('操作成功')
-					this.$store.dispatch('sign_add', 'application');
 
-					this.getDetail()
+			async deleteImg(key, index) {
+				await this.$message.confirm('是否确认删除此图片')
+				if(Array.isArray(this.dto[key])){
+					this.dto[key].splice(index, 1)
+					
+				}else{
+					this.dto[key] = ''
 				}
 			},
 			uploadIcon(key) {
@@ -339,10 +317,15 @@
 							that.$message.showLoading()
 							that.$http.upload(tempFiles[0].path).then(async res => {
 								var pic = res.data && res.data.length > 0 && res.data[
-										0]
-									.url || ''
+									0] || {}
 								that.$message.hideLoading()
-								that.dto[key] = pic || ''
+								if(Array.isArray(that.dto[key])){
+									that.dto[key].push(pic || '')
+									
+								}else{
+									that.dto[key] = (pic || {}).url || ''
+									
+								}
 								that.$forceUpdate()
 							}).catch(res => {
 								that.$message.hideLoading()
@@ -357,12 +340,18 @@
 		computed: {
 			...mapState(['currentInfo'])
 		},
-		components: {
-		}
+		components: {}
 	}
 </script>
 
 <style lang="scss" scoped>
+	.banner-img {
+		width: 96rpx;
+		height: 96rpx;
+		border-radius: 4rpx;
+		border: 2rpx dashed #CECECE;
+	}
+
 	.form-item {
 		// padding: 40rpx;
 		border-bottom: 2rpx solid #F3F3F3;
diff --git a/sub_pages/farmer/farmer-reg/farmer-reg.vue b/sub_pages/farmer/farmer-reg/farmer-reg.vue
new file mode 100644
index 0000000..7313558
--- /dev/null
+++ b/sub_pages/farmer/farmer-reg/farmer-reg.vue
@@ -0,0 +1,358 @@
+<template>
+	<view class="main-container login-container img100" style="margin-top: 0rpx;">
+
+		<view class="t-login top-bg">
+			<view class="nav-title">注册</view>
+			<view class="login">
+				<form class="cl">
+					<view class="t-a titles-top">
+						<view class="title-1">HELLO</view>
+						<view class="title-2">欢迎注册<span class="title-3">花满芜</span></view>
+					</view>
+
+
+					<view class="t-a input" v-if="loginType=='code'">
+						<view class="get-code" :style="{'color':getCodeBtnColor}" @click.stop="getCode()">
+							{{getCodeText}}
+						</view>
+
+						<input type="text" name="userName" placeholder="请输入手机号" v-model="phoneNumber" />
+
+					</view>
+
+
+					<view class="t-a input" v-if="loginType=='code'">
+						<input type="text" name="userName" placeholder="请输入手机验证码" v-model="smsCode" />
+					</view>
+					<view class="t-a input" v-if="loginType=='code'">
+						<input type="text" :password="true" name="password" placeholder="请输入密码" v-model="password" />
+					</view>
+					<button @tap="login()" class="bottom-button">注 册</button>
+
+					<view class="flex">
+						<view class="topic-font m-l-a m-r-0" @click="toLogin">前往登录</view>
+					</view>
+				</form>
+			</view>
+		</view>
+	</view>
+</template>
+<script>
+	// import util from '@/utils/util.js'
+	// import gzmzApi from '@/api/gzmzApi.js'
+	// import myCache from '@/utils/myCache.js'
+	export default {
+		data() {
+			return {
+				openId: '-1',
+
+				userName: '',
+				password: '',
+
+				phoneNumber: '',
+				smsCode: '',
+
+				checked: false,
+				loginType: 'code', //pwd和code,密码和验证码登录
+				pcfvalue: undefined,
+				getCodeText: '获取验证码',
+				getCodeBtnColor: "#20613D",
+				getCodeisWaiting: false,
+				Timer: undefined
+			};
+		},
+		methods: {
+			getCode() {
+				uni.hideKeyboard() //隐藏已经显示的软键盘,如果软键盘没有显示则不做任何操作。
+				if (this.getCodeisWaiting) {
+					return;
+				}
+				if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.phoneNumber))) { //校验手机号码是否有误
+					uni.showToast({
+						title: '请填写正确手机号码',
+						icon: "none"
+					});
+					return false;
+				}
+				this.getCodeText = "发送中..." //发送验证码
+				this.getCodeisWaiting = true;
+				this.getCodeBtnColor = "rgba(255,255,255,0.5)" //追加样式,修改颜色
+				//示例用定时器模拟请求效果
+				//setTimeout(()用于在指定的毫秒数后调用函数或计算表达式
+				setTimeout(() => {
+					uni.showToast({
+						title: '验证码已发送',
+						icon: "none"
+					}); //弹出提示框
+					//示例默认1234,生产中请删除这一句。
+					// this.code = '1234'; //发送验证码,进行填入
+					this.setTimer(); //调用定时器方法
+				}, 1000)
+			},
+			//setTimer: 需要每隔一段时间执行一件事的的时候就需要使用SetTimer函数
+			setTimer() {
+				let holdTime = 60; //定义变量并赋值
+				this.getCodeText = "重新获取(60)"
+				//setInterval()是一个实现定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式。
+				//setInterval方法会不停地调用函数,直到 clearInterval被调用或窗口被关闭。
+				this.Timer = setInterval(() => {
+					if (holdTime <= 0) {
+						this.getCodeisWaiting = false;
+						this.getCodeBtnColor = "#20613D";
+						this.getCodeText = "获取验证码"
+						clearInterval(this.Timer); //清除该函数
+						return; //返回前面
+					}
+					this.getCodeText = "重新获取(" + holdTime + ")"
+					holdTime--;
+				}, 1000)
+			},
+			toLogin() {
+				uni.redirectTo({
+					url: '/pages/login/farmer-login'
+				})
+
+			},
+			changeAll(e) {
+				this.pcfvalue = e.detail.value[0]
+			},
+			async login() {
+				uni.showLoading({
+					title: '登陆中'
+				});
+				var that = this;
+				if (!that.userName) {
+					uni.showToast({
+						title: '请输入用户名',
+						icon: 'none'
+					});
+					return;
+				}
+				if (!that.password) {
+					uni.showToast({
+						title: '请输入密码',
+						icon: 'none'
+					});
+					return;
+				}
+				// if (this.pcfvalue == undefined) {
+				// 	util.showMyToast('必须勾选《用户服务协议》及《隐私政策》');
+				// 	return;
+				// }
+				let post = {
+					username: this.userName,
+					password: this.password,
+					// openId: '123456789'
+				}
+				// const {
+				// code
+				// } = await this.$http.request('get', '/api/login/admin')
+				const resp = await this.$store.dispatch('loginSupplier', post);
+				// uni.hideLoading()
+
+				if (resp.code == 0) {
+
+					// myCache.cache("userToken", res.data.accessToken)
+					// let userRes = await gzmzApi.getMemberInfo();
+					// if (userRes.status) {
+					// 	myCache.cache("userInfo", JSON.stringify(userRes.data))
+					// }
+					// setTimeout(() => {
+					// 	uni.navigateBack();
+					// }, 1000);
+
+				} else {
+					uni.showToast({
+						title: '登录失败!',
+						icon: 'none'
+					});
+					return;
+				}
+
+			},
+			tc1(id) {
+				uni.navigateTo({
+					url: '/pages/users/xieyi?id=' + id,
+				});
+			}
+		}
+	};
+</script>
+
+<style lang="scss" scoped>
+	@import '@/pages/login/login.scss';
+
+	.main-container {
+		margin: 20px 0;
+	}
+
+	.img-a {
+		position: absolute;
+		width: 100%;
+		top: -150rpx;
+		right: 0;
+	}
+
+	.img-b {
+		position: absolute;
+		width: 50%;
+		bottom: 0;
+		left: -120rpx;
+	}
+
+	.to-home {
+		margin-top: 30rpx;
+		font-size: 30rpx;
+		color: #5af;
+		display: flex;
+		flex-direction: row-reverse;
+	}
+
+	.t-login {
+		width: 100%;
+		margin: 0 auto;
+		font-size: 28rpx;
+		color: #000;
+	}
+
+	.t-login .bg {
+		width: 100%;
+		position: relative;
+	}
+
+	.t-login .login {
+		width: 650rpx;
+		margin: 60rpx auto;
+		margin-top: 0rpx;
+		font-size: 28rpx;
+		color: #000;
+	}
+
+	.t-login button {
+		font-size: 28rpx;
+		background: #5677fc;
+		color: #fff;
+		height: 90rpx;
+		line-height: 90rpx;
+		border-radius: 50rpx;
+		box-shadow: 0 5px 7px 0 rgba(86, 119, 252, 0.2);
+	}
+
+	.t-login input {
+		padding: 0 20rpx 0 120rpx;
+		height: 90rpx;
+		line-height: 90rpx;
+		margin-bottom: 50rpx;
+		background: #f8f7fc;
+		border: 1px solid #e9e9e9;
+		font-size: 28rpx;
+		border-radius: 50rpx;
+	}
+
+	.t-login .t-a {
+		position: relative;
+
+		.get-code {
+			position: absolute;
+			right: 40rpx;
+			top: 20rpx;
+		}
+	}
+
+	.t-login .t-a .icon {
+		width: 40rpx;
+		height: 40rpx;
+		position: absolute;
+		left: 24rpx;
+		top: 14rpx;
+		margin-right: 20rpx;
+	}
+
+	.t-login .t-a .line {
+		width: 2rpx;
+		height: 40rpx;
+		background-color: #dedede;
+		position: absolute;
+		top: 28rpx;
+		left: 98rpx;
+	}
+
+	.t-login .t-b {
+		text-align: left;
+		font-size: 46rpx;
+		color: #000;
+		padding: 300rpx 0 30rpx 0;
+		font-weight: bold;
+	}
+
+	.t-login .t-b2 {
+		text-align: left;
+		font-size: 32rpx;
+		color: #aaaaaa;
+		padding: 0rpx 0 120rpx 0;
+	}
+
+	.t-login .t-c {
+		position: absolute;
+		right: 22rpx;
+		top: 22rpx;
+		background: #5677fc;
+		color: #fff;
+		font-size: 24rpx;
+		border-radius: 50rpx;
+		height: 50rpx;
+		line-height: 50rpx;
+		padding: 0 25rpx;
+		z-index: 999;
+	}
+
+	.t-login .t-d {
+		text-align: center;
+		color: #999;
+		margin: 80rpx 0;
+	}
+
+	.t-login .t-e {
+		text-align: center;
+		width: 250rpx;
+		margin: 80rpx auto 0;
+	}
+
+	.t-login .t-g {
+		float: left;
+		width: 50%;
+	}
+
+	.t-login .t-e image {
+		width: 50rpx;
+		height: 50rpx;
+	}
+
+	.t-login .t-f {
+		text-align: center;
+		margin: 200rpx 0 0 0;
+		color: #666;
+	}
+
+	.t-login .t-f text {
+		margin-left: 20rpx;
+		color: #aaaaaa;
+		font-size: 27rpx;
+	}
+
+	.t-login .uni-input-placeholder {
+		color: #000;
+	}
+
+	.cl {
+		zoom: 1;
+	}
+
+	.cl:after {
+		clear: both;
+		display: block;
+		visibility: hidden;
+		height: 0;
+		content: '\20';
+	}
+</style>
\ No newline at end of file
diff --git a/pages/farmer/flower-manage/flower-add.vue b/sub_pages/farmer/flower-manage/flower-add.vue
similarity index 100%
rename from pages/farmer/flower-manage/flower-add.vue
rename to sub_pages/farmer/flower-manage/flower-add.vue
diff --git a/pages/farmer/flower-manage/flower-manage.vue b/sub_pages/farmer/flower-manage/flower-manage.vue
similarity index 79%
rename from pages/farmer/flower-manage/flower-manage.vue
rename to sub_pages/farmer/flower-manage/flower-manage.vue
index 679735d..9734e0a 100644
--- a/pages/farmer/flower-manage/flower-manage.vue
+++ b/sub_pages/farmer/flower-manage/flower-manage.vue
@@ -61,8 +61,10 @@
 					<view class="buttons">
 						<view class="button" @click.stop="toDetail(item)">编辑</view>
 
-						<view class="button" @click.stop="buttonStatus(item,'off')" v-if="item.status=='UP'">下架</view>
-						<view class="button" @click.stop="buttonStatus(item,'up')" v-if="item.status=='OFF'">上架</view>
+						<view class="button" @click.stop="buttonStatus(item,'FORCE_OFF')"
+							v-if="item.status=='FORCE_UP'">下架</view>
+						<view class="button" @click.stop="buttonStatus(item,'FORCE_UP')"
+							v-if="item.status=='FORCE_OFF'">上架</view>
 						<view class="button" @click.stop="openValue(item,'price')">价格</view>
 						<view class="button" @click.stop="openValue(item,'stock')">库存</view>
 						<view class="button" @click.stop="toDetailAdd(item)">复制</view>
@@ -77,16 +79,35 @@
 		<!-- 判断是否到底了,自动吧 -->
 		<footer-msg :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
 
-		<uni-popup ref="popup_input" type="bottom">
-			<view class="component-popup_input">
+		<uni-popup ref="popup_input" type="bottom" :mask-click="false">
+			<view class="component-popup_input white w-fit" style="padding-bottom: 0rpx;padding: 0px;">
+				<view class="p20" style="padding-bottom: 10rpx;">
+					<view class="title" v-if="currentInputKey=='price'">
+						修改价格
+					</view>
+					<view class="title" v-if="currentInputKey=='stock'">
+						修改库存
+					</view>
 
-				<!-- 输入框-->
+					<!-- 输入框-->
+					<view class="flex w-fit">
 
-				<u-input class="bg-white"  v-model="content" :placeholder="inputplaceholder" type="digit" v-if="currentInputKey=='price'"/>
-				<u-input  class="bg-white"  v-model="content" :placeholder="inputplaceholder" type="number" v-if="currentInputKey=='stock'"/>
+						<u-input v-model="content" :placeholder="inputplaceholder" type="digit"
+							style="max-width: 390rpx;background-color: #F2F2F2;" v-if="currentInputKey=='price'" />
+						<view v-if="currentInputKey=='price'" class="m-l-10" style="line-height: 78rpx;">元</view>
 
+						<u-input v-model="content" :placeholder="inputplaceholder" type="number"
+							style="max-width: 390rpx;background-color: #F2F2F2;" v-if="currentInputKey=='stock'" />
+					</view>
+				</view>
 				<!-- 提交按钮 -->
-				<view class="button-green" @click="submitValue">提交</view>
+				<view class="line-gray" style="margin-bottom: 0px;"></view>
+				<view class="flex">
+					<u-button type="default" class="w-fit  flex1 " text="取消"
+						@click="()=>{$refs.popup_input.close()}"></u-button>
+					<view class="component-line-vert"></view>
+					<u-button type="default" class="w-fit flex1 topic-font" t text="确定" @click="submitValue"></u-button>
+				</view>
 			</view>
 		</uni-popup>
 	</view>
@@ -103,27 +124,37 @@
 				content: '',
 				currentInputDto: {},
 				currentInputKey: '',
-				inputplaceholder:'',
+				inputplaceholder: '',
 			}
 		},
 		onLoad(options) {
 			this.type = options.type || 'all'
+			var title = ''
 			//todo 根据type切换查询条件
 			if (this.type === 'delete') {
 				this.listApi = '/api/supplier/flower/list/rc'
-
+				title = '商品管理-已删除'
 			} else {
+
 				this.listApi = '/api/supplier/flower/list'
 				this.query.status = ''
 				if (this.type === 'inpass') {
 					this.query.status = 'PENDING'
+					title = '商品管理-待审核'
 				}
 				if (this.type === 'in') {
 					this.query.status = 'UP'
+					title = '商品管理-已上架'
 				}
 				if (this.type === 'unpass') {
 					this.query.status = 'REJECT'
+					title = '商品管理-审核拒绝'
 				}
+			}
+			if (title) {
+				uni.setNavigationBarTitle({
+					title: title
+				})
 			}
 			this.getList()
 		},
@@ -141,7 +172,7 @@
 				this.content = item[key] || ''
 				this.currentInputDto = item
 				this.currentInputKey = key
-				this.inputplaceholder = key=='price'&&'请输入价格(元)' || key=='stock'&&'请输入库存(整数)'  || '请输入'
+				this.inputplaceholder = key == 'price' && '请输入价格(元)' || key == 'stock' && '请输入库存(整数)' || '请输入'
 				this.$refs.popup_input.open('top')
 			},
 			async submitValue() {
@@ -186,7 +217,7 @@
 				})
 			},
 			async buttonStatus(item, status) {
-				await this.$message.confirm(`确定${status==='off'?'下降':'上架'}此商品吗`)
+				await this.$message.confirm(`确定${status==='FORCE_OFF'?'下降':'上架'}此商品吗`)
 				this.$message.showLoading()
 				this.$http.request('get', '/api/supplier/flower/list/' + status, {
 					params: {
@@ -196,7 +227,7 @@
 					if (res.code == 0) {
 						this.$message.showToast('操作成功')
 						item.status = status
-						item.statusStr = (status == 'off' ? '下架' : '上架')
+						item.statusStr = (status == 'FORCE_OFF' ? '下架' : '上架')
 					}
 				}).finally(() => {
 					this.$message.hideLoading()
@@ -335,16 +366,18 @@
 				// min-width: 90rpx;
 				flex: 4;
 				// max-width: 90rpx;
-				margin-left:14rpx;
-				margin-right:14rpx;
+				margin-left: 14rpx;
+				margin-right: 14rpx;
 			}
 
 			.button:first-child {
 				margin-left: 0rpx
 			}
+
 			.button:last-child {
 				margin-right: 0rpx
 			}
+
 			.button-add {
 				background-image: url('@/static/images/farmer/flower/flower-mange-icon-add-flower.png');
 
diff --git a/pages/farmer/order-records/order-records.vue b/sub_pages/farmer/order-records/order-records.vue
similarity index 100%
rename from pages/farmer/order-records/order-records.vue
rename to sub_pages/farmer/order-records/order-records.vue
diff --git a/pages/farmer/order-sale/order-sale.vue b/sub_pages/farmer/order-sale/order-sale.vue
similarity index 100%
rename from pages/farmer/order-sale/order-sale.vue
rename to sub_pages/farmer/order-sale/order-sale.vue
diff --git a/pages/farmer/order-settlement/order-settlement.vue b/sub_pages/farmer/order-settlement/order-settlement.vue
similarity index 100%
rename from pages/farmer/order-settlement/order-settlement.vue
rename to sub_pages/farmer/order-settlement/order-settlement.vue

--
Gitblit v1.9.3