Browse Source

完善页面保存跳转和归档

LuChongMei 1 year ago
parent
commit
9691b22bd5

+ 96 - 81
jp-mobile/components/ly-tree/ly-tree-node.vue

@@ -1,55 +1,56 @@
 <template>
 	<view class="ly-tree-node" @tap.stop="handleClick" v-show="node.visible" :class="{ 'is-expanded': expanded, 
 			'is-hidden': !node.visible, 
-			'is-checked': !node.disabled && node.checked }"
-	 role="treeitem" name="LyTreeNode" ref="node">
-		<view class="ly-tree-node__content" :class="{'is-current': node.isCurrent && highlightCurrent}" :style="{ 'padding-left': (node.level - 1) * indent + 'px' }">
-			<text @tap.stop="handleExpandIconClick" :class="[{ 'is-leaf': node.isLeaf, expanded: !node.isLeaf && node.expanded }, 'ly-tree-node__expand-icon', iconClass ? iconClass : 'ly-iconfont ly-icon-caret-right']"></text>
-			<ly-checkbox v-if="checkboxVisible || radioVisible"
-				:type="checkboxVisible ? 'checkbox' : 'radio'" 
-				:checked="node.checked" 
-				:indeterminate="node.indeterminate" 
-				:disabled="!!node.disabled"
-				@check="handleCheckChange(!node.checked)"/>
-			
+			'is-checked': !node.disabled && node.checked }" role="treeitem" name="LyTreeNode" ref="node">
+		<view class="ly-tree-node__content" :class="{'is-current': node.isCurrent && highlightCurrent}"
+			:style="{ 'padding-left': (node.level - 1) * indent + 'px' }">
+			<text @tap.stop="handleExpandIconClick"
+				:class="[{ 'is-leaf': node.isLeaf, expanded: !node.isLeaf && node.expanded }, 'ly-tree-node__expand-icon', iconClass ? iconClass : 'ly-iconfont ly-icon-caret-right']"></text>
+			<ly-checkbox v-if="checkboxVisible || radioVisible" :type="checkboxVisible ? 'checkbox' : 'radio'"
+				:checked="node.checked" :indeterminate="node.indeterminate" :disabled="!!node.disabled"
+				@check="handleCheckChange(!node.checked)" />
+
 			<text v-if="node.loading" class="ly-tree-node__loading-icon ly-iconfont ly-icon-loading"></text>
-			
-			<template v-if="node.icon && node.icon.length > 0">
-				<image v-if="node.icon.indexOf('/') !== -1" class="ly-tree-node__icon" :src="node.icon" mode="widthFix"></image>
-				<text v-else class="ly-tree-node__icon" :class="node.icon"></text>
-			</template>
-			
-			<text class="ly-tree-node__label">{{node.label}}</text>
+
+			<view class="ly-tree-node-title">
+				<template v-if="node.icon && node.icon.length > 0">
+					<image v-if="node.icon.indexOf('/') !== -1" class="ly-tree-node__icon" :src="node.icon"
+						mode="widthFix"></image>
+					<text v-else class="ly-tree-node__icon" :class="node.icon"></text>
+				</template>
+				<text class="ly-tree-node__label">{{node.label}}</text>
+			</view>
+			<view class="ly-tree-node-desc">
+				<view class="ly-tree-node-desc-item">{{node.data.mobile}}</view>
+				<view class="ly-tree-node-desc-item">{{node.data.phone}}</view>
+			</view>
 		</view>
-		
-		<view v-if="!renderAfterExpand || childNodeRendered" v-show="expanded" class="ly-tree-node__children" role="group">
-			<ly-tree-node v-for="cNodeId in node.childNodesId" 
-				:nodeId="cNodeId" 
-				:render-after-expand="renderAfterExpand" 
-				:show-checkbox="showCheckbox"
-				:show-radio="showRadio" 
-				:check-only-leaf="checkOnlyLeaf"
-				:key="getNodeKey(cNodeId)" 
-				:indent="indent" 
-				:icon-class="iconClass">
+
+		<view v-if="!renderAfterExpand || childNodeRendered" v-show="expanded" class="ly-tree-node__children"
+			role="group">
+			<ly-tree-node v-for="cNodeId in node.childNodesId" :nodeId="cNodeId"
+				:render-after-expand="renderAfterExpand" :show-checkbox="showCheckbox" :show-radio="showRadio"
+				:check-only-leaf="checkOnlyLeaf" :key="getNodeKey(cNodeId)" :indent="indent" :icon-class="iconClass">
 			</ly-tree-node>
 		</view>
 	</view>
 </template>
 
 <script>
