杜迪迪 пре 2 месеци
родитељ
комит
1140c7f29e

+ 12 - 9
App.vue

@@ -1,14 +1,16 @@
 <script>
 	export default {
 		globalData: {
-			token:"",
-			userInfo:"",
-			peoList:[],
-			peoIdList:[],
-			peoDeptList:[],
-			gdId:null,
-			saveUrl:"http://121.28.24.104:13898/app/files/",
-			updateUrl:"http://121.28.24.104:13898/app/"
+			token: "",
+			userInfo: "",
+			peoList: [],
+			peoIdList: [],
+			peoDeptList: [],
+			gdId: null,
+			//minio的文件地址前缀
+			saveUrl: "http://61.240.156.161:9000/zdzx/",
+			//本地文件的地址前缀
+			updateUrl: "http://61.240.156.161:28188/prod-api/"
 		},
 		onLaunch: function() {
 			console.warn('当前组件仅支持 uni_modules 目录结构 ,请升级 HBuilderX 到 3.1.0 版本以上!')
@@ -29,6 +31,7 @@
 	@import '@/uni_modules/uni-scss/index.scss';
 	/* #ifndef APP-NVUE */
 	@import '@/static/customicons.css';
+
 	// 设置整个项目的背景色
 	page {
 		background-color: #fff;
@@ -40,4 +43,4 @@
 	// 	color: #333;
 	// 	padding: 10px;
 	// }
-</style>
+</style>

BIN
hszhctdy.keystore


+ 5 - 4
manifest.json

@@ -1,9 +1,9 @@
 {
     "name" : "协同办公",
-    "appid" : "__UNI__EEB5AF5",
+    "appid" : "__UNI__EF8211D",
     "description" : "",
-    "versionName" : "1.8.9",
-    "versionCode" : 189,
+    "versionName" : "1.0.4",
+    "versionCode" : 104,
     "transformPx" : false,
     "app-plus" : {
         /* 5+App特有相关 */
@@ -40,7 +40,8 @@
                     "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
                     "<uses-feature android:name=\"android.hardware.camera\"/>",
                     "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
-                ]
+                ],
+                "abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ]
             },
             "ios" : {
                 "dSYMs" : false

+ 340 - 197
pages/fwMessage/fwMessage.vue

@@ -1,28 +1,53 @@
 <template>
 	<view style="background-color: #fff;" v-if="content != null">
-		<view style="height: 100rpx;display: flex;align-items: center;justify-content: space-around;border-bottom: 1px solid #ceccca;" v-if="type == 0">
-			 <!-- <u-tabs :list="list1"  :current="current" @click="click"></u-tabs> -->
-			 <view class="tab" :class="current==0?'active':''" @click="current = 0">
-				 待办内容
-			 </view>
-			 <view style="border-left: 1px solid #ceccca;height: 80%;">
-				 
-			 </view>
-			 <view class="tab" :class="current==0?'':'active'" @click="current = 1">
-				 流转记录
-			 </view>
+		<view
+			style="height: 100rpx;display: flex;align-items: center;justify-content: space-around;border-bottom: 1px solid #ceccca;"
+			v-if="type == 0">
+			<!-- <u-tabs :list="list1"  :current="current" @click="click"></u-tabs> -->
+			<view class="tab" :class="current==0?'active':''" @click="current = 0">
+				待办内容
+			</view>
+			<view style="border-left: 1px solid #ceccca;height: 80%;">
+
+			</view>
+			<view class="tab" :class="current==0?'':'active'" @click="current = 1">
+				流转记录
+			</view>
 		</view>
-		<swiper style="background-color:#fff ;" :style="{height:type==0?'calc(100vh - 100rpx)':'100vh'}"  :current="current" disable-touch>
-			<swiper-item >
+		<swiper style="background-color:#fff ;" :style="{height:type==0?'calc(100vh - 100rpx)':'100vh'}"
+			:current="current" disable-touch>
+			<swiper-item>
 				<view style="height: 100%;overflow:auto">
-					<u--form labelPosition="left" labelAlign="center" :model="content" ref="uForm" :labelStyle="{fontSize:'32rpx'}"
-						labelWidth="100">
+					<u--form labelPosition="left" labelAlign="center" :model="content" ref="uForm"
+						:labelStyle="{fontSize:'32rpx'}" labelWidth="100">
+						<u-form-item label="紧急程度:" borderBottom ref="item1" label-width="100">
+							<!-- <u--input v-model="content.sendTime" border="none" readonly></u--input> -->
+							<!-- <view class="content">
+								{{content.infoOpenType}}
+							</view> -->
+							<uni-data-select class="edit" v-model="content.jjcd" disabled placeholder="请选择信息公开类型"
+								:localdata="jjcdList" :clear="false"></uni-data-select>
+						</u-form-item>
 						<u-form-item label="发文标题:" borderBottom ref="item1">
 							<!-- <u--input v-model="content.title" border="none" readonly></u--input> -->
 							<view class="content">
 								{{content.title}}
 							</view>
 						</u-form-item>
+						<u-form-item label="密级:" borderBottom ref="item1" label-width="100">
+							<!-- <u--input v-model="content.sendTime" border="none" readonly></u--input> -->
+							<!-- <view class="content">
+								{{content.infoOpenType}}
+							</view> -->
+							<uni-data-select class="edit" v-model="content.degree" disabled placeholder=""
+								:localdata="mijiList" :clear="false"></uni-data-select>
+						</u-form-item>
+						<u-form-item label="保密期限(年):" borderBottom ref="item1">
+							<!-- <u--input v-model="content.sender" border="none" readonly></u--input> -->
+							<view class="content">
+								{{content.bmqx}}
+							</view>
+						</u-form-item>
 						<u-form-item label="发文单位:" borderBottom ref="item1">
 							<!-- <u--input v-model="content.sender" border="none" readonly></u--input> -->
 							<view class="content">
@@ -41,7 +66,7 @@
 								{{content.mainUnit}}
 							</view> -->
 						</u-form-item>
-						<u-form-item label="抄送单位:" borderBottom ref="item1" >
+						<u-form-item label="抄送单位:" borderBottom ref="item1">
 							<u--input v-model="content.copyUnit" border="none" placeholder="请输入抄送单位"></u--input>
 							<!-- <view class="content">
 								{{content.copyUnit}}
@@ -59,15 +84,29 @@
 								{{content.draftedTime}}
 							</view>
 						</u-form-item>
+						<u-form-item label="打印人:" borderBottom ref="item1">
+							<!-- <u--input v-model="content.sendTime" border="none" readonly></u--input> -->
+							<view class="content">
+								{{content.dyr}}
+							</view>
+						</u-form-item>
+						<u-form-item label="打印份数:" borderBottom ref="item1">
+							<!-- <u--input v-model="content.sendTime" border="none" readonly></u--input> -->
+							<view class="content">
+								{{content.dynum}}
+							</view>
+						</u-form-item>
 						<u-form-item label="正文查看:" borderBottom ref="item1" v-if="content.sendFile != null">
 							<view>
 								<!-- <u--text mode="link" :text="content.sendFile.name" :href="content.sendFile.url"></u--text> -->
-								<u--text size="30rpx" :lines="3" color="#2979FF" :text="content.sendFile.name" @click="downLoad(content.sendFile.path)"></u--text>
+								<u--text size="30rpx" :lines="3" color="#2979FF" :text="content.sendFile.name"
+									@click="downLoad(content.sendFile.path)"></u--text>
 							</view>
 						</u-form-item>
 						<u-form-item label="附件查看:" borderBottom ref="item1">
 							<view v-if="content.messageFileList != null && content.messageFileList.length != 0 ">
-								<u--text :text="v.name" :lines="3" v-for="(v,i) in content.messageFileList" :key="i" size="30rpx" color="#2979FF" @click="downLoad(v.path)"></u--text>
+								<u--text :text="v.name" :lines="3" v-for="(v,i) in content.messageFileList" :key="i"
+									size="30rpx" color="#2979FF" @click="downLoad(v.path)"></u--text>
 							</view>
 						</u-form-item>
 						<u-form-item label="文件字号:" borderBottom ref="item1">
@@ -81,42 +120,51 @@
 							<!-- <view class="content">
 								{{content.infoOpenType}}
 							</view> -->
-							<uni-data-select v-model="content.infoOpenType" placeholder="请选择信息公开类型" :localdata="xxgklist" :clear="false" ></uni-data-select>
+							<uni-data-select class="edit" v-model="content.infoOpenType" disabled
+								placeholder="请选择信息公开类型" :localdata="xxgklist" :clear="false"></uni-data-select>
 						</u-form-item>
-						<u-form-item label="不予公开理由:" borderBottom ref="item1" label-width="120" v-if="content.infoOpenType == 3">
+						<u-form-item label="不予公开理由:" borderBottom ref="item1" label-width="120"
+							v-if="content.infoOpenType == 3">
 							<!-- <u--input v-model="content.sendTime" border="none" readonly></u--input> -->
 							<!-- <view class="content">
 								{{content.noOpenReason}}
 							</view> -->
-							<uni-data-select v-model="content.noOpenReason" placeholder="请选择信息公开类型" :localdata="noList" :clear="false" ></uni-data-select>
+							<uni-data-select v-model="content.noOpenReason" placeholder="请选择信息公开类型" :localdata="noList"
+								:clear="false"></uni-data-select>
 						</u-form-item>
-						
+
 						<view v-if="type==0" style="padding-bottom: 40rpx;">
-							<u-form-item label="下一节点:" borderBottom ref="item1" v-if="gdType == false">
-								<uni-data-select v-model="content.jdindex" placeholder="请选择下一节点" :localdata="list" :clear="false" @change="change"></uni-data-select>
+							<u-form-item label="下一节点:" borderBottom ref="item1"
+								v-if="gdType == false&&this.nodeId!='207'">
+								<uni-data-select v-model="content.jdindex" placeholder="请选择下一节点" :localdata="list"
+									:clear="false" @change="change"></uni-data-select>
 							</u-form-item>
-							<u-form-item label="处理人员:" borderBottom ref="item1" v-if="DeliveryWay==4" @click="choosePeo">
+							<u-form-item label="处理人员:" borderBottom ref="item1" v-if="DeliveryWay==4"
+								@click="choosePeo">
 								<view :style="{color:content.users==null?'rgb(192, 196, 204)':''}">
 									{{content.users==null?'请选择人员': content.userList}}
 								</view>
 							</u-form-item>
 							<u-form-item label="审批意见:" v-if="gdType == false" borderBottom ref="item1">
-								<u--textarea v-model="content.reviewMsg" placeholder="请输入审批意见" autoHeight border="none"></u--textarea>
+								<u--textarea v-model="content.reviewMsg" placeholder="请输入审批意见" autoHeight
+									border="none"></u--textarea>
 							</u-form-item>
 							<view v-if="gdType == true">
 								<!-- <u-form-item label="密级:" borderBottom ref="item1">
 									<uni-data-select v-model="content.levels" placeholder="请选择密级" :clear="false" :localdata="gd" ></uni-data-select>
 								</u-form-item> -->
-								<u-form-item label="档案编号:" borderBottom ref="item1" >
-									<u--input v-model="content.archiveNo" placeholder="请输入档案编号" border="none" ></u--input>
+								<u-form-item label="档案编号:" borderBottom ref="item1">
+									<u--input v-model="content.archiveNo" placeholder="请输入档案编号"
+										border="none"></u--input>
 								</u-form-item>
-								<u-form-item label="档案分类:" borderBottom  ref="item1" @click="chooseGd">
+								<u-form-item label="档案分类:" borderBottom ref="item1" @click="chooseGd">
 									<view :style="{color:content.typeId==null?'rgb(192, 196, 204)':''}">
 										{{content.typeId==null?'请选择档案分类': content.gdtype}}
 									</view>
 								</u-form-item>
-								<u-form-item label="打印份数:" borderBottom ref="item1" >
-									<u--input v-model="content.printNum" placeholder="请输入打印份数" type="number" border="none" ></u--input>
+								<u-form-item label="打印份数:" borderBottom ref="item1">
+									<u--input v-model="content.printNum" placeholder="请输入打印份数" type="number"
+										border="none"></u--input>
 								</u-form-item>
 							</view>
 							<!-- <view v-if="backType == true">
@@ -129,20 +177,24 @@
 										border="none"></u--textarea>
 								</u-form-item>
 							</view> -->
-							<view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;" v-if="gdType == false">
-								<u-button type="primary" text="提交" @click="submit"  ></u-button>
+							<view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;"
+								v-if="gdType == false">
+								<u-button type="primary" text="提交" @click="submit"></u-button>
 							</view>
-							<view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;" v-if="gdType == true">
-								<u-button type="primary" text="归档" @click="save" ></u-button>
+							<view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;"
+								v-if="gdType == true">
+								<u-button type="primary" text="归档" @click="save"></u-button>
 							</view>
-							<view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;" v-if="backType == true">
-								<u-button type="error" text="退回" @click="show = true" ></u-button>
+							<view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;"
+								v-if="backType == true&&this.nodeId!='207'&&this.nodeId!='201'">
+								<u-button type="error" text="退回" @click="show = true"></u-button>
 							</view>
 						</view>
 						<view style="padding: 20rpx;box-sizing: border-box;" v-else>
 							<u-steps :current="lzNum-1" direction="column" v-if="record != null">
 								<view v-for="(v,i) in record" :key="i">
-									<u-steps-item :error="v.ActionType==2?true:false" :title='v.NDFromT+"("+v.ActionTypeText+")"' v-if="v.ActionType==='28'">
+									<u-steps-item :error="v.ActionType==2?true:false"
+										:title='v.NDFromT+"("+v.ActionTypeText+")"' v-if="v.ActionType==='28'">
 										<view slot="desc" style="color: #606266">
 											<view style="font-size: 28rpx;">
 												处理人:{{v.EmpFromT}}
@@ -153,7 +205,9 @@
 										</view>
 									</u-steps-item>
 									<view v-else-if="v.ActionType22 != undefined">
-										<u-steps-item :error="v.ActionType==2?true:false" v-for="(item,index) in v.ActionType22" :key="index" :title='item.NDFromT+"("+v.ActionTypeText+")"'>
+										<u-steps-item :error="v.ActionType==2?true:false"
+											v-for="(item,index) in v.ActionType22" :key="index"
+											:title='item.NDFromT+"("+v.ActionTypeText+")"'>
 											<view slot="desc" style="color:#606266;">
 												<view style="font-size: 28rpx;">
 													处理部门:{{item.NodeData.split("DeptName=")[1]}}
@@ -170,7 +224,8 @@
 											</view>
 										</u-steps-item>
 									</view>
-									<u-steps-item :error="v.ActionType==2?true:false" :title='v.NDFromT+"("+v.ActionTypeText+")"' v-else>
+									<u-steps-item :error="v.ActionType==2?true:false"
+										:title='v.NDFromT+"("+v.ActionTypeText+")"' v-else>
 										<view slot="desc" style="color: #606266">
 											<view style="font-size: 28rpx;">
 												处理部门:{{v.NodeData.split("DeptName=")[1]}}
@@ -188,13 +243,14 @@
 						</view>
 					</u--form>
 				</view>
-				
+
 			</swiper-item>
-			<swiper-item >
+			<swiper-item>
 				<view style="padding: 20rpx;box-sizing: border-box;width: 100%;height: 100%;overflow: auto;">
 					<u-steps :current="lzNum-1" direction="column" dot v-if="record != null">
 						<view v-for="(v,i) in record" :key="i">
-							<u-steps-item :error="v.ActionType==2?true:false" :title='v.NDFromT+"("+v.ActionTypeText+")"' v-if="v.ActionType==='28'">
+							<u-steps-item :error="v.ActionType==2?true:false"
+								:title='v.NDFromT+"("+v.ActionTypeText+")"' v-if="v.ActionType==='28'">
 								<view slot="desc" style="color: #606266">
 									<view style="font-size: 28rpx;">
 										处理人:{{v.EmpFromT}}
@@ -205,7 +261,8 @@
 								</view>
 							</u-steps-item>
 							<view v-else-if="v.ActionType22 != undefined">
-								<u-steps-item :error="v.ActionType==2?true:false" v-for="(item,index) in v.ActionType22" :key="index" :title='item.NDFromT+"("+v.ActionTypeText+")"'>
+								<u-steps-item :error="v.ActionType==2?true:false" v-for="(item,index) in v.ActionType22"
+									:key="index" :title='item.NDFromT+"("+v.ActionTypeText+")"'>
 									<view slot="desc" style="color:#606266;">
 										<view style="font-size: 28rpx;">
 											处理部门:{{item.NodeData.split("DeptName=")[1]}}
@@ -222,7 +279,8 @@
 									</view>
 								</u-steps-item>
 							</view>
-							<u-steps-item :error="v.ActionType==2?true:false" :title='v.NDFromT+"("+v.ActionTypeText+")"' v-else>
+							<u-steps-item :error="v.ActionType==2?true:false"
+								:title='v.NDFromT+"("+v.ActionTypeText+")"' v-else>
 								<view slot="desc" style="color: #606266">
 									<view style="font-size: 28rpx;">
 										处理部门:{{v.NodeData.split("DeptName=")[1]}}
@@ -237,19 +295,20 @@
 							</u-steps-item>
 						</view>
 					</u-steps>
-					
+
 				</view>
 			</swiper-item>
 		</swiper>
-		<u-modal :show="show"  title="退回" :closeOnClickOverlay="true" showCancelButton @cancel="close" @close="close" @confirm="back">
-			<view class="slot-content" style="width: 100%;" >
+		<u-modal :show="show" title="退回" :closeOnClickOverlay="true" showCancelButton @cancel="close" @close="close"
+			@confirm="back">
+			<view class="slot-content" style="width: 100%;">
 				<u--form labelPosition="left" labelAlign="center" :model="content" ref="uForm1"
 					:labelStyle="{fontSize:'32rpx'}" labelWidth="100">
 					<u-form-item label="退回节点:" borderBottom ref="item1">
 						<uni-data-select v-model="content.returnToNodeID" placeholder="请选择节点" :clear="false"
 							:localdata="backlist"></uni-data-select>
 					</u-form-item>
-					<u-form-item label="退回意见:" borderBottom ref="item1" >
+					<u-form-item label="退回意见:" borderBottom ref="item1">
 						<u--textarea v-model="content.backMsg" placeholder="请输入退回意见" autoHeight
 							border="none"></u--textarea>
 					</u-form-item>
@@ -263,7 +322,7 @@
 	export default {
 		data() {
 			return {
-				current:0,
+				current: 0,
 				content: null,
 				statusList: [],
 				//流转记录
@@ -276,34 +335,40 @@
 				selectType: 3,
 				workid: null,
 				flowNo: null,
-				id:null,
+				id: null,
 				//tabs
-				list1:[
-					{name: '待办内容'},
-					{name: '流转记录'}
+				list1: [{
+						name: '待办内容'
+					},
+					{
+						name: '流转记录'
+					}
 				],
-				DeliveryWay:null,
+				DeliveryWay: null,
 				//归档
-				gd:null,
-				gdType:false,//判断是否是归档
-				overType:false,//判断是否结束
+				gd: null,
+				gdType: false, //判断是否是归档
+				overType: false, //判断是否结束
 				//上个页面传过来的参数
-				parameter:null,
+				parameter: null,
 				//已下载附件
-				list2:[],
-				list3:[],
+				list2: [],
+				list3: [],
 				//退回状态
-				backType:false,
+				backType: false,
 				//退回节点列表
-				backlist:[],
+				backlist: [],
 				//退回模态框
-				show:false,
+				show: false,
 				//信息公开列表
-				xxgklist:[],
+				xxgklist: [],
+				jjcdList: [],
+				mijiList: [],
 				//不予公开列表
-				noList:[],
+				noList: [],
 				//流转记录数量
-				lzNum:0
+				lzNum: 0,
+				nodeId: null
 			}
 		},
 		onLoad(options) {
@@ -311,6 +376,8 @@
 			this.getDicts()
 			this.getMsgClass()
 			this.getNoList()
+			this.getjjcdClass()
+			this.getmijiClass()
 			this.getContent(options.workid)
 			this.getRecord(options.workid)
 			this.getgd()
@@ -318,11 +385,11 @@
 			this.type = options.type
 			this.workid = options.workid
 			this.flowNo = options.flowNo
-			
+			this.nodeId = options.nodeId
 			uni.setNavigationBarTitle({
 				title: options.title
 			})
-			if(options.nodeName.indexOf('归档') != -1){
+			if (options.nodeName.indexOf('归档') != -1) {
 				that.gdType = true
 				that.getgd()
 			}
@@ -331,15 +398,15 @@
 			// 		this.isOver(options)
 			// 	},500)
 			// }
-				
+
 		},
-		onShow(){
+		onShow() {
 			uni.$once('query', (query) => {
-				if(query.a==1){
+				if (query.a == 1) {
 					this.content.users = getApp().globalData.peoIdList
 					this.content.userList = getApp().globalData.peoList
 					this.$forceUpdate()
-				}else if(query.a == 2){
+				} else if (query.a == 2) {
 					this.content.typeId = getApp().globalData.gdId.split(",")[0]
 					this.content.gdtype = getApp().globalData.gdId.split(",")[1]
 					this.$forceUpdate()
@@ -347,7 +414,7 @@
 			})
 		},
 		methods: {
-			click(e){
+			click(e) {
 				this.current = e.index
 			},
 			//查询发文详情
@@ -355,7 +422,7 @@
 				uni.$u.http.get('/offcial/message/messageByWorkId/' + id).then(res => {
 					this.content = res.data
 					this.content.workid = id
-					if(this.gdType == true){
+					if (this.gdType == true) {
 						this.content.typeId = null //归档分类
 						this.content.levels = null //密级
 						this.content.archiveNo = null //档案编号
@@ -364,7 +431,7 @@
 						this.content.name = res.data.title //档案名称
 						this.content.gdtype = null //分类名称
 					}
-					if(this.type==0){
+					if (this.type == 0) {
 						this.isOver(this.parameter)
 						this.getBackNo(this.parameter.nodeId)
 					}
@@ -382,12 +449,40 @@
 				})
 			},
 			//查询信息公开类型
-			getMsgClass(){
+			getMsgClass() {
 				uni.$u.http.get('/system/dict/data/type/sw_open_type').then(res => {
 					// this.statusList = res.data
 					this.xxgklist = res.data.map((item, index) => {
 						let obj = {
-							value:item.dictValue,
+							value: item.dictValue,
+							id: item.dictValue,
+							text: item.dictLabel,
+						}
+						return obj
+					})
+				})
+			},
+			//查询紧急程度
+			getjjcdClass() {
+				uni.$u.http.get('/system/dict/data/type/urgent_type').then(res => {
+					// this.statusList = res.data
+					this.jjcdList = res.data.map((item, index) => {
+						let obj = {
+							value: item.dictValue,
+							id: item.dictValue,
+							text: item.dictLabel,
+						}
+						return obj
+					})
+				})
+			},
+			//查询密级
+			getmijiClass() {
+				uni.$u.http.get('/system/dict/data/type/archive_levels').then(res => {
+					// this.statusList = res.data
+					this.mijiList = res.data.map((item, index) => {
+						let obj = {
+							value: item.dictValue,
 							id: item.dictValue,
 							text: item.dictLabel,
 						}
@@ -396,12 +491,12 @@
 				})
 			},
 			//查询不予公开理由字典
-			getNoList(){
+			getNoList() {
 				uni.$u.http.get('/system/dict/data/type/no_open_reason').then(res => {
 					// this.statusList = res.data
 					this.noList = res.data.map((item, index) => {
 						let obj = {
-							value:item.dictValue,
+							value: item.dictValue,
 							id: item.dictValue,
 							text: item.dictLabel,
 						}
@@ -410,11 +505,11 @@
 				})
 			},
 			//查询归档字典
-			getgd(){
-				uni.$u.http.get('/system/dict/data/type/archive_levels').then(res =>{
+			getgd() {
+				uni.$u.http.get('/system/dict/data/type/archive_levels').then(res => {
 					this.gd = res.data.map((item, index) => {
 						let obj = {
-							value:item.dictCode,
+							value: item.dictCode,
 							id: item.dictCode,
 							text: item.dictLabel,
 						}
@@ -423,11 +518,15 @@
 				})
 			},
 			//判断是否为最后一步
-			isOver(v){
-				uni.$u.http.get("/jflow/restful/judgeNode",{params:{nodeId:v.nodeId}}).then(res=>{
-					if(res.msg=="Y"){
+			isOver(v) {
+				uni.$u.http.get("/jflow/restful/judgeNode", {
+					params: {
+						nodeId: v.nodeId
+					}
+				}).then(res => {
+					if (res.msg == "Y") {
 						this.overType = true
-					}else{
+					} else {
 						this.overType = false
 						this.jdList(v.workid, v.flowNo)
 					}
@@ -442,11 +541,11 @@
 					}
 				}).then(res => {
 					this.record = res.trackList
-					for(let i in res.trackList){
-						if(res.trackList[i].ActionType !== '28'){
-							if(res.trackList[i].ActionType22 != undefined){
-								this.lzNum = this.lzNum+res.trackList[i].ActionType22.length
-							}else{
+					for (let i in res.trackList) {
+						if (res.trackList[i].ActionType !== '28') {
+							if (res.trackList[i].ActionType22 != undefined) {
+								this.lzNum = this.lzNum + res.trackList[i].ActionType22.length
+							} else {
 								this.lzNum = this.lzNum + 1
 							}
 						}
@@ -482,184 +581,198 @@
 						}
 						return obj
 					})
-					
+
 				})
 			},
 			//节点选择
 			change(e) {
-				if(e.length != 0){
+				if (e.length != 0) {
 					this.id = this.list[e].id
 					this.DeliveryWay = this.list[e].DeliveryWay
 					this.content.toNodeId = this.list[e].id
 					this.content.nodeId = this.list[e].id
 					this.content.optionName = this.list[e].text
 				}
-				
+
 			},
 			//选择归档分类
-			chooseGd(){
+			chooseGd() {
 				uni.navigateTo({
-					url:"/pages/file/file"
+					url: "/pages/file/file"
 				})
 			},
 			//选择人员相关
 			choosePeo() {
-				if(this.id == null){
+				if (this.id == null) {
 					uni.showToast({
-						title:"请先选择下一节点",
-						icon:"none"
+						title: "请先选择下一节点",
+						icon: "none"
 					})
-				}else{
+				} else {
 					uni.navigateTo({
-						url:`/pages/peoChoose/peoChoose?workid=${this.workid}&flowNo=${this.flowNo}&id=${this.id}`,
+						url: `/pages/peoChoose/peoChoose?workid=${this.workid}&flowNo=${this.flowNo}&id=${this.id}`,
 					})
 				}
 			},
 			//提交待办
-			submit(){
-				if(this.id == null){
+			submit() {
+				if (this.id == null && this.nodeId != '207') {
 					uni.showToast({
-						title:"请先选择下一节点",
-						icon:"none"
+						title: "请先选择下一节点",
+						icon: "none"
 					})
-				}else if(this.content.users == null && this.DeliveryWay ==4){
+				} else if (this.content.users == null && this.DeliveryWay == 4) {
 					uni.showToast({
-						title:"请选择人员",
-						icon:"none"
+						title: "请选择人员",
+						icon: "none"
 					})
-				}else if(this.content.reviewMsg == null){
+				} else if (this.content.reviewMsg == null) {
 					uni.showToast({
-						title:"请填写审批意见",
-						icon:"none"
+						title: "请填写审批意见",
+						icon: "none"
 					})
-				}else{
+				} else {
 					uni.showLoading({
-						title:"提交中...",
-						mask:true
+						title: "提交中...",
+						mask: true
 					})
-					uni.$u.http.put("/offcial/message",this.content).then(qaz=>{
+					uni.$u.http.put("/offcial/message", this.content).then(qaz => {
 						console.log(qaz)
-						uni.$u.http.post("/offcial/receive/sendFlowToUsers",this.content,{
+						uni.$u.http.post("/offcial/receive/sendFlowToUsers", this.content, {
 							header: {
 								// 'Content-Type': 'multipart/form-data'
 								'content-Type': 'application/x-www-form-urlencoded'
 							}
-						}).then(res=>{
-							console.log(res)
+						}).then(res => {
+							console.log(res.data.VarAcceptersName)
 							uni.hideLoading()
-							if (res.data.VarAcceptersName != "" && res.data.VarAcceptersName != "结束") {
+							if (res.data.VarAcceptersName != "" && res.data.VarAcceptersName !=
+								undefined && res.data.VarAcceptersName != "结束") {
 								uni.showToast({
 									title: "已发送到" + res.data.VarToNodeName + "节点,接收人:" + res
 										.data.VarAcceptersName,
 									icon: "none",
 									mask: true,
-									duration:3000
+									duration: 3000
 								})
-							} else if (res.data.VarAcceptersName == "结束") {
+							} else if (this.overType) {
 								uni.showToast({
 									title: res.data.Message,
 									icon: "none",
 									mask: true,
-									duration:3000
+									duration: 3000
 								})
+								console.log('78452')
 							} else {
+								// if (res.data.Message.replace(/[@]/g, "")) {
 								uni.showToast({
 									title: res.data.Message.replace(/[@]/g, ""),
 									icon: "none",
 									mask: true,
-									duration:3000
+									duration: 3000
 								})
+								// } else {
+								// 	uni.showToast({
+								// 		title: res.data.Message,
+								// 		icon: "none",
+								// 		mask: true,
+								// 		duration: 3000
+								// 	})
+								// }
+
 							}
-							
+
 							uni.$emit('query', {
 								a: 'back'
 							})
 							setTimeout(() => {
 								uni.navigateBack()
 							}, 2000)
-						}).catch(res=>{
+						}).catch(res => {
 							console.log(res)
 							uni.hideLoading()
 							uni.showToast({
-								title:"请稍后重试",
-								icon:"none"
+								title: "请稍后重试",
+								icon: "none"
 							})
 						})
-					}).catch(res=>{
+					}).catch(res => {
 						console.log(res)
 						uni.hideLoading()
 						uni.showToast({
-							title:"请稍后重试",
-							icon:"none"
+							title: "请稍后重试",
+							icon: "none"
 						})
 					})
 				}
 			},
 			//保存归档
-			save(){
-				if(this.content.archiveNo == null){
+			save() {
+				if (this.content.archiveNo == null) {
 					uni.showToast({
-						title:"请填写档案编号",
-						icon:"none"
+						title: "请填写档案编号",
+						icon: "none"
 					})
-				}else if(this.content.typeId == null){
+				} else if (this.content.typeId == null) {
 					uni.showToast({
-						title:"请选择归档分类",
-						icon:"none"
+						title: "请选择归档分类",
+						icon: "none"
 					})
-				}else if(this.content.printNum == null || this.content.printNum<1 || this.content.printNum % 1 != 0){
+				} else if (this.content.printNum == null || this.content.printNum < 1 || this.content.printNum % 1 != 0) {
 					uni.showToast({
-						title:"请填写正确打印份数",
-						icon:"none"
+						title: "请填写正确打印份数",
+						icon: "none"
 					})
-				}else{
+				} else {
 					this.content.reviewMsg = "同意"
 					uni.showLoading({
-						title:"提交中...",
-						mask:true
+						title: "提交中...",
+						mask: true
 					})
-					uni.$u.http.put("/offcial/message",this.content).then(qaz=>{
-						uni.$u.http.post("/offcial/archive/save",this.content).then(res=>{
+					uni.$u.http.put("/offcial/message", this.content).then(qaz => {
+						uni.$u.http.post("/offcial/archive/save", this.content).then(res => {
 							uni.$u.http.get('/jflow/restful/GenerNextStepAllNode', {
 								params: {
-									workid:this.parameter.workid,
+									workid: this.parameter.workid,
 									token: uni.getStorageSync('jtoken'),
 									flowNo: this.parameter.flowNo,
 								}
 							}).then(qwe => {
 								uni.hideLoading()
 								uni.showToast({
-									title:"归档成功",
-									icon:"none",
-									mask:true,
-									duration:2000
+									title: "归档成功",
+									icon: "none",
+									mask: true,
+									duration: 2000
+								})
+								uni.$emit('query', {
+									a: 'back'
 								})
-								uni.$emit('query' , {a : 'back'})
-								setTimeout(()=>{
-									  uni.navigateBack()
-								},2000)
+								setTimeout(() => {
+									uni.navigateBack()
+								}, 2000)
 							})
-						}).catch(res=>{
+						}).catch(res => {
 							uni.hideLoading()
 							uni.showToast({
-								title:"请稍后重试",
-								icon:"none"
+								title: "请稍后重试",
+								icon: "none"
 							})
 						})
-					}).catch(res=>{
+					}).catch(res => {
 						uni.hideLoading()
 						uni.showToast({
-							title:"请稍后重试",
-							icon:"none"
+							title: "请稍后重试",
+							icon: "none"
 						})
 					})
 				}
 			},
 			//下载附件
-			downLoad(v){
+			downLoad(v) {
 				let that = this
 				uni.navigateTo({
-					url:"/pages/office/office?url="+getApp().globalData.saveUrl+v
+					url: "/pages/office/office?url=" + getApp().globalData.saveUrl + v
 				})
 				// uni.showLoading({
 				// 	title:"打开中...",
@@ -700,16 +813,16 @@
 				// 	  }
 				// 	});
 				// }
-				
+
 			},
 			//保存修改收文信息
-			saveFw(){
-				
+			saveFw() {
+
 			},
 			//查询是否能退回
-			getBackNo(id){
-				uni.$u.http.get("/jflow/restful/CurrNodeInfo?currNodeID="+id).then(res=>{
-					if(res[0].ReturnRole != 0){
+			getBackNo(id) {
+				uni.$u.http.get("/jflow/restful/CurrNodeInfo?currNodeID=" + id).then(res => {
+					if (res[0].ReturnRole != 0) {
 						this.getBackList()
 						this.backType = true
 						this.content.returnToNodeID = null
@@ -718,13 +831,13 @@
 				})
 			},
 			//获取退回节点列表
-			getBackList(){
-				uni.$u.http.get("/jflow/restful/getReturnWorkNode",{
-					params:{
+			getBackList() {
+				uni.$u.http.get("/jflow/restful/getReturnWorkNode", {
+					params: {
 						workid: this.parameter.workid,
 						token: uni.getStorageSync('jtoken')
 					}
-				}).then(res=>{
+				}).then(res => {
 					this.backlist = res.map((item, index) => {
 						let obj = {
 							value: item.No,
@@ -736,34 +849,34 @@
 				})
 			},
 			//退回上一节点
-			back(){
-				if(this.content.returnToNodeID == null){
+			back() {
+				if (this.content.returnToNodeID == null) {
 					uni.showToast({
-						title:"请选择退回节点",
-						icon:"none"
+						title: "请选择退回节点",
+						icon: "none"
 					})
-				}else if(this.content.backMsg == null){
+				} else if (this.content.backMsg == null) {
 					uni.showToast({
-						title:"请填写退回意见",
-						icon:"none"
+						title: "请填写退回意见",
+						icon: "none"
 					})
-				}else{
+				} else {
 					uni.showLoading({
-						title:"退回中...",
+						title: "退回中...",
 					})
-					uni.$u.http.get("/offcial/receive/NodeReturnWork",{
-						params:{
+					uni.$u.http.get("/offcial/receive/NodeReturnWork", {
+						params: {
 							workid: this.parameter.workid,
 							returnToNodeID: this.content.returnToNodeID,
-							returnMsg:this.content.backMsg
+							returnMsg: this.content.backMsg
 						}
-					}).then(res=>{
+					}).then(res => {
 						uni.hideLoading()
 						this.close()
 						uni.showToast({
-							title:res,
-							icon:"none",
-							duration:2000
+							title: res,
+							icon: "none",
+							duration: 2000
 						})
 						uni.$emit('query', {
 							a: 'back'
@@ -771,18 +884,18 @@
 						setTimeout(() => {
 							uni.navigateBack()
 						}, 2000)
-					}).catch(error=>{
+					}).catch(error => {
 						uni.hideLoading()
 						uni.showToast({
-							title:"请稍后重试",
-							icon:"none"
+							title: "请稍后重试",
+							icon: "none"
 						})
 					})
 				}
-				
+
 			},
 			//关闭模态框
-			close(){
+			close() {
 				this.content.returnToNodeID = null
 				this.content.backMsg = null
 				this.show = false
@@ -795,7 +908,8 @@
 	.content {
 		font-size: 32rpx;
 	}
-	.tab{
+
+	.tab {
 		width: 48%;
 		height: 100%;
 		box-sizing: border-box;
@@ -803,7 +917,36 @@
 		align-items: center;
 		justify-content: center;
 	}
-	.active{
-		color:#2979ff
+
+	.active {
+		color: #2979ff
+	}
+
+	::v-deep .uni-select--disabled[data-v-6b64008e] {
+		background-color: white;
+		cursor: not-allowed;
+	}
+
+	::v-deep .edit .uni-select[data-v-6b64008e] {
+		font-size: 15px;
+		border: none;
+		box-sizing: border-box;
+		border-radius: 4px;
+		padding: 0px;
+		padding-left: 0px;
+		position: relative;
+		display: flex;
+		-webkit-user-select: none;
+		user-select: none;
+		flex-direction: row;
+		align-items: center;
+		border-bottom: none;
+		width: 100%;
+		flex: 1;
+		height: 35px;
+	}
+
+	::v-deep .edit .uniui-bottom[data-v-a2e81f6e]:before {
+		content: "";
 	}
 </style>

+ 132 - 70
pages/index/index.vue

@@ -2,7 +2,7 @@
 	<view class="container" style="background-color: #fff;">
 		<view style="height: 100rpx;">
 			<u-tabs :list="lmlist" :current="current" @click="click">
-				<view slot="right" style="padding-left: 4px;padding-right: 10px" @click="more" >
+				<view slot="right" style="padding-left: 4px;padding-right: 10px" @click="more">
 					<u-icon name="list" size="21" bold></u-icon>
 				</view>
 			</u-tabs>
@@ -28,7 +28,8 @@
 								</view>
 								<view
 									style="display: flex;justify-content: flex-end;margin-top: 20rpx;color:#909399;font-size: 28rpx;">
-									{{showtime($u.timeFormat(item.publishTime, 'yyyy-mm-dd'))}}</view>
+									{{showtime($u.timeFormat(item.publishTime, 'yyyy-mm-dd'))}}
+								</view>
 							</view>
 							<view style="padding: 10rpx 0;" v-if="v.list.length > 0">
 								<u-loadmore :status="v.statusList" />
@@ -47,13 +48,16 @@
 					<view style="padding: 0 20rpx;font-weight: bold">
 						我的订阅
 					</view>
-					<dragSort ref="dy" :list.sync="lmlist" label="name" :columnNum="4" :columnSpace="20" :rowHeight="60" :rowSpace="20" @shanchu="del"  @complete="wancheng"></dragSort>
+					<dragSort ref="dy" :list.sync="lmlist" label="name" :columnNum="4" :columnSpace="20" :rowHeight="60"
+						:rowSpace="20" @shanchu="del" @complete="wancheng"></dragSort>
 					<view style="padding: 0 20rpx;font-weight: bold;margin-top: 40rpx;">
 						未订阅
 					</view>
 					<view style="display: flex;flex-wrap: wrap;padding-top: 20rpx;">
 						<view style="width: 25%;padding: 10rpx;box-sizing: border-box;" v-for="(v,i) in wgzlm" :key="i">
-							<view class="shake" style="padding: 10rpx;border: 1px solid #ccc;text-align: center;border-radius: 20rpx;font-size: 14px;"  @click="guanzhu(v,i)">
+							<view class="shake"
+								style="padding: 10rpx;border: 1px solid #ccc;text-align: center;border-radius: 20rpx;font-size: 14px;"
+								@click="guanzhu(v,i)">
 								{{v.columnName}}
 							</view>
 						</view>
@@ -92,11 +96,11 @@
 				showtime: showtime,
 				lmshow: false,
 				//所有栏目列表
-				allList:[],
+				allList: [],
 				//未关注栏目
-				wgzlm:[],
+				wgzlm: [],
 				//是否保存栏目
-				save:false
+				save: false
 			}
 		},
 		onLoad() {
@@ -111,32 +115,32 @@
 			this.getdbNum()
 		},
 		methods: {
-			wancheng(e){
-				if(e=='finish'){
+			wancheng(e) {
+				if (e == 'finish') {
 					let list = []
-					if(this.lmlist.length != 0){
+					if (this.lmlist.length != 0) {
 						this.lmlist[this.current].xlList1 = true
-						if(this.lmlist[this.current].list == 0){
+						if (this.lmlist[this.current].list == 0) {
 							this.refresherrefresh(this.current)
 						}
 						this.lmlist.forEach(item => {
 							let obj = {
-								name:item.name,
-								id:item.id,
-								columnCode:item.columnCode
+								name: item.name,
+								id: item.id,
+								columnCode: item.columnCode
 							}
 							list.push(obj);
 						})
 					}
-					uni.$u.http.post('/oa/column/saveFollowCoulumn',list).then(res=>{
+					uni.$u.http.post('/oa/column/saveFollowCoulumn', list).then(res => {
 						this.save = true
 					})
 				}
 			},
-			del(e){
+			del(e) {
 				// uni.$u.http.delete('/system/subscribed/remove/'+e.data.id).then(res=>{
 				this.getwgzlm()
-				if(this.current > e.index ){
+				if (this.current > e.index) {
 					this.current = this.current - 1
 					// this.lmlist[this.current].totalList = 0
 					// this.lmlist[this.current].totalList = 'loadmore'
@@ -145,15 +149,15 @@
 					// this.lmlist[this.current].xlList1 = true
 					// this.lmlist[this.current].xlList2= true
 					// this.getNewsList()
-				}else if(this.current == 0 && e.index == 0){
+				} else if (this.current == 0 && e.index == 0) {
 					this.lmlist[0].xlList1 = true
 					// this.lmlist[0].xlList2= true
 					this.refresherrefresh(0)
 				}
 				// })
-				
+
 			},
-			lmOpen(){
+			lmOpen() {
 				this.lmlist[this.current].xlList1 = false
 				this.$forceUpdate()
 			},
@@ -177,7 +181,7 @@
 				})
 			},
 			//获取所有栏目
-			getAllList(){
+			getAllList() {
 				uni.$u.http.get('/oa/column/app/homePage').then(res => {
 					this.allList = res
 				})
@@ -186,7 +190,49 @@
 			getLmList() {
 				let that = this
 				uni.$u.http.get('/oa/column/app/wgzd').then(res => {
-					this.lmlist = res
+					console.log('55', res)
+					if (res.length == undefined || res.length == 0) {
+						// this.lmlist.push(this.wgzlm[0])
+						// this.wgzlm = this.wgzlm.splice(1)
+						uni.$u.http.post('/system/subscribed', {
+							userId: uni.getStorageSync('userInfo').userId,
+							columnId: this.wgzlm[0].id
+						}).then(res => {
+							let obj = this.wgzlm[0]
+							obj.list = []
+							obj.totalList = 0
+							obj.totalList = 'loadmore'
+							obj.pageSize = 10
+							obj.pageNum = 1
+							obj.xlList1 = false
+							obj.xlList2 = true
+							this.lmlist.push(obj)
+							if (this.lmlist.length == 1) {
+								this.lower(0)
+							}
+							// this.getwgzlm()
+							this.$forceUpdate()
+							// this.allList[i].isFollow = '1'
+							uni.$u.http.get("/oa/column/app/notFollow").then(res => {
+								// console.log(res)
+								uni.hideLoading()
+								// uni.showToast({
+								// 	title: "订阅成功"
+								// })
+								this.wgzlm = res
+
+							})
+
+						}).catch((error) => {
+							uni.showToast({
+								title: "取消失败",
+								icon: 'none'
+							})
+
+						})
+					} else {
+						this.lmlist = res
+					}
 					for (let i in this.lmlist) {
 						this.lmlist[i].list = []
 						this.lmlist[i].totalList = 0
@@ -195,7 +241,7 @@
 						this.lmlist[i].pageNum = 1
 						if (i == 0) {
 							this.lmlist[i].xlList1 = true
-							this.lmlist[i].xlList2= true
+							this.lmlist[i].xlList2 = true
 							uni.showLoading({
 								title: "加载中...",
 							})
@@ -215,7 +261,12 @@
 			getNewsList() {
 				// uni.hideLoading()
 				uni.$u.http.get("/oa/article/listByColumnId", {
-					params:{pageSize:this.lmlist[this.current].pageSize,pageNum:this.lmlist[this.current].pageNum,columnId:this.lmlist[this.current].id,status:1},
+					params: {
+						pageSize: this.lmlist[this.current].pageSize,
+						pageNum: this.lmlist[this.current].pageNum,
+						columnId: this.lmlist[this.current].id,
+						status: 1
+					},
 					header: {
 						'content-Type': 'application/x-www-form-urlencoded'
 					}
@@ -228,8 +279,9 @@
 					} else {
 						this.lmlist[this.current].statusList = "loadmore"
 					}
-					if(this.lmlist[this.current].pageNum == 1){
-						this.lmlist[this.current].totalList = Math.ceil(res.total / this.lmlist[this.current].pageSize)
+					if (this.lmlist[this.current].pageNum == 1) {
+						this.lmlist[this.current].totalList = Math.ceil(res.total / this.lmlist[this.current]
+							.pageSize)
 					}
 					this.$forceUpdate()
 				}).catch(error => {
@@ -237,13 +289,16 @@
 				})
 			},
 			//关注栏目
-			guanzhu(v,i){
+			guanzhu(v, i) {
 				// console.log(v)
 				uni.showLoading({
-					title:"请稍等...",
-					mask:true
+					title: "请稍等...",
+					mask: true
 				})
-				uni.$u.http.post('/system/subscribed',{userId:uni.getStorageSync('userInfo').userId,columnId:v.id}).then(res=>{
+				uni.$u.http.post('/system/subscribed', {
+					userId: uni.getStorageSync('userInfo').userId,
+					columnId: v.id
+				}).then(res => {
 					let obj = v
 					obj.list = []
 					obj.totalList = 0
@@ -253,30 +308,30 @@
 					obj.xlList1 = false
 					obj.xlList2 = true
 					this.lmlist.push(obj)
-					if(this.lmlist.length == 1){
+					if (this.lmlist.length == 1) {
 						this.lower(0)
 					}
 					// this.getwgzlm()
 					this.$forceUpdate()
 					// this.allList[i].isFollow = '1'
-					uni.$u.http.get("/oa/column/app/notFollow").then(res=>{
+					uni.$u.http.get("/oa/column/app/notFollow").then(res => {
 						// console.log(res)
 						uni.hideLoading()
 						uni.showToast({
-							title:"订阅成功"
+							title: "订阅成功"
 						})
 						this.wgzlm = res
-						
+
 					})
-					
-				}).catch((error)=>{
+
+				}).catch((error) => {
 					uni.showToast({
-						title:"取消失败",
-						icon:'none'
+						title: "取消失败",
+						icon: 'none'
 					})
-					
+
 				})
-				
+
 			},
 			//tabs点击
 			click(e) {
@@ -286,6 +341,7 @@
 				this.lmlist[this.current].xlList1 = true
 			},
 			animationfinish(e) {
+				console.log('animationfinish', e)
 				let qwe = this.current
 				this.lmlist[qwe].xlList1 = false
 				this.current = e.detail.current;
@@ -303,7 +359,7 @@
 					this.lmlist[e].pageNum++
 					this.getNewsList()
 				} else {
-					this.lmlist[e].statusList  = "nomore"
+					this.lmlist[e].statusList = "nomore"
 					this.$forceUpdate()
 				}
 			},
@@ -312,9 +368,14 @@
 				this.lmlist[e].xlList2 = true
 				this.lmlist[e].pageNum = 1
 				this.lmlist[e].list = []
-				let a = new Promise((resolve,reject)=>{
+				let a = new Promise((resolve, reject) => {
 					uni.$u.http.get("/oa/article/listByColumnId", {
-						params:{pageSize:this.lmlist[e].pageSize,pageNum:this.lmlist[e].pageNum,columnId:this.lmlist[e].id,status:1},
+						params: {
+							pageSize: this.lmlist[e].pageSize,
+							pageNum: this.lmlist[e].pageNum,
+							columnId: this.lmlist[e].id,
+							status: 1
+						},
 						header: {
 							'content-Type': 'application/x-www-form-urlencoded'
 						}
@@ -327,7 +388,7 @@
 						} else {
 							this.lmlist[e].statusList = "loadmore"
 						}
-						if(this.lmlist[e].pageNum == 1){
+						if (this.lmlist[e].pageNum == 1) {
 							this.lmlist[e].totalList = Math.ceil(res.total / this.lmlist[e].pageSize)
 						}
 						this.$forceUpdate()
@@ -337,11 +398,11 @@
 						resolve('2')
 					})
 				})
-				a.then(res=>{
-					setTimeout(()=>{
+				a.then(res => {
+					setTimeout(() => {
 						this.lmlist[e].xlList2 = false
 						this.$forceUpdate()
-					},500)
+					}, 500)
 				})
 				// setTimeout(() => {
 				// 	// this.$forceUpdate()
@@ -356,7 +417,8 @@
 				uni.$u.http.get('/oa/article/listHome?isCarousel=1&pageNum=1&pageSize=100').then(res => {
 					this.lbList = res.rows
 					for (let i in res.rows) {
-						this.lbList[i].imgUrl = getApp().globalData.saveUrl + res.rows[i].imgUrl.split('/public/')[1]
+						this.lbList[i].imgUrl = getApp().globalData.saveUrl + res.rows[i].imgUrl.split('/zdzx/')[1]
+						console.log(this.lbList[i].imgUrl)
 					}
 				})
 			},
@@ -387,8 +449,8 @@
 
 			},
 			//获取关注栏目
-			getwgzlm(){
-				uni.$u.http.get("/oa/column/app/notFollow").then(res=>{
+			getwgzlm() {
+				uni.$u.http.get("/oa/column/app/notFollow").then(res => {
 					// console.log(res)
 					this.wgzlm = res
 				})
@@ -420,18 +482,18 @@
 				})
 			},
 			//保存栏目顺序
-			saveLmOrder(){
-				if(this.save == true){
+			saveLmOrder() {
+				if (this.save == true) {
 					this.save = false
 					this.lmshow = false
-				}else{
-					if(this.$refs.dy.cacheList.length != 0){
+				} else {
+					if (this.$refs.dy.cacheList.length != 0) {
 						this.$refs.dy.toggleEdit('cancel')
 						this.lmlist[this.current].xlList1 = true
 					}
 					this.lmshow = false
 				}
-				
+
 			},
 			//升级 
 			needUpdateApp(i) {
@@ -508,60 +570,61 @@
 					}
 				});
 			},
-			
+
 		}
 	}
 </script>
 
 <style lang="scss" scoped>
-	.choose{
-		border:1px solid #409EFF !important;
-		color:#409EFF;
+	.choose {
+		border: 1px solid #409EFF !important;
+		color: #409EFF;
 		font-weight: bold;
 	}
+
 	.is-ellipsis {
 		white-space: nowrap;
 		overflow: hidden;
 		text-overflow: ellipsis;
 	}
-	
+
 	.dragSort-wrap {}
-	
+
 	.dragSortBox {
 		padding: 20rpx;
 	}
-	
+
 	.dragSortBox-btns {
 		padding: 20rpx;
 		margin-bottom: 20rpx;
 		text-align: right;
 		color: red;
 	}
-	
+
 	.dragSortBox-btn {
 		margin-left: 20rpx;
 	}
-	
+
 	.dragSort-area {
 		width: 100%;
 		/* background-color: skyblue; */
 	}
-	
+
 	.dragSort-view {
 		/* background-color: pink; */
 		background-color: #eee;
 		text-align: center;
 	}
-	
+
 	.dragSort-view.is-touched {
 		opacity: .9;
 	}
-	
+
 	.dragSort-view__con {
 		position: relative;
 		height: 100%;
 	}
-	
+
 	.dragSort-view__label {
 		position: absolute;
 		left: 50%;
@@ -569,12 +632,11 @@
 		transform: translate(-50%, -50%);
 		max-width: 100%;
 	}
-	
+
 	.dragSort-view__btn-del {
 		position: absolute;
 		right: 0;
 		top: 0;
 		transform: translate(50%, -50%);
 	}
-	
 </style>

+ 63 - 56
pages/office/office.vue

@@ -1,94 +1,101 @@
 <template>
 	<div class="wrap">
-		 <web-view :src="filePath" :update-title="false"></web-view>
+		<web-view :src="filePath" :update-title="false"></web-view>
 	</div>
 </template>
 
 <script>
-	import {Base64} from 'js-base64'
+	import {
+		Base64
+	} from 'js-base64'
 	var wv
-	var currentWebview 
+	var currentWebview
 	//引入相关样式
 	export default {
 		data() {
 			return {
 				filePath: "", // 预览地址
 				path: "", // 文件类型
-				list1:[],
-				list2:[]
+				list1: [],
+				list2: []
 			};
 		},
 		onLoad(options) {
-			uni.showLoading({
-				title:"加载中..."
-			})
-			currentWebview = this.$scope.$getAppWebview() //获取当前页面的webview对象
-			currentWebview.onLoad = this.loadSuccess()
-			this.filePath =`http://121.28.24.104:13898/app/kkfile/onlinePreview?url=${encodeURIComponent(Base64.encode(options.url))}&officePreviewType=pdf` 
+			console.log('options', options.url)
+			// uni.showLoading({
+			// 	title: "加载中..."
+			// })
+			// currentWebview = this.$scope.$getAppWebview() //获取当前页面的webview对象
+			// currentWebview.onLoad = this.loadSuccess()
+			this.filePath =
+				`http://61.240.156.161:8201/onlinePreview?url=${encodeURIComponent(Base64.encode(options.url))}&officePreviewType=pdf`
 			this.path = options.url
+			uni.hideLoading();
 		},
 		onNavigationBarButtonTap(e) {
 			let that = this
-		    uni.showLoading({
-		    	title:"打开中...",
-		    })
-		    if(that.list1.indexOf(that.path) == -1){
-		    	uni.downloadFile({
-		    	  url:that.path,
-		    	  success: function(res) {
-					  console.log(res)
-		    	    if (res.statusCode === 200) {
-		    			that.list1.push(that.path)
-		    			that.list2.push(res.tempFilePath)
-		    	      uni.openDocument({
-		    	        filePath: res.tempFilePath,
-		    			success: function (res) {
-		    				uni.hideLoading();
-		    			}
-		    	      });
-		    	    }else{
-		    			uni.hideLoading()
-		    			uni.showToast({
-		    				title:"下载失败",
-		    				icon:'none'
-		    			})
-		    		}
-		    	  },fail:function(res){
-		    		  uni.hideLoading()
-		    		  uni.showToast({
-		    		  	title:"下载失败",
-		    			icon:'none'
-		    		  })
-		    	  }
-		    	});
-		    }else{
-		    	uni.openDocument({
-		    	  filePath: that.list2[that.list1.indexOf(that.path)],
-		    	  success: function (res) {
-		    	  	uni.hideLoading();
-		    	  }
-		    	});
-		    }
+			uni.showLoading({
+				title: "打开中...",
+			})
+			if (that.list1.indexOf(that.path) == -1) {
+				uni.downloadFile({
+					url: that.path,
+					success: function(res) {
+						console.log(res)
+						if (res.statusCode === 200) {
+							that.list1.push(that.path)
+							that.list2.push(res.tempFilePath)
+							uni.openDocument({
+								filePath: res.tempFilePath,
+								success: function(res) {
+									uni.hideLoading();
+								}
+							});
+						} else {
+							uni.hideLoading()
+							uni.showToast({
+								title: "下载失败",
+								icon: 'none'
+							})
+						}
+					},
+					fail: function(res) {
+						uni.hideLoading()
+						uni.showToast({
+							title: "下载失败",
+							icon: 'none'
+						})
+					}
+				});
+			} else {
+				uni.openDocument({
+					filePath: that.list2[that.list1.indexOf(that.path)],
+					success: function(res) {
+						uni.hideLoading();
+					}
+				});
+			}
 		},
 		methods: {
-			loadSuccess(){
+			loadSuccess() {
 				uni.hideLoading()
 			},
-			onWebViewLoaded(){
+			onWebViewLoaded() {
 				console.log('加载完成')
 			}
 		},
 		onReady() {
 			setTimeout(function() {
-				wv = currentWebview.children()[0]
-				wv.setStyle({scalable:true})
+				// wv = currentWebview.children()[0]
+				// wv.setStyle({
+				// 	scalable: true
+				// })
 			}, 1000); //如果是页面初始化调用时,需要延时一下
 		}
 	};
 </script>
 
 <style scoped lang="scss">
-
 	.wrap {
 		width: 100vw;
 		height: 100vh;

+ 162 - 7
pages/shenqing/shenqing.vue

@@ -175,19 +175,46 @@
 						<uni-data-select v-model="content.signetType" :clear="false" placeholder="请选择印章类别"
 							:localdata="yongzhangList"></uni-data-select>
 					</u-form-item>
-					<u-form-item label="用章事由:" borderBottom prop="usingReason" ref="item1">
-						<u--textarea type="textarea" v-model="content.usingReason" placeholder="请输入用章事由"
+					<u-form-item label="文件名称:" borderBottom prop="usingReason" ref="item1">
+						<u--textarea type="textarea" v-model="content.usingReason" placeholder="请输入文件名称"
 							border="none"></u--textarea>
 					</u-form-item>
 					<u-form-item label="主送单位:" borderBottom prop="activeSend" ref="item1">
 						<u--textarea type="textarea" v-model="content.activeSend" placeholder="请输入主送单位"
 							border="none"></u--textarea>
 					</u-form-item>
+					<u-form-item label="上传附件:" borderBottom prop="" ref="">
+						<view class="example-body">
+							<u-button style="width:380rpx" type="primary" @click="uploadPic()">上传</u-button>
+							<!-- 展示 -->
+							<div style="display: inline;">
+								<view style="margin-bottom: 30rpx;display: flex;margin-top: 4rpx;"
+									v-for="v in rowThis.ywFileList" :key="v.fileId">
+									<u-icon style="margin-top: 4rpx;color: #2979FF;" name="attach"></u-icon><u--text
+										:lines="1" size="14" color="#2979FF" decoration="underline" :text="v.name"
+										@click="downLoad(v.url)">{{v.name}}</u--text><u-icon @click="delFile(v)"
+										style="margin-top: 0rpx;" name="close"></u-icon>
+								</view>
+							</div>
+						</view>
+
+						<u-action-sheet @select="selectClick" :actions="list" :closeOnClickOverlay="true"
+							:closeOnClickAction="true" title="请选择" :show="showUpload"></u-action-sheet>
+
+						<!-- <view v-else
+							style="border-radius: 8rpx;background-color: #f3f3f3;margin-top: 40rpx;padding: 20rpx 40rpx;">
+
+							<view style="margin-bottom: 30rpx;" v-for="v in item.ywFileList" :key="v.fileId">
+								<u--text :lines="1" size="15" color="#2979FF" decoration="underline" :text="v.name"
+									@click="downLoad(v.url)">{{v.name}}</u--text>
+							</view>
+						</view> -->
+					</u-form-item>
 					<u-form-item label="盖章份数:" borderBottom prop="signetCopies" ref="item1">
 						<u--input type="textarea" v-model="content.signetCopies" placeholder="请输入盖章份数"
 							border="none"></u--input>
 					</u-form-item>
-					<u-form-item label="接收人:" borderBottom prop="toEmpsName" v-if="fzr == true" @click="peoShow = true">
+					<u-form-item label="接收人:" borderBottom prop="toEmpsName" @click="peoShow = true">
 						<view :style="{color:content.toEmpsName==null?'rgb(192, 196, 204)':''}">
 							{{content.params.toEmps == null?'请选择接收人':content.toEmpsName}}
 						</view>
@@ -218,7 +245,7 @@
 						<u--input type="textarea" v-model="content.signetCopies" placeholder="请输入盖章份数"
 							border="none"></u--input>
 					</u-form-item>
-					<u-form-item label="接收人:" borderBottom prop="toEmpsName" v-if="fzr == true" @click="peoShow = true">
+					<u-form-item label="接收人:" borderBottom prop="toEmpsName" @click="peoShow = true">
 						<view :style="{color:content.toEmpsName==null?'rgb(192, 196, 204)':''}">
 							{{content.params.toEmps == null?'请选择接收人':content.toEmpsName}}
 						</view>
@@ -320,7 +347,10 @@
 				</u-radio-group>
 			</view>
 		</u-modal> -->
+
 	</view>
+
+
 </template>
 
 <script>
@@ -331,6 +361,16 @@
 	export default {
 		data() {
 			return {
+				list: [{
+					name: '拍照上传'
+				}, {
+					name: '从相册上传'
+				}],
+				showUpload: false,
+				uploadUrl: 'http://61.240.156.161:28188/prod-api' + "/system/file/fileupload",
+				rowThis: {
+					ywFileList: []
+				},
 				peoShow1: false,
 				YorN: "1",
 				InfoList: [],
@@ -549,7 +589,7 @@
 					usingReason: [{
 						required: true,
 						trigger: "blur",
-						message: "请输入用章事由"
+						message: "请输入文件名称"
 					}, ],
 					activeSend: [{
 						required: true,
@@ -657,7 +697,7 @@
 			getApp().globalData.ywListZR = null
 			let that = this
 			let roles = uni.getStorageSync('userInfo').roles
-			if (options.fkFlow == '006' || options.fkFlow == '016' || options.fkFlow == '020') {
+			if (options.fkFlow == '006' || options.fkFlow == '016' || options.fkFlow == '020' || options.fkFlow == '017') {
 				this.getPeoList(options.fkFlow)
 			}
 			for (let i in roles) {
@@ -672,6 +712,7 @@
 					this.Jld = true
 				}
 			}
+
 			that.parameter = options
 			that.fkFlow = options.fkFlow
 			that.type = options.type
@@ -722,6 +763,119 @@
 			})
 		},
 		methods: {
+			uploadPic() {
+				if (this.rowThis.ywFileList.length == 0) {
+					this.showUpload = true
+
+				} else {
+					uni.showToast({
+						title: '最多上传一张',
+						icon: 'none'
+					})
+					return
+				}
+			},
+			downLoad(path) {
+				console.log('’', path)
+				uni.downloadFile({
+					url: path,
+					success: (res) => {
+						var filePath = res.tempFilePath;
+						uni.openDocument({
+							filePath: filePath,
+							showMenu: true,
+							success: function(res) {
+								console.log('打开文档成功');
+							}
+						});
+					}
+				})
+			},
+			delFile(itemFile) {
+				console.log('itemFILE', itemFile)
+				this.rowThis.ywFileList.splice(itemFile, 1)
+			},
+			selectClick(index) {
+				console.log(index)
+				let that = this
+				if (index.name == '拍照上传') {
+					uni.chooseImage({
+						count: 1, // 默认9,设置图片的数量
+						sourceType: ['camera'], // 可以指定来源是相册还是相机,默认二者都有
+						success: function(res) {
+							// 返回选定照片的本地文件路径列表 tempFilePaths
+							console.log(res.tempFilePaths);
+							const pathUrl = res.tempFilePaths[0]
+							uni.uploadFile({
+								url: 'http://61.240.156.161:28188/prod-api' +
+									"/system/file/fileupload",
+								filePath: pathUrl,
+								name: 'file',
+								header: {
+									Authorization: 'Bearer ' + uni.getStorageSync('token')
+								},
+								success: (response) => {
+									console.log('1111111111111111')
+									console.log('96+', response.data)
+									console.log(that.rowThis)
+									let dataFile = JSON.parse(response.data)
+									that.rowThis.ywFileList.push(dataFile.data)
+									// if (this.rowThis.ywFileList.length != 0) {
+									// 	for (let i = 0; i < this.rowThis.ywFileList.length; i++) {
+									// 		if (this.rowThis.ywFileList[i].response != undefined) {
+									// 			this.dataSubmit.ywFileList.push(
+									// 				this.rowThis.ywFileList[i].response.data
+									// 			);
+									// 		} else {
+									// 			this.dataSubmit.ywFileList.push(this.rowThis
+									// 				.ywFileList[i]);
+									// 		}
+									// 	}
+									// }
+									// this.dataSubmit.ywFileList.push()
+								},
+								fail: (response) => {
+									console.log('fail', response)
+								}
+							})
+						}
+					});
+				} else if (index.name == '从相册上传') {
+					console.log('586', this.rowThis)
+					uni.chooseImage({
+						count: 1, // 默认9,设置图片的数量
+						sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
+						sourceType: ['album'], // 可以指定来源是相册还是相机,默认二者都有
+						success: function(res) {
+							// 返回选定照片的本地文件路径列表 tempFilePaths
+							console.log(res);
+							const pathUrl = res.tempFilePaths[0]
+							uni.uploadFile({
+								url: 'http://61.240.156.161:28188/prod-api' +
+									"/system/file/fileupload",
+								filePath: pathUrl,
+								name: 'file',
+								header: {
+									Authorization: 'Bearer ' + uni.getStorageSync('token')
+								},
+								success: (response) => {
+									console.log('1111111111111111')
+									console.log('96+', response.data)
+									console.log(that.rowThis)
+									let dataFile = JSON.parse(response.data)
+									that.rowThis.ywFileList.push(dataFile.data)
+									console.log('that.rowThis.ywFileList', that.rowThis.ywFileList)
+
+								},
+								fail: (response) => {
+									console.log('fail', response)
+								}
+							})
+						}
+					});
+				}
+				this.showUpload = false
+			},
 			keep() {
 				this.$refs.uForm.validate().then(res => {
 					uni.showLoading({
@@ -1109,6 +1263,7 @@
 							})
 							break
 						case '017':
+							this.content.fileId = this.rowThis.ywFileList[0].fileId
 							uni.$u.http.post("/offcial/seal/startUsingSeal", this.content).then(res => {
 								if (res.data.VarAcceptersName != "" && res.data.VarAcceptersName != "结束") {
 									uni.showToast({
@@ -1492,7 +1647,7 @@
 			},
 			//获取接收人信息
 			getPeoList(v) {
-				uni.$u.http.get(`/jflow/restful/GenerNextStepNodeEmpsNoWorkId?flowNo=${v}&toNodeID=2003`).then(res => {
+				uni.$u.http.get(`/jflow/restful/GenerNextStepNodeEmpsNoWorkId?flowNo=${v}&toNodeID=1703`).then(res => {
 					this.deptList = res.Depts
 					this.userList = res.Emps
 					console.log(this.deptList)

+ 363 - 124
pages/swMessage/swMessage.vue

@@ -23,59 +23,96 @@
 						<u-form-item label="来文标题:" borderBottom ref="item1">
 							<view class="content">
 								{{content.title}}
+								<!-- <u--input v-model="content.title" border="none" :readonly='isEdit'></u--input> -->
 							</view>
 						</u-form-item>
 						<u-form-item label="来文单位:" borderBottom ref="item1">
 							<view class="content">
 								{{content.sender}}
+								<!-- <u--input v-model="content.sender" border="none" :readonly='isEdit'></u--input> -->
 							</view>
 						</u-form-item>
 						<u-form-item label="来文日期:" borderBottom ref="item1">
+							<!-- @click="typeChange('laiwen')" -->
 							<view class="content">
 								{{content.sendTime}}
 							</view>
 						</u-form-item>
 						<u-form-item label="流水号:" borderBottom ref="item1">
 							<view class="content">
+								<!-- :readonly='isEdit' -->
 								{{content.serial}}
+								<!-- <u--input v-model="content.serial" border="none" readonly></u--input> -->
 							</view>
 						</u-form-item>
 						<u-form-item label="文件字号:" borderBottom ref="item1">
 							<view class="content">
 								{{content.documentNum}}
+								<!-- <u--input v-model="content.documentNum" border="none" readonly></u--input> -->
 							</view>
 						</u-form-item>
 						<u-form-item label="紧急程度:" borderBottom ref="item1">
-							<view class="content">
-								{{content.status}}
-							</view>
+							{{content.status}}
+							<!-- <uni-data-select v-model="content.emergencyDegree" :clear="false" placeholder="请选择紧急程度"
+								:localdata="statusList"></uni-data-select> -->
+						</u-form-item>
+						<u-form-item label="密级:" borderBottom ref="item1">
+							{{content.miji}}
+							<!-- <uni-data-select v-model="content.degree" :clear="false" placeholder="请选择紧急程度"
+								:localdata="mijiList"></uni-data-select> -->
 						</u-form-item>
 						<u-form-item label="文件类型:" borderBottom ref="item1">
-							<view class="content">
-								{{content.wjtype}}
-							</view>
+							{{content.wjtype}}
+							<!-- <uni-data-select v-model="content.receiveType" :clear="false" placeholder="请选择文件类型"
+								:localdata="wjType"></uni-data-select> -->
 						</u-form-item>
 						<u-form-item label="正文查看:" borderBottom ref="item1">
 							<view>
 								<!-- <u--text :text="content.sendFile.name" :href="content.sendFile.url"></u--text> -->
-								<u--text size="30rpx" :lines="3" color="#2979FF" :text="content.sendFile.name" @click="downLoad(content.sendFile.path)"></u--text>
+								<u--text size="30rpx" :lines="3" color="#2979FF" :text="content.sendFile.name"
+									@click="downLoad(content.sendFile.path)"></u--text>
 							</view>
 						</u-form-item>
 						<u-form-item label="附件查看:" borderBottom ref="item1">
 							<view v-if="content.fujianFileList != null && content.fujianFileList.length != 0 ">
-								<u--text :text="v.yfile.name" :lines="3" v-for="(v,i) in content.fujianFileList" :key="i" size="30rpx" color="#2979FF" @click="downLoad(v.yfile.path)"></u--text>
+								<u--text :text="v.yfile.name" :lines="3" v-for="(v,i) in content.fujianFileList"
+									:key="i" size="30rpx" color="#2979FF" @click="downLoad(v.yfile.path)"></u--text>
 							</view>
 						</u-form-item>
 						<u-form-item label="反馈文件:" borderBottom ref="item1" v-if="content.isFeedback === '1' ">
-							<view v-if="content.feedbackFileList != null && content.feedbackFileList.length != 0 ">
-								<u--text :text="v.yfile.name" :lines="3" v-for="(v,i) in content.feedbackFileList" :key="i" size="30rpx" color="#2979FF" @click="downLoad(v.yfile.path)"></u--text>
+							<view style="display: inline;" class="example-body">
+								<u-button v-if='type==0' style="width:380rpx" type="primary"
+									@click="uploadPic()">上传</u-button>
+								<!-- 展示 -->
+								<div style="display: inline;">
+									<view style="margin-bottom: 30rpx;display: flex;margin-top: 4rpx;"
+										v-for="v in rowThis.ywFileList" :key="v.fileId">
+										<u-icon style="margin-top: 4rpx;color: #2979FF;" name="attach"></u-icon><u--text
+											:lines="1" size="14" color="#2979FF" decoration="underline" :text="v.name"
+											@click="downLoad(v.url)">{{v.name}}</u--text>
+										<u-icon @click="delFile(v)" style="margin-top: 0rpx;" name="close"></u-icon>
+									</view>
+								</div>
+								<view v-if="content.feedbackFileList != null && content.feedbackFileList.length != 0 ">
+									<view style="margin-bottom: 30rpx;display: flex;margin-top: 4rpx;"
+										v-for="v in  content.feedbackFileList" :key="v.fileId">
+										<u-icon style="margin-top: 4rpx;color: #2979FF;" name="attach"></u-icon><u--text
+											:lines="1" size="14" color="#2979FF" decoration="underline"
+											:text="v.yfile.name"
+											@click="downLoad(v.yfile.url)">{{v.yfile.name}}</u--text><u-icon <!--
+											@click="delFile(v)" style="margin-top: 0rpx;" name="close"></u-icon> -->
+									</view>
+								</view>
 							</view>
+							<u-action-sheet @select="selectClick" :actions="listPic" :closeOnClickOverlay="true"
+								:closeOnClickAction="true" title="请选择" :show="showUpload"></u-action-sheet>
+
 						</u-form-item>
-						
+
 						<view v-if="type==0" style="padding-bottom: 40rpx;">
 							<u-form-item label="下一节点:" borderBottom ref="item1" v-if="overType==false">
-								<uni-data-select v-model="content.jdindex" placeholder="请选择下一节点" :localdata="list" :clear="false"
-									@change="change"></uni-data-select>
+								<uni-data-select v-model="content.jdindex" placeholder="请选择下一节点" :localdata="list"
+									:clear="false" @change="change"></uni-data-select>
 							</u-form-item>
 							<u-form-item label="处理人员:" borderBottom v-if="DeliveryWay==4" ref="item1"
 								@click="choosePeo">
@@ -115,26 +152,32 @@
 										border="none"></u--textarea>
 								</u-form-item>
 							</view> -->
-							<view style="margin: 20rpx 0;padding: 0 20rpx;color:rgb(137, 139, 145);font-size: 30rpx;" v-if="content.isFeedback==='1' && nodeId == 308">
+							<!-- <view style="margin: 20rpx 0;padding: 0 20rpx;color:rgb(137, 139, 145);font-size: 30rpx;"
+								v-if="content.isFeedback==='1' && nodeId == 308">
 								注:当前节点可上传反馈文件,如需上传请在协同办公系统进行操作
-							</view>
-							<view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;" v-if="gdType == false">
+							</view> -->
+							<view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;"
+								v-if="gdType == false">
 								<u-button type="primary" text="提交" @click="submit"></u-button>
 							</view>
-							<view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;" v-if="gdType == true">
+							<view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;"
+								v-if="gdType == true">
 								<u-button type="primary" text="归档" @click="save"></u-button>
 							</view>
-							<view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;" v-if="yjType == true">
+							<view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;"
+								v-if="yjType == true">
 								<u-button type="warning" text="移交" @click="yjShow = true"></u-button>
 							</view>
-							<view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;" v-if="backType == true">
+							<view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;"
+								v-if="backType == true">
 								<u-button type="error" text="退回" @click="show = true"></u-button>
 							</view>
 						</view>
 						<view style="padding: 20rpx;box-sizing: border-box;" v-else>
 							<u-steps :current="lzNum-1" direction="column" dot v-if="record != null">
 								<view v-for="(v,i) in record" :key="i">
-									<u-steps-item :error="v.ActionType==2?true:false" :title='v.NDFromT+"("+v.ActionTypeText+")"' v-if="v.ActionType==='28'">
+									<u-steps-item :error="v.ActionType==2?true:false"
+										:title='v.NDFromT+"("+v.ActionTypeText+")"' v-if="v.ActionType==='28'">
 										<view slot="desc" style="color: #606266">
 											<view style="font-size: 28rpx;">
 												处理人:{{v.EmpFromT}}
@@ -145,7 +188,9 @@
 										</view>
 									</u-steps-item>
 									<view v-else-if="v.ActionType22 != undefined">
-										<u-steps-item :error="v.ActionType==2?true:false" v-for="(item,index) in v.ActionType22" :key="index" :title='item.NDFromT+"("+v.ActionTypeText+")"'>
+										<u-steps-item :error="v.ActionType==2?true:false"
+											v-for="(item,index) in v.ActionType22" :key="index"
+											:title='item.NDFromT+"("+v.ActionTypeText+")"'>
 											<view slot="desc" style="color:#606266;">
 												<view style="font-size: 28rpx;">
 													处理部门:{{item.NodeData.split("DeptName=")[1]}}
@@ -162,7 +207,8 @@
 											</view>
 										</u-steps-item>
 									</view>
-									<u-steps-item :error="v.ActionType==2?true:false" :title='v.NDFromT+"("+v.ActionTypeText+")"' v-else>
+									<u-steps-item :error="v.ActionType==2?true:false"
+										:title='v.NDFromT+"("+v.ActionTypeText+")"' v-else>
 										<view slot="desc" style="color: #606266">
 											<view style="font-size: 28rpx;">
 												处理部门:{{v.NodeData.split("DeptName=")[1]}}
@@ -183,10 +229,12 @@
 
 			</swiper-item>
 			<swiper-item>
-				<view style="padding: 20rpx;box-sizing: border-box;width: 100%;box-sizing: border-box;height: 100%;overflow: auto;">
+				<view
+					style="padding: 20rpx;box-sizing: border-box;width: 100%;box-sizing: border-box;height: 100%;overflow: auto;">
 					<u-steps :current="lzNum-1" direction="column" dot v-if="record != null">
 						<view v-for="(v,i) in record" :key="i">
-							<u-steps-item :error="v.ActionType==2?true:false" :title='v.NDFromT+"("+v.ActionTypeText+")"' v-if="v.ActionType ==='28'">
+							<u-steps-item :error="v.ActionType==2?true:false"
+								:title='v.NDFromT+"("+v.ActionTypeText+")"' v-if="v.ActionType ==='28'">
 								<view slot="desc" style="color: #606266">
 									<view style="font-size: 28rpx;">
 										处理人:{{v.EmpFromT}}
@@ -197,7 +245,8 @@
 								</view>
 							</u-steps-item>
 							<view v-else-if="v.ActionType22 != undefined">
-								<u-steps-item :error="v.ActionType==2?true:false" v-for="(item,index) in v.ActionType22" :key="index" :title='item.NDFromT+"("+v.ActionTypeText+")"'>
+								<u-steps-item :error="v.ActionType==2?true:false" v-for="(item,index) in v.ActionType22"
+									:key="index" :title='item.NDFromT+"("+v.ActionTypeText+")"'>
 									<view slot="desc" style="color:#606266;">
 										<view style="font-size: 28rpx;">
 											处理部门:{{item.NodeData.split("DeptName=")[1]}}
@@ -214,7 +263,8 @@
 									</view>
 								</u-steps-item>
 							</view>
-							<u-steps-item :error="v.ActionType==2?true:false" :title='v.NDFromT+"("+v.ActionTypeText+")"' v-else>
+							<u-steps-item :error="v.ActionType==2?true:false"
+								:title='v.NDFromT+"("+v.ActionTypeText+")"' v-else>
 								<view slot="desc" style="color: #606266">
 									<view style="font-size: 28rpx;">
 										处理部门:{{v.NodeData.split("DeptName=")[1]}}
@@ -232,36 +282,40 @@
 				</view>
 			</swiper-item>
 		</swiper>
-		<u-modal :show="show"  title="退回" :closeOnClickOverlay="true" showCancelButton @cancel="close" @close="close" @confirm="back">
-			<view class="slot-content" style="width: 100%;" >
+		<u-modal :show="show" title="退回" :closeOnClickOverlay="true" showCancelButton @cancel="close" @close="close"
+			@confirm="back">
+			<view class="slot-content" style="width: 100%;">
 				<u--form labelPosition="left" labelAlign="center" :model="content" ref="uForm1"
 					:labelStyle="{fontSize:'32rpx'}" labelWidth="100">
 					<u-form-item label="退回节点:" borderBottom ref="item1">
 						<uni-data-select v-model="content.returnToNodeID" placeholder="请选择节点" :clear="false"
 							:localdata="backlist"></uni-data-select>
 					</u-form-item>
-					<u-form-item label="退回意见:" borderBottom ref="item1" >
+					<u-form-item label="退回意见:" borderBottom ref="item1">
 						<u--textarea v-model="content.backMsg" placeholder="请输入退回意见" autoHeight
 							border="none"></u--textarea>
 					</u-form-item>
 				</u--form>
 			</view>
 		</u-modal>
-		<u-modal :show="yjShow"  title="移交" :closeOnClickOverlay="true" showCancelButton @cancel="close1" @close="close1" @confirm="yijiao">
-			<view class="slot-content" style="width: 100%;" >
+		<u-modal :show="yjShow" title="移交" :closeOnClickOverlay="true" showCancelButton @cancel="close1" @close="close1"
+			@confirm="yijiao">
+			<view class="slot-content" style="width: 100%;">
 				<u--form labelPosition="left" labelAlign="center" :model="content" ref="uForm1"
 					:labelStyle="{fontSize:'32rpx'}" labelWidth="100">
 					<u-form-item label="移交人员:" borderBottom ref="item1">
 						<uni-data-select v-model="content.toEmps" placeholder="请选择移交人员" :clear="false"
 							:localdata="yjPeoList"></uni-data-select>
 					</u-form-item>
-					<u-form-item label="移交信息:" borderBottom ref="item1" >
+					<u-form-item label="移交信息:" borderBottom ref="item1">
 						<u--textarea v-model="content.yjMsg" placeholder="请输入移交信息" autoHeight
 							border="none"></u--textarea>
 					</u-form-item>
 				</u--form>
 			</view>
 		</u-modal>
+		<u-calendar placeholder="请选择日期" :show="show1" mode="single" allowSameDay @confirm="confirmOne"
+			@close="show1 = false"></u-calendar>
 	</view>
 </template>
 
@@ -269,6 +323,25 @@
 	export default {
 		data() {
 			return {
+				miji: null,
+				mijiList: [],
+				typeDate: null,
+				isEdit: false,
+				show1: false, //日历
+				deptList: [], //部门列表
+				userList: [], //人员列表
+				value: null,
+				peoShow: false,
+				listPic: [{
+					name: '拍照上传'
+				}, {
+					name: '从相册上传'
+				}],
+				showUpload: false,
+				uploadUrl: 'http://192.168.1.42:8087' + "/system/file/fileupload",
+				rowThis: {
+					ywFileList: []
+				},
 				current: 0,
 				content: null,
 				statusList: [],
@@ -298,24 +371,24 @@
 				//上个页面传过来的参数
 				parameter: null,
 				//已下载附件
-				list2:[],
-				list3:[],
+				list2: [],
+				list3: [],
 				//文件类型
-				wjType:[],
+				wjType: [],
 				//退回状态
-				backType:false,
+				backType: false,
 				//退回节点列表
-				backlist:[],
+				backlist: [],
 				//退回模态框
-				show:false,
+				show: false,
 				//移交模态框
-				yjType:false,
-				yjShow:false,
-				yjPeoList:[],
+				yjType: false,
+				yjShow: false,
+				yjPeoList: [],
 				//流转记录数量
-				lzNum:0,
+				lzNum: 0,
 				//当前节点id
-				nodeId:null
+				nodeId: null
 			}
 		},
 		onLoad(options) {
@@ -330,7 +403,7 @@
 				that.gdType = true
 				that.getgd()
 			}
-			if(options.nodeId == 308 || options.nodeId == 1208){
+			if (options.nodeId == 308 || options.nodeId == 1208) {
 				this.getYjPeo()
 			}
 			that.type = options.type
@@ -339,7 +412,12 @@
 			uni.setNavigationBarTitle({
 				title: options.title
 			})
-			
+			uni.$u.http.get('/jflow/restful/getSelfParas?workid=' + options.workid).then((res) => {
+				console.log('res', res)
+				if (res.data.SelfParas == "isEdit") {
+					this.isEdit = false;
+				}
+			})
 		},
 		onShow() {
 			uni.$once('query', (query) => {
@@ -355,6 +433,121 @@
 			})
 		},
 		methods: {
+
+			confirmOne() {
+
+			},
+			uploadPic() {
+				this.showUpload = true
+			},
+			typeChange(e) {
+				if (!this.isEdit) {
+					this.show1 = true
+					this.typeDate = e
+				}
+
+			},
+			downLoad(path) {
+				console.log('’', path)
+				uni.downloadFile({
+					url: path,
+					success: (res) => {
+						var filePath = res.tempFilePath;
+						uni.openDocument({
+							filePath: filePath,
+							showMenu: true,
+							success: function(res) {
+								console.log('打开文档成功');
+							}
+						});
+					}
+				})
+			},
+			delFile(itemFile) {
+				console.log('itemFILE', itemFile)
+				this.rowThis.ywFileList.splice(itemFile, 1)
+			},
+			selectClick(index) {
+				console.log(index)
+				let that = this
+				if (index.name == '拍照上传') {
+					uni.chooseImage({
+						count: 1, // 默认9,设置图片的数量
+						sourceType: ['camera'], // 可以指定来源是相册还是相机,默认二者都有
+						success: function(res) {
+							// 返回选定照片的本地文件路径列表 tempFilePaths
+							console.log(res.tempFilePaths);
+							const pathUrl = res.tempFilePaths[0]
+							uni.uploadFile({
+								url: 'http://61.240.156.161:28188/prod-api' +
+									"/system/file/fileupload",
+								filePath: pathUrl,
+								name: 'file',
+								header: {
+									Authorization: 'Bearer ' + uni.getStorageSync('token')
+								},
+								success: (response) => {
+									console.log('1111111111111111')
+									console.log('96+', response.data)
+									console.log(that.rowThis)
+									let dataFile = JSON.parse(response.data)
+									that.rowThis.ywFileList.push(dataFile.data)
+									// if (this.rowThis.ywFileList.length != 0) {
+									// 	for (let i = 0; i < this.rowThis.ywFileList.length; i++) {
+									// 		if (this.rowThis.ywFileList[i].response != undefined) {
+									// 			this.dataSubmit.ywFileList.push(
+									// 				this.rowThis.ywFileList[i].response.data
+									// 			);
+									// 		} else {
+									// 			this.dataSubmit.ywFileList.push(this.rowThis
+									// 				.ywFileList[i]);
+									// 		}
+									// 	}
+									// }
+									// this.dataSubmit.ywFileList.push()
+								},
+								fail: (response) => {
+									console.log('fail', response)
+								}
+							})
+						}
+					});
+				} else if (index.name == '从相册上传') {
+					console.log('586', this.rowThis)
+					uni.chooseImage({
+						count: 1, // 默认9,设置图片的数量
+						sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
+						sourceType: ['album'], // 可以指定来源是相册还是相机,默认二者都有
+						success: function(res) {
+							// 返回选定照片的本地文件路径列表 tempFilePaths
+							console.log(res);
+							const pathUrl = res.tempFilePaths[0]
+							uni.uploadFile({
+								url: 'http://61.240.156.161:28188/prod-api' +
+									"/system/file/fileupload",
+								filePath: pathUrl,
+								name: 'file',
+								header: {
+									Authorization: 'Bearer ' + uni.getStorageSync('token')
+								},
+								success: (response) => {
+									console.log('1111111111111111')
+									console.log('96+', response.data)
+									console.log(that.rowThis)
+									let dataFile = JSON.parse(response.data)
+									that.rowThis.ywFileList.push(dataFile.data)
+									console.log('that.rowThis.ywFileList', that.rowThis.ywFileList)
+
+								},
+								fail: (response) => {
+									console.log('fail', response)
+								}
+							})
+						}
+					});
+				}
+				this.showUpload = false
+			},
 			click(e) {
 				this.current = e.index
 			},
@@ -362,6 +555,7 @@
 			getContent(id) {
 				uni.$u.http.get('/offcial/receive/sel/' + id).then(res => {
 					this.content = res.data
+					console.log(this.content.feedbackFileList)
 					this.content.workid = id
 					if (this.gdType == true) {
 						this.content.typeId = null //归档分类
@@ -372,12 +566,12 @@
 						this.content.name = res.data.title //档案名称
 						this.content.gdtype = null //分类名称
 					}
-					if(this.type==0){
+					if (this.type == 0) {
 						this.isOver(this.parameter)
 						this.getBackNo(this.parameter.nodeId)
-						
+
 					}
-					if(this.parameter.nodeId == 308 || this.parameter.nodeId == 1208){
+					if (this.parameter.nodeId == 308 || this.parameter.nodeId == 1208) {
 						this.content.toEmps = null //移交人员
 						// this.content.toEmpsPeo = null //移交人员
 						this.content.yjMsg = null //移交信息
@@ -388,25 +582,59 @@
 							this.content.status = item.dictLabel
 						}
 					})
-					this.wjType.forEach(item=>{
+					this.wjType.forEach(item => {
 						if (item.dictValue == res.data.receiveType) {
 							this.content.wjtype = item.dictLabel
 						}
 					})
+					this.mijiList.forEach(item => {
+						if (item.dictValue == res.data.degree) {
+							this.content.miji = item.dictLabel
+						}
+					})
 				})
 			},
 			// 查询字典数据详细  紧急程度
 			getDicts() {
 				uni.$u.http.get('/system/dict/data/type/urgent_type').then(res => {
+					// this.statusList = res.data.map((item, index) => {
+					// 	let obj = {
+					// 		value: item.dictValue,
+					// 		id: item.dictValue,
+					// 		text: item.dictLabel
+					// 	}
+					// 	return obj
+					// })
 					this.statusList = res.data
 				})
 			},
 			// 查询字典数据详细  文件类型
 			getWjType() {
 				uni.$u.http.get('/system/dict/data/type/sw_open_type').then(res => {
+					// this.wjType = res.data.map((item, index) => {
+					// 	let obj = {
+					// 		value: item.dictValue,
+					// 		id: item.dictValue,
+					// 		text: item.dictLabel
+					// 	}
+					// 	return obj
+					// })
 					this.wjType = res.data
 				})
 			},
+			getmiJi() {
+				uni.$u.http.get('/system/dict/data/type/archive_levels').then(res => {
+					// this.mijiList = res.data.map((item, index) => {
+					// 	let obj = {
+					// 		value: item.dictValue,
+					// 		id: item.dictValue,
+					// 		text: item.dictLabel
+					// 	}
+					// 	return obj
+					// })
+					this.mijiList = res.data
+				})
+			},
 			//查询归档字典  秘籍
 			getgd() {
 				uni.$u.http.get('/system/dict/data/type/archive_levels').then(res => {
@@ -430,11 +658,11 @@
 				}).then(res => {
 					// console.log(res)
 					this.record = res.trackList
-					for(let i in res.trackList){
-						if(res.trackList[i].ActionType !== '28'){
-							if(res.trackList[i].ActionType22 != undefined){
-								this.lzNum = this.lzNum+res.trackList[i].ActionType22.length
-							}else{
+					for (let i in res.trackList) {
+						if (res.trackList[i].ActionType !== '28') {
+							if (res.trackList[i].ActionType22 != undefined) {
+								this.lzNum = this.lzNum + res.trackList[i].ActionType22.length
+							} else {
 								this.lzNum = this.lzNum + 1
 							}
 						}
@@ -479,7 +707,7 @@
 						}
 						return obj
 					})
-					
+
 				})
 			},
 			//节点选择
@@ -524,7 +752,9 @@
 						this.overType = true
 					} else {
 						this.overType = false
-						this.jdList(v.workid, v.flowNo)
+						if (this.nodeId != '308') {
+							this.jdList(v.workid, v.flowNo)
+						}
 					}
 				})
 			},
@@ -550,6 +780,13 @@
 						title: "提交中...",
 						mask: true
 					})
+					this.content.feedbackFileList.push({
+						fileId: this.rowThis.ywFileList.fileId,
+						userName: this.rowThis.ywFileList.createBy,
+					})
+					uni.$u.http.put('/offcial/receive', this.content).then((res) => {
+						console.log(res)
+					})
 					uni.$u.http.post("/offcial/receive/sendFlowToUsers", this.content, {
 						header: {
 							// 'content-Type: 'multipart/form-data'
@@ -563,24 +800,24 @@
 									.data.VarAcceptersName,
 								icon: "none",
 								mask: true,
-								duration:2000
+								duration: 2000
 							})
 						} else if (res.data.VarAcceptersName == "结束") {
 							uni.showToast({
 								title: res.data.Message,
 								icon: "none",
 								mask: true,
-								duration:2000
+								duration: 2000
 							})
 						} else {
 							uni.showToast({
 								title: res.data.Message.replace(/[@]/g, ""),
 								icon: "none",
 								mask: true,
-								duration:2000
+								duration: 2000
 							})
 						}
-						
+
 						uni.$emit('query', {
 							a: 'back'
 						})
@@ -610,7 +847,7 @@
 						title: "请选择归档分类",
 						icon: "none"
 					})
-				} else if (this.content.printNum == null || this.content.printNum<1 || this.content.printNum % 1 != 0) {
+				} else if (this.content.printNum == null || this.content.printNum < 1 || this.content.printNum % 1 != 0) {
 					uni.showToast({
 						title: "请填写打印份数",
 						icon: "none"
@@ -634,7 +871,7 @@
 								title: "归档成功",
 								icon: "none",
 								mask: true,
-								duration:2000
+								duration: 2000
 							})
 							uni.$emit('query', {
 								a: 'back'
@@ -649,10 +886,10 @@
 				}
 			},
 			//下载附件
-			downLoad(v){
+			downLoad(v) {
 				let that = this
 				uni.navigateTo({
-					url:"/pages/office/office?url="+getApp().globalData.saveUrl+v
+					url: "/pages/office/office?url=" + getApp().globalData.saveUrl + v
 				})
 				// uni.showLoading({
 				// 	title:"打开中...",
@@ -695,9 +932,9 @@
 				// }
 			},
 			//查询是否能退回
-			getBackNo(id){
-				uni.$u.http.get("/jflow/restful/CurrNodeInfo?currNodeID="+id).then(res=>{
-					if(res[0].ReturnRole != 0){
+			getBackNo(id) {
+				uni.$u.http.get("/jflow/restful/CurrNodeInfo?currNodeID=" + id).then(res => {
+					if (res[0].ReturnRole != 0) {
 						this.getBackList()
 						this.backType = true
 						this.content.returnToNodeID = null
@@ -706,13 +943,13 @@
 				})
 			},
 			//获取退回节点列表
-			getBackList(){
-				uni.$u.http.get("/jflow/restful/getReturnWorkNode",{
-					params:{
+			getBackList() {
+				uni.$u.http.get("/jflow/restful/getReturnWorkNode", {
+					params: {
 						workid: this.parameter.workid,
 						token: uni.getStorageSync('jtoken')
 					}
-				}).then(res=>{
+				}).then(res => {
 					this.backlist = res.map((item, index) => {
 						let obj = {
 							value: item.No,
@@ -724,34 +961,34 @@
 				})
 			},
 			//退回上一节点
-			back(){
-				if(this.content.returnToNodeID == null){
+			back() {
+				if (this.content.returnToNodeID == null) {
 					uni.showToast({
-						title:"请选择退回节点",
-						icon:"none"
+						title: "请选择退回节点",
+						icon: "none"
 					})
-				}else if(this.content.backMsg == null){
+				} else if (this.content.backMsg == null) {
 					uni.showToast({
-						title:"请填写退回意见",
-						icon:"none"
+						title: "请填写退回意见",
+						icon: "none"
 					})
-				}else{
+				} else {
 					uni.showLoading({
-						title:"退回中...",
+						title: "退回中...",
 					})
-					uni.$u.http.get("/offcial/receive/NodeReturnWork",{
-						params:{
+					uni.$u.http.get("/offcial/receive/NodeReturnWork", {
+						params: {
 							workid: this.parameter.workid,
 							returnToNodeID: this.content.returnToNodeID,
-							returnMsg:this.content.backMsg
+							returnMsg: this.content.backMsg
 						}
-					}).then(res=>{
+					}).then(res => {
 						uni.hideLoading()
 						this.close()
 						uni.showToast({
-							title:res,
-							icon:"none",
-							duration:2000
+							title: res,
+							icon: "none",
+							duration: 2000
 						})
 						uni.$emit('query', {
 							a: 'back'
@@ -759,64 +996,64 @@
 						setTimeout(() => {
 							uni.navigateBack()
 						}, 2000)
-					}).catch(error=>{
+					}).catch(error => {
 						uni.hideLoading()
 						uni.showToast({
-							title:"请稍后重试",
-							icon:"none"
+							title: "请稍后重试",
+							icon: "none"
 						})
 					})
 				}
-				
+
 			},
 			//关闭模态框
-			close(){
+			close() {
 				this.content.returnToNodeID = null
 				this.content.backMsg = null
 				this.show = false
 			},
 			//关闭模态框
-			close1(){
+			close1() {
 				this.content.toEmps = null
 				this.content.yjMsg = null
 				this.yjShow = false
 			},
 			//移交
-			yijiao(){
-				if(this.content.toEmps == null){
+			yijiao() {
+				if (this.content.toEmps == null) {
 					uni.showToast({
-						title:"请选择移交人员",
-						icon:"none"
+						title: "请选择移交人员",
+						icon: "none"
 					})
-				}else if(this.content.yjMsg == null){
+				} else if (this.content.yjMsg == null) {
 					uni.showToast({
-						title:"请填写移交信息",
-						icon:"none"
+						title: "请填写移交信息",
+						icon: "none"
 					})
-				}else{
+				} else {
 					uni.showLoading({
-						title:"移交中...",
+						title: "移交中...",
 					})
-					uni.$u.http.get("/jflow/restful/Node_Shift",{
-						params:{
+					uni.$u.http.get("/jflow/restful/Node_Shift", {
+						params: {
 							workid: this.parameter.workid,
 							toEmps: this.content.toEmps,
-							msg:this.content.yjMsg
+							msg: this.content.yjMsg
 						}
-					}).then(res=>{
+					}).then(res => {
 						uni.hideLoading()
-						if(res.msg.indexOf('err') != -1){
+						if (res.msg.indexOf('err') != -1) {
 							uni.showToast({
-								title:res.msg,
-								icon:"none",
-								duration:2000
+								title: res.msg,
+								icon: "none",
+								duration: 2000
 							})
-						}else{
+						} else {
 							this.close1()
 							uni.showToast({
-								title:res.msg.split('@')[0],
-								icon:"none",
-								duration:2000
+								title: res.msg.split('@')[0],
+								icon: "none",
+								duration: 2000
 							})
 							uni.$emit('query', {
 								a: 'back'
@@ -825,20 +1062,20 @@
 								uni.navigateBack()
 							}, 2000)
 						}
-						
-					}).catch(error=>{
+
+					}).catch(error => {
 						uni.hideLoading()
 						uni.showToast({
-							title:error.msg.split('@')[1],
-							icon:"none"
+							title: error.msg.split('@')[1],
+							icon: "none"
 						})
 					})
 				}
-				
+
 			},
 			//查询移交人员
-			getYjPeo(){
-				uni.$u.http.get('/jflow/restful/selectDpPersons').then(res=>{
+			getYjPeo() {
+				uni.$u.http.get('/jflow/restful/selectDpPersons').then(res => {
 					console.log(res)
 					this.yjPeoList = res.Emps.map((item, index) => {
 						let obj = {
@@ -872,10 +1109,12 @@
 	.active {
 		color: #2979ff
 	}
-	::v-deep .u-modal{
-		overflow:visible ;
+
+	::v-deep .u-modal {
+		overflow: visible;
 	}
-	::v-deep .u-popup__content{
+
+	::v-deep .u-popup__content {
 		overflow: visible !important;
 	}
 </style>

+ 276 - 19
pages/workInfo/workInfo.vue

@@ -186,7 +186,8 @@
 								<u--input v-model="content.createBy" border="none" readonly></u--input>
 							</u-form-item>
 							<u-form-item label="用章处室:" borderBottom prop="useDept" ref="item1">
-								<u--input v-model="content.useDept" placeholder="请输入用章处室" border="none"></u--input>
+								<u--input v-model="content.useDept" readonly placeholder="请输入用章处室"
+									border="none"></u--input>
 							</u-form-item>
 							<u-form-item label="用章日期:" borderBottom prop="useTime" @click="typeChange('yongzhang')">
 								<view>
@@ -194,21 +195,71 @@
 								</view>
 							</u-form-item>
 							<u-form-item label="印章类别:" borderBottom prop="signetType">
-								<uni-data-select v-model="content.signetType" :clear="false" placeholder="请选择印章类别"
-									:localdata="yongzhangList"></uni-data-select>
+								<uni-data-select :disabled="this.nodeId!='1701'" v-model="content.signetType"
+									:clear="false" placeholder="请选择印章类别" :localdata="yongzhangList"></uni-data-select>
 							</u-form-item>
 							<u-form-item label="用章事由:" borderBottom prop="usingReason" ref="item1">
-								<u--textarea disabled type="textarea" v-model="content.usingReason"
-									placeholder="请输入用章事由" border="none"></u--textarea>
+								<u--textarea :disabled="this.nodeId!='1701'" type="textarea"
+									v-model="content.usingReason" placeholder="请输入用章事由" border="none"></u--textarea>
 							</u-form-item>
 							<u-form-item label="主送单位:" borderBottom prop="activeSend" ref="item1">
-								<u--textarea disabled type="textarea" v-model="content.activeSend" placeholder="请输入主送单位"
-									border="none"></u--textarea>
+								<u--textarea :disabled="this.nodeId!='1701'" type="textarea"
+									v-model="content.activeSend" placeholder="请输入主送单位" border="none"></u--textarea>
+							</u-form-item>
+							<u-form-item label="上传附件:" borderBottom prop="" ref="">
+								<view v-if="this.nodeId=='1701'" class="example-body">
+									<u-button style="width:380rpx" type="primary" @click="uploadPic()">上传</u-button>
+									<!-- 展示 -->
+									<div style="display: inline;">
+										<view style="margin-bottom: 30rpx;display: flex;margin-top: 4rpx;"
+											v-for="v in rowThis.ywFileList" :key="v.fileId">
+											<u-icon style="margin-top: 4rpx;color: #2979FF;"
+												name="attach"></u-icon><u--text :lines="1" size="14" color="#2979FF"
+												decoration="underline" :text="v.name"
+												@click="downLoad(v)">{{v.name}}</u--text><u-icon @click="delFile(v)"
+												style="margin-top: 0rpx;" name="close"></u-icon>
+										</view>
+									</div>
+								</view>
+
+								<view v-else
+									style="border-radius: 8rpx;background-color: #f3f3f3;margin-top: 40rpx;padding: 20rpx 40rpx;">
+									<view style="margin-bottom: 30rpx;" v-for="v in rowThis.ywFileList" :key="v.fileId">
+										<u--text :lines="1" size="15" color="#2979FF" decoration="underline"
+											:text="v.name" @click="downLoad(v)">{{v.name}}</u--text>
+									</view>
+								</view>
+
+								<u-action-sheet @select="selectClick" :actions="listPic" :closeOnClickOverlay="true"
+									:closeOnClickAction="true" title="请选择" :show="showUpload"></u-action-sheet>
 							</u-form-item>
 							<u-form-item label="盖章份数:" borderBottom prop="signetCopies" ref="item1">
-								<u--input readonly type="textarea" v-model="content.signetCopies" placeholder="请输入盖章份数"
-									border="none"></u--input>
+								<u--input :readonly="this.nodeId!='1701'" type="number" v-model="content.signetCopies"
+									placeholder="请输入盖章份数" border="none"></u--input>
 							</u-form-item>
+							<u-form-item v-if="this.nodeId=='1701'" label="接收人:" borderBottom prop="toEmpsName"
+								@click="peoShow = true">
+								<view>
+									{{content.toEmpsName}}
+								</view>
+
+							</u-form-item>
+							<u-modal :show="peoShow" title="选择接收人" showCancelButton @cancel="cancel" @confirm="queren">
+								<view style="width: 100%;height: 40vh;overflow: auto;" v-if="peoShow == true">
+									<u-radio-group v-model="value" @change="radioChange" iconPlacement="right">
+										<u-collapse accordion style="width: 100%;">
+											<u-collapse-item :title="v.Name" :name="v.No" :key="v.No"
+												v-for="v in deptList" style="width: 100%;">
+												<view
+													style="font-size: 32rpx; padding: 20rpx 0; border-bottom: 1px solid #eaeaea;"
+													v-for=" i in userList" :key="i.NO" v-if="i.FK_Dept == v.No">
+													<u-radio :label="i.Name" :name="i"></u-radio>
+												</view>
+											</u-collapse-item>
+										</u-collapse>
+									</u-radio-group>
+								</view>
+							</u-modal>
 						</view>
 						<view v-if="fkFlow == '018'">
 							<u-form-item label="用章人:" borderBottom ref="item1">
@@ -283,16 +334,17 @@
 
 						</view>
 						<view v-if="type==0" style="padding-bottom: 40rpx;">
-							<u-form-item label="下一节点:" borderBottom ref="item1" v-if="overType==false">
+							<u-form-item label="下一节点:" borderBottom ref="item1"
+								v-if="overType==false&&this.nodeId!='1701'">
 								<uni-data-select v-model="content.jdindex" :clear="false" placeholder="请选择下一节点"
 									:localdata="list" @change="change"></uni-data-select>
 							</u-form-item>
-							<u-form-item label="下发人员:" borderBottom v-if="DeliveryWay==4" ref="item1"
-								@click="choosePeo">
+							<!-- <u-form-item label="下发人员:" borderBottom v-if="DeliveryWay==4&&this.nodeId!='1701'"
+								ref="item1" @click="choosePeo">
 								<view :style="{color:content.users==null?'rgb(192, 196, 204)':''}">
 									{{content.users==null?'请选择人员': content.userList}}
 								</view>
-							</u-form-item>
+							</u-form-item> -->
 
 							<u-form-item label="进展情况:" borderBottom ref="item1" v-if="jinzhan">
 								<u--textarea v-model="content.progress" placeholder="请输入进展情况"
@@ -303,7 +355,7 @@
 								<uni-data-select v-model="content.progressEva" :clear="false" placeholder="请选择进度评价"
 									:localdata="progress_eva"></uni-data-select>
 							</u-form-item>
-							<view v-if='!jinzhan' class="">
+							<view v-if="!jinzhan&&this.nodeId!='1701'" class="">
 								<u-form-item label="审批意见:" borderBottom ref="item1" v-if="gdType == false">
 									<u--textarea v-model="content.reviewMsg" placeholder="请输入审批意见" autoHeight
 										border="none"></u--textarea>
@@ -328,7 +380,7 @@
 
 							<u-button type="error" text="退回" @click="show = true"
 								style="width: calc(100vw - 40rpx);margin-top: 40rpx;"
-								v-if="backType == true"></u-button>
+								v-if="backType == true&&this.nodeId!='1701'&&this.nodeId!='1705'"></u-button>
 							<view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;" v-if="showBack">
 								<u-button type="warning" text="拒绝" @click="turnDown"></u-button>
 							</view>
@@ -386,6 +438,7 @@
 							</u-steps>
 						</view>
 					</u--form>
+
 				</view>
 
 			</swiper-item>
@@ -483,6 +536,21 @@
 	export default {
 		data() {
 			return {
+				deptList: [], //部门列表
+				userList: [], //人员列表
+				value: null,
+				peoShow: false,
+				listPic: [{
+					name: '拍照上传'
+				}, {
+					name: '从相册上传'
+				}],
+				showUpload: false,
+				uploadUrl: 'http://192.168.1.42:8087' + "/system/file/fileupload",
+				rowThis: {
+					ywFileList: []
+				},
+				yongzhangList: [],
 				showDate: false,
 				InfoList: [],
 				infoSourceContent: '',
@@ -530,7 +598,8 @@
 				jinzhan: false,
 				lzNum: 0,
 				nodeId: null,
-				YorN: '1'
+				YorN: '1',
+				caozuo: true
 			}
 		},
 		onLoad(options) {
@@ -546,6 +615,10 @@
 			}
 			that.type = options.type
 			that.nodeId = options.nodeId
+			if (options.nodeId == '1701') {
+				this.caozuo = false
+				this.getPeoList(options.fkFlow)
+			}
 			if (options.fkFlow == '020') {
 				this.showBack = true
 				that.nodeId = options.nodeId
@@ -623,7 +696,169 @@
 				}
 			})
 		},
+
 		methods: {
+			radioChange(e) {
+				console.log(e)
+
+			},
+			queren() {
+				let that = this
+				console.log('‘value,', that.content.params)
+				that.content.users = that.value.NO
+				that.content.toEmpsName = that.value.Name
+				that.peoShow = false
+			},
+			checkboxChange(newValues) {
+				// let selectedCount = newValues.filter(value => value).length;
+				// if (selectedCount > 2) {
+				// 	// 如果选中项超过两个,取消最早选中的复选框
+				// 	let earliestSelectedIndex = newValues.findIndex(value => value);
+				// 	newValues[earliestSelectedIndex] = false;
+				// 	uni.showToast({
+				// 		title: "只能选择两位带班领导",
+				// 		icon: "none",
+				// 		mask: true,
+				// 		duration: 1000
+				// 	})
+				// }
+				this.value1 = newValues;
+				this.content.params.toEmps = newValues.join(',')
+				let arr = []
+				this.userList.forEach(res => {
+					newValues.forEach(res1 => {
+						console.log(res.NO, res1)
+						if (res.NO == res1) {
+							arr.push(res.Name)
+						}
+					})
+				})
+				this.content.toEmpsName = arr.join(',')
+			},
+			//获取接收人信息
+			getPeoList(v) {
+				uni.$u.http.get(`/jflow/restful/GenerNextStepNodeEmpsNoWorkId?flowNo=${v}&toNodeID=1703`).then(res => {
+					this.deptList = res.Depts
+					this.userList = res.Emps
+					console.log(this.deptList)
+					console.log(this.userList)
+				})
+			},
+			uploadPic() {
+				if (this.rowThis.ywFileList.length == 0) {
+					this.showUpload = true
+				} else {
+					uni.showToast({
+						title: '最多上传一张',
+						icon: 'none'
+					})
+					return
+				}
+			},
+			downLoad(v) {
+				console.log('’15252', v)
+				uni.navigateTo({
+					url: "/pages/office/office?url=" + getApp().globalData.saveUrl + v.path
+				})
+				// uni.downloadFile({
+				// 	url: path,
+				// 	success: (res) => {
+				// 		var filePath = res.tempFilePath;
+				// 		uni.openDocument({
+				// 			filePath: filePath,
+				// 			showMenu: true,
+				// 			success: function(res) {
+				// 				console.log('打开文档成功');
+				// 			}
+				// 		});
+				// 	}
+				// })
+			},
+			delFile(itemFile) {
+				console.log('itemFILE', itemFile)
+				this.rowThis.ywFileList.splice(itemFile, 1)
+			},
+			selectClick(index) {
+				console.log(index)
+				let that = this
+				if (index.name == '拍照上传') {
+					uni.chooseImage({
+						count: 1, // 默认9,设置图片的数量
+						sourceType: ['camera'], // 可以指定来源是相册还是相机,默认二者都有
+						success: function(res) {
+							// 返回选定照片的本地文件路径列表 tempFilePaths
+							console.log(res.tempFilePaths);
+							const pathUrl = res.tempFilePaths[0]
+							uni.uploadFile({
+								url: 'http://61.240.156.161:28188/prod-api' +
+									"/system/file/fileupload",
+								filePath: pathUrl,
+								name: 'file',
+								header: {
+									Authorization: 'Bearer ' + uni.getStorageSync('token')
+								},
+								success: (response) => {
+									console.log('1111111111111111')
+									console.log('96+', response.data)
+									console.log(that.rowThis)
+									let dataFile = JSON.parse(response.data)
+									that.rowThis.ywFileList.push(dataFile.data)
+									// if (this.rowThis.ywFileList.length != 0) {
+									// 	for (let i = 0; i < this.rowThis.ywFileList.length; i++) {
+									// 		if (this.rowThis.ywFileList[i].response != undefined) {
+									// 			this.dataSubmit.ywFileList.push(
+									// 				this.rowThis.ywFileList[i].response.data
+									// 			);
+									// 		} else {
+									// 			this.dataSubmit.ywFileList.push(this.rowThis
+									// 				.ywFileList[i]);
+									// 		}
+									// 	}
+									// }
+									// this.dataSubmit.ywFileList.push()
+								},
+								fail: (response) => {
+									console.log('fail', response)
+								}
+							})
+						}
+					});
+				} else if (index.name == '从相册上传') {
+					console.log('586', this.rowThis)
+					uni.chooseImage({
+						count: 1, // 默认9,设置图片的数量
+						sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
+						sourceType: ['album'], // 可以指定来源是相册还是相机,默认二者都有
+						success: function(res) {
+							// 返回选定照片的本地文件路径列表 tempFilePaths
+							console.log(res);
+							const pathUrl = res.tempFilePaths[0]
+							uni.uploadFile({
+								url: 'http://61.240.156.161:28188/prod-api' +
+									"/system/file/fileupload",
+								filePath: pathUrl,
+								name: 'file',
+								header: {
+									Authorization: 'Bearer ' + uni.getStorageSync('token')
+								},
+								success: (response) => {
+									console.log('1111111111111111')
+									console.log('96+', response.data)
+									console.log(that.rowThis)
+									let dataFile = JSON.parse(response.data)
+									that.rowThis.ywFileList.push(dataFile.data)
+									console.log('that.rowThis.ywFileList', that.rowThis.ywFileList)
+
+								},
+								fail: (response) => {
+									console.log('fail', response)
+								}
+							})
+						}
+					});
+				}
+				this.showUpload = false
+			},
 			infoSourceChange(val) {
 				console.log("db_template", this.db_template);
 				console.log('val', val);
@@ -639,8 +874,11 @@
 				this.showDate = false
 			},
 			typeChange(e) {
-				this.showDate = true
-				this.typeDate = e
+				if (this.nodeId == '1701') {
+					this.showDate = true
+					this.typeDate = e
+				}
+
 			},
 			// 信息来源
 			getDictsInfo() {
@@ -770,7 +1008,7 @@
 				console.log(id)
 				if (this.fkFlow == '006') {
 					uni.$u.http.get('/system/work/sel/' + id).then(res => {
-						// console.log(res)
+						console.log(res)
 						this.content = res.data
 						this.content.workid = this.workid
 						if (this.gdType == true) {
@@ -860,6 +1098,8 @@
 				} else if (this.fkFlow == '017' || this.fkFlow == '018') {
 					uni.$u.http.get('/offcial/seal/sel/' + id).then(res => {
 						this.content = res.data
+						console.log('‘,', this.content)
+						this.rowThis.ywFileList.push(this.content.fuJianFile)
 						this.content.workid = this.workid
 						if (this.gdType == true) {
 							this.content.typeId = null //归档分类
@@ -1192,6 +1432,23 @@
 							})
 						})
 					} else {
+						if (this.nodeId == '1701') {
+							if (this.content.users == null || this.content.users == undefined || this
+								.content.users == '') {
+								uni.showToast({
+									title: "请选择接收人",
+									icon: "none"
+								})
+								uni.hideLoading()
+								return
+							} else {
+								this.content.fileId = this.rowThis.ywFileList[0].fileId
+								uni.$u.http.put('/offcial/seal', this.content).then((res) => {
+									console.log(res)
+								})
+							}
+
+						}
 						uni.$u.http.post("/offcial/receive/sendFlowToUsers", this.content, {
 							header: {
 								// 'content-Type: 'multipart/form-data'

+ 4 - 2
utils/request/index.js

@@ -1,12 +1,14 @@
 // 根域名
 // var baseUrl = 'http://121.28.24.104:13898/app/';
 // var baseUrl = 'http://192.168.1.59:8080';
-var baseUrl = 'http://192.168.1.42:8080';
-// var baseUrl = 'http://192.168.1.220:8080';
+// var baseUrl = 'http://192.168.1.42:8070';
+var baseUrl = 'http://61.240.156.161:28188/prod-api/';
 module.exports = (vm) => {
 	// 初始化请求配置:config 为默认全局配置
 	uni.$u.http.setConfig((config) => {
 		config.baseURL = baseUrl; /* 根域名 */
+
+
 		// 配置请求头信息
 		config.header = {
 			// 'content-type': 'application/x-www-form-urlencoded;charset=UTF-8',