@@ -68,3 +68,126 @@ export function schemeList(query) { | |||||
params: query | params: query | ||||
}) | }) | ||||
} | } | ||||
//获取方案管理详细信息 | |||||
export function schemeDetail(id) { | |||||
return request({ | |||||
url: '/enforce/website/scheme/get/'+id, | |||||
method: 'get' | |||||
}) | |||||
} | |||||
// 查询案件登记列表 | |||||
export function listCase(query) { | |||||
return request({ | |||||
url: '/enforce/case/list', | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} | |||||
// 查询案件登记详细 | |||||
export function getCase(id) { | |||||
return request({ | |||||
url: '/enforce/case/get/' + id, | |||||
method: 'get' | |||||
}) | |||||
} | |||||
// 查询方案管理列表不分页 | |||||
export function schemeOptionList(query) { | |||||
return request({ | |||||
url: '/enforce/scheme/schemeList', | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} | |||||
// 查询部门下拉树结构 | |||||
export function treeselect() { | |||||
return request({ | |||||
url: '/system/dept/treeselect', | |||||
method: 'get' | |||||
}) | |||||
} | |||||
// 查询案件勘察详细 | |||||
export function getSurveyByCaseId(caseId) { | |||||
return request({ | |||||
url: '/enforce/survey/getSurveyByCaseId/' + caseId, | |||||
method: 'get' | |||||
}) | |||||
} | |||||
// 查询立案信息详细 | |||||
export function getputRecordByCaseId(caseId) { | |||||
return request({ | |||||
url: '/enforce/putrecord/getputRecordByCaseId/' + caseId, | |||||
method: 'get' | |||||
}) | |||||
} | |||||
// caseId查询抽样信息详细 | |||||
export function getSamplingByCaseId(caseId) { | |||||
return request({ | |||||
url: '/enforce/sampling/getSamplingByCaseId/' + caseId, | |||||
method: 'get' | |||||
}) | |||||
} | |||||
// 查询农业执法-案件-取证信息详细 | |||||
export function getEvidenceByCaseId(caseId) { | |||||
return request({ | |||||
url: '/enforce/evidence/getEvidenceByCaseId/' + caseId, | |||||
method: 'get' | |||||
}) | |||||
} | |||||
// 查询抽样产品检测结果详细 | |||||
export function getReportByGoodsId(goodsId) { | |||||
return request({ | |||||
url: '/enforce/report/getReportByGoodsId/' + goodsId, | |||||
method: 'get' | |||||
}) | |||||
} | |||||
// 查询执法人员管理列表 | |||||
export function getEnforcerList(query) { | |||||
return request({ | |||||
url: '/enforce/enforcer/allList', | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} | |||||
// 查询农业执法-案件-处理信息详细 | |||||
export function getTreatByCaseId(caseId) { | |||||
return request({ | |||||
url: '/enforce/treat/getTreatByCaseId/' + caseId, | |||||
method: 'get' | |||||
}) | |||||
} | |||||
// 查询裁决信息详细 | |||||
export function getDecisionByCaseId(caseId) { | |||||
return request({ | |||||
url: '/enforce/decision/getDecisionByCaseId/' + caseId, | |||||
method: 'get' | |||||
}) | |||||
} | |||||
// 查询执行信息详细 | |||||
export function getExecuteByCaseId(caseId) { | |||||
return request({ | |||||
url: '/enforce/execute/getExecuteByCaseId/' + caseId, | |||||
method: 'get' | |||||
}) | |||||
} | |||||
// 查询结案信息详细 | |||||
export function getEndingByCaseId(caseId) { | |||||
return request({ | |||||
url: '/enforce/ending/getEndingByCaseId/' + caseId, | |||||
method: 'get' | |||||
}) | |||||
} |
@@ -18,12 +18,13 @@ import global from '@/utils/global'; | |||||
import { getDicts } from "@/utils/data"; | import { getDicts } from "@/utils/data"; | ||||
import { houseGetDicts } from '@/utils/data'; | import { houseGetDicts } from '@/utils/data'; | ||||
import { selectDictLabel , onClickLeft , getNowFormatDate , format } from "@/utils/utils"; | |||||
import { selectDictLabel , selectDictScheme , onClickLeft , getNowFormatDate , format } from "@/utils/utils"; | |||||
//全局方法挂载 | //全局方法挂载 | ||||
Vue.prototype.getDicts = getDicts | Vue.prototype.getDicts = getDicts | ||||
Vue.prototype.houseGetDicts = houseGetDicts | Vue.prototype.houseGetDicts = houseGetDicts | ||||
Vue.prototype.selectDictLabel = selectDictLabel | Vue.prototype.selectDictLabel = selectDictLabel | ||||
Vue.prototype.selectDictScheme = selectDictScheme | |||||
Vue.prototype.onClickLeft = onClickLeft | Vue.prototype.onClickLeft = onClickLeft | ||||
Vue.prototype.getNowFormatDate = getNowFormatDate | Vue.prototype.getNowFormatDate = getNowFormatDate | ||||
Vue.prototype.format = format | Vue.prototype.format = format | ||||
@@ -56,6 +56,8 @@ const whiteList = [ | |||||
'/lawEnforcement/workDetail', | '/lawEnforcement/workDetail', | ||||
'/lawEnforcement/caseDetail', | '/lawEnforcement/caseDetail', | ||||
'/lawEnforcement/login', | '/lawEnforcement/login', | ||||
'/lawEnforcement/indexComplaint', | |||||
'/lawEnforcement/schemeDetail', | |||||
] | ] | ||||
router.beforeEach((to, from, next) => { | router.beforeEach((to, from, next) => { | ||||
@@ -1617,6 +1617,24 @@ export const constantRoutes = [ | |||||
}, | }, | ||||
component: (resolve) => require(['@/views/lawEnforcement/login'], resolve) | component: (resolve) => require(['@/views/lawEnforcement/login'], resolve) | ||||
}, | }, | ||||
{ | |||||
path: '/lawEnforcement/indexComplaint', | |||||
name: 'indexComplaint', | |||||
meta: { | |||||
title: '投诉建议', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/lawEnforcement/complaint/indexComplaint'], resolve) | |||||
}, | |||||
{ | |||||
path: '/lawEnforcement/schemeDetail', | |||||
name: 'schemeDetail', | |||||
meta: { | |||||
title: '方案详情', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/lawEnforcement/scheme/schemeDetail'], resolve) | |||||
}, | |||||
]; | ]; | ||||
@@ -10,6 +10,17 @@ export function selectDictLabel(datas, value) { | |||||
return actions.join(''); | return actions.join(''); | ||||
} | } | ||||
export function selectDictScheme(datas, value) { | |||||
var actions = []; | |||||
Object.keys(datas).some((key) => { | |||||
if (datas[key].id == ('' + value)) { | |||||
actions.push(datas[key].schemeName); | |||||
return true; | |||||
} | |||||
}) | |||||
return actions.join(''); | |||||
} | |||||
//回退 | //回退 | ||||
export function onClickLeft(){ | export function onClickLeft(){ | ||||
history.back(-1); | history.back(-1); | ||||
@@ -56,19 +56,22 @@ | |||||
</van-row> | </van-row> | ||||
</van-action-sheet> | </van-action-sheet> | ||||
<van-list | <van-list | ||||
v-model="loading" | |||||
:finished="finished" | |||||
finished-text="没有更多了" | finished-text="没有更多了" | ||||
@load="getList" | |||||
> | > | ||||
<van-swipe-cell v-for="(item,index) in 10" :key="index"> | |||||
<van-cell title="案件名称名称名称" :value="22222" center to="/lawEnforcement/caseDetail"> | |||||
<van-swipe-cell v-for="(item,index) in caseList" :key="index"> | |||||
<van-cell :title="item.caseName" :value="22222" center :to="{name:'caseDetail',query:{id:item.id}}"> | |||||
<template #icon> | <template #icon> | ||||
<van-icon name="../../../static/images/lawEnforcement/icon/icon_aj.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | <van-icon name="../../../static/images/lawEnforcement/icon/icon_aj.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | ||||
</template> | </template> | ||||
<template #label> | <template #label> | ||||
<p>4232343242<i style="margin-right: 0.5rem;"></i><i style="margin-right: 0.5rem;"></i>李伟杰</p> | |||||
<p>{{item.caseNum}}<i style="margin-right: 0.5rem;"></i><i style="margin-right: 0.5rem;"></i>{{item.name}}</p> | |||||
</template> | </template> | ||||
<template #default> | <template #default> | ||||
<p>勘察</p> | |||||
<p style="color: #1D6FE9;">进行中</p> | |||||
<p>{{item.caseStatus}}</p> | |||||
<p style="color: #1D6FE9;">{{item.caseProgress}}</p> | |||||
</template> | </template> | ||||
</van-cell> | </van-cell> | ||||
</van-swipe-cell> | </van-swipe-cell> | ||||
@@ -77,7 +80,7 @@ | |||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import { newList } from "@/api/index"; | |||||
import { getTopDeptId , listCase } from "@/api/lawEnforcement/index"; | |||||
import law from "@/components/common/law_footer"; | import law from "@/components/common/law_footer"; | ||||
export default { | export default { | ||||
name: "index", | name: "index", | ||||
@@ -93,37 +96,49 @@ export default { | |||||
//是否滚动到底部 | //是否滚动到底部 | ||||
finished: false, | finished: false, | ||||
sheetShow: false, | sheetShow: false, | ||||
//查询参数 | |||||
// 查询参数 | |||||
queryParams: { | queryParams: { | ||||
// 分页 | |||||
pageNum: 1, | pageNum: 1, | ||||
pageSize: 5, | |||||
deptId:100, | |||||
number:2 | |||||
pageSize: 10, | |||||
// 查询排序 | |||||
orderByColumn: "id", | |||||
isAsc: "desc", | |||||
caseNum: null, | |||||
type: null, | |||||
caseStatus: null, | |||||
caseProgress: null, | |||||
}, | }, | ||||
//新闻集合 | //新闻集合 | ||||
newList:[], | newList:[], | ||||
//轮播图集合 | |||||
bannerList:'' | |||||
// 案件登记表格数据 | |||||
caseList: [], | |||||
caseStatusOptions:[], | |||||
caseProgressOptions:[], | |||||
typeOptions:[], | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
this.getDicts("enforce_body_type").then(response => { | |||||
this.typeOptions = response.data; | |||||
}); | |||||
this.getDicts("case_status").then(response => { | |||||
this.caseStatusOptions = response.data; | |||||
}); | |||||
this.getDicts("case_node").then(response => { | |||||
this.caseProgressOptions = response.data; | |||||
}); | |||||
}, | }, | ||||
methods: { | methods: { | ||||
getList(){ | getList(){ | ||||
this.loading = true; | this.loading = true; | ||||
this.queryParams.number = 2 ; | |||||
this.queryParams.pageSize = 5 ; | |||||
newList(this.queryParams).then(response => { | |||||
listCase(this.queryParams).then(response => { | |||||
for (var i = 0; i < response.rows.length; i++) { | for (var i = 0; i < response.rows.length; i++) { | ||||
this.newList.push(response.rows[i]); | |||||
var imgStrs = response.rows[i].content.match(/<IMG src=\"([^\"]*?)\">/gi) | |||||
if (imgStrs != null && imgStrs != '') { | |||||
this.newList[i].img = imgStrs[0].substr(10,(imgStrs[0].length-12)); | |||||
} | |||||
response.rows[i].caseStatus = this.selectDictLabel(this.caseStatusOptions, response.rows[i].caseStatus); | |||||
response.rows[i].caseProgress = this.selectDictLabel(this.caseProgressOptions, response.rows[i].caseProgress); | |||||
this.caseList.push(response.rows[i]) | |||||
} | } | ||||
console.log(this.newList) | |||||
if(this.newList.length >= response.total){ | |||||
if(this.caseList.length >= response.total){ | |||||
this.finished = true; | this.finished = true; | ||||
return; | return; | ||||
} | } | ||||
@@ -0,0 +1,161 @@ | |||||
<template> | |||||
<div class="app-container"> | |||||
<van-nav-bar | |||||
title="投诉回复" | |||||
fixed | |||||
placeholder | |||||
left-arrow | |||||
@click-left="onClickLeft" | |||||
/> | |||||
<van-list | |||||
v-model="loading" | |||||
:finished="finished" | |||||
finished-text="没有更多了" | |||||
@load="getNewList" | |||||
> | |||||
<div class="tabsBox" v-for="(item,index) in schemeList" :key="index"> | |||||
<van-cell :title="item.name" :label="'待回复 · ' + item.replyTime" center :to="{name:'programmeDetail'}"> | |||||
<template #icon> | |||||
<van-icon name="../../../static/images/lawEnforcement/12.jpg" size="36" color="#539FFD" style="margin-right: 10px;border-radius: 50%;overflow: hidden;" /> | |||||
</template> | |||||
<template #default> | |||||
<p style="color: #1D6FE9;"><van-icon name="phone" />{{item.phone}}</p> | |||||
</template> | |||||
</van-cell> | |||||
<van-row> | |||||
<van-col :span="5">类型:</van-col> | |||||
<van-col :span="19">{{item.communicateType}}</van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="5">标题:</van-col> | |||||
<van-col :span="19">{{item.title}}</van-col> | |||||
</van-row> | |||||
<van-row> | |||||
<van-col :span="5">内容:</van-col> | |||||
<van-col :span="19">{{item.content}}</van-col> | |||||
</van-row> | |||||
<van-row v-if="item.reply"> | |||||
<van-col :span="24" style="border-top: 1px solid rgba(112,112,112,0.3)"></van-col> | |||||
</van-row> | |||||
<van-row v-if="item.reply"> | |||||
<van-col :span="5">回复:</van-col> | |||||
<van-col :span="19">{{item.reply}}</van-col> | |||||
</van-row> | |||||
<van-row v-if="item.reply"> | |||||
<van-col :span="5">回复人:</van-col> | |||||
<van-col :span="19">{{item.replyName}}</van-col> | |||||
</van-row> | |||||
<van-row v-if="item.reply"> | |||||
<van-col :span="12"><p style="color: #cccccc;font-size: 12px">{{item.replyTime}}</p></van-col> | |||||
<van-col :span="12"></van-col> | |||||
</van-row> | |||||
</div> | |||||
</van-list> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { getTopDeptId , schemeDetail } from "@/api/lawEnforcement/index"; | |||||
export default { | |||||
name: "index", | |||||
data() { | |||||
return { | |||||
active:0, | |||||
//查询参数 | |||||
queryParams: { | |||||
pageNum: 1, | |||||
pageSize: 5, | |||||
deptId:100, | |||||
}, | |||||
schemeList:[], | |||||
//是否显示加载 | |||||
loading: false, | |||||
//是否滚动到底部 | |||||
finished: false, | |||||
communicateOptions:[] | |||||
}; | |||||
}, | |||||
created() { | |||||
//转出方式字典 | |||||
this.getDicts("communicate_type").then(res => { | |||||
this.communicateOptions = res.data; | |||||
}); | |||||
}, | |||||
methods: { | |||||
getNewList(){ | |||||
this.loading = true; | |||||
getTopDeptId().then(response => { | |||||
this.queryParams.deptId = response.data ; | |||||
communicate(this.queryParams).then(response => { | |||||
for (var i = 0; i < response.rows.length; i++) { | |||||
response.rows[i].replyTime = response.rows[i].replyTime == '' ? '' : response.rows[i].replyTime.substr(0,10); | |||||
response.rows[i].communicateType = this.selectDictLabel(this.communicateOptions,response.rows[i].communicateType) | |||||
this.schemeList.push(response.rows[i]); | |||||
} | |||||
if(this.schemeList.length >= response.total){ | |||||
this.finished = true; | |||||
return; | |||||
} | |||||
this.queryParams.pageNum += 1 ; | |||||
this.loading = false; | |||||
}) | |||||
}) | |||||
}, | |||||
}, | |||||
}; | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
@font-face { | |||||
font-family: SourceHanSansCNBold; | |||||
src: url("../../../assets/fonts/SourceHanSansCN-Bold.otf"); | |||||
} | |||||
.app-container{ | |||||
padding: 5% 2%; | |||||
} | |||||
/deep/ .van-tabs__line{ | |||||
background-color: #1D6FE9; | |||||
} | |||||
/deep/ .van-tab--active{ | |||||
color: #1D6FE9; | |||||
} | |||||
/deep/.van-cell__title{ | |||||
flex: 0.63; | |||||
line-height: 1; | |||||
} | |||||
/deep/.van-cell__value{ | |||||
flex: 0.37; | |||||
line-height: 1; | |||||
} | |||||
/deep/.van-cell__label{ | |||||
line-height: 1; | |||||
} | |||||
/deep/.van-cell{ | |||||
padding: 0; | |||||
} | |||||
/deep/.van-row{ | |||||
margin-top: 15PX; | |||||
.van-col{ | |||||
font-size: 0.4rem; | |||||
} | |||||
} | |||||
.tabsBox{ | |||||
padding: 5% 4%; | |||||
background-color: #FFF; | |||||
border-radius: 8PX; | |||||
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||||
margin-bottom: 15PX; | |||||
} | |||||
.van-tab__pane-wrapper{ | |||||
padding: 5% 2%; | |||||
} | |||||
.answerBtn{ | |||||
padding: 5PX 15PX; | |||||
height:auto; | |||||
} | |||||
</style> |
@@ -76,7 +76,7 @@ | |||||
</van-cell-group> | </van-cell-group> | ||||
<van-cell-group class="listBox"> | <van-cell-group class="listBox"> | ||||
<van-cell value="全部" is-link> | |||||
<van-cell value="全部" is-link :to="{name:'indexComplaint'}"> | |||||
<template #title> | <template #title> | ||||
<van-icon name="../../../static/images/lawEnforcement/icon/icon_ts.png" size="20"></van-icon> | <van-icon name="../../../static/images/lawEnforcement/icon/icon_ts.png" size="20"></van-icon> | ||||
<span class="custom-title">投诉建议<i class="bgBlue"></i></span> | <span class="custom-title">投诉建议<i class="bgBlue"></i></span> | ||||
@@ -9,6 +9,7 @@ | |||||
v-model="formData.username" | v-model="formData.username" | ||||
placeholder="请输入手机号/账号" | placeholder="请输入手机号/账号" | ||||
:rules="[{ required: true, message:'' }]" | :rules="[{ required: true, message:'' }]" | ||||
clearable | |||||
/> | /> | ||||
<van-field | <van-field | ||||
v-model="formData.password" | v-model="formData.password" | ||||
@@ -16,17 +17,22 @@ | |||||
style="margin: 20px 0" | style="margin: 20px 0" | ||||
placeholder="请输入密码" | placeholder="请输入密码" | ||||
:rules="[{ required: true, message:'' }]" | :rules="[{ required: true, message:'' }]" | ||||
/> | |||||
<van-field | |||||
v-model="formData.code" | |||||
center | |||||
clearable | clearable | ||||
placeholder="图形验证码" | |||||
> | |||||
<template #button> | |||||
<img style="width: 100px;display: block;" :src="codeUrl" @click="getCode" /> | |||||
</template> | |||||
</van-field> | |||||
/> | |||||
<van-row> | |||||
<van-col :span="16"> | |||||
<van-field | |||||
v-model="formData.code" | |||||
center | |||||
clearable | |||||
placeholder="图形验证码" | |||||
/> | |||||
</van-col> | |||||
<van-col :span="8"> | |||||
<img style="width: 100px;display: block;margin-left: 10px;" :src="codeUrl" @click="getCode" /> | |||||
</van-col> | |||||
</van-row> | |||||
<van-checkbox style="margin-top:20px;margin-left:20px;" v-model="formData.rememberMe" shape="square">{{showMessage ? "记住手机号" : "记住密码"}}</van-checkbox> | <van-checkbox style="margin-top:20px;margin-left:20px;" v-model="formData.rememberMe" shape="square">{{showMessage ? "记住手机号" : "记住密码"}}</van-checkbox> | ||||
@@ -41,16 +47,28 @@ | |||||
font-family: zqkhyt; | font-family: zqkhyt; | ||||
src: url("../../assets/fonts/zqkhyt.TTF"); | src: url("../../assets/fonts/zqkhyt.TTF"); | ||||
} | } | ||||
input:-webkit-autofill , textarea:-webkit-autofill, select:-webkit-autofill { | |||||
-webkit-text-fill-color: #ededed !important; | |||||
-webkit-box-shadow: 0 0 0px 1000px transparent inset !important; | |||||
background-color:transparent; | |||||
background-image: none; | |||||
transition: background-color 50000s ease-in-out 0s; //背景色透明 生效时长 过渡效果 启用时延迟的时间 | |||||
} | |||||
input { | |||||
background-color:transparent; | |||||
} | |||||
.app-container{ | .app-container{ | ||||
background: #fff; | background: #fff; | ||||
height: 100vh; | height: 100vh; | ||||
} | } | ||||
/deep/ .van-cell{ | /deep/ .van-cell{ | ||||
padding: 0; | padding: 0; | ||||
border: 1px solid #F1F0F5; | |||||
padding: 0.2rem 0.5rem; | |||||
border-radius: 0.5rem; | |||||
.van-field__control{ | .van-field__control{ | ||||
border: 1px solid #F1F0F5; | |||||
padding: 0.2rem 0.5rem; | |||||
border-radius: 0.5rem; | |||||
} | } | ||||
&:after{ | &:after{ | ||||
border: none; | border: none; | ||||
@@ -0,0 +1,420 @@ | |||||
<template> | |||||
<div class="app-container"> | |||||
<van-nav-bar | |||||
title="案件详情" | |||||
fixed | |||||
placeholder | |||||
left-arrow | |||||
@click-left="onClickLeft" | |||||
/> | |||||
<div class="main_box"> | |||||
<van-cell> | |||||
<template #title> | |||||
<van-icon name="../../../static/images/lawEnforcement/icon/icon_zxfa.png" size="20"></van-icon> | |||||
<span class="custom-title">方案公开<i class="bgBlue"></i></span> | |||||
</template> | |||||
</van-cell> | |||||
<van-cell title="方案名称:" :label="schemeOption.schemeName" /> | |||||
<van-cell title="检查方式:" :value="schemeOption.checkMethod" /> | |||||
<van-cell title="检查部门:" :value="schemeOption.checkDepartment" /> | |||||
<van-cell title="检查时间:" :value="schemeOption.checkStartDate" /> | |||||
<van-cell title="检查类型:" :value="schemeOption.checkType" /> | |||||
<van-cell title="检查事项:" :label="schemeOption.checkList" /> | |||||
<van-cell title="方案描述:" :label="schemeOption.checkContent" /> | |||||
</div> | |||||
<div class="main_box" style="margin-top: 10px;"> | |||||
<van-cell> | |||||
<template #title> | |||||
<van-icon name="../../../static/images/lawEnforcement/icon/icon_zxry.png" size="20"></van-icon> | |||||
<span class="custom-title">执行人员<i class="bgBlue"></i></span> | |||||
</template> | |||||
</van-cell> | |||||
<div class="peopleList"> | |||||
<van-row> | |||||
<van-col :span="4">序号</van-col> | |||||
<van-col :span="10">经办人姓名</van-col> | |||||
<van-col :span="10">执法证号</van-col> | |||||
</van-row> | |||||
<van-row v-for="(item,index) in schemeOption.tenforceSchemeHandlerList"> | |||||
<van-col :span="4">{{index+1}}</van-col> | |||||
<van-col :span="10">{{item.name}}</van-col> | |||||
<van-col :span="10">{{item.enforceNum}}</van-col> | |||||
</van-row> | |||||
</div> | |||||
</div> | |||||
<div class="main_box2"> | |||||
<van-cell> | |||||
<template #title> | |||||
<van-icon name="../../../static/images/lawEnforcement/icon/icon_ajxx.png" size="20"></van-icon> | |||||
<span class="custom-title">审批列表<i class="bgBlue"></i></span> | |||||
</template> | |||||
</van-cell> | |||||
<van-row v-for="(item,index) in schemeOption.historicActivityList"> | |||||
<van-col :span="4"> | |||||
<p class="index">{{index+1}}</p> | |||||
<div class="indexBorder" :class="{'indexCenter':index==0 ? false : true}"> | |||||
<p class="ssT" v-if="index>0"></p> | |||||
<p class="yq"></p> | |||||
<p class="ss" v-if="schemeOption.historicActivityList.length != index+1"></p> | |||||
</div> | |||||
</van-col> | |||||
<van-col :span="20"> | |||||
<van-cell :title="item.activityName" center> | |||||
<template #label> | |||||
<p>{{item.time}}</p> | |||||
</template> | |||||
<template #default> | |||||
<p style="color: #999999;">{{item.assigneeName == null ? '(空)' : item.assigneeName}}</p> | |||||
<p style="color: #666666;"> | |||||
<span | |||||
class="bq" | |||||
:style="{ | |||||
background:item.comment == '提交申请' ? 'rgba(29,111,233,0.2)' : item.comment == '同意' ? 'rgba(29,204,128,0.2)' : item.comment == '自动结束' ? 'rgba(255,166,62,0.2)' : '', | |||||
color:item.comment == '提交申请' ? '#1D6FE9' : item.comment == '同意' ? '#1DCC80' : item.comment == '自动结束' ? '#FFA63E' : '' | |||||
}" | |||||
> | |||||
{{item.comment}} | |||||
</span> | |||||
</p> | |||||
</template> | |||||
</van-cell> | |||||
</van-col> | |||||
</van-row> | |||||
</div> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { getTopDeptId , schemeDetail } from "@/api/lawEnforcement/index"; | |||||
import law from "@/components/common/law_footer"; | |||||
export default { | |||||
name: "index", | |||||
components: { | |||||
law | |||||
}, | |||||
data() { | |||||
return { | |||||
showBankType:false, | |||||
showPayeeType:false, | |||||
showPicker:false, | |||||
form:{}, | |||||
bankType:'', | |||||
payeeType:'', | |||||
value:'', | |||||
schemeOption:[] | |||||
}; | |||||
}, | |||||
created() { | |||||
this.getDetail() | |||||
}, | |||||
methods: { | |||||
getDetail(){ | |||||
schemeDetail(this.$route.query.id).then(response => { | |||||
this.schemeOption = response.data; | |||||
}); | |||||
}, | |||||
}, | |||||
}; | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
@font-face { | |||||
font-family: SourceHanSansCNBold; | |||||
src: url("../../../assets/fonts/SourceHanSansCN-Bold.otf"); | |||||
} | |||||
.app-container { | |||||
padding: 0; | |||||
} | |||||
.van-uploader { | |||||
padding: 15PX; | |||||
} | |||||
/deep/ .van-nav-bar--fixed{ | |||||
background: url("../../../../static/images/lawEnforcement/head_bg.png") 100%; | |||||
} | |||||
/deep/ .van-nav-bar .van-icon{ | |||||
color: #ffffff; | |||||
} | |||||
/deep/ .van-nav-bar__title{ | |||||
color: #ffffff; | |||||
} | |||||
/deep/ .van-tabs__nav--complete{ | |||||
padding: 0; | |||||
border: none; | |||||
height: auto; | |||||
} | |||||
/deep/ .van-tabs__nav--card .van-tab{ | |||||
border: none; | |||||
} | |||||
/deep/ .van-tabs--card>.van-tabs__wrap{ | |||||
height: auto; | |||||
margin-top: 10PX; | |||||
} | |||||
/deep/ .van-tabs__nav--card .van-tab.van-tab--active{ | |||||
background: transparent; | |||||
.van-tab__text{ | |||||
width: 56PX; | |||||
height: 56PX; | |||||
line-height: 56PX; | |||||
} | |||||
.finish,.ongoing,.notStarted{ | |||||
padding: 15PX 0; | |||||
} | |||||
} | |||||
/deep/ .van-tab__text{ | |||||
display: block; | |||||
width: 44PX; | |||||
height: 44PX; | |||||
background: #FFF; | |||||
border-radius: 50%; | |||||
border: 1px solid #C9C9C9; | |||||
color: #C9C9C9; | |||||
text-align: center; | |||||
padding: 0; | |||||
p{ | |||||
line-height: 1; | |||||
} | |||||
} | |||||
.finish{ | |||||
border-radius: 50%; | |||||
border: 1px solid #1DCC80; | |||||
color: #1DCC80; | |||||
padding: 10PX 0; | |||||
height: 100%; | |||||
} | |||||
.ongoing{ | |||||
border-radius: 50%; | |||||
border: 1px solid #1D6FE9; | |||||
color: #1D6FE9; | |||||
padding: 10PX 0; | |||||
height: 100%; | |||||
} | |||||
.notStarted{ | |||||
padding: 10PX 0; | |||||
height: 100%; | |||||
} | |||||
.typeBox{ | |||||
width: 44PX; | |||||
height: 44PX; | |||||
background: #ffffff; | |||||
text-align: center; | |||||
font-size: 14PX; | |||||
border-radius: 50%; | |||||
border: 1px solid #1DCC80; | |||||
color: #1DCC80; | |||||
margin: 0 auto; | |||||
padding: 10PX 0px; | |||||
line-height: 1; | |||||
position: relative; | |||||
top: 50%; | |||||
transform: translateY(-50%); | |||||
} | |||||
.noActive{ | |||||
border: 1px solid #1D6FE9; | |||||
color: #1D6FE9; | |||||
} | |||||
.doActive{ | |||||
border: 1px solid #C9C9C9; | |||||
color: #C9C9C9; | |||||
} | |||||
.active{ | |||||
width: 56PX; | |||||
height: 56PX; | |||||
padding: 15PX 0px; | |||||
} | |||||
/deep/ .van-radio--horizontal{ | |||||
margin-left: 0.32rem; | |||||
margin-right: 0; | |||||
} | |||||
.peopleList{ | |||||
padding-right: 3%; | |||||
margin-top: 10PX; | |||||
.van-row{ | |||||
margin-bottom: 10PX; | |||||
.van-col{ | |||||
text-align: center; | |||||
font-size: 14PX; | |||||
} | |||||
&:first-child{ | |||||
.van-col{ | |||||
color: #1D6FE9; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.cf{ | |||||
padding: 0 3%; | |||||
margin-top: 20PX; | |||||
margin-bottom: 20PX; | |||||
.van-row{ | |||||
background: #F0F3F5; | |||||
.van-col{ | |||||
padding: 5PX 0; | |||||
font-size: 12PX!important; | |||||
text-align: center; | |||||
p{ | |||||
color: #1D6FE9; | |||||
} | |||||
} | |||||
&:first-child{ | |||||
background: transparent; | |||||
} | |||||
} | |||||
} | |||||
.main_title{ | |||||
font-size: 0.4rem; | |||||
color: #1D6FE9; | |||||
margin: 0.2rem 6%; | |||||
margin-top: 0; | |||||
position: relative; | |||||
} | |||||
.main_box{ | |||||
width: 96%; | |||||
margin: 0 auto; | |||||
border-radius: 6PX; | |||||
box-shadow: 0PX 3PX 6PX 0PX rgba(0,0,0,0.16); | |||||
overflow: hidden; | |||||
background-color: #FFF; | |||||
margin-top: 10PX; | |||||
.van-icon{ | |||||
vertical-align: middle; | |||||
} | |||||
.custom-title{ | |||||
font-size: 17PX; | |||||
color: #333333; | |||||
vertical-align: middle; | |||||
line-height: 1; | |||||
position: relative; | |||||
margin-left: 5PX; | |||||
} | |||||
.tap{ | |||||
color: #1D6FE9; | |||||
} | |||||
.bgBlue{ | |||||
display: block; | |||||
position: absolute; | |||||
width: 17PX; | |||||
height: 17PX; | |||||
border-radius: 50%; | |||||
background-color: rgba(29,111,233,0.26); | |||||
top: -2PX; | |||||
right: -8PX; | |||||
} | |||||
} | |||||
.submitButton{ | |||||
width: 80%; | |||||
margin: 0 auto; | |||||
background-color: #1D6FE9; | |||||
} | |||||
.addFamily{ | |||||
position: absolute; | |||||
top: -2px; | |||||
right: 0; | |||||
border-radius: 50%; | |||||
} | |||||
.main_box2{ | |||||
width: 96%; | |||||
margin: 0 auto; | |||||
background: #ffffff; | |||||
border-radius: 6PX; | |||||
overflow: hidden; | |||||
margin-top: 10PX; | |||||
margin-bottom: 20PX; | |||||
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||||
.van-icon{ | |||||
vertical-align: middle; | |||||
} | |||||
.custom-title{ | |||||
font-size: 17PX; | |||||
color: #333333; | |||||
vertical-align: middle; | |||||
line-height: 1; | |||||
position: relative; | |||||
margin-left: 5PX; | |||||
} | |||||
.tap{ | |||||
color: #1D6FE9; | |||||
} | |||||
.bgBlue{ | |||||
display: block; | |||||
position: absolute; | |||||
width: 17PX; | |||||
height: 17PX; | |||||
border-radius: 50%; | |||||
background-color: rgba(29,111,233,0.26); | |||||
top: -2PX; | |||||
right: -8PX; | |||||
} | |||||
.van-col{ | |||||
height: 76PX; | |||||
position: relative; | |||||
} | |||||
.van-row:nth-child(2n){ | |||||
background: rgba(29,111,233,0.1); | |||||
} | |||||
/deep/ .van-cell{ | |||||
background: transparent; | |||||
} | |||||
.bq{ | |||||
display: inline-block; | |||||
padding: 4PX 10PX; | |||||
border-radius: 5PX; | |||||
} | |||||
.index{ | |||||
background: #1D6FE9; | |||||
color: #ffffff; | |||||
text-align: center; | |||||
width: 20PX; | |||||
height: 20PX; | |||||
line-height: 20PX; | |||||
border-radius: 50%; | |||||
position: absolute; | |||||
left: 50%; | |||||
top: 50%; | |||||
transform: translate(-50%,-50%); | |||||
} | |||||
.indexCenter{ | |||||
top: 0!important; | |||||
} | |||||
.indexBorder{ | |||||
width: 10PX; | |||||
position: absolute; | |||||
right: 0; | |||||
top: calc(50% - 5PX); | |||||
.yq{ | |||||
height: 10PX; | |||||
width: 10PX; | |||||
background: #C9C9C9; | |||||
border-radius: 50%; | |||||
} | |||||
.ss{ | |||||
height: 33PX; | |||||
width: 2PX; | |||||
background: #C9C9C9; | |||||
position: relative; | |||||
left: 4PX; | |||||
} | |||||
.ssT{ | |||||
height: 33PX; | |||||
width: 2PX; | |||||
background: #C9C9C9; | |||||
position: relative; | |||||
left: 4PX; | |||||
} | |||||
} | |||||
} | |||||
.splcTit{ | |||||
font-size: 17PX; | |||||
text-align: center; | |||||
margin-top: 25PX; | |||||
margin-bottom: 5PX; | |||||
} | |||||
</style> |
@@ -19,7 +19,7 @@ | |||||
:key="index" | :key="index" | ||||
:title="pageType == 'scheme' ? item.schemeName : item.title" | :title="pageType == 'scheme' ? item.schemeName : item.title" | ||||
:value="pageType == 'scheme' ? item.applyTime : item.newsTime" | :value="pageType == 'scheme' ? item.applyTime : item.newsTime" | ||||
:to="{name:'workDetail',query:{id:item.id}}" | |||||
:to="{name:pageType == 'scheme' ? 'schemeDetail':'workDetail',query:{id:item.id}}" | |||||
/> | /> | ||||
</van-cell-group> | </van-cell-group> | ||||
</van-list> | </van-list> | ||||