From e5a77d6a551d13e4cf74624b31b0fa3e328b304d Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期四, 23 一月 2025 17:23:39 +0800
Subject: [PATCH] -

---
 src/pages/enterprise/enterprise.vue |  217 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 182 insertions(+), 35 deletions(-)

diff --git a/src/pages/enterprise/enterprise.vue b/src/pages/enterprise/enterprise.vue
index 5c895da..a33f721 100644
--- a/src/pages/enterprise/enterprise.vue
+++ b/src/pages/enterprise/enterprise.vue
@@ -1,47 +1,47 @@
 <template>
-	<view class="full-page">
+	<view class="full-page-fff">
 		<view class="content">
-			<up-form labelPosition="left" :model="enterpriseInfo" :rules="rules" ref="form1" labelWidth='90'>
-				<up-form-item label="鍏徃钀ヤ笟鎵х収" prop="enterpriseInfo.businessLicense" required borderBottom ref="item1">
-					<fui-upload immediate :url="`${apiBaseUrl}api/UpFile/UpBizLicense`" ref="uploadB" max='1'
+			<up-form labelPosition="left" :model="enterpriseInfo" :rules="rules" ref="formRef" labelWidth='90'>
+				<up-form-item label="钀ヤ笟鎵х収" prop="businessLicense" required ref="item1">
+					<fui-upload immediate :url="`${apiBaseUrl}/api/UpFile/UpBizLicense`" ref="uploadB" max='1'
 						background='#fff' @success="success" @error="error" @complete="complete" width="300"
-						height="150">
-						<image
-							:src="enterpriseInfo.businessLicense?enterpriseInfo.businessLicense:'/static/enterprise.png'"
-							mode="widthFix" style="width: 300rpx;height: 150rpx;"></image>
+						:sizeType='sizeType' height="150">
+						<image src="/static/enterprise.png" mode="widthFix" style="width: 300rpx;height: 150rpx;">
+						</image>
 					</fui-upload>
 					<!-- <template #right>
 						<up-icon name="arrow-right"></up-icon>
 					</template> -->
 				</up-form-item>
-				<up-form-item label="浼佷笟鍚嶇О" required prop="enterpriseInfo.suppliername" borderBottom ref="item1">
+				<up-form-item label="浼佷笟鍚嶇О" required prop="suppliername" ref="item1">
 					<up-input v-model="enterpriseInfo.suppliername" border="none" placeholder="璇疯緭鍏ヤ紒涓氬悕绉�"
 						readonly></up-input>
 				</up-form-item>
-				<up-form-item label="浼佷笟娉ㄥ唽鍙�" required prop="enterpriseInfo.suppliercode" borderBottom ref="item1">
+				<up-form-item label="浼佷笟娉ㄥ唽鍙�" required prop="suppliercode" ref="item1">
 					<up-input v-model="enterpriseInfo.suppliercode" border="none" placeholder="璇疯緭鍏ヤ紒涓氭敞鍐屽彿"
 						readonly></up-input>
 				</up-form-item>
-				<up-form-item label="娉ㄥ唽鏃堕棿" required prop="enterpriseInfo.regtime" borderBottom ref="item1">
+				<up-form-item label="娉ㄥ唽鏃堕棿" required prop="regtime" ref="item1">
 					<up-input v-model="enterpriseInfo.regtime" border="none" placeholder="璇疯緭鍏ヤ紒涓氭敞鍐屽彿" readonly></up-input>
 				</up-form-item>
-				<up-form-item label="浼佷笟娉ㄥ唽鍦板潃" required prop="enterpriseInfo.address" borderBottom ref="item1">
-					<up-input v-model="enterpriseInfo.address" border="none" placeholder="璇疯緭鍏ヤ紒涓氭敞鍐屽湴鍧�"
-						readonly></up-input>
+				<up-form-item label="浼佷笟鍦板潃" required prop="address" ref="item1">
+					<up-input v-model="enterpriseInfo.address" border="none" placeholder="璇疯緭鍏ヤ紒涓氬湴鍧�" readonly></up-input>
 				</up-form-item>
-				<up-form-item label="鑱旂郴浜�" required prop="enterpriseInfo.contact" borderBottom ref="item1">
+				<up-form-item label="鑱旂郴浜�" required prop="contact" ref="item1">
 					<up-input v-model="enterpriseInfo.contact" border="none" placeholder="璇疯緭鍏ヨ仈绯讳汉"></up-input>
 				</up-form-item>
-				<up-form-item label="鑱旂郴鐢佃瘽" required prop="enterpriseInfo.phone" borderBottom ref="item1">
+				<up-form-item label="鑱旂郴鐢佃瘽" required prop="phone" ref="item1">
 					<up-input v-model="enterpriseInfo.phone" border="none" placeholder="璇疯緭鍏ヨ仈绯荤數璇�"></up-input>
 				</up-form-item>
 
