@@ -47,10 +47,10 @@ | |||||
</template> | </template> | ||||
<script> | <script> | ||||
import navFooter from "@/components/common/nav_footer"; | |||||
/*import navFooter from "@/components/common/nav_footer";*/ | |||||
export default { | export default { | ||||
name: "App", | name: "App", | ||||
components: { navFooter }, | |||||
/*components: { navFooter },*/ | |||||
data: () => { | data: () => { | ||||
return { | return { | ||||
// direction: "", | // direction: "", | ||||
@@ -0,0 +1,122 @@ | |||||
<template> | |||||
<div class="time-graph"> | |||||
<canvas :id="id" :width="120" :height="120"></canvas> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
export default { | |||||
name: "circleProccess", | |||||
props:{ | |||||
ids:{ | |||||
type:Number | |||||
}, | |||||
counts:{ | |||||
type:Number, | |||||
default:0, | |||||
} | |||||
}, | |||||
data() { | |||||
return { | |||||
context:null, | |||||
center_x:null, | |||||
center_y:null, | |||||
rad:null, | |||||
speed:0, | |||||
context:null, | |||||
id:this.ids, | |||||
}; | |||||
}, | |||||
watch: { | |||||
}, | |||||
mounted() { | |||||
let cc = this.counts | |||||
if(this.counts>0&&this.counts<99){ | |||||
cc+=1 | |||||
} | |||||
let time_canvas = document.getElementById(this.ids); | |||||
time_canvas.width = document.documentElement.clientWidth/6; | |||||
time_canvas.height = document.documentElement.clientWidth/6; | |||||
this.drawMain(time_canvas, cc, "#85d824", "#eef7e4"); | |||||
}, | |||||
methods: { | |||||
drawMain(drawing_elem, percent, forecolor, bgcolor){ | |||||
this.context = drawing_elem.getContext("2d"); | |||||
this.center_x = drawing_elem.width / 2; | |||||
this.center_y = drawing_elem.height / 2; | |||||
this.rad = 3.1415926 * 2 / 100; | |||||
this.speed = 0; | |||||
if (this.speed <= percent) { | |||||
this.run(drawing_elem, percent, forecolor, bgcolor,this.speed,percent) | |||||
} | |||||
}, | |||||
run(drawing_elem, percent, forecolor, bgcolor){ | |||||
while(this.speed <= percent){ | |||||
window.requestAnimationFrame(this.run); | |||||
this.context.clearRect(0, 0, drawing_elem.width, drawing_elem.height); | |||||
this.backgroundCircle(bgcolor); | |||||
this.text(this.speed,forecolor); | |||||
this.foregroundCircle(this.speed,forecolor); | |||||
this.speed += 1; | |||||
} | |||||
}, | |||||
backgroundCircle(bgcolor) { | |||||
this.context.save(); | |||||
this.context.translate(0, 0) | |||||
this.context.setLineDash([5, 5]) | |||||
this.context.lineWidth = 5; //设置线宽 | |||||
this.context.textAlign = 'center' | |||||
this.context.textBaseline = 'middle' | |||||
this.context.font = '18px arial' | |||||
this.context.strokeStyle = bgcolor; | |||||
this.context.beginPath(); | |||||
var radius = this.center_x - this.context.lineWidth; | |||||
// context.lineCap = "round"; | |||||
this.context.arc(this.center_x, this.center_y, radius, 0, 3.1415926 * 2, false); | |||||
this.context.stroke(); | |||||
this.context.closePath(); | |||||
this.context.restore(); | |||||
}, | |||||
foregroundCircle(n,forecolor) { | |||||
this.context.save(); | |||||
this.context.strokeStyle = forecolor; | |||||
this.context.lineWidth = 5; | |||||
this.context.setLineDash([5, 5]) | |||||
// context.lineCap = "round"; | |||||
var radius = this.center_x - this.context.lineWidth; | |||||
this.context.beginPath(); | |||||
this.context.arc(this.center_x, this.center_y, radius, -3.1415926 / 2, -3.1415926 / 2 + n * this.rad, false); //用于绘制圆弧context.arc(x坐标,y坐标,半径,起始角度,终止角度,顺时针/逆时针) | |||||
this.context.stroke(); | |||||
this.context.closePath(); | |||||
this.context.restore(); | |||||
}, | |||||
text(n,forecolor) { | |||||
this.context.save(); //save和restore可以保证样式属性只运用于该段canvas元素 | |||||
this.context.fillStyle = forecolor; | |||||
var font_size = document.documentElement.clientWidth/35; | |||||
this.context.font = font_size + "px arial"; | |||||
var text_width = this.context.measureText(n.toFixed(0) + "%").width; | |||||
this.context.fillText(n.toFixed(0) + "%", this.center_x - text_width / 2, this.center_y + font_size / 2.5); | |||||
this.context.restore(); | |||||
} | |||||
} | |||||
} | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
::v-deep .time-graph { | |||||
padding-top: 20px; | |||||
display: flex; | |||||
display: -webkit-flex; | |||||
justify-content: center; | |||||
align-items: center; | |||||
} | |||||
::v-deep #time-graph-canvas { | |||||
width: 60px; | |||||
height: 60px; | |||||
} | |||||
</style> | |||||
@@ -69,14 +69,15 @@ service.interceptors.response.use(res => { | |||||
}) | }) | ||||
.then(() => { | .then(() => { | ||||
store.dispatch('LogOut').then(() => { | store.dispatch('LogOut').then(() => { | ||||
console.log(window.location.href); | |||||
if(window.location.href.indexOf('lawEnforcement') != -1){ | if(window.location.href.indexOf('lawEnforcement') != -1){ | ||||
location.href = '/lawEnforcement/login'; | |||||
} else if ('/authenticRight/index'.indexOf(to.path) !== -1) { | |||||
location.href = '/authenticRight/login'; | |||||
} else if ('/homestead/index'.indexOf(to.path) !== -1) { | |||||
location.href = '/homestead/login'; | |||||
window.location.href = '/lawEnforcement/login'; | |||||
} else if (window.location.href.indexOf('authenticRight') != -1) { | |||||
window.location.href = '/authenticRight/login'; | |||||
} else if (window.location.href.indexOf('homesteadSurvey')!= -1) { | |||||
window.location.href = '/homesteadLogin'; | |||||
} else { | } else { | ||||
location.href = '/index'; | |||||
window.location.href = '/index'; | |||||
} | } | ||||
}) | }) | ||||
}) | }) | ||||
@@ -3,11 +3,11 @@ | |||||
<div style="width:100%;max-width:500px;margin:0 auto;"> | <div style="width:100%;max-width:500px;margin:0 auto;"> | ||||
<div class="title"> | <div class="title"> | ||||
<img width="150" height="150" style="display: block;margin-right: 10px;margin: 20px auto;" src="../assets/images/housesteadSurvey/logo.png" alt=""> | <img width="150" height="150" style="display: block;margin-right: 10px;margin: 20px auto;" src="../assets/images/housesteadSurvey/logo.png" alt=""> | ||||
<p style="text-align:center;font-size:40px;">农村宅基地测量</p> | |||||
<p style="text-align:center;font-size:40px;">农村宅基地调查</p> | |||||
</div> | </div> | ||||
<van-form> | <van-form> | ||||
<div style="width: 462px; | |||||
height: 110px; | |||||
<div style="width: 90%; | |||||
max-widht:462px; | |||||
border-radius: 45px; | border-radius: 45px; | ||||
box-shadow: 2px 10px 10px 0px rgba(125,125,125,0.16);padding: 10px 30px; margin:40px 20px; "> | box-shadow: 2px 10px 10px 0px rgba(125,125,125,0.16);padding: 10px 30px; margin:40px 20px; "> | ||||
<van-field | <van-field | ||||
@@ -19,8 +19,8 @@ | |||||
:rules="[{ required: true, message:'' }]" | :rules="[{ required: true, message:'' }]" | ||||
/> | /> | ||||
</div> | </div> | ||||
<div style="width: 462px; | |||||
height: 110px; | |||||
<div style="width: 90%; | |||||
max-widht:462px; | |||||
border-radius: 45px; | border-radius: 45px; | ||||
box-shadow: 2px 10px 10px 0px rgba(125,125,125,0.16);padding: 10px 30px; margin:40px 20px; "> | box-shadow: 2px 10px 10px 0px rgba(125,125,125,0.16);padding: 10px 30px; margin:40px 20px; "> | ||||
<van-field | <van-field | ||||
@@ -33,8 +33,8 @@ | |||||
:rules="[{ required: true, message:'' }]" | :rules="[{ required: true, message:'' }]" | ||||
/> | /> | ||||
</div> | </div> | ||||
<div style="width: 462px; | |||||
height: 110px; | |||||
<div style="width: 90%; | |||||
max-widht:462px; | |||||
border-radius: 45px; | border-radius: 45px; | ||||
box-shadow: 2px 10px 10px 0px rgba(125,125,125,0.16);padding: 10px 30px; margin:40px 20px; " class="codeDiv"> | box-shadow: 2px 10px 10px 0px rgba(125,125,125,0.16);padding: 10px 30px; margin:40px 20px; " class="codeDiv"> | ||||
<van-field | <van-field | ||||
@@ -45,7 +45,7 @@ | |||||
placeholder="图形验证码" | placeholder="图形验证码" | ||||
> | > | ||||
<template #label> | <template #label> | ||||
<img style="width: 100px" :src="codeUrl" @click="getCode" /> | |||||
<img style="width: 90px" :src="codeUrl" @click="getCode" /> | |||||
</template> | </template> | ||||
</van-field> | </van-field> | ||||
</div> | </div> | ||||
@@ -340,6 +340,6 @@ export default { | |||||
</script> | </script> | ||||
<style scoped lang="scss"> | <style scoped lang="scss"> | ||||
/deep/ .codeDiv .van-field .van-cell__title{ | /deep/ .codeDiv .van-field .van-cell__title{ | ||||
width: 3.2em!important; | |||||
width: 3.0em!important; | |||||
} | } | ||||
</style> | </style> |
@@ -33,7 +33,7 @@ | |||||
@click="active=1" | @click="active=1" | ||||
/> | /> | ||||
</van-badge> | </van-badge> | ||||
<p>全部任务</p> | |||||
<p id="basetext">全部任务</p> | |||||
</van-col> | </van-col> | ||||
<van-col span="8"> | <van-col span="8"> | ||||
<van-badge :content="done"> | <van-badge :content="done"> | ||||
@@ -64,56 +64,64 @@ | |||||
</div> | </div> | ||||
<div v-if="active==1" style="height:calc( 100vh - 350px);overflow-y:auto;"> | <div v-if="active==1" style="height:calc( 100vh - 350px);overflow-y:auto;"> | ||||
<van-cell v-for="(item,index) in totalList" :key="index" :title="item.deptName" size="small" @click.native="setCookies(item)" :to="{name:'homesteadList'}"style="border-radius: 16px; | |||||
<van-pull-refresh v-model="isLoadingtask" @refresh="onRefreshtask"> | |||||
<van-cell v-for="(item,index) in totalList" :key="item.id" :title="item.deptName" size="small" @click.native="setCookies(item)" :to="{name:'homesteadList'}"style="border-radius: 16px; | |||||
box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px"> | box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px"> | ||||
<template #default> | <template #default> | ||||
<CircleProccess :ids="index" :counts="item.reportZjdzdNumber!=0?(item.confirmZjdzdNumber/item.reportZjdzdNumber)*100:0"></CircleProccess> | |||||
</template> | </template> | ||||
<template #label> | <template #label> | ||||
开始时间:{{item.planBeginTime}} 结束时间:{{item.planEndTime}} | |||||
开始时间:{{item.planBeginTime}}<br/> 结束时间:{{item.planEndTime}} | |||||
</template> | </template> | ||||
<template #icon> | <template #icon> | ||||
<van-icon name="clock" color="#22b7f2" style="margin-top:10px;margin-right:10px;"/> | <van-icon name="clock" color="#22b7f2" style="margin-top:10px;margin-right:10px;"/> | ||||
</template> | </template> | ||||
</van-cell> | </van-cell> | ||||
</van-pull-refresh> | |||||
</div> | </div> | ||||
<div v-if="active==2" style="height:calc( 100vh - 350px);overflow-y:auto;"> | <div v-if="active==2" style="height:calc( 100vh - 350px);overflow-y:auto;"> | ||||
<van-cell v-for=" (item,index) in doneList" :key="index" :title="item.deptName" size="small" :to="{name:'homesteadList',params:{item:item}}" style="border-radius: 16px; | |||||
<van-pull-refresh v-model="isLoadingtask" @refresh="onRefreshtask"> | |||||
<van-cell v-for=" (item,index) in doneList" :key="item.id" :title="item.deptName" size="small" :to="{name:'homesteadList',params:{item:item}}" style="border-radius: 16px; | |||||
box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px"> | box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px"> | ||||
<template #default> | <template #default> | ||||
<CircleProccess :ids="index" :counts="item.reportZjdzdNumber!=0?(item.confirmZjdzdNumber/item.reportZjdzdNumber)*100:0"></CircleProccess> | |||||
</template> | </template> | ||||
<template #label> | <template #label> | ||||
开始时间:{{item.planBeginTime}} | |||||
开始时间:{{item.planBeginTime}}<br/> 结束时间:{{item.planEndTime}} | |||||
</template> | </template> | ||||
<template #icon> | <template #icon> | ||||
<van-icon name="clock" color="#22b7f2" style="margin-top:10px;margin-right:10px;"/> | <van-icon name="clock" color="#22b7f2" style="margin-top:10px;margin-right:10px;"/> | ||||
</template> | </template> | ||||
</van-cell> | </van-cell> | ||||
</van-pull-refresh> | |||||
</div> | </div> | ||||
<div v-if="active==3" style="height:calc( 100vh - 350px);overflow-y:auto;"> | <div v-if="active==3" style="height:calc( 100vh - 350px);overflow-y:auto;"> | ||||
<van-cell v-for=" (item,index) in todoList" :key="index" :title="item.deptName" size="small" :to="{name:'homesteadList',params:{item:item}}" style="border-radius: 16px; | |||||
<van-pull-refresh v-model="isLoadingtask" @refresh="onRefreshtask"> | |||||
<van-cell v-for=" (item,index) in todoList" :key="item.id" :title="item.deptName" size="small" :to="{name:'homesteadList',params:{item:item}}" style="border-radius: 16px; | |||||
box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px"> | box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16); width:calc( 100% - 40px);margin:20px"> | ||||
<template #default> | <template #default> | ||||
</template> | |||||
<CircleProccess :ids="index" :counts="item.reportZjdzdNumber!=0?(item.confirmZjdzdNumber/item.reportZjdzdNumber)*100:0"></CircleProccess> | |||||
</template> | |||||
<template #label> | <template #label> | ||||
开始时间:{{item.planBeginTime}} | |||||
开始时间:{{item.planBeginTime}}<br/> 结束时间:{{item.planEndTime}} | |||||
</template> | </template> | ||||
<template #icon> | <template #icon> | ||||
<van-icon name="clock" color="#22b7f2" style="margin-top:10px;margin-right:10px;"/> | <van-icon name="clock" color="#22b7f2" style="margin-top:10px;margin-right:10px;"/> | ||||
</template> | </template> | ||||
</van-cell> | </van-cell> | ||||
</van-pull-refresh> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
import {addTask, complete, delTask, exportTask, getTask, listTask, publish, updateTask} from "@/api/homesteadSurvey/index"; | import {addTask, complete, delTask, exportTask, getTask, listTask, publish, updateTask} from "@/api/homesteadSurvey/index"; | ||||
import {getInfo} from "../../api/login"; | import {getInfo} from "../../api/login"; | ||||
// import circleProccess from "@/components/circleProccess.vue"; | |||||
import CircleProccess from "@/components/circleProccess.vue"; | |||||
export default { | export default { | ||||
name: "homesteadIndex", | name: "homesteadIndex", | ||||
components: { | components: { | ||||
// circleProccess | |||||
CircleProccess | |||||
}, | }, | ||||
data() { | data() { | ||||
return { | return { | ||||
@@ -133,23 +141,15 @@ | |||||
todoList:[], | todoList:[], | ||||
// 查询参数 | // 查询参数 | ||||
queryParams: { | queryParams: { | ||||
// 分页 | |||||
pageNum: 1, | |||||
pageSize: 10, | |||||
// 查询排序 | |||||
orderByColumn: "id", | |||||
isAsc: "desc", | |||||
deptId: null, | |||||
deptName: null, | |||||
title: null, | |||||
createUserId: null, | |||||
updateUserId: null, | |||||
taskStatus: null, | taskStatus: null, | ||||
taskPublishStatus:"PUBLISHED", | taskPublishStatus:"PUBLISHED", | ||||
}, | }, | ||||
nickName:"", | nickName:"", | ||||
text:0, | text:0, | ||||
isLoadingtask:false, | |||||
countqb:0, | |||||
countyhc:0, | |||||
countwhc:0, | |||||
}; | }; | ||||
}, | }, | ||||
mounted(){ | mounted(){ | ||||
@@ -170,6 +170,55 @@ | |||||
this.getList(); | this.getList(); | ||||
}, | }, | ||||
methods: { | methods: { | ||||
onRefreshtask(){ | |||||
this.isLoadingtask = false; | |||||
let _this = this | |||||
if(this.active==1){ | |||||
let params = { | |||||
"taskStatus": "FINISHED", | |||||
"taskPublishStatus":"PUBLISHED", | |||||
"pageNum": this.countyhc+1, | |||||
"pageSize":10, | |||||
} | |||||
listTask(params).then((response) => { | |||||
if(response.rows.length>0&&this.doneList.length<response.total){ | |||||
response.rows.map(res => { | |||||
this.doneList.unshift(res) | |||||
}) | |||||
this.countyhc++ | |||||
} | |||||
}); | |||||
}else if(this.active==2){ | |||||
let params = { | |||||
"taskStatus": "UNFINISHED", | |||||
"taskPublishStatus":"PUBLISHED", | |||||
"pageNum": this.countwhc+1, | |||||
"pageSize":10, | |||||
} | |||||
listTask(params).then((response) => { | |||||
if(response.rows.lenght>0&&this.todoList.length<response.total){ | |||||
response.rows.map(res => { | |||||
this.todoList.unshift(res) | |||||
}) | |||||
this.countwhc++ | |||||
} | |||||
}); | |||||
}else{ | |||||
let params = { | |||||
"taskPublishStatus":"PUBLISHED", | |||||
"pageNum": this.countqb+1, | |||||
"pageSize":10, | |||||
} | |||||
listTask(params).then((response) => { | |||||
if(response.rows.length>0&&this.totalList.length<response.total){ | |||||
response.rows.map(res => { | |||||
this.totalList.unshift(res) | |||||
}) | |||||
this.countqb++ | |||||
} | |||||
}); | |||||
} | |||||
}, | |||||
setCookies(item){ | setCookies(item){ | ||||
this.$cookies.set("item",JSON.stringify(item)); | this.$cookies.set("item",JSON.stringify(item)); | ||||
}, | }, | ||||