From 155f2b80f2a9b6f900c73f6e4461e9cebb7cd028 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期二, 10 十月 2023 17:12:20 +0800
Subject: [PATCH] #

---
 pages/business/cstmr/addCsmtr.vue |  255 +++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 209 insertions(+), 46 deletions(-)

diff --git a/pages/business/cstmr/addCsmtr.vue b/pages/business/cstmr/addCsmtr.vue
index 68579d3..569908b 100644
--- a/pages/business/cstmr/addCsmtr.vue
+++ b/pages/business/cstmr/addCsmtr.vue
@@ -2,83 +2,246 @@
 	<view>
 		<view class="container">
 			<uni-forms ref="baseForm" :modelValue="baseFormData">
-				<uni-forms-item label="瀹㈡埛鍚嶇О" required>
+				<uni-forms-item label="瀹㈡埛鍚嶇О" required name="name">
 					<uni-easyinput v-model="baseFormData.name" placeholder="璇疯緭鍏ュ鎴峰悕绉�" />
 				</uni-forms-item>
-				<uni-forms-item label="瀹㈡埛鍏崇郴">
-					<uni-easyinput v-model="baseFormData.age" placeholder="璇疯緭鍏ュ鎴峰叧绯�" />
+				<uni-forms-item label="瀹㈡埛鍏崇郴" name="rela" >
+					<uni-easyinput v-model="baseFormData.rela" placeholder="璇疯緭鍏ュ鎴峰叧绯�" />
 				</uni-forms-item>
-				<uni-forms-item label="瀹㈡埛绫诲埆" required>
-					<uni-easyinput v-model="baseFormData.age" placeholder="璇疯緭鍏ュ鎴风被鍒�" />
+				<uni-forms-item label="瀹㈡埛绫诲埆" required name="cstmrType">
+					<view @click="autoLoad('cstmrType','')">
+						<uni-combox :candidates="cstmrTypes" placeholder="璇烽�夋嫨瀹㈡埛绫诲埆"
+						v-model="baseFormData.cstmrType" @input="autoLoad('cstmrType',baseFormData.cstmrType)"></uni-combox>
+					</view>
 				</uni-forms-item>
-				<uni-forms-item label="鍖哄垎" required>
-					<uni-data-checkbox v-model="baseFormData.sex" :localdata="type$" />
+				<uni-forms-item label="鍖哄垎" required name="type">
+					<uni-data-checkbox v-model="baseFormData.type" :localdata="type$" />
 				</uni-forms-item>
-				<uni-forms-item label="鐪佸競鍖�" required>
-					<uni-data-checkbox v-model="baseFormData.hobby" multiple :localdata="hobbys" />
+				<uni-forms-item label="鐪佸競鍖�" required name="citysData">
+					<uni-data-picker @change="areaChange" placeholder="璇烽�夋嫨鐪佸競鍖�" popup-title="璇烽�夋嫨鎵�鍦ㄥ湴鍖�" :localdata="citysData" v-model="baseFormData.pcd">
+					</uni-data-picker>
 				</uni-forms-item>
-				<uni-forms-item label="鐢佃瘽" required>
-					<uni-easyinput v-model="baseFormData.age" placeholder="璇疯緭鍏ュ鎴风數璇�" />
+				<uni-forms-item label="鐢佃瘽" required name="tel">
+					<uni-easyinput v-model="baseFormData.tel" placeholder="璇疯緭鍏ュ鎴风數璇�" />
 				</uni-forms-item>
-				<uni-forms-item label="璇︾粏鍦板潃" required>
-					<uni-easyinput v-model="baseFormData.age" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�" />
+				<uni-forms-item label="璇︾粏鍦板潃" required name="addr">
+					<uni-easyinput v-model="baseFormData.addr" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�" />
 				</uni-forms-item>
-				<uni-forms-item label="璐熻矗浜�" required>
-					<uni-easyinput v-model="baseFormData.age" placeholder="璇疯緭鍏ヨ礋璐d汉" />
+				<uni-forms-item label="璐熻矗浜�" required name="director">
+					<view @click="autoLoad('user','')">
+						<uni-combox :candidates="directors" placeholder="璇烽�夋嫨璐熻矗浜�"
+						v-model="baseFormData.director" @input="autoLoad('user',baseFormData.director)"></uni-combox>
+					</view>
 				</uni-forms-item>
-				<uni-forms-item label="瀹㈡埛鑱旂郴浜�" required>
-					<uni-easyinput v-model="baseFormData.age" placeholder="璇疯緭鍏ュ鎴疯仈绯讳汉" />
+				<uni-forms-item label="瀹㈡埛鑱旂郴浜�" required name="contacts">
+					<uni-easyinput v-model="baseFormData.contacts" placeholder="璇疯緭鍏ュ鎴疯仈绯讳汉" />
 				</uni-forms-item>
-				<uni-forms-item label="澶囨敞">
-					<uni-easyinput type="textarea" v-model="baseFormData.introduction" placeholder="璇疯緭鍏ュ娉�" />
+				<uni-forms-item label="澶囨敞" name="remarks">
+					<uni-easyinput type="textarea" v-model="baseFormData.remarks" placeholder="璇疯緭鍏ュ娉�" />
 				</uni-forms-item>
 			</uni-forms>
+			<button type="primary" @click="addCstmr()">娣诲姞</button>
 		</view>
 	</view>
 </template>
 
 <script>
