linweizeng пре 3 година
родитељ
комит
3e29915fcd

+ 1 - 42
common/router/modules/routes.js

@@ -126,47 +126,6 @@ const routes = [{
 		meta: {
 			title: 'success',
 		},
-	}, {
-		path: '/pages/addressbook/address-book',
-		name: 'addressBook',
-		meta: {
-			title: 'addressBook',
-		},
-	},
-	{
-		path: '/pages/addressbook/level-address-book',
-		name: 'levelAddressBook',
-		meta: {
-			title: 'levelAddressBook',
-		},
-	},
-	{
-		path: '/pages/addressbook/member',
-		name: 'member',
-		meta: {
-			title: 'member',
-		},
-	},
-	{
-		path: '/pages/addressbook/address-detail',
-		name: 'addressDetail',
-		meta: {
-			title: 'addressDetail',
-		},
-	},
-	{
-		path: '/pages/annotation/annotationList',
-		name: 'annotationList',
-		meta: {
-			title: '通知公告',
-		},
-	},
-	{
-		path: '/pages/annotation/annotationDetail',
-		name: 'annotationDetail',
-		meta: {
-			title: '通知详情',
-		},
 	},
 	{
 		path: '/pages/fileView/reportList',
@@ -239,4 +198,4 @@ const routes = [{
 		},
 	}
 ]
-export default routes
+export default routes

+ 46 - 159
common/util/work.js

@@ -6,73 +6,31 @@ const icon_prefix = "/static/home/128/"
 
 export const us = {
 	data: [{
-			title: "检测委托",
-			icon: icon_prefix + "richang.png",
-			description: "记录每天的工作经验和心得",
-			useCount: 1000,
-			page: 'order'
-		}, {
-			title: "委托暂存",
-			icon: icon_prefix + "wendang.png",
-			description: "委托暂存",
-			useCount: 10000,
-			page: 'hold'
-		}, {
-			title: "委托查询",
-			icon: icon_prefix + "kaoqin.png",
-			description: "工作考勤",
-			useCount: 10000,
-			page: 'jindu',
-			text: 0
-		}, {
-			title: "我的样品",
-			icon: icon_prefix + "richeng.png",
-			description: "建立和查看个人工作安排",
-			useCount: 10000,
-			page: 'list'
-		}
-		/**
-	{
-      title:"请假申请",
-      icon:icon_prefix+"qingjia1.png",
-      description:"请假申请",
-      useCount:10000,
-	  page:'helloWorld'
-    },{
-	  title:"出差申请",
-	  icon:icon_prefix+"chuchai.png",
-	  description:"出差申请",
-	  useCount:10000,
-	  page:'helloWorld'
-    },{
-	  title:"公文发文",
-	  icon:icon_prefix+"gongwen.png",
-	  description:"公文发文",
-	  useCount:10000,
-	  page:'helloWorld'
-    },{
-	  title:"通知公告",
-	  icon:icon_prefix+"tongzhi.png",
-	  description:"查看企业对员工下发的通知公告",
-	  useCount:10000,
-	  page:'annotationList'
-    },{
-	  title:"内部邮件",
-	  icon:icon_prefix+"youjian.png",
-	  description:"查看内部消息",
-	  useCount:10000,
-	  dot:false,
-	  page:'helloWorld'
-    },{
-	  title:"通讯录",
-	  icon:icon_prefix+"tongxun.png",
-	  description:"查看部门,组员",
-	  useCount:10000,
-	  page:'levelAddressBook'
-    },
-	*/
-
-	]
+		title: "检测委托",
+		icon: icon_prefix + "richang.png",
+		description: "记录每天的工作经验和心得",
+		useCount: 1000,
+		page: 'order'
+	}, {
+		title: "委托暂存",
+		icon: icon_prefix + "wendang.png",
+		description: "委托暂存",
+		useCount: 10000,
+		page: 'hold'
+	}, {
+		title: "委托查询",
+		icon: icon_prefix + "kaoqin.png",
+		description: "工作考勤",
+		useCount: 10000,
+		page: 'jindu',
+		text: 0
+	}, {
+		title: "我的样品",
+		icon: icon_prefix + "richeng.png",
+		description: "建立和查看个人工作安排",
+		useCount: 10000,
+		page: 'list'
+	}]
 }
 
 
