zouling 1 年之前
父节点
当前提交
8838c9138f

+ 8 - 0
api/mine/case.js

@@ -45,6 +45,14 @@ export function getCasetalbFn(data) {
 	'data':data
   })
 }
+// 
+export function getCasetalblistFn(data) {
+  return request({
+    'url': '/system/dept/list',
+    'method': 'get',
+	'data':data
+  })
+}
 // 提案人员 委员信息-列表不分页member:info:listNoPage
 export function getInfoListFn(data) {
   return request({

+ 63 - 0
api/mine/meeting.js

@@ -173,6 +173,69 @@ export function getzxActivityPeoFn(data) {
 	'data':data
   })
 }
+//政协活动-修改请假审批zxActivity:activity:updateApproval
+export function getzxActivitypsFn(data) {
+  return request({
+    'url': '/zxActivity/activity/updateApproval',
+    'method': 'post',
+	'data':data
+  })
+}
+//会议活动-修改会议答复信息zxConference:conference:updateApproval
+export function getzxConferencepsFn(data) {
+  return request({
+    'url': '/zxConference/conference/updateApproval',
+    'method': 'post',
+	'data':data
+  })
+}
+
+//招商引资-列表zx:investment:list
+export function getinvestmentListFn(data) {
+  return request({
+    'url': '/zx/investment/list',
+    'method': 'get',
+	'data':data
+  })
+}
+//招商引资-新增zx:investment:add
+export function getinvestmentAddFn(data) {
+  return request({
+    'url': '/zx/investment',
+    'method': 'post',
+	'data':data
+  })
+}
+//招商引资-修改zx:investment:edit
+export function getinvestmentEditFn(data) {
+  return request({
+    'url': '/zx/investment/put',
+    'method': 'post',
+	'data':data
+  })
+}
+//招商引资-删除zx:investment:remove
+export function getinvestmentDelFn(data) {
+  return request({
+    'url': '/zx/investment/delete/'+data,
+    'method': 'get',
+  })
+}
+//招商引资-详情zx:investment:query
+export function getinvestmentDetailFn(data) {
+  return request({
+    'url': '/zx/investment/'+data,
+    'method': 'get',
+  })
+}
+//招商引资-审核/签约按钮zx:investment:examine
+export function getinvestmentshlFn(data) {
+  return request({
+    'url': '/zx/investment/examine',
+    'method': 'post',
+	'data':data
+  })
+}
 
 // 会议通知-列表 zxConference:conference:list
 // export function getMeetListFn(data) {

+ 4 - 4
components/ba-tree-picker/ba-tree-pickerfixed.vue

@@ -21,8 +21,8 @@
 							itemBorder: border === true,
 							show: item.isShow
 						}">
-							<view class="item-label">
-								<view class="item-icon flexcc" @tap.stop="_onItemSwitch(item, index)">
+							<view class="item-label" @tap.stop="_onItemSelect(item, index)">
+								<!-- <view class="item-icon flexcc" @tap.stop="_onItemSwitch(item, index)">
 									<view v-if="!item.isLastLevel&&item.isShowChild" class="switch-on"
 										:style="{'border-left-color':switchColor}">
 									</view>
@@ -31,8 +31,8 @@
 									</view>
 									<view v-else class="item-last-dot" :style="{'border-top-color':switchColor}">
 									</view>
-								</view>
-								<view class="flexc uni-inline-item" @tap.stop="_onItemSelect(item, index)">
+								</view> -->
+								<view class="flexc uni-inline-item" >
 									
 									<view class="item-check" v-if="selectParent?true:item.isLastLevel">
 										<view class="item-check-yes" v-if="item.checkStatus==1"

+ 1 - 1
components/notice/list.vue

@@ -30,7 +30,7 @@
 			<view class="nlist" v-for="(ite,idx) in datalist" :key='idx' @click="getDetail(ite.sqmyId)">
 				<view class="tit overtwo">{{ite.title}}</view>
 				<view class="txt flexcj mb10">
-					<view class="flex0 label">号</view>
+					<view class="flex0 label">号</view>
 					<view class="txts">{{ite.sqmyNumber}}</view>
 					<view class="btns">{{kaType(ite.sqmyProgress,tajdlist)}}</view>
 				</view>

+ 1 - 1
components/popup/popup.vue

@@ -21,7 +21,7 @@
 			<view  class="boxs">
 				<view class="ztit">您有一条暂存信息还未提交</view>
 				<view class="ztit">是否继续编辑?</view>
-				<view class="ztit mb32">查看<text @click="getFaFn('old',type)">暂存提案</text></view>
+				<view class="ztit mb32">查看<text @click="getFaFn('old',type)">暂存信息</text></view>
 			</view>
 			<view class="fixedbtn flexcj">
 				<view class="btns btn1" @click="getFaFn('new',type)">重新发布</view>

+ 2 - 2
config.js