-	import {getNodeKey} from './tool/util.js';
+	import {
+		getNodeKey
+	} from './tool/util.js';
 	import lyCheckbox from './components/ly-checkbox.vue';
 
 	export default {
 		name: 'LyTreeNode',
-		
+
 		componentName: 'LyTreeNode',
-		
+
 		components: {
 			lyCheckbox
 		},
-		
+
 		props: {
 			nodeId: [Number, String],
 			renderAfterExpand: {
@@ -71,7 +72,7 @@
 			indent: Number,
 			iconClass: String
 		},
-		
+
 		data() {
 			return {
 				node: {
@@ -86,26 +87,26 @@
 				highlightCurrent: false
 			};
 		},
-		
+
 		inject: ['tree'],
-		
+
 		computed: {
 			checkboxVisible() {
 				if (this.checkOnlyLeaf) {
 					return this.showCheckbox && this.node.isLeaf;
 				}
-				
+
 				return this.showCheckbox;
 			},
 			radioVisible() {
 				if (this.checkOnlyLeaf) {
 					return this.showRadio && this.node.isLeaf;
 				}
-				
+
 				return this.showRadio;
 			}
 		},
-		
+
 		watch: {
 			'node.indeterminate'(val) {
 				this.handleSelectChange(this.node.checked, val);
@@ -120,18 +121,18 @@
 				}
 			}
 		},
-		
+
 		methods: {
 			getNodeKey(nodeId) {
 				let node = this.tree.store.root.getChildNodes([nodeId])[0];
 				return getNodeKey(this.tree.nodeKey, node.data);
 			},
-			
+
 			handleSelectChange(checked, indeterminate) {
 				if (this.oldChecked !== checked && this.oldIndeterminate !== indeterminate) {
-					
+
 					if (this.checkOnlyLeaf && !this.node.isLeaf) return;
-					
+
 					if (this.checkboxVisible) {
 						const allNodes = this.tree.store._getAllNodes();
 						this.tree.$emit('check-change', {
@@ -150,15 +151,15 @@
 						});
 					}
 				}
-				
+
 				if (!this.expanded && this.tree.expandOnCheckNode && checked) {
 					this.handleExpandIconClick();
 				}
-				
+
 				this.oldChecked = checked;
 				this.indeterminate = indeterminate;
 			},
-			
+
 			handleClick() {
 				this.tree.store.setCurrentNode(this.node);
 				this.tree.$emit('current-change', {
@@ -167,43 +168,43 @@
 					currentNode: this.tree.store.currentNode
 				});
 				this.tree.currentNode = this.node;
-				
+
 				if (this.tree.expandOnClickNode) {
 					this.handleExpandIconClick();
 				}
-				
+
 				if (this.tree.checkOnClickNode && !this.node.disabled) {
 					(this.checkboxVisible || this.radioVisible) && this.handleCheckChange(!this.node.checked);
 				}
-				
+
 				this.tree.$emit('node-click', this.node);
 			},
-			
+
 			handleExpandIconClick() {
 				if (this.node.isLeaf) return;
-				
+
 				if (this.expanded) {
 					this.tree.$emit('node-collapse', this.node);
 					this.node.collapse();
 				} else {
 					this.node.expand();
 					this.tree.$emit('node-expand', this.node);
-					
+
 					if (this.tree.accordion) {
 						uni.$emit(`${this.tree.elId}-tree-node-expand`, this.node);
 					}
 				}
 			},
-			
+
 			handleCheckChange(checked) {
 				if (this.node.disabled) return;
-				
+
 				if (this.checkboxVisible) {
 					this.node.setChecked(checked, !(this.tree.checkStrictly || this.checkOnlyLeaf));
 				} else {
 					this.node.setRadioChecked(checked);
 				}
-				
+
 				this.$nextTick(() => {
 					this.tree.$emit('check', {
 						node: this.node,
@@ -216,15 +217,15 @@
 				});
 			}
 		},
-		
+
 		created() {
 			if (!this.tree) {
 				throw new Error('Can not find node\'s tree.');
 			}
-			
+
 			this.node = this.tree.store.nodesMap[this.nodeId];
 			this.highlightCurrent = this.tree.highlightCurrent;
-			if(this.node.data.icon ) {
+			if (this.node.data.icon) {
 				this.node.icon = "../../static/img/flat-avatar.png"
 			}
 			if (this.node.expanded) {
@@ -246,7 +247,7 @@
 				});
 			}
 		},
-		
+
 		beforeDestroy() {
 			this.$parent = null;
 		}
@@ -258,33 +259,44 @@
 		white-space: nowrap;
 		outline: 0
 	}
-	
+
 	.ly-tree-node__content {
 		display: flex;
 		align-items: center;
-		height: 80rpx;
+		/* justify-content: space-between; */
+		min-height: 120rpx; 
+		border-bottom: 1px solid #eee;
 	}
-	
+
 	.ly-tree-node__content.is-current {
 		background-color: #F5F7FA;
 	}
-	
+
 	.ly-tree-node__content>.ly-tree-node__expand-icon {
 		padding: 12rpx;
 	}
-	
+	.ly-tree-node-desc {
+		/* align-self: flex-end; */
+		display: flex;
+		flex-direction: column;
+		margin-left: auto;
+	}
+	.ly-tree-node-desc-item {
+		margin: 5px;
+		font-size: 12px !important;
+	}
 	.ly-tree-node__checkbox {
 		display: flex;
 		margin-right: 16rpx;
 		width: 40rpx;
 		height: 40rpx;
 	}
-	
+
 	.ly-tree-node__checkbox>image {
 		width: 40rpx;
 		height: 40rpx;
 	}
-	
+
 	.ly-tree-node__expand-icon {
 		color: #C0C4CC;
 		font-size: 28rpx;
@@ -295,27 +307,27 @@
 		transition: transform .3s ease-in-out;
 		transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out
 	}
-	
+
 	.ly-tree-node__expand-icon.expanded {
 		-webkit-transform: rotate(90deg);
 		transform: rotate(90deg)
 	}
-	
+
 	.ly-tree-node__expand-icon.is-leaf {
 		color: transparent;
 	}
-	
+
 	.ly-tree-node__icon {
 		width: 34rpx;
 		height: 34rpx;
 		overflow: hidden;
 		margin-right: 16rpx;
 	}
-	
+
 	.ly-tree-node__label {
 		font-size: 28rpx
 	}
-	
+
 	.ly-tree-node__loading-icon {
 		margin-right: 16rpx;
 		font-size: 28rpx;
@@ -323,33 +335,34 @@
 		-webkit-animation: rotating 2s linear infinite;
 		animation: rotating 2s linear infinite
 	}
-	
+
 	.ly-tree-node>.ly-tree-node__children {
 		overflow: hidden;
 		background-color: transparent
 	}
-	
+
 	.ly-tree-node>.ly-tree-node__children.collapse-transition {
 		transition: height .3s ease-in-out;
 	}
-	
+
 	.ly-tree-node.is-expanded>.ly-tree-node__children {
 		display: block
 	}
-	
+
 	.ly-tree-node_collapse {
 		overflow: hidden;
 		padding-top: 0;
 		padding-bottom: 0;
 	}
+
 	/* lyTree-end */
-	
+
 	/* iconfont-start */
 	@font-face {
 		font-family: "ly-iconfont";
 		src: url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAPsAAsAAAAACKwAAAOeAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqFDIQPATYCJAMMCwgABCAFhG0HQBtfB8gekiSCdAwUAKgCFMA5Hj7H0PeTlABUr57PVyGqugqzSWJnNwWoWJjx/9rUr4TPL1ZSQpU2mycqwoRwIN3p+MkqMqyEW+OtMBLPSUBb8v//XtWMKTavxYIUsT/Wy1qbQzkBDOYEKGB7dVpPyVqgCnJNwvMvhZl10nMCtQbFoPVhY8ZDncJfF4grbqpQ13AqE52hWqgcOFrEQ6hWnW5VfMCD7Pfjn4WoI6nI/K0bl0MNGPBz0qcflVqYnvCA4vNDPUXGPFCIw8HgtsqiOK9SrW2smm6sVITElWlpISMdVBn8wyMJopLfXg+myZ48KCrSkvj9g37U1ItbXYke4APwXxK3N4TuehyBfmM0I3zbNdt7uk3VnjPtzX0rnIl7z7bZvb/thHohsu9QuykKo+Cws4nL7LsPmI3n2qN9B9upZEIKd4hu0NCKi0rt7fNtdl+I1N25hOJMDQK6odS123tROR7Pg8toEhDaF+kR0TYjxW6M58F5+ZNQOxmZHtE2g+IYjxjlNy/yIRQpCmrgq5R4/3jx8PvT8Ha8d3/xiLnt4EGyaDnznzRv8vpyZ+9TFHf/ntX9e59A+b6+fPHd5+dy0wYHVvHOroWbnWe879O9DnL53bN/gUHuwm28b/n8i/V3ry4E3IoXNqS6Rvs0LhJxeNVjoUkM3LKosU+0a6rh45FVvLt+2oz7Zd53b4QOy7/9snDXHbqVu+A+f8r7PnM2H8kXrWm5c8/vLu7LqRee7HW637mz3kHc5U/RCXf25d7G8tkdgEfwIpzpkknGpaMw3ww55q9Mn9OQNyua/wB/49OOWydn4eL/6roCfjx6FMmcxfJStYRKfd3UwoHiML4rF4uMSK+SvYTuNxMHrpl8yd3Q6v32cAeo/KFaowBJlQHIqo3zi3geKtRZhErVlqDWnOGn67QRKkWpwaw1AkKza5A0egFZszf8In4HFTp9h0rNUQm1NqP1lXUmgyuDBVUlNYi2gHA98FnokUreOZaac1xV1JlMMZGKEs+QdCLVrgynPhUcO0pzzYyUjDAReGSYeBl13YCEIrCpLhOWlGE+mWRD35TQAw8UawRKJVEGQrMAwekCPpaMlpTOz49FmeZwqcREX1t3Ikoo4dMTaQmpBfzhRn9R30uZXTKXKUOSmLSKEQIeYhjqKZcrcIzhMLLRrJMSrA35UF4yGMaWGhPHm733dwJq+Z/NkSJHUXemCirjgpuWrHMD1eC+mQUAAAA=') format('woff2');
 	}
-	
+
 	.ly-iconfont {
 		font-family: "ly-iconfont" !important;
 		font-size: 30rpx;
@@ -357,27 +370,29 @@
 		-webkit-font-smoothing: antialiased;
 		-moz-osx-font-smoothing: grayscale;
 	}
-	
+
 	.ly-icon-caret-right:before {
 		content: "\e8ee";
 	}
-	
+
 	.ly-icon-loading:before {
 		content: "\e657";
 	}
+
 	/* iconfont-end */
-	
+
 	/* animate-start */
 	@keyframes rotating {
 		0% {
 			-webkit-transform: rotateZ(0);
 			transform: rotateZ(0)
 		}
-	
+
 		100% {
 			-webkit-transform: rotateZ(360deg);
 			transform: rotateZ(360deg)
 		}
 	}
+
 	/* animate-end */
 </style>

+ 13 - 32
jp-mobile/pages/addressbook/addressbook.vue

@@ -3,42 +3,15 @@
 		<cu-custom bgColor="bg-blue">
 			<block slot="content">通讯录</block>
 		</cu-custom>
-
-		<!-- <u-sticky>
-			<view style="padding: 20upx; background-color: white;">
-				<u-search placeholder="输入搜索的关键词" :clearabled="true" :showAction="false"
-					v-model="searchUserName"></u-search>
-			</view>
-		</u-sticky> -->
 		<view class="tree">
 			<ly-tree :tree-data="officeList" :props="props" node-key="id" :checkOnClickNode="true" :showRadio="false"
 				:show-checkbox="false" :checkOnlyLeaf="false" ref="officeTree" />
 		</view>
-
-		<!--<view>
-		<u-index-list :indexList="indexList">
-			<template v-for="(item, index) in list">
-				 #ifdef APP-NVUE 
-				<u-index-anchor :text="list[index].letter" :key="index"></u-index-anchor>
-				
-				<u-index-item :key="index">
-					
-		<u-index-anchor :text="list[index].letter"></u-index-anchor> 
-		
-					<view class="list" v-for="(user, index1) in list[index].data" :key="index1">
-						<view class="list__item">
-							<u-avatar shape="square" size="35" icon="account-fill" fontSize="26" randomBgColor></u-avatar>
-							<!-- <view class="cu-avatar round " :style="'background-image:url('+(user.photo?user.photo:'/h5/static/user/flat-avatar.png')+');'"></view> 
-							<text class="list__item__user-name">{{user.name}}</text>
-						</view>
-						<u-line></u-line>
-					</view>
-				</u-index-item>
-			</template>
-			<view style="font-size: 15px; color: gray; text-align: center; margin-top: 15px;">共{{total}}位好友</view>
-		</u-index-list>
-		<u-gap height="100" bgColor="#fff"></u-gap>
-	</view>-->
+		<u-overlay :show="loading">
+			<view class="warp">
+				<view class="rect"><u-button plain loading loadingText="加载中"></u-button></view>
+			</view>
+		</u-overlay>
 	</view>
 </template>
 
@@ -48,6 +21,7 @@
 	export default {
 		data() {
 			return {
+				loading:true,
 				indexList: [],
 				officeList: [],
 				userList: [],
@@ -76,6 +50,7 @@
 					this.userList = res.records
 					this.officeList = this.forItem(data)
 					this.total = res.total
+					this.loading=false
 				}).catch((e) => {
 					throw e
 				})
@@ -168,6 +143,12 @@
 </script>
 
 <style lang="scss">
+	.warp {
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		height: 100%;
+	}
 	.list {
 
 		&__item {

+ 9 - 9
jp-mobile/pages/fileTransmit/addFileTransmit.vue

@@ -300,17 +300,18 @@
 			// 表单提交
 			formSubmit() {
 				this.loading = true
+				let auditForm =  Object.assign({}, this.inputForm);
 				let files = []
 				this.fileLists.forEach(item => {
 					files.push(item.url)
 				})
-				this.inputForm.attachedDocumentId = files.join(",");
-				this.inputForm.writtenTime = this.inputForm.writtenTime + " 00:00:00";
-				this.inputForm.receivingTime = this.inputForm.receivingTime + " 00:00:00";
-				this.inputForm.cardNum = this.cardNum
+				auditForm.attachedDocumentId = files.join(",");
+				auditForm.writtenTime = auditForm.writtenTime + " 00:00:00";
+				auditForm.receivingTime = auditForm.receivingTime + " 00:00:00";
+				auditForm.cardNum = this.cardNum
 				this.$refs.inputForm.validate().then(valid => {
 					if (valid) {
-						gwCirculationCard2Service.save(this.inputForm).then((data) => {
+						gwCirculationCard2Service.save(auditForm).then((data) => {
 
 							let param = {
 								type: 'success',
@@ -329,9 +330,6 @@
 						})
 					}
 				}).catch(e => {
-					this.inputForm.cardNum = "[" + this.inputForm.yearNum + "]" + this.cardNum + "号"
-					this.inputForm.writtenTime = moment().format('YYYY-MM-DD');
-					this.inputForm.receivingTime = moment().format('YYYY-MM-DD');
 					this.loading = false
 				})
 
@@ -356,7 +354,9 @@
 	.main_info {
 		margin-top: 15px;
 	}
-
+	.u-form-item__body__right__message span{
+		font-size: 12px!important;
+	}
 	.submit_btn {
 		background-color: #fefefe;
 		margin-top: 20px;

+ 51 - 39
jp-mobile/pages/fileTransmit/examineFile.vue

@@ -102,12 +102,12 @@
 				if (this.one) {
 					this.roleId = "1770353074553331713"
 				} else {
-
 					this.roleId = "1773547256256622594"
 				}
 				userService.leaderList(this.roleId).then(data => {
 					this.leaderList = data
 					if (this.one) this.auditForm.nextLeadUser = data[0].loginName
+					if (!this.auditForm.content) this.auditForm.content = '已阅'
 				})
 				let user = $auth.getUserInfo()
 				let role = $auth.getUserInfo().roleNames
@@ -115,9 +115,10 @@
 					return item.nextUser == user.id && item.state == 1
 				})
 				let down = data.filter(item => item.state == 0)
-				if (down.length == data.length) this.isAll = true
 				if (gw.length > 0) {
 					this.auditForm = gw[0]
+					if (gw[0].which == '3') this.isAll = true
+					if (!this.auditForm.content) this.auditForm.content = '已阅'
 				}
 				if (role == '办公室主任') {
 					this.isoffice = true
@@ -128,11 +129,13 @@
 						gw1.sort((a, b) => b.createTime.localeCompare(a.createTime) || b.createTime.localeCompare(a
 							.createTime));
 						this.auditForm = gw1[0]
+						if (!this.auditForm.content) this.auditForm.content = '已阅'
 					}
 				}
 				if (role == '局领导' && gw.length > 0) this.isleader = true
 				if (role == '分管领导' && gw.length > 0) this.isleader = true
 				if (role == '科室负责人' && gw.length > 0) this.isundertake = true
+
 			})
 		},
 		components: {
@@ -153,7 +156,7 @@
 				auditForm: {
 					id: '',
 					gwId: '',
-					content: '',
+					content: '已阅',
 					signfj: '',
 					createTruename: '',
 					nextTruename: '',
@@ -224,14 +227,13 @@
 			},
 			// 提交表单
 			doSubmit() {
-				let inputForm = {};
+				let inputForm = this.auditForm;
 				this.loading = true
-				if (this.isoffice) this.auditForm.next = '1'
-				this.auditForm.state = "0"
-				this.auditForm.gwId = this.gwId
+				if (this.isoffice) inputForm.next = '1'
+				inputForm.state = "0"
+				inputForm.gwId = this.gwId
 				const date = moment().format('YYYY-MM-DD HH:mm:ss');
-				this.auditForm.updateTime = date
-				inputForm = this.auditForm
+				inputForm.updateTime = date
 
 				gwFlowService.save(inputForm).then(data => {
 					let param = {
@@ -245,9 +247,19 @@
 						uni.$emit('refresh', {
 							type: 1
 						})
-						uni.navigateBack({
-							delta: getCurrentPages().length - 1, // 返回上一页
-						})
+						// 先获取页面栈
+						let pages = getCurrentPages();
+						// 当前页面的前一个页面
+						let prevPage = pages[pages.length - 2];
+						// 如果 prevPage 存在,则重定向到上一页
+						if (prevPage) {
+							// 重定向到上一页
+							uni.redirectTo({
+								url: `/${prevPage.route}?type=1` // 注意此处可能需要加上参数保留
+							});
+						}
+						// 关闭当前页面
+						uni.navigateBack();
 					}, 500)
 				}).catch(() => {
 					let param = {
@@ -260,37 +272,37 @@
 			},
 			// 归档
 			formSubmit() {
-				gwCirculationCard2Service.queryById(this.gwId).then(data => {
-					data.state = '3'
-					gwCirculationCard2Service.save(data).then(res => {
-						let param = {
-							type: 'success',
-							message: "已归档",
-							iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/success.png',
-						}
-						this.showToast(param);
-						setTimeout(() => {
-							uni.navigateBack({
-								delta: 1, // 返回上一页
-								success() {
-									const pages = getCurrentPages()
-									const prevPage = pages[pages.length - 2]
-									prevPage.onShow() // 刷新数据
-								}
-							})
+				this.loading = true
+				let inputForm = Object.assign({}, this.auditForm);;
+				inputForm.state = '0'
+				inputForm.next = "0"
+				gwFlowService.save(inputForm).then(data1 => {
+					let param = {
+						type: 'success',
+						message: "已归档",
+						iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/success.png',
+					}
+					this.showToast(param);
+					setTimeout(() => {
+						uni.$emit('refresh', {
+							type: 3
+						})
+						// 先获取页面栈
+						let pages = getCurrentPages();
+						// 当前页面的前一个页面
+						let prevPage = pages[pages.length - 2];
+						// 如果 prevPage 存在,则重定向到上一页
+						if (prevPage) {
+							// 重定向到上一页
 							uni.redirectTo({
-								url: 'pages/fileTransmit/fileTransmitList?type=3'
+								url: `/${prevPage.route}` // 注意此处可能需要加上参数保留
 							});
-						}, 500)
-					}).catch(() => {
-						let param = {
-							type: 'error',
-							message: data,
-							iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/error.png',
 						}
-						this.showToast(param);
-					})
+						// 关闭当前页面
+						uni.navigateBack();
+					}, 500)
 				})
+
 			}
 		}
 	}

+ 21 - 17
jp-mobile/pages/fileTransmit/fileCard.vue

@@ -19,13 +19,13 @@
 						<view>来文机关</view>
 					</u-col>
 					<u-col span="3" textAlign="center" class="card_col_1">
-						<u--text size="16" align="center" lines="1" :text="inputForm.sendingAgency"></u--text>
+						<u--text size="14" align="center" lines="1" :text="inputForm.sendingAgency"></u--text>
 					</u-col>
 					<u-col span="3" textAlign="center" class="card_col card_col_1">
 						<view>来文字号</view>
 					</u-col>
 					<u-col span="3" textAlign="center">
-						<u--text size="16" align="center" lines="1" :text="inputForm.docFontSize"></u--text>
+						<u--text size="14" align="center" lines="1" :text="inputForm.docFontSize"></u--text>
 					</u-col>
 				</u-row>
 				<u-row justify="space-between" class="card_row card_row_border">
@@ -33,13 +33,13 @@
 						<view>收文时间</view>
 					</u-col>
 					<u-col span="3" textAlign="center" class="card_col_1">
-						<u--text size="16" align="center" lines="1" :text="inputForm.receivingTime"></u--text>
+						<u--text size="14" align="center" lines="1" :text="inputForm.receivingTime"></u--text>
 					</u-col>
 					<u-col span="3" textAlign="center" class="card_col card_col_1">
 						<view>文件来源</view>
 					</u-col>
 					<u-col span="3" textAlign="center">
-						<u--text size="16" align="center" lines="1" :text="inputForm.fileSource"></u--text>
+						<u--text size="14" align="center" lines="1" :text="inputForm.fileSource"></u--text>
 					</u-col>
 				</u-row>
 				<u-row justify="space-between" class="card_row card_row_border">
@@ -52,8 +52,7 @@
 						</view>
 					</u-col>
 				</u-row>
-				<u-row v-if="officeInfo.length>0"  justify="space-between"
-					class="card_row card_row_border">
+				<u-row v-if="officeInfo.length>0" justify="space-between" class="card_row card_row_border">
 					<u-col span="2" textAlign="center">
 						<view class="vertical-text">办公室拟办</view>
 					</u-col>
@@ -62,9 +61,9 @@
 							<view>
 								{{item.content}}
 							</view>
-							<view class="flex " style="line-height: 20px;">
+							<view class="flex text-sm" style="line-height: 20px;">
 								<u--image :src="item.signfj" width="80px" height="20px"></u--image>
-								{{item.updateTime}}
+								{{item.createTime}}
 							</view>
 						</view>
 					</u-col>
@@ -78,9 +77,9 @@
 							<view>
 								{{leader.content}}
 							</view>
-							<view class="flex " style="line-height: 20px;">
+							<view class="flex text-sm" style="line-height: 20px;">
 								<u--image :src="leader.signfj" width="80px" height="20px"></u--image>
-								{{leader.updateTime}}
+								{{leader.createTime}}
 							</view>
 						</view>
 					</u-col>
@@ -94,9 +93,9 @@
 							<view>
 								{{item.content}}
 							</view>
-							<view class="flex " style="line-height: 20px;">
-								<u--image :src="item.signfj" width="80px" height="20px"></u--image>
-								{{item.updateTime}}
+							<view class="flex text-sm" style="line-height: 20px;">
+								<u--image :src="item.signfj" width="80px" height="20px" mode="aspectFit"></u--image>
+								{{item.createTime}}
 							</view>
 						</view>
 					</u-col>
@@ -191,6 +190,10 @@
 				})
 				this.leaderInfo.sort((a, b) => a.createTime.localeCompare(b.createTime) || a.createTime
 					.localeCompare(b.createTime));
+				this.undertakeInfo.sort((a, b) => a.createTime.localeCompare(b.createTime) || a.createTime
+					.localeCompare(b.createTime));
+				this.officeInfo.sort((a, b) => a.createTime.localeCompare(b.createTime) || a.createTime
+					.localeCompare(b.createTime));
 				this.ismask = false
 			})
 
@@ -240,13 +243,13 @@
 			}
 		},
 		methods: {
-			
+
 			// 预览pdf
-			preview(fileUrl) {	    
+			preview(fileUrl) {
 				uni.navigateTo({
 					url: "/pages/pdfPreview/pdfPreview?url=" + encodeURIComponent(fileUrl.url)
 				})
-	
+
 			},
 			// 下载文件
 			download(param) {
@@ -338,6 +341,7 @@
 		width: 100%;
 		background-color: #fefefe;
 	}
+
 	/* .card_main * {
 		font-size: 16px!important;
 	} */
@@ -389,7 +393,7 @@
 
 	.info_abstract {
 		line-height: 34px;
-		font-size: 16px; 
+		font-size: 16px;
 		word-wrap: break-word;
 		border-left: 1px solid;
 	}

+ 11 - 9
jp-mobile/pages/fileTransmit/fileInfo.vue

@@ -3,13 +3,13 @@
 		<fileCard :gwId="gwId"></fileCard>
 		<view class="info_main">
 			<u-steps :current="current" direction="column" inactiveColor="#36a7f3" activeColor="#5fdf50">
-				<u-steps-item title="发起" desc="办公室管理员">
+				<u-steps-item title="发起" :desc="'办公室管理员 - '+inputForm.createTime">
 				</u-steps-item>
-				<u-steps-item v-for="item in downList" :title="item.which=='0'?'办公室拟办':item.which=='1'?'领导审批':'承办转发'"
-					:desc="item.state==1?item.nextTruename :item.nextTruename +' - '+item.updateTime">
+				<u-steps-item v-for="item in downList" :title="item.which=='0'?'办公室拟办':item.which=='1'?'领导审批':item.which=='2'?'承办情况':'承办转发'"
+					:desc="item.state==1?item.nextTruename :item.nextTruename +' - '+item.createTime">
 				</u-steps-item>
-				<u-steps-item v-for="item in gwList" :title="item.which=='0'?'办公室拟办':item.which=='1'?'领导审批':'承办转发'"
-					:desc="item.state==1?item.nextTruename :item.nextTruename +' - '+item.updateTime">
+				<u-steps-item v-for="item in gwList" :title="item.which=='0'?'办公室拟办':item.which=='1'?'领导审批':item.which=='2'?'承办情况':'承办转发'"
+					:desc="item.state==1?item.nextTruename :item.nextTruename +' - '+item.createTime">
 				</u-steps-item>
 				<!-- <u-steps-item v-for="item in officeInfo" title="办公室拟办" :desc="item.nextTruename +' - '+item.updateTime">
 				</u-steps-item>
@@ -31,7 +31,9 @@
 	export default {
 		onLoad(option) {
 			this.gwId = option.id
-
+			gwCirculationCard2Service.queryById(this.gwId).then(data => {
+				this.inputForm = data
+			})
 		},
 		components: {
 			fileCard,
@@ -48,14 +50,14 @@
 				downList: [],
 				gwList: [],
 				current: 0,
-				allNum: ""
+				allNum: "",
+				inputForm:{},
 			}
 		},
 		mounted() {
 			gwFlowService.queryByGwId(this.gwId).then(data => {
 				data.sort((a, b) => a.createTime.localeCompare(b.createTime) || a.createTime
 					.localeCompare(b.createTime));
-				console.log("data========", data);
 				this.allNum = data.length
 
 				data.forEach(item => {
@@ -76,7 +78,7 @@
 				})
 				this.downList.sort((a, b) => a.createTime.localeCompare(b.createTime) || a.createTime
 					.localeCompare(b.createTime));
-				this.current = this.downList.length+1
+				this.current = this.downList.length + 1
 			})
 		}
 	}

+ 50 - 18
jp-mobile/pages/fileTransmit/fileTransmitList.vue

@@ -1,5 +1,5 @@
 <template>
-	<view >
+	<view>
 		<view class="list_search card_banner flex">
 			<uni-data-select class="list_search_select" v-model="searchForm.sendingAgency" :localdata="range"
 				placeholder="发文部门"></uni-data-select>
@@ -14,21 +14,22 @@
 							<view class="ellipsis-description">
 								{{item.contentSummary}}
 							</view>
-							
+
 						</view>
 					</view>
 					<view slot="value">
-						
+
 						<view class="text-grey text-sm list_label margin-top">
-							{{item.createTime}} 
+							{{item.createTime}}
 						</view>
-						<view >
-							<u-tag v-if="type==5" :text="item.state==1?'待办':item.state == 3?'归档':'已办'" plain  :type="item.state==1?'warning':item.state == 3?'primary':'success'">
+						<view>
+							<u-tag v-if="type==5" :text="item.state==1?'待办':item.state == 3?'归档':'已办'" plain
+								:type="item.state==1?'warning':item.state == 3?'primary':'success'">
 							</u-tag>
 						</view>
 					</view>
 					<view slot="label">
-						<view class="text-grey  margin-top">
+						<view class="text-grey margin-top">
 							{{item.sendingAgency}}
 						</view>
 					</view>
@@ -45,7 +46,7 @@
 	import * as $auth from "@/common/auth.js"
 	export default {
 		onLoad(option) {
-			if (option) {
+			if (option.type) {
 				this.type = option.type
 				switch (option.type) {
 					case "1":
@@ -68,20 +69,49 @@
 							title: '公文列表' // 设置为你想要显示的标题文本
 						});
 						break;
+					default:
+						this.type = 5
+						uni.setNavigationBarTitle({
+							title: '公文列表' // 设置为你想要显示的标题文本
+						});
 				}
-				this.searchForm.state = option.type
+				this.searchForm.state = this.type
 				this.loadmore()
 			}
 		},
 		onShow() {
-			uni.$on('refresh',(data)=>{
-				this.dataList=[]
+			uni.$on('refresh', (data) => {
+				console.log("onShow====>",data);
+				this.dataList = []
+				this.type = data.type
+				switch (data.type) {
+					case "1":
+						uni.setNavigationBarTitle({
+							title: '待办列表' // 设置为你想要显示的标题文本
+						});
+						break;
+					case "3":
+						uni.setNavigationBarTitle({
+							title: '归档列表' // 设置为你想要显示的标题文本
+						});
+						break;
+					case "4":
+						uni.setNavigationBarTitle({
+							title: '已办列表' // 设置为你想要显示的标题文本
+						});
+						break;
+					case "5":
+						uni.setNavigationBarTitle({
+							title: '公文列表' // 设置为你想要显示的标题文本
+						});
+						break;
+				}
 				this.searchForm.state = data.type
 				this.tablePage.currentPage = 0
 				this.status = 'loading';
 				this.loadmore()
 			})
-			
+
 		},
 		onUnload() {
 			uni.$off('refresh');
@@ -126,9 +156,9 @@
 						url: '/pages/fileTransmit/fileInfo?id=' + item.id
 					})
 				} else {
-						uni.navigateTo({
-							url: '/pages/fileTransmit/examineFile?id=' + item.id
-						})
+					uni.navigateTo({
+						url: '/pages/fileTransmit/examineFile?id=' + item.id
+					})
 					// let user = $auth.getUserInfo()
 					// let role = $auth.getUserInfo().roleNames
 					// if (role == '办公室主任') {
@@ -145,7 +175,7 @@
 					// 				url: '/pages/fileTransmit/examineFile?id=' + item.id
 					// 			})
 					// 		} else {
-								
+
 					// 		}
 
 					// 	})
@@ -156,7 +186,6 @@
 			},
 			// 搜索
 			doSearch() {
-				console.log("search=============", this.searchForm);
 				this.dataList = [];
 				this.tablePage.currentPage = 0;
 				this.tablePage.pageSize = 10;
@@ -217,12 +246,15 @@
 		height: 60px;
 		background-color: #36a7f3;
 	}
+
 	.ellipsis-description {
-		font-size: 20px;
+		font-size: 18px;
 	}
+
 	.u-transition {
 		align-items: flex-end;
 	}
+
 	.list_search_icon {
 		line-height: 60px;
 	}

+ 12 - 0
jp-mobile/pages/index/index.vue

@@ -57,6 +57,18 @@
 			apps,
 			addressbook
 		},
+		onShow() {
+			uni.$on('refresh', (data) => {
+				this.PageCur= ''
+				setTimeout(()=>{
+					this.PageCur='workbench'
+				},300)
+			})
+		
+		},
+		onUnload() {
+			uni.$off('refresh');
+		},
 		data() {
 			return {
 				PageCur: 'workbench'

+ 54 - 58
jp-mobile/pages/login/login.vue

@@ -10,35 +10,36 @@
 				<view>公文流转管理平台</view>
 			</view>
 			<view class="login-form">
-				<u--form :model="inputForm" labelWidth="100px"  labelPosition="left" :rules="rules" ref="uForm">
-						<u-form-item label="用户名" borderBottom prop="username">
-							<u-input   v-model="inputForm.username" />
-						</u-form-item>
-						<u-form-item label="密码" borderBottom prop="password">
-							<u-input  password v-model="inputForm.password" />
-						</u-form-item>
-						<!-- <u-form-item label="验证码" borderBottom prop="code">
-							<u-input border="none" v-model="inputForm.code" />
-							<u--image :showLoading="true" :src="captchaImg" width="140px" height="40px" @click="getCaptcha"></u--image>
-						</u-form-item> -->
+				<u--form :model="inputForm" labelWidth="100px" labelPosition="left" :rules="rules" ref="uForm">
+					<u-form-item label="用户名" borderBottom prop="username">
+						<u-input v-model="inputForm.username" />
+
+					</u-form-item>
+					<u-form-item label="密码" borderBottom prop="password">
+						<u-input password v-model="inputForm.password" />
+					</u-form-item>
+
 				</u--form>
 			</view>
 			<view class="but">
-				<u-button type="primary" shape="circle" color="linear-gradient(90deg, #1989FA, #19C2FA)" @click="bindLogin" text="欢迎登录"></u-button>
+				<u-button type="primary" shape="circle" color="linear-gradient(90deg, #1989FA, #19C2FA)"
+					@click="bindLogin" text="欢迎登录"></u-button>
 			</view>
 			<!-- <view class="fot">
 				<text @tap="reg_ok">免费注册</text>
 				<text style="display: inline-block;width: 10vw;"></text>
 				<text @tap="forget_ok">忘记密码</text>
 			</view> -->
-	</view>
+		</view>
 	</view>
 </template>
 
 <script>
 	import * as $auth from "@/common/auth.js"
 	import loginService from "@/api/auth/loginService"
-	import {mapActions} from 'vuex'
+	import {
+		mapActions
+	} from 'vuex'
 
 	export default {
 		data() {
@@ -51,27 +52,21 @@
 					'uuid': ''
 				},
 				rules: {
-					username: [
-						{
-							required: true,
-							message: '请输入用户名',
-							trigger: ['blur', 'change']
-						}
-					],
-					password: [
-						{
-							required: true,
-							message: '请输入密码',
-							trigger: ['blur', 'change']
-						}
-					],
-					code: [
-						{
-							required: true,
-							message: '请输入验证码',
-							trigger: ['blur', 'change']
-						}
-					]
+					username: [{
+						required: true,
+						message: '请输入用户名',
+						trigger: ['blur', 'change']
+					}],
+					password: [{
+						required: true,
+						message: '请输入密码',
+						trigger: ['blur', 'change']
+					}],
+					code: [{
+						required: true,
+						message: '请输入验证码',
+						trigger: ['blur', 'change']
+					}]
 				}
 			}
 		},
@@ -80,36 +75,36 @@
 		},
 		methods: {
 			...mapActions(['refreshUserInfo']),
-		  // 登录
-		  bindLogin() {
+			// 登录
+			bindLogin() {
 				/**
 				 * 客户端对账号信息进行一些必要的校验。
 				 * 实际开发中,根据业务需要进行处理,这里仅做示例。
 				 */
-			this.$refs.uForm.validate().then(res => {
-				loginService.login(this.inputForm).then((data) => {
-				  this.$store.commit('SET_TOKEN',data.token);
-				  this.refreshUserInfo();
-				  uni.reLaunch({
-				  	url: '../index/index',
-				  });
-				}).catch(e => {
-					uni.showToast({
-						title:e.data
+				this.$refs.uForm.validate().then(res => {
+					loginService.login(this.inputForm).then((data) => {
+						this.$store.commit('SET_TOKEN', data.token);
+						this.refreshUserInfo();
+						uni.reLaunch({
+							url: '../index/index',
+						});
+					}).catch(e => {
+						uni.showToast({
+							title: e.data
+						})
+						this.getCaptcha()
+
+						console.error(e)
 					})
-				  this.getCaptcha()
-				  
-				  console.error(e)
 				})
-			})
-		  },
-		// 获取验证码
-		  getCaptcha () {
-			  loginService.getCode().then((data) => {
+			},
+			// 获取验证码
+			getCaptcha() {
+				loginService.getCode().then((data) => {
 					this.captchaImg = 'data:image/gif;base64,' + data.codeImg
 					this.inputForm.uuid = data.uuid
-			   })
-		  }
+				})
+			}
 		}
 	}
 </script>
@@ -209,8 +204,9 @@
 		color: #8E8E8E;
 		margin-top: 20px;
 	}
+
 	.login-form {
 		padding-left: 100rpx;
 		padding-right: 30rpx;
 	}
-</style>
+</style>

+ 10 - 4
jp-mobile/pages/user/person/person.vue

@@ -1,5 +1,5 @@
 <template>
-  <view>
+  <view class="main">
     <view class="person-head">
 	  <view class="cu-avatar xl round margin-left-sm" @tap="ChooseImage" :style="`background-image:url('${avatar}')`" ></view>
       <view class="person-head-box">
@@ -21,12 +21,12 @@
 			:iconStyle="{color: '#0081ff'}"
 			:value="userInfo.officeDTO && userInfo.officeDTO.name"
 		></u-cell>
-		<u-cell
+		<!-- <u-cell
 		    title="岗位"
 			icon="account-fill"
 			:iconStyle="{color: '#0081ff'}"
 			:value="userInfo.post && userInfo.post.name"
-		></u-cell>
+		></u-cell> -->
 		<u-cell
 		    title="角色"
 			icon="man-add-fill"
@@ -34,11 +34,17 @@
 			:value="userInfo.roleNames"
 		></u-cell>
 		<u-cell
-		    title="联系电话"
+		    title="电话"
 			icon="phone-fill"
 			:iconStyle="{color: '#0081ff'}"
 			:value="userInfo.phone"
 		></u-cell>
+		<u-cell
+		    title="手机号"
+			icon="phone-fill"
+			:iconStyle="{color: '#0081ff'}"
+			:value="userInfo.mobile"
+		></u-cell>
 		<!-- <u-cell
 		    title="邮箱"
 			icon="email-fill"

+ 2 - 1
jp-mobile/pages/user/setting/signature/signature.vue

@@ -36,7 +36,7 @@
 			return {
 				action: this.BASE_URL + '/gwfile/upload?uploadPath=sign', //上传服务器的地址
 				header: {
-					"token": $auth.getUserToken()
+					"token": this.$auth.getUserToken()
 				}, //图片上传携带头部信息
 				loading: false,
 				inputForm: this.$auth.getUserInfo(),
@@ -120,6 +120,7 @@
 
 				}
 				userService.saveInfo(this.inputForm).then((data) => {
+					$auth.setUserInfo(this.inputForm)
 					uni.showToast({
 						title: data,
 						icon: "success",

+ 123 - 102
jp-mobile/pages/workbench/workbench.vue

@@ -1,13 +1,14 @@
 <template>
 	<view class="main">
-		<cu-custom bgColor="bg-blue">
+		<!-- <cu-custom bgColor="bg-blue">
 			<block slot="content">文件传阅</block>
-		</cu-custom>
-		<swiper class="screen-swiper square-dot bg-blue"  :indicator-dots="true" :circular="true"
-		 :autoplay="true" interval="2000" duration="500">
-			<swiper-item v-for="(item,index) in swiperList"  :key="index">
+		</cu-custom> -->
+		<swiper class="screen-swiper square-dot bg-blue" :indicator-dots="true" :circular="true" :autoplay="true"
+			interval="2000" duration="500">
+			<swiper-item v-for="(item,index) in swiperList" :key="index">
 				<image :src="item.url" mode="aspectFill" v-if="item.type=='image'"></image>
-				<video :src="item.url" autoplay loop muted :show-play-btn="false" :controls="false" objectFit="cover" v-if="item.type=='video'"></video>
+				<video :src="item.url" autoplay loop muted :show-play-btn="false" :controls="false" objectFit="cover"
+					v-if="item.type=='video'"></video>
 			</swiper-item>
 		</swiper>
 		<view class="cu-list grid col-4 no-border fixed">
@@ -29,26 +30,26 @@
 			</view>
 		</view>
 		<scroll-view scroll-y class="page">
-				<view class="cu-bar bg-white solid-bottom margin-top">
-					<view class="action">
-						<text class=" text-orange font-b">快捷入口</text>
-					</view>
+			<view class="cu-bar bg-white solid-bottom margin-top">
+				<view class="action">
+					<text class=" text-orange font-b">快捷入口</text>
 				</view>
-				<view class="cu-list grid col-4 no-border">
+			</view>
+			<view class="cu-list grid col-4 no-border">
 				<view @tap="add" class="circle-button-box">
-					<view ><u--image src="/static/index/icon4.png" width="40px" height="40px"></u--image></view>
+					<view><u--image src="/static/index/icon4.png" width="40px" height="40px"></u--image></view>
 					<text>新增</text>
 				</view>
 				<view @tap="toList(1)" class="circle-button-box">
-					<view ><u--image src="/static/index/icon1.png" width="40px" height="40px"></u--image></view>
+					<view><u--image src="/static/index/icon1.png" width="40px" height="40px"></u--image></view>
 					<text>待办</text>
 				</view>
 				<view @tap="toList(4)" class="circle-button-box">
-					<view ><u--image src="/static/index/icon5.png" width="40px" height="40px"></u--image></view>
+					<view><u--image src="/static/index/icon5.png" width="40px" height="40px"></u--image></view>
 					<text>已办</text>
 				</view>
 				<view @tap="toList(3)" class="circle-button-box">
-					<view ><u--image src="/static/index/icon2.png" width="40px" height="40px"></u--image></view>
+					<view><u--image src="/static/index/icon2.png" width="40px" height="40px"></u--image></view>
 					<text>已归档</text>
 				</view>
 				<!-- <view @tap="toPerson" class="circle-button-box">
@@ -56,11 +57,11 @@
 					<text>通讯录</text>
 				</view> -->
 				<view @tap="toApplyList" class="circle-button-box">
-					<view ><u--image src="/static/index/icon6.png" width="40px" height="40px"></u--image></view>
+					<view><u--image src="/static/index/icon6.png" width="40px" height="40px"></u--image></view>
 					<text>公文统计</text>
 				</view>
-				</view>
-			
+			</view>
+
 			<u-gap height="80" bgColor="#fff"></u-gap>
 		</scroll-view>
 	</view>
@@ -68,7 +69,11 @@
 
 <script>
 	import moment from 'moment'
-	import {mapState, mapMutations, mapActions} from 'vuex'
+	import {
+		mapState,
+		mapMutations,
+		mapActions
+	} from 'vuex'
 	import actCategoryService from "@/api/flowable/actCategoryService"
 	import processService from "@/api/flowable/processService"
 	import taskService from "@/api/flowable/taskService"
@@ -112,14 +117,15 @@
 				dotStyle: false,
 				towerStart: 0,
 				direction: '',
-				statistics:{},
+				statistics: {},
 			};
 		},
+		
 		computed: mapState({
-			 username: (state) => state.user.username
+			username: (state) => state.user.username
 		}),
-	    async mounted() {
-			gwCirculationCard2Service.getStatistics().then(data =>{
+		async mounted() {
+			gwCirculationCard2Service.getStatistics().then(data => {
 				this.statistics = data
 			})
 			// let res = await actCategoryService.treeData()
@@ -137,111 +143,126 @@
 			// 		this.processMap.set(item.category, [item])
 			// 	}
 			// })
-			
+
 			// for(let [key,value] of this.processMap){
 			//     console.log(key,value);
 			// }
-			
-			
+
+
 		},
 		created() {
-			if(!this.username) {
+			if (!this.username) {
 				this.refreshUserInfo()
 			}
 		},
 		methods: {
-			 ...mapActions(['refreshUserInfo']),
-			toApplyList (mail) {
+			...mapActions(['refreshUserInfo']),
+			toApplyList(mail) {
 				uni.navigateTo({
-				   url: '/pages/fileTransmit/statistics'
+					url: '/pages/fileTransmit/statistics'
 				})
 			},
-			add (mail) {
+			add(mail) {
 				uni.navigateTo({
-				    url: '/pages/fileTransmit/addFileTransmit'
+					url: '/pages/fileTransmit/addFileTransmit'
 				})
 			},
-			toPerson (mail) {
+			toPerson(mail) {
 				uni.navigateTo({
-				    url: "/pages/index/index?type='addressbook'"
+					url: "/pages/index/index?type='addressbook'"
 				})
 			},
-			toList (type) {
+			toList(type) {
 				uni.navigateTo({
-				    url: '/pages/fileTransmit/fileTransmitList?type='+type
+					url: '/pages/fileTransmit/fileTransmitList?type=' + type
 				})
 			},
-			start (row) {
-				  // 读取流程表单
+			start(row) {
+				// 读取流程表单
 				taskService.getTaskDef({
-				  procDefId: row.id,
-				  status: 'start'
+					procDefId: row.id,
+					status: 'start'
 				}).then((data) => {
-				  let processTitle = `${this.username} 在 ${moment(new Date()).format('YYYY-MM-DD HH:mm')} 发起了 [${row.name}]`
-				  let query = {procDefId: row.id, procDefKey: row.key, status: 'start', title: `发起流程【${row.name}】`, formType: data.formType, formUrl: data.formUrl, formTitle: processTitle}
-				  uni.navigateTo({
-					 url: '/pages/workbench/task/TaskForm?flow='+JSON.stringify(query)
-				  })
+					let processTitle =
+						`${this.username} 在 ${moment(new Date()).format('YYYY-MM-DD HH:mm')} 发起了 [${row.name}]`
+					let query = {
+						procDefId: row.id,
+						procDefKey: row.key,
+						status: 'start',
+						title: `发起流程【${row.name}】`,
+						formType: data.formType,
+						formUrl: data.formUrl,
+						formTitle: processTitle
+					}
+					uni.navigateTo({
+						url: '/pages/workbench/task/TaskForm?flow=' + JSON.stringify(query)
+					})
 				})
-		  }
+			}
 		}
 	}
 </script>
 
 <style>
-  .cu-list.card-menu {
-      overflow: hidden;
-      margin-right: 5px;
-      margin-left: 5px;
-      border-radius: 7px;
-  }
-  .cu-list.card-menu.margin-top-20 {
-      margin-top: -20px;
-  }
-  .cu-list.menu>.cu-item .content>uni-view:first-child {
-      display: -webkit-box;
-      display: -webkit-flex;
-      display: flex;
-      -webkit-box-align: center;
-      /* -webkit-align-items: center; */
-      /* align-items: center; */
-      display: inline-block;
-      margin-right: 5px;
-      width: 1.6em;
-      text-align: center;
-  }
-  .text_font_size{
-	 font-size: 28px!important;
-	 margin-bottom: 10px;
-  }
-  .circle-button{
-	 width: 44px;
-	 height: 44px;
-	 border-radius: 18px;
-	 padding-top: 4px;
-  }
-  .circle-button-box{
-	  width: 25%;
-	  margin-top: 10px;
-	  display: -webkit-box;
-	  display: -webkit-flex;
-	  display: flex;
-	  -webkit-box-orient: vertical;
-	  -webkit-box-direction: normal;
-	  -webkit-flex-direction: column;
-	  flex-direction: column;
-	  -webkit-box-align: center;
-	  -webkit-align-items: center;
-	  align-items: center;
-	  -webkit-box-pack: center;
-	  -webkit-justify-content: center;
-	  justify-content: center;
-	  box-sizing: border-box;
-  }
-  .font-b {
-	  vertical-align: middle;
-	  font-size: 18px;
-	  font-weight: 500;
-	  color: #3a3a3a;
-  }
-</style>
+	.cu-list.card-menu {
+		overflow: hidden;
+		margin-right: 5px;
+		margin-left: 5px;
+		border-radius: 7px;
+	}
+
+	.cu-list.card-menu.margin-top-20 {
+		margin-top: -20px;
+	}
+
+	.cu-list.menu>.cu-item .content>uni-view:first-child {
+		display: -webkit-box;
+		display: -webkit-flex;
+		display: flex;
+		-webkit-box-align: center;
+		/* -webkit-align-items: center; */
+		/* align-items: center; */
+		display: inline-block;
+		margin-right: 5px;
+		width: 1.6em;
+		text-align: center;
+	}
+
+	.text_font_size {
+		font-size: 28px !important;
+		margin-bottom: 10px;
+	}
+
+	.circle-button {
+		width: 44px;
+		height: 44px;
+		border-radius: 18px;
+		padding-top: 4px;
+	}
+
+	.circle-button-box {
+		width: 25%;
+		margin-top: 10px;
+		display: -webkit-box;
+		display: -webkit-flex;
+		display: flex;
+		-webkit-box-orient: vertical;
+		-webkit-box-direction: normal;
+		-webkit-flex-direction: column;
+		flex-direction: column;
+		-webkit-box-align: center;
+		-webkit-align-items: center;
+		align-items: center;
+		-webkit-box-pack: center;
+		-webkit-justify-content: center;
+		justify-content: center;
+		box-sizing: border-box;
+	}
+
+	.font-b {
+		vertical-align: middle;
+		font-size: 18px;
+		font-weight: 500;
+		color: #3a3a3a;
+	}
+</style>

+ 1 - 1
jp-mobile/static/css/main.css

@@ -17,7 +17,7 @@ body {
 	font-family: Helvetica Neue, Helvetica, sans-serif;
 }
 .main *{
-	font-size: 22px!important;
+	font-size: 20px!important;
 }
 
 view,