@@ -80,17 +38,7 @@ export const us = {
  * other server 其他服务
  */
 export const os = {
-	data: [
-		/*    {
-		      title:"委托进度查询",
-		      icon:icon_prefix+"xinwen.png",
-		      description:"新闻中心",
-		      useCount:10000,
-			  page:'helloWorld'
-		    }
-			
-			, */
-		{
+	data: [{
 			title: "个人信息",
 			icon: icon_prefix + "toupiao.png",
 			description: "投票中心",
@@ -117,31 +65,6 @@ export const os = {
 			useCount: 10000,
 			page: 'userexit'
 		}
-		/* {
-		      title:"文档中心",
-		      icon:icon_prefix+"wendang.png",
-		      description:"文档中心",
-		      useCount:10000,
-			  page:'helloWorld'
-		    },{
-		      title:"合同",
-		      icon:icon_prefix+"hetong.png",
-		      description:"合同",
-		      useCount:10000,
-			  page:'helloWorld'
-		    },{
-		      title:"会议",
-		      icon:icon_prefix+"huiyi.png",
-		      description:"会议",
-		      useCount:10000,
-			  page:'helloWorld'
-		    },{
-		      title:"客户关系",
-		      icon:icon_prefix+"tongzhi.png",
-		      description:"客户关系",
-		      useCount:10000,
-			  page:'helloWorld'
-		    } */
 	]
 }
 
@@ -150,59 +73,23 @@ export const os = {
  * other server 售后服务
  */
 export const sh = {
-	data: [
-		/*    {
-		      title:"委托进度查询",
-		      icon:icon_prefix+"xinwen.png",
-		      description:"新闻中心",
-		      useCount:10000,
-			  page:'helloWorld'
-		    }
-			
-			, */
-		{
-			title: "满意度调查",
-			icon: icon_prefix + "toupiao.png",
-			description: "投票中心",
-			useCount: 10000,
-			page: 'manyi'
-		}, {
-			title: "投诉",
-			icon: icon_prefix + "renwu.png",
-			description: "任务中心",
-			useCount: 10000,
-			page: 'tousuList'
-		}, {
-			title: "沟通",
-			icon: icon_prefix + "wendang.png",
-			description: "文档中心",
-			useCount: 10000,
-			page: 'communicationList'
-		}
-		/* {
-		      title:"文档中心",
-		      icon:icon_prefix+"wendang.png",
-		      description:"文档中心",
-		      useCount:10000,
-			  page:'helloWorld'
-		    },{
-		      title:"合同",
-		      icon:icon_prefix+"hetong.png",
-		      description:"合同",
-		      useCount:10000,
-			  page:'helloWorld'
-		    },{
-		      title:"会议",
-		      icon:icon_prefix+"huiyi.png",
-		      description:"会议",
-		      useCount:10000,
-			  page:'helloWorld'
-		    },{
-		      title:"客户关系",
-		      icon:icon_prefix+"tongzhi.png",
-		      description:"客户关系",
-		      useCount:10000,
-			  page:'helloWorld'
-		    } */
-	]
-}
+	data: [{
+		title: "满意度调查",
+		icon: icon_prefix + "toupiao.png",
+		description: "投票中心",
+		useCount: 10000,
+		page: 'manyi'
+	}, {
+		title: "投诉",
+		icon: icon_prefix + "renwu.png",
+		description: "任务中心",
+		useCount: 10000,
+		page: 'tousuList'
+	}, {
+		title: "沟通",
+		icon: icon_prefix + "wendang.png",
+		description: "文档中心",
+		useCount: 10000,
+		page: 'communicationList'
+	}]
+}

+ 1 - 24
pages.json

@@ -171,29 +171,6 @@
 					"desc": "你的位置信息将用于小程序位置接口的效果展示" // 高速公路行驶持续后台定位
 				}
 			}
-		}, {
-			"path": "pages/addressbook/address-book",
-			"style": {}
-		}, {
-			"path": "pages/addressbook/level-address-book",
-			"style": {}
-		},
-		{
-			"path": "pages/addressbook/member",
-			"style": {}
-		}, {
-			"path": "pages/addressbook/address-detail",
-			"style": {}
-		}, {
-			"path": "pages/annotation/annotationList",
-			"style": {
-				"app-plus": {
-					"bounce": "none" //删除此项: mescroll-body支持iOS回弹
-				}
-			}
-		}, {
-			"path": "pages/annotation/annotationDetail",
-			"style": {}
 		}, {
 			"path": "pages/common/helloWorld",
 			"style": {}
@@ -283,4 +260,4 @@
 		}]
 	}
 
-}
+}

+ 0 - 251
pages/addressbook/address-book.vue

