From 112e2bd2764dd96e1b81439a01882769100b92c1 Mon Sep 17 00:00:00 2001
From: 陶杰 <1378534974@qq.com>
Date: 星期五, 13 十二月 2024 11:04:00 +0800
Subject: [PATCH] 1.子账号相关修改

---
 sub_pages/supplier/sub-account/sub-account-list.vue        |    4 
 sub_pages/supplier/sub-account/sub-account-switch-list.vue |   16 +++-
 pages/home/supplier-home.vue                               |   52 ++++++++++++----
 sub_pages/supplier/sub-account/sub-account-reg.vue         |   35 +++++++++++
 pages/user/supplier-user.vue                               |   55 +++++++++++++++---
 store/index.js                                             |    3 
 6 files changed, 133 insertions(+), 32 deletions(-)

diff --git a/pages/home/supplier-home.vue b/pages/home/supplier-home.vue
index f7c9542..48f8ceb 100644
--- a/pages/home/supplier-home.vue
+++ b/pages/home/supplier-home.vue
@@ -37,10 +37,13 @@
 				<image class="user-icon" v-if="currentInfo.picture" :src="currentInfo.picture" mode="aspectFit"></image> -->
 
 				<view class="name">
-					<view class="t1 flex" style="align-items: center; justify-content: space-between;">
+					<view class="t1 flex" style="align-items: center; justify-content: start;">
 						<!-- {{ (!!currentInfo.supplierDTO?(currentInfo.supplierDTO.name):"") || currentInfo.nickName || currentInfo.loginName || '-'}} -->
 						<span v-if="currentInfo.partnerDTO && currentInfo.partnerDTO.name">
 							{{ currentInfo.partnerDTO.name }}
+						</span>
+						<span v-else-if="currentInfo.supplierSub && currentInfo.supplierSub.name">
+							{{ currentInfo.supplierSub.name }}
 						</span>
 						<span v-else-if="currentInfo.supplierDTO && currentInfo.supplierDTO.name">
 							{{ currentInfo.supplierDTO.name }}
@@ -61,14 +64,22 @@
 						<span v-if="currentInfo.partnerDTO && currentInfo.partnerDTO.status !== 'P'">
 							({{ currentInfo.partnerDTO ? currentInfo.partnerDTO.statusStr : '' }})</span>
 						<span v-if="!currentInfo.partnerDTO && currentInfo.type === 'partner'">(信息待完善)</span>
-							
-						<u--image v-if="selftype === 'supplier' && currentInfo.switchFlag "
-							src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/fa/fa6585cd52d54156b5d64fa59af58180switch.png"
-							width="10px" height="10px" style="margin-left: 10px; margin-right: 10px;"
-							@click="switchSubAccount"></u--image>
-						<u--text v-if="selftype === 'supplier' && currentInfo.switchFlag " style="color: black;" text="切换账号" @click="switchSubAccount"></u--text>
+						<view v-if="selftype === 'supplier' && currentInfo.switchFlag " style="margin-left: 10px; display: flex; justify-content: start; align-items: center;">
+							<u--image v-if="selftype === 'supplier' && currentInfo.switchFlag "
+								src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/96/96f6ea502bac4360bf35399e86e463efswitch2.png"
+								width="10px" height="10px" style="margin-left: 20px; margin-right: 20px;"
+								@click="switchSubAccount"></u--image>
+							<!-- <u--text v-if="selftype === 'supplier' && currentInfo.switchFlag " style="color: black;" text="切换账号" @click="switchSubAccount"></u--text> -->
+							<view  v-if="selftype === 'supplier' && currentInfo.switchFlag "  @click="switchSubAccount" style="font-size: 10px; ">切换账号</view>
+						</view>
 					</view>
