Selaa lähdekoodia

Merge remote-tracking branch 'origin/2025北京诚祥' into 2025北京诚祥

wangxy 2 kuukautta sitten
vanhempi
commit
413860defe

+ 13 - 0
api/jiazheng.js

@@ -253,3 +253,16 @@ export function jiazhengKaozhengDelete(data = {}) {
   })
 }
 
+
+export function jiazhengIdcard(data = {}) {
+  return request({
+    url: '/app/user/jiazheng/idcard',
+    headers: {
+      isToken: true
+    },
+    method: 'post',
+    data,
+    timeout: 20000
+  })
+}
+

+ 50 - 0
common/styles/global/pages.scss

@@ -682,3 +682,53 @@
 	.filter-btn + .filter-btn{margin-left: 60rpx;}
 }
 
+/*** 家政人员简历 ***/
+.phone-jianli-page{
+	width: 100%;height: 100vh;background-color: #f8f9fd;display: flex;flex-direction: column;
+	.jianli-wrap-box{overflow: auto;box-sizing: border-box;padding-bottom: 120rpx;}
+	.jianli-head-box{
+		display: flex;background-color:#3fd2a1;box-sizing: border-box;padding: 24rpx 36rpx;
+		margin: 24rpx 32rpx;border-radius: 10rpx;
+		.head-img-box{
+			width: 220rpx;height: 220rpx;margin-right: 32rpx;display: flex;align-items: center;
+			border-radius: 10rpx;overflow: hidden;position: relative;
+			.head-img{width: 100%;height: auto;}
+			.head-status{
+				height: 30rpx;line-height: 30rpx;padding: 0 16rpx;
+				position: absolute;right:0;bottom:0;border-radius: 10rpx 0 10rpx 0;text-align: center;
+				font-size: 24rpx;color: #fff;background-image: linear-gradient(to right, #fbba31, #fea32b);}
+		}
+		
+		.head-content-box{
+			display: flex;flex-direction: column;justify-content: space-around;font-size: 28rpx;color:#fff;
+			.name-row{font-size: 32rpx;font-weight: 600;}
+		}
+	}
+	
+	.jianli-body-box{background-color: #fff;box-sizing: border-box;padding: 24rpx 36rpx;}
+	.jbxx-label{word-spacing: 48rpx;margin-right: 10rpx;color: #666;flex-shrink: 0;}
+	.leixing-row{
+		display: flex;background-color: #e7f8f2;border-radius: 10rpx;
+		box-sizing: border-box;padding: 24rpx 32rpx;font-size: 28rpx;
+		.leixing-content{color: #333;font-weight: 600;}
+	}
+	
+	.body-jbxx-box{
+		box-sizing: border-box;padding: 24rpx 32rpx 0;
+		>view{color: #333;font-size: 28rpx;display: flex;margin-bottom: 20rpx;line-height: 1.5;}
+		.jbxx-title{font-size: 30rpx;color: #3fd2a1;font-weight: 600;}
+		.jbxx-tip{border-top: 1rpx solid #ebebeb;font-size: 24rpx;color: #666;
+		box-sizing: border-box;padding: 20rpx 0 0;justify-content: center;margin-bottom: 0;}
+	}
+	
+	.jianli-bottom-box{
+		width: 100%;height: 100rpx;background-color: #f9f9f9;border-top: 1rpx solid #eeeeee;z-index: 9;
+		position: fixed;left: var(-window-left);right: var(-window right);bottom: var(--window-bottom);
+		box-sizing: border-box;padding-bottom: env(safe-area-inset-bottom);display: flex;justify-content: space-around;align-items: center;
+		.bottom-icon{width: 36rpx;height: 36rpx;display: block;@include ezy-no-repeat-cover();margin: 0 auto 2rpx;}
+		.zl-icon{background-image: url("@/static/images/common/jz-editor-icon.png");}
+		.tel-icon{background-image: url("@/static/images/common/jz-tel-icon.png");}
+		.bottom-text{font-size: 24rpx;color: #333;}
+	}
+	
+}

+ 7 - 0
pages/Login/components/adminloginBox.vue

@@ -105,6 +105,11 @@
 		// 去除 userName 两端的空格
 		const trimmedUserName = userName.value;
 		const trimmedPassword = lliPassword.value;
+		
+		uni.showLoading({
+			title: '登录中'
+		})
+		
 		httpApi.login({
 			userName: trimmedUserName,
 			password: lliPassword.value,
@@ -120,6 +125,8 @@
 			}
 		}).catch(err => {
 			store.setIsCanBack(true)
+		}).finally(err => {
+			uni.hideLoading()
 		})
 	}
 	

+ 7 - 0
pages/Login/components/clientloginBox.vue

@@ -105,6 +105,11 @@
 		// 去除 userName 两端的空格
 		const trimmedUserName = userName.value;
 		const trimmedPassword = lliPassword.value;
+		
+		uni.showLoading({
+			title: '登录中'
+		})
+		
 		httpApi.login({
 			userName: trimmedUserName,
 			password: lliPassword.value,
@@ -122,6 +127,8 @@
 			
 		}).catch(err => {
 			store.setIsCanBack(true)
+		}).finally(err => {
+			uni.hideLoading()
 		})
 	}
 	

+ 60 - 21
pages/admin/Jiazheng/gerenZiliao.vue

@@ -132,7 +132,8 @@
 		getJiazhengMinzu,
 		getJiazhengShuxiang,
 		getJiazhengXingzuo,
-		getJiazhengJiguan
+		getJiazhengJiguan,
+		jiazhengIdcard
 	} from "@/api/jiazheng.js";
 	export default {
 		components: {
@@ -156,6 +157,7 @@
 					idtype: '1',
 					gender: '',
 					juzhuDizhi: '',
+					shenfenzhengUrl: '',
 					minzu: {},
 					shuxiang: {
 
@@ -200,27 +202,35 @@
 			}
 		},
 		created() {
-
+			uni.showLoading({
+				title: '加载中'
+			});
 			this.initRequests()
-
-
-
 		},
 		methods: {
 
 			async initRequests() {
-				await Promise.all([
-					this.getXueli(),
-					this.getHunyin(),
-					this.getMinzu(),
-					this.getXingzuo(),
-					this.getShuxiang(),
-					this.getJiguan(),
-				]);
-				if (this.status == 'edit') {
-					this.$emit('finishDom','gerenZiliao');
+				try {
+					await Promise.all([
+						this.getXueli(),
+						this.getHunyin(),
+						this.getMinzu(),
+						this.getXingzuo(),
+						this.getShuxiang(),
+						this.getJiguan(),
+					]);
+					uni.hideLoading();
+					if (this.status == 'edit') {
+						this.$emit('finishDom', 'gerenZiliao');
+					}
+				} catch (e) {
+					uni.hideLoading();
+					uni.showToast({
+						title: `请求失败!`,
+						icon: 'none',
+						duration: 2000
+					})
 				}
-
 			},
 			editinfo(data) {
 				this.$nextTick(() => {
@@ -234,10 +244,10 @@
 					this.formData.jiguanShiName = data.jiguanShiName
 					this.formData.juzhuDizhi = data.juzhuDizhi
 					this.formData.birthday = data.birthday
-					this.formData.minzu = this.dataForId(this.minzuList, data.minzu)||''
+					this.formData.minzu = this.dataForId(this.minzuList, data.minzu) || ''
 					this.formData.gender = data.gender
-					this.formData.xueli = this.dataForId(this.xueliList, data.xueli)||''
-					this.formData.hunyin = this.dataForId(this.hunyinList, data.hunyin)||''
+					this.formData.xueli = this.dataForId(this.xueliList, data.xueli) || ''
+					this.formData.hunyin = this.dataForId(this.hunyinList, data.hunyin) || ''
 					this.formData.hujiDizhi = data.hujiDizhi
 					this.formData.juzhuDizhi = data.juzhuDizhi
 					this.formData.xingzuo = this.dataForId(this.xingzuoList, data.xingzuo) || ''
@@ -477,8 +487,37 @@
 				});
 			},
 			getFileUrl(data) {
-				this.formData.icon = data
+				this.formData.shenfenzhengUrl = data
 				console.log('data', data);
+				jiazhengIdcard({
+					url: this.formData.shenfenzhengUrl
+				}).then(res => {
+					console.log('res', res);
+					if (res.code == 0) {
+
+
+
+
+
+						this.formData.realName = res.data.name
+						this.formData.gender = res.data.genderId
+						this.formData.minzu.name = res.data.ethnicity
+						this.formData.minzu.id = res.data.minzuId
+						this.formData.birthday = res.data.birthDate
+						this.formData.hujiDizhi = res.data.address
+						this.formData.idcard = res.data.idNumber
+						this.formData.shuxiang.id = res.data.shuxiangId
+						this.formData.shuxiang.name = res.data.shuxiangName
+						this.formData.xingzuo.id = res.data.xingzuoId
+						this.formData.xingzuo.name = res.data.xingzuoName
+						this.formData.jiguanShengId = res.data.jiguanShengId
+						this.formData.jiguanShiId = res.data.jiguanShiId
+						this.formData.jiguanShengName = res.data.jiguanShengName
+						this.formData.jiguanShiName = res.data.jiguanShiName
+						this.formData.jiguanObj.jiguanShengId = res.data.jiguanShengId
+						this.formData.jiguanObj.jiguanShiId = res.data.jiguanShiId
+					}
+				})
 			},
 			minzuChange(e) {
 				const index = e.detail.value
@@ -514,7 +553,7 @@
 				this.formData.gender = data
 			},
 			selectChangeHunyinList(data) {
-					console.log('data',data[0]);
+				console.log('data', data[0]);
 				this.formData.hunyin = data[0]
 			},
 			switchXingzuoChange(e) {

+ 59 - 10
pages/admin/Jiazheng/index.vue

@@ -17,11 +17,11 @@
 
 			<view class="jiazheng-search-right">
 				<!--  当前点击 增加 saixuan-active-->
-				<view class="saixuan-item-box saixuan-active">
-					<text @click="timeClick">更新时间</text>
+				<view @click="updateTimeClick" :class="shaixuanStyleUpdate">
+					<text>更新时间</text>
 					<icon :class="updataJtClass" />
 				</view>
-				<view class="saixuan-item-box">
+				<view @click="luruTimeClick" :class="shaixuanStyleluru">
 					<!-- class切换  saixuan-jt-default  saixuan-jt-click-->
 					<text>录入时间</text>
 					<icon :class="luruJtClass" />
@@ -64,6 +64,7 @@
 			<search-dialog ref="searchDialogRef" @search-btn="dialogSearchBtn"
 				@reset-search="dialogSearchReset"></search-dialog>
 		</view>
+		<customTabbarAdminVue :current-tab="1"></customTabbarAdminVue>
 	</view>
 </template>
 
@@ -81,6 +82,7 @@
 	} from "@/api/jiazheng.js"
 	import dataChecked from './common/dataChecked.vue';
 	import searchDialog from "./common/search.vue";
+	import customTabbarAdminVue from "@/components/custom-tabbar/custom-tabbar-admin.vue";
 	const searchDialogRef = ref(null);
 	let allType = ref([])
 	let data = reactive({
@@ -103,11 +105,62 @@
 	let isOpen = ref(false)
 	let defauleImg = ref('@/static/images/my/user-default-img.png')
 	const allJtClass = 'select-jt-default';
-	const updataJtClass = 'saixuan-jt-default';
-	const luruJtClass = 'saixuan-jt-click';
-
+	let updataJtClass = ref('');
+	let luruJtClass = ref('');
+	let shaixuanStyleUpdate = ref('saixuan-item-box');
+	let shaixuanStyleluru = ref('saixuan-item-box');
 	const isOpenSelect = ref(false);
 	const selectedOption = ref('');
+	let isFirstClickUpdate = ref('true')
+	let isFirstClickluru = ref('true')
+
+	function updateTimeClick() {
+		data.sortType = 1
+		const isFirst = isFirstClickUpdate.value == 'true';
+		const isSecond = isFirstClickUpdate.value == 'false';
+		if (isFirst) {
+			shaixuanStyleUpdate.value = 'saixuan-item-box saixuan-active';
+			updataJtClass.value = 'saixuan-jt-default';
+			isFirstClickUpdate.value = 'false';
+			data.sortRule = 1
+		} else if (isSecond) {
+			shaixuanStyleUpdate.value = 'saixuan-item-box saixuan-active';
+			updataJtClass.value = 'saixuan-jt-click';
+			isFirstClickUpdate.value = 'empty';
+			data.sortRule = 2
+		} else {
+			shaixuanStyleUpdate.value = 'saixuan-item-box';
+			updataJtClass.value = '';
+			isFirstClickUpdate.value = 'true';
+			data.sortRule = 0
+		}
+		data.page = 0;
+		refreshData()
+	}
+
+	function luruTimeClick() {
+		data.sortType = 2
+		const isFirst = isFirstClickluru.value == 'true';
+		const isSecond = isFirstClickluru.value == 'false';
+		if (isFirst) {
+			shaixuanStyleluru.value = 'saixuan-item-box saixuan-active';
+			luruJtClass.value = 'saixuan-jt-default';
+			isFirstClickluru.value = 'false';
+			data.sortRule = 1
+		} else if (isSecond) {
+			shaixuanStyleluru.value = 'saixuan-item-box saixuan-active';
+			luruJtClass.value = 'saixuan-jt-click';
+			isFirstClickluru.value = 'empty';
+			data.sortRule = 2
+		} else {
+			shaixuanStyleluru.value = 'saixuan-item-box';
+			luruJtClass.value = '';
+			isFirstClickluru.value = 'true';
+			data.sortRule = 0
+		}
+		data.page = 0;
+		refreshData()
+	}
 
 	function dialogSearchBtn(name, searchData) {
 		switch (name) {
@@ -215,10 +268,6 @@
 		})
 	}
 
-	function timeClick() {
-
-	}
-
 	function getMore() {
 		const opt = {
 			"leixing": data.leixing == '全部类型' ? '' : data.leixing,

+ 38 - 63
pages/admin/Jiazheng/jiazhengUserInfo.vue

@@ -1,62 +1,55 @@
 <template>
-	<view class="jiazheng-uni-list">
+	<view class="phone-jianli-page">
 		<view class="icon-title-navBar-box">
 			<view @click="goUpPage" class="nav-bar-icon"></view>
 			<text class="nav-bar-title">家政人员信息</text>
 		</view>
-		<view>
-			<img style="width: 100rpx;height: 100rpx;" :src="jianliInfo.icon" alt="" />
-			<view>{{jianliInfo.zhuangtai}}</view>
-			<view>
-				<p>{{jianliInfo.realName}}</p>
-				<p>{{jianliInfo.nianling}}岁|{{jianliInfo.jiguan}}人</p>
-			</view>
-		</view>
-
-		<view>
-			类型:{{jianliInfo.leixing}}
-		</view>
-		<view>
-			<view>
-				<h1>基本信息</h1>
-				<view>
-					学历:{{jianliInfo.xieli}}
-				</view>
-				<view>
-					民族:{{jianliInfo.minzu}}
+		<view class="jianli-wrap-box">
+			<view class="jianli-head-box">
+				<view class="head-img-box">
+					<img class="head-img" :src="jianliInfo.icon" v-if="jianliInfo.icon">
+					<icon class="phone-default-userImg" v-else></icon>
+					<view class="head-status">{{jianliInfo.zhuangtai}}</view>
 				</view>
-				<view>
-					属相:{{jianliInfo.shuxiang}}
-				</view>
-				<view>
-					星座:{{jianliInfo.xingzuo}}
+				<view class="head-content-box">
+					<view class="name-row">{{jianliInfo.realName}}</view>
+					<view>{{jianliInfo.jiguan}}人</view>
+					<view>
+						<text>{{jianliInfo.nianling}}岁</text>
+						<text v-if="jianliInfo.jingyan"> | {{jianliInfo.jingyan}}</text>
+					</view>
 				</view>
-				<view>
-					性别:{{jianliInfo.gender}}
+			</view>
+		
+			<view class="jianli-body-box">
+				<view class="leixing-row">
+					<view class="jbxx-label">类 型:</view>
+					<text class="leixing-content">{{jianliInfo.leixing}}</text>
 				</view>
-				<view>
-					婚姻状况:{{jianliInfo.hunyin}}
+				<view class="body-jbxx-box">
+					<view class="jbxx-title">基本信息</view>
+					<view><view class="jbxx-label">学 历:</view>{{jianliInfo.xieli}}</view>
+					<view><view class="jbxx-label">民 族:</view>{{jianliInfo.minzu}} </view>
+					<view><view class="jbxx-label">属 相:</view>{{jianliInfo.shuxiang}} </view>
+					<view><view class="jbxx-label">星 座:</view>{{jianliInfo.xingzuo}} </view>
+					<view><view class="jbxx-label">性 别:</view>{{jianliInfo.gender}} </view>
+					<view><view class="jbxx-label">婚姻状况:</view>{{jianliInfo.hunyin}} </view>
+					<view><view class="jbxx-label">现住地址:</view>{{jianliInfo.juzhuDizhi}} </view>
+					<view><view class="jbxx-label">家政公司:</view>{{jianliInfo.jzName}} </view>
+					<view class="jbxx-tip">{{jianliInfo.tips}} </view>
 				</view>
-				<view>
-					现住地址:{{jianliInfo.juzhuDizhi}}
-				</view>
-				<view>
-					家政公司:{{jianliInfo.jzName}}
+			</view>
+			<view class="jianli-bottom-box">
+				<view @click="goJiazhengManage">
+					<icon class="bottom-icon zl-icon"></icon>
+					<text class="bottom-text">资料编辑</text>
 				</view>
 				<view>
-				{{jianliInfo.tips}}
+					<icon class="bottom-icon tel-icon"></icon>
+					<text class="bottom-text">拨打电话</text>
 				</view>
 			</view>
 		</view>
-
-	</view>
-	<view>
-		<view @click="goJiazhengManage">
-			资料编辑
-		</view>
-		<view>
-			资料编辑2
-		</view>
 	</view>
 </template>
 <script>
@@ -115,21 +108,3 @@
 		}
 	}
 </script>
-
-
-
-<style>
-	.jiazheng-uni-list {
-		display: flex;
-		width: 100%;
-		flex-direction: column;
-	}
-
-	.jiazheng-uni-list-left {
-		position: relative;
-		display: flex;
-		flex-direction: row;
-		justify-content: space-between;
-		align-items: center;
-	}
-</style>

BIN
static/images/common/jz-editor-icon.png


BIN
static/images/common/jz-tel-icon.png