-				<up-form-item label="鍏徃绠�浠�" required prop="enterpriseInfo.resume" borderBottom ref="item1">
-					<up-textarea v-model="enterpriseInfo.resume" count placeholder="璇疯緭鍏ュ叕鍙哥畝浠�"
-						maxlength='800'></up-textarea>
+				<up-form-item label="鍏徃绠�浠�" required prop="resume" ref="item1">
+
 				</up-form-item>
+				<up-textarea v-model="enterpriseInfo.resume" count placeholder="璇疯緭鍏ュ叕鍙哥畝浠�" height='200'
+					maxlength='800'></up-textarea>
 				<view class="tabbtns">
-					<up-button color='#fece01' class="text-69" text="淇濆瓨"></up-button>
+					<up-button color='#fece01' text="淇濆瓨" :loading='isLoading' loadingText="淇濆瓨涓�"
+						@click="saveUserCompany"></up-button>
 				</view>
 			</up-form>
 		</view>
@@ -54,22 +54,127 @@
 		apiBaseUrl
 	} from '@/common/setting/constVarsHelper.js';
 	import {
+		onLoad,
+		onShow,
+		onReady
+	} from "@dcloudio/uni-app";
+	import {
+		useStore
+	} from 'vuex'
+	const store = useStore()
+	let sizeType = ['compressed']
+	let rules = {
+		businessLicense: {
+			required: true,
+			message: '钀ヤ笟鎵х収涓嶈兘涓虹┖',
+			trigger: ['blur', 'change']
+		}, //钀ヤ笟鎵х収璺緞
+		suppliername: {
+			required: true,
+			message: '浼佷笟鍚嶇О涓嶈兘涓虹┖',
+			trigger: ['blur', 'change']
+		}, //浼佷笟鍚嶇О
+		regtime: {
+			required: true,
+			message: '娉ㄥ唽鏃堕棿涓嶈兘涓虹┖',
+			trigger: ['blur', 'change']
+		}, //娉ㄥ唽鏃堕棿
+		address: {
+			required: true,
+			message: '浼佷笟鍦板潃涓嶈兘涓虹┖',
+			trigger: ['blur', 'change']
+		}, //鑱旂郴鍦板潃
+		suppliercode: {
+			required: true,
+			message: '浼佷笟娉ㄥ唽鍙蜂笉鑳戒负绌�',
+			trigger: ['blur', 'change']
+		}, //浼佷笟娉ㄥ唽鍙�
+		contact: {
+			required: true,
+			message: '鑱旂郴浜轰笉鑳戒负绌�',
+			trigger: ['blur', 'change']
+		}, //鑱旂郴浜�
+		resume: {
+			required: true,
+			message: '鍏徃绠�浠嬩笉鑳戒负绌�',
+			trigger: ['blur', 'change']
+		}, //鍏徃绠�浠�
+		phone: [{
+				required: true,
+				message: '鑱旂郴鐢佃瘽涓嶈兘涓虹┖',
+				trigger: ['blur', 'change']
+			}
+			// ,{
+			// 	// 鑷畾涔夐獙璇佸嚱鏁帮紝瑙佷笂璇存槑
+			// 	validator: (rule, value, callback) => {
+			// 		// 涓婇潰鏈夎锛岃繑鍥瀟rue琛ㄧず鏍¢獙閫氳繃锛岃繑鍥瀎alse琛ㄧず涓嶉�氳繃
+			// 		// uni.$u.test.mobile()灏辨槸杩斿洖true鎴栬�協alse鐨�
+			// 		return uni.$u.test.mobile(value);
+			// 	},
+			// 	message: '鑱旂郴鐢佃瘽涓嶆纭�',
+			// 	// 瑙﹀彂鍣ㄥ彲浠ュ悓鏃剁敤blur鍜宑hange
+			// 	trigger: ['change','blur'],
+			// },
+		]
+	}
+	import {
 		ref,
-		reactive
+		reactive,
+		getCurrentInstance,
+		onMounted
 	} from 'vue';