-					<view class="t2">{{ currentInfo.tel || '暂无电话' }}</view>
+					<view class="t2 flex " style="align-items: center; justify-content: start;" >
+						<view>{{ currentInfo.supplierSub.phone || currentInfo.tel || '暂无电话' }}</view>
+						<view v-if="selftype === 'supplier'">
+							<view v-if="currentInfo.isSubSupplier" class="account_sub  m-l-a m-r-0"  >子账号</view>
+							<view v-else class="account_sub  m-l-a m-r-0"  >主账号</view>
+						</view>
+					</view>
 					<view class="t2" v-if="currentInfo.partnerDTO && currentInfo.partnerDTO.id">
 						ID: {{ currentInfo.partnerDTO.id }}
 					</view>
@@ -338,12 +349,13 @@
 	},
 	async onPullDownRefresh() {
 		// 需要判断当前是否是子账号,如果是子账号则需要刷新账号切换的信息
-		const currentInfo = this.$store.state.currentInfo
-		if(currentInfo&&currentInfo.supplierSub&&currentInfo.supplierSub.id){
-			await this.$store.dispatch('getSwitchSubAccount',currentInfo.supplierSub)
-		}else{
-			await this.$store.dispatch('getCurrentInfo')
-		}
+		// const currentInfo = this.$store.state.currentInfo
+		// if(currentInfo&&currentInfo.supplierSub&&currentInfo.supplierSub.id){
+		// 	await this.$store.dispatch('getSwitchSubAccount',currentInfo.supplierSub)
+		// }else{
+		// 	await this.$store.dispatch('getCurrentInfo')
+		// }
+		await this.$store.dispatch('getCurrentInfo')
 		await this.getTj(true)
 		uni.stopPullDownRefresh()
 	},
@@ -635,4 +647,16 @@
   box-sizing: border-box;
   margin-bottom: 10px; 
 }
+.account_sub {
+    width: 80rpx;
+    height: 24rpx;
+    border-radius: 30rpx;
+    border: 2rpx solid #23A9F2;
+    font-size: 18rpx;
+    color: white;
+    line-height: 20rpx;
+    text-align: center;
+    background-color: #23A9F2;
+    margin-left: 10px !important;
+}
 </style>
\ No newline at end of file
diff --git a/pages/user/supplier-user.vue b/pages/user/supplier-user.vue
index 3aea900..319d298 100644
--- a/pages/user/supplier-user.vue
+++ b/pages/user/supplier-user.vue
@@ -34,12 +34,16 @@
 					mode="scaleToFill"></image>
 
 				<view class="name" v-if="currentInfo.id">
-					<view class="t1">
+					<view class="t1 flex" style="align-items: center; justify-content: start;">
+					<!-- <view class="t1"> -->
 						<!-- {{
               (!!currentInfo.partnerDTO ? (currentInfo.partnerDTO.name) : "") ||  (!!currentInfo.supplierDTO ? (currentInfo.supplierDTO.name) : "") || (!!currentInfo.customerDTO ? (currentInfo.customerDTO.name) : "") || currentInfo.nickName || currentInfo.loginName || '-'
             }} -->
 						<span v-if="currentInfo.partnerDTO && currentInfo.partnerDTO.name">
 							{{ currentInfo.partnerDTO.name }}
+						</span>
+						<span v-else-if="currentInfo.supplierSub && currentInfo.supplierSub.name">
+							{{ currentInfo.supplierSub.name }}
 						</span>
 						<span v-else-if="currentInfo.supplierDTO && currentInfo.supplierDTO.name">
 							{{ currentInfo.supplierDTO.name }}
@@ -98,8 +102,22 @@
 
 						</span>
 						<!-- #endif -->
+						<view v-if="selftype === 'supplier' && currentInfo.switchFlag " style="margin-left: 10px; display: flex; justify-content: start; align-items: center;">
+							<u--image v-if="selftype === 'supplier' && currentInfo.switchFlag "
+								src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/96/96f6ea502bac4360bf35399e86e463efswitch2.png"
+								width="10px" height="10px" style="margin-left: 20px; margin-right: 20px;"
+								@click="switchSubAccount"></u--image>
+							<!-- <u--text v-if="selftype === 'supplier' && currentInfo.switchFlag " style="color: black;" text="切换账号" @click="switchSubAccount"></u--text> -->
+							<view  v-if="selftype === 'supplier' && currentInfo.switchFlag "  @click="switchSubAccount" style="font-size: 10px; ">切换账号</view>
+						</view>
 					</view>