@@ -1,8 +1,8 @@
 // 应用全局配置
 module.exports = {
   // baseUrl: 'https://vue.ruoyi.vip/prod-api',
-  baseUrl: 'https://qszx.qs163.cn/prod-api',
-  // baseUrl: 'http://192.168.101.168:8055',
+  // baseUrl: 'https://qszx.qs163.cn/prod-api',
+  baseUrl: 'http://192.168.3.86:8055',
   // baseUrl: 'http://192.168.101.245:8055',
   baseUrls: 'https://qszx.qs163.cn',
   Clientid:'428a8310cd442757ae699df5d894f051',//

+ 29 - 2
pages.json

@@ -197,7 +197,7 @@
 			{
 				"path": "pages/sqmyInfo/mine",
 				"style": {
-					"navigationBarTitleText": "社情民意",
+					"navigationBarTitleText": "社情民意信息",
 					"navigationBarBackgroundColor": "#1D64E2",
 					"navigationBarTextStyle": "white",
 					"navigationStyle": "custom",
@@ -207,7 +207,7 @@
 			{
 				"path": "pages/sqmyInfo/details",
 				"style": {
-					"navigationBarTitleText": "社情民意详情",
+					"navigationBarTitleText": "社情民意信息",
 					"navigationBarBackgroundColor": "#1D64E2",
 					"navigationBarTextStyle": "white",
 					"h5":{"titleNView":false}
@@ -279,6 +279,24 @@
 					"h5":{"titleNView":false}
 				}
 			},
+			{
+				"path": "pages/meeting/addzsyz",
+				"style": {
+					"navigationBarTitleText": "招商线索",
+					"navigationBarBackgroundColor": "#1D64E2",
+					"navigationBarTextStyle": "white",
+					"h5":{"titleNView":false}
+				}
+			},
+			{
+				"path": "pages/meeting/zsyzdetails",
+				"style": {
+					"navigationBarTitleText": "线索详情",
+					"navigationBarBackgroundColor": "#1D64E2",
+					"navigationBarTextStyle": "white",
+					"h5":{"titleNView":false}
+				}
+			},
 			{
 				"path": "pages/meeting/speakdetails",
 				"style": {
@@ -380,6 +398,15 @@
 					"h5":{"titleNView":false}
 				}
 			},
+			{
+				"path": "pages/report/scoredetail",
+				"style": {
+					"navigationBarTitleText": "加分详情",
+					"navigationBarBackgroundColor": "#1D64E2",
+					"navigationBarTextStyle": "white",
+					"h5":{"titleNView":false}
+				}
+			},
 			{
 				"path": "pages/report/report",
 				"style": {

+ 13 - 10
pages/index/index.vue

@@ -16,7 +16,8 @@
 			</view>
 			<image :src="bgimg" class="bgimg"></image>
 			<view class="zxmain">
-				<view class="flexc mb27">
+				<image :src="titbg" class="titbg"></image>
+				<!-- <view class="flexc mb27">
 					<view class="htop" @click="getAddCase" v-if="checkPermi(['proposalInfo:info:add'])">
 						<view class="imgs">
 							<image :src="htopa" class="imga"></image>
@@ -41,14 +42,14 @@
 						</view>
 						<view class="tit">创建会议</view>
 					</view>
-				</view>
+				</view> -->
 				<view class="hbox">
 					<!-- 通知栏 -->
 					<block v-if="checkPermi(['zxNotice:notice:list'])">
 						<h-notice :noticelist="noticelist" :autoplay='autoplay' @getNoticeDet="getNoticeDet"></h-notice>
 					</block>
 					<!-- 提案办理 -->
-					<view class="flexcw blbox">
+					<view class="flexcw blbox" v-if="checkPermi(['proposalInfo:info:unitList','sqmyInfo:info:unitList','zxUrge:urge:list'])">
 						<view class="htbox" @click="handleTotabl" v-if="checkPermi(['proposalInfo:info:unitList','sqmyInfo:info:unitList'])">
 							<image :src="kricob" class="hrbg"></image>
 							<view class="htboxa flexc">
@@ -212,8 +213,9 @@
 			kricoa:require("@/static/images/home/kricoa.png"),
 			kricob:require("@/static/images/home/kricob.png"),
 			upimg:require("@/static/images/home/up.png"),
+			titbg:require("@/static/images/home/titbg.png"),
 			tabval:1,
-			tabList:[{tit:'公开提案',val:1,limit:'proposalInfo:info:list'},{tit:'社情民意',val:2,limit:'sqmyInfo:info:list'},],
+			tabList:[{tit:'重点提案',val:1,limit:'proposalInfo:info:list'},{tit:'社情民意',val:2,limit:'sqmyInfo:info:list'},],
 			list:[],
 			pageSize: 10,
 			pageNum: 1,
@@ -248,10 +250,10 @@
 		}
 	},
 	onUnload(){
-		uni.$off('refreshlist')
+		uni.$off('refreindexlist')
 	},
 	onLoad: function() {
-		uni.$on('refreshlist',(e) => {
+		uni.$on('refreindexlist',(e) => {
 			this.reachflag=false;
 			this.pageNum=1;
 			this.list=[];
@@ -454,9 +456,9 @@
 				pageNum: this.pageNum,
 				// visitType:3
 			}
-			if(this.tabval==1){//公开提案
-				params.isPublicity='是';
-				params.isRecord=0
+			if(this.tabval==1){//重点提案
+				params.isKeyPoint='0';
+				// params.isRecord=0
 				getCaseListFn(params).then(res=>{
 					if(res.code==200){
 						if (res.rows.length < this.pageSize) {
@@ -528,7 +530,7 @@
 
 .zxbox{
 	.bgimg{width: 100%;height: 420rpx;}
-	.zxmain{margin-top: -260rpx;z-index: 1;position: relative;
+	.zxmain{margin-top: -300rpx;z-index: 1;position: relative;
 		.htop{width: 25%;display: flex;flex-direction: column;align-items: center;justify-content: center;
 			.imgs{
 				width: 74rpx;height: 74rpx;display: flex;align-items: center;justify-content: center;
@@ -583,4 +585,5 @@
 	}
 	
 }
+.titbg{width: 460rpx;height: 108rpx;margin-left: 48rpx;margin-bottom: 46rpx;position: relative;}
 </style>

+ 2 - 2
pages/login.vue

@@ -96,8 +96,8 @@
 			 <!-- <view class="bbcode">版本号:ZXY_YY_1.3</view> -->
 	  </view>
 	 
-	   <view class="loginb" @click="tabidx=1" v-if="tabidx==2">账号密码登录</view> 
-	   <view class="loginb" @click="tabidx=2" v-if="tabidx==1">手机登录</view> 
+	   <view class="loginb" @click="getTab(1)" v-if="tabidx==2">账号密码登录</view> 
+	   <view class="loginb" @click="getTab(2)" v-if="tabidx==1">手机登录</view> 
 	  <!-- <view class="rtxt mt26" @click="getregister">还没账号?去申请注册</view> -->
 	  <phone-btn :type="typeflag" @getPhoneNumber='getPhoneNumber' @getClose="getClose"></phone-btn>
   </view>

+ 12 - 12
pages/report/index.vue

@@ -29,10 +29,10 @@
 							<image :src="medala"></image>
 							界别<text></text>{{kaType(memberInfo.boundary,jblist)}}
 						</view>
-						<view class="bg bg2">
+						<!-- <view class="bg bg2">
 							<image :src="medalb"></image>
 							党派<text></text>{{kaType(memberInfo.partyAffiliation,dplist)}}
-						</view>
+						</view> -->
 					</view>
 				</view>
 			</view>
@@ -302,16 +302,16 @@
 					}
 				})
 				// 党派
-				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('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('proposal_progress').then(res=>{
 					if(res.code==200){

二进制
static/images/home/titbg.png


+ 18 - 1
work/components/case/list.vue

@@ -6,6 +6,13 @@
 			<view class="caselist" v-for="(ite,idx) in datalist" :key='idx' @click="getDetail(ite.proposalId)">
 				<view class="tit overtwo">{{ite.title}}</view>
 				
+				<view class="zdbox" v-if="ite.isKeyPoint==0">
+					<image :src="startbg" class="zdbg"></image>
+					<view class="zdboxa">
+						<image :src="startico"></image>
+						<view>重点</view>
+					</view>
+				</view>
 				<view class="flexcw" >
 					<view class="ftxt" v-if="type!='wdta'&&type!='gkta'">
 						<text>提案者</text>
@@ -207,6 +214,8 @@
 			nzanimg:require("@/work/static/images/nzanico.png"),
 			flower:require("@/work/static/images/flower.png"),
 			nflower:require("@/work/static/images/nflower.png"),
+			startbg:require("@/work/static/images/startbg.png"),
+			startico:require("@/work/static/images/startico.png"),
 			dfflag:false,
 			info:''
 		}
@@ -307,7 +316,7 @@
 </script>
 
 <style lang="scss" scoped>
-.caselist{background: #FFFFFF;border-radius: 30rpx;margin-top: 24rpx;padding: 38rpx 24rpx 8rpx;
+.caselist{background: #FFFFFF;border-radius: 30rpx;margin-top: 24rpx;padding: 38rpx 24rpx 8rpx;position: relative;
 	.tit{font-weight: bold;font-size: 32rpx;color: #222327;margin-bottom: 42rpx;}
 	.ftxt{display: flex;align-items: flex-start;margin-bottom: 32rpx;flex:0 1 auto;min-width: 50%;
 		text{font-weight: bold;font-size: 26rpx;color: #CACACA;flex: 0 0 auto;min-width: 104rpx;text-align-last: justify;}
@@ -347,4 +356,12 @@ font-size: 26rpx;margin-left: 26rpx;line-height: 52rpx;text-align: center;paddin
 			}	
 		}
 }
+.zdbox{
+	width: 52rpx;height: 96rpx;position: absolute;right: 24rpx;top: 0;
+	.zdbg{width: 100%;height: 100%;}
+	.zdboxa{position: absolute;left: 0;top: 0;right: 0;bottom: 0%;padding-top: 12rpx;
+		image{width: 20rpx;height: 20rpx;margin:0 auto 4rpx;}
+		view{font-weight: 500;font-size: 20rpx;color: #FFFFFF;text-align: center;}
+	}
+}
 </style>

+ 46 - 10
work/components/meeting/list.vue

@@ -4,7 +4,8 @@
 		<!-- 我的提案 -->
 			<view class="caselist" v-for="(ite,idx) in datalist" :key='idx' @click="getDetail(ite)">
 				<view class="tit overtwo" v-if="type=='wdfy'||type=='hyfy'">{{ite.speakTitle}}</view>
-				<view class="tit overtwo" v-else-if="type=='hdtz'">{{ite.activityTitle}}</view>
+				<view class="tit overtwo" v-else-if="type=='hdtz'||type=='zxhd'">{{ite.activityTitle}}</view>
+				<view class="tit overtwo" v-else-if="type=='zsyz'||type=='wdzs'">{{ite.clueName}}</view>
 				<view  class="flexcj mb20" v-else>
 					<view class="tit overtwo" style="margin-bottom: 0;">{{ite.conferenceTitle}}</view>
 					<image :src="codeimg" v-if="type=='hyhd'" class='codeimg' @click.stop="getTuiFn(ite,'qdm')"></image>
@@ -65,7 +66,7 @@
 						<text>活动内容</text>
 						<!-- <view>{{ite.activityDetails}}</view> -->
 						<view class="over">
-							<rich-text :nodes="ite.activityDetails"></rich-text>
+							<rich-text v-if="ite.activityDetails" :nodes="ite.activityDetails"></rich-text>
 						</view>
 					</view>
 					<view class="casebtn flexc" v-if="type=='zxhd'">
@@ -119,16 +120,42 @@
 						<view class="co0b">{{ite.speakStatus==2?'已审核':'待审核'}}</view>
 					</view> -->
 				</block>
-				<!-- <block v-if="type=='hyfy'">
-					<view class="casebtn flexc">
-						<view class="lfread">
-							已审核({{ite.noRead}})<text class="lfdet">未审核({{ite.read}})</text>
+				<block v-if="type=='zsyz'||type=='wdzs'">
+					<view class="flexcw" >
+						<view class="ftxt">
+							<text>委员姓名</text>
+							<view>{{ite.name}}</view>
+						</view>
+						<view class="ftxt">
+							<text>拟投资额</text>
+							<view>{{ite.investmentAmount}}万元</view>
 						</view>
-						<view class="co1d" @click.stop="getReadFn(ite.speakId)">去审核</view>
 					</view>
-				</block> -->
-				
-				
+					<view class="ftxt">
+						<text>联系人</text>
+						<view>{{ite.contactsName}}</view>
+					</view>
+					<view class="ftxt">
+						<text>联系方式</text>
+						<view>{{ite.contactsPhone}}</view>
+					</view>
+					<view class="ftxt">
+						<text>录入时间</text>
+						<view>{{ite.publishTime}}</view>
+					</view>
+					<view class="ftxt">
+						<text>状态</text>
+						
+						<view class="co0b" v-if="ite.type==2">已签约</view>
+						<!-- <view class="co0b" v-else-if="ite.type==3">已签约</view> -->
+						<view class="co0b" v-else>待签约</view>
+					</view>
+					<view class="casebtn  flexc" v-if="checkPermi(['zx:investment:examine'])&&type=='zsyz'">
+						<view class="lftit">点击按钮 即为同意</view>
+						<!-- <view class="btn btn2" v-if="ite.type==1"  @click.stop="getTuiFn(ite,'zsyzsh')">审核</view> -->
+						<view class="btn btn2" v-if="ite.type==1"  @click.stop="getTuiFn(ite,'zsyzqy')">签约</view>
+					</view>
+				</block>
 				<!-- 会议活动,活动通知管理员 -->
 				
 				
@@ -257,6 +284,8 @@
 				id=e.speakId
 			}else if(type=='hdtz'||type=='zxhd'){
 				id=e.activityId
+			}else if(type=='zsyz'||type=='wdzs'){
+				id=e.investmentId
 			}
 			this.$emit('getDetail',id)
 		},
@@ -293,6 +322,13 @@
 						}
 					}
 				});
+			}else if(txt=='zsyzsh'||txt=='zsyzqy'){
+				var id=ite.investmentId;
+				var obj={
+					id:id,
+					type:txt,
+				}
+				this.$emit('getTuiFn',obj)
 			}else{
 				var id=ite.conferenceId;
 				if(this.type=='hdtz'){

+ 136 - 7
work/components/popup/popup.vue

@@ -136,12 +136,12 @@
 			</view>
 		</view>
 		<!-- 暂存提案的弹窗 -->
-		<view class="fixedbox" v-if="type=='zcta'||type=='zchy'">
+		<view class="fixedbox" v-if="type=='zcta'||type=='zchy'||type=='sqmy'">
 			<view class="ttit">提示</view>
 			<view  class="boxs">
 				<view class="ztit">您有一条暂存信息还未提交</view>
 				<view class="ztit">是否继续编辑?</view>
-				<view class="ztit mb32">查看<text @click="getFaFn('old',type)">暂存提案</text></view>
+				<view class="ztit mb32">查看<text @click="getFaFn('old',type)">暂存信息</text></view>
 			</view>
 			<view class="fixedbtn flexcj">
 				<view class="btns btn1" @click="getFaFn('new',type)">重新发布</view>
@@ -303,7 +303,7 @@
 			<view  class="boxs">
 				<view class="mb16">
 					<!-- @change="change" -->
-					<view class="ttxt mb18"><text class="cof0">*</text>答复内容</view>
+					<view class="ttxt mb18"><text class="cof0">*</text>内容</view>
 					<textarea class="textar mb25" @blur="getBlur" v-model="content" placeholder="请输入答复内容" maxlength="1000" ></textarea>
 				</view>
 				<view class="mb16" >
@@ -376,7 +376,78 @@
 				<view class="btns btn2" @click="getupSubmit">提交</view>
 			</view>
 		</view>
-		
+		<!-- 是否采用 -->
+		<view class="fixedbox" v-if="type=='sfcy'">
+			<view class="ttit">审查反馈</view>
+			<view  class="boxs">
+				<view class="mb16">
+					<!-- @change="change" -->
+					<view class="ttxt mb18"><text class="cof0">*</text>是否采用</view>
+					<uni-data-select
+					  v-model="isRecord"
+					  placeholder="请选择采用/不采用"
+					  :localdata="cylarange"
+					  
+					></uni-data-select>
+				</view>
+				<!-- 提案号 -->
+				<view class="mb16" v-if="isRecord==0">
+					<view class="ttxt mb18"><text class="cof0">*</text>编号</view>
+					<input class="input"  v-model="txtnumber"  placeholder="请输入编号"/>
+				</view>
+			</view>
+			<view class="fixedbtn flexcj">
+				<view class="btns btn1" @click="getClose">取消</view>
+				<view class="btns btn2" @click="getupSubmit">提交</view>
+			</view>
+		</view>
+		<!-- 备注回复 -->
+		<view class="fixedbox" v-if="type=='bzhf'">
+			<view class="ttit">备注回复</view>
+			<view  class="boxs">
+				<view class="mb16">
+					<!-- @change="change" -->
+					<view class="ttxt mb18"><text class="cof0">*</text>内容</view>
+					<textarea class="textar mb25" @blur="getBlur" v-model="content" placeholder="请输入回复内容" maxlength="1000" ></textarea>
+				</view>
+				<view class="mb16" >
+					<view class="flexcj mb10">
+						<view class="ttxt">添加附件</view>
+						<view class="fjadd"><lsj-upload
+							    ref="lsjUpload"
+							    childId="upload1"
+							    :width="width"
+							    :height="height"
+							    :option="option"
+							    :size="size"
+							    :formats="formats"
+							    :debug="debug"
+							    :instantly="instantly"
+							    @progress=""
+								@uploadEnd="onuploadEnd" >
+							        <view class="btn" :style="{width: width,height: height}">上传附件</view>
+							</lsj-upload>
+						</view>
+					</view>
+					<view class="ptb2" v-if="filelist&&filelist.length">
+						<view class="fjlists"  v-for="(ite,idx) in filelist" :key='idx'>
+							<view class="flext f15 c6" @click="getDown(ite.url)">
+								<view class="imgl"><image :src="fjimg" ></image></view>
+								<view class="tit">{{ite.name}}</view>
+							</view>
+							<!-- 删除 -->
+							<view class="delimg flex0" @click.stop="getDelFj(idx)">
+								<image :src="delimg"></image>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="fixedbtn flexcj">
+				<view class="btns btn1" @click="getClose">取消</view>
+				<view class="btns btn2" @click="getupSubmit">提交</view>
+			</view>
+		</view>
 		<!-- 催办 -->
 		<view class="fixedbox" v-if="type=='tacb'">
 			<view class="ttit">催办</view>
@@ -460,6 +531,29 @@
 				<view class="btns btn2" @click="getupSubmit">提交</view>
 			</view>
 		</view>
+		<!-- 请假审核 -->
+		<view class="fixedbox" v-if="type=='qjps'">
+			<view class="ttit">批示</view>
+			<view  class="boxs">
+				<view class="mb16">
+					<view class="ttxt mb18"><text class="cof0">*</text>是否同意</view>
+					<uni-data-select
+					  v-model="approval"
+					  :localdata="jqagreelist"
+					  placeholder="同意/不同意"
+					  @change="change"
+					></uni-data-select>
+				</view>
+				<view class="mb16" v-if="isJoin!='Y'">
+					<view class="ttxt mb18"><text class="cof0"></text>理由</view>
+					<textarea class="textar " style="height: 186rpx;" @blur="getBlur" v-model="content" placeholder="请输入请假事由" maxlength="1000" ></textarea>
+				</view>
+			</view>
+			<view class="fixedbtn flexcj">
+				<view class="btns btn1" @click="getClose">取消</view>
+				<view class="btns btn2" @click="getupSubmit">提交</view>
+			</view>
+		</view>
 		<!-- 会议签到二维码 -->
 		<view class="fixedbox" v-if="type=='qdm'">
 			<view class="ttit" style="margin-bottom: 80rpx;">会议签到二维码</view>
@@ -608,6 +702,12 @@
 				default () {
 					return ''
 				}
+			},
+			qjsh:{
+				type: [String,Number],
+				default () {
+					return ''
+				}
 			}
 		},
 		data(){
@@ -661,9 +761,12 @@
 				range: [{ value: 0, text: "满意" },{ value: 1, text: "不满意" },],
 				sfrange: [{ value: 0, text: "是" },{ value: 1, text: "否" },],
 				larange:[{ value: 0, text: "立案" },{ value: 1, text: "不立案" }],
+				cylarange:[{ value: 0, text: "采用" },{ value: 1, text: "不采用" }],
 				jbsharange:[{ value: 6, text: "不通过" },{ value: 7, text: "通过" }],
 				agreelist:[{ value: 1, text: "同意" },{ value: 2, text: "不同意" }],
 				joinlist:[{ value: 'Y', text: "是" },{ value: 'N', text: "否" }],
+				jqagreelist:[{ value: 2, text: "同意" },{ value: 3, text: "不同意" }],
+				approval:'',
 				value: 0,
 				isRecord:'',//是否立案
 				jbshtxt:'',//审核通过不通过
@@ -702,6 +805,9 @@
 			sh(val){
 				this.isRecord=Number(val);
 			},
+			qjsh(val){
+				this.approval=Number(val);
+			},
 			// iteminfo(val){
 			// 	var that=this;
 			// 	that.psnr='';
@@ -958,7 +1064,7 @@
 				if(type=='scfk'){
 					var isRecord=this.isRecord;
 					if(isRecord===''){
-						this.$toast('请选择否立案')
+						this.$toast('请选择否立案')
 						return
 					}	
 					var obj={
@@ -984,6 +1090,24 @@
 						obj.sqmyUnitReplyList=newArr
 					}
 					this.$emit('getupSubmit',obj)
+				}else if(type=='sfcy'){
+					var isRecord=this.isRecord;
+					if(isRecord===''){
+						this.$toast('请选择是否采用')
+						return
+					}	
+					var obj={
+						isRecord:this.isRecord
+					}
+					if(this.isRecord==0&&!this.txtnumber){
+						this.$toast('请输入编号')
+						return
+					}
+					if(this.isRecord==0){
+						obj.proposalNumber=this.txtnumber
+						obj.sqmyNumber=this.txtnumber
+					}
+					this.$emit('getupSubmit',obj)
 				}else if(type=='tajb'){
 					var newArr=this.recorddwlist;
 					var xbdwList=this.recorddwmlist;
@@ -1039,9 +1163,9 @@
 						sqmyProgress:this.jbshtxt,
 					}
 					this.$emit('getupSubmit',obj)
-				}else if(type=='dwdf'){
+				}else if(type=='dwdf'||type=='bzhf'){
 					if(!this.content){
-						this.$toast('请输入答复反馈')
+						this.$toast('请输入内容')
 						return
 					}
 					var obj={
@@ -1137,6 +1261,11 @@
 						obj.leaveReason=this.content;
 					}
 					
+					this.$emit('getupSubmit',obj)
+				}else if(type=='qjps'){
+					var obj={
+						approval:this.approval
+					}
 					this.$emit('getupSubmit',obj)
 				}
 				

+ 27 - 16
work/components/report/list.vue

@@ -9,7 +9,7 @@
 					<image v-else :src="avatarimg"></image>
 					<view class="headr">
 						<view class="name">{{ite.name}}</view>
-						<view class="unit">{{kaType(ite.boundary,jblist)}};{{kaType(ite.partyAffiliation,dplist)}}</view>
+						<view class="unit">{{kaType(ite.boundary,jcList)}};{{kaType(ite.studio,wybgslist)}}</view>
 					</view>
 				</view>
 				<!-- <view class="tit overtwo">{{ite.title}}</view> -->
@@ -40,13 +40,12 @@
 		</block>
 		<!-- 加分记录 -->
 		<block v-if="type=='jfju'">
-			<view class="caselist" v-for="(ite,idx) in datalist" :key='idx' >
-
-				<view class="tit overtwo">{{kaType(ite.boundary,jblist)}}</view>
-				<view class="ftxt">
+			<view class="caselist" v-for="(ite,idx) in datalist" :key='idx'  @click="getDetail(ite.bonusId)">
+				<!-- <view class="tit overtwo">{{kaType(ite.boundary,jblist)}}</view> -->
+				<!-- <view class="ftxt">
 					<text>考核类型</text>
 					<view>{{kaType(ite.checkType,khlxList)}}</view>
-				</view>
+				</view> -->
 				<view class="ftxt">
 					<text>加分类型</text>
 					<view>{{kaType(ite.bonusType,jflxList)}}</view>
@@ -72,7 +71,7 @@
 		</block>
 		<!-- 提案方面 -->
 		<block v-if="type==2">
-			<view class="talist" v-for="(ite,idx) in datalist" :key='idx'>
+			<view class="talist" v-for="(ite,idx) in datalist" :key='idx' @click="getDetail(ite.proposalId)">
 				<view class="tit overtwo">{{ite.title}}</view>
 				<view class="flexc">
 					<view class="f12 co6 fw5 mr24">{{ite.isJointly=='是'?'联名提案':'个人提案'}}</view>
@@ -86,14 +85,14 @@
 		</block>
 		<!-- 社情民意集合 -->
 		<block v-if="type==3">
-			<view class="talist" v-for="(ite,idx) in datalist" :key='idx'>
+			<view class="talist" v-for="(ite,idx) in datalist" :key='idx' @click="getDetail(ite.sqmyId)">
 				<view class="tit overtwo">{{ite.title}}</view>
 				<view class="flexc">
 					<view class="f12 co6 fw5 mr24">{{kaType(ite.topicType,ztlxlist)}}</view>
 					<view class="f12 co6 fw5">{{ite.createTime}}</view>
 				</view>
 				<view class="mt9 flexcj">
-					<view class="btna">{{kaType(ite.sqmyProgress,tajdlist)}}</view>
+					<view class="btna">{{kaType(ite.sqmyProgress,sqjdlist)}}</view>
 					<!-- <view class="btnb">4.3 <text>分</text></view> -->
 				</view>
 			</view>
@@ -111,17 +110,13 @@
 			</view>
 		</block>
 		<!-- 活动集合 -->
-		<block v-if="type==5">
-			<view class="talist" v-for="(ite,idx) in datalist" :key='idx'>
+		<block v-if="type==5||type==8||type==9||type==10||type==11" >
+			<view class="talist" v-for="(ite,idx) in datalist" :key='idx' @click="getDetail(ite.activityId)">
 				<view class="tit overtwo">{{ite.activityTitle}}</view>
 				<view class="flexc">
 					<view class="f12 co6 fw5 mr24">{{kaType(ite.activityType,hdlxlist)}}</view>
 					<view class="f12 co6 fw5">{{ite.activityDate}} {{ite.activityTime}}</view>
 				</view>
-				<!-- <view class="mt9 flexcj">
-					<view class="btna">{{kaType(ite.proposalProgress,tajdlist)}}</view>
-					<view class="btnb">4.3 <text>分</text></view>
-				</view> -->
 			</view>
 		</block>
 		<!-- 发言集合 -->
@@ -134,6 +129,16 @@
 				</view>
 			</view>
 		</block>
+		<!-- 招商集合 -->
+		<block v-if="type==7" >
+			<view class="talist" v-for="(ite,idx) in datalist" :key='idx' @click="getDetail(ite.investmentId)">
+				<view class="tit overtwo">{{ite.clueName}}</view>
+				<view class="flexc">
+					<view class="f12 co6 fw5 mr24">{{ite.investmentAmount}}</view>
+					<view class="f12 co6 fw5">{{ite.contactsName}} {{ite.contactsPhone}}</view>
+				</view>
+			</view>
+		</block>
 		<view class="shax" v-if="wtdt">{{wtdt}}</view>
 	</view>
 	<block v-else>
@@ -156,7 +161,7 @@
 				return []
 			}
 		},
-		dplist: {
+		wybgslist: {
 			type: Array,
 			default () {
 				return []
@@ -168,6 +173,12 @@
 				return []
 			}
 		},
+		sqjdlist:{
+			type: Array,
+			default () {
+				return []
+			}
+		},
 		jcList: {
 			type: Array,
 			default () {

+ 11 - 3
work/components/sqmyInfo/list.vue

@@ -4,7 +4,10 @@
 		<!-- 我的提案 -->
 		<block v-if="listtype=='case'">
 			<view class="caselist" v-for="(ite,idx) in datalist" :key='idx' @click="getDetail(ite.sqmyId)">
-				<view class="tit overtwo">{{ite.title}}</view>
+				<view class="flex">
+					<view class="tit overtwo flex1">{{ite.title}}</view>
+					<view class="readbox" :class="ite.isRead==0?'btna':'btnb'">{{ite.isRead==0?'已读':'未读'}}</view>
+				</view>
 				<view class="ftxt" v-if="type!='xxsb'&&type!='swsqmy'">
 					<text>上报者</text>
 					<view>{{ite.sqmyName}}</view>
@@ -34,7 +37,7 @@
 				</view>
 				<view class="ftxt" v-if="type=='xxsb'">
 					<text>信息状态</text>
-					<view>{{ite.categoryName}}</view>
+					<view>{{ite.isRead==0?'已读':'未读'}}</view>
 				</view>
 				<view class="ftxt" v-if="type=='swsqmy'">
 					<text>批示情况</text>
@@ -90,7 +93,7 @@
 						<view class="co22" v-if="ite.isRecord">已审核</view>
 						<view class="co1d" v-else>待审核</view>
 					</view>
-					<view class="btn btn2" v-if="!ite.isRecord&&checkPermi(['sqmyInfo:info:isRecord'])" @click.stop="getTuiFn(ite,'scfk')">审核</view>
+					<view class="btn btn2" v-if="!ite.isRecord&&checkPermi(['sqmyInfo:info:isRecord'])" @click.stop="getTuiFn(ite,'sfcy')">审核</view>
 				</view>
 				<!--催办  4(不包含4) 之后 可以催办-->
 				<view class="casebtn flexc" v-if="type=='xxcb'">
@@ -346,4 +349,9 @@ font-size: 26rpx;margin-left: 26rpx;line-height: 52rpx;text-align: center;paddin
 			}	
 		}
 }
+.readbox{min-width: 110rpx;height: 40rpx;border-radius: 10rpx;font-weight: 500;line-height: 40rpx;
+font-size: 24rpx;text-align: center;padding: 0 16rpx;box-sizing: border-box;margin-left: 20rpx;
+	&.btna{color: #1D64E2;background: #E4EEFF;}
+	&.btnb{color: #FF4E00;background: #FFECE3;}
+}
 </style>

+ 46 - 18
work/pages/case/add.vue

@@ -19,8 +19,8 @@
 						<view class="txt"><text>提案者:</text>{{datainfo.proposalName}}</view>
 						<view class="txt"><text>联系方式:</text>{{datainfo.proposalPhone}}</view>
 						<view class="txt"><text>界别:</text>{{kayType(datainfo.boundary,jblist)}}</view>
-						<view class="txt"><text>党派:</text>{{kayType(datainfo.partyAffiliation,dplist)}}</view>
-						<view class="txt"><text>联系地址:</text>{{datainfo.contactAddress}}</view>
+						<!-- <view class="txt"><text>党派:</text>{{kayType(datainfo.partyAffiliation,dplist)}}</view> -->
+						<view class="txt"><text>工作单位及职务:</text>{{datainfo.contactAddress}}</view>
 					</view>
 					<image :src="infobg" class="infobg"></image>
 				</view>
@@ -33,14 +33,21 @@
 					</view>
 				</view>
 				<view class="pb8">
-					<uni-forms-item label="题" name="title" required>
+					<uni-forms-item label="题" name="title" required>
 						<uni-easyinput :inputBorder="false" type="text" v-model="datainfo.title" placeholder="请输入标题" />
 						<view class="edtip pa">* 标题前无须加关于,标题后无须加的建议,系统将自动填写</view>
 					</uni-forms-item>
 				</view>
-				<uni-forms-item label="提案类别" name="categoryName" required>
+				<!-- <uni-forms-item label="提案类别" name="categoryName" required>
 					<view class="openbox" :class="datainfo.categoryName?'':'coa'" @click="gettalbFn">{{datainfo.categoryName||"请选择提案类别"}}</view>
-				</uni-forms-item>
+				</uni-forms-item> -->
+				<picker  range-key='label' :value="talbidx" :range="talblist"   @change='bindDateChangea'>
+					<uni-forms-item label="提案类别" name="categoryName" required>
+						<view class="lbtabp">
+							<view :class="datainfo.categoryName?'':'coa'">{{datainfo.categoryName||"请选择提案类别"}}</view>
+						</view>	
+					</uni-forms-item>
+				</picker>
 				<uni-forms-item label="提案类型" name="proposalType">
 					<view class="checkbox">
 						<uni-data-checkbox v-model="datainfo.proposalType" :localdata="typeList" />
@@ -113,7 +120,7 @@
 				<uni-forms-item label="联名提案人员" name="proposalUserList" v-if="datainfo.isJointly=='是'">
 					<view class="openbox" @click="getlmtaFn" :class="tary?'':'coa'">{{tary||"请选择联名提案人员"}}</view>
 				</uni-forms-item>
-				<uni-forms-item label="同意公开" name="isPublicity">
+				<!-- <uni-forms-item label="同意公开" name="isPublicity">
 					<view class="checkbox">
 						<uni-data-checkbox v-model="datainfo.isPublicity" :localdata="sfList" />
 					</view>
@@ -137,7 +144,7 @@
 					<view class="checkbox">
 						<uni-data-checkbox v-model="datainfo.isPerson" :localdata="sfList" />
 					</view>
-				</uni-forms-item>
+				</uni-forms-item> -->
 				<uni-forms-item label="需要办理的协商方式" name="negotiateType">
 					<view class="matab">
 						<view class="list" :class="checkidx.indexOf(ite.label)!=-1?'act':''" v-for="(ite,idx) in matterlist" :key='idx' @click="getCheck(ite.label)">{{ite.label}}</view>
@@ -161,7 +168,7 @@
 	const baseUrl = config.baseUrl
 	import { getToken } from '@/utils/auth'
 	import { selectValue } from '@/utils/common.js';
-	import {getCaseAddFn,getCaseDetailFn,getCaseEditFn} from "@/api/mine/case.js"
+	import {getCaseAddFn,getCaseDetailFn,getCaseEditFn,getCasetalbFn} from "@/api/mine/case.js"
 	import {getDictionaryFn} from "@/api/mine/register.js"
 	export default{
 		data(){
@@ -244,6 +251,8 @@
 				id:"",
 				pagetype:'add',
 				editinfo:'',
+				talblist:[],
+				talbidx:'',
 			}
 		},
 		onUnload(){
@@ -260,6 +269,7 @@
 				this.tary=e.namelist.join('/')
 			})
 			this.init()
+			this.getCasetalbFn()
 			if(e.type=='edit'){
 				this.id=e.id;
 				this.pagetype='edit'
@@ -288,6 +298,24 @@
 			kayType(ite,list){
 				return selectValue(list, ite);
 			},
+			//提案类别
+			getCasetalbFn(){
+				getCasetalbFn().then(res=>{
+					if(res.code==200){
+						this.talblist = res.data.map(v => {
+							return {
+								label: v.label,
+								value: v.id
+							}
+						})
+					}
+				})
+			},
+			bindDateChangea(e){
+				var val=e.detail.value;
+				this.datainfo.categoryName=this.talblist[val].label;
+				this.datainfo.categoryId=this.talblist[val].value;
+			},
 			init(){
 				getDictionaryFn('negotiation_mode').then(res=>{
 					if(res.code==200&&res.data.length){
@@ -311,16 +339,16 @@
 					}
 				})
 				// 党派
-				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('political_parties').then(res=>{
+				// 	if(res.code==200&&res.data.length){
+				// 		this.dplist = res.data.map(v => {
+				// 			return {
+				// 				label: v.dictLabel,
+				// 				value: v.dictValue
+				// 			}
+				// 		})
+				// 	}
+				// })
 			},
 			getDetail(){
 				var that=this;

+ 49 - 30
work/pages/case/details.vue

@@ -3,7 +3,7 @@
 		<view class="navbox">
 			<!-- 步骤条 -->
 			<view class="dtabs">
-				<view class="tab" :class="datainfo.proposalProgress==ite.value?'act':''" v-for="(ite,idx) in stepList" :key="idx">
+				<view class="tab" :class="tajdval==ite.value?'act':''" v-for="(ite,idx) in stepList" :key="idx">
 					<view class="cir"></view>
 					<view class="tit">{{ite.label}}</view>
 				</view>
@@ -24,7 +24,7 @@
 				<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>{{typeFormat(datainfo.partyAffiliation,dplist)}}</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>
@@ -36,9 +36,9 @@
 					<view class="bortop"></view>
 					<view class="txt"><text>联名提案</text>{{datainfo.isJointly}}</view>
 					<view class="txt" v-if="datainfo.isJointly=='是'"><text>联名提案人员</text>{{tary}}</view>
-					<view class="txt"><text>经过调研</text>{{datainfo.isSurvey}}</view>
+					<!-- <view class="txt"><text>经过调研</text>{{datainfo.isSurvey}}</view>
 					<view class="txt"><text>第一次提出</text>{{datainfo.isFirst}}</view>
-					<view class="txt"><text>本人撰写</text>{{datainfo.isPerson}}</view>
+					<view class="txt"><text>本人撰写</text>{{datainfo.isPerson}}</view> -->
 					<view class="txt"> <text>需要办理的协商方式</text>{{datainfo.negotiateType}}</view>
 					<view class="txt"><text>建议承办的单位</text>{{datainfo.proposedContractor}}</view>
 				</view>
@@ -93,13 +93,13 @@
 					</block>
 				</view>
 				<!-- 单位反馈 -->
-				<view class="titinf" v-for="(ite,idx) in hflist" :key="idx">
+				<view class="titinf" v-for="(ite,idx) in hflist" :key="ite.id">
 					<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 fjbox">
 							<text class="w65">附件</text>
-							<view class="fjlists flext"  v-for="(fite,fidx) in ite.zxFjList" :key='fidx' @click="getDown(fite.url)">
+							<view class="fjlists flext"  v-for="(fite,fidx) in ite.zxFjList" :key='fite.id' @click="getDown(fite.url)">
 								<view class="imgl"><image :src="fjimg" ></image></view>
 								<view class="tit">{{fite.name}}</view>
 								<view class="fjlook">查看</view>
@@ -191,7 +191,7 @@
 			<view class="fbtns" style="flex-wrap: wrap;">
 				<!-- 按角色选择按钮 -->
 				<view class="btn btn3" @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 btn1" @click="getEditFn" v-if="checkPermi(['proposalInfo:info:edit'])">修改</view>
 				<view class="btn btn2" @click="getScfkFn('scfk')" v-if="checkPermi(['proposalInfo:info:isRecord'])&&progress==1">审查反馈</view>
 				<view class="btn btn2" @click="getScfkFn('tajb')" v-if="checkPermi(['proposalInfo:info:assign'])&&progress==2">提案交办</view>
 				<!-- ||from=='tabl'&&progress!=3&&progress!=7 -->
@@ -200,7 +200,7 @@
 				<view class="btn btn2" @click="getScfkFn('dwdf')" v-if="checkPermi(['proposal:unit:reply'])&&progress==3&&hflist[0].isReply!=0">单位答复</view>
 				<view class="btn btn2" @click="getScfkFn('dwdf')" v-if="checkPermi(['proposalInfo:info:cbdwdfwy'])&&progress==7">单位答复委员</view>
 				<view class="btn btn2" @click="getScfkFn('wymyfk')" v-if="checkPermi(['proposalInfo:info:idea'])&&progress==8">委员意见</view>
-				<view class="btn btn2" @click="getScfkFn('zxmyfk')" v-if="checkPermi(['proposalInfo:info:zxIdea'])&&progress==8">政协意见</view>
+				<!-- <view class="btn btn2" @click="getScfkFn('zxmyfk')" v-if="checkPermi(['proposalInfo:info:zxIdea'])&&progress==8">政协意见</view> -->
 				<!-- 提案办理进来的 协办单位 不考虑进度 -->
 				<!-- 联名提案反对同意 从联名提案进来的才有按钮-->
 				<view class="btn btn3" @click="getlmtaFn('lmta',2)" v-if="checkPermi(['proposal:user:verify'])&&from=='lmta'">反对联名</view>
@@ -259,12 +259,14 @@
 				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:[],
+				tajdval:'0',
 				dwVal:2,
 				ptype:'',
 				datainfo:{},
-				
 				dflxlist:[],
-				stepList:[],//提案状态
+				stepList:[{label:'提交提案',value:"0"},{label:'提案审查',value:"1"},
+	{label:'提案交办',value:"2"},{label:'提案办理',value:"4"},{label:'答复审核',value:"5"},{label:'已办结',value:"6"},
+				],//提案状态
 				jblist:[],//界别
 				dplist:[],//党派
 				matterList:[],//方式
@@ -327,16 +329,16 @@
 					}
 				})
 				//提案状态
-				getDictionaryFn('proposal_progress').then(res=>{
-					if(res.code==200&&res.data.length){
-						this.stepList = res.data.map(v => {
-							return {
-								label: v.dictLabel,
-								value:v.dictValue
-							}
-						})
-					}
-				})
+				// getDictionaryFn('proposal_progress').then(res=>{
+				// 	if(res.code==200&&res.data.length){
+				// 		this.stepList = res.data.map(v => {
+				// 			return {
+				// 				label: v.dictLabel,
+				// 				value:v.dictValue
+				// 			}
+				// 		})
+				// 	}
+				// })
 				// 界别circles
 				getDictionaryFn('circles').then(res=>{
 					if(res.code==200&&res.data.length){
@@ -349,16 +351,16 @@
 					}
 				})
 				// 党派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('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){
@@ -419,6 +421,7 @@
 							this.$toast(str+"成功");
 							setTimeout(function(){
 								uni.$emit('refreshlist')
+								uni.$emit('refreindexlist')
 								that.ptype='';
 								that.getDetail()
 							},1200)
@@ -433,6 +436,7 @@
 							this.$toast("提案交办成功");
 							setTimeout(function(){
 								uni.$emit('refreshlist')
+								uni.$emit('refreindexlist')
 								that.ptype='';
 								that.getDetail()
 							},1200)
@@ -449,6 +453,7 @@
 								this.$toast("答复反馈成功");
 								setTimeout(function(){
 									uni.$emit('refreshlist')
+									uni.$emit('refreindexlist')
 									that.ptype='';
 									that.getDetail()
 								},1200)	
@@ -460,6 +465,7 @@
 								this.$toast("答复反馈成功");
 								setTimeout(function(){
 									uni.$emit('refreshlist')
+									uni.$emit('refreindexlist')
 									that.ptype='';
 									that.getDetail()
 								},1200)	
@@ -475,6 +481,7 @@
 							this.$toast("交办审核成功");
 							setTimeout(function(){
 								uni.$emit('refreshlist')
+								uni.$emit('refreindexlist')
 								that.ptype='';
 								that.getDetail()
 							},1200)	
@@ -586,6 +593,18 @@
 					if(res.code==200){
 						this.datainfo=res.data;
 						this.progress=res.data.proposalProgress;
+						if(this.progress<7){
+							this.tajdval=this.progress
+							if(this.progress==3){
+								// 不立案
+								var newArr=[{label:'提交提案',value:"0"},{label:'提案审查',value:"1"},
+	{label:'不立案',value:"3"}];
+								this.stepList=newArr
+	
+							}
+						}else{
+							this.tajdval=6
+						}
 						if(res.data.zxFjList&&res.data.zxFjList.length){
 							this.filelist=JSON.parse(JSON.stringify(res.data.zxFjList))
 						}

+ 37 - 9
work/pages/case/mine.vue

@@ -29,9 +29,15 @@
 			<view class="lbtab flexc">
 				<image :src="lbicoimg" class="limg"></image>
 				<view class="lbtabs flexc">
-					<view class="lbtabp" @click="getTalbFn">
+					<!-- <view class="lbtabp" @click="getTalbFn">
 						<view style="padding: 0 18rpx;" :class="tnlbname?'':'f16 co80'">{{tnlbname || "提案类别"}}</view>
 						<image :src="upimg" class="upimg"></image>
+					</view> -->
+					<view class="lbtabp">
+						<picker  range-key='label' :value="talbidx" :range="talblist"  @change='bindDateChangec'>
+							<view :class="talb?'':'f16 co80'">{{talb || "提案类别"}}</view>
+						</picker>
+						<image :src="upimg" class="upimg"></image>
 					</view>
 					<view class="lbtabp" v-if="tabidx=='qb'">
 						<picker  range-key='label' :value="tajdidx" :range="tajdlist"  @change='bindDateChanged'>
@@ -40,13 +46,13 @@
 						<image :src="upimg" class="upimg"></image>
 					</view>
 					<view class="lbtabp" >
-						<picker  range-key='label' :value="talbidx" :range="talxList"  @change='bindDateChangea'>
+						<picker  range-key='label' :value="talxidx" :range="talxList"  @change='bindDateChangea'>
 							<view :class="talx?'':'f16 co80'">{{talx || "提案类型"}}</view>
 						</picker>
 						<image :src="upimg" class="upimg"></image>
 					</view>
 					<view class="lbtabp">
-						<picker mode="date" fields="year"  range-key='label' :value="talbidx"   @change='bindDateChangeb'>
+						<picker mode="date" fields="year"  range-key='label'   @change='bindDateChangeb'>
 							<view :class="year?'':'f16 co80'">{{year || "选择年份"}}</view>
 						</picker>
 						<image :src="upimg" class="upimg"></image>
@@ -64,9 +70,9 @@
 		<view class="mbox">
 			<case-list :datalist="list" :listtype="listtype" :wtdt="wtdt" :tajdlist='tajdlist' :type='tabidx' @getDetail="getDetail"  @getTuiFn="getTuiFn"></case-list>
 		</view>
-		<view v-if="checkPermi(['proposalInfo:info:add'])&&tabidx=='wdta'">
+		<view v-if="checkPermi(['proposalInfo:info:add'])">
 			<view style="height: 100rpx;"></view>
-			<view class="fwbtns" @click="getAddCase">提交提案</view>
+			<view class="fwbtns" @click="getAddCase">新增提案</view>
 		</view>
 		
 		
@@ -79,7 +85,7 @@
 	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
 	import {getCaseListFn,getInfoisRecordFn,getInfoAssignFn,getInfoReplyFn,getInfoShFn,getInfoIdeaFn,getInfozxIdeaFn,
 	getInfourgeFn,getInfokeyPointFn,getInfooutstandingFn,getUserverifyFn,getInfojointlyListFn,geturgeListFn,getInfounitListFn,
-	getInfoReplywyFn,gettacbListFn} from "@/api/mine/case.js"
+	getInfoReplywyFn,gettacbListFn,getCasetalbFn} from "@/api/mine/case.js"
 	import popUp from "@/work/components/popup/popup.vue"
 	import caseList from "@/work/components/case/list.vue"
 	import {getDictionaryFn} from "@/api/mine/register.js"
@@ -108,7 +114,7 @@
 				// {tit:'发出催办',val:'fctacb',limit:'zxUrge:urge:list'},
 				{tit:'我的提案',val:'wdta',limit:'proposalInfo:info:list'},
 				{tit:'联名提案',val:'lmta',limit:"proposalInfo:info:jointlyList"},
-				{tit:'推荐优秀',val:'tjyx',limit:'proposalInfo:info:outstanding'},
+				// {tit:'推荐优秀',val:'tjyx',limit:'proposalInfo:info:outstanding'},
 				{tit:'推荐重点',val:'tjzd',limit:'proposalInfo:info:keyPoint'},
 				{tit:'公开提案',val:'gkta',limit:'proposalInfo:info:list'},
 				],
@@ -116,14 +122,16 @@
 				// {tit:'开始日期',val:1},{tit:'结束日期',val:2},
 				// "proposalProgress":"提案进度(0:提交提案,1:提案审查,2:提案立案,3:提案交办,4:办理提案,5:提案反馈,6:办结审核,7:已办结) ",
 				nvaHeight:44,
-				talbList:[{},],
+				talblist:[],
 				taztList:[{label:'是',value:'0'},{label:'否',value:'1'}],
 				talxList:[{label:'大会提案',value:'0'},{label:'平时提案',value:'1'}],
 				dwlxList:[{label:'答复单位',value:'1'},{label:'主办单位',value:'2'},{label:'协办单位',value:'3'}],
 				talbidx:'',
+				talb:'',
 				tajd:'',
 				tajdidx:'',
 				tajdid:'',
+				talxidx:'',
 				datainfo:{
 					talb:'',
 				},
@@ -160,6 +168,7 @@
 		onLoad(e) {
 			this.getDataFn()
 			this.init()
+			this.getCasetalbFn()
 			uni.$on('refreshlist', (e) => {
 				this.pageNum=1;
 				this.list=[];
@@ -187,6 +196,19 @@
 		},
 		methods:{
 			checkPermi, checkRole,
+			//提案类别
+			getCasetalbFn(){
+				getCasetalbFn().then(res=>{
+					if(res.code==200){
+						this.talblist = res.data.map(v => {
+							return {
+								label: v.label,
+								value: v.id
+							}
+						})
+					}
+				})
+			},
 			// 提案状态
 			init(){
 				getDictionaryFn('proposal_progress').then(res=>{
@@ -555,6 +577,12 @@
 				this.year=val;
 				this.getrefreshData()
 			},
+			bindDateChangec(e){
+				var val=e.detail.value;
+				this.talb=this.talblist[val].label;
+				this.talbid=this.talblist[val].value;
+				this.getrefreshData()
+			},
 			bindDateChanged(e){
 				var val=e.detail.value;
 				this.tajd=this.tajdlist[val].label;
@@ -587,7 +615,7 @@
 				if(this.talx){
 					params.proposalType=this.talxid
 				}
-				if(this.tnlbname){
+				if(this.talb){
 					params.categoryId=this.talbid
 				}
 				if(this.title){

+ 1 - 1
work/pages/meeting/activedetails.vue

@@ -29,7 +29,7 @@
 					</view>
 				</view>
 				<view class="txtbox" :class="zheList[0].zheflag?'nact':'act'">
-					<rich-text :nodes="datainfo.activityDetails"></rich-text>
+					<rich-text :nodes="datainfo.activityDetails" v-if="datainfo.activityDetails"></rich-text>
 				</view>
 				<view class="zhebox" :class="zheList[0].zheflag?'':'act'" @click="getZheFn(0)">
 					<image :src="upsimg"></image>

+ 2 - 2
work/pages/meeting/addactive.vue

@@ -109,7 +109,7 @@
 				<editor id="editor" :class="pbFlag?'pbbox':''" class="ql-container" placeholder="请输入提案内容" show-img-size show-img-toolbar
 					show-img-resize @statuschange="onStatusChange" :read-only="readOnly" @ready="onEditorReady">
 				</editor>
-				<view class="edtip flext mb24 mt14"><text>*</text> 提案正文内容原则上不超过2000字,提案正文内容输入完毕后, 可点击右上角的“一键排版”按钮进行快速排版</view>
+				<!-- <view class="edtip flext mb24 mt14"><text>*</text> 提案正文内容原则上不超过2000字,提案正文内容输入完毕后, 可点击右上角的“一键排版”按钮进行快速排版</view> -->
 			</view>
 			<view class="addbtn">
 				<!-- <view class="btn btn1" @click="getZanFnt">暂存</view> -->
@@ -318,7 +318,7 @@
 				that.editorCtx.getContents({
 					success: function(data) { 
 						var params=that.datainfo;
-						params.activityDetails=data.html;
+						params.contactsContent=data.html;
 						if(that.pagetype=='add'){
 							getzxActivityAddFn(params).then(res=>{
 								if(res.code==200){

+ 292 - 0
work/pages/meeting/addzsyz.vue

@@ -0,0 +1,292 @@
+<template>
+	<view >
+		<view class="bgtop"></view>
+		<uni-forms :modelValue="datainfo">
+		<view class="addbox">
+			<view class="boxs pdbox" style="padding-bottom: 2rpx;">
+				<view class="titbox mb14">
+					<view class="tit flexc">
+						<image :src="titimg"></image>
+						<view>基本详情</view>
+					</view>
+				</view>
+				<uni-forms-item label="项目线索名称" name="clueName" required>
+					<uni-easyinput :inputBorder="false" type="text" v-model="datainfo.clueName" placeholder="请输入项目线索名称" />
+				</uni-forms-item>
+				<uni-forms-item label="拟投资额" name="investmentAmount" >
+					<view class="flexc">
+						<uni-easyinput :inputBorder="false" type="number" v-model="datainfo.investmentAmount" placeholder="请输入拟投资额" />
+						万元
+					</view>
+					
+				</uni-forms-item>
+				<uni-forms-item label="联系人" name="contactsName" required>
+					<uni-easyinput :inputBorder="false"  v-model="datainfo.contactsName" placeholder="请输入联系人" />
+				</uni-forms-item>
+				<uni-forms-item label="联系方式" name="contactsPhone" required>
+					<uni-easyinput :inputBorder="false"  v-model="datainfo.contactsPhone" placeholder="请输入联系方式" />
+				</uni-forms-item>
+				<picker  mode="date"   @change='bindDateChangea' >
+					<uni-forms-item label="录入日期" name="publishTime" >
+						<view class="lbtabp">
+							<view :class="datainfo.publishTime?'':'coa'">{{datainfo.publishTime || "请选择录入日期"}}</view>
+						</view>
+					</uni-forms-item>
+				</picker>		
+			</view>
+			<view class="boxs pdbox">
+				<view class="titbox mb14 flexc">
+					<view class="tit flexc flex1">
+						<image :src="titimg"></image>
+						<view>内容</view>
+					</view>
+				</view>
+				<editor id="editor" :class="pbFlag?'pbbox':''" class="ql-container" placeholder="请输入内容" show-img-size show-img-toolbar
+					show-img-resize @statuschange="onStatusChange"  @ready="onEditorReady">
+				</editor>
+			</view>
+			<view class="addbtn">
+				<view class="btn btn2" v-if="checkPermi(['zx:investment:add'])&&pagetype=='add'||checkPermi(['zx:investment:edit'])&&pagetype=='edit'" @click="getSubmit">提交</view>
+			</view>
+		</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'
+	import { selectValue,selectValueKey } from '@/utils/common.js';
+	import {getinvestmentAddFn,getinvestmentEditFn,getinvestmentDetailFn} from "@/api/mine/meeting.js"
+	import {getDictionaryFn} from "@/api/mine/register.js"
+	export default{
+		data(){
+			return{
+				
+				titimg:require("@/work/static/images/titbg.png"),
+				addimg:require("@/work/static/images/meeting/add.png"),
+				datainfo:{
+					"userId":"",//委员账号id
+					"name":"",//委员姓名
+					"clueName":"",//项目线索名称
+					"investmentAmount":"",//拟投资额
+					"contactsName":"",//联系人
+					"contactsPhone":"",//联系方式
+					"contactsContent":"",//联系内容
+					"publishTime":''
+				},
+				id:"",
+				pagetype:'add',
+				editinfo:'',
+				hylxlist:[],
+				hylxtxt:'',
+				hylxidx:"",
+				pbFlag:false,
+				readOnly:false,
+			}
+		},
+		onUnload(){
+			uni.$off('refreshtalb')
+		},
+		onLoad(e) {
+			uni.$on('refreshtalb', (e) => {
+				this.datainfo.zxConferenceUserList=e.zxConferenceUserList
+			})
+			if(e.type=='edit'){
+				this.id=e.id;
+				this.pagetype='edit'
+				this.getDetail()
+			}
+			this.init()
+		},
+		methods:{
+			checkPermi, checkRole,
+			init(){
+			},
+			kayType(ite,list){
+				return selectValue(list, ite);
+			},
+			statusFormat(ite,list,type) {
+				var aite=selectValueKey(list, ite);
+				if(type=='hylx'){
+					this.hylxidx=aite.key
+				}
+				return aite.actions;
+			},
+			bindDateChangea(e){
+				var val=e.detail.value;
+				this.datainfo.publishTime=val;
+			},
+			getDetail(){
+				var that=this;
+				var params={
+					investmentId:this.id
+				}
+				getinvestmentDetailFn(this.id).then(res=>{
+					if(res.code==200){
+						var data=res.data;
+						this.datainfo=res.data;
+						this.editinfo=data.contactsContent;
+						uni.createSelectorQuery().select('#editor').context(function(res) {
+							that.editorCtx = res.context;
+							that.editorCtx.setContents({
+								html:that.editinfo
+							})
+						}).exec();
+					}
+				})
+			},
+			getSubmit(){
+				var that=this;
+				if(!this.datainfo.clueName){
+					this.$toast("请输入项目线索名称")
+					return
+				}
+				if(!this.datainfo.contactsName){
+					this.$toast("请输入联系人")
+					return
+				}
+				if(!this.datainfo.contactsPhone){
+					this.$toast("请选择联系方式")
+					return
+				}
+				if(this.datainfo.contactsPhone){
+					let regphone = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
+					if (this.datainfo.contactsPhone && !regphone.test(this.datainfo.contactsPhone)) {
+						that.$toast("请输入正确的联系方式")
+						return
+					}
+				}
+				var params=this.datainfo
+				that.editorCtx.getContents({
+					success: function(data) {
+						params.contactsContent=data.html;
+						if(that.pagetype=='add'){
+							getinvestmentAddFn(params).then(res=>{
+								if(res.code==200){
+									that.$toast("新增成功")
+									uni.removeStorageSync('cjhyList')
+									uni.$emit("refreshlist")
+									setTimeout(function(){
+										uni.navigateBack({
+											delta: 1 //返回层数,2则上上页
+										});
+									},1200)
+								}
+							})
+						}else{
+							getinvestmentEditFn(params).then(res=>{
+								if(res.code==200){
+									that.$toast("修改成功")
+									uni.$emit("refreshdetail")
+									uni.$emit("refreshlist")
+									setTimeout(function(){
+										uni.navigateBack({
+											delta: 1 //返回层数,2则上上页
+										});
+									},1200)
+									
+								}
+							})
+						}
+					}
+				})	
+			},
+			onStatusChange(){
+				
+			},
+			onEditorReady(){
+				var that=this;
+				uni.createSelectorQuery().select('#editor').context(function(res) {
+					that.editorCtx = res.context;
+					that.editorCtx.setContents({
+						html:that.editinfo
+					})
+				}).exec();
+			}
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+.bgtop{height: 150rpx;background-color: $com-cd3;width: 100%;}
+.pdbox{padding: 34rpx 24rpx 16rpx;}
+.addbox /deep/ .uni-forms-item{margin-bottom:36rpx;}
+.addbox /deep/ .uni-easyinput{flex: 1;text-align: right;font-size: 30rpx;}
+.addbox /deep/ .uni-forms-item__label{font-weight: bold;font-size: 30rpx;color: #343434;width: 198rpx !important;padding-left:20rpx;}
+.addbox /deep/ .is-required{position: absolute;left: 0;top: 50%;margin-top: -10rpx;}
+.addbox /deep/ .uni-data-checklist{display: flex;align-items: center;justify-content: flex-end;}
+.addbox /deep/ .uni-easyinput__placeholder-class{font-weight: 500;font-size: 30rpx;color: #AAAAAA;}
+.addbox /deep/ .checklist-box{margin-right: 0 !important;margin-left: 40rpx !important;}
+.fjadd{
+	.btn{font-weight: bold;font-size: 30rpx;color: #1D64E2;margin: 0;display: flex;align-items: center;}
+}
+.addbox{margin-top: -120rpx;
+	padding: 0 24rpx 50rpx;
+	.boxs{background: #FFFFFF;border-radius: 30rpx;margin-bottom: 24rpx;overflow: hidden;position: relative;
+		.infobg{width: 102rpx;height: 106rpx;position: absolute;right: 26rpx;bottom: 22rpx;}
+		.tips{background: #F1F6FF;padding: 18rpx 38rpx;display: flex;align-items: flex-start;
+			image{width: 20rpx;height: 26rpx;margin-right: 16rpx;flex:0 0 auto;margin-top: 4rpx;}
+			view{font-weight: 500;font-size: 26rpx;color: #1D64E2;}
+		}
+		.titbox{
+			.tit{
+				image{width: 32rpx;height: 18rpx;margin-right: 10rpx;}
+				view{font-weight: bold;font-size: 32rpx;color: #222327;}
+			}
+			.titr{width: 146rpx;height: 50rpx;background: #E4EEFF;border-radius: 26rpx;font-weight: 500;font-size: 24rpx;color: #1D64E2;text-align: center;line-height: 50rpx;}
+		}
+		.titinf{display: flex;flex-wrap: wrap;
+			.txt{font-weight: 500;font-size: 28rpx;margin-bottom: 18rpx;flex:0 1 auto;min-width: 50%;display: flex;align-items: flex-start;color: #222327;
+				text{flex: 0 0 auto;color: #9F9F9F;}
+			}
+		}
+		.addpeo{font-weight: bold;font-size: 30rpx;color: #1D64E2;display: flex;align-items: center;
+			image{width: 26rpx;height: 24rpx;margin-right: 14rpx;}
+		}
+		.openbox{display: flex;align-items: center;justify-content: flex-end;font-weight: 500;
+font-size: 30rpx;height: 100%;color: #222327;
+			
+			}
+		.edtip{font-weight: 500;font-size: 22rpx;color: #FF0000;
+			text{margin: 4rpx 8rpx 0 0;}
+			&.pa{position: absolute;right: 0;bottom: -15px;text-align: right;width: 702rpx;}
+		}
+	}
+	
+}
+	.matab{display: flex;align-items: center;flex-wrap: nowrap;overflow: auto;position: absolute;left: 0;right: -48rpx;
+				.list{min-width:112rpx;height: 50rpx;background: #ffffff;border-radius: 25rpx;font-size: 30rpx;font-weight: 500;box-sizing: border-box;
+	color: #AAAAAA;padding: 0 24rpx;box-sizing: border-box;margin-left:24rpx;flex: 0 0 auto;border: 2rpx solid #C1C1C1;display: flex;align-items: center;justify-content: center;
+				&.act{background: #E4EEFF;color: #1D64E2;border: none;}
+	}
+			}
+	// 附件
+	.fjlists {display: flex;align-items: flex-start;justify-content: space-between;margin-bottom: 12rpx;
+		image{margin-right: 18rpx;flex: 0 0 auto;}
+		.imgl{width: 40rpx;height: 40rpx;display: flex;align-items: center;justify-content: center;margin-right: 16rpx;
+			image{width: 26rpx;height: 24rpx;}
+			}
+			.tit{font-size: 26rpx;color: #343434;font-weight: 500;margin-top: 4rpx;}
+		.delimg{width: 40rpx;height:40rpx;margin-left: 16rpx;display: flex;align-items: center;justify-content: center;
+			image{width: 26rpx;height: 26rpx;}
+		}
+	}
+	.peoBox{font-size: 30rpx;color: #AAAAAA;min-height: 200rpx;display: flex;flex-wrap: wrap;
+		view{color: #222327;}
+	}
+	// 按钮
+	.addbtn{display: flex;align-items: center;justify-content: space-between;padding-top: 26rpx;
+		.btn{width: 336rpx;height: 80rpx;font-weight: bold;font-size: 30rpx;box-sizing: border-box;border-radius: 40rpx;display: flex;align-items: center;justify-content: center;
+			flex:1;
+			&.btn1{border: 2rpx solid #1D64E2;background: #ffffff;color: #1D64E2;}
+			&.btn2{background: #1D64E2;color: #ffffff;}
+		}
+	}
+	.lbtabp{display: flex;align-items: center;flex: 0 0 auto;margin-left: 24rpx;height: 100%;justify-content: flex-end;
+		view{font-size: 30rpx;color: #222327;}
+	}
+.addbox /deep/ .pbbox .ql-editor  p{text-indent: 2rem;}
+</style>

+ 163 - 19
work/pages/meeting/list.vue

@@ -30,18 +30,35 @@
 			<view class="lbtab flexc">
 				<image :src="lbicoimg" class="limg"></image>
 				<view class="lbtabs flexc">
-					<view class="lbtabp" v-if="tabidx!='hdtz'&&tabidx!='zxhd'">
-						<picker mode="date" :value="time"   @change='bindDateChangeb'>
-							<view :class="time?'':'f16 co80'">{{time || "会议日期"}}</view>
-						</picker>
-						<image :src="upimg" class="upimg"></image>
-					</view>
-					<view class="lbtabp" v-if="tabidx=='hdtz'||tabidx=='zxhd'">
-						<picker mode="date" :value="time"   @change='bindDateChangeb'>
-							<view :class="time?'':'f16 co80'">{{time || "活动日期"}}</view>
-						</picker>
-						<image :src="upimg" class="upimg"></image>
-					</view>
+					<block v-if="tabidx!='hdtz'&&tabidx!='zxhd'">
+						<view class="lbtabp">
+							<picker mode="date" :value="time"   @change='bindDateChangeb'>
+								<view :class="time?'':'f16 co80'">{{time || "会议日期"}}</view>
+							</picker>
+							<image :src="upimg" class="upimg"></image>
+						</view>
+						<view class="lbtabp" v-if="tabidx=='hytz'||tabidx=='hyhd'">
+							<picker  range-key='label'  :range="hylxlist"  @change='bindDateChangec'>
+								<view :class="hylxtxt?'':'f16 co80'">{{hylxtxt || "会议类型"}}</view>
+							</picker>
+							<image :src="upimg" class="upimg"></image>
+						</view>
+					</block>
+					<block v-if="tabidx=='hdtz'||tabidx=='zxhd'">
+						<view class="lbtabp" >
+							<picker mode="date" :value="time"   @change='bindDateChangeb'>
+								<view :class="time?'':'f16 co80'">{{time || "活动日期"}}</view>
+							</picker>
+							<image :src="upimg" class="upimg"></image>
+						</view>
+						<view class="lbtabp" >
+							<picker  range-key='label' :range="hdlxlist"  @change='bindDateChanged'>
+								<view :class="hdlxtxt?'':'f16 co80'">{{hdlxtxt || "活动类型"}}</view>
+							</picker>
+							<image :src="upimg" class="upimg"></image>
+						</view>
+					</block>
+					
 				</view>
 			</view>
 		</view>
@@ -49,11 +66,12 @@
 		<view class="mbox">
 			<meet-list :datalist="list" :wtdt="wtdt" :hdlxlist="hdlxlist" :fylxlist='fylxlist' :qjlxlist="aqjlxlist"  :type='tabidx' @getDetail="getDetail" @getReadFn="getReadFn" @getTuiFn="getTuiFn"></meet-list>
 		</view>
-		<view v-if="checkPermi(['zxConference:conference:add'])&&tabidx=='hyhd'||checkPermi(['zx:speak:add'])&&tabidx=='wdfy'||checkPermi(['zxActivity:activity:add'])&&tabidx=='zxhd'">
+		<view v-if="checkPermi(['zxConference:conference:add'])||checkPermi(['zx:speak:add'])||checkPermi(['zxActivity:activity:add'])">
 			<view style="height: 100rpx;"></view>
-			<view class="fwbtns" @click="getAddMeet" v-if="checkPermi(['zxConference:conference:add'])&&tabidx=='hyhd'">创建会议</view>
-			<view class="fwbtns" @click="getAddSpeak" v-if="checkPermi(['zx:speak:add'])&&tabidx=='wdfy'">录入发言</view>
-			<view class="fwbtns" @click="getAddActive" v-if="checkPermi(['zxActivity:activity:add'])&&tabidx=='zxhd'">创建活动</view>
+			<view class="fwbtns" @click="getAddMeet" v-if="checkPermi(['zxConference:conference:add'])&&(tabidx=='hyhd'||tabidx=='hytz')">创建会议</view>
+			<view class="fwbtns" @click="getAddSpeak" v-if="checkPermi(['zx:speak:add'])&&(tabidx=='wdfy'||tabidx=='hyfy')">录入发言</view>
+			<view class="fwbtns" @click="getAddActive" v-if="checkPermi(['zxActivity:activity:add'])&&(tabidx=='zxhd'||tabidx=='hdtz')">创建活动</view>
+			<view class="fwbtns" @click="getAddzsyz" v-if="checkPermi(['zx:investment:add'])&&(tabidx=='zsyz'||tabidx=='wdzs')">上报线索</view>
 			<!--  -->
 		</view>
 		
@@ -64,7 +82,7 @@
 
 <script>
 	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
-	import {getMeetListFn,getSpeakListFn,getupdateReplyFn,getzxActivityListFn,getzxActivityReplyFn} from "@/api/mine/meeting.js"
+	import {getMeetListFn,getSpeakListFn,getupdateReplyFn,getzxActivityListFn,getzxActivityReplyFn,getinvestmentListFn,getinvestmentshlFn} from "@/api/mine/meeting.js"
 	import popUp from "@/work/components/popup/popup.vue"
 	import meetList from "@/work/components/meeting/list.vue"
 	import {getDictionaryFn} from "@/api/mine/register.js"
@@ -80,8 +98,8 @@
 				backgroundColor:"#1D64E2",
 				tabidx:'hytz',
 				// 会议活动 管理员看的{tit:'会议发言',val:'hyfy',limit:'zx:speak:list'},
-				tabList:[{tit:'会议通知',val:'hytz',limit:'zxConference:conference:list'},{tit:'会议活动',val:'hyhd',limit:'zxConference:conference:alllist'},{tit:'我的发言',val:'wdfy',limit:'zx:speak:list'},{tit:'会议发言',val:'hyfy',limit:'zx:speak:alllist'},
-					{tit:'活动通知',val:'hdtz',limit:'zxActivity:activity:list'},{tit:'政协活动',val:'zxhd',limit:'zxActivity:activity:alllist'},
+				tabList:[{tit:'我的会议',val:'hytz',limit:'zxConference:conference:list'},{tit:'会议活动',val:'hyhd',limit:'zxConference:conference:alllist'},{tit:'我的发言',val:'wdfy',limit:'zx:speak:list'},{tit:'会议发言',val:'hyfy',limit:'zx:speak:alllist'},
+					{tit:'我的活动',val:'hdtz',limit:'zxActivity:activity:list'},{tit:'政协活动',val:'zxhd',limit:'zxActivity:activity:alllist'},{tit:'我的招商',val:'wdzs',limit:'zx:investment:list'},{tit:'招商引资',val:'zsyz',limit:'zx:investment:alllist'},
 				],
 				litablist:[{tit:'会议日期',val:0},],
 				nvaHeight:44,
@@ -101,6 +119,11 @@
 				fylxlist:[],
 				hdlxlist:[],
 				aqjlxlist:[],
+				hylxlist:[],
+				hdlxtxt:'',
+				hdlxid:'',
+				hylxtxt:'',
+				hylxid:'',
 				userId:this.$store.state.user.userId,
 				id:'',
 				title:'',//关键词
@@ -174,12 +197,35 @@
 						})
 					}
 				})
+				// 会议类型
+				getDictionaryFn('conference_type').then(res=>{
+					if(res.code==200&&res.data.length){
+						this.hylxlist = res.data.map(v => {
+							return {
+								label: v.dictLabel,
+								value: v.dictValue
+							}
+						})
+					}
+				})
 			},
 			bindDateChangeb(e){
 				var val=e.detail.value;
 				this.time=val;
 				this.getConfirm()
 			},
+			bindDateChangec(e){
+				var val=e.detail.value;
+				this.hylxtxt=this.hylxlist[val].label;
+				this.hylxid=this.hylxlist[val].value;
+				this.getConfirm()
+			},
+			bindDateChanged(e){
+				var val=e.detail.value;
+				this.hdlxtxt=this.hdlxlist[val].label;
+				this.hdlxid=this.hdlxlist[val].value;
+				this.getConfirm()
+			},
 			getConfirm(){
 				this.pageNum=1;
 				this.list=[];
@@ -223,8 +269,63 @@
 				
 			},
 			getTuiFn(ite){
+				var that=this;
 				if(ite.type=='hyqd'){
 					this.$tab.navigateTo('/work/pages/meeting/signin?id='+ite.id)
+				}else if(ite.type=='zsyzsh'){
+					uni.showModal({
+						title: '确认审核',
+						content: "是否确认审核",
+						cancelText: '取消',
+						confirmText: '确认',
+						success: function(res) {
+							if (res.confirm) {
+								var params={
+									investmentId:ite.id,
+									type:2
+								}
+								getinvestmentshlFn(params).then(res=>{
+									if(res.code==200){
+										that.$toast('审核成功')
+										that.ptype='';
+										that.pageNum=1;
+										that.list=[];
+										that.reachflag=true;
+										that.getDataFn()
+									}
+								})
+							} else if (res.cancel) {
+								
+							}
+						}
+					})
+				}else if(ite.type=='zsyzqy'){
+					uni.showModal({
+						title: '确认签约',
+						content: "是否确认签约",
+						cancelText: '取消',
+						confirmText: '确认',
+						success: function(res) {
+							if (res.confirm) {
+								var params={
+									investmentId:ite.id,
+									type:2
+								}
+								getinvestmentshlFn(params).then(res=>{
+									if(res.code==200){
+										that.$toast('签约成功')
+										that.ptype='';
+										that.pageNum=1;
+										that.list=[];
+										that.reachflag=true;
+										that.getDataFn()
+									}
+								})
+							} else if (res.cancel) {
+								
+							}
+						}
+					})
 				}else{
 					this.codeQr=ite.item.conferenceQr
 					this.ptype=ite.type;
@@ -239,6 +340,8 @@
 					this.$tab.navigateTo('/work/pages/meeting/speakdetails?id='+data)	
 				}else if(type=='hdtz'||type=='zxhd'){
 					this.$tab.navigateTo('/work/pages/meeting/activedetails?id='+data+"&pt="+type)	
+				}else if(type=='zsyz'||type=='wdzs'){
+					this.$tab.navigateTo('/work/pages/meeting/zsyzdetails?id='+data+"&pt="+type)	
 				}	
 			},
 			getAddMeet(){
@@ -250,6 +353,9 @@
 			getAddActive(){
 				this.$tab.navigateTo('/work/pages/meeting/addactive')	
 			},
+			getAddzsyz(){
+				this.$tab.navigateTo('/work/pages/meeting/addzsyz')	
+			},
 			getupSubmit(e){
 				var that=this;
 				var type=this.type;
@@ -355,6 +461,9 @@
 					if(this.tabidx=='hdtz'){
 						params.userId=this.userId
 					}
+					if(this.hdlxtxt){
+						params.activityType=this.hdlxid
+					}
 					params.activityTitle=this.title
 					getzxActivityListFn(params).then(res=>{
 						if(res.code==200){
@@ -380,10 +489,45 @@
 							this.$toast(res.msg)
 						}
 					})
+				}else if(this.tabidx=='zsyz'||this.tabidx=='wdzs'){
+					if(this.time){
+						params.activityDate=this.time
+					}
+					if(this.tabidx=='wdzs'){
+						params.userId=this.userId
+					}
+					params.clueName=this.title
+					getinvestmentListFn(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=='hytz'){
 						params.userId=this.userId
 					}
+					if(this.hylxtxt){
+						params.conferenceType=this.hylxid
+					}
 					if(this.time){
 						params.conferenceDate=this.time
 					}

+ 87 - 3
work/pages/meeting/readdetail.vue

@@ -28,18 +28,20 @@
 				  :border="border"
 				  :borderr="borderr"
 				  @detail="getDetail"
+				  @agree="agreeFn"
+				  @reject="rejectFn"
 				  :data="tableData"></zb-table>	
 			</view>
 		</view>
 
 		<!-- 弹窗 -->
-		<pop-up :type='ptype' @getClose="getClose"></pop-up>
+		<pop-up :type='ptype' :qjsh="qjsh" @getClose="getClose" @getupSubmit="getupSubmit"></pop-up>
 	</view>
 </template>
 
 <script>
 	import zbTable from "@/work/components/zb-table/zb-tables.vue"
-	import {getMeetDetaiFn,getMeetPeoListFn,getzxActivityPeoFn} from "@/api/mine/meeting.js"
+	import {getMeetDetaiFn,getMeetPeoListFn,getzxActivityPeoFn,getzxActivitypsFn,getzxConferencepsFn} from "@/api/mine/meeting.js"
 	import popUp from "@/work/components/popup/popup.vue"
 	import {getDictionaryFn} from "@/api/mine/register.js"
 	export default{
@@ -73,6 +75,20 @@
 						  },
 					]},
 					{ name: 'leaveReason', label: '请假事由',align:'center'},
+					{ name: 'operation', type:'operation',label: '批示',renders:[
+					    {
+					      name:'同意',
+					      class:'agree',
+					      type:"primary",
+					      func:'agree' // func 代表子元素点击的事件 父元素接收的事件 父元素 @edit
+					    },
+					    {
+					      name:'驳回',
+					      type:'warn', // type 为custom的时候自定义按钮
+					      class:"del",
+					      func:'reject',
+					    },
+					  ]},
 				],
 				ptype:'',//弹窗类型
 				border:true,
@@ -84,7 +100,9 @@
 				parameter:{
 					qjlist:[]
 				},
-				tabidx:""
+				tabidx:"",
+				qjsh:'',
+				userId:'',
 				
 			}
 		},
@@ -105,6 +123,48 @@
 		mounted() {
 		},
 		methods:{
+			agreeFn(ite){
+				var that=this;
+				var type=this.tabidx;
+				var userId=ite.userId
+				// that.ptype=''
+				uni.showModal({
+					title: '确认同意',
+					content: "是否确认同意",
+					cancelText: '取消',
+					confirmText: '确认',
+					success: function(res) {
+						if (res.confirm) {
+							var params={
+								approval:2
+							}
+							if(type=='zxhd'){
+								params.activityId=that.id
+								params.userId=userId
+								getzxActivitypsFn(params).then(res=>{
+									if(res.code==200){
+										that.$toast('已同意')
+									}
+								}) 
+							}else{
+								params.conferenceId=that.id
+								params.userId=userId
+								getzxConferencepsFn(params).then(res=>{
+									if(res.code==200){
+										that.$toast('已同意')
+									}
+								}) 
+							}
+						} else if (res.cancel) {
+						}
+					}
+				});
+			},
+			rejectFn(ite){
+				this.qjsh='3';
+				this.ptype='qjps';
+				this.userId=ite.userId;
+			},
 			// 提案状态
 			init(){
 				// 请假理由
@@ -119,6 +179,30 @@
 					}
 				})
 			},
+			getupSubmit(data){
+				var params=JSON.parse(JSON.stringify(data))
+				var that=this;
+				var type=this.tabidx;
+				if(type=='zxhd'){
+					params.activityId=that.id
+					params.userId=that.userId
+					getzxActivitypsFn(params).then(res=>{
+						if(res.code==200){
+							that.$toast('已驳回')
+							that.ptype='';
+						}
+					}) 
+				}else{
+					params.conferenceId=that.id
+					params.userId=that.userId
+					getzxConferencepsFn(params).then(res=>{
+						if(res.code==200){
+							that.$toast('已驳回')
+							that.ptype='';
+						}
+					}) 
+				}
+			},
 			getClose(){
 				this.ptype=""
 			},

+ 301 - 0
work/pages/meeting/zsyzdetails.vue

@@ -0,0 +1,301 @@
+<template>
+	<view class="detail">
+		<!-- 主体 -->
+		<view class="deboxs">
+			<view class="bghbox"></view>
+			<view class="dbox fmt30">
+				<view class="dtit">{{datainfo.clueName}}</view>
+				<view class="titinf">
+					<!-- <view class="txt"><text>项目线索名称</text>{{datainfo.clueName}}</view> -->
+					<view class="txt"><text>拟投资额</text>{{datainfo.investmentAmount}}万元</view>
+					<view class="txt"><text>联系人</text>{{datainfo.contactsName}}</view>
+					<view class="txt"><text>联系方式</text>{{datainfo.contactsPhone}}</view>
+					<view class="txt"><text>录入时间</text>{{datainfo.publishTime}}</view>
+					<view class="txt"><text>状态</text>
+					<block v-if="datainfo.type=='2'">已签约</block>
+					<block v-else>待签约</block>
+					</view>
+					<!-- <view class="txt"><text>备注</text>{{datainfo.remark}}</view> -->
+				</view>
+			</view>
+			<view class="dbox">
+				<view class="titbox mb14">
+					<view class="tit flexc">
+						<image :src="titimg"></image>
+						<view>内容</view>
+					</view>
+				</view>
+				<view class="txtbox" :class="zheList[0].zheflag?'nact':'act'">
+					<rich-text :nodes="datainfo.contactsContent"></rich-text>
+				</view>
+				<view class="zhebox" :class="zheList[0].zheflag?'':'act'" @click="getZheFn(0)">
+					<image :src="upsimg"></image>
+					<view>{{zheList[0].zheflag?'展开信息':'折叠信息'}}</view>
+				</view>
+				
+			</view>
+
+			<view class="fbtns" style="flex-wrap: wrap;">
+				<view class="btn btn3" @click="getDelFn" v-if="checkPermi(['zx:investment:remove'])">删除</view>
+				<view class="btn btn1" @click="getEditFn" v-if="checkPermi(['zx:investment:edit'])">修改</view>
+				<block v-if="checkPermi(['zx:investment:examine'])&&type=='zsyz'">
+					<!-- <view class="btn btn2" v-if="datainfo.type==1"  @click.stop="getShFn('zsyzsh')">审核</view> -->
+					<view class="btn btn2" v-if="datainfo.type==1"  @click.stop="getShFn('zsyzqy')">签约</view>
+				</block>
+			</view>
+			
+		</view>
+		<pop-up :type='ptype' :qjlxlist="qjlxlist"    @getClose="getClose" @getupSubmit="getupSubmit"></pop-up>
+	</view>
+</template>
+
+<script>
+	import config from '@/config'
+	const baseUrl = config.baseUrl
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	import popUp from "@/work/components/popup/popup.vue"
+	import noData from "@/components/nodata/nodata.vue"
+	import {getDeptTree} from"@/api/mine/mine.js"
+	import { selectValue,selectValuetext } from '@/utils/common.js';
+	import {getinvestmentDetailFn,getinvestmentDelFn,getinvestmentshlFn} from "@/api/mine/meeting.js"
+	import {getDictionaryFn} from "@/api/mine/register.js"
+	export default{
+		components:{popUp,noData},
+		data(){
+			return{
+				bgimg:require("@/static/images/bg.png"),
+				fjimg:require("@/work/static/images/fjimg.png"),
+				filelist:[], 
+				
+				tabidx:5,
+				titimg:require("@/work/static/images/titbg.png"),
+				upsimg:require("@/work/static/images/ups.png"),
+				zheList:[{val:0,zheflag:true,moreflag:true},],
+				ptype:'',
+				datainfo:{},
+				tary:'',
+				hdlxlist:[],
+				qjlxlist:[],
+				type:'',
+				dfinfo:{}
+			}
+		},
+		onUnload(){
+			uni.$off('refreshdetail')
+		},
+		onLoad(e) {
+			this.id=e.id;
+			this.type=e.pt;
+			this.getDetail()
+			this.init()
+			uni.$on('refreshdetail', (e) => {
+				this.getDetail()
+			})
+		},
+		methods:{
+			checkPermi, checkRole,
+			kaType(ite){
+				if(ite){
+					var newArr=ite.split(',')
+					var actions=[];
+					var datas=this.matterList;
+					newArr.forEach(ite=>{
+						Object.keys(datas).some((key) => {
+							if (datas[key].value == ('' + ite)) {
+								actions.push(datas[key].label);
+								return true;
+							}
+						})
+					})
+					return actions.join(' ')
+				}
+			},
+			typeFormat(ite,list){
+				return selectValue(list, ite);
+			},
+			typeFormattext(ite,list){
+				return selectValuetext(list, ite);
+			},
+			getShFn(type){
+				var that=this;
+				uni.showModal({
+					title: '确认签约',
+					content: "是否确认签约",
+					cancelText: '取消',
+					confirmText: '确认',
+					success: function(res) {
+						if (res.confirm) {
+							var params={
+								investmentId:that.id,
+								type:2
+							}
+							getinvestmentshlFn(params).then(res=>{
+								if(res.code==200){
+									that.$toast('签约成功')
+									uni.$emit('refreshlist')
+									that.ptype='';
+									that.getDetail()
+								}
+							})
+						} else if (res.cancel) {
+							
+						}
+					}
+				})
+			},
+			init(){
+				// 活动类型
+				// getDictionaryFn('activity_type').then(res=>{
+				// 	if(res.code==200&&res.data.length){
+				// 		this.hdlxlist = res.data.map(v => {
+				// 			return {
+				// 				label: v.dictLabel,
+				// 				value:v.dictValue
+				// 			}
+				// 		})
+				// 	}
+				// })
+			},
+			getupSubmit(e){
+				var that=this;
+				var type=this.ptype;
+				var params=JSON.parse(JSON.stringify(e))
+				params.activityId=this.id
+				getzxActivityReplyFn(params).then(res=>{
+					if(res.code==200){
+						this.$toast("回复成功");
+						setTimeout(function(){
+							uni.$emit('refreshlist')
+							that.ptype='';
+							that.getDetail()
+						},1200)	
+					}
+				})
+			},
+			getEditFn(){
+				this.$tab.navigateTo('/work/pages/meeting/addzsyz?type=edit&id='+this.id)
+			},
+			getClose(){
+				this.ptype=""
+			},
+			getScfkFn(type){
+				this.ptype=type
+			},
+			getZheFn(idx){
+				this.zheList[idx].zheflag=!this.zheList[idx].zheflag
+			},
+			getDelFn(){
+				var that=this;
+				uni.showModal({
+					title: '确认删除',
+					content: "是否确认删除该线索",
+					cancelText: '取消',
+					confirmText: '确认',
+					success: function(res) {
+						if (res.confirm) {
+							getinvestmentDelFn(that.id).then(res=>{
+								if(res.code==200){
+									that.$toast('删除成功')
+									uni.$emit("refreshlist")
+									setTimeout(function(){
+										uni.navigateBack({
+											delta: 1 //返回层数,2则上上页
+										});
+									},1200)
+								}
+							})
+						} else if (res.cancel) {
+							// console.log('用户点击取消');
+						}
+					}
+				});
+			},
+			getDetail(){
+				var params={
+					investmentId:this.id
+				}
+				// if(this.type=='zsyz'){
+				// 	params.userId=this.userId
+				// }
+				getinvestmentDetailFn(this.id).then(res=>{
+					if(res.code==200){
+						this.datainfo=res.data;
+					}
+				})
+			},
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+.detail{display: flex;flex-direction: column;height: 100vh;}
+
+.deboxs{flex:1;overflow: auto;padding-bottom: 30rpx;
+	.bghbox{height: 80rpx;background-color: $com-cd3;}
+	.dbox{background: #FFFFFF;border-radius: 10rpx;margin: 0 24rpx 24rpx;padding: 36rpx 24rpx 24rpx;
+		.dtit{font-weight: bold;font-size: 15px;color: #222327;margin-bottom: 48rpx;
+			text{color: #E70000;}
+		}
+		.titbox{
+			.tit{
+				image{width: 32rpx;height: 18rpx;margin-right: 10rpx;}
+				view{font-weight: bold;font-size: 32rpx;color: #222327;}
+			}
+		}
+		.titinf{display: flex;flex-wrap: wrap;flex-direction: column;
+			&.nact{height: 0;overflow: hidden;}
+			&.act{height: auto;}
+			.txt{font-weight: 500;font-size: 26rpx;margin-bottom: 20rpx;color: #222327;display: flex;align-items: flex-start;wi
+				&.nact{height: 200rpx;overflow: hidden;}
+				&.act{height: auto;}
+				text{color: #AAAAAA;min-width: 104rpx;text-align-last: justify;flex: 0 0 auto;margin-right: 20rpx;
+					&.w65{width: 130rpx;}
+				}
+				// view{text-indent: 2rem;}
+			}
+		}
+		.txtbox{text-indent: 2rem;line-height: 36rpx;font-weight: 500;font-size: 26rpx;color: #222327;
+			&.nact{max-height: 432rpx;overflow: hidden;}
+			&.act{height: auto;}
+		}
+		// tab
+		.dbtabs{
+			.dbtab{font-weight: 500;font-size: 26rpx;height: 60rpx;line-height: 60rpx;color: #666666;position: relative;padding: 0 38rpx;margin-left: 8rpx;
+			&.act{font-weight: bold;font-size: 30rpx;color: #222327;
+				&::after{content: "";width: 48rpx;height: 4rpx;background: #3699FF;border-radius: 2rpx;position: absolute;left: 50%;margin-left: -24rpx;bottom: -4rpx;}
+			}
+			}
+		}
+		
+		
+		.bortop{border-top: 2rpx dashed #C1C1C1;margin-bottom: 32rpx;margin-top: 14rpx;width: 100%;}
+		.ftit{font-weight: bold;font-size: 26rpx;color: #222327;}
+		.zhebox{display: flex;align-items: center;flex-direction: column;padding: 24rpx 0;
+			image{width: 28rpx;height: 30rpx;margin-bottom: 10rpx;transition: all 0.3s;}
+			&.act{
+				image{transform: rotate(-180deg);}
+			}
+			view{font-weight: 500;font-size: 24rpx;color: #AAAAAA;}
+		}
+		// 附件
+		.fjlists {display: flex;align-items: flex-start;justify-content: space-between;margin-bottom: 12rpx;
+			// image{margin-right: 18rpx;flex: 0 0 auto;}
+			.imgl{width: 40rpx;height: 40rpx;display: flex;align-items: center;justify-content: center;margin-right: 6rpx;flex: 0 0 auto;
+				image{width: 26rpx;height: 24rpx;}
+				}
+			.tit{font-size: 26rpx;color: #343434;font-weight: 500;margin-top: 4rpx;flex:1;}
+			.fjlook{font-weight: 500;font-size: 26rpx;color: #1D64E2;flex: 0 0 auto;margin-left: 20rpx;margin-top: 4rpx;}
+		}
+	}
+	
+}
+// 按钮
+	.fbtns{display: flex;align-items: center;justify-content: space-between;padding: 54rpx 12rpx 34rpx;display: flex;flex-wrap: wrap;
+		.btn{height: 80rpx;font-weight: bold;font-size: 30rpx;box-sizing: border-box;border-radius: 40rpx;display: flex;align-items: center;
+		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>

+ 193 - 35
work/pages/report/addscore.vue

@@ -11,7 +11,7 @@
 					</view>
 				</view> -->
 				
-				<picker  range-key='label' :value="jcidx" :range="jcList"  @change='bindDateChangea'>
+				<!-- <picker  range-key='label' :value="jcidx" :range="jcList"  @change='bindDateChangea'>
 					<uni-forms-item label="考核届次" name="boundary" required>
 						<view class="lbtabp">
 							<view class="lbtabp">
@@ -20,16 +20,26 @@
 							</view>
 						</view>
 					</uni-forms-item>
-				</picker>
-				<picker  range-key='label' :value="khlxidx" :range="khlxList"  @change='bindDateChangeb'>
+				</picker> -->
+				<!-- <uni-forms-item label="考核届次" name="boundary" required>
+					<view class="lbtabp" @click="getRecorddwFn">
+						<view class="lbtabp">
+							<view v-if="datainfo.boundary&&!boundary">{{statusFormats(datainfo.boundary,jcList,'jc')}}</view>
+							<view v-else :class="boundary?'':'coa'">{{boundary||"请选择考核届次"}}</view>
+						</view>
+					</view>
+				</uni-forms-item> -->
+				<!-- <view @click="getRecorddwFn" class="chosebox flexc">
+					<view class="tit" :class="recorddw?'':'coa'">{{recorddw||'若选择不予立案,请指定答复单位'}}</view>
+				</view> -->
+				<!-- <picker  range-key='label' :value="khlxidx" :range="khlxList"  @change='bindDateChangeb'>
 					<uni-forms-item label="考核类型" name="checkType" required>
 						<view class="lbtabp">
 							<view v-if="datainfo.checkType&&!checkType">{{statusFormat(datainfo.checkType,khlxList,'khlx')}}</view>
 							<view v-else :class="checkType?'':'coa'">{{checkType||"请选择考核类型"}}</view>
-							<!-- <view :class="checkType?'':'coa'">{{checkType || "请选择考核类型"}}</view> -->
 						</view>
 					</uni-forms-item>
-				</picker>
+				</picker> -->
 				<picker  range-key='label' :value="jflxbidx" :range="jflxList"  @change='bindDateChangec'>
 					<uni-forms-item label="加分类型" name="bonusType" required>
 						<view class="lbtabp">
@@ -60,21 +70,63 @@
 				<uni-forms-item label="分值" name="score" required>
 					<uni-easyinput :inputBorder="false" type="number" v-model="datainfo.score" placeholder="请输入分值" />
 				</uni-forms-item>
+				<uni-forms-item label="备注" name="remark">
+					<uni-easyinput type="textarea" autoHeight :inputBorder="false"  v-model="datainfo.remark" placeholder="请输入备注" />
+				</uni-forms-item>
 			</view>
 			<view class="boxs pdboxa">
 				<view class="titbox mb20">
 					<view class="tit flexc">
-						<view @click="timeshow=true">加分事由</view>
+						<view>加分事由</view>
 					</view>
 				</view>
 				<textarea placeholder="请输入加分事由…" v-model="datainfo.bonusReason"></textarea>
 			</view>
+			<view class="boxs pdbox">
+				<view class="titbox mb14">
+					<view class="tit flexc">
+						<image :src="titimg"></image>
+						<view>附件内容</view>
+					</view>
+				</view>
+				<view class="flexcj mb10">
+					<view class="fw f15 co34">添加附件</view>
+					<view class="fjadd"><lsj-upload
+						    ref="lsjUpload"
+						    childId="upload1"
+						    :width="width"
+						    :height="height"
+						    :option="option"
+						    :size="size"
+						    :formats="formats"
+						    :debug="debug"
+						    :instantly="instantly"
+						    @progress=""
+							@uploadEnd="onuploadEnd" >
+						        <view class="btn" :style="{width: width,height: height}">上传附件</view>
+						</lsj-upload>
+					</view>
+				</view>
+				<view class="ptb12" v-if="filelist&&filelist.length">
+					<view class="fjlists"  v-for="(ite,idx) in filelist" :key='idx'>
+						<view class="flext" @click="getDown(ite.url)">
+							<view class="imgl"><image :src="fjimg" ></image></view>
+							<view class="tit">{{ite.name}}</view>
+						</view>
+						<!-- 删除 -->
+						<view class="delimg flex0" @click.stop="getDelFj(idx)">
+							<image :src="delimg"></image>
+						</view>
+					</view>
+				</view>
+			</view>
 			<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>
 		</view>
 		</uni-forms>
+		
 	</view>
 </template>
 
@@ -87,22 +139,62 @@
 	const baseUrl = config.baseUrl
 	import { getToken } from '@/utils/auth'
 	export default{
+		components:{},
 		data(){
 			return{
-
+				//附件
+				  option: {
+				    // 上传服务器地址,需要替换为你的接口地址
+				    url: baseUrl+'/common/upload', // 该地址非真实路径,需替换为你项目自己的接口地址
+				    // 上传附件的key
+				    name: 'file',
+				     // 根据你接口需求自定义请求头,默认不要写content-type,让浏览器自适配
+				    header: {
+				        // 示例参数可删除
+				        'Authorization':  'Bearer ' + getToken(),
+				    },
+				    // 根据你接口需求自定义body参数
+				    formData: {}
+				},
+				// 选择文件后是否立即自动上传,true=选择后立即上传
+				instantly: true,
+				// 必传宽高且宽高应与slot宽高保持一致
+				width: '',
+				height: '48rpx',
+				// 限制允许上传的格式,空串=不限制,默认为空
+				formats: 'doc,docx,xls,xlsx,ppt,txt,pdf,zip,rar,word,png,jpg,jpeg',
+				// 文件上传大小限制
+				size: 100,
+				// 文件数量限制 默认10
+				count: 5,
+				// 文件回显列表
+				files: new Map(),
+				// 微信小程序Map对象for循环不显示,所以转成普通数组,不要问为什么,我也不知道
+				wxFiles: [],
+				// 是否打印日志
+				debug: false,
+				filelist:[], 
+				
+				
+				dfdwpicker: {
+					title: '选择考核届次',
+					layer: null,
+					titflag:true,
+					data: []
+				},
 				titimg:require("@/work/static/images/titbg.png"),
 				rimg:require("@/work/static/images/rimg.png"),
 				datainfo:{
-					"boundary":"",//考核界次
-					"checkType":"",//考核类型
+					// "boundary":"",//考核界次
+					// "checkType":"",//考核类型
 					"bonusType":"",//加分类型
 					"bonusReason":"",//加分事由
 					"bonusTime":"",//加分时间
 					"score":"",//分数
 				},
 				rules: {
-				  boundary: {rules: [{required: true,errorMessage: '请选择考核届次'} ]},
-				  checkType: {rules: [{required: true,errorMessage: '请选择考核类型'} ]},
+				  // boundary: {rules: [{required: true,errorMessage: '请选择考核届次'} ]},
+				  // checkType: {rules: [{required: true,errorMessage: '请选择考核类型'} ]},
 				  bonusType: {rules: [{required: true,errorMessage: '请选择加分类型'} ]},
 				  bonusTime: {rules: [{required: true,errorMessage: '请选择加分时间'} ]},
 				  score: {rules: [{required: true,errorMessage: '请输入分值'} ]},
@@ -122,7 +214,6 @@
 				boundary:"",
 				checkType:"",
 				bonusType:"",
-				timeshow:false,
 				id:'',
 				ptype:'add'
 			}
@@ -141,6 +232,17 @@
 			kaType(ite,list){
 				return selectValue(list, ite);
 			},
+			statusFormats(ite,list){
+				var newArr=ite.split(',')
+				var tree=[];
+				newArr.forEach(ite=>{
+					const matchingData = list.find(d => d.value == ite);
+					if(matchingData){
+						tree.push(matchingData.label)
+					}
+				})
+				this.boundary=tree.join(',')
+			},
 			statusFormat(ite,list,type) {
 				var aite=selectValueKey(list, ite);
 				if(type=='jc'){
@@ -152,32 +254,43 @@
 				}
 				return aite.actions;
 			},
-			getTimeFn(){
-				
-			},
+			// getRecorddwFn(){
+			// 	this.$refs.treePickerzrdw._show();
+			// },
+			// selectChangezrdw(e){
+			// 	var val=e;
+			// 	var name=[];
+			// 	var value=[];
+			// 	val.forEach(ite=>{
+			// 		name.push(ite.deptName)
+			// 		value.push(ite.deptId)
+			// 	},)
+			// 	this.boundary=name.join(',')
+			// 	this.datainfo.boundary=value.join(',')
+			// },
 			init(){
 				//界别 
-				getDictionaryFn('circles').then(res=>{
-					if(res.code==200&&res.data.length){
-						this.jcList = res.data.map(v => {
-							return {
-								label: v.dictLabel,
-								value: v.dictValue
-							}
-						})
-					}
-				})
+				// getDictionaryFn('circles').then(res=>{
+				// 	if(res.code==200&&res.data.length){
+				// 		this.jcList = res.data.map(v => {
+				// 			return {
+				// 				label: v.dictLabel,
+				// 				value: v.dictValue
+				// 			}
+				// 		})
+				// 	}
+				// })
 				// 考核类型
-				getDictionaryFn('check_type').then(res=>{
-					if(res.code==200&&res.data.length){
-						this.khlxList = res.data.map(v => {
-							return {
-								label: v.dictLabel,
-								value: v.dictValue
-							}
-						})
-					}
-				})
+				// getDictionaryFn('check_type').then(res=>{
+				// 	if(res.code==200&&res.data.length){
+				// 		this.khlxList = res.data.map(v => {
+				// 			return {
+				// 				label: v.dictLabel,
+				// 				value: v.dictValue
+				// 			}
+				// 		})
+				// 	}
+				// })
 				// 加分类型
 				getDictionaryFn('bonus_type').then(res=>{
 					if(res.code==200&&res.data.length){
@@ -257,6 +370,51 @@
 					}
 				})
 			},
+			onuploadEnd(item) {
+				var newobj={}
+				var responseText=JSON.parse(item.responseText)
+				newobj.name=responseText.originalFilename;
+				newobj.url=responseText.fileName;
+				this.filelist.push(newobj)
+				this.datainfo.zxFjList=JSON.parse(JSON.stringify(this.filelist))
+			},
+			getDelFj(idx){
+				var that=this;
+				uni.showModal({
+					title: '确认删除',
+					content: "是否确认删除",
+					cancelText: '取消',
+					confirmText: '确认',
+					success: function(res) {
+						if (res.confirm) {
+							that.filelist.splice(idx,1)
+							that.datainfo.zxFjList=JSON.parse(JSON.stringify(that.filelist))
+						} else if (res.cancel) {
+						}
+					}
+				});
+			},
+			getDown(e){
+					  uni.showLoading({
+					  	title: '加载中'
+					  });
+				var url=baseUrl+e;
+				uni.downloadFile({
+					url: url,//文件的下载路径
+					success(result) {
+							uni.hideLoading()
+						var filePath = result.tempFilePath;
+						   uni.openDocument({
+						     filePath: filePath,
+						     showMenu: true,
+						     success: function (res) {
+						       // console.log('打开文档成功');
+						     }
+						   });
+					},
+					fail(res) {uni.hideLoading()}
+				})
+			},
 		}
 	}
 </script>

+ 232 - 29
work/pages/report/details.vue

@@ -33,10 +33,10 @@
 					<image :src="baseUrl+memberInfo.avatar"></image>
 				</view>
 				<view class="titinf">
-					<view class="txt"><text>党派</text>{{kaType(memberInfo.partyAffiliation,dplist)}}</view>
+					<!-- <view class="txt"><text>党派</text>{{kaType(memberInfo.partyAffiliation,wybgslist)}}</view> -->
 					<view class="txt"> <text>界别</text>{{kaType(memberInfo.boundary,jblist)}}</view>
 					<view class="txt"><text>工作单位及职务</text>{{memberInfo.unit}}</view>
-					<view class="txt"><text>乡镇(经开区)委员工作室</text>{{memberInfo.studio}}</view>
+					<view class="txt"><text>乡镇(经开区)委员工作室</text>{{kaType(memberInfo.studio,wybgslist)}}</view>
 				</view>
 			</view>
 			<view class="dbox">
@@ -56,12 +56,12 @@
 					  :stripe="false"
 					  :fit="true"
 					  :parameter="parameter"
-					  @rowClick="rowClick"
+					  @rowClick="getDetailta"
 					  @toggleRowSelection="toggleRowSelection"
 					  @toggleAllSelection="toggleAllSelection"
 					  :border="border"
 					  :borderr="borderr"
-					  @detail="getDetail"
+					  @detail="getDetailta"
 					  :data="proposalInfoList"></zb-table>	
 					</block>
 					<block v-else>
@@ -86,12 +86,12 @@
 						  :stripe="false"
 						  :fit="true"
 						  :parameter="parameter"
-						  @rowClick="rowClick"
+						  @rowClick="getDetailsq"
 						  @toggleRowSelection="toggleRowSelection"
 						  @toggleAllSelection="toggleAllSelection"
 						  :border="border"
 						  :borderr="borderr"
-						  @detail="getDetail"
+						  @detail="getDetailsq"
 						  :data="sqmyInfoList"></zb-table>
 					</block>
 					<block v-else>
@@ -103,26 +103,87 @@
 				<view class="titbox mb27 flexc">
 					<view class="tit flexc flex1">
 						<image :src="titimg"></image>
-						<view>会议参与情况</view>
+						<view>招商线索</view>
 					</view>
 					<view class="tips">请左右滑动查看详细信息</view>
 				</view>
 				<view class="mb10">
-					<block v-if="zxConferenceList&&zxConferenceList.length">
+					<block v-if="zxInvestmentList&&zxInvestmentList.length">
 						<zb-table
 						  :show-header="true"
-						  :columns="hycolumns"
+						  :columns="zsxscolumns"
 						  :headbgColor="headbgColor"
 						  :stripe="false"
 						  :fit="true"
 						  :parameter="parameter"
-						  @rowClick="rowClick"
+						  @rowClick="getDetailzs"
 						  @toggleRowSelection="toggleRowSelection"
 						  @toggleAllSelection="toggleAllSelection"
 						  :border="border"
 						  :borderr="borderr"
-						  @detail="getDetail"
-						  :data="zxConferenceList"></zb-table>
+						  @detail="getDetailzs"
+						  :data="zxInvestmentList"></zb-table>
+					</block>
+					<block v-else>
+						<no-data padtop="0" padbottom="20"></no-data>
+					</block>
+				</view>
+			</view>
+			<view class="dbox">
+				<view class="titbox mb27 flexc">
+					<view class="tit flexc flex1">
+						<image :src="titimg"></image>
+						<view>视察调研活动</view>
+					</view>
+					<view class="tips">请左右滑动查看详细信息</view>
+				</view>
+				<!-- 按照活动类型分开 -->
+				<view class="mb10">
+					<block v-if="activityScdyList&&activityScdyList.length">
+					<zb-table
+					  :show-header="true"
+					  :columns="hdcolumns"
+					  :headbgColor="headbgColor"
+					  :stripe="false"
+					  :fit="true"
+					  :parameter="parameter"
+					  @rowClick="getDetailhd"
+					  @toggleRowSelection="toggleRowSelection"
+					  @toggleAllSelection="toggleAllSelection"
+					  :border="border"
+					  :borderr="borderr"
+					  @detail="getDetailhd"
+					  :data="activityScdyList"></zb-table>
+					</block>
+					<block v-else>
+						<no-data padtop="0" padbottom="20"></no-data>
+					</block>
+				</view>
+			</view>
+			<view class="dbox">
+				<view class="titbox mb27 flexc">
+					<view class="tit flexc flex1">
+						<image :src="titimg"></image>
+						<view>政协委员工作室活动</view>
+					</view>
+					<view class="tips">请左右滑动查看详细信息</view>
+				</view>
+				<view class="mb10">
+					<block v-if="activityLlzList&&activityLlzList.length">
+					<zb-table
+					  :show-header="true"
+					  :columns="hdcolumns"
+					  :headbgColor="headbgColor"
+					  :stripe="false"
+					  :fit="true"
+					  :parameter="parameter"
+					  @rowClick="getDetailhd"
+					  @toggleRowSelection="toggleRowSelection"
+					  @toggleAllSelection="toggleAllSelection"
+					  :border="border"
+					  :borderr="borderr"
+					  @detail="getDetailhd"
+					  :data="activityLlzList"></zb-table>
 					</block>
 					<block v-else>
 						<no-data padtop="0" padbottom="20"></no-data>
@@ -130,6 +191,66 @@
 				</view>
 			</view>
 			<view class="dbox">
+				<view class="titbox mb27 flexc">
+					<view class="tit flexc flex1">
+						<image :src="titimg"></image>
+						<view>界别活动</view>
+					</view>
+					<view class="tips">请左右滑动查看详细信息</view>
+				</view>
+				<view class="mb10">
+					<block v-if="activityJbList&&activityJbList.length">
+					<zb-table
+					  :show-header="true"
+					  :columns="hdcolumns"
+					  :headbgColor="headbgColor"
+					  :stripe="false"
+					  :fit="true"
+					  :parameter="parameter"
+					  @rowClick="getDetailhd"
+					  @toggleRowSelection="toggleRowSelection"
+					  @toggleAllSelection="toggleAllSelection"
+					  :border="border"
+					  :borderr="borderr"
+					  @detail="getDetailhd"
+					  :data="activityJbList"></zb-table>
+					</block>
+					<block v-else>
+						<no-data padtop="0" padbottom="20"></no-data>
+					</block>
+				</view>
+			</view>
+			<view class="dbox">
+				<view class="titbox mb27 flexc">
+					<view class="tit flexc flex1">
+						<image :src="titimg"></image>
+						<view>为群众办实事活动</view>
+					</view>
+					<view class="tips">请左右滑动查看详细信息</view>
+				</view>
+				<view class="mb10">
+					<block v-if="activityBssList&&activityBssList.length">
+					<zb-table
+					  :show-header="true"
+					  :columns="hdcolumns"
+					  :headbgColor="headbgColor"
+					  :stripe="false"
+					  :fit="true"
+					  :parameter="parameter"
+					  @rowClick="getDetailhd"
+					  @toggleRowSelection="toggleRowSelection"
+					  @toggleAllSelection="toggleAllSelection"
+					  :border="border"
+					  :borderr="borderr"
+					  @detail="getDetailhd"
+					  :data="activityBssList"></zb-table>
+					</block>
+					<block v-else>
+						<no-data padtop="0" padbottom="20"></no-data>
+					</block>
+				</view>
+			</view>
+<!-- 			<view class="dbox">
 				<view class="titbox mb27 flexc">
 					<view class="tit flexc flex1">
 						<image :src="titimg"></image>
@@ -151,15 +272,45 @@
 					  @toggleAllSelection="toggleAllSelection"
 					  :border="border"
 					  :borderr="borderr"
-					  @detail="getDetail"
+					  @detail="getDetails"
 					  :data="zxActivityList"></zb-table>
 					</block>
 					<block v-else>
 						<no-data padtop="0" padbottom="20"></no-data>
 					</block>
 				</view>
-			</view>
-			<view class="dbox">
+			</view> -->
+			<!-- <view class="dbox">
+				<view class="titbox mb27 flexc">
+					<view class="tit flexc flex1">
+						<image :src="titimg"></image>
+						<view>会议参与情况</view>
+					</view>
+					<view class="tips">请左右滑动查看详细信息</view>
+				</view>
+				<view class="mb10">
+					<block v-if="zxConferenceList&&zxConferenceList.length">
+						<zb-table
+						  :show-header="true"
+						  :columns="hycolumns"
+						  :headbgColor="headbgColor"
+						  :stripe="false"
+						  :fit="true"
+						  :parameter="parameter"
+						  @rowClick="rowClick"
+						  @toggleRowSelection="toggleRowSelection"
+						  @toggleAllSelection="toggleAllSelection"
+						  :border="border"
+						  :borderr="borderr"
+						  @detail="getDetails"
+						  :data="zxConferenceList"></zb-table>
+					</block>
+					<block v-else>
+						<no-data padtop="0" padbottom="20"></no-data>
+					</block>
+				</view>
+			</view> -->
+			<!-- <view class="dbox">
 				<view class="titbox mb27 flexc">
 					<view class="tit flexc flex1">
 						<image :src="titimg"></image>
@@ -181,14 +332,14 @@
 					  @toggleAllSelection="toggleAllSelection"
 					  :border="border"
 					  :borderr="borderr"
-					  @detail="getDetail"
+					  @detail="getDetails"
 					  :data="zxSpeakList"></zb-table>
 					</block>
 					<block v-else>
 						<no-data padtop="0" padbottom="20"></no-data>
 					</block>
 				</view>
-			</view>
+			</view> -->
 			<view class="fbtns" v-if="checkPermi(['member:info:MemberReport'])">
 				<view class="btn btn1" @click="getReportFn">生成报告</view>
 				<!-- <view class="btn btn2" @click="getScfkFn">审核</view> -->
@@ -228,11 +379,18 @@
 				    { name: 'proposalProgress', label: '提案进度',align:'center',type:"format",key:"tajdlist"},
 				],
 				zxcolumns: [
-				    { name: 'sqmyNumber', label: '号',width:230,align:'center', },
+				    { name: 'sqmyNumber', label: '号',width:230,align:'center', },
 				    { name: 'title', label: '信息标题 ',width:230,align:'center', },
 				    { name: 'topicType', label: '主题类型',align:'center',type:"format",key:"ztlxlist"},
-					{ name: 'isRecord', label: '是否立案',align:'center',type:"format",key:"sflalist"},
-					{ name: 'sqmyProgress', label: '提案进度',align:'center',type:"format",key:"tajdlist"},
+					{ name: 'isRecord', label: '是否采用',align:'center',type:"format",key:"sflalist"},
+					// { name: 'sqmyProgress', label: '社情进度',align:'center',type:"format",key:"sqjdlist"},
+				],
+				zsxscolumns:[
+					{ name: 'clueName', label: '项目线索名称',width:230,align:'center', },
+					{ name: 'investmentAmount', label: '拟投资额 ',width:230,align:'center', },
+					{ name: 'contactsName', label: '联系人',align:'center',},
+					{ name: 'contactsPhone', label: '联系方式',align:'center',},
+					{ name: 'publishTime', label: '录入时间',align:'center',},
 				],
 				hycolumns:[{ name: 'conferenceTitle', label: '会议名称 ',width:230,align:'center', },
 					{ name: 'conferenceType', type:"format", label: '会议类型',align:'center',key:"hylxlist"},
@@ -241,7 +399,7 @@
 					{ name: 'conferenceAddress', label: '会议地点',align:'center'},],
 				hdcolumns: [
 				    { name: 'activityTitle', label: '活动名称 ',width:230,align:'center', },
-					{ name: 'activityType', type:"format", label: '活动类型',align:'center',key:"hdlxlist"},
+					// { name: 'activityType', type:"format", label: '活动类型',align:'center',key:"hdlxlist"},
 				    { name: 'activityDate', label: '活动日期',align:'center'},
 				    { name: 'activityTime', label: '活动时间',align:'center'},
 				    { name: 'activityAddress', label: '活动地点',align:'center'},
@@ -259,6 +417,7 @@
 					ztlxlist:[],
 					fylxlist:[],
 					tajdlist:[],
+					sqjdlist:[],
 					sflalist:[ {label: '是',value:'0'},{label: '否',value:'0'},]
 				},
 				border:true,
@@ -277,7 +436,12 @@
 				zxActivityList:{},
 				zxSpeakList:{},
 				jblist:[],
-				dplist:[],
+				wybgslist:[],
+				zxInvestmentList:[],//招商集合
+				activityScdyList:[],//视察调研集合
+				activityLlzList:[],//联络组活动集合
+				activityJbList:[],//界别集合
+				activityBssList:[],//为群众办实事集合
 			}
 		},
 		onUnload(){
@@ -307,6 +471,28 @@
 			typeFormat(ite,list){
 				return selectValue(list, ite);
 			},
+			getDetailta(e){
+				var data=e.proposalId
+				this.$tab.navigateTo('/work/pages/case/details?id='+data)
+			},
+			getDetailsq(e){
+				var data=e.sqmyId
+				this.$tab.navigateTo('/work/pages/sqmyInfo/details?id='+data)
+			},
+			getDetailzs(e){
+				var data=e.investmentId
+				this.$tab.navigateTo('/work/pages/meeting/zsyzdetails?id='+data)
+			},
+			getDetailhd(e){
+				var data=e.activityId
+				this.$tab.navigateTo('/work/pages/meeting/activedetails?id='+data)
+			},
+			getDetails(e){
+				console.log(e,123)
+			},
+			rowClick(e){
+				console.log(e,123)
+			},
 			init(){
 				// 界别
 				getDictionaryFn('circles').then(res=>{
@@ -319,10 +505,10 @@
 						})
 					}
 				})
-				// 党派
-				getDictionaryFn('political_parties').then(res=>{
+				// 委员办公室
+				getDictionaryFn('member_studio').then(res=>{
 					if(res.code==200&&res.data.length){
-						this.dplist = res.data.map(v => {
+						this.wybgslist = res.data.map(v => {
 							return {
 								label: v.dictLabel,
 								value: v.dictValue
@@ -341,6 +527,17 @@
 						})
 					}
 				})
+				// 社情详情
+				getDictionaryFn('sqmy_jd').then(res=>{
+					if(res.code==200&&res.data.length){
+						this.parameter.sqjdlist = res.data.map(v => {
+							return {
+								label: v.dictLabel,
+								value: v.dictValue
+							}
+						})
+					}
+				})
 				// 主题类型
 				getDictionaryFn('sqmy_topic_type').then(res=>{
 					if(res.code==200&&res.data.length){
@@ -391,7 +588,7 @@
 			},
 			getEditFn(){
 				if(checkPermi(['member:info:edit'])){
-					this.$tab.navigateTo('/work/pages/report/mineinfo?id='+this.id)
+					this.$tab.navigateTo('/work/pages/report/mineinfo?type=edit&id='+this.id)
 				}
 			},
 			getClose(){
@@ -436,9 +633,15 @@
 						this.memberInfo=res.data.memberInfo;
 						this.proposalInfoList=res.data.proposalInfoList;
 						this.sqmyInfoList=res.data.sqmyInfoList;
-						this.zxConferenceList=res.data.zxConferenceList;
-						this.zxActivityList=res.data.zxActivityList;
-						this.zxSpeakList=res.data.zxSpeakList;
+						this.zxInvestmentList=res.data.zxInvestmentList;
+						this.activityScdyList=res.data.activityScdyList;
+						this.activityLlzList=res.data.activityLlzList;
+						this.activityJbList=res.data.activityJbList;
+						this.activityBssList=res.data.activityBssList;
+						
+						// this.zxConferenceList=res.data.zxConferenceList;
+						// this.zxActivityList=res.data.zxActivityList;
+						// this.zxSpeakList=res.data.zxSpeakList;
 						// if(res.data.zxFjList&&res.data.zxFjList.length){
 						// 	this.filelist=JSON.parse(JSON.stringify(res.data.zxFjList))
 						// }

+ 56 - 44
work/pages/report/info.vue

@@ -25,32 +25,41 @@
 					<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>
-			<view style="height: 56rpx;"></view>
-			<view class="lbtab flexc">
-				<image :src="lbicoimg" class="limg"></image>
-				<view class="lbtabs flexc">
-					<view class="lbtabp">
-						<picker  range-key='label'  :range="jblist"  @change='bindDateChangea'>
-							<view :class="jbtxt?'':'f16 co80'">{{jbtxt || '选择界别'}}</view>
-						</picker>
-						<image :src="upimg" class="upimg"></image>
-					</view>
-					<view class="lbtabp" v-if="tabidx!='jfju'">
-						<picker  range-key='label'  :range="dplist"  @change='bindDateChangeb'>
-							<view :class="dptxt?'':'f16 co80'">{{dptxt || '选择党派'}}</view>
-						</picker>
-						<image :src="upimg" class="upimg"></image>
-					</view>
-					<view class="lbtabp" @click="getReafFn" v-if="checkPermi(['member:info:assessmentScore'])&&tabidx!='jfju'">
-						<image :src="reashimg" class="reashimg"></image>
-						<view :class="dptxt?'':'f16 co80'">刷新排名</view>
+			<block v-if="checkPermi(['member:info:alllist'])||tabidx=='jfju'">
+				<view style="height: 56rpx;"></view>
+				<view class="lbtab flexc">
+					<image :src="lbicoimg" class="limg"></image>
+					<view class="lbtabs flexc">
+						<view class="lbtabp" v-if="tabidx!='jfju'">
+							<picker  range-key='label'  :range="jblist"  @change='bindDateChangea'>
+								<view :class="jbtxt?'':'f16 co80'">{{jbtxt || '选择界别'}}</view>
+							</picker>
+							<image :src="upimg" class="upimg"></image>
+						</view>
+						<view class="lbtabp" v-if="tabidx!='jfju'">
+							<picker  range-key='label'  :range="wybgslist"  @change='bindDateChangeb'>
+								<view :class="wybgstxt?'':'f16 co80'">{{wybgstxt || '选择委员工作室'}}</view>
+							</picker>
+							<image :src="upimg" class="upimg"></image>
+						</view>
+						<view class="lbtabp" v-if="tabidx=='jfju'">
+							<picker  range-key='label'  :range="jflxList"  @change='bindDateChangec'>
+								<view :class="jflxxt?'':'f16 co80'">{{jflxtxt || '选择加分类型'}}</view>
+							</picker>
+							<image :src="upimg" class="upimg"></image>
+						</view>
+						<view class="lbtabp" @click="getReafFn" v-if="checkPermi(['member:info:assessmentScore'])&&tabidx!='jfju'">
+							<image :src="reashimg" class="reashimg"></image>
+							<view >刷新排名</view>
+						</view>
 					</view>
 				</view>
-			</view>
+			</block>
 		</view>
 		<!-- 列表 -->
 		<view class="mbox">
-			<report-list :type="tabidx" :datalist="list" :wtdt="wtdt" :jcList="jcList" :khlxList='khlxList' :jflxList="jflxList"  :dplist="dplist" :jblist='jblist'  @getDetail="getDetail" @getTuiFn="getTuiFn"></report-list>
+			<view v-if="checkPermi(['member:info:alllist'])||tabidx=='jfju'" style="height: 56rpx;"></view>
+			<report-list :type="tabidx" :datalist="list" :wtdt="wtdt" :jcList="jcList" :khlxList='khlxList' :jflxList="jflxList"  :wybgslist="wybgslist" :jblist='jblist'  @getDetail="getDetail" @getTuiFn="getTuiFn"></report-list>
 		</view>
 		<view style="height: 100rpx;" v-if="checkPermi(['member:info:add'])&&tabidx=='lzxx'"></view>
 		<view class="fwbtns" @click="getAddFn" v-if="checkPermi(['member:info:add'])&&tabidx=='lzxx'">履职档案</view>
@@ -94,15 +103,17 @@
 				reachflag: true,
 				wtdt:'',
 				jblist:[],
-				dplist:[],
+				wybgslist:[],
 				jbtxt:'',
-				dptxt:"",
+				wybgstxt:"",
 				jbval:'',
-				dpval:'',
+				wybgsval:'',
 				title:'',
 				jflxList:[],
 				khlxList:[],
 				jcList:[],
+				jflxtxt:'',
+				jflxval:'',
 				userId:this.$store.state.user.userId,
 			}
 		},
@@ -131,21 +142,10 @@
 		methods:{
 			checkPermi, checkRole,
 			init(){
-				// 界别
-				getDictionaryFn('circles').then(res=>{
-					if(res.code==200&&res.data.length){
-						this.jblist = res.data.map(v => {
-							return {
-								label: v.dictLabel,
-								value:v.dictValue
-							}
-						})
-					}
-				})
-				// 党派
-				getDictionaryFn('political_parties').then(res=>{
+				// 委员办公室
+				getDictionaryFn('member_studio').then(res=>{
 					if(res.code==200&&res.data.length){
-						this.dplist = res.data.map(v => {
+						this.wybgslist = res.data.map(v => {
 							return {
 								label: v.dictLabel,
 								value: v.dictValue
@@ -156,7 +156,7 @@
 				//界别
 				getDictionaryFn('circles').then(res=>{
 					if(res.code==200&&res.data.length){
-						this.jcList = res.data.map(v => {
+						this.jblist = res.data.map(v => {
 							return {
 								label: v.dictLabel,
 								value: v.dictValue
@@ -226,8 +226,14 @@
 			},
 			bindDateChangeb(e){
 				var val=e.detail.value;
-				this.dptxt=this.dplist[val].label;
-				this.dpval=this.dplist[val].value;
+				this.wybgstxt=this.wybgslist[val].label;
+				this.wybgsval=this.wybgslist[val].value;
+				this.getrefreshData()
+			},
+			bindDateChangec(e){
+				var val=e.detail.value;
+				this.jflxtxt=this.jflxList[val].label;
+				this.jflxval=this.jflxList[val].value;
 				this.getrefreshData()
 			},
 			getrefreshData(){
@@ -295,7 +301,12 @@
 				this.$tab.navigateTo('/work/pages/report/mineinfo?type=add')
 			},
 			getDetail(data){
-				this.$tab.navigateTo('/work/pages/report/details?id='+data)	
+				if(this.tabidx=='lzxx'){
+					this.$tab.navigateTo('/work/pages/report/details?id='+data)	
+				}else if(this.tabidx=='jfju'){
+					this.$tab.navigateTo('/work/pages/report/scoredetail?id='+data)	
+				}
+				
 			},
 			getDataFn(){
 				var params={
@@ -303,7 +314,7 @@
 					pageNum: this.pageNum,
 				}
 				params.boundary=this.jbval
-				params.partyAffiliation=this.dpval
+				params.studio=this.wybgsval
 				if(this.title){
 					params.name=this.title
 				}
@@ -342,6 +353,7 @@
 					}else {
 						params.userId=this.userId
 					}
+					params.bonusType=this.jflxval;
 					getBonusListFn(params).then(res=>{
 						if(res.code==200){
 							if (res.rows.length < this.pageSize) {
@@ -402,6 +414,6 @@
 	}
 }
 .reashimg{width: 26rpx;height: 22rpx; margin-right: 18rpx;}
-.mbox{padding:58rpx 24rpx 28rpx;}
+.mbox{padding:2rpx 24rpx 28rpx;}
 .lbtabs /deep/ picker{padding: 0 18rpx;}
 </style>

+ 38 - 28
work/pages/report/mineinfo.vue

@@ -3,7 +3,7 @@
 		<!-- 详情 -->
 		<view class="forms detail" v-if="!updflag">
 			<view class="items">
-				<view class="label flex1">委员照片</view>
+				<view class="label flex1">照片</view>
 				<view class="flexr">
 					<view class="addbox">
 						<image v-if="datainfo.avatar" :src="baseUrl+datainfo.avatar" class="phoimg"></image>
@@ -12,7 +12,7 @@
 				</view>
 			</view>
 			<view class="items">
-				<view class="label">委员姓名</view>
+				<view class="label">姓名</view>
 				<view class="itetit">{{datainfo.name}}</view>
 			</view>
 			<view class="items">
@@ -23,10 +23,10 @@
 				<view class="label">界别</view>
 				<view class="itetit">{{kaType(datainfo.boundary,jblist)}}</view>
 			</view>
-			<view class="items">
+			<!-- <view class="items">
 				<view class="label">党派</view>
 				<view class="itetit">{{kaType(datainfo.partyAffiliation,dplist)}}</view>
-			</view>
+			</view> -->
 			<view class="items">
 				<view class="label">级别</view>
 				<view class="itetit">{{kaType(datainfo.grade,jeblist)}}</view>
@@ -37,7 +37,7 @@
 			</view>
 			<view class="items">
 				<view class="label">乡镇(经开区)委员工作室</view>
-				<view class="itetit">{{datainfo.studio}}</view>
+				<view class="itetit">{{kaType(datainfo.studio,wybgslist)}}</view>
 			</view>
 			<view class="items">
 				<view class="label">联系方式</view>
@@ -49,7 +49,7 @@
 		<uni-forms :modelValue="datainfo" ref="form" :rules="rules" class="forms"  v-else>
 			<view class="items">
 				<view class="flex1">
-					<view class="label"><text class="cir">*</text> 委员照片</view>
+					<view class="label"><text class="cir">*</text>照片</view>
 					<view class="addtip">请上传一寸免冠照片,大小不超过300k</view>
 				</view>
 				<view class="flexr">
@@ -60,8 +60,8 @@
 				</view>
 				
 			</view>
-			<uni-forms-item label="委员姓名" name="name" required>
-				<uni-easyinput :inputBorder="false" type="text" v-model="datainfo.name" placeholder="请输入委员姓名" />
+			<uni-forms-item label="姓名" name="name" required>
+				<uni-easyinput :inputBorder="false" type="text" v-model="datainfo.name" placeholder="请输入姓名" />
 			</uni-forms-item>
 			<uni-forms-item label="身份证号" name="card" required>
 				<uni-easyinput :inputBorder="false" type="text" v-model="datainfo.card" placeholder="请输入身份证号" />
@@ -76,16 +76,15 @@
 					</view>
 				</uni-forms-item>
 			</picker>
-			<picker  range-key='label' :value="tpidx" :range="dplist"  @change='bindDateChangeb'>
+			<!-- <picker  range-key='label' :value="tpidx" :range="dplist"  @change='bindDateChangeb'>
 				<uni-forms-item label="党派" name="partyAffiliation" required>
 					<view class="lbtabp">
 						<view v-if="datainfo.partyAffiliation&&!partyAffiliation">{{statusFormat(datainfo.partyAffiliation,dplist,'dp')}}</view>
 						<view v-else :class="partyAffiliation?'':'coa'">{{partyAffiliation||"请选择党派"}}</view>
-						<!-- <view :class="kaType(datainfo.partyAffiliation,dplist)?'':'coa'">{{kaType(datainfo.partyAffiliation,dplist) || "请选择党派"}}</view> -->
 						<image :src="rimg" class="rimg"></image>
 					</view>
 				</uni-forms-item>
-			</picker>
+			</picker> -->
 			<picker  range-key='label' :value="jebidx" :range="jeblist"  @change='bindDateChangec'>
 				<uni-forms-item label="级别" name="grade" required>
 					<view class="lbtabp">
@@ -98,17 +97,18 @@
 			<uni-forms-item label="工作单位及职务" name="unit" required>
 				<uni-easyinput :inputBorder="false" type="text" v-model="datainfo.unit" placeholder="请输入工作单位及职务" />
 			</uni-forms-item>
-			<uni-forms-item label="乡镇(经开区)委员工作室" name="studio" required>
-				<uni-easyinput :inputBorder="false" type="text" v-model="datainfo.studio" placeholder="请输入委员工作室" />
+			<uni-forms-item label="联系地址" name="address" required>
+				<uni-easyinput :inputBorder="false" type="text" v-model="datainfo.address" placeholder="请输入联系地址" />
 			</uni-forms-item>
-			<!-- <picker  range-key='label'  :value="tzlbidx" :range="tzlbList"  @change='bindDateChangea'>
-				<uni-forms-item label="乡镇(经开区)委员工作室" name="s" required>
+			<picker  range-key='label' :value="wybgsidx" :range="wybgslist"  @change='bindDateChangeb'>
+				<uni-forms-item label="乡镇(经开区)委员工作室" name="studio" required>
 					<view class="lbtabp">
-						<view :class="datainfo.tzlb?'':'coa'">{{datainfo.tzlb || "请选择委员工作室"}}</view>
+						<view v-if="datainfo.studio&&!studio">{{statusFormat(datainfo.studio,wybgslist,'wybgs')}}</view>
+						<view v-else :class="studio?'':'coa'">{{studio||"请选择委员工作室"}}</view>
 						<image :src="rimg" class="rimg"></image>
 					</view>
 				</uni-forms-item>
-			</picker> -->
+			</picker>
 			<uni-forms-item label="联系方式" name="phonenumber" required>
 				<uni-easyinput :inputBorder="false" type="number" v-model="datainfo.phonenumber" placeholder="请输入联系方式" />
 			</uni-forms-item>
@@ -137,32 +137,34 @@
 					"name":"",//委员姓名
 					"card":"",//委员身份证号
 					"boundary":"",//界别
-					"partyAffiliation":"",//党派
+					// "partyAffiliation":"",//党派
 					"grade":'',
 					"phonenumber":"",//手机号码
 					"avatar":"",//委员照片地址
 					"unit":"",//工作单位及职务
 					"studio":"",//乡镇(经开区)委员工作室
+					"address":'',//地址
 				},
 				tzlbList:[{label: '新闻',value: 0},{label: '开会',value: 1}],
 				tzlbidx:'',
 				updflag:false,
 				jblist:[],
-				dplist:[],
+				wybgslist:[],
 				baseUrl:'',
 				jbidx:[],
-				dpidx:[],
+				wybgsidx:[],
 				jeblist:[],
 				ptype:'',
 				rules: {
 				  // avatar: {rules: [{required: true,errorMessage: '请上传委员照片'}]},
-				  name: {rules: [{required: true,errorMessage: '请输入委员姓名',}]},
+				  name: {rules: [{required: true,errorMessage: '请输入姓名',}]},
 				  card: {rules: [{required: true,errorMessage: '请输入身份证号' } ]},
 				  boundary: {rules: [{required: true,errorMessage: '请选择界别'} ]},
-				  partyAffiliation: {rules: [{required: true,errorMessage: '请选择党派'} ]},
+				  // partyAffiliation: {rules: [{required: true,errorMessage: '请选择党派'} ]},
 				  grade: {rules: [{required: true,errorMessage: '请选择级别'} ]},
+				  address: {rules: [{required: true,errorMessage: '请输入联系地址'} ]},
 				  unit: {rules: [{required: true,errorMessage: '请输入工作单位及职务'} ]},
-				  studio: {rules: [{required: true,errorMessage: '请输入乡镇(经开区)委员工作室'} ]},
+				  studio: {rules: [{required: true,errorMessage: '请选择乡镇(经开区)委员工作室'} ]},
 				  phonenumber: {rules: [{required: true,errorMessage: '请输入联系方式'} ]},
 				},
 				boundary:'',
@@ -171,6 +173,7 @@
 				dpidx:'',
 				grade:'',
 				jebidx:'',
+				studio:"",
 				isMember:this.$store.state.user.isMember
 			}
 		},
@@ -197,8 +200,8 @@
 			},
 			bindDateChangeb(e){
 				var val=e.detail.value;
-				this.partyAffiliation=this.dplist[val].label
-				this.datainfo.partyAffiliation=this.dplist[val].value
+				this.studio=this.wybgslist[val].label
+				this.datainfo.studio=this.wybgslist[val].value
 			},
 			bindDateChangec(e){
 				var val=e.detail.value;
@@ -215,6 +218,10 @@
 					this.jflxbidx=aite.key
 				}else if(type=='jeb'){
 					this.jebidx=aite.key
+				}else if(type=='wybgs'){
+					this.wybgsidx=aite.key
+				}else if(type=='jb'){
+					this.jbidx=aite.key
 				}
 				return aite.actions;
 			},
@@ -233,10 +240,10 @@
 						})
 					}
 				})
-				// 党派
-				getDictionaryFn('political_parties').then(res=>{
+				// 委员办公室
+				getDictionaryFn('member_studio').then(res=>{
 					if(res.code==200&&res.data.length){
-						this.dplist = res.data.map(v => {
+						this.wybgslist = res.data.map(v => {
 							return {
 								label: v.dictLabel,
 								value: v.dictValue
@@ -329,6 +336,9 @@
 							if(res.code==200){
 								that.$toast('修改成功')
 								that.updflag=true;
+								that.$store.dispatch('GetInfo').then(res => {
+									
+								})
 								setTimeout(function(){
 									uni.$emit('lzrefreshlist')
 									uni.$emit('refreshdetail')

+ 126 - 25
work/pages/report/report.vue

@@ -29,10 +29,10 @@
 							<image :src="medala"></image>
 							界别<text></text>{{kaType(memberInfo.boundary,jblist)}}
 						</view>
-						<view class="bg bg2">
+						<!-- <view class="bg bg2">
 							<image :src="medalb"></image>
 							党派<text></text>{{kaType(memberInfo.partyAffiliation,dplist)}}
-						</view>
+						</view> -->
 					</view>
 				</view>
 			</view>
@@ -89,6 +89,26 @@
 					<view class="txt"><text>{{mapcount.sqmyInfoNum}}</text>件</view>
 				</view>
 				<view class="nums bga">
+					<view class="tit flex1">招商数量</view>
+					<view class="txt"><text>{{mapcount.investmentNum}}</text>件</view>
+				</view>
+				<view class="nums bgb">
+					<view class="tit flex1">视察调研活动</view>
+					<view class="txt"><text>{{mapcount.activityScdyNum}}</text>件</view>
+				</view>
+				<view class="nums bga">
+					<view class="tit flex1">政协委员工作室活动</view>
+					<view class="txt"><text>{{mapcount.activityLlzNum}}</text>件</view>
+				</view>
+				<view class="nums bgb">
+					<view class="tit flex1">界别活动</view>
+					<view class="txt"><text>{{mapcount.activityJbNum}}</text>件</view>
+				</view>
+				<view class="nums bga">
+					<view class="tit flex1">为群众办实事活动</view>
+					<view class="txt"><text>{{mapcount.activityBssNum}}</text>件</view>
+				</view>
+				<!-- <view class="nums bga">
 					<view class="tit flex1">全会</view>
 					<view class="txt"><text>{{mapcount.plenarySessionNum}}</text>件</view>
 				</view>
@@ -103,7 +123,7 @@
 				<view class="nums bgb">
 					<view class="tit flex1">会议发言</view>
 					<view class="txt"><text>{{mapcount.speakNum}}</text>件</view>
-				</view>
+				</view> -->
 			</view>
 			<!-- 雷达图 -->
 			<view class="mb32">
@@ -113,14 +133,14 @@
 			<view class="jinfo">
 				<view class="tit mb14">各项得分</view>
 				<view class="gsbox">
-					<view class="gslist">
+					<!-- <view class="gslist">
 						<view class="gtit">活动</view>
 						<view class="gtxt">{{scorecount.activityScore}}</view>
 					</view>
 					<view class="gslist">
 						<view class="gtit">会议</view>
 						<view class="gtxt">{{scorecount.conferenceScore}}</view>
-					</view>
+					</view> -->
 					<view class="gslist">
 						<view class="gtit">社情民意</view>
 						<view class="gtxt">{{scorecount.sqmyScore}}</view>
@@ -129,14 +149,34 @@
 						<view class="gtit">政协提案</view>
 						<view class="gtxt">{{scorecount.proposalScore}}</view>
 					</view>
+					<view class="gslist">
+						<view class="gtit">招商引资</view>
+						<view class="gtxt">{{scorecount.investmentScore}}</view>
+					</view>
+					<view class="gslist">
+						<view class="gtit">视察调研活动</view>
+						<view class="gtxt">{{scorecount.activityScdyScore}}</view>
+					</view>
+					<view class="gslist">
+						<view class="gtit">政协委员工作室活动</view>
+						<view class="gtxt">{{scorecount.activityLlzScore}}</view>
+					</view>
+					<view class="gslist">
+						<view class="gtit">界别活动</view>
+						<view class="gtxt">{{scorecount.activityJbScore}}</view>
+					</view>
+					<view class="gslist">
+						<view class="gtit">为群众办实事活动</view>
+						<view class="gtxt">{{scorecount.activityBssScore}}</view>
+					</view>
 					<!-- <view class="gslist">
 						<view class="gtit">会议发言</view>
 						<view class="gtxt">{{scorecount.conferenceScore}}</view>
 					</view> -->
-					<view class="gslist">
+					<!-- <view class="gslist">
 						<view class="gtit">其他</view>
 						<view class="gtxt">{{scorecount.bonusScore}}</view>
-					</view>
+					</view> -->
 				</view>
 			</view>
 			</block>
@@ -144,9 +184,16 @@
 			<view class="list" v-if="tabval!=0">
 				<view class="zfbox" v-if="tabval==2">个人提案方面总计得分 <text class="znum">{{scorecount.proposalScore||0}}</text> 分</view>
 				<view class="zfbox" v-if="tabval==3">个人社情民意方面总计得分 <text class="znum">{{scorecount.sqmyScore||0}}</text> 分</view>
-				<view class="zfbox" v-if="tabval==4">个人会议参与情况总计得分 <text class="znum">{{scorecount.conferenceScore||0}}</text> 分</view>
-				<view class="zfbox" v-if="tabval==5">个人活动参与情况总计得分 <text class="znum">{{scorecount.activityScore||0}}</text> 分</view>
-				<report-list :type='tabval' :wtdt="wtdt" :tajdlist="tajdlist" :ztlxlist="ztlxlist" :hylxlist="hylxlist" :hdlxlist="hdlxlist" :datalist="list"></report-list>
+		<!-- 		<view class="zfbox" v-if="tabval==4">个人会议参与情况总计得分 <text class="znum">{{scorecount.conferenceScore||0}}</text> 分</view>
+				<view class="zfbox" v-if="tabval==5">个人活动参与情况总计得分 <text class="znum">{{scorecount.activityScore||0}}</text> 分</view> -->
+				<view class="zfbox" v-if="tabval==7">个人招商方面总计得分 <text class="znum">{{scorecount.investmentScore||0}}</text> 分</view>
+				<view class="zfbox" v-if="tabval==8">个人视察调研活动总计得分 <text class="znum">{{scorecount.activityScdyScore||0}}</text> 分</view>
+				<view class="zfbox" v-if="tabval==9">个人政协委员工作室活动总计得分 <text class="znum">{{scorecount.activityLlzScore||0}}</text> 分</view>
+				<view class="zfbox" v-if="tabval==10">个人界别活动总计得分 <text class="znum">{{scorecount.activityJbScore||0}}</text> 分</view>
+				<view class="zfbox" v-if="tabval==11">个人为群众办实事活动总计得分 <text class="znum">{{scorecount.activityBssScore||0}}</text> 分</view>
+				
+				
+				<report-list :type='tabval' :wtdt="wtdt" :tajdlist="tajdlist" :sqjdlist="sqjdlist" :ztlxlist="ztlxlist" :hylxlist="hylxlist" :hdlxlist="hdlxlist" :datalist="list" @getDetail="getDetailFn"></report-list>
 				<!-- <view class="upmore flexccc">
 					<image :src="upmimg"></image>
 					<view>下拉更多</view>
@@ -190,6 +237,12 @@
 				zxConferenceList:[],//会议集合
 				zxActivityList:[],//活动集合
 				zxSpeakList:[],//发言集合
+				zxInvestmentList:[],//招商集合
+				activityScdyList:[],//视察调研集合
+				activityLlzList:[],//联络组活动集合
+				activityJbList:[],//界别集合
+				activityBssList:[],//为群众办实事集合
+				sqjdlist:[],
 				jblist:[],
 				dplist:[],
 				tajdlist:[],
@@ -200,9 +253,13 @@
 				scorecount:{},
 				tabval:0,
 				list:[],
-				tabList:[{tit:'履职状况',val:'0'},{tit:'提案方面',val:2},{tit:'社情民意方面',val:3},{tit:'会议参与情况',val:4},{tit:'活动参与情况',val:5},{tit:'会议发言情况',val:6}],
+				tabList:[{tit:'履职状况',val:'0'},{tit:'提案方面',val:2},{tit:'社情民意方面',val:3},{tit:'招商引资',val:7},
+				{tit:'视察调研活动',val:8},{tit:'政协委员工作室活动',val:9},{tit:'界别活动',val:10},
+				{tit:'为群众办实事活动',val:11}
+				// {tit:'会议参与情况',val:4},{tit:'活动参与情况',val:5},{tit:'会议发言情况',val:6},
+				],
 				chartData:{
-					categories: ["活动","会议","社情民意","政协提案","其他"],
+					categories: ["政协提案","社情民意","招商","视察调研活动","政协委员工作室活动","界别活动","为群众办实事活动",],
 					series: [],				
 				},
 				opts: {
@@ -263,7 +320,8 @@
 				this.getDetail()
 			},
 			getTabFn(val){
-				this.tabval=val
+				this.tabval=val;
+				this.list=[];
 				if(val==2){
 					this.list=this.proposalInfoList
 				}else if(val==3){
@@ -274,6 +332,30 @@
 					this.list=this.zxActivityList
 				}else if(val==6){
 					this.list=this.zxSpeakList
+				}else if(val==7){
+					this.list=this.zxInvestmentList
+				}else if(val==8){
+					this.list=this.activityScdyList
+				}else if(val==9){
+					this.list=this.activityLlzList
+				}else if(val==10){
+					this.list=this.activityJbList
+				}else if(val==11){
+					this.list=this.activityBssList
+				}
+			},
+			getDetailFn(data){
+				var val=this.tabval;
+				// console.log(data,this.tabval)
+				// return
+				if(val==2){//提案
+					this.$tab.navigateTo('/work/pages/case/details?id='+data)
+				}else if(val==3){//社情
+					this.$tab.navigateTo('/work/pages/sqmyInfo/details?id='+data)
+				}else if(val==7){//招商
+					this.$tab.navigateTo('/work/pages/meeting/zsyzdetails?id='+data)
+				}else{//活动
+					this.$tab.navigateTo('/work/pages/meeting/activedetails?id='+data)
 				}
 			},
 			init(){
@@ -289,9 +371,20 @@
 					}
 				})
 				// 党派
-				getDictionaryFn('political_parties').then(res=>{
-					if(res.code==200&&res.data.length){
-						this.dplist = res.data.map(v => {
+				// 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('proposal_progress').then(res=>{
+					if(res.code==200){
+						this.tajdlist = res.data.map(v => {
 							return {
 								label: v.dictLabel,
 								value: v.dictValue
@@ -299,10 +392,10 @@
 						})
 					}
 				})
-				// 提案进度
-				getDictionaryFn('proposal_progress').then(res=>{
+				// 社情进度
+				getDictionaryFn('sqmy_jd').then(res=>{
 					if(res.code==200){
-						this.tajdlist = res.data.map(v => {
+						this.sqjdlist = res.data.map(v => {
 							return {
 								label: v.dictLabel,
 								value: v.dictValue
@@ -356,7 +449,7 @@
 						if(res.data.memberAssessmentInfo){
 							this.scorecount=JSON.parse(JSON.stringify(res.data.memberAssessmentInfo));
 							var score=res.data.memberAssessmentInfo
-							var newArr=[score.activityScore||0,score.conferenceScore||0,score.sqmyScore||0,score.proposalScore||0,score.bonusScore||0]
+							var newArr=[score.proposalScore||0,score.sqmyScore||0,score.investmentScore||0,score.activityScdyScore||0,score.activityLlzScore||0,score.activityJbScore||0,score.activityBssScore||0,]
 							var obj={
 								name:'分值',
 								data:newArr
@@ -370,11 +463,19 @@
 						}
 						
 						
-						this.proposalInfoList=res.data.proposalInfoList;
-						this.sqmyInfoList=res.data.sqmyInfoList;
-						this.zxConferenceList=res.data.zxConferenceList;
-						this.zxActivityList=res.data.zxActivityList;
-						this.zxSpeakList=res.data.zxSpeakList;
+						this.proposalInfoList=res.data.proposalInfoList||[];
+						this.sqmyInfoList=res.data.sqmyInfoList||[];
+						this.zxInvestmentList=res.data.zxInvestmentList||[];
+						this.activityScdyList=res.data.activityScdyList||[];
+						this.activityLlzList=res.data.activityLlzList||[];
+						this.activityJbList=res.data.activityJbList||[];
+						this.activityBssList=res.data.activityBssList||[];
+
+
+						
+						// this.zxConferenceList=res.data.zxConferenceList;
+						// this.zxActivityList=res.data.zxActivityList;
+						// this.zxSpeakList=res.data.zxSpeakList;
 					}
 				})
 			},

+ 300 - 0
work/pages/report/scoredetail.vue

@@ -0,0 +1,300 @@
+<template>
+	<view class="detail">
+		<!-- 主体 -->
+		<view class="deboxs">
+			<view class="bghbox"></view>
+			<view class="dbox fmt30">
+				<view class="dtit">{{datainfo.conferenceTitle}}</view>
+				<view class="titinf">
+					<view class="txt"><text>加分类型</text>{{typeFormat(datainfo.bonusType,jflxlist)}}</view>
+					<view class="txt"><text>加分时间</text>{{datainfo.bonusTime}}</view>
+					<view class="txt"><text>分数</text>{{datainfo.score}}</view>
+					<view class="txt"><text>备注</text>{{datainfo.remark}}</view>
+					<view class="txt"><text>加分事由</text>{{datainfo.bonusReason}}</view>
+				</view>
+			</view>
+			<view class="dbox" v-if="filelist.length">
+				<!-- <view class="titbox mb14">
+					<view class="tit flexc">
+						<image :src="titimg"></image>
+						<view>会议内容</view>
+					</view>
+				</view>
+				<view class="txtbox" :class="zheList[0].zheflag?'nact':'act'">
+					<rich-text :nodes="datainfo.proposalContent"></rich-text>
+				</view>
+				<view class="zhebox" :class="zheList[0].zheflag?'':'act'" @click="getZheFn(0)">
+					<image :src="upsimg"></image>
+					<view>{{zheList[0].zheflag?'展开信息':'折叠信息'}}</view>
+				</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.url)">
+					<view class="imgl"><image :src="fjimg" ></image></view>
+					<view class="tit">{{ite.name}}</view>
+					<view class="fjlook">查看</view>
+				</view>
+			</view>
+
+			<view class="fbtns" style="flex-wrap: wrap;">
+				<view class="btn btn1" @click="getEditFn" v-if="checkPermi(['zxBonus:bonus:edit'])">修改</view>
+				<view class="btn btn3" @click="getDelFn" v-if="checkPermi(['zxBonus:bonus:remove'])">删除</view>
+				
+				<!-- <view class="btn btn2" @click="getScfkFn('chdf')" v-if="checkPermi(['zxConference:conference:updateReply'])&&type=='hyhd'">会议答复</view> -->
+			</view>
+			
+		</view>
+		<pop-up :type='ptype' :qjlxlist="qjlxlist"  @getClose="getClose" @getupSubmit="getupSubmit"></pop-up>
+	</view>
+</template>
+
+<script>
+	import config from '@/config'
+	const baseUrl = config.baseUrl
+	import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
+	import popUp from "@/work/components/popup/popup.vue"
+	import noData from "@/components/nodata/nodata.vue"
+	import {getDeptTree} from"@/api/mine/mine.js"
+	import { selectValue,selectValuetext } from '@/utils/common.js';
+	import {getBonusDetailFn,getBonusEditFn} from "@/api/mine/meeting.js"
+	import {getDictionaryFn} from "@/api/mine/register.js"
+	export default{
+		components:{popUp,noData},
+		data(){
+			return{
+				bgimg:require("@/static/images/bg.png"),
+				fjimg:require("@/work/static/images/fjimg.png"),
+				filelist:[], 
+				
+				tabidx:5,
+				titimg:require("@/work/static/images/titbg.png"),
+				upsimg:require("@/work/static/images/ups.png"),
+				zheList:[{val:0,zheflag:true,moreflag:true},],
+				ptype:'',
+				datainfo:{},
+				tary:'',
+				jflxlist:[],
+				type:'',
+				userId:this.$store.state.user.userId,
+				dfinfo:{}
+			}
+		},
+		onUnload(){
+			uni.$off('refreshdetail')
+		},
+		onLoad(e) {
+			this.id=e.id;
+			this.type=e.pt;
+			this.getDetail()
+			this.init()
+			uni.$on('refreshdetail', (e) => {
+				this.getDetail()
+			})
+		},
+		methods:{
+			checkPermi, checkRole,
+			kaType(ite){
+				if(ite){
+					var newArr=ite.split(',')
+					var actions=[];
+					var datas=this.matterList;
+					newArr.forEach(ite=>{
+						Object.keys(datas).some((key) => {
+							if (datas[key].value == ('' + ite)) {
+								actions.push(datas[key].label);
+								return true;
+							}
+						})
+					})
+					return actions.join(' ')
+				}
+			},
+			typeFormat(ite,list){
+				return selectValue(list, ite);
+			},
+			typeFormattext(ite,list){
+				return selectValuetext(list, ite);
+			},
+			getqdFn(){
+				this.$tab.navigateTo('/work/pages/meeting/signin?id='+this.id)
+			},
+			init(){
+				// 加分类型
+				getDictionaryFn('bonus_type').then(res=>{
+					if(res.code==200&&res.data.length){
+						this.jflxlist = res.data.map(v => {
+							return {
+								label: v.dictLabel,
+								value: v.dictValue
+							}
+						})
+					}
+				})
+			},
+			getupSubmit(e){
+				var that=this;
+				var type=this.ptype;
+				var params=JSON.parse(JSON.stringify(e))
+				params.conferenceId=this.id
+				getupdateReplyFn(params).then(res=>{
+					if(res.code==200){
+						this.$toast("回复成功");
+						setTimeout(function(){
+							uni.$emit('refreshlist')
+							that.ptype='';
+							that.getDetail()
+						},1200)	
+					}
+				})
+			},
+			getEditFn(){
+				this.$tab.navigateTo('/work/pages/report/addscore?type=edit&id='+this.id)
+			},
+			getClose(){
+				this.ptype=""
+			},
+			getScfkFn(type){
+				this.ptype=type
+			},
+			getZheFn(idx){
+				this.zheList[idx].zheflag=!this.zheList[idx].zheflag
+			},
+			getDelFn(){
+				var that=this;
+				uni.showModal({
+					title: '确认删除',
+					content: "是否确认删除",
+					cancelText: '取消',
+					confirmText: '确认',
+					success: function(res) {
+						if (res.confirm) {
+							getBonusDelFn(that.id).then(res=>{
+								if(res.code==200){
+									that.$toast('删除成功')
+									uni.$emit("refreshlist")
+									setTimeout(function(){
+										uni.navigateBack({
+											delta: 1 //返回层数,2则上上页
+										});
+									},1200)
+								}
+							})
+						} else if (res.cancel) {
+							// console.log('用户点击取消');
+						}
+					}
+				});
+			},
+			getDetail(){
+				var params={
+					bonusId:this.id
+				}
+				// if(this.type=='hytz'){
+				// 	params.userId=this.userId
+				// }
+				getBonusDetailFn(params).then(res=>{
+					if(res.code==200){
+						this.datainfo=res.data;
+						if(res.data.zxFjList&&res.data.zxFjList.length){
+							this.filelist=JSON.parse(JSON.stringify(res.data.zxFjList))
+						}
+					}
+				})
+			},
+			getDown(e){
+				 uni.showLoading({
+					title: '加载中'
+				});
+				var url=baseUrl+e;
+				uni.downloadFile({
+					url: url,//文件的下载路径
+					success(result) {
+							uni.hideLoading()
+						var filePath = result.tempFilePath;
+						   uni.openDocument({
+						     filePath: filePath,
+						     showMenu: true,
+						     success: function (res) {
+						       // console.log('打开文档成功');
+						     }
+						   });
+					},
+					fail(res) {uni.hideLoading()}
+				})
+			},
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+.detail{display: flex;flex-direction: column;height: 100vh;}
+
+.deboxs{flex:1;overflow: auto;padding-bottom: 30rpx;
+	.bghbox{height: 80rpx;background-color: $com-cd3;}
+	.dbox{background: #FFFFFF;border-radius: 10rpx;margin: 0 24rpx 24rpx;padding: 36rpx 24rpx 24rpx;
+		.dtit{font-weight: bold;font-size: 15px;color: #222327;margin-bottom: 48rpx;
+			text{color: #E70000;}
+		}
+		.titbox{
+			.tit{
+				image{width: 32rpx;height: 18rpx;margin-right: 10rpx;}
+				view{font-weight: bold;font-size: 32rpx;color: #222327;}
+			}
+		}
+		.titinf{display: flex;flex-wrap: wrap;flex-direction: column;
+			&.nact{height: 0;overflow: hidden;}
+			&.act{height: auto;}
+			.txt{font-weight: 500;font-size: 26rpx;margin-bottom: 20rpx;color: #222327;display: flex;align-items: flex-start;wi
+				&.nact{height: 200rpx;overflow: hidden;}
+				&.act{height: auto;}
+				text{color: #AAAAAA;min-width: 104rpx;text-align-last: justify;flex: 0 0 auto;margin-right: 20rpx;
+					&.w65{width: 130rpx;}
+				}
+				// view{text-indent: 2rem;}
+			}
+		}
+		.txtbox{text-indent: 2rem;line-height: 36rpx;font-weight: 500;font-size: 26rpx;color: #222327;
+			&.nact{max-height: 432rpx;overflow: hidden;}
+			&.act{height: auto;}
+		}
+		// tab
+		.dbtabs{
+			.dbtab{font-weight: 500;font-size: 26rpx;height: 60rpx;line-height: 60rpx;color: #666666;position: relative;padding: 0 38rpx;margin-left: 8rpx;
+			&.act{font-weight: bold;font-size: 30rpx;color: #222327;
+				&::after{content: "";width: 48rpx;height: 4rpx;background: #3699FF;border-radius: 2rpx;position: absolute;left: 50%;margin-left: -24rpx;bottom: -4rpx;}
+			}
+			}
+		}
+		
+		
+		.bortop{border-top: 2rpx dashed #C1C1C1;margin-bottom: 32rpx;margin-top: 14rpx;width: 100%;}
+		.ftit{font-weight: bold;font-size: 26rpx;color: #222327;}
+		.zhebox{display: flex;align-items: center;flex-direction: column;padding: 24rpx 0;
+			image{width: 28rpx;height: 30rpx;margin-bottom: 10rpx;transition: all 0.3s;}
+			&.act{
+				image{transform: rotate(-180deg);}
+			}
+			view{font-weight: 500;font-size: 24rpx;color: #AAAAAA;}
+		}
+		// 附件
+		.fjlists {display: flex;align-items: flex-start;justify-content: space-between;margin-bottom: 12rpx;
+			// image{margin-right: 18rpx;flex: 0 0 auto;}
+			.imgl{width: 40rpx;height: 40rpx;display: flex;align-items: center;justify-content: center;margin-right: 6rpx;flex: 0 0 auto;
+				image{width: 26rpx;height: 24rpx;}
+				}
+			.tit{font-size: 26rpx;color: #343434;font-weight: 500;margin-top: 4rpx;flex:1;}
+			.fjlook{font-weight: 500;font-size: 26rpx;color: #1D64E2;flex: 0 0 auto;margin-left: 20rpx;margin-top: 4rpx;}
+		}
+	}
+	
+}
+// 按钮
+	.fbtns{display: flex;align-items: center;justify-content: space-between;padding: 54rpx 12rpx 34rpx;display: flex;flex-wrap: wrap;
+		.btn{height: 80rpx;font-weight: bold;font-size: 30rpx;box-sizing: border-box;border-radius: 40rpx;display: flex;align-items: center;
+		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>

+ 1 - 1
work/pages/single/unitList.vue

@@ -16,7 +16,7 @@
 			<view class="lbtab flexc">
 				<image :src="lbicoimg" class="limg"></image>
 				<view class="lbtabs flexc">
-					<view class="lbtabp">
+					<view class="lbtabp" v-if="tabidx=='tabl'">
 						<picker  range-key='label' :value="tajdidx" :range="tajdlist"  @change='bindDateChanged'>
 							<view :class="tajd?'':'f16 co80'">{{tajd || "办理进度"}}</view>
 						</picker>

+ 24 - 23
work/pages/sqmyInfo/add.vue

@@ -6,19 +6,19 @@
 			<view class="boxs">
 				<view class="tips">
 					<image :src="tipimg"></image>
-					<view>请于填写信息前认真核对提案者信息是否有误</view>
+					<view>请于填写信息前认真核对信息是否有误</view>
 				</view>
 				<view class="pdbox">
 					<view class="titbox mb14">
 						<view class="tit flexc">
 							<image :src="titimg"></image>
-							<view>提案者信息</view>
+							<view>个人信息</view>
 						</view>
 					</view>
 					<view class="titinf">
 						<view class="txt"><text>上报者:</text>{{datainfo.sqmyName}}</view>
 						<view class="txt"><text>联系方式:</text>{{datainfo.sqmyPhone}}</view>
-						<view class="txt"><text>联系地址:</text>{{datainfo.unit}}</view>
+						<view class="txt"><text>联系地址:</text>{{datainfo.address}}</view>
 					</view>
 					<image :src="infobg" class="infobg"></image>
 				</view>
@@ -47,12 +47,12 @@
 						</view>
 					</uni-forms-item>
 				</picker>
-				<uni-forms-item label="联系人" name="lxrName" required>
+				<!-- <uni-forms-item label="联系人" name="lxrName" required>
 					<uni-easyinput :inputBorder="false" type="text" v-model="datainfo.lxrName" placeholder="请输入联系人" />
 				</uni-forms-item>
 				<uni-forms-item label="联系人联系方式" name="lxrPhone" required>
 					<uni-easyinput :inputBorder="false" type="number" v-model="datainfo.lxrPhone" placeholder="请输入联系人联系方式" />
-				</uni-forms-item>
+				</uni-forms-item> -->
 			</view>
 			<view class="boxs pdbox">
 				<view class="titbox mb14 flexc">
@@ -62,7 +62,7 @@
 					</view>
 					<view class="titr" @click="getPaiFn">一键排版</view>
 				</view>
-				<editor id="editor" :class="pbFlag?'pbbox':''" class="ql-container" placeholder="请输入提案内容" show-img-size show-img-toolbar
+				<editor id="editor" :class="pbFlag?'pbbox':''" class="ql-container" placeholder="请输入信息内容" show-img-size show-img-toolbar
 					show-img-resize @statuschange="onStatusChange" :read-only="readOnly" @ready="onEditorReady">
 				</editor>
 				<view class="edtip flext mb24 mt14"><text>*</text>信息内容输入完毕后,可点击右上角“一键排版”按钮进行快速排版</view>
@@ -188,9 +188,10 @@
 					  "topicType":"",//主题类型1:经济建设类,2:政治建设类,3:文化建设类,4:社会建设类,5:生态文明建设类,6:其他
 					  "sqmyName":this.$store.state.user.memberInfo.name,//
 					  "sqmyPhone":this.$store.state.user.memberInfo.phonenumber,//
+					  "address":this.$store.state.user.memberInfo.address,//
 					  "unit":this.$store.state.user.memberInfo.unit,//
-					  "lxrName":"",//
-					  "lxrPhone":"",//
+					  // "lxrName":"",//
+					  // "lxrPhone":"",//
 					  "sqmyContent":"",//内容
 					  "isPublicity":"0",//同意公开(0是 1否)
 					  "isSecret":"1",//是否涉密(0是 1否)
@@ -355,21 +356,21 @@
 					this.$toast("请选择主题类型")
 					return
 				}
-				if(!this.datainfo.lxrName){
-					this.$toast("请输入联系人姓名")
-					return
-				}
-				if(!this.datainfo.lxrPhone){
-					this.$toast("请输入联系人手机号")
-					return
-				}
-				if(this.datainfo.lxrPhone){
-					let regphone = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
-					if (this.datainfo.lxrPhone && !regphone.test(this.datainfo.lxrPhone)) {
-						that.$toast("请输入正确的手机号")
-						return
-					}
-				}
+				// if(!this.datainfo.lxrName){
+				// 	this.$toast("请输入联系人姓名")
+				// 	return
+				// }
+				// if(!this.datainfo.lxrPhone){
+				// 	this.$toast("请输入联系人手机号")
+				// 	return
+				// }
+				// if(this.datainfo.lxrPhone){
+				// 	let regphone = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
+				// 	if (this.datainfo.lxrPhone && !regphone.test(this.datainfo.lxrPhone)) {
+				// 		that.$toast("请输入正确的手机号")
+				// 		return
+				// 	}
+				// }
 				var sqmyContent='';
 				that.editorCtx.getContents({  
 					success: function(data) { 

+ 54 - 42
work/pages/sqmyInfo/details.vue

@@ -3,7 +3,7 @@
 		<view class="navbox">
 			<!-- 步骤条 -->
 			<view class="dtabs">
-				<view class="tab" :class="datainfo.sqmyProgress==ite.value?'act':''" v-for="(ite,idx) in stepList" :key="idx">
+				<view class="tab" :class="progress==ite.value?'act':''" v-for="(ite,idx) in stepList" :key="idx">
 					<view class="cir"></view>
 					<view class="tit">{{ite.label}}</view>
 				</view>
@@ -25,8 +25,8 @@
 					<view class="txt"><text>上报者</text>{{datainfo.sqmyName}}</view>
 					<view class="txt"><text>主题类别</text>{{typeFormat(datainfo.topicType,ztlxlist)}}</view>
 					<view class="txt"><text>工作单位及职务</text>{{datainfo.unit}}</view>
-					<view class="txt"><text>联系人</text>{{datainfo.lxrName}}</view>
-					<view class="txt"><text>联系方式</text>{{datainfo.lxrPhone}}</view>
+				<!-- 	<view class="txt"><text>联系人</text>{{datainfo.lxrName}}</view>
+					<view class="txt"><text>联系方式</text>{{datainfo.lxrPhone}}</view> -->
 					<view class="txt"> <text>是否公开</text>{{datainfo.isPublicity==0?'是':'否'}}</view>
 					<view class="txt"><text>是否涉密</text>{{datainfo.isSecret==0?'是':'否'}}</view>
 					<view class="txt"><text>提交时间</text>{{datainfo.createTime}}</view>	
@@ -171,8 +171,8 @@
 				</block>
 				
 			</view>
-			<view class="dbox" v-if="progress>7">
-				<view class="titbox mb16">
+			<view class="dbox">
+				<!-- <view class="titbox mb16">
 					<view class="tit flexc">
 						<image :src="titimg"></image>
 						<view>反馈情况</view>
@@ -184,9 +184,9 @@
 					<view class="txt"><text class="w65">有何进一步意见和建议</text>
 						{{datainfo.membersOpinion}}
 					</view>
-				</view>
+				</view> -->
 				<view class="titinf">
-					<view class="ftit mb10 mt2">政协反馈</view>
+					<view class="ftit mb10 mt2">备注反馈</view>
 					<view class="txt wb100" style="align-items: center;"><text class="w65">对办理情况是否满意</text>{{typeFormattext(datainfo.zxSatisfaction,mycdlist)}}</view>
 					<view class="txt"><text class="w65">有何进一步意见和建议</text>
 						{{datainfo.zxOpinion}}
@@ -196,15 +196,15 @@
 			<view class="fbtns" style="flex-wrap: wrap;">
 				<!-- 按角色选择按钮 -->
 				<view class="btn btn3" @click="getDelFn" v-if="checkPermi(['sqmyInfo:info:remove'])">删除</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">审查反馈</view>
-				<view class="btn btn2" @click="getScfkFn('tajb')" v-if="checkPermi(['sqmyInfo:info:assign'])&&progress==2">提案交办</view>
+				<view class="btn btn1" @click="getEditFn" v-if="checkPermi(['sqmyInfo:info:edit'])">修改</view>
+				<view class="btn btn2" @click="getScfkFn('sfcy')" v-if="checkPermi(['sqmyInfo:info:isRecord'])&&progress==1">审查反馈</view>
+				<!-- <view class="btn btn2" @click="getScfkFn('tajb')" v-if="checkPermi(['sqmyInfo:info:assign'])&&progress==2">提案交办</view>
 				<view class="btn btn2" @click="getScfkFn('dffk')" v-if="checkPermi(['sqmy:unit:reply'])&&(progress==4||progress==6)">答复反馈</view>
 				<view class="btn btn2" @click="getScfkFn('jbsh')" v-if="checkPermi(['sqmyInfo:info:assignsh'])&&progress==5">交办审核</view>
 				<view class="btn btn2" @click="getScfkFn('dwdf')" v-if="checkPermi(['sqmy:unit:reply'])&&progress==3&&hflist[0].isReply!=0">单位答复</view>
-				<view class="btn btn2" @click="getScfkFn('dwdf')" v-if="checkPermi(['sqmyInfo:info:cbdwdfwy'])&&progress==7">单位答复委员</view>
-				<view class="btn btn2" @click="getScfkFn('wymyfk')" v-if="checkPermi(['sqmyInfo:info:idea'])&&progress==8">委员意见</view>
-				<view class="btn btn2" @click="getScfkFn('zxmyfk')" v-if="checkPermi(['sqmyInfo:info:zxIdea'])&&progress==8">政协意见</view>
+				<view class="btn btn2" @click="getScfkFn('dwdf')" v-if="checkPermi(['sqmyInfo:info:cbdwdfwy'])&&progress==7">单位答复委员</view> -->
+				<!-- <view class="btn btn2" @click="getScfkFn('bzhf')" v-if="checkPermi(['sqmyInfo:info:idea'])">备注回复</view> -->
+				<view class="btn btn2" @click="getScfkFn('zxmyfk')" v-if="checkPermi(['sqmyInfo:info:zxIdea'])">政协意见</view>
 				
 				<!--委员答复填内容,委员填满意度 -->
 				<!--协办单位,主办单位 填办理方式,办理程度,内容 附件 -->
@@ -262,9 +262,10 @@
 				ptype:'',
 				datainfo:{},
 				
+				tajdval:'0',
 				dflxlist:[],
 				ztlxlist:[],//主题类型
-				stepList:[],//提案状态
+				stepList:[{label:'信息提交',value:"0"},{label:'信息审查',value:"1"},{label:'信息采用',value:"2"}],//提案状态
 				jblist:[],//界别
 				matterList:[],//方式
 				blcdlist:[],//办理程度
@@ -319,16 +320,16 @@
 			},
 			init(){
 				//提案状态
-				getDictionaryFn('proposal_progress').then(res=>{
-					if(res.code==200&&res.data.length){
-						this.stepList = res.data.map(v => {
-							return {
-								label: v.dictLabel,
-								value:v.dictValue
-							}
-						})
-					}
-				})
+				// getDictionaryFn('sqmy_jd').then(res=>{
+				// 	if(res.code==200&&res.data.length){
+				// 		this.stepList = res.data.map(v => {
+				// 			return {
+				// 				label: v.dictLabel,
+				// 				value:v.dictValue
+				// 			}
+				// 		})
+				// 	}
+				// })
 				// 主题类型
 				getDictionaryFn('sqmy_topic_type').then(res=>{
 					if(res.code==200&&res.data.length){
@@ -399,18 +400,19 @@
 			getupSubmit(e){
 				var that=this;
 				var type=this.ptype;
-				if(type=='scfk'){
+				if(type=='sfcy'){
 					var params=JSON.parse(JSON.stringify(e))
 					params.sqmyId=this.id
 					getsqmyInfoisRecordFn(params).then(res=>{
 						if(res.code==200){
-							var str='立案';
+							var str='采用';
 							if(params.isRecord==1){
-								str='不立案'
+								str='不采用'
 							}
 							this.$toast(str+"成功");
 							setTimeout(function(){
 								uni.$emit('refreshlist')
+								uni.$emit('refreindexlist')
 								that.ptype='';
 								that.getDetail()
 							},1200)
@@ -422,9 +424,10 @@
 					params.sqmyId=this.id
 					getsqmyInfoAssignFn(params).then(res=>{
 						if(res.code==200){
-							this.$toast("提案办结成功");
+							this.$toast("信息办结成功");
 							setTimeout(function(){
 								uni.$emit('refreshlist')
+								uni.$emit('refreindexlist')
 								that.ptype='';
 								that.getDetail()
 							},1200)
@@ -440,6 +443,7 @@
 								this.$toast("答复反馈成功");
 								setTimeout(function(){
 									uni.$emit('refreshlist')
+									uni.$emit('refreindexlist')
 									that.ptype='';
 									that.getDetail()
 								},1200)	
@@ -451,6 +455,7 @@
 								this.$toast("答复反馈成功");
 								setTimeout(function(){
 									uni.$emit('refreshlist')
+									uni.$emit('refreindexlist')
 									that.ptype='';
 									that.getDetail()
 								},1200)	
@@ -466,30 +471,31 @@
 							this.$toast("交办审核成功");
 							setTimeout(function(){
 								uni.$emit('refreshlist')
+								uni.$emit('refreindexlist')
 								that.ptype='';
 								that.getDetail()
 							},1200)	
 						}
 					})
-				}else if(type=='wymyfk'){
-					var params=JSON.parse(JSON.stringify(e))
-					params.sqmyId=this.id
-					getsqmyInfoIdeaFn(params).then(res=>{
-						if(res.code==200){
-							this.$toast("提案办结成功");
-							setTimeout(function(){
-								// uni.$emit('refreshlist')
-								that.ptype='';
-								that.getDetail()
-							},1200)	
-						}
-					})
+				// }else if(type=='bzhf'){
+				// 	var params=JSON.parse(JSON.stringify(e))
+				// 	params.sqmyId=this.id
+				// 	getsqmyInfoIdeaFn(params).then(res=>{
+				// 		if(res.code==200){
+				// 			this.$toast("备注成功");
+				// 			setTimeout(function(){
+				// 				// uni.$emit('refreshlist')
+				// 				that.ptype='';
+				// 				that.getDetail()
+				// 			},1200)	
+				// 		}
+				// 	})
 				}else if(type=='zxmyfk'){
 					var params=JSON.parse(JSON.stringify(e))
 					params.sqmyId=this.id
 					getsqmyInfozxIdeaFn(params).then(res=>{
 						if(res.code==200){
-							this.$toast("提案办结成功");
+							this.$toast("备注成功");
 							setTimeout(function(){
 								// uni.$emit('refreshlist')
 								that.ptype='';
@@ -527,6 +533,7 @@
 								if(res.code==200){
 									that.$toast('删除成功')
 									uni.$emit("refreshlist")
+									uni.$emit('refreindexlist')
 									setTimeout(function(){
 										uni.navigateBack({
 											delta: 1 //返回层数,2则上上页
@@ -545,6 +552,11 @@
 					if(res.code==200){
 						this.datainfo=res.data;
 						this.progress=res.data.sqmyProgress;
+						if(this.progress==3){						// 不立案
+							var newArr=[{label:'提交信息',value:"0"},{label:'信息审查',value:"1"},
+						{label:'未采用',value:"3"}];
+							this.stepList=newArr
+						}
 						if(res.data.zxFjList&&res.data.zxFjList.length){
 							this.filelist=JSON.parse(JSON.stringify(res.data.zxFjList))
 						}

+ 49 - 32
work/pages/sqmyInfo/mine.vue

@@ -1,7 +1,7 @@
 <template>
 	<view :style="'padding-top:'+nvaHeight+'px;'">
 		<view class="navbox">
-			<uni-nav-bar  color="#ffffff" rightWidth="150rpx" title="社情民意" @clickLeft="getBack" @clickRight="getChFn"  :background-color="backgroundColor" :border="false" statusBar='true' fixed="true">
+			<uni-nav-bar  color="#ffffff" rightWidth="150rpx" title="社情民意信息" @clickLeft="getBack" @clickRight="getChFn"  :background-color="backgroundColor" :border="false" statusBar='true' fixed="true">
 				<block slot="left">
 					<view class="topl">
 						<image :src="backimg" ></image>
@@ -42,7 +42,19 @@
 						</picker>
 						<image :src="upimg" class="upimg"></image>
 					</view>
-					<view class="lbtabp" v-if="tabidx=='xxsb'">
+					<!-- <view class="lbtabp" v-if="tabidx=='qb'||tabidx=='xxsb'">
+						<picker  range-key='label' :value="tajdidx" :range="tajdlist"  @change='bindDateChangef'>
+							<view :class="tajd?'':'f16 co80'">{{tajd || "社情进度"}}</view>
+						</picker>
+						<image :src="upimg" class="upimg"></image>
+					</view> -->
+					<view class="lbtabp" v-if="tabidx=='qb'||tabidx=='xxsb'">
+						<picker  range-key='label' :value="ztidx" :range="ztlist"  @change='bindDateChangef'>
+							<view :class="zttxt?'':'f16 co80'">{{zttxt || "状态"}}</view>
+						</picker>
+						<image :src="upimg" class="upimg"></image>
+					</view>
+					<view class="lbtabp" v-if="tabidx=='xxsb'||tabidx=='qb'">
 						<picker  range-key='label' :value="sfcyidx" :range="taztList"  @change='bindDateChangec'>
 							<view :class="sfcy?'':'f16 co80'">{{sfcy || "是否采用"}}</view>
 						</picker>
@@ -60,12 +72,7 @@
 						</picker>
 						<image :src="upimg" class="upimg"></image>
 					</view> -->
-					<view class="lbtabp" v-if="tabidx=='qb'||tabidx=='xxsb'">
-						<picker  range-key='label' :value="tajdidx" :range="tajdlist"  @change='bindDateChangef'>
-							<view :class="tajd?'':'f16 co80'">{{tajd || "办理状态"}}</view>
-						</picker>
-						<image :src="upimg" class="upimg"></image>
-					</view>
+					
 				</view>
 			</view>
 		</view>
@@ -73,7 +80,7 @@
 		<view class="mbox">
 			<sqmy-info-list :datalist="list" :listtype="listtype" :wtdt="wtdt" :ztlxlist='ztlxlist' :tajdlist="tajdlist" :type='tabidx' @getDetail="getDetail"  @getTuiFn="getTuiFn"></sqmy-info-list>
 		</view>
-		<view v-if="checkPermi(['sqmyInfo:info:add'])&&tabidx=='xxsb'">
+		<view v-if="checkPermi(['sqmyInfo:info:add'])&&(tabidx=='xxsb'||tabidx=='qb')">
 			<view style="height: 100rpx;"></view>
 			<view class="fwbtns" @click="getAddsqmy">上报社情民意</view>
 		</view>
@@ -107,22 +114,23 @@
 				tabidx:'qb',
 				tabtype:'',//进度查询
 				// {tit:'征集通知',val:0}, 提案催办 目前看所有{tit:'上网社情民意',val:'swsqmy',},
-				tabList:[{tit:'民意列表',val:'qb',limit:'sqmyInfo:info:list'},
+				tabList:[{tit:'信息列表',val:'qb',limit:'sqmyInfo:info:list'},
 				{tit:'信息审核',jd:1,val:'xxsh',limit:'sqmyInfo:info:isRecord'},
-				{tit:'信息交办',jd:2,val:'xxjb',limit:'sqmyInfo:info:assign'},
+				{tit:'信息上报',val:'xxsb',limit:'sqmyInfo:info:list'},
+				// {tit:'信息交办',jd:2,val:'xxjb',limit:'sqmyInfo:info:assign'},
 				// {tit:'信息办理',val:'xxbl',limit:'sqmyInfo:info:unitList'},
 				// {tit:'办结审核',jd:6,val:'bjsh',},
-				{tit:'信息催办',val:'xxcb',limit:'sqmyInfo:info:sqmycbList'},
+				// {tit:'信息催办',val:'xxcb',limit:'sqmyInfo:info:sqmycbList'},
 				// {tit:'接收催办',val:'jssqcb',limit:'zxUrge:urge:list'},
-				{tit:'信息上报',val:'xxsb',limit:'sqmyInfo:info:list'},
-				{tit:'推荐优秀',val:'tjyx',limit:'sqmyInfo:info:outstanding'},
-				{tit:'推荐重点',val:'tjzd',limit:'sqmyInfo:info:keyPoint'}
+				// {tit:'推荐优秀',val:'tjyx',limit:'sqmyInfo:info:outstanding'},
+				// {tit:'推荐重点',val:'tjzd',limit:'sqmyInfo:info:keyPoint'}
 				],
 				// {tit:'开始日期',val:1},{tit:'结束日期',val:2},
 				// "sqmyProgress":"提案进度(0:提交提案,1:提案审查,2:提案立案,3:提案交办,4:办理提案,5:提案反馈,6:办结审核,7:已办结) ",
 				nvaHeight:44,
 				talbList:[{},],
-				taztList:[{label:'是',value:'0'},{label:'否',value:'1'}],
+				taztList:[{label:'已采用',value:'0'},{label:'未采用',value:'1'}],
+				ztlist:[{label:'已读',value:'0'},{label:'未读',value:'1'}],
 				psList:[{label:'已批示',value:'0'},{label:'未批示',value:'1'}],
 				kwlxList:[{label:'社情民意',value:'0'},{label:'刊物类型',value:'1'}],
 				ptype:'',//弹窗类型
@@ -157,6 +165,9 @@
 				tajd:"",//办理状态
 				tajdid:"",
 				tajdidx:'',
+				zttxt:'',
+				ztid:'',
+				ztidx:'',
 				id:'',
 				userId:this.$store.state.user.userId,
 				sh:'',
@@ -197,7 +208,7 @@
 						})
 					}
 				})
-				getDictionaryFn('proposal_progress').then(res=>{
+				getDictionaryFn('sqmy_jd').then(res=>{
 					if(res.code==200&&res.data.length){
 						this.tajdlist = res.data.map(v => {
 							return {
@@ -268,7 +279,7 @@
 				this.ptype='';
 				if(ptype=='sqmy'){
 					if(type=='new'){uni.removeStorageSync('sqmyList')}
-					this.$tab.navigateTo('/work/pages/case/add?type='+type)		
+					this.$tab.navigateTo('/work/pages/sqmyInfo/add?type='+type)	
 				}	
 			},
 			getTuiFn(data){
@@ -277,7 +288,7 @@
 				this.iteinfo=data.ite;
 				var type=data.type;
 				var that=this;
-				if(type=='scfk'){
+				if(type=='sfcy'){
 					this.ptype=data.type;
 					this.sh=data.sh;
 					// if(sh==1){
@@ -308,12 +319,12 @@
 			getupSubmit(e){
 				var that=this;
 				var type=this.ptype;
-				if(type=='scfk'){
+				if(type=='sfcy'){
 					var params=JSON.parse(JSON.stringify(e))
 					params.sqmyId=this.id
-					var str='立案';
+					var str='采用';
 					if(params.isRecord=='1'){
-						str='不予立案'
+						str='不采用'
 					}
 					getsqmyInfoisRecordFn(params).then(res=>{
 						if(res.code==200){
@@ -328,7 +339,7 @@
 					params.sqmyId=this.id
 					getsqmyInfoAssignFn(params).then(res=>{
 						if(res.code==200){
-							this.$toast("提案交办成功");
+							this.$toast("信息交办成功");
 							setTimeout(function(){
 								that.getrefreshData()
 							},1200)
@@ -374,7 +385,7 @@
 					params.sqmyId=this.id
 					getsqmyInfoIdeaFn(params).then(res=>{
 						if(res.code==200){
-							this.$toast("提案办结成功");
+							this.$toast("信息办结成功");
 							setTimeout(function(){
 								that.getrefreshData()
 							},1200)	
@@ -385,7 +396,7 @@
 					params.sqmyId=this.id
 					getsqmyInfozxIdeaFn(params).then(res=>{
 						if(res.code==200){
-							this.$toast("提案办结成功");
+							this.$toast("信息办结成功");
 							setTimeout(function(){
 								that.getrefreshData()
 							},1200)	
@@ -397,7 +408,7 @@
 					params.urgeType=2
 					getInfourgeFn(params).then(res=>{
 						if(res.code==200){
-							this.$toast("提案办结成功");
+							this.$toast("信息办结成功");
 							setTimeout(function(){
 								that.ptype='';
 								that.pageNum=1;
@@ -527,8 +538,14 @@
 			},
 			bindDateChangef(e){
 				var val=e.detail.value;
-				this.tajd=this.tajdlist[val].label;
-				this.tajdid=this.tajdlist[val].value;
+				this.zttxt=this.ztlist[val].label;
+				this.tajdid=this.ztlist[val].value;
+				this.getrefreshData()
+			},
+			bindDateChangeg(e){
+				var val=e.detail.value;
+				this.zttxt=this.ztlist[val].label;
+				this.ztid=this.ztlist[val].value;
 				this.getrefreshData()
 			},
 			getChFn(){
@@ -556,11 +573,11 @@
 				if(this.ztlx){//主题
 					params.topicType=this.ztlxid
 				}
-				if(this.sfcy&&tab=='xxsb'){//采用
+				if(this.sfcy&&(tab=='xxsb'||tab=='qb')){//采用
 					params.isRecord=this.sfcyid
 				}
-				if(this.tajd&&(tab=='qb'||tab=='xxsb')){//办理状态
-					params.sqmyProgress=this.tajdid
+				if(this.zttxt&&(tab=='qb'||tab=='xxsb')){//状态
+					params.isRead=this.tajdid
 				}
 				// if(this.kwlx){//刊物类型
 				// 	params.topicType=this.ztlxid
@@ -660,7 +677,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: 0 0 auto;margin-right: 24rpx;}
+			.lbtabp{display: flex;align-items: center;flex: 0 0 auto;margin-right: 24rpx;min-width: 100rpx;}
 			.upimg{width: 18rpx;height: 10rpx;}
 			
 		}

二进制
work/static/images/startbg.png


二进制
work/static/images/startico.png