@@ -1,251 +0,0 @@
-<template>
-	
-	<view>
-		<cu-custom :bgColor="NavBarColor" :isBack="true" backRouterName="index">
-			<block slot="backText">返回</block>
-			<block slot="content">通讯录</block>
-		</cu-custom>
-		<view class="cu-bar bg-white search fixed" :style="[{top:CustomBar + 'px'}]">
-			<view class="search-form round">
-				<text class="cuIcon-search"></text>
-				<input type="text" v-model="keyword" placeholder="输入搜索的关键词" confirm-type="search" @confirm="searchUserByKey"></input>
-			</view>
-			<view class="action">
-				<button class="cu-btn bg-gradual-blue shadow-blur round" @tap="searchUserByKey">搜索</button>
-			</view>
-		</view>
-		<scroll-view scroll-y class="indexes margin-top-xl"  :scroll-into-view="'indexes-'+ listCurID" :style="[{top:'calc('+ CustomBar + 'px - 20px)',height:'calc(100vh - '+ CustomBar + 'px - 70px)'}]"
-		 :scroll-with-animation="true" :enable-back-to-top="true">
-			<block v-for="(item,index) in list" :key="index">
-				<view :class="'indexItem-' + item.name" :id="'indexes-' + item.name" :data-index="item.name">
-					<view class="padding">{{item.name}}</view>
-					<view class="cu-list menu-avatar no-padding" >
-						<view class="cu-item" v-for="(items,sub) in userList" :key="sub" v-if="items.szm==item.name" @tap="toAddressDetail(items)">
-						   <view class="cu-avatar round lg" v-if="items.avatar" :style="[{ backgroundImage:'url(' + items.avatar + ')' }]"></view>
-							<view class="cu-avatar round lg" v-else>{{item.name}}</view>
-							<view class="content">
-								<view class="text-grey">{{items.realname?items.realname:items.username}}</view>
-								<view class="text-gray text-sm">
-									{{items.orgCode}}
-								</view>
-							</view>
-						</view>
-					</view>
-				</view>
-			</block>
-		</scroll-view>
-		<view class="indexBar" :style="[{height:'calc(110vh - ' + CustomBar + 'px - 50px)'}]">
-			<view class="indexBar-box" @touchstart="tStart" @touchend="tEnd" @touchmove.stop="tMove">
-				<view class="indexBar-item" v-for="(item,index) in list" :key="index" :id="index" @touchstart="getCur" @touchend="setCur"> {{item.name}}</view>
-			</view>
-		</view>
-		<!--选择显示-->
-		<view v-show="!hidden" class="indexToast">
-			{{listCur}}
-		</view>
-	</view>
-</template>
-
-<script>
-	import vPinyin from '@/common/util/vue-py.js';
-	import {getFileAccessHttpUrl} from '@/api/api.js';
-	export default {
-		data() {
-			return {
-				StatusBar: this.StatusBar,
-				CustomBar: this.CustomBar,
-				hidden: true,
-				listCurID: '',
-				list: [],
-				userList: [],
-				listCur: '',
-				keyword: '',
-				queryUserByKeyWord:'/sys/user/appQueryUser'
-			};
-		},
-		onLoad() {
-			let list = [{}];
-			for (let i = 0; i < 26; i++) {
-				list[i] = {};
-				list[i].name = String.fromCharCode(65 + i);
-			}
-			this.list = list;
-			this.listCur = list[0];
-			this.loadInfo()
-		},
-		onReady() {
-			let that = this;
-			uni.createSelectorQuery().select('.indexBar-box').boundingClientRect(function(res) {
-				that.boxTop = res.top
-			}).exec();
-			uni.createSelectorQuery().select('.indexes').boundingClientRect(function(res) {
-				that.barTop = res.top
-			}).exec()
-		},
-		methods: {
-			backTap(){
-				this.$Router.replace({name:'index'})
-			},
-			toAddressDetail(item){
-				let parmas = {...item}
-				parmas.departName=parmas.orgCode
-				this.$Router.push({name: 'addressDetail',params:parmas})
-			},
-			searchUserByKey(){
-				this.loadInfo()
-			},
-			loadInfo(){
-				this.$http.get(this.queryUserByKeyWord,{params:{'keyword':this.keyword}}).then(res=>{
-			         if (res.data.success) {
-						console.log("res",res)
-					    let arr=res.data.result;
-						let szuArr=[];
-					    this.userList = arr.map(item => {
-					        let { id,realname,avatar,username,phone,email,post,orgCode} = item
-							let pinYin = username.toUpperCase();
-							if(realname){
-								//TODO 判断汉字的位置
-								if(/.*[\u4e00-\u9fa5]+.*$/.test(realname)){
-									pinYin=vPinyin.chineseToPinYin(realname);
-								}
-							}
-							if(avatar){
-								avatar=getFileAccessHttpUrl(avatar);
-							}
-					        let event = {
-					          id, realname ,avatar,username,phone,email,post,orgCode,
-							  szm:pinYin.substr(0,1)
-					        }
-							szuArr.push(event.szm)
-					        return event
-					      })
-						 
-						  this.list=this.list.filter(item=>szuArr.indexOf(item.name)!=-1)	
-					      //this.list.unshift({name:"#"})
-					}
-				}).catch(err => {
-					console.log(err);
-				});
-				
-			},
-			//获取文字信息
-			getCur(e) {
-				this.hidden = false;
-				this.listCur = this.list[e.target.id].name;
-			},
-			setCur(e) {
-				this.hidden = true;
-				this.listCur = this.listCur
-			},
-			//滑动选择Item
-			tMove(e) {
-				let y = e.touches[0].clientY,
-					offsettop = this.boxTop,
-					that = this;
-				//判断选择区域,只有在选择区才会生效
-				if (y > offsettop) {
-					let num = parseInt((y - offsettop) / 20);
-					this.listCur = that.list[num].name
-				};
-			},
-
-			//触发全部开始选择
-			tStart() {
-				this.hidden = false
-			},
-
-			//触发结束选择
-			tEnd() {
-				this.hidden = true;
-				this.listCurID = this.listCur
-			},
-			indexSelect(e) {
-				let that = this;
-				let barHeight = this.barHeight;
-				let list = this.list;
-				let scrollY = Math.ceil(list.length * e.detail.y / barHeight);
-				for (let i = 0; i < list.length; i++) {
-					if (scrollY < i + 1) {
-						that.listCur = list[i].name;
-						that.movableY = i * 20
-						return false
-					}
-				}
-			}
-		}
-	}
-</script>
-
-<style>
-	page {
-		padding-top: 100upx;
-	}
-
-	.indexes {
-		position: relative;
-	}
-
-	.indexBar {
-		position: fixed;
-		right: 0px;
-		bottom: 0px;
-		padding: 20upx 20upx 20upx 60upx;
-		display: flex;
-		align-items: center;
-	}
-
-	.indexBar .indexBar-box {
-		width: 40upx;
-		height: auto;
-		background: #fff;
-		display: flex;
-		flex-direction: column;
-		box-shadow: 0 0 20upx rgba(0, 0, 0, 0.1);
-		border-radius: 10upx;
-	}
-
-	.indexBar-item {
-		flex: 1;
-		width: 40upx;
-		height: 40upx;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		font-size: 24upx;
-		color: #888;
-	}
-
-	movable-view.indexBar-item {
-		width: 40upx;
-		height: 40upx;
-		z-index: 9;
-		position: relative;
-	}
-
-	movable-view.indexBar-item::before {
-		content: "";
-		display: block;
-		position: absolute;
-		left: 0;
-		top: 10upx;
-		height: 20upx;
-		width: 4upx;
-		background-color: #f37b1d;
-	}
-
-	.indexToast {
-		position: fixed;
-		top: 0;
-		right: 80upx;
-		bottom: 0;
-		background: rgba(0, 0, 0, 0.5);
-		width: 100upx;
-		height: 100upx;
-		border-radius: 10upx;
-		margin: auto;
-		color: #fff;
-		line-height: 100upx;
-		text-align: center;
-		font-size: 48upx;
-	}
-</style>

+ 0 - 122
pages/addressbook/address-detail.vue

@@ -1,122 +0,0 @@
-<template>
-	<view>
-		<scroll-view :scroll-y="modalName==null" class="page">
-			<cu-custom :bgColor="NavBarColor" :isBack="true">
-				<block slot="backText">返回</block>
-				<block slot="content">个人信息</block>
-			</cu-custom>
-			<view class="cu-list menu-avatar margin-top">
-				<view class="cu-item">
-					<view class="cu-avatar round lg" v-if="infoList.avatar"  :style="[{backgroundImage:'url('+ infoList.avatar +')'}]"></view>
-					<view class="cu-avatar round lg" v-else :style="[{backgroundImage:'url('+ avatar +')'}]"></view>
-					<view class="content">
-						<view class="text-grey text-lg">{{infoList.realname?infoList.realname:infoList.username}}<text class="cuIcon-peoplefill margin-left-sm" :class="infoList.sex=='2'?'text-pink':'text-blue'"></text></view>
-						<view class="text-gray text-sm flex">
-							<view class="text-cut">
-								{{infoList.post}}
-							</view>
-						</view> 
-					</view>
-				</view>	
-			</view>
-			
-			<view class="cu-list menu margin-top">
-				<view class="cu-item animation-slide-bottom" :style="[{animationDelay: '0.2s'}]">
-					<view class="content">
-						<text class="text-grey">手机</text>
-					</view>
-					<view class="action">
-						<text class="text-grey">{{infoList.phone?infoList.phone:phone}}</text>
-					</view>
-				</view>
-				<view class="cu-item animation-slide-bottom" :style="[{animationDelay: '0.3s'}]">
-					<view class="content">
-						<text class="text-grey">邮箱</text>
-					</view>
-					<view class="action">
-						<text class="text-grey">{{infoList.email?infoList.email:email}}</text>
-					</view>
-				</view>
-				<view class="cu-item animation-slide-bottom" :style="[{animationDelay: '0.4s'}]">
-					<view class="content">
-						<text class="text-grey">部门</text>
-					</view>
-					<view class="action">
-						<text class="text-grey">{{infoList.departName?infoList.departName:company}}</text>
-					</view>
-				</view>
-			</view>
-			
-		</scroll-view>
-	</view>
-</template>
-
-<script>
-	import {phone,email,company} from "@/common/util/constants"
-	export default {
-		data() {
-			return {
-				phone,
-				email,
-				company,
-				NavBarColor:this.NavBarColor,
-				avatar:'/static/login4.png',
-				modalName: null,
-				infoList:{
-					realname:'',
-					post:'',
-					avatar:'',
-					phone:null,
-					email:'',
-					department:'',
-					title:''
-				},
-			};
-		},
-		onLoad() {
-			 this.infoList = this.$Route.query;
-			 console.log("this.infoList>>>",this.infoList)
-		},
-		methods: {
-			backRoute() {
-				//通讯录个人信息页面返回问题
-				if(this.infoList.page){
-					this.$Router.push({name:this.infoList.page})
-				}else{
-					let parmas={
-						title:this.$Route.query.departName,
-						orgCode:this.$Route.query.orgCode
-					}
-					this.$Router.push({name: 'member',params:parmas})
-				}
-			},
-		}
-	}
-</script>
-
-<style>
-	.page {
-		height: 100Vh;
-		width: 100vw;
-	}
-
-	.page.show {
-		overflow: hidden;
-	}
-
-	.switch-sex::after {
-		content: "\e716";
-	}
-
-	.switch-sex::before {
-		content: "\e7a9";
-	}
-
-	.switch-music::after {
-		content: "\e66a";
-	}
-
-	.switch-music::before {
-		content: "\e6db";
-	}
-</style>

