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