zouling 1 năm trước cách đây
mục cha
commit
91e231b924

+ 16 - 1
api/mine/case.js

@@ -30,7 +30,7 @@ export function getCaseEditFn(data) {
 	'data':data
   })
 }
-// 提案信息-删除 proposalInfo:info:query
+// 提案信息-删除 proposalInfo:info:remove
 export function getCasDelFn(data) {
   return request({
     'url': '/proposalInfo/info/delete/'+data,
@@ -77,6 +77,14 @@ export function getInfoReplyFn(data) {
 	'data':data
   })
 }
+// 承办单位答复委员proposalInfo:info:cbdwdfwy
+export function getInfoReplywyFn(data) {
+  return request({
+    'url': '/proposalInfo/info/cbdwdfwy',
+    'method': 'post',
+	'data':data
+  })
+}
 // 办结审核proposalInfo:info:assignsh
 export function getInfoShFn(data) {
   return request({
@@ -165,4 +173,11 @@ export function geturgeDetailFn(data) {
     'url': '/zxUrge/urge/'+data,
     'method': 'get',
   })
+}
+//催办列表proposalInfo:info:tacbList
+export function gettacbListFn(data) {
+  return request({
+    'url': '/proposalInfo/info/tacbList',
+    'method': 'get',
+  })
 }

+ 16 - 0
api/mine/sqmyInfo.js

@@ -77,6 +77,14 @@ export function getsqmyReplyFn(data) {
 	'data':data
   })
 }