+ 0 - 207
pages/addressbook/level-address-book.vue

@@ -1,207 +0,0 @@
-<template>
-
-	<view>
-		<view class="cu-bar fixed" :style="style" :class="[NavBarColor]">
-			<view class="cuIcon-back margin-left" @tap="backRoute()"><text class="margin-left-sm">返回</text></view>
-			<view class="content" :style="[{top:StatusBar + 'px'}]">
-				通讯录
-			</view>
-		</view>
-		<!-- 展示标题 -->
-		<view class="bg-gray text-gray padding" :style="[{marginTop:CustomBar+'px'}]">
-			{{ levelTitle }}
-		</view>
-		<!-- 展示部门和用户 -->
-		<view class="cu-list menu sm-border">
-			<view class="cu-item" v-for="(item, index) in comList" :key="item.key" @tap="goMember(item)">
-				<image class="line2-icon" src="/static/folder.png"></image>
-				<view class="content margin-left-sm">
-					<view class="text-grey">{{item.title}}</view>
-				</view>
-			</view>
-			<view class="cu-item" v-for="(item,index) in childrenUserList" :key="index" @click="goMemberInfo(item)">
-				<view class="cu-avatar round lx" :style="[{backgroundImage:'url('+ item.avatar +')'}]"></view>
-				<view class="content margin-left-sm">
-					<view class="text-grey">{{item.realname}}</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-import { getFileAccessHttpUrl } from "../../api/api.js"
-export default {
-	name: "level-address-book",
-	data(){
-		return{
-			CustomBar:this.CustomBar,
-			StatusBar:this.StatusBar,
-			NavBarColor:this.NavBarColor,
-			value:"",
-			derpartment:'通讯录',
-			comList:[],
-			childrenUserList:[],
-			metaList:[],
-			depart2Url:'/sys/sysDepart/queryTreeList',
-			queryTreeByKeyWord:'/sys/sysDepart/queryTreeByKeyWord',
-			queryUserByDid:'/sys/user/appQueryByDepartId',
-			// departUrl:'/sys/user/userDepartList',
-			level:0,
-			titleArray:[],
-			parentId:''
-		}
-	},
-	computed:{
-		levelTitle(){
-			if(this.titleArray && this.titleArray.length>0){
-				return  this.titleArray.join(' > ')
-			}
-			console.log("this.titleArray",this.titleArray)
-			return '企业通讯录'
-		},
-		style() {
-			var StatusBar= this.StatusBar;
-			var CustomBar= this.CustomBar;
-			var style = `height:${CustomBar}px;padding-top:${StatusBar}px;`;
-			return style
-		}
-	},
-	onLoad() {
-		console.log("this.CustomBar",this.CustomBar)
-		this.loadList()
-	},
-	methods: {
-		backRoute() {
-			console.log("this.level",this.level)
-			console.log("this.parentId",this.parentId)
-			if(this.level==0){
-				// 返回首页
-				this.$Router.replaceAll({name: 'index'})
-			}else{
-				//正常列表的回退 只要找parentId的parent的data
-				this.getCyclePnode(this.metaList,'');
-				//还需要设置 title
-				this.titleArray.pop();
-				this.level--;
-			}
-		},
-		onRefresh(){
-			this.comList=[]
-			this.childrenUserList=[]
-			this.titleArray=[]
-			this.loadList()
-		},
-		loadList() {
-			console.log("loadList==>$Route",this.$Route)
-			if(this.$Route.query.level){
-				let params=this.$Route.query
-				this.level=params.level;
-				this.comList=params.comList;
-				this.metaList=params.metaList;
-				this.childrenUserList=params.childrenUserList;
-				this.derpartment=params.derpartment;
-				this.parentId=params.parentId;
-				this.titleArray=params.titleArray;
-				return;
-			}
-
-			this.$http.get(this.queryTreeByKeyWord).then(res => {
-				console.log("部门通讯树::", res)
-				if (res.data.success) {
-					console.log("部门::", res.data.result.departList)
-					if(res.data.result.departList && res.data.result.departList.length >0){
-						for (let item of res.data.result.departList) {
-							console.log("item::",item);
-							this.comList.push(item)
-							this.metaList.push(item)
-						}
-						this.derpartment = this.comList[0].title
-					}
-				}
-			}).catch(e => {
-				console.log("queryTreeByKeyWord 请求错误", e)
-			})
-		},
-		getUser(departId,title){
-			this.$http.get(this.queryUserByDid,{params:{departId:departId}}).then(res => {
-			  this.childrenUserList=res.data.result;
-			  for(let item of this.childrenUserList){
-				  item.departName=title
-				  this.avatarHandler(item)
-			   }
-			})
-		},
-		avatarHandler(item){
-			let avatar = item.avatar
-			if(avatar){
-				let url = getFileAccessHttpUrl(avatar);
-				item.avatar = url
-			}else{
-				if(item.sex=='2'){
-					item.avatar = 'https://static.jeecg.com/upload/test/avatar_girl_1595818025488.png';
-				}else{
-					item.avatar = 'https://static.jeecg.com/upload/test/avatar_boy_1595818012577.png';
-				}
-			}
-
-		},
-		goMember(item){
-			let params = {...item}
-			if (params.children && params.children.length>0){
-				this.level++;
-				this.comList=[];
-				this.childrenUserList=[];
-				for (let item of params.children) {
-				  this.comList.push(item)
-				}
-				this.getUser(params.id,params.title)
-				this.titleArray.push(params.title);
-				this.parentId = params.id;
-				this.derpartment = params.title;
-			}else{
-				console.log("params==>toMember",params)
-				params.level=this.level;
-				params.comList=this.comList;
-				params.metaList=this.metaList;
-				params.childrenUserList=this.childrenUserList;
-				params.derpartment=this.derpartment;
-				params.parentId=this.parentId;
-				params.titleArray=this.titleArray;
-				this.$Router.push({name: 'member',params:params})
-			}
-		},
-		getCyclePnode(arr, pid){
-			for(let item of arr){
-				if(item.id == this.parentId){
-					this.comList = arr;
-					this.childrenUserList=[];
-					this.derpartment = this.comList[0].title
-					this.parentId = pid;
-					this.getUser(this.parentId,item.title)
-					break;
-				}
-				if(item.children && item.children.length>0){
-					this.getCyclePnode(item.children, item.id)
-				}
-
-			}
-		},
-		goMemberInfo: function (item){
-			console.log("item",item)
-			
-			let parmas = {...item}
-			console.log("parmas",parmas)
-			parmas.page='levelAddressBook'
-			this.$Router.push({name: 'addressDetail',params:parmas})
-		},
-	}
-}
-</script>
-
-<style>
-	  .line2-icon {
-		width: 25px;
-		height: 20px;
-	  }
-</style>