-					<view class="t2">{{ currentInfo.tel || '暂无电话' }}</view>
+					<view class="t2 flex " style="align-items: center; justify-content: start;" >
+						<view>{{ currentInfo.supplierSub.phone || currentInfo.tel || '暂无电话' }}</view>
+						<view v-if="selftype === 'supplier'">
+							<view v-if="currentInfo.isSubSupplier" class="account_sub  m-l-a m-r-0"  >子账号</view>
+							<view v-else class="account_sub  m-l-a m-r-0"  >主账号</view>
+						</view>
+					</view>
 				</view>
 				<view class="name" v-if="!currentInfo.id" open-type="getUserInfo" @click.stop="toCustomerLogin"
 					style="font-size: 48rpx;margin-top: 16rpx;">
@@ -647,15 +665,21 @@
 
 	async onPullDownRefresh() {
 		// 需要判断当前是否是子账号,如果是子账号则需要刷新账号切换的信息
-		const currentInfo = this.$store.state.currentInfo
-		if (currentInfo && currentInfo.supplierSub && currentInfo.supplierSub.id) {
-			await this.$store.dispatch('getSwitchSubAccount', currentInfo.supplierSub)
-		} else {
-			await this.$store.dispatch('getCurrentInfo')
-		}
+		// const currentInfo = this.$store.state.currentInfo
+		// if (currentInfo && currentInfo.supplierSub && currentInfo.supplierSub.id) {
+		// 	await this.$store.dispatch('getSwitchSubAccount', currentInfo.supplierSub)
+		// } else {
+		// 	await this.$store.dispatch('getCurrentInfo')
+		// }
+		await this.$store.dispatch('getCurrentInfo')
 		uni.stopPullDownRefresh()
 	},
 	methods: {
+		switchSubAccount() {
+			uni.navigateTo({
+				url: '/sub_pages/supplier/sub-account/sub-account-switch-list'
+			})
+		},
 		async bindPartnerUser(userId, name) {
 			// await this.$message.confirm(`确定要绑定${name}合伙人吗?`)
 			//调用接口绑定
@@ -822,4 +846,17 @@
 @import "./user-customer.scss";
 </style>
 <!-- #endif -->
-<style lang="scss" scoped></style>
\ No newline at end of file
+<style lang="scss" scoped>
+.account_sub {
+    width: 80rpx;
+    height: 24rpx;
+    border-radius: 30rpx;
+    border: 2rpx solid #23A9F2;
+    font-size: 18rpx;
+    color: white;
+    line-height: 20rpx;
+    text-align: center;
+    background-color: #23A9F2;
+    margin-left: 10px !important;
+}
+</style>
\ No newline at end of file
diff --git a/store/index.js b/store/index.js
index 16b907a..146839b 100644
--- a/store/index.js
+++ b/store/index.js
@@ -223,7 +223,8 @@
 
 			const currentInfo = await http.request('get', '/api/supplierSub/getSwitchById', {
 				params: {
-					id:payload.id
+					id:payload.id,
+					type:payload.type
 				}
 			})
 			if (currentInfo && currentInfo.code == 0) {
diff --git a/sub_pages/supplier/sub-account/sub-account-list.vue b/sub_pages/supplier/sub-account/sub-account-list.vue
index 0cc5cf2..979e4aa 100644
--- a/sub_pages/supplier/sub-account/sub-account-list.vue
+++ b/sub_pages/supplier/sub-account/sub-account-list.vue
@@ -10,8 +10,8 @@
 			<view slot="title" class="cell-title">{{ item.name }}</view>
 			<view slot="label" class="cell-lable">{{ item.contact }} {{ item.phone }}</view>
 			<view slot="value" class="cell-value" >	
-			  <u-icon name="edit-pen" @click="handleEdit(item)"></u-icon>
-			  <u-icon name="trash"  @click="handleDel(item)"></u-icon>
+			  <u-icon name="edit-pen" @click="handleEdit(item)" size="40"></u-icon>
+			  <u-icon name="trash"  @click="handleDel(item)" size="40"></u-icon>
 			</view>
 		  </u-cell>
 		</u-cell-group>
diff --git a/sub_pages/supplier/sub-account/sub-account-reg.vue b/sub_pages/supplier/sub-account/sub-account-reg.vue
index 7b4d524..39d3bef 100644
--- a/sub_pages/supplier/sub-account/sub-account-reg.vue
+++ b/sub_pages/supplier/sub-account/sub-account-reg.vue
@@ -28,7 +28,7 @@
 						<u--input type="password" v-model="userInfo.password" border="none" placeholder="请输入密码" clearable></u--input>
 					</u-form-item>
 					<u-form-item required label="账号状态" prop="isEnabled" borderBottom>
-						<u-switch v-model="userInfo.isEnabled" size="50"></u-switch>
+						<u-switch v-model="userInfo.isEnabled" size="50" @change="handleSwitchchange"></u-switch>
 					</u-form-item>
 				</u--form>
 				<u-button type="primary" text="提交" customStyle="margin-top: 50px" @click="submit"></u-button>
@@ -269,6 +269,39 @@
 			
 		},
 
+		async handleSwitchchange(e){
+			if(this.userInfo.id){
+				// 账号的启用,禁用
+				const {
+					code,data
+				} = await this.$http.request('get', '/api/supplierSub/page/isEnable', {
+					params: {
+						id:this.userInfo.id
+					}
+				})
+				if (code == 0) {
+					uni.$u.toast('状态修改成功!');
+				} else {
+					this.userInfo.isEnabled=!e
+					uni.$u.toast('状态修改失败!');
+				}
+				// 还是需要将状态信息重新获取下
+				// const {code2,data2} =await this.getSubAccountById()
+				// if(code2==0){
+				// 	this.userInfo.isEnabled=data2.isEnabled
+				// }
+			}
+		},
+
+		async getSubAccountById(){
+			return await this.$http.request('get', '/api/supplierSub/getById', {
+				params: {
+					id:this.userInfo.id
+				}
+			})
+			
+		},
+
 	},
 }
 </script>