+// 承办单位答复委员sqmyInfo:info:cbdwdfwy
+export function getsqmyInfoReplywyFn(data) {
+  return request({
+    'url': '/sqmyInfo/info/cbdwdfwy',
+    'method': 'post',
+	'data':data
+  })
+}
 // 办结审核sqmyInfo:info:assignsh
 export function getsqmyInfoShFn(data) {
   return request({
@@ -150,4 +158,12 @@ export function getInfourgeFn(data) {
     'method': 'post',
 	'data':data
   })
+}
+//催办sqmyInfo:info:sqmycbList
+export function getsqmyInfocbListFn(data) {
+  return request({
+    'url': '/sqmyInfo/info/sqmycbList',
+    'method': 'get',
+	'data':data
+  })
 }

+ 12 - 5
pages/index/index.vue

@@ -6,7 +6,7 @@
 					<block slot="left">
 						<image :src="titimg" class="topl"></image>
 					</block>
-					<block slot="right">
+					<block slot="right" v-if="checkPermi(['zxNotice:notice:list'])">
 						<view class="topr">
 							<image :src="noticeimg"></image>
 							<view class="cir"></view>
@@ -44,7 +44,10 @@
 				</view>
 				<view class="hbox">
 					<!-- 通知栏 -->
-					<h-notice></h-notice>
+					<block v-if="checkPermi(['zxNotice:notice:list'])">
+						<h-notice></h-notice>
+					</block>
+					
 					<!-- 入口 -->
 					<view class="mt22">
 						<view class="htit">快捷入口</view>
@@ -59,7 +62,7 @@
 									<image :src="hrimga" class="flex0 imga"></image>
 								</view>
 							</view>
-							<view class="htbox" @click="getsqmyInfoFn" v-if="checkPermi(['sqmyInfo:info:list'])">
+							<view class="htbox" @click="getsqmyInfoFn">
 								<image :src="hrbgb" class="hrbg"></image>
 								<view class="htboxa flexc">
 									<view class="flex1 mr10">
@@ -206,7 +209,9 @@
 		
 		this.init()
 		this.getDataFn()
-		this.getNoticeList()
+		if(checkPermi(['zxNotice:notice:list'])){
+			this.getNoticeList()
+		}
 		uni.getSystemInfo({
 			success: (e) => {
 				this.nvaHeight = Number(e.statusBarHeight)+44;
@@ -235,7 +240,9 @@
 	methods:{
 		checkPermi, checkRole,
 		getNewsFn(){
-			this.$tab.navigateTo('/work/pages/news/list')
+			if(checkPermi(['zxNotice:notice:list'])){
+				this.$tab.navigateTo('/work/pages/news/list')
+			}
 		},
 		getMoreFn(){
 			if (this.reachflag) {

+ 2 - 0
store/modules/user.js

@@ -131,6 +131,7 @@ const user = {
           const userId = (user == null || user.userId == "" || user.userId == null) ? "" : user.userId
           const deptName = (user == null ||user.dept==null|| user.dept == ""||user.dept.deptName == "" || user.dept.deptName == null) ? "" : user.dept.deptName
           const memberInfo = res.memberInfo == null  ? "" : res.memberInfo
+		  // const isMember=res.isMember;
 		  if (res.roles && res.roles.length > 0) {
             commit('SET_ROLES', res.roles)
             commit('SET_PERMISSIONS', res.permissions)
@@ -138,6 +139,7 @@ const user = {
             commit('SET_ROLES', ['ROLE_DEFAULT'])
           }
           commit('SET_NAME', username)
+          // commit('SET_ISMEMBER', isMember)
           commit('SET_AVATAR', avatar)
 		  commit('SET_PHONENUMBER', phonenumber)
 		  commit('SET_DEPID', deptId)

+ 48 - 38
work/components/case/list.vue

@@ -11,9 +11,10 @@
 						<text>提案者</text>
 						<view>{{ite.proposalName}}</view>
 					</view>
-					<view class="ftxt" v-if="type=='lmta'||type=='tjyx'||type=='tjzd'||type=='lmta'||type=='gkta'">
+					<!-- v-if="type=='lmta'||type=='tjyx'||type=='tjzd'||type=='gkta'" -->
+					<view class="ftxt" v-if="ite.proposalNumber">
 						<text>案号</text>
-						<view>{{ite.proposalType}}</view>
+						<view>{{ite.proposalNumber}}</view>
 					</view>
 					<view class="ftxt" v-if="type=='tasc'||type=='tajb'||type=='tabl'||type=='bjsh'||type=='tacb'">
 						<text>提案类型</text>
@@ -39,18 +40,19 @@
 					</view>
 				</block>
 				
-				<!-- 委员反馈 提案办理 -->
+				<!-- 提案办理  回复单位-->
 				<view class="casebtn flexc" v-if="type=='tabl'">
-					<view class="ftit">办理状态<text>待反馈</text></view>
-					<view class="btn btn3" v-if="ite.satisfaction">已反馈</view>
-					<view class="btn btn2" v-else>反馈意见</view>
+					<view class="ftit">办理状态<text>{{ite.isReply==0&&ite.proposalProgress!=6&&ite.proposalProgress!=7?'已反馈':'待反馈'}}</text></view>
+					<view class="btn btn3" v-if="ite.isReply==0&&ite.proposalProgress!=6&&ite.proposalProgress!=7">已反馈</view>
+					<view class="btn btn2" v-if="checkPermi(['proposal:unit:reply'])&&(ite.isReply!=0||ite.proposalProgress==6)&&ite.proposalProgress!=3&&ite.proposalProgress!=7" @click.stop="getTuiFn(ite,'dffk')">反馈意见</view>
+					<view class="btn btn2" v-if="checkPermi(['proposal:unit:reply'])&&(ite.isReply!=0||ite.proposalProgress==7)&&(ite.proposalProgress==3||ite.proposalProgress==7)" @click.stop="getTuiFn(ite,'dwdf')">反馈意见</view>
 				</view>
 				<!-- 提案审查 -->
 				<view class="casebtn flexc" v-if="type=='tasc'">
 					<block v-if="!ite.isRecord">
 						<view class="lftit">该提案暂未审查立案</view>
-						<view class="btn btn1" @click.stop="getTuiFn(ite,'scfk','1')">不予立案</view>
-						<view class="btn btn2" @click.stop="getTuiFn(ite,'scfk','0')">立案</view>
+						<view class="btn btn1" v-if="checkPermi(['proposalInfo:info:isRecord'])" @click.stop="getTuiFn(ite,'scfk','1')">不予立案</view>
+						<view class="btn btn2" v-if="checkPermi(['proposalInfo:info:isRecord'])" @click.stop="getTuiFn(ite,'scfk','0')">立案</view>
 					</block>
 					<!-- <block v-if="ite.isRecord=='0'">
 						<view class="lftit">该提案已审查立案,查看<text class="lfdet">审查反馈</text></view>
@@ -62,13 +64,13 @@
 				</view>
 				<!--提案交办  -->
 				<view class="casebtn flexc" v-if="type=='tajb'">
-					<block v-if="ite.isRecord=='0'">
+					<block v-if="ite.proposalProgress=='3'">
 						<view class="lftit">该提案已进行交办,查看<text class="lfdet">交办详情</text></view>
 						<view class="btn btn3">已交办</view>
 					</block>
-					<block v-if="ite.isRecord==1">
+					<block v-if="ite.proposalProgress=='2'">
 						<view class="lftit">该提案暂未进行交办</view>
-						<view class="btn btn2" @click.stop="getTuiFn(ite,'tajb')">交办</view>
+						<view class="btn btn2" v-if="checkPermi(['proposalInfo:info:assign'])" @click.stop="getTuiFn(ite,'tajb')">交办</view>
 					</block>
 				</view>
 				<!--办结审核  -->
@@ -97,11 +99,11 @@
 				</view>
 				<!-- 联名提案 -->
 				<view class="casebtn flexc" v-if="type=='lmta'">
-					<view class="lftit">您的联名提案未反馈</view>
-					<!-- <view class="lftit">您的联名提案已反馈,查看<text class="lfdet">反馈详情</text></view> -->
-					<view class="btn  btn1" @click.stop="getTuiFn(ite,'lmta','2')">反对</view>
-					<view class="btn btn2" @click.stop="getTuiFn(ite,'lmta','1')">同意</view>
-					<view class="btn btn3">已同意</view>
+					<view class="lftit" v-if="ite.isAgree==0">您的联名提案未反馈</view>
+					<view class="lftit" v-else>您的联名提案已反馈,查看<text class="lfdet">反馈详情</text></view>
+					<view class="btn  btn1" v-if="checkPermi(['proposal:user:verify'])&&ite.isAgree==0"  @click.stop="getTuiFn(ite,'lmta','2')">反对</view>
+					<view class="btn btn2" v-if="checkPermi(['proposal:user:verify'])&&ite.isAgree==0"  @click.stop="getTuiFn(ite,'lmta','1')">同意</view>
+					<view class="btn btn3" v-if="ite.isAgree!=0">{{ite.isAgree=='1'?'已同意':'不同意'}}</view>
 				</view>
 				<!-- 推荐优秀 -->
 				<view class="casebtn flexc" v-if="type=='tjyx'">
@@ -143,6 +145,7 @@
 </template>
 
 <script>
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
 	import { selectValue } from '@/utils/common.js';
 	import noData from "@/components/nodata/nodata.vue"
   export default {
@@ -194,6 +197,7 @@
 	onLoad: function() {
 	},
 	methods:{
+		checkPermi, checkRole,
 		kaType(ite){
 			return selectValue(this.tajdlist, ite);
 		},
@@ -202,29 +206,34 @@
 		},
 		getTuiFn(ite,txt,sh){
 			var that=this;
-			if(txt=='scfk'&&sh==0){
-				uni.showModal({
-					title: '确认立案',
-					content: "是否确认立案",
-					cancelText: '取消',
-					confirmText: '确认',
-					success: function(res) {
-						if (res.confirm) {
-							var obj={
-								id:ite.proposalId,
-								type:txt,
-								sh:sh,
-							}
-							that.$emit('getTuiFn',obj)
-						} else if (res.cancel) {
-							// console.log('用户点击取消');
-						}
-					}
-				});
-			}else if(txt=='lmta'&&sh==1){
+			// if(txt=='scfk'&&sh==0){
+			// 	uni.showModal({
+			// 		title: '确认立案',
+			// 		content: "是否确认立案",
+			// 		cancelText: '取消',
+			// 		confirmText: '确认',
+			// 		success: function(res) {
+			// 			if (res.confirm) {
+			// 				var obj={
+			// 					id:ite.proposalId,
+			// 					type:txt,
+			// 					sh:sh,
+			// 				}
+			// 				that.$emit('getTuiFn',obj)
+			// 			} else if (res.cancel) {
+			// 				// console.log('用户点击取消');
+			// 			}
+			// 		}
+			// 	});
+			// }else 
+			if(txt=='lmta'){
+				var str='同意'
+				if(sh==2){
+					str='反对'
+				}
 				uni.showModal({
-					title: '确认联名',
-					content: "是否确认联名",
+					title: '确认'+str+'联名',
+					content: "是否确认"+str+"联名",
 					cancelText: '取消',
 					confirmText: '确认',
 					success: function(res) {
@@ -245,6 +254,7 @@
 					id:ite.proposalId,
 					type:txt,
 					sh:sh,
+					ite:ite
 				}
 				this.$emit('getTuiFn',obj)
 			}

+ 2 - 2
work/components/meeting/list.vue

@@ -114,10 +114,10 @@
 						<text>提交时间</text>
 						<view>{{ite.publishTime}}</view>
 					</view>
-					<view class="ftxt">
+					<!-- <view class="ftxt">
 						<text>审核状态</text>
 						<view class="co0b">{{ite.speakStatus==2?'已审核':'待审核'}}</view>
-					</view>
+					</view> -->
 				</block>
 				<!-- <block v-if="type=='hyfy'">
 					<view class="casebtn flexc">

+ 12 - 8
work/components/popup/popup.vue

@@ -209,7 +209,7 @@
 				<view class="mb16" >
 					<view class="ttxt mb18"><text class="cof0">*</text>办理方式</view>
 					<view @click="getBlfsMoreFn" class="chosebox flexc">
-						<view class="tit" :class="handling?'':'coa'">{{handling||'请选择协办单位'}}</view>
+						<view class="tit" :class="handling?'':'coa'">{{handling||'请选择办理方式'}}</view>
 					</view>
 				</view>
 				<view class="mb16">
@@ -862,15 +862,15 @@
 				var len=Number(newArr.length)-1;
 				var obj={
 					deptId:newArr[len].id,
-					deptname:newArr[len].label,
+					deptName:newArr[len].label,
 				}
 				if(this.type=='tajb'){
 					obj.type=2
 				}else if(this.type=='scfk'){
 					obj.type=1
 				}
-				dwList.push(obj)
-				this.recorddwlist=dwList;
+				// dwList.push(obj)
+				this.recorddwlist=obj;
 				this.recorddw=newArr[len].label;
 			},
 			getupSubmit(){
@@ -894,17 +894,20 @@
 					}
 					if(this.isRecord==0){
 						obj.proposalNumber=this.txtnumber
-						
-						onj.sqmyNumber=this.txtnumber
+						obj.sqmyNumber=this.txtnumber
 					}
 					if(this.isRecord==1){
-						obj.proposalUnitReplyList=this.recorddwlist
+						var nobj=this.recorddwlist;
+						var newArr=[];
+						newArr.push(nobj)
+						obj.proposalUnitReplyList=newArr
+						obj.sqmyUnitReplyList=newArr
 					}
 					this.$emit('getupSubmit',obj)
 				}else if(type=='tajb'){
 					var newArr=this.recorddwlist;
 					var xbdwList=this.recorddwmlist;
-					if(newArr.length<1){
+					if(!newArr){
 						this.$toast('请选择主办单位')
 						return
 					}
@@ -947,6 +950,7 @@
 					}
 					var obj={
 						proposalProgress:this.jbshtxt,
+						sqmyProgress:this.jbshtxt,
 					}
 					this.$emit('getupSubmit',obj)
 				}else if(type=='dwdf'){

+ 6 - 4
work/components/sqmyInfo/list.vue

@@ -46,7 +46,7 @@
 				<view class="casebtn flexc" v-if="type=='xxsb'||type=='xxbl'">
 					<view class="ftit">办理状态<text>待反馈</text></view>
 					<view class="btn btn3" v-if="ite.satisfaction">已反馈</view>
-					<view class="btn btn2" v-else @click.stop="getTuiFn(ite,'dwdf')">反馈意见</view>
+					<view class="btn btn2" v-if="checkPermi(['sqmy:unit:reply'])&&!ite.satisfaction&&ite.proposalProgress==5" @click.stop="getTuiFn(ite,'dffk')">反馈意见</view>
 				</view>
 				<!-- 提案审查 -->
 				<!-- <view class="casebtn flexc" v-if="type=='xxsh'">
@@ -82,10 +82,10 @@
 				<view class="casebtn flexc" v-if="type=='xxsh'">
 					<view class="ftxt flex1" style="margin-bottom: 0;">
 						<text>办理状态</text>
-						<view class="co1d">待审核</view>
-						<view class="co22">已审核</view>
+						<view class="co22" v-if="ite.isRecord">已审核</view>
+						<view class="co1d" v-else>待审核</view>
 					</view>
-					<view class="btn btn2" @click.stop="getTuiFn(ite,'scfk','1')">审核</view>
+					<view class="btn btn2" v-if="!ite.isRecord&&checkPermi(['sqmyInfo:info:isRecord'])" @click.stop="getTuiFn(ite,'scfk','1')">审核</view>
 				</view>
 				<!--催办  4(不包含4) 之后 可以催办-->
 				<view class="casebtn flexc" v-if="type=='xxcb'">
@@ -140,6 +140,7 @@
 </template>
 
 <script>
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
 	import { selectValue } from '@/utils/common.js';
 	import noData from "@/components/nodata/nodata.vue"
   export default {
@@ -197,6 +198,7 @@
 	onLoad: function() {
 	},
 	methods:{
+		checkPermi, checkRole,
 		kaType(ite,list){
 			return selectValue(list, ite);
 		},

+ 6 - 0
work/pages/case/add.vue

@@ -332,6 +332,12 @@
 							this.filelist=JSON.parse(JSON.stringify(data.zxFjList))
 						}
 						this.editinfo=data.proposalContent;
+						uni.createSelectorQuery().select('#editor').context(function(res) {
+							that.editorCtx = res.context;
+							that.editorCtx.setContents({
+								html:data.proposalContent
+							})
+						}).exec();
 						var taryList=data.proposalUserList;
 						if(taryList&&taryList.length){
 							var newArr=[]

+ 160 - 36
work/pages/case/details.vue

@@ -24,12 +24,12 @@
 				<view class="titinf">
 					<view class="txt"><text>提案者</text>{{datainfo.proposalName}}</view>
 					<view class="txt"><text>界别</text>{{typeFormat(datainfo.boundary,jblist)}}</view>
-					<view class="txt"><text>党派</text>{{datainfo.partyAffiliation}}</view>
+					<view class="txt"><text>党派</text>{{typeFormat(datainfo.partyAffiliation,dplist)}}</view>
 					<view class="txt"><text>联系方式</text>{{datainfo.proposalPhone}}</view>
 					<view class="txt"> <text>提案类别</text>{{datainfo.categoryName}}</view>
 					<view class="txt"><text>提案类型</text>{{datainfo.proposalType==0?'大会提案':'平时提案'}}</view>
 					<view class="txt"><text>提交时间</text>{{datainfo.createTime}}</view>
-					<view class="txt"><text>工作单位及职务</text>{{datainfo.unit}}</view>
+					<view class="txt"><text>工作单位及职务</text>{{datainfo.contactAddress}}</view>
 					<!-- {{datainfo.contactAddress}} -->
 				</view>
 				<view class="titinf " :class="zheList[0].zheflag?'nact':'act'">
@@ -65,14 +65,47 @@
 				</view>
 				<view class="bortop"></view>
 				<view class="ftit mb14">附件信息</view>
-				<view class="fjlists flext"  v-for="(ite,idx) in filelist" :key='idx' @click="getDown(ite.path)">
+				<view class="fjlists flext"  v-for="(ite,idx) in filelist" :key='idx' @click="getDown(ite.url)">
 					<view class="imgl"><image :src="fjimg" ></image></view>
 					<view class="tit">{{ite.name}}</view>
 					<view class="fjlook">查看</view>
 				</view>
 			</view>
 			<!-- 提案立案以下隐藏 -->
-			<view class="dbox">
+			<view class="dbox" v-if="hflist.length||lmlist.length||datainfo.cbdwdfwy">
+				<view class="titbox mb16">
+					<view class="tit flexc">
+						<image :src="titimg"></image>
+						<view>反馈情况</view>
+					</view>
+				</view>
+				<!-- 单位回复委员 -->
+				<!-- 联名反馈 -->
+				<view class="titinf" v-for="(ite,idx) in lmlist" :key="idx">
+					<view class="ftit mb10">联名人:{{ite.name}}</view>
+					<view class="txt wb100"><text class="w65">联名确认</text>{{ite.isAgree=='1'?'同意':'不同意'}}</view>
+				</view>
+				<!-- 单位反馈 -->
+				<view class="titinf" v-for="(ite,idx) in hflist" :key="idx">
+					<view class="ftit mb10">{{ite.deptName}}</view>
+					<view class="txt wb100"><text class="w65">回复内容</text>{{ite.content}}</view>
+					<block v-if="ite.zxFjList.length">
+						<view class="txt">
+							<text class="w65">附件</text>
+							<view class="fjlists flext"  v-for="(fite,fidx) in ite.zxFjList" :key='fidx' @click="getDown(fite.url)">
+								<view class="imgl"><image :src="fjimg" ></image></view>
+								<view class="tit">{{fite.name}}</view>
+								<view class="fjlook">查看</view>
+							</view>
+						</view>
+					</block>
+				</view>
+				<view class="titinf" v-if="datainfo.cbdwdfwy">
+					<view class="ftit mb10">单位反馈委员</view>
+					<view class="txt wb100"><text class="w65">反馈内容</text>{{datainfo.cbdwdfwy}}</view>
+				</view>
+			</view>
+			<view class="dbox" v-if="zblist.length||xblist.length">
 				<view class="titbox mb16">
 					<view class="tit flexc">
 						<image :src="titimg"></image>
@@ -84,16 +117,17 @@
 				</view>
 				<block v-for="(ite,idx) in datainfo.proposalUnitReplyList" :key="idx">
 					<view v-if="dwVal==ite.type">
-						<view class="titinf" v-if="ite.type==2||ite.type==3">
+						<view class="titinf">
 							<view class="txt wb100"><text>{{ite.type==2?'主办单位':'协办单位'}}</text>{{ite.deptName}}</view>
 							<view class="txt"><text>办理方式</text>{{ite.handling}}</view>
 							<view class="txt"><text>办理程度</text>{{ite.degree}}</view>
 							<view class="txt"><text>签收时间</text>{{ite.startTime}}</view>
 							<view class="txt"> <text>办结时间</text>{{ite.endTime}}</view>
-							<view class="txt" :class="zheList[2].zheflag?'nact':'act'"><text>答复内容</text>
-								<rich-text :nodes="ite.content"></rich-text>
+							<view class="txt wb100" :class="zheList[2].zheflag?'nact':'act'"><text>答复内容</text>
+								<rich-text :nodes="ite.content" v-if="ite.content"></rich-text>
 							</view>
 						</view>
+						
 						<!-- 折叠 -->
 						<view class="zhebox" :class="zheList[2].zheflag?'':'act'" @click="getZheFn(2)">
 							<image :src="upsimg"></image>
@@ -101,7 +135,7 @@
 						</view>
 						<view class="bortop"></view>
 						<view class="ftit mb14">答复函</view>
-						<view class="fjlists flext"  v-for="(item,idx) in ite.zxFjList" :key='item.id' @click="getDown(item.path)">
+						<view class="fjlists flext"  v-for="(item,idx) in ite.zxFjList" :key='item.id' @click="getDown(item.url)">
 							<view class="imgl"><image :src="fjimg" ></image></view>
 							<view class="tit">{{item.name}}</view>
 							<view class="fjlook">查看</view>
@@ -115,7 +149,7 @@
 				</block>
 				
 			</view>
-			<view class="dbox">
+			<view class="dbox" v-if="progress>5">
 				<view class="titbox mb16">
 					<view class="tit flexc">
 						<image :src="titimg"></image>
@@ -139,15 +173,20 @@
 			</view>
 			<view class="fbtns" style="flex-wrap: wrap;">
 				<!-- 按角色选择按钮 -->
-				<view class="btn btn1" @click="getDelFn" v-if="checkPermi(['proposalInfo:info:query'])">删除</view>
-				<view class="btn btn1" @click="getEditFn" v-if="checkPermi(['proposalInfo:info:edit'])">修改</view>
-				<view class="btn btn2" @click="getScfkFn('scfk')" v-if="checkPermi(['proposalInfo:info:isRecord'])">2审查反馈</view>
-				<view class="btn btn2" @click="getScfkFn('tajb')" v-if="checkPermi(['proposalInfo:info:assign'])">3提案交办</view>
-				<view class="btn btn2" @click="getScfkFn('dffk')" v-if="checkPermi(['proposalInfo:info:reply'])">4答复反馈</view>
-				<view class="btn btn2" @click="getScfkFn('jbsh')" v-if="checkPermi(['proposalInfo:info:assignsh'])">5交办审核</view>
-				<view class="btn btn2" @click="getScfkFn('dwdf')" v-if="checkPermi(['proposalInfo:info:reply'])">5答复反馈</view>
-				<view class="btn btn2" @click="getScfkFn('wymyfk')" v-if="checkPermi(['proposalInfo:info:idea'])">6办结审核</view>
-				<view class="btn btn2" @click="getScfkFn('zxmyfk')" v-if="checkPermi(['proposalInfo:info:zxIdea'])">7办结审核</view>
+				<view class="btn btn1" @click="getDelFn" v-if="checkPermi(['proposalInfo:info:remove'])">删除</view>
+				<view class="btn btn1" @click="getEditFn" v-if="checkPermi(['proposalInfo:info:edit'])&&progress==1">修改</view>
+				<view class="btn btn2" @click="getScfkFn('scfk')" v-if="checkPermi(['proposalInfo:info:isRecord'])&&progress==1">2审查反馈</view>
+				<view class="btn btn2" @click="getScfkFn('tajb')" v-if="checkPermi(['proposalInfo:info:assign'])&&progress==2">3提案交办</view>
+				<view class="btn btn2" @click="getScfkFn('dffk')" v-if="checkPermi(['proposal:unit:reply'])&&(progress==4||progress==6||from=='tabl')&&progress!=7">4答复反馈</view>
+				<view class="btn btn2" @click="getScfkFn('jbsh')" v-if="checkPermi(['proposalInfo:info:assignsh'])&&progress==5">5交办审核</view>
+				<view class="btn btn2" @click="getScfkFn('dwdf')" v-if="checkPermi(['proposal:unit:reply'])&&progress==3&&hflist[0].isReply!=0">5单位答复反馈</view>
+				<view class="btn btn2" @click="getScfkFn('dwdf')" v-if="checkPermi(['proposalInfo:info:cbdwdfwy'])&&progress==7">5承办单位答复委员</view>
+				<view class="btn btn2" @click="getScfkFn('wymyfk')" v-if="checkPermi(['proposalInfo:info:idea'])&&progress==8">6办结审核</view>
+				<view class="btn btn2" @click="getScfkFn('zxmyfk')" v-if="checkPermi(['proposalInfo:info:zxIdea'])&&progress==8">7办结审核</view>
+				<!-- 提案办理进来的 协办单位 不考虑进度 -->
+				<!-- 联名提案反对同意 从联名提案进来的才有按钮-->
+				<view class="btn btn3" @click="getlmtaFn('lmta',2)" v-if="checkPermi(['proposal:user:verify'])&&from=='lmta'">反对联名</view>
+				<view class="btn btn2" @click="getlmtaFn('lmta',1)" v-if="checkPermi(['proposal:user:verify'])&&from=='lmta'">同意联名</view>
 				<!--委员答复填内容,委员填满意度 -->
 				<!--协办单位,主办单位 填办理方式,办理程度,内容 附件 -->
 				<!-- 4.承办单位答复,交办单位审核(通过,不通过), -->
@@ -156,18 +195,21 @@
 				<!-- 流程 -->
 				<!-- 提案进度(0:提交提案,1:提案审查,2:提案立案,3:提案交办,4:办理提案,5:提案反馈,6:办结审核,7:已办结) -->
 				<!-- 1.委员录入
-				2.提案委立案是否,否 指定答复(交办)单位
+				2.提案委立案是否,否 指定答复(交办)单位           不立案 3,回复单位回复
 				3.交办 选择答复(承办)单位(主办,协办)
 				4.承办单位 答复反馈(办理方式,办理程度,内容)    
 				5.交办单位审核(通过,不通过),承办单位答复交办单位审核(内容,附件)
-				6.委员提交满意度,评价
-				7.政协 提交满意度(办结审核) -->
+				6.审核不通过,承办单位答复
+				7.审核通过 承办单位答复委员
+				8.委员提交满意度,评价                                                               
+				8.政协 提交满意度(办结审核) -->
 				
 				<!-- 只要提案就可以 推荐重点,推荐优秀
 				提案办理,催办,联名,单列表 -->
 				<!-- 征集通知 ,提案查重,暂不需要 -->
 				<!-- 政协评价 -->
 				
+				
 			</view>
 			
 		</view>
@@ -183,7 +225,7 @@
 	import noData from "@/components/nodata/nodata.vue"
 	import {getDeptTree} from"@/api/mine/mine.js"
 	import { selectValue,selectValuetext } from '@/utils/common.js';
-	import {getCaseDetailFn,getCasDelFn,getInfoisRecordFn,getInfoAssignFn,getInfoReplyFn,getInfoShFn,getInfoIdeaFn,getInfozxIdeaFn} from "@/api/mine/case.js"
+	import {getCaseDetailFn,getCasDelFn,getInfoisRecordFn,getInfoAssignFn,getInfoReplyFn,getInfoShFn,getInfoIdeaFn,getInfozxIdeaFn,getInfoReplywyFn,getUserverifyFn} from "@/api/mine/case.js"
 	import {getDictionaryFn} from "@/api/mine/register.js"
 	export default{
 		components:{popUp,noData},
@@ -206,11 +248,18 @@
 				dflxList:[],
 				stepList:[],//提案状态
 				jblist:[],//界别
+				dplist:[],//党派
 				matterList:[],//方式
 				blcdlist:[],//办理程度
 				deptTree:[],//答复单位
 				mycdlist:[],//满意程度
-				tary:''
+				tary:'',
+				progress:'',
+				hflist:[],
+				zblist:[],
+				xblist:[],
+				lmlist:[],//联名人员反馈
+				from:'',
 			}
 		},
 		onUnload(){
@@ -223,6 +272,9 @@
 			uni.$on('refreshdetail', (e) => {
 				this.getDetail()
 			})
+			if(e.f){
+				this.from=e.f
+			}
 			// this.deptTree=[{id:100,label:"若依科技",children:[{id:200,label:"吃完",},{id:201,label:"vf",}]}]
 		},
 		methods:{
@@ -278,6 +330,17 @@
 						})
 					}
 				})
+				// 党派circles
+				getDictionaryFn('political_parties').then(res=>{
+					if(res.code==200&&res.data.length){
+						this.dplist = res.data.map(v => {
+							return {
+								label: v.dictLabel,
+								value: v.dictValue
+							}
+						})
+					}
+				})
 				// 办理方式
 				getDictionaryFn('negotiation_mode').then(res=>{
 					if(res.code==200&&res.data.length){
@@ -325,7 +388,11 @@
 					params.proposalId=this.id
 					getInfoisRecordFn(params).then(res=>{
 						if(res.code==200){
-							this.$toast("立案成功");
+							var str='立案';
+							if(params.isRecord==1){
+								str='不立案'
+							}
+							this.$toast(str+"成功");
 							setTimeout(function(){
 								that.ptype='';
 								that.getDetail()
@@ -338,7 +405,7 @@
 					params.proposalId=this.id
 					getInfoAssignFn(params).then(res=>{
 						if(res.code==200){
-							this.$toast("提案办成功");
+							this.$toast("提案办成功");
 							setTimeout(function(){
 								that.ptype='';
 								that.getDetail()
@@ -348,15 +415,30 @@
 				}else if(type=='dffk'||type=='dwdf'){
 					var params=JSON.parse(JSON.stringify(e))
 					params.proposalId=this.id
-					getInfoReplyFn(params).then(res=>{
-						if(res.code==200){
-							this.$toast("答复反馈成功");
-							setTimeout(function(){
-								that.ptype='';
-								that.getDetail()
-							},1200)	
-						}
-					})
+					if(this.progress==7){
+						params.cbdwdfwy=params.content;
+						getInfoReplywyFn(params).then(res=>{
+							params.cbdwdfwy=params.content;
+							if(res.code==200){
+								this.$toast("答复反馈成功");
+								setTimeout(function(){
+									that.ptype='';
+									that.getDetail()
+								},1200)	
+							}
+						})
+					}else{
+						getInfoReplyFn(params).then(res=>{
+							if(res.code==200){
+								this.$toast("答复反馈成功");
+								setTimeout(function(){
+									that.ptype='';
+									that.getDetail()
+								},1200)	
+							}
+						})
+					}
+					
 				}else if(type=='jbsh'){
 					var params=JSON.parse(JSON.stringify(e))
 					params.proposalId=this.id
@@ -401,6 +483,27 @@
 			getClose(){
 				this.ptype=""
 			},
+			getlmtaFn(type,sh){
+				var that=this;
+				var str="同意"
+				if(sh==2){
+					str='反对'
+				}
+				var params={
+					proposalId:this.id,
+					isAgree:sh,
+				}
+				getUserverifyFn(params).then(res=>{
+					if(res.code==200){
+						this.$toast(str+"联名提案成功");
+						setTimeout(function(){
+							uni.$emit("refreshlist")
+							that.getDetail()
+						},1200)
+						
+					}
+				})
+			},
 			getScfkFn(type){
 				this.ptype=type
 			},
@@ -437,13 +540,15 @@
 				});
 			},
 			getDetail(){
+				var that=this;
 				getCaseDetailFn(this.id).then(res=>{
 					if(res.code==200){
 						this.datainfo=res.data;
+						this.progress=res.data.proposalProgress;
 						if(res.data.zxFjList&&res.data.zxFjList.length){
 							this.filelist=JSON.parse(JSON.stringify(res.data.zxFjList))
 						}
-						var taryList=res.data.proposalUserList;
+						var taryList=res.data.proposalUserList||[];
 						if(taryList&&taryList.length){
 							var newArr=[]
 							taryList.forEach(ite=>{
@@ -451,7 +556,25 @@
 							})
 							this.tary=newArr.join('/')
 						}
-						this.dwdetList=res.data.proposalUnitReplyList;
+						this.lmlist=taryList;
+						var dwList=res.data.proposalUnitReplyList||[];
+						var hflist=[],zblist=[],xblist=[];
+						if(dwList&&dwList.length){
+							dwList.forEach(ite=>{
+								if(ite.type==1){
+									hflist.push(ite)
+								}else if(ite.type==2){
+									zblist.push(ite)
+								}else if(ite.type==3){
+									xblist.push(ite)	
+								}	
+							})
+							that.$nextTick(function(){
+								that.hflist=hflist;
+								that.zblist=zblist;
+								that.xblist=xblist;
+							})
+						}	
 					}
 				})
 			},
@@ -563,6 +686,7 @@
 		justify-content: center;margin:0 12rpx;flex:1;
 			&.btn1{border: 2rpx solid #1D64E2;background: #ffffff;color: #1D64E2;}
 			&.btn2{background: #1D64E2;color: #ffffff;}
+			&.btn3{border: 2rpx solid #FF0000;background: #ffffff;color: #FF0000;}
 		}
 	}
 </style>

+ 0 - 8
work/pages/case/index.vue

@@ -1,8 +0,0 @@
-<template>
-</template>
-
-<script>
-</script>
-
-<style>
-</style>

+ 140 - 55
work/pages/case/mine.vue

@@ -33,7 +33,13 @@
 						<view style="padding: 0 18rpx;" :class="tnlbname?'':'f16 co80'">{{tnlbname || "提案类别"}}</view>
 						<image :src="upimg" class="upimg"></image>
 					</view>
-					<view class="lbtabp">
+					<view class="lbtabp" v-if="tabidx=='qb'">
+						<picker  range-key='label' :value="tajdidx" :range="tajdlist"  @change='bindDateChanged'>
+							<view :class="tajd?'':'f16 co80'">{{tajd || "提案进度"}}</view>
+						</picker>
+						<image :src="upimg" class="upimg"></image>
+					</view>
+					<view class="lbtabp" >
 						<picker  range-key='label' :value="talbidx" :range="talxList"  @change='bindDateChangea'>
 							<view :class="talx?'':'f16 co80'">{{talx || "提案类型"}}</view>
 						</picker>
@@ -72,7 +78,7 @@
 <script>
 	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
 	import {getCaseListFn,getInfoisRecordFn,getInfoAssignFn,getInfoReplyFn,getInfoShFn,getInfoIdeaFn,getInfozxIdeaFn,
-	getInfourgeFn,getInfokeyPointFn,getInfooutstandingFn,getUserverifyFn,getInfojointlyListFn
+	getInfourgeFn,getInfokeyPointFn,getInfooutstandingFn,getUserverifyFn,getInfojointlyListFn,geturgeListFn,getInfounitListFn,getInfoReplywyFn
 	} from "@/api/mine/case.js"
 	import popUp from "@/work/components/popup/popup.vue"
 	import caseList from "@/work/components/case/list.vue"
@@ -88,13 +94,15 @@
 				backimg:require("@/work/static/images/back.png"),
 				upimg:require("@/work/static/images/up.png"),
 				backgroundColor:"#1D64E2",
-				tabidx:'tasc',
-				tabtype:'1',//进度查询
+				tabidx:'qb',
+				tabtype:'',//进度查询
 				// {tit:'征集通知',val:0}, 提案催办 目前看所有
-				tabList:[{tit:'提案审查',jd:1,val:'tasc',limit:'proposalInfo:info:isRecord'},{tit:'提案交办',jd:3,val:'tajb',},
-				{tit:'提案办理',jd:4,val:'tabl',},{tit:'办结审核',jd:6,val:'jbsh',},
-				{tit:'提案催办',val:'tacb',},{tit:'接收催办',val:'jstacb',},
-				{tit:'我的提案',val:'wdta',},{tit:'联名提案',val:'lmta',},{tit:'推荐优秀',val:'tjyx'},
+				tabList:[
+					{tit:'全部',val:'qb',limit:'proposalInfo:info:list'},{tit:'提案审查',jd:1,val:'tasc',limit:'proposalInfo:info:isRecord'},
+					{tit:'提案交办',jd:2,val:'tajb',limit:"proposalInfo:info:assign"},{tit:'提案办理',val:'tabl',limit:'proposalInfo:info:unitList'},
+					// {tit:'办结审核',jd:6,val:'jbsh',},
+				{tit:'提案催办',val:'tacb',limit:'zxUrge:urge:add'},{tit:'接收催办',val:'jstacb',limit:'zxUrge:urge:list'},
+				{tit:'我的提案',val:'wdta',},{tit:'联名提案',val:'lmta',limit:"proposalInfo:info:jointlyList"},{tit:'推荐优秀',val:'tjyx'},
 				{tit:'推荐重点',val:'tjzd'},{tit:'公开提案',val:'gkta'},
 				],
 				litablist:[{tit:'提案类别',val:0},{tit:'提案类型',val:1},{tit:'单位类型',val:2},{tit:'选择年份',val:3},],
@@ -106,6 +114,9 @@
 				talxList:[{label:'大会提案',value:'0'},{label:'平时提案',value:'1'}],
 				dwlxList:[{label:'答复单位',value:'1'},{label:'主办单位',value:'2'},{label:'协办单位',value:'3'}],
 				talbidx:'',
+				tajd:'',
+				tajdidx:'',
+				tajdid:'',
 				datainfo:{
 					talb:'',
 				},
@@ -130,6 +141,7 @@
 				id:'',
 				userId:this.$store.state.user.userId,
 				deptId:this.$store.state.user.deptId,
+				iteinfo:'',//选择 的数据
 			}
 		},
 		onUnload(){
@@ -140,6 +152,9 @@
 			this.getDataFn()
 			this.init()
 			uni.$on('refreshlist', (e) => {
+				this.pageNum=1;
+				this.list=[];
+				this.reachflag=true;
 				this.getDataFn()
 			})
 			uni.$on('refreshtalb', (e) => {
@@ -151,6 +166,13 @@
 				this.getDataFn()
 			})
 		},
+		// 上拉触底加载更多触发事件
+		onReachBottom() {
+			if (this.reachflag) {
+				this.pageNum++
+				this.getDataFn()
+			}
+		},
 		mounted() {
 			this.getHeightFn()
 		},
@@ -170,11 +192,11 @@
 				})
 				
 				// 协办单位
-				// getDeptTree().then(res=>{
-				// 	if(res.code==200){
-				// 		this.deptTree=res.data
-				// 	}
-				// })
+				getDeptTree().then(res=>{
+					if(res.code==200){
+						this.deptTree=res.data
+					}
+				})
 				// 办理方式
 				getDictionaryFn('negotiation_mode').then(res=>{
 					if(res.code==200&&res.data.length){
@@ -226,40 +248,46 @@
 				var sh=data.sh;
 				this.id=data.id;
 				var type=data.type;
+				this.iteinfo=data.ite;
 				var that=this;
 				if(type=='scfk'){
-					if(sh==1){
-						this.ptype=data.type;
-					}else{
-						var params={
-							proposalId:data.id,
-							isRecord:0,
-						}
-						getInfoisRecordFn(params).then(res=>{
-							if(res.code==200){
-								this.$toast("立案成功");
-								setTimeout(function(){
-									that.ptype='';
-									that.pageNum=1;
-									that.list=[];
-									that.reachflag=true;
-									that.getDataFn()
-								},1200)
+					this.ptype=data.type;
+					// if(sh==1){
+						
+					// }else{
+					// 	var params={
+					// 		proposalId:data.id,
+					// 		isRecord:0,
+					// 	}
+					// 	getInfoisRecordFn(params).then(res=>{
+					// 		if(res.code==200){
+					// 			this.$toast("操作成功");
+					// 			setTimeout(function(){
+					// 				that.ptype='';
+					// 				that.pageNum=1;
+					// 				that.list=[];
+					// 				that.reachflag=true;
+					// 				that.getDataFn()
+					// 			},1200)
 								
-							}
-						})
-					}
+					// 		}
+					// 	})
+					// }
 				}else if(type=='lmta'){
+					var str="同意"
 					if(sh==2){
-						this.ptype=data.type;
-					}else{
+						str='反对'
+					}
+					// if(sh==2){
+					// 	this.ptype=data.type;
+					// }else{
 						var params={
 							proposalId:data.id,
-							isAgree:1,
+							isAgree:sh,
 						}
 						getUserverifyFn(params).then(res=>{
 							if(res.code==200){
-								this.$toast("确认联名提案成功");
+								this.$toast(str+"联名提案成功");
 								setTimeout(function(){
 									that.ptype='';
 									that.pageNum=1;
@@ -270,7 +298,7 @@
 								
 							}
 						})
-					}
+					// }
 				}else{
 					this.ptype=type
 				}	
@@ -281,9 +309,13 @@
 				if(type=='scfk'){
 					var params=JSON.parse(JSON.stringify(e))
 					params.proposalId=this.id
+					var str='立案';
+					if(params.isRecord=='1'){
+						str='不予立案'
+					}
 					getInfoisRecordFn(params).then(res=>{
 						if(res.code==200){
-							this.$toast("立案成功");
+							this.$toast(str+"成功");
 							setTimeout(function(){
 								that.ptype='';
 								that.pageNum=1;
@@ -299,7 +331,7 @@
 					params.proposalId=this.id
 					getInfoAssignFn(params).then(res=>{
 						if(res.code==200){
-							this.$toast("提案办成功");
+							this.$toast("提案办成功");
 							setTimeout(function(){
 								that.ptype='';
 								that.pageNum=1;
@@ -312,18 +344,35 @@
 				}else if(type=='dffk'||type=='dwdf'){
 					var params=JSON.parse(JSON.stringify(e))
 					params.proposalId=this.id
-					getInfoReplyFn(params).then(res=>{
-						if(res.code==200){
-							this.$toast("答复反馈成功");
-							setTimeout(function(){
-								that.ptype='';
-								that.pageNum=1;
-								that.list=[];
-								that.reachflag=true;
-								that.getDataFn()
-							},1200)	
-						}
-					})
+					if(this.iteinfo.proposalProgress==7){
+						params.cbdwdfwy=params.content;
+						getInfoReplywyFn(params).then(res=>{
+							if(res.code==200){
+								this.$toast("答复反馈成功");
+								setTimeout(function(){
+									that.ptype='';
+									that.pageNum=1;
+									that.list=[];
+									that.reachflag=true;
+									that.getDataFn()
+								},1200)	
+							}
+						})
+					}else{
+						getInfoReplyFn(params).then(res=>{
+							if(res.code==200){
+								this.$toast("答复反馈成功");
+								setTimeout(function(){
+									that.ptype='';
+									that.pageNum=1;
+									that.list=[];
+									that.reachflag=true;
+									that.getDataFn()
+								},1200)	
+							}
+						})
+					}
+					
 				}else if(type=='jbsh'){
 					var params=JSON.parse(JSON.stringify(e))
 					params.proposalId=this.id
@@ -485,6 +534,12 @@
 				this.year=val;
 				this.getrefreshData()
 			},
+			bindDateChanged(e){
+				var val=e.detail.value;
+				this.tajd=this.tajdlist[val].label;
+				this.tajdid=this.tajdlist[val].value;
+				this.getrefreshData()
+			},
 			getTalbFn(){
 				var obj={
 					id:this.talbid,
@@ -497,7 +552,7 @@
 			},
 			
 			getDetail(data){
-				this.$tab.navigateTo('/work/pages/case/details?id='+data)	
+				this.$tab.navigateTo('/work/pages/case/details?id='+data+'&f='+this.tabidx)	
 			},
 			getDataFn(){
 				var tab=this.tabidx;
@@ -527,7 +582,7 @@
 				}else if(tab=='gkta'){
 					params.isPublicity="是"
 				}else if(tab=='wdta'){
-					params.userId=this.userId
+					params.proposalUserId=this.userId
 				}
 				if(this.tabidx=='lmta'){
 					getInfojointlyListFn(params).then(res=>{
@@ -580,7 +635,37 @@
 							this.$toast(res.msg)
 						}
 					})
+				}else if(this.tabidx=='tabl'){
+					// params.acceptDeptId=this.deptId
+					getInfounitListFn(params).then(res=>{
+						if(res.code==200){
+							if (res.rows.length < this.pageSize) {
+								this.reachflag = false
+								this.wtdt = '到底了~';
+							} else {
+								var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum -	1)
+								if (num < res.total) {
+									this.reachflag = true
+									this.wtdt = '上拉加载更多'
+								} else {
+									this.reachflag = false
+									this.wtdt = '到底了~';
+								}
+							}
+							if (this.pageNum == 1) {
+								this.list = res.rows;
+							} else {
+								this.list = this.list.concat(res.rows)
+							}
+						}else{
+							this.$toast(res.msg)
+						}
+					})	
+					
 				}else{
+					if(this.tabidx=='qb'&&this.tajd){
+						params.proposalProgress=this.tajdid
+					}
 					getCaseListFn(params).then(res=>{
 						if(res.code==200){
 							if (res.rows.length < this.pageSize) {
@@ -634,7 +719,7 @@
 	.lbtab{height: 114rpx;background: #FFFFFF;border-radius: 30rpx;padding-left: 24rpx;position: absolute;left:24rpx;right: 24rpx;bottom: -58rpx;
 		.limg{width: 40rpx;height: 34rpx;margin-right: 10rpx;flex:0 0 auto;}
 		.lbtabs{overflow: auto;flex-wrap: nowrap;flex: 1;
-			.lbtabp{display: flex;align-items: center;flex: 1;margin-right: 24rpx;}
+			.lbtabp{display: flex;align-items: center;flex: 1 0 auto;margin-right: 24rpx;}
 			.upimg{width: 18rpx;height: 10rpx;}
 			
 		}

+ 7 - 0
work/pages/meeting/list.vue

@@ -118,6 +118,13 @@
 				this.getDataFn()
 			})
 		},
+		// 上拉触底加载更多触发事件
+		onReachBottom() {
+			if (this.reachflag) {
+				this.pageNum++
+				this.getDataFn()
+			}
+		},
 		mounted() {
 			this.getHeightFn()
 		},

+ 7 - 0
work/pages/news/list.vue

@@ -67,6 +67,13 @@
 				that.getrefreshData()
 			})
 		},
+		// 上拉触底加载更多触发事件
+		onReachBottom() {
+			if (this.reachflag) {
+				this.pageNum++
+				this.getDataFn()
+			}
+		},
 		mounted() {
 			this.getHeightFn()
 		},

+ 3 - 1
work/pages/report/addscore.vue

@@ -69,7 +69,7 @@
 				</view>
 				<textarea placeholder="请输入加分事由…" v-model="datainfo.bonusReason"></textarea>
 			</view>
-			<view class="addbtn">
+			<view class="addbtn" v-if="checkPermi(['zxBonus:bonus:add'])">
 				<!-- <view class="btn btn1" @click="getZanFnt">暂存</view> -->
 				<view class="btn btn2" style="flex: 1;" @click="getSubmit">提交</view>
 			</view>
@@ -79,6 +79,7 @@
 </template>
 
 <script>
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
 	import {getDictionaryFn} from "@/api/mine/register.js"
 	import {getBonusAddFn,getBonusEditFn,getBonusDetailFn} from "@/api/mine/report.js"
 	import { selectValueKey } from '@/utils/common.js';
@@ -136,6 +137,7 @@
 		},
 		
 		methods:{
+			checkPermi, checkRole,
 			kaType(ite,list){
 				return selectValue(list, ite);
 			},

+ 1 - 1
work/pages/report/details.vue

@@ -186,7 +186,7 @@
 					</block>
 				</view>
 			</view>
-			<view class="fbtns">
+			<view class="fbtns" v-if="checkPermi(['member:info:MemberReport'])">
 				<view class="btn btn1" @click="getReportFn">生成报告</view>
 				<!-- <view class="btn btn2" @click="getScfkFn">审核</view> -->
 			</view>

+ 10 - 2
work/pages/report/info.vue

@@ -88,7 +88,7 @@
 					talb:'',
 				},
 				ptype:'',//弹窗类型
-				list:[{tit:"123"}],
+				list:[],
 				pageSize: 10,
 				pageNum: 1,
 				reachflag: true,
@@ -118,6 +118,13 @@
 				that.getrefreshData()
 			})
 		},
+		// 上拉触底加载更多触发事件
+		onReachBottom() {
+			if (this.reachflag) {
+				this.pageNum++
+				this.getDataFn()
+			}
+		},
 		mounted() {
 			this.getHeightFn()
 		},
@@ -302,10 +309,11 @@
 				}
 				if(this.tabidx=='lzxx'){
 					if(checkPermi(['member:info:alllist'])){
-						
+						console.log(12)
 					}else {
 						params.userId=this.userId
 					}
+					console.log(132)
 					getInfojopList(params).then(res=>{
 						if(res.code==200){
 							if (res.rows.length < this.pageSize) {

+ 3 - 1
work/pages/report/mineinfo.vue

@@ -112,13 +112,14 @@
 			<uni-forms-item label="联系方式" name="phonenumber" required>
 				<uni-easyinput :inputBorder="false" type="number" v-model="datainfo.phonenumber" placeholder="请输入联系方式" />
 			</uni-forms-item>
-			<view class="brbtns" @click="getSubmit">确认</view>
+			<view class="brbtns" v-if="checkPermi(['member:info:add'])&&ptype=='add'||checkPermi(['member:info:edit'])&&ptype=='edit'" @click="getSubmit">确认</view>
 		</uni-forms>
 		
 	</view>
 </template>
 
 <script>
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
 	import config from '@/config'
 	const baseUrl = config.baseUrl
 	import { getToken } from '@/utils/auth'
@@ -185,6 +186,7 @@
 			this.init();
 		},
 		methods:{
+			checkPermi, checkRole ,
 			bindDateChangea(e){
 				var val=e.detail.value;
 				this.boundary=this.jblist[val].label

+ 96 - 33
work/pages/sqmyInfo/details.vue

@@ -79,7 +79,7 @@
 						</view>
 						<view class="bortop"></view>
 						<view class="ftit mb14">答复函</view>
-						<view class="fjlists flext"  v-for="(item,idx) in ite.zxFjList" :key='item.id' @click="getDown(item.path)">
+						<view class="fjlists flext"  v-for="(item,idx) in ite.zxFjList" :key='item.id' @click="getDown(item.url)">
 							<view class="imgl"><image :src="fjimg" ></image></view>
 							<view class="tit">{{item.name}}</view>
 							<view class="fjlook">查看</view>
@@ -90,11 +90,39 @@
 						<no-data></no-data>
 					</block> -->
 					
-				</block>
-				
+				</block>	
 			</view>
 			<!-- 提案立案以下隐藏 -->
-			<view class="dbox">
+			<view class="dbox" v-if="hflist.length||datainfo.cbdwdfwy">
+				<view class="titbox mb16">
+					<view class="tit flexc">
+						<image :src="titimg"></image>
+						<view>反馈情况</view>
+					</view>
+				</view>
+				<!-- 单位回复委员 -->
+				<!-- 单位反馈 -->
+				<view class="titinf" v-for="(ite,idx) in hflist" :key="idx">
+					<view class="ftit mb10">{{ite.deptName}}</view>
+					<view class="txt wb100"><text class="w65">回复内容</text>{{ite.content}}</view>
+					<block v-if="ite.zxFjList.length">
+						<view class="txt">
+							<text class="w65">附件</text>
+							<view class="fjlists flext"  v-for="(fite,fidx) in ite.zxFjList" :key='fidx' @click="getDown(fite.url)">
+								<view class="imgl"><image :src="fjimg" ></image></view>
+								<view class="tit">{{fite.name}}</view>
+								<view class="fjlook">查看</view>
+							</view>
+						</view>
+					</block>
+				</view>
+				<view class="titinf" v-if="datainfo.cbdwdfwy">
+					<view class="ftit mb10">单位反馈委员</view>
+					<view class="txt wb100"><text class="w65">反馈内容</text>{{datainfo.cbdwdfwy}}</view>
+				</view>
+			</view>
+			<!-- 提案立案以下隐藏 -->
+			<view class="dbox" v-if="zblist.length||xblist.length">
 				<view class="titbox mb16">
 					<view class="tit flexc">
 						<image :src="titimg"></image>
@@ -123,7 +151,7 @@
 						</view>
 						<view class="bortop"></view>
 						<view class="ftit mb14">答复函</view>
-						<view class="fjlists flext"  v-for="(item,idx) in ite.zxFjList" :key='item.id' @click="getDown(item.path)">
+						<view class="fjlists flext"  v-for="(item,idx) in ite.zxFjList" :key='item.id' @click="getDown(item.url)">
 							<view class="imgl"><image :src="fjimg" ></image></view>
 							<view class="tit">{{item.name}}</view>
 							<view class="fjlook">查看</view>
@@ -137,7 +165,7 @@
 				</block>
 				
 			</view>
-			<view class="dbox">
+			<view class="dbox" v-if="progress>5">
 				<view class="titbox mb16">
 					<view class="tit flexc">
 						<image :src="titimg"></image>
@@ -162,14 +190,16 @@
 			<view class="fbtns" style="flex-wrap: wrap;">
 				<!-- 按角色选择按钮 -->
 				<view class="btn btn1" @click="getDelFn" v-if="checkPermi(['sqmyInfo:info:query'])">删除</view>
-				<view class="btn btn1" @click="getEditFn" v-if="checkPermi(['sqmyInfo:info:edit'])">修改</view>
-				<view class="btn btn2" @click="getScfkFn('scfk')" v-if="checkPermi(['sqmyInfo:info:isRecord'])">2审查反馈</view>
-				<view class="btn btn2" @click="getScfkFn('tajb')" v-if="checkPermi(['sqmyInfo:info:assign'])">3提案交办</view>
-				<view class="btn btn2" @click="getScfkFn('dffk')" v-if="checkPermi(['sqmy:unit:reply'])">4答复反馈</view>
-				<view class="btn btn2" @click="getScfkFn('jbsh')" v-if="checkPermi(['sqmyInfo:info:assignsh'])">5交办审核</view>
-				<view class="btn btn2" @click="getScfkFn('dwdf')" v-if="checkPermi(['sqmy:unit:reply'])">5答复反馈</view>
-				<view class="btn btn2" @click="getScfkFn('wymyfk')" v-if="checkPermi(['sqmyInfo:info:idea'])">6办结审核</view>
-				<view class="btn btn2" @click="getScfkFn('zxmyfk')" v-if="checkPermi(['sqmyInfo:info:zxIdea'])">7办结审核</view>
+				<view class="btn btn1" @click="getEditFn" v-if="checkPermi(['sqmyInfo:info:edit'])&&progress==1">修改</view>
+				<view class="btn btn2" @click="getScfkFn('scfk')" v-if="checkPermi(['sqmyInfo:info:isRecord'])&&progress==1">2审查反馈</view>
+				<view class="btn btn2" @click="getScfkFn('tajb')" v-if="checkPermi(['sqmyInfo:info:assign'])&&progress==2">3提案交办</view>
+				<view class="btn btn2" @click="getScfkFn('dffk')" v-if="checkPermi(['sqmy:unit:reply'])&&(progress==4||progress==6||from=='tabl')&&progress!=7">4答复反馈</view>
+				<view class="btn btn2" @click="getScfkFn('jbsh')" v-if="checkPermi(['sqmyInfo:info:assignsh'])&&progress==5">5交办审核</view>
+				<view class="btn btn2" @click="getScfkFn('dwdf')" v-if="checkPermi(['sqmy:unit:reply'])&&progress==3&&hflist[0].isReply!=0">5答复反馈</view>
+				<view class="btn btn2" @click="getScfkFn('dwdf')" v-if="checkPermi(['sqmyInfo:info:cbdwdfwy'])&&progress==7">5承办单位答复委员</view>
+				<view class="btn btn2" @click="getScfkFn('wymyfk')" v-if="checkPermi(['sqmyInfo:info:idea'])&&progress==8">6办结审核</view>
+				<view class="btn btn2" @click="getScfkFn('zxmyfk')" v-if="checkPermi(['sqmyInfo:info:zxIdea'])&&progress==8">7办结审核</view>
+				
 				<!--委员答复填内容,委员填满意度 -->
 				<!--协办单位,主办单位 填办理方式,办理程度,内容 附件 -->
 				<!-- 4.承办单位答复,交办单位审核(通过,不通过), -->
@@ -206,7 +236,7 @@
 	import {getDeptTree} from"@/api/mine/mine.js"
 	import { selectValue,selectValuetext } from '@/utils/common.js';
 	import {getsqmyInfoDetailFn,getsqmyInfoDelFn,getsqmyInfoisRecordFn,getsqmyInfoAssignFn,getsqmyReplyFn,
-	getsqmyInfoShFn,getsqmyInfoIdeaFn,getsqmyInfozxIdeaFn} from "@/api/mine/sqmyInfo.js"
+	getsqmyInfoShFn,getsqmyInfoIdeaFn,getsqmyInfozxIdeaFn,getsqmyInfoReplywyFn} from "@/api/mine/sqmyInfo.js"
 	import {getDictionaryFn} from "@/api/mine/register.js"
 	export default{
 		components:{popUp,noData},
@@ -221,7 +251,6 @@
 				upsimg:require("@/work/static/images/ups.png"),
 				zheList:[{val:0,zheflag:true,moreflag:true},{val:0,zheflag:true,moreflag:true},{val:0,zheflag:true,moreflag:true},{val:0,zheflag:true,moreflag:true},],
 				dwList:[{tit:'主办单位',val:2},{tit:'协办单位',val:3}],
-				dwdetList:[],
 				dwVal:2,
 				ptype:'',
 				datainfo:{},
@@ -234,7 +263,11 @@
 				blcdlist:[],//办理程度
 				deptTree:[],//答复单位
 				mycdlist:[],//满意程度
-				tary:''
+				tary:'',
+				progress:'',
+				hflist:[],
+				zblist:[],
+				xblist:[],
 			}
 		},
 		onUnload(){
@@ -372,15 +405,29 @@
 				}else if(type=='dffk'||type=='dwdf'){
 					var params=JSON.parse(JSON.stringify(e))
 					params.sqmyId=this.id
-					getsqmyReplyFn(params).then(res=>{
-						if(res.code==200){
-							this.$toast("答复反馈成功");
-							setTimeout(function(){
-								that.ptype='';
-								that.getDetail()
-							},1200)	
-						}
-					})
+					if(this.progress==7){
+						getsqmyInfoReplywyFn(params).then(res=>{
+							params.cbdwdfwy=params.content;
+							if(res.code==200){
+								this.$toast("答复反馈成功");
+								setTimeout(function(){
+									that.ptype='';
+									that.getDetail()
+								},1200)	
+							}
+						})
+					}else{
+						getsqmyReplyFn(params).then(res=>{
+							if(res.code==200){
+								this.$toast("答复反馈成功");
+								setTimeout(function(){
+									that.ptype='';
+									that.getDetail()
+								},1200)	
+							}
+						})
+					}
+					
 				}else if(type=='jbsh'){
 					var params=JSON.parse(JSON.stringify(e))
 					params.sqmyId=this.id
@@ -464,18 +511,34 @@
 				getsqmyInfoDetailFn(this.id).then(res=>{
 					if(res.code==200){
 						this.datainfo=res.data;
+						this.progress=res.data.sqmyProgress;
 						if(res.data.zxFjList&&res.data.zxFjList.length){
 							this.filelist=JSON.parse(JSON.stringify(res.data.zxFjList))
 						}
-						var taryList=res.data.proposalUserList;
-						if(taryList&&taryList.length){
-							var newArr=[]
-							taryList.forEach(ite=>{
-								newArr.push(ite.name)
+						// var taryList=res.data.proposalUserList;
+						// if(taryList&&taryList.length){
+						// 	var newArr=[]
+						// 	taryList.forEach(ite=>{
+						// 		newArr.push(ite.name)
+						// 	})
+						// 	this.tary=newArr.join('/')
+						// }
+						var dwList=res.data.sqmyUnitReplyList;
+						var hflist=[],zblist=[],xblist=[];
+						if(dwList&&dwList.length){
+							dwList.forEach(ite=>{
+								if(ite.type==1){
+									hflist.push(ite)
+								}else if(ite.type==2){
+									zblist.push(ite)
+								}else if(ite.type==3){
+									xblist.push(ite)
+								}
 							})
-							this.tary=newArr.join('/')
 						}
-						this.dwdetList=res.data.proposalUnitReplyList;
+						this.hflist=hflist;
+						this.zblist=zblist;
+						this.xblist=xblist;
 					}
 				})
 			},

+ 69 - 41
work/pages/sqmyInfo/mine.vue

@@ -22,7 +22,7 @@
 			</view>
 			<view class="tablists flexc mb20">
 				<block v-for="(ite,idx) in tabList" >
-					<view  v-if="checkPermi([ite.limit])" @click="getTabFn(ite)" :class="{act:tabidx==ite.val}" :key="idx">{{ite.tit}}</view>
+					<view  v-if="!ite.limit||ite.limit&&checkPermi([ite.limit])" @click="getTabFn(ite)" :class="{act:tabidx==ite.val}" :key="idx">{{ite.tit}}</view>
 				</block>
 				
 			</view>
@@ -88,7 +88,7 @@
 	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
 	import {getsqmyInfoListFn,getsqmyInfoisRecordFn,getsqmyInfoAssignFn,getsqmyReplyFn,
 	getsqmyInfoShFn,getsqmyInfoIdeaFn,getsqmyInfozxIdeaFn,
-	getInfourgeFn,getsqmyInfokeyPointFn,getsqmyInfooutstandingFn
+	getInfourgeFn,getsqmyInfokeyPointFn,getsqmyInfooutstandingFn,getInfounitListFn
 	} from "@/api/mine/sqmyInfo.js"
 	import popUp from "@/work/components/popup/popup.vue"
 	import sqmyInfoList from "@/work/components/sqmyInfo/list.vue"
@@ -106,11 +106,11 @@
 				backgroundColor:"#1D64E2",
 				tabidx:'qb',
 				tabtype:'',//进度查询
-				// {tit:'征集通知',val:0}, 提案催办 目前看所有
-				tabList:[{tit:'全部',val:'qb',},{tit:'信息审核',jd:1,val:'xxsh',limit:'proposalInfo:info:isRecord'},{tit:'信息交办',jd:4,val:'xxjb',},
-				{tit:'信息办理',jd:5,val:'xxbl',},{tit:'办结审核',jd:6,val:'bjsh',},
-				{tit:'信息催办',val:'xxcb',},
-				{tit:'信息上报',val:'xxsb',},{tit:'上网社情民意',val:'swsqmy',},{tit:'推荐优秀',val:'tjyx'},
+				// {tit:'征集通知',val:0}, 提案催办 目前看所有{tit:'上网社情民意',val:'swsqmy',},
+				tabList:[{tit:'全部',val:'qb',},{tit:'信息审核',jd:1,val:'xxsh',limit:'proposalInfo:info:isRecord'},{tit:'信息交办',jd:2,val:'xxjb',},
+				{tit:'信息办理',val:'xxbl',limit:'sqmyInfo:info:unitList'},{tit:'办结审核',jd:6,val:'bjsh',},
+				{tit:'信息催办',val:'xxcb',limit:'sqmyInfo:info:sqmycbList'},{tit:'接收催办',val:'jssqcb',limit:'sqmyInfo:info:sqmycbList'},
+				{tit:'信息上报',val:'xxsb',},{tit:'推荐优秀',val:'tjyx'},
 				{tit:'推荐重点',val:'tjzd'}
 				],
 				// {tit:'开始日期',val:1},{tit:'结束日期',val:2},
@@ -158,6 +158,13 @@
 		onUnload(){
 			uni.$off('refreshlist')
 		},
+		// 上拉触底加载更多触发事件
+		onReachBottom() {
+			if (this.reachflag) {
+				this.pageNum++
+				this.getDataFn()
+			}
+		},
 		onLoad(e) {
 			this.getDataFn()
 			this.init()
@@ -310,10 +317,8 @@
 						if(res.code==200){
 							this.$toast("立案成功");
 							setTimeout(function(){
-								that.ptype='';
-								that.getDetail()
-							},1200)
-							
+								that.getrefreshData()
+							},1200)	
 						}
 					})
 				}else if(type=='tajb'){
@@ -323,8 +328,7 @@
 						if(res.code==200){
 							this.$toast("提案办结成功");
 							setTimeout(function(){
-								that.ptype='';
-								that.getDetail()
+								that.getrefreshData()
 							},1200)
 						}
 					})
@@ -335,8 +339,7 @@
 						if(res.code==200){
 							this.$toast("答复反馈成功");
 							setTimeout(function(){
-								that.ptype='';
-								that.getDetail()
+								that.getrefreshData()
 							},1200)	
 						}
 					})
@@ -347,8 +350,7 @@
 						if(res.code==200){
 							this.$toast("交办审核成功");
 							setTimeout(function(){
-								that.ptype='';
-								that.getDetail()
+								that.getrefreshData()
 							},1200)	
 						}
 					})
@@ -359,8 +361,7 @@
 						if(res.code==200){
 							this.$toast("提案办结成功");
 							setTimeout(function(){
-								that.ptype='';
-								that.getDetail()
+								that.getrefreshData()
 							},1200)	
 						}
 					})
@@ -371,8 +372,7 @@
 						if(res.code==200){
 							this.$toast("提案办结成功");
 							setTimeout(function(){
-								that.ptype='';
-								that.getDetail()
+								that.getrefreshData()
 							},1200)	
 						}
 					})
@@ -476,6 +476,7 @@
 				})
 			},
 			getrefreshData(){
+				this.ptype='';
 				this.pageNum=1;
 				this.list=[];
 				this.reachflag=true;
@@ -561,31 +562,58 @@
 				}else if(tab=='xxsb'){
 					params.userId=this.userId
 				}
-				
-				getsqmyInfoListFn(params).then(res=>{
-					if(res.code==200){
-						if (res.rows.length < this.pageSize) {
-							this.reachflag = false
-							this.wtdt = '到底了~';
-						} else {
-							var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum -	1)
-							if (num < res.total) {
-								this.reachflag = true
-								this.wtdt = '上拉加载更多'
-							} else {
+				if(tab=='xxbl'){
+					getInfounitListFn(params).then(res=>{
+						if(res.code==200){
+							if (res.rows.length < this.pageSize) {
 								this.reachflag = false
 								this.wtdt = '到底了~';
+							} else {
+								var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum -	1)
+								if (num < res.total) {
+									this.reachflag = true
+									this.wtdt = '上拉加载更多'
+								} else {
+									this.reachflag = false
+									this.wtdt = '到底了~';
+								}
+							}
+							if (this.pageNum == 1) {
+								this.list = res.rows;
+							} else {
+								this.list = this.list.concat(res.rows)
 							}
+						}else{
+							this.$toast(res.msg)
 						}
-						if (this.pageNum == 1) {
-							this.list = res.rows;
-						} else {
-							this.list = this.list.concat(res.rows)
+					}) 
+				}else{
+					getsqmyInfoListFn(params).then(res=>{
+						if(res.code==200){
+							if (res.rows.length < this.pageSize) {
+								this.reachflag = false
+								this.wtdt = '到底了~';
+							} else {
+								var num = parseInt(res.rows.length) + parseInt(this.pageSize) * parseInt(this.pageNum -	1)
+								if (num < res.total) {
+									this.reachflag = true
+									this.wtdt = '上拉加载更多'
+								} else {
+									this.reachflag = false
+									this.wtdt = '到底了~';
+								}
+							}
+							if (this.pageNum == 1) {
+								this.list = res.rows;
+							} else {
+								this.list = this.list.concat(res.rows)
+							}
+						}else{
+							this.$toast(res.msg)
 						}
-					}else{
-						this.$toast(res.msg)
-					}
-				}) 
+					}) 
+				}
+				
 				
 				
 			},