+ 0 - 128
pages/addressbook/member.vue

@@ -1,128 +0,0 @@
-<template>
-    <view>
-        <view class="cu-bar fixed" :class="[NavBarColor]" :style="style" >
-        	<view class="cuIcon-back margin-left" @tap="backRoute()"><text class="margin-left-sm">返回</text></view>
-        	<view class="content" :style="[{top:StatusBar + 'px'}]">
-        		{{ memberTitle }}
-        	</view>
-        </view>
-		<!-- 展示部门和用户 -->
-		<view class="cu-list menu-avatar sm-border" :style="[{marginTop:'calc('+CustomBar+ 'px + 10px)'}]">
-		    <view class="cu-item" v-for="(item, index) in memberList" :key="index" @click="goMemberInfo(item)">
-				<view class="cu-avatar round lg" :style="[{backgroundImage:'url('+ item.avatar +')'}]"></view>
-				<view class="content">
-					<view class="text-grey">{{item.realname}}</view>
-					<view class="text-grey">{{item.post}}</view>
-				</view>
-			</view>
-			<view class="text-center text-lg"><text>共{{ memberTotal}}人</text></view>
-		</view>
-    </view>
-</template>
-
-<script>
-	import { getFileAccessHttpUrl } from "../../api/api.js"
-    export default {
-        name: "member",
-        data(){
-            return{
-				CustomBar:this.CustomBar,
-				StatusBar:this.StatusBar,
-				NavBarColor:this.NavBarColor,
-				departUrl:'/sys/sysDepart/queryTreeList',
-                addressSourceUrl:'/sys/user/queryByOrgCodeForAddressList',
-                queryByOrgCodeKeyword:'/sys/user/queryByOrgCodeKeyword',
-                positionUrl:'/sys/position/list',
-                value:'',
-                memberTitle:'',
-                memberList:[],
-                userId:'',
-                orgCode:'',
-                ids:{},
-                memberTotal:0,
-            }
-        },
-        onLoad(){
-			console.log("this.$Router", this.$Route);
-            this.memberTitle = this.$Route.query.title
-            this.orgCode = this.$Route.query.orgCode
-            this.loadList()
-		},
-		computed:{
-			style() {
-				var StatusBar= this.StatusBar;
-				var CustomBar= this.CustomBar;
-				var style = `height:${CustomBar}px;padding-top:${StatusBar}px;`;
-				return style
-			}
-		},
-        methods: {
-            backRoute() {
-                this.$Router.push({name: 'levelAddressBook',params:this.$Route.query})
-            },
-            goMemberInfo(item){
-                let parmas = {...item}
-                parmas.orgCode= this.orgCode
-                this.$Router.push({name: 'addressDetail',params:parmas})
-            },
-            loadList() {
-                let param = {
-                    orgCode:this.orgCode,
-                    realname:this.value
-                }
-                this.$http.get(this.addressSourceUrl,{params:param}).then(res => {
-                    console.log("用户2", res)
-                    if (res.data.success) {
-                        let memberArr = res.data.result.records;
-                        //memberArr = memberArr.filter(item => item.departName == this.memberTitle)
-                        for (let item of memberArr) {
-							this.avatarHandler(item);
-                            this.memberList.push(item)
-                            // this.userId = item.userId
-                            this.memberTotal = memberArr.length
-                            if (this.memberTotal == undefined){
-                                this.memberTotal = 0
-                            }
-                        }
-                    }
-                }).catch(e => {
-                    console.log("请求错误", e)
-                })
-
-                this.$http.get(this.positionUrl).then(res=> {
-                   console.log("用户1",res)
-                    if (res.data.success) {
-                        let postArr = res.data.result.records
-                        for (let item of postArr ){
-                            for (let it of this.memberList){
-                                if (it.post == item.code){
-                                    it.post = item.name
-                                }
-                            }
-                        }
-                    }
-                }).catch(e=>{
-                    console.log("请求错误",e)
-                })
-            },
-			avatarHandler(item){
-				let avatar = item.avatar
-				if(avatar){
-					let url = getFileAccessHttpUrl(avatar);
-					item.avatar = url
-				}else{
-					if(item.sex=='2'){
-						item.avatar = 'static/avatar_girl.png';
-					}else{
-						item.avatar = 'static/avatar_boy.png';
-					}
-				}
-			
-			},
-        }
-    }
-</script>
-
-<style scoped>
-	
-</style>