+	import test from '../../../static/js/citys-data.js'
 	export default {
 		data() {
 			return {
+				cstmrTypes: [],
+				cstmrType: '',
+				directors: [],
+				director: '',
+				cstmrTypeList: [],
+				directorList: [],
 				baseFormData: {
-					name: '',
-					age: '',
-					introduction: '',
-					sex: 2,
-					hobby: [5],
-					datetimesingle: 1627529992399
+					citysData: [],
+					cstmrType: '',
+					director: '',
+					rela: '',
+					remarks: '',
+					
+				},
+				rules: {
+					name: {
+						rules: [{
+							required: true,
+							errorMessage: '璇峰~鍐欏鎴峰悕绉�',
+						}]
+					},
+					rela: {
+						rules: [{
+							required: false,
+							errorMessage: '璇峰~鍐欏鎴峰悕绉�',
+						}]
+					},
+					cstmrType: {
+						rules: [{
+							required: true,
+							errorMessage: '璇烽�夋嫨瀹㈡埛绫诲埆',
+						}]
+					},
+					type: {
+						rules: [{
+							required: true,
+							errorMessage: '璇烽�夋嫨鍖哄垎',
+						}]
+					},
+					citysData: {
+						rules: [{
+							required: true,
+							errorMessage: '璇烽�夋嫨鐪佸競鍖�',
+						}]
+					},
+					tel: {
+						rules: [{
+							required: true,
+							errorMessage: '璇疯緭鍏ョ數璇濆彿鐮�',
+						}]
+					},
+					addr: {
+						rules: [{
+							required: true,
+							errorMessage: '璇疯緭鍏ヨ缁嗗湴鍧�',
+						}]
+					},
+					director: {
+						rules: [{
+							required: true,
+							errorMessage: '璇疯緭鍏ヨ礋璐d汉',
+						}]
+					},
+					contacts: {
+						rules: [{
+							required: true,
+							errorMessage: '璇疯緭鍏ュ鎴疯仈绯讳汉',
+						}]
+					},
+					remarks: {
+						rules: [{
+							required: false,
+							errorMessage: '璇疯緭鍏ュ鎴疯仈绯讳汉',
+						}]
+					}
 				},
 				// 鍗曢�夋暟鎹簮
 				type$: [{
 					text: '鍐呴攢',
-					value: 0
+					value: 1
 				}, {
 					text: '澶栭攢',
-					value: 1
-				}],
-				// 澶氶�夋暟鎹簮
-				hobbys: [{
-					text: '璺戞',
-					value: 0
-				}, {
-					text: '娓告吵',
-					value: 1
-				}, {
-					text: '缁樼敾',
 					value: 2
-				}, {
-					text: '瓒崇悆',
-					value: 3
-				}, {
-					text: '绡悆',
-					value: 4
-				}, {
-					text: '鍏朵粬',
-					value: 5
 				}],
+				citysData: [],
+				citysDataTemp: ''
+				
+			}
+		},
+		onReady() {
+				// 闇�瑕佸湪onReady涓缃鍒�
+				this.$refs.baseForm.setRules(this.rules)
+		},
+		onShow() {
+			// 鑾峰彇鐪佸競鍖�
+			this.citysData = test.citysData
+			this.autoLoad('cstmrType','')
+			this.autoLoad('user','')
+		},
+		methods: {
+			bindPickerChange: function(e) {
+				this.cstmrTypeIndex = e.detail.value
+				this.baseFormData.cstmrType = this.cstmrTypes[e.detail.value].id
+			},
+			areaChange(e) {
+				this.citysDataTemp = e.detail.value[0].value + ',' + e.detail.value[1].value + ',' + e.detail.value[2].value
+			},
+			autoLoad(type,condition) {
+				let that = this
+				that.cstmrTypes = []
+				that.directors = []
+				that.directorList = []
+				var a = that.baseUrl + '/' + type + 'Query/auth'
+				uni.request({
+					url: that.baseUrl + '/' + type + 'Query' +'/auth',
+					header:{'token':uni.getStorageSync('token')},
+					data: {condition:condition},
+					method: 'GET',
+					success(result) {
+						var res = result.data
+						if (res.code === 200) {
+							var element;
+							if (type == 'cstmrType') {
+								for(element of res.data) {
+									that.cstmrTypes.push(element.value)
+									that.cstmrTypeList.push(element)
+								}
+								return
+							}
+							if (type == 'user') {
+								for(element of res.data) {
+									that.directors.push(element.value)
+									that.directorList.push(element)
+								}
+								return
+							}
+							
+						}
+					}
+				})
+			},
+			// 娣诲姞鐢ㄦ埛
+			addCstmr() {
+				let that = this
+				var element;
+				for (element of that.directorList) {
+					if(element.value == that.baseFormData.director) {
+						that.baseFormData.director = element.id
+					}
+				}
+				for (element of that.cstmrTypeList) {
+					if(element.value == that.baseFormData.cstmrType) {
+						that.baseFormData.cstmrType = element.id
+					}
+				}
+				this.$refs.baseForm.validate().then(res=>{
+					if (res.rela == undefined) {
+						res.rela = ''
+					}
+					if(res.remarks == undefined) {
+						res.remarks = ''
+					}
+					res.pcd = this.citysDataTemp
+					uni.request({
+						url: that.baseUrl + '/cstmr/add/auth',
+						header:{
+							'token':uni.getStorageSync('token'),
+							'content-type':'application/x-www-form-urlencoded',
+							},
+						data: res,
+						method: 'POST',
+						success(result) {
+							var res = result.data
+							if (res.code === 200) {
+								uni.navigateBack()
+							} else if (res.code === 403) {
+								uni.showToast({title: res.msg, icon: "none", position: 'top'})
+								setTimeout(() => {
+									uni.reLaunch({
+										url: '../../login/login'
+									});
+								}, 1000);
+							} else {
+								uni.showToast({title: res.msg, icon: "none",position: 'top'})
+							}
+						}
+					})
+				}).catch(err =>{
+				})
 			}
 		}
+		
 	}
 </script>
 

--
Gitblit v1.9.1