-
-	// 浣跨敤 reactive 鍒涘缓鍝嶅簲寮忕姸鎬�  
-	const state = reactive({
-		showSex: false,
-
-
-
-		radio: '',
-		switchVal: false,
-	});
-
+	const {
+		$upload,
+		$api,
+		$util,
+		$db
+	} = getCurrentInstance().appContext.config.globalProperties
+	let uploadB = ref()
+	onLoad(() => {
+		const userToken = $db.get("userToken");
+		if (!userToken) {
+			uni.showToast({
+				title: '璇峰厛鐧诲綍锛�',
+				icon: 'none',
+				duration: 1000,
+				complete: function() {
+					setTimeout(function() {
+							uni.hideToast();
+							uni.navigateTo({
+								url: '/pages/login/index'
+							});
+						},
+						1000);
+				}
+			});
+		}
+		let data = $db.get('userInfo') ? $db.get('userInfo').userCompany : null
+		if (data) {
+			enterpriseInfo.businessLicense = data.businessLicense
+			enterpriseInfo.suppliername = data.suppliername //浼佷笟鍚嶇О
+			enterpriseInfo.regtime = data.regtime //娉ㄥ唽鏃堕棿
+			enterpriseInfo.address = data.address //鑱旂郴鍦板潃
+			enterpriseInfo.suppliercode = data.suppliercode //浼佷笟娉ㄥ唽鍙�
+			enterpriseInfo.contact = data.contact //鑱旂郴浜�
+			enterpriseInfo.phone = data.phone //鑱旂郴鐢佃瘽
+			enterpriseInfo.id = data.id
+			enterpriseInfo.resume = data.resume
+		}
+	})
+	let isLoading = ref(false)
 	// 浣跨敤 ref 鍒涘缓鍝嶅簲寮忓紩鐢�  
 	const formRef = ref(null);
+	onReady(() => {
+		formRef.value.setRules(rules);
+		if (enterpriseInfo.businessLicense) {
+			uploadB.value.urls = [enterpriseInfo.businessLicense]
+			uploadB.value.status = ['success']
+		}
+	})
+	onMounted(() => {
+		formRef.value.setRules(rules);
+		console.log(formRef.value, 'formRef'); // 璁块棶瀛愮粍浠禗emo涓殑灞炴��
+	});
 	const enterpriseInfo = reactive({
 		id: 0, //鐢ㄦ埛鍏徃Id
 		businessLicense: '', //钀ヤ笟鎵х収璺緞
@@ -83,16 +188,26 @@
 	})
 
 	//涓婁紶鎴愬姛鏃惰Е鍙�
-	const success = (text, e) => {
+	const success = (e) => {
 		//e.res 涓烘湇鍔″櫒杩斿洖鏁版嵁
 		//涓婁紶鎴愬姛鍥炶皟锛屽鐞嗘湇鍔″櫒杩斿洖鏁版嵁銆愭澶勬牴鎹疄闄呰繑鍥炴暟鎹繘琛屽鐞嗐��
 		let res = JSON.parse(e.res.data.replace(/\ufeff/g, "") || "{}")
-		console.log(res.data, 'res.data');
+		console.log(res.data);
 		if (res.data.url) {
 			enterpriseInfo.businessLicense = res.data.url
-
+			enterpriseInfo.suppliername = res.data.info.name //浼佷笟鍚嶇О
+			enterpriseInfo.regtime = res.data.info.setDate //娉ㄥ唽鏃堕棿
+			enterpriseInfo.address = res.data.info.address //鑱旂郴鍦板潃
+			enterpriseInfo.suppliercode = res.data.info.regNum //浼佷笟娉ㄥ唽鍙�
+			enterpriseInfo.contact = res.data.info.person //鑱旂郴浜�
 		}
 	}
+	const isTelephone = (value) => {
+		value = value.replace(/[^-|\d]/g, '');
+		return /^((\+86)|(86))?(1)\d{10}$/.test(value) || /^0[0-9-]{10,13}$/.test(value);
+	}
+
+
 	//涓婁紶澶辫触鏃惰Е鍙�
 	const error = (e) => {}
 	//閫夋嫨鍥剧墖鎴栦笂浼犲畬鎴愭椂瑙﹀彂
@@ -103,6 +218,34 @@
 		console.log(e, '鍒犻櫎')
 
 	}
+	const getUserInfo = async () => {
+		await store.dispatch('getUserInfo')
+		uni.navigateBack()
+		$util.showToast({
+			title: "淇濆瓨鎴愬姛锛�",
+			icon: "success"
+		})
+	}
+	const saveUserCompany = () => {
+		formRef.value.validate().then(res => {
+			isLoading.value = true
+			$api.saveUserCompany(enterpriseInfo).then(res => {
+				if (res.code == 1) {
+					getUserInfo()
+
+				} else {
+					$util.showToast({
+						title: res.msg ? res.msg : res.error
+					})
+				}
+				isLoading.value = false
+			})
+		}).catch(errors => {
+			console.log(errors)
+			uni.$u.toast(errors[0].message)
+		})
+
+	}
 </script>
 
 <style>
@@ -110,4 +253,8 @@
 		background-color: #fff;
 		padding: 0 20rpx;
 	}
+
+	.u-form-item__body {
+		padding: 5px 0 !important;
+	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.1