+ 0 - 93
pages/annotation/annotationDetail.vue

@@ -1,93 +0,0 @@
-<template>
-	<view class="bg-white" style="height: 100vh;">
-		<cu-custom :bgColor="NavBarColor" :isBack="true" backFlag="navigate">
-			<block slot="backText">返回</block>
-			<block slot="content">详情</block>
-		</cu-custom>
-		<view>
-			<view class="title">
-				<view class="padding" style="font-family: '宋体';">
-					<text class="text-black title text-bold text-xl">{{annotation.titile}} </text>
-				</view>
-			</view>
-			<view class=" text-df padding-left " style="color: #999;">
-				<text class="title padding-right-xl" style="color: #999;">
-					{{annotation.sender||''}}
-				</text>	
-				<text  class="" v-html="annotation.sendTime">
-				</text>
-			</view>
-			<view class="desc" style="font-family: '仿宋';font-size: 18px;">
-				<view class="text-content padding" v-html="annotation.msgContent">
-					<!-- <annotation-block :content="annotation.msgContent"/> -->
-				</view>
-			</view>
-			<view class="text-gray padding-left padding-bottom text-gray">
-				<text class="cuIcon-attentionfill margin-lr-xs" @click="numberPlus"></text> 10
-				<text class="cuIcon-appreciatefill padding-left margin-lr-xs" @click="numberPlus"></text> 20
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-
-
-export default {
-	data(){
-		return{
-			NavBarColor:this.NavBarColor,
-			annotation:{
-				id:"",
-				titile:"",
-				startTime:"",
-				sender:"",
-				msgContent:"",
-
-			},
-			goodNumber:null,
-			flg:true,
-		}
-	},
-	// onLoad:function(){
-	// 	console.log("this.$Route.query",this.$Route);
-	// 	let query = this.$Route.query
-	// 	if(query){
-	// 		this.annotation = query;
-	// 		}
-	// },
-	onLoad: function (option) {
-	    const annItem = JSON.parse(decodeURIComponent(option.item));
-		console.log("ann",annItem)
-		this.annotation = annItem 
-		this.readOk();
-	},
-	created(){
-		console.log("created")
-		//this.readOk();
-	},
-	methods:{
-		readOk(){
-			console.log("readOk")
-			let param = {anntId:this.annotation.anntId}
-			this.$http.put('/sys/sysAnnouncementSend/editByAnntIdAndUserId',param);
-		},
-
-		numberPlus(){
-			if (this.flg){
-				this.goodNumber++
-				this.flg = false
-			} else {
-				this.goodNumber--
-				if (this.goodNumber == 0){
-					this.goodNumber = null
-				}
-				this.flg = true
-			}
-		}
-	}
-}
-</script>
-
-<style>
-</style>

+ 0 - 308
pages/annotation/annotationList.vue