diff --git a/sub_pages/supplier/sub-account/sub-account-switch-list.vue b/sub_pages/supplier/sub-account/sub-account-switch-list.vue
index 1b7bba3..e21c2c1 100644
--- a/sub_pages/supplier/sub-account/sub-account-switch-list.vue
+++ b/sub_pages/supplier/sub-account/sub-account-switch-list.vue
@@ -32,14 +32,15 @@
 	data() {
 		return {
 			curSubAccount:'',
-			listApi:'/api/supplierSub/sub/all',
+			listApi:'/api/supplierAccount/all',
 		};
 	},
 	onLoad(options) { 
-		this.getCurrentSubAccount()
+		// this.getCurrentSubAccount()
 	},
-	onShow() {
-		this.getList();
+	async onShow() {
+		await this.getList();
+		this.getCurrentSubAccount()
 	},
 	async onPullDownRefresh() {
 		this.getList();
@@ -48,7 +49,12 @@
 
 		getCurrentSubAccount(){
 			const currentInfo = this.$store.state.currentInfo
-			this.curSubAccount=currentInfo?.supplierSub?.id
+			if(this.currentInfo.supplierSub){
+				this.curSubAccount=currentInfo?.supplierSub?.id
+			}else{
+				this.curSubAccount=this.list[0].id
+			}
+			
 		},
 
 		async handleSwitchSubAccount(item) {

--
Gitblit v1.9.3