liujiaxin пре 1 дан
родитељ
комит
38d9b36ac8

+ 1 - 1
common/request.js

@@ -3,7 +3,7 @@ export default class Request {
 	http(router, data = {}, method,contentType) {
 		let that = this;
 		// let path = 'http://132.232.83.221:7771';//向董董
-		let path = 'https://user.his.ifeiyu100.com';//向董董
+		let path = 'https://api.qicaijiaxiang.com';//向董董
 		// let path = 'https://5743146i9x.goho.co';//贾源江
 
 		// let path = 'https://user.his.ifeiyu100.com/';

+ 4 - 1
components/Watermark.vue

@@ -1,7 +1,10 @@
 <template>
   <view class="watermark"  >
     <view class="watermark-box">
-      <text class="text" v-for="(item, index) in count" :key="index" >{{localUserInfo.nickName || localUserInfo.userName || '' }}</text>
+		<view class="text" v-for="(item, index) in count" :key="index">
+			<view>{{localUserInfo.nickName || '' }}</view>
+			<view>{{utils.parsePhone(localUserInfo.phonenumber)}}</view>
+		</view>
     </view>
   </view>
 </template>

+ 12 - 11
pages/auth/register.vue

@@ -163,7 +163,7 @@ export default {
 					// password: '',//初始密码
 					// confirmPassword: '',//确认初始密码
 					sex: '',//性别
-					status: '',//账号状态
+					status: '0',//账号状态(0正常 1停用),默认启用
 					userType: '',//用户类型
 					productCode: '',//绑定产品
 					roleIds: '',//绑定角色
@@ -202,7 +202,7 @@ export default {
 				userTypeList: [],
 				selectedUserTypeId: '',
 				userTypeOptions: [
-					{ value: '0', label: '系统用户' }
+					{ value: '0', label: '普通用户' }
 				],
 				selectedUserTypeIndex: 0,
 				// 产品选项
@@ -278,17 +278,18 @@ export default {
 				getCompanyRoleList(params)
 					.then(res => {
 						if (res.code == 200) {
-							this.userTypeList = res.rows || [];
-							this.userTypeOptions = this.userTypeList.map(item => ({
+							let roleData = res.rows || [];
+							// 过滤掉管理员选项(管理员、admin等)
+							roleData = roleData.filter(item => {
+								const roleName = (item.roleName || '').toLowerCase();
+								return !roleName.includes('管理员') && !roleName.includes('admin');
+							});
+							// 只更新roleOptions,不更新userTypeOptions
+							this.roleOptions = roleData.map(item => ({
 								value: item.roleId.toString(),
 								label: item.roleName
 							}));
-							// 同时更新roleOptions
-							this.roleOptions = this.userTypeList.map(item => ({
-								value: item.roleId.toString(),
-								label: item.roleName
-							}));
-							resolve(res.rows || []);
+							resolve(roleData);
 						} else if (res.code == 500) {
 							// 当接口返回500时,显示错误信息但不可选
 							this.roleOptions = [{
@@ -584,7 +585,7 @@ export default {
 			this.formData.roleIds = this.selectedRoles;
 			this.formData.userType = this.selectedUserType;
 			// this.formData.sex = this.selectedGender;
-			this.formData.status = this.selectedStatus;
+			// status已通过radio-group的onStatusChange直接绑定到formData.status,无需再次赋值
 			this.formData.userId = this.userInfo.userId;
 
 			// 打印提交数据,检查是否所有字段都已正确设置

+ 1 - 1
pages/auth/registerUser.vue

@@ -15,7 +15,7 @@
 			<view class="force-login__content">
 				<view class="input-form">
 					<view class="input-item">
-						<input class="input-field" type="text" v-model="formData.userName" placeholder="请输入用户账号(登录名)" />
+						<input class="input-field" type="text" v-model="formData.userName" placeholder="请输入手机号" />
 					</view>
 					<view class="input-item">
 						<input class="input-field" type="text" v-model="formData.nickName" placeholder="请输入用户名称" />

+ 20 - 1
pages/home/index.vue

@@ -27,6 +27,9 @@
 </template>
 
 <script>
+	import {
+		getUserInfo
+	} from '@/api/user'
 	export default {
 		data() {
 			return {
@@ -36,7 +39,8 @@
 			}
 		},
 		onLoad() {
-
+		if(uni.getStorageSync('AppToken'))
+		this.getUserInfo();
 		},
 		onShow() {
 			this.userInfo = uni.getStorageSync('userInfo') || {};
@@ -59,6 +63,21 @@
 			}
 		},
 		methods: {
+			async getUserInfo() {
+					try {
+						const res = await getUserInfo();
+						if (res.code === 200 && res.user) {
+							const user = res.user;
+							uni.setStorageSync('userInfo', user);
+						}
+					} catch (err) {
+						console.error('获取用户信息失败:', err);
+						uni.showToast({
+							icon: 'none',
+							title: '获取用户信息失败'
+						});
+				}
+			},	
 			navTo(url) {
 				uni.navigateTo({
 					url: url

+ 47 - 24
pages/user/index.vue

@@ -2,7 +2,8 @@
 	<view>
 		<Watermark :userInfo="userInfo" />
 		<view class="top-cont">
-			<image class="bg" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/bg_mine.png" mode="widthFix"></image>
+			<image class="bg" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/bg_mine.png"
+				mode="widthFix"></image>
 			<view class="top-inner">
 				<!-- 这里是状态栏 -->
 				<view class="status_bar" :style="{height: statusBarHeight}"></view>
@@ -10,15 +11,18 @@
 					<view class="user-info">
 						<view class="left">
 							<view class="head-img" @click="isLogin">
-								<image :src="userInfo.avatar?userInfo.avatar:'https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/my_heads_icon.png'"
+								<image
+									:src="userInfo.avatar?userInfo.avatar:'https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/my_heads_icon.png'"
 									mode="aspectFill">
 								</image>
 							</view>
 							<view class="name-phone">
 								<view class="x-f">
-									<view class="name" v-if="userInfo && userInfo.userId">{{userInfo.nickName||'未命名'}}</view>
+									<view class="name" v-if="userInfo && userInfo.userId">{{userInfo.nickName||'未命名'}}
+									</view>
 									<view class="name" v-else>请先登录</view>
-									<view class="lable" v-if="userInfo && userInfo.deptName">{{userInfo.deptName}}</view>
+									<view class="lable" v-if="userInfo && userInfo.deptName">{{userInfo.deptName}}
+									</view>
 								</view>
 							</view>
 							<view class="txt" v-if="userInfo && userInfo.userId">您已加入小蜜蜂{{joinDays||'0'}}天了~</view>
@@ -32,7 +36,8 @@
 								<view class="title-l">{{item.name||''}}</view>
 							</view>
 							<view class="right">
-								<image src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_my_more.png" mode=""></image>
+								<image src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_my_more.png"
+									mode=""></image>
 							</view>
 						</view>
 					</view>
@@ -44,9 +49,9 @@
 </template>
 
 <script>
-	
 	import {
-		getCompanyuserInfo
+		getCompanyuserInfo,
+		getUserInfo
 	} from '@/api/user'
 	export default {
 		data() {
@@ -56,8 +61,7 @@
 				count1: 0,
 				count2: 0,
 				afterSalesCount: 0,
-				tabs: [
-					{
+				tabs: [{
 						name: '个人信息',
 						num: 3,
 						icon: 'https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_my_information.png',
@@ -86,17 +90,20 @@
 			};
 		},
 		onLoad() {
-			const userInfo = uni.getStorageSync('userInfo')
-			if (userInfo) {
-				this.userInfo = typeof userInfo === 'string' ? JSON.parse(userInfo) : userInfo
-			}
-			// 更新登录状态
-			this.userInfo = uni.getStorageSync('userInfo')
-		},
-		onShow() {
+			if (uni.getStorageSync('AppToken'))
+				this.getUserInfo();
+		
+		let userInfo = uni.getStorageSync('userInfo')
+		if (userInfo) {
+			this.userInfo = typeof userInfo === 'string' ? JSON.parse(userInfo) : userInfo
+		}
+		// 更新登录状态
+		this.userInfo = uni.getStorageSync('userInfo')
+	},
+	onShow() {
 			this.userInfo = uni.getStorageSync('userInfo')
 			// 从本地缓存加载用户信息
-			if(this.userInfo){
+			if (this.userInfo) {
 				this.getCompanyuserInfo()
 			}
 		},
@@ -112,17 +119,31 @@
 			}
 		},
 		methods: {
-				
-			isLogin(){
-				if(!this.userInfo || !this.userInfo.userId){
+			async getUserInfo() {
+				try {
+					const res = await getUserInfo();
+					if (res.code === 200 && res.user) {
+						const user = res.user;
+						uni.setStorageSync('userInfo', user);
+					}
+				} catch (err) {
+					console.error('获取用户信息失败:', err);
+					uni.showToast({
+						icon: 'none',
+						title: '获取用户信息失败'
+					});
+				}
+			},
+			isLogin() {
+				if (!this.userInfo || !this.userInfo.userId) {
 					console.log("未登录,跳转到登录页面")
 					uni.navigateTo({
-						url:'/pages/auth/login'
+						url: '/pages/auth/login'
 					})
 				} else {
 					console.log("已登录,跳转到个人信息页面")
 					uni.navigateTo({
-						url:'/pages_user/userInfo'
+						url: '/pages_user/userInfo'
 					})
 				}
 			},
@@ -171,7 +192,7 @@
 				})
 			},
 			getCompanyuserInfo() {
-				if(!this.userInfo.userId){
+				if (!this.userInfo.userId) {
 					return
 				}
 				getCompanyuserInfo(this.userInfo.userId).then(
@@ -248,6 +269,7 @@
 			z-index: 2;
 		}
 	}
+
 	.content {
 		background: linear-gradient(360deg, rgba(244, 249, 255, 0.6) 0%, #FFFFFF 100%);
 		border-radius: 40rpx 40rpx 24rpx 24rpx;
@@ -382,6 +404,7 @@
 				justify-content: space-between;
 				padding: 28rpx 24rpx;
 				box-sizing: border-box;
+
 				.left {
 					display: flex;
 					align-items: center;

+ 1 - 1
pages_speaker/speakerInvitation.vue

@@ -23,7 +23,7 @@
 				<view class="inviter-section">
 					<image class="inviter-avatar" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/my_heads_icon.png" mode="aspectFill"></image>
 					<text class="inviter-name">{{ userInfo.nickName }}</text>
-					<text class="invite-desc">邀请成为讲者</text>
+					<text class="invite-desc">邀请成为讲者</text>
 				</view>
 
 				<!-- 二维码区域:白色边框+圆角 -->

+ 158 - 12
pages_task/approvalTaskDetail.vue

@@ -334,14 +334,95 @@
 							@click="openUrl(auditData.businessData.ctLongVideo.videoUrl)">{{ auditData.businessData.ctLongVideo.videoUrl }}</text>
 						<text class="info-value" v-else>-</text>
 					</view>
-					<!-- <view class="qualification-list">
+									</view>
+			</view>
+
+			<!-- 直播信息 -->
+			<view class="info-section"
+				v-if="auditData.audit && auditData.audit.auditType=='ADUIT_WCRWSH' && auditData.businessData && auditData.businessData.auditTaskInfoVO && auditData.businessData.auditTaskInfoVO.taskType==1">
+				<view class="section-header">
+					<view class="section-indicator"></view>
+					<text class="section-title">直播信息</text>
+				</view>
+				<view class="info-list">
+					<view class="info-item">
+						<text class="info-label">项目名称/视频标题</text>
+						<text class="info-value">{{ auditData.businessData.liveBroadcast.title ||'-'}}</text>
+					</view>
+
+					<!-- <view class="info-item">
+						<text class="info-label">是否原创</text>
+						<text
+							class="info-value">{{auditData.businessData.liveBroadcast.isOriginal==0?'否':'是'||'-'}}</text>
+					</view> -->
+					<view class="info-item">
+						<text class="info-label">直播时长</text>
+						<text class="info-value">{{ liveDuration||'0'}}</text>
+					</view>
+					<view class="info-item">
+						<text class="info-label">医生实际开播时间</text>
+						<text class="info-value">{{ realLiveDuration||'0'}}</text>
+					</view>
+					
+
+					<view class="info-item">
+						<text class="info-label">观看人数</text>
+						<text class="info-value">{{ auditData.businessData.liveBroadcast.viewCount ||'0'}}</text>
+					</view>
+				<!-- 	<view class="info-item">
+						<text class="info-label">点赞数</text>
+						<text class="info-value">{{ auditData.businessData.liveBroadcast.likeCount||'0'}}</text>
+					</view>
+					<view class="info-item">
+						<text class="info-label">收藏数</text>
+						<text class="info-value">{{ auditData.businessData.liveBroadcast.favoriteCount ||'0'}}</text>
+					</view> -->
+
+					<view class="qualification-list">
 						<view class="qualification-item">
-							<text class="qualification-label">视频附件URL</text>
-							<view class="image-grid" v-if="auditData.businessData.ctLongVideo.videoUrl||''">
-								<image class="qualification-image" :src="  auditData.businessData.ctLongVideo.videoUrl||''"
-									@click="showImagePreview(auditData.businessData.ctLongVideo.videoUrl||'')"></image>
+							<text class="qualification-label">封面图</text>
+							<view class="image-grid" v-if="auditData.businessData.liveBroadcast.coverUrl||''">
+								<image class="qualification-image"
+									:src="auditData.businessData.liveBroadcast.coverUrl||''"
+									@click="showImagePreview(auditData.businessData.liveBroadcast.coverUrl||'')"></image>
 							</view>
 						</view>
+					</view>
+					
+					<!-- <view class="info-item">
+						<text class="info-label">视频附件链接</text>
+						<text class="info-value link"
+							v-if="auditData.businessData.liveBroadcast && auditData.businessData.liveBroadcast.videoUrl"
+							@click="openUrl(auditData.businessData.liveBroadcast.videoUrl)">{{ auditData.businessData.liveBroadcast.videoUrl }}</text>
+						<text class="info-value" v-else>-</text>
+					</view> -->
+					
+					<view class="info-item">
+						<text class="info-label">直播间链接</text>
+						<text class="info-value link"
+							v-if="auditData.businessData.liveBroadcast && auditData.businessData.liveBroadcast.liveUrl"
+							@click="openUrl(auditData.businessData.liveBroadcast.liveUrl)">{{ auditData.businessData.liveBroadcast.liveUrl }}</text>
+						<text class="info-value" v-else>-</text>
+					</view>
+					
+					<view class="info-item">
+						<text class="info-label">回放链接</text>
+						<text class="info-value link"
+							v-if="auditData.businessData.liveBroadcast && auditData.businessData.liveBroadcast.playbackUrl"
+							@click="openUrl(auditData.businessData.liveBroadcast.playbackUrl)">{{ auditData.businessData.liveBroadcast.playbackUrl }}</text>
+						<text class="info-value" v-else>-</text>
+					</view>
+					<view class="info-item">
+						<text class="info-label">分享二维码链接</text>
+						<text class="info-value link"
+							@click="openUrl(`https://company.qicaijiaxiang.com/watch?liveId=${auditData.businessData.liveBroadcast.id}`)">{{`https://company.qicaijiaxiang.com/watch?liveId=${auditData.businessData.liveBroadcast.id}`}}</text>
+					</view>
+					<!-- <view class="info-item" v-if="auditData.businessData.liveBroadcast.rtmpPullUrl">
+						<text class="info-label">拉流地址</text>
+						<text class="info-value link"
+							v-if="auditData.businessData.liveBroadcast && auditData.businessData.liveBroadcast.rtmpPullUrl"
+							@click="openUrl(auditData.businessData.liveBroadcast.rtmpPullUrl)">{{ auditData.businessData.liveBroadcast.rtmpPullUrl }}</text>
+						<text class="info-value" v-else>-</text>
 					</view> -->
 				</view>
 			</view>
@@ -559,7 +640,7 @@
 			</view>
 
 			<!-- 审批信息 -->
-			<view class="info-section" v-if="auditData">
+			<view class="info-section">
 				<view class="section-header">
 					<view class="section-indicator"></view>
 					<text class="section-title">审批流程</text>
@@ -594,6 +675,36 @@
 						<view class="approval-line" v-if="index < auditData.auditFlows.length - 1"></view>
 					</view>
 				</view>
+				<!-- <view class="approval-list">
+					<view class="approval-item" v-for="(item, index) in auditData.auditFlows" :key="index">
+						<view class="left">
+							<view class="avatar-box">
+								<image class="avatar"
+									src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/my_heads_icon.png">
+								</image>
+								<image class="icon" v-if="item.status==1"
+									src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_wait.png">
+								</image>
+								<image class="icon" v-if="item.status==2|| item.status ===0"
+									src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_pass.png">
+								</image>
+								<image class="icon" v-if="item.status==3"
+									src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_refuse.png">
+								</image>
+							</view>
+							<view class="approval-user">
+								<view class="user-name">{{ item.auditUserName }}</view>
+								<view class="user-status"
+									:style="{ color: item.status ===2|| item.status ===0 ? '#4CAF50' : item.status === 1 ? '#FF9800' : '#F44336' }">
+									{{ item.statusName||'-' }}
+								</view>
+								<view class="approval-comment" v-if="item.comment">{{item.comment||'-'}}</view>
+							</view>
+						</view>
+						<text class="approval-time">{{ item.auditTime || '-' }}</text>
+						<view class="approval-line" v-if="index < auditData.auditFlows.length - 1"></view>
+					</view>
+				</view> -->
 			</view>
 		</scroll-view>
 
@@ -670,11 +781,11 @@ import utils from '@/utils/common.js'
 				taskId: '',
 				// 接口返回的原始数据(初始化为安全空对象,避免渲染期空指针)
 				auditData: {
-					audit: {},
-					businessData: {},
-					auditFlows: [],
-					projectVO: null,
-					docterVO: null
+					// audit: {},
+					// businessData: {},
+					// auditFlows: [],
+					// projectVO: null,
+					// docterVO: null,
 				},
 				// 审批信息
 				approvalInfo: [],
@@ -688,7 +799,17 @@ import utils from '@/utils/common.js'
 			}
 		},
 		computed: {
-
+		  // 预计时长
+		  liveDuration() {
+		    const { scheduledStartTime, scheduledEndTime } = this.auditData?.businessData?.liveBroadcast || {}
+		    return this.formatDuration(scheduledStartTime, scheduledEndTime)
+		  },
+		
+		  // 实际时长
+		  realLiveDuration() {
+		    const { actualStartTime, actualEndTime } = this.auditData?.businessData?.liveBroadcast || {}
+		    return this.formatDuration(actualStartTime, actualEndTime)
+		  }
 		},
 		onLoad(options) {
 			if (options.taskId) {
@@ -703,6 +824,31 @@ import utils from '@/utils/common.js'
 		
 		},
 		methods: {
+			// 格式化时长:开始时间、结束时间 → 小时分秒
+			  formatDuration(startTime, endTime) {
+			    // 无时间直接返回 0
+			    if (!startTime || !endTime) return '0'
+			
+			    const start = new Date(startTime).getTime()
+			    const end = new Date(endTime).getTime()
+			    const duration = end - start
+			
+			    // 小于0直接返回0
+			    if (duration < 0) return '0'
+			
+			    // 计算时分秒
+			    const hours = Math.floor(duration / (1000 * 60 * 60))
+			    const minutes = Math.floor((duration % (1000 * 60 * 60)) / (1000 * 60))
+			    const seconds = Math.floor((duration % (1000 * 60)) / 1000)
+			
+			    // 拼接文案
+			    const parts = []
+			    if (hours > 0) parts.push(`${hours}小时`)
+			    if (minutes > 0) parts.push(`${minutes}分`)
+			    if (seconds > 0 || parts.length === 0) parts.push(`${seconds}秒`)
+			
+			    return parts.join('')
+			  },
 			getStatusBarHeight() {
 				if (uni.getWindowInfo) return uni.getWindowInfo().statusBarHeight || 0
 				if (typeof wx !== 'undefined' && wx.getWindowInfo) return wx.getWindowInfo().statusBarHeight || 0

+ 18 - 15
pages_user/userInfo.vue

@@ -19,14 +19,14 @@
 					<view class="info-item">
 						<view class="label">姓名</view>
 						<view class="right">
-							<input type="nickname" @input="onNicknameInput" v-model="formData.nickname"
+							<input type="nickName" @input="onnickNameInput" v-model="formData.nickName"
 								placeholder="请输入昵称" class="input" />
 						</view>
 					</view>
 					<view class="info-item" @click="toSelectGender">
 						<view class="label">性别</view>
 						<view class="right">
-							<text class="txt">{{formData.sex==1?'男':'女'}}</text>
+							<text class="txt">{{formData.sex==1?'女':'男'}}</text>
 							<image class="icon" src="https://ysrw-1395926010.cos.ap-chengdu.myqcloud.com/image/icon_my_more.png" mode=""></image>
 						</view>
 					</view>
@@ -141,7 +141,7 @@
 					formData: {
 						proofImages: [],
 						avatar: '',
-						nickname: '',
+						nickName: '',
 						sex: '',
 						deptId: '',
 						deptName: '',
@@ -184,20 +184,22 @@
 		methods: {
 			// 统一加载所有数据
 			loadAllData() {
+				// 获取公司ID
+				const companyId = this.userInfo.companyId || uni.getStorageSync('userInfo')?.companyId || '';
 				// 加载部门列表
-				this.loadData('dept', getDeptList, 'deptId', 'deptName', '');
+				this.loadData('dept', getDeptList, 'deptId', 'deptName', '', { companyId });
 				// 加载岗位列表
-				this.loadData('post', getPostList, 'postId', 'postName', '');
+				this.loadData('post', getPostList, 'postId', 'postName', '', { companyId });
 				// 加载上级列表
-				this.loadData('superior', getCompanyUserList, 'userId', 'nickName', '');
+				this.loadData('superior', getCompanyUserList, 'userId', 'nickName', '', { companyId });
 				// 加载产品列表
-				this.loadData('product', getProductList, 'productCode', 'productName', 'productCode');
+				this.loadData('product', getProductList, 'productCode', 'productName', 'productCode', { companyId });
 			},
 			// 加载指定类型的数据
-			async loadData(type, api, idField, nameField, codeField) {
+			async loadData(type, api, idField, nameField, codeField, params = {}) {
 				try {
 					if (api) {
-						const res = await api();
+						const res = await api(params);
 						if (res.code === 200 && res.data && res.data.length > 0) {
 							let filteredData = res.data;
 							// 剔除当前用户本人
@@ -221,8 +223,8 @@
 				return this.dataCache[type + 'List'] || [];
 			},
 
-			onNicknameInput(e) {
-				this.formData.nickname = e.detail.value;
+			onnickNameInput(e) {
+				this.formData.nickName = e.detail.value;
 			},
 
 			onChooseAvatar(e) {
@@ -297,7 +299,7 @@
 				
 				const params = {
 					avatar: this.formData.avatar,
-					nickName: this.formData.nickname,
+					nickName: this.formData.nickName,
 					sex: this.formData.sex,
 					deptId: this.formData.deptId,
 					postIds: postIdsArray,
@@ -317,6 +319,7 @@
 							title: '修改成功'
 						});
 						setTimeout(() => {
+							this.getUserInfo();
 							uni.navigateBack({
 								delta: 1
 							});
@@ -347,7 +350,7 @@
 
 							// 设置表单数据
 							this.formData.avatar = user.avatar || '';
-							this.formData.nickname = user.userName || '';
+							this.formData.nickName = user.nickName || '';
 							this.formData.sex = user.sex || '';
 							this.formData.deptId = user.deptId || '';
 							this.formData.deptName = user.deptName || '';
@@ -533,11 +536,11 @@
 
 			toSelectGender() {
 				this.pickerList = [{
-						id: '1',
+						id: '0',
 						title: '男'
 					},
 					{
-						id: '0',
+						id: '1',
 						title: '女'
 					}
 				];

BIN
static/image/logo.png


+ 1 - 1
utils/common.js

@@ -173,7 +173,7 @@ var getProvider = service => {
  	return treeData != '' ? treeData : data;
  }
 var parsePhone=function parsePhone(mobile) {
-	if(!mobile) return '****';
+	if(!mobile) return '';
     var str = mobile.substr(0,3)+"****"+mobile.substr(7);
     return str;
 }