@@ -1,308 +0,0 @@
-<template>
-	<view class="bg-white" >
-		<cu-custom :bgColor="NavBarColor" :isBack="true" backRouterName="index">
-			<block slot="backText">返回</block>
-			<block slot="content">公告消息</block>
-		</cu-custom>
-		<view class="container">
-			<view class="solid-bottom">
-				<scroll-view scroll-x class="bg-white nav text-center ">
-					<view class="flex text-center justify-around">
-						<view class="cu-item" :class="item.value==TabCur?'text-blue cur':''" v-for="(item,index) in tabs" :key="index" @tap="tabSelect" :data-id="item.value">
-							{{item.title}}
-						</view>
-					</view>
-				</scroll-view>
-			</view>
-			
-			 <mescroll-uni ref="mescrollRef" @init="mescrollInit" :top="top"  @down="downCallback"  @up="upCallback">
-				<!-- 数据列表 -->
-				<view class="al-list cu-list">
-					<view class="message_text bg-white cu-item flex justify-around align-center solid-bottom margin-bottom-sm margin-top-sm" style="width: 100vw;" v-for="(item,index) in msgList" :key="index" @tap="goAnnotationDetail(item)" :class="modalName=='move-box-'+ index?'move-cur':''"
-					  @touchstart="ListTouchStart" @touchmove="ListTouchMove" @touchend="ListTouchEnd" :data-target="'move-box-' + index">
-						<view v-if="isEmail(item)" class="padding-left">
-							<view class="cu-avatar radius cuIcon-mail bg-orange" ></view>
-						</view>
-						<view v-if="item.msgCategory == '1'&&!isEmail(item)" class="padding-left">
-							<view class="cu-avatar radius cuIcon-notification bg-orange" ></view>
-						</view>
-						<view v-if="item.msgCategory == '2'&&!isEmail(item)" class="padding-left">
-							<view class="cu-avatar radius cuIcon-notice bg-orange" ></view>
-						</view>
-						<view class="titlePad content" style="height: 4em;">
-							<view class="flex justify-start text-cut text-lg" style="width:26em;color: #333;font-family: '黑体';">
-								<!-- <view v-if="item.readFlag == '0'"  class="cu-tag light bg-blue">未读</view> -->
-								<view v-if="item.readFlag == '0'">
-									<text class="cuIcon-title text-red padding-left-sm" style="margin-right: -0.8em;"></text>
-								</view>
-								<view class="padding-left">
-									<text class="text-black" v-if="isEmail(item)&&item.emailTitle">{{titleFilter(item.emailTitle,12)}} </text>
-									<text class="text-black" v-else>{{titleFilter(item.titile,12)}} </text>
-								</view>
-							</view>
-							<view class="flex justify-between margin-top-xs" style="font-family: '黑体';color: #999;">
-								<view v-if="isEmail(item)" class="text-content text-cut" style="padding-left: .8rem;width:18em;"
-								 v-html="item.msgContent" @click="goEmailDetailPage(item);">
-                                </view>
-								<view v-else-if="!isEmail(item)" style="padding-left: .8rem;">
-									<view class="text-content text-cut" v-if="item.msgAbstract && item.msgAbstract.length > 0" style="width:18em;"
-									 v-html="item.msgAbstract">
-									</view>
-									<view v-else>
-										无摘要
-									</view>
-								</view>
-							</view>
-			
-						</view>
-						<view class="action text-sm" style="color: #aaa;margin-top: -2em;margin-left: -13em;width: 10em;">
-							<text >{{formatDate(item.sendTime,10)}}</text>
-						</view>
-						<view class="move">
-							<view class="bg-red" style="margin-right: 3em;margin-left: 2px;" @tap.stop="deleteAnnotation(item)">删除</view>
-						</view>
-					</view>
-				</view>
-			</mescroll-uni>
-		</view>
-
-	</view>
-</template>
-
-<script>
-	const tabs = [{title:'通知公告',value:0}, {title:'系统消息',value:1}];
-	import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
-	
-	
-	export default {
-	    mixins: [MescrollMixin], // 使用mixin
-		data() {
-			return {
-				tabs,
-				TabCur: 0,
-				scrollLeft: 0,
-				NavBarColor:this.NavBarColor,
-				upOption:{
-					page: {
-						num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
-						size: 10 // 每页数据的数量
-					},
-					noMoreSize: 4, //如果列表已无数据,可设置列表的总数量要大于半页才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看; 默认5
-					empty:{
-						tip: '~ 暂无数据 ~', // 提示
-						
-					},
-					loading:'',
-					text:'全部',
-					isShowNoMore:false,
-					textNoMore:'我是有底线的 >_<'
-				},
-				msgList: [], //列表数据
-			    read: "all",
-				announcement1:[],
-				msg1Count:"",
-				msg1Title:"",
-				announcement2:[],
-				msg2Count:"",
-				msg2Title:"",
-				url:"/sys/sysAnnouncementSend/getMyAnnouncementSend",
-				delUrl:'/sys/sysAnnouncementSend/delete',
-				listTouchStart: 0,
-			    modalName: null,
-			    listTouchDirection: null,
-			}
-		},
-		onShow() {
-			if(this.mescroll){
-				this.mescroll.resetUpScroll()
-			}
-		},
-		computed:{
-			top() {
-				return this.CustomBar * 2 + 95
-			},
-			style() {
-				var StatusBar= this.StatusBar;
-				var CustomBar= this.CustomBar;
-				var style = `height:${CustomBar}px;padding-top:${StatusBar}px;`;
-				return style
-			},
-		},
-		methods: {
-			// unique(arr) {
-			//     var obj = {};
-			//     return arr.filter(function(item, index, arr){
-			//         return obj.hasOwnProperty(typeof item + item) ? false : (obj[typeof item + item] = true)
-			//     })
-			// },
-			upCallback(page) {
-				//联网加载数据
-				console.log("tabindex",this.TabCur )
-				let keyword = this.TabCur
-				if(keyword == 0){
-					this.$http.get(this.url,{params:{pageNo: page.num, pageSize:page.size,msgCategory: '1'}}).then(res=>{
-						//联网成功的回调,隐藏下拉刷新和上拉加载的状态;
-						
-						this.announcement1 = res.data.result.records
-						this.mescroll.endSuccess(this.announcement1.length);
-						//console.log("url", res)
-						//设置列表数据
-						  if (res.data.success) {
-							 console.log("res",res.data)
-							 this.msg1Count = res.data.result.total
-							 this.msg1Title = "通知(" + res.data.result.total + ")";
-							 for(let annItem of this.announcement1){
-									 this.msgList.push(annItem)							
-								}
-						 }
-						if(page.num == 1){
-							this.msgList = []; //如果是第一页需手动制空列表
-							this.msgList = this.msgList.concat(this.announcement1); //追加新数据
-						}
-						
-					}).catch(()=>{
-						//联网失败, 结束加载
-						this.mescroll.endErr();
-					})
-				}
-				if(keyword == 1){
-					this.$http.get(this.url,{params:{pageNo: page.num,pageSize: page.size,msgCategory: '2'}}).then(res=>{
-						//联网成功的回调,隐藏下拉刷新和上拉加载的状态;
-						this.announcement2 = res.data.result.records
-						this.mescroll.endSuccess(this.announcement2.length,this.msgCount);
-						
-						//设置列表数据
-						  if (res.data.success) {
-							  console.log("res sys",res.data)
-							 this.msg2Count = res.data.result.total
-							 this.msg2Title = "通知(" + res.data.result.total + ")";
-							 // this.announcement2.filter((item,index) => {
-							 // // console.log("item",item)
-							 //  if(item.anntId == this.announcement2[index+1].anntId){
-								//   this.announcement2.splice(item,1)
-								  for(let item of this.announcement2){
-									  this.msgList.push(item)							
-								  }
-							//   }
-							// })
-						 }
-						if(page.num == 1){
-							this.msgList = []; //如果是第一页需手动制空列表
-							this.msgList = this.msgList.concat(this.announcement2); //追加新数据
-						}
-					}).catch(()=>{
-						//联网失败, 结束加载
-						this.mescroll.endErr();
-					})
-				}
-				
-			},
-		
-			tabSelect(e) {
-				this.TabCur = e.currentTarget.dataset.id;
-				this.scrollLeft = (e.currentTarget.dataset.id - 1) * 60;
-				this.msgList = []// 先置空列表,显示加载进度
-				this.mescroll.resetUpScroll() // 再刷新列表数据
-			},
-			goAnnotationDetail(item){
-				//item.readFlag = '1'
-				this.mescroll.resetUpScroll() 
-			    if(item.openType=="component" && item.openPage.indexOf('email')>= 0){
-					this.goEmailDetailPage(item)
-				}else{
-					// console.log("detail",encodeURIComponent(JSON.stringify(item)))
-					uni.navigateTo({
-						url: '/pages/annotation/annotationDetail?item='+ encodeURIComponent(JSON.stringify(item))
-					});
-				}
-			},
-			isEmail(item){
-				if(item.openType=="component" &&item.openPage.indexOf('email')>=0){
-				  return true;
-				}else{
-				  return false;
-				}
-		    },
-			goEmailDetailPage(item){
-				console.log("go",item.anntId)
-				console.log("item",item)
-				 if(item.readFlag == '0'){
-					//item.readFlag = '1'
-					this.mescroll.resetUpScroll() 
-					let readUrl = '/sys/sysAnnouncementSend/editByAnntIdAndUserId';
-					this.$http.put(readUrl,{anntId:item.anntId})					
-				}
-				// console.log("goe",item.busId)
-				
-				uni.navigateTo({
-					url: '/pages/mail/mailDetail?id='+item.busId
-				});
-				
-			},
-			ListTouchStart(e) {
-				this.listTouchStart = e.touches[0].pageX
-			},
-			
-			// ListTouch计算方向
-			ListTouchMove(e) {
-				this.listTouchDirection = e.touches[0].pageX - this.listTouchStart > 0 ? 'right' : 'left'
-			},
-			
-			// ListTouch计算滚动
-			ListTouchEnd(e) {
-				if (this.listTouchDirection == 'left') {
-					this.modalName = e.currentTarget.dataset.target
-				} else {
-					this.modalName = null
-				}
-				this.listTouchDirection = null
-			},
-			deleteAnnotation(item) {
-				this.$http.delete(this.delUrl+'?id='+item.id).then(res => {
-					console.log("结果数据9", res)
-					if (res.data.success) {
-						this.mescroll.resetUpScroll() 
-					}
-				}).catch(e => {
-					console.log("al delUrl请求错误2", e)
-					this.mescroll.endErr();
-				})
-			},
-			formatDate(text,len){
-				if(!text || text.length==0){
-					return ''
-				}
-				if(text.length<len){
-					return text;
-				}
-				return text.substr(0,len)
-			},
-			titleFilter(text,len){
-				if(!text || text.length==0){
-					return ''
-				}
-				if(text.length<len){
-					return text;
-				}
-				return text.substr(0,len)+"..."
-			}
-			
-		}
-	}
-</script>
-
-<style scoped>
-	.e-btn{margin-bottom: 1rem;}
-
-	.titlePad{margin-top:0.6rem;}
-	.cu-list>.move-cur{
-		transform: translateX(-150rpx);
-		
-	}
-	.nav .cu-item.cur {
-		position: flex;
-		z-index: 9;
-		border-bottom: 4upx solid;
-	}
-
-</style>

+ 4 - 5
pages/basics/home.vue

@@ -1,11 +1,10 @@
 <template name="basics">
 	<view>
 		<scroll-view scroll-y class="page">
-			<image src="/static/componentBg.png "
-			 mode="widthFix" class="response"></image>
 			<view class="nav-list">
-				<navigator hover-class="none" :url="'/pages/basics/' + item.name" class="nav-li" navigateTo :class="'bg-'+item.color"
-				 :style="[{animation: 'show ' + ((index+1)*0.2+1) + 's 1'}]" v-for="(item,index) in elements" :key="index">
+				<navigator hover-class="none" :url="'/pages/basics/' + item.name" class="nav-li" navigateTo
+					:class="'bg-'+item.color" :style="[{animation: 'show ' + ((index+1)*0.2+1) + 's 1'}]"
+					v-for="(item,index) in elements" :key="index">
 					<view class="nav-title">{{item.title}}</view>
 					<view class="nav-name">{{item.name}}</view>
 					<text :class="'cuIcon-' + item.cuIcon"></text>
@@ -94,4 +93,4 @@
 	.page {
 		height: 100vh;
 	}
-</style>
+</style>

+ 4 - 4
pages/component/home.vue

@@ -1,10 +1,10 @@
 <template name="components">
 	<view>
 		<scroll-view scroll-y class="page">
-			<image src="/static/componentBg.png" mode="widthFix" class="response"></image>
 			<view class="nav-list">
-				<navigator hover-class='none' :url="'/pages/component/' + item.name" class="nav-li" navigateTo :class="'bg-'+item.color"
-				 :style="[{animation: 'show ' + ((index+1)*0.2+1) + 's 1'}]" v-for="(item,index) in elements" :key="index">
+				<navigator hover-class='none' :url="'/pages/component/' + item.name" class="nav-li" navigateTo
+					:class="'bg-'+item.color" :style="[{animation: 'show ' + ((index+1)*0.2+1) + 's 1'}]"
+					v-for="(item,index) in elements" :key="index">
 					<view class="nav-title">{{item.title}}</view>
 					<view class="nav-name">{{item.name}}</view>
 					<text :class="'cuIcon-' + item.cuIcon"></text>
@@ -89,4 +89,4 @@
 	.page {
 		height: 100vh;
 	}
-</style>
+</style>

+ 0 - 16
pages/home/home.vue

@@ -75,22 +75,6 @@
 		},
 		data() {
 			return {
-				swiperList: [
-
-					{
-						id: 2,
-						type: 'image',
-						url: '/static/banner/banner2.jpg',
-						link: ''
-					},
-					{
-						id: 3,
-						type: 'image',
-						url: '/static/banner/banner3.jpg',
-						link: ''
-					},
-
-				],
 				middleApps: [{
 						icon: 'line2_icon1.png',
 						title: '审批',

+ 1 - 2
pages/user/user.vue

@@ -1,7 +1,6 @@
 <template name="user">
 	<view>
 		<scroll-view scroll-y class="page">
-			<image src="/static/componentBg.png " mode="widthFix" class="response"></image>
 			<view class="nav-list">
 				<navigator hover-class="none" :url="'/pages/common/' + item.name" class="nav-li" navigateTo
 					:class="'bg-'+item.color" :style="[{animation: 'show ' + ((index+1)*0.2+1) + 's 1'}]"
@@ -36,4 +35,4 @@
 
 <style>
 
-</style>
+</style>

+ 1 - 2
pages/user/userexit.vue

@@ -1,7 +1,6 @@
 <template name="user">
 	<view>
 		<scroll-view scroll-y class="page">
-			<!-- <image src="/static/componentBg.png " mode="widthFix" class="response"></image> -->
 			<view class="nav-list u-m-t-30">
 				<navigator hover-class="none" :url="'/pages/common/' + item.name" class="nav-li" navigateTo
 					:class="'bg-'+item.color" :style="[{animation: 'show ' + ((index+1)*0.2+1) + 's 1'}]"
@@ -38,4 +37,4 @@
 
 <style>
 
-</style>
+</style>

BIN
static/BasicsBg.png


BIN
static/banner/banner1.png


BIN
static/banner/banner2.jpg


BIN
static/banner/banner3.jpg


BIN
static/banner/banner4.jpg


BIN
static/componentBg.png