@@ -0,0 +1,19 @@ | |||
import request from '@/utils/request'; | |||
// 获取确权调查任务列表 | |||
export function listSurveyTask(params) { | |||
return request({ | |||
url: '/service/landsurvey/mobile/list', | |||
method: 'get', | |||
params: params | |||
}); | |||
} | |||
// 获取承包方列表 | |||
export function listCbf(params) { | |||
return request({ | |||
url: '/service/cbf/list', | |||
method: 'get', | |||
params: params | |||
}); | |||
} |
@@ -4,8 +4,8 @@ | |||
<div class="header"> | |||
<img class="header_img" src="../../../static/images/contracted/contracted_index_head.png" alt=""> | |||
<div class="header_block"> | |||
<p>欢迎,张三</p> | |||
<p>13306311234</p> | |||
<p>欢迎,{{ nickName }}</p> | |||
<p>{{ phone }}</p> | |||
</div> | |||
<van-popover | |||
v-model="showPopover" | |||
@@ -21,18 +21,18 @@ | |||
</div> | |||
<div class="tab"> | |||
<div> | |||
<div @click="changeTaskOption('FINISHED')"> | |||
<p><img src="../../../static/images/contracted/contracted_index_icon_4.png" alt="">已完成任务</p> | |||
<p><span>84</span>个</p> | |||
<p><span>{{ surveyTask['FINISHED'].length }}</span>个</p> | |||
</div> | |||
<div> | |||
<div @click="changeTaskOption('UNFINISHED')"> | |||
<p><img src="../../../static/images/contracted/contracted_index_icon_5.png" alt="">进行中任务</p> | |||
<p><span>84</span>个</p> | |||
<p><span>{{ surveyTask['UNFINISHED'].length }}</span>个</p> | |||
</div> | |||
</div> | |||
<div class="list_tt"> | |||
<p>任务清单(112)</p> | |||
<p>任务清单({{surveyTask[taskOption].length}})</p> | |||
<p> | |||
<span><i></i>已完成</span> | |||
<span><i></i>总数</span> | |||
@@ -40,23 +40,18 @@ | |||
</div> | |||
<div class="list_main"> | |||
<van-list | |||
v-model="loading" | |||
:finished="finished" | |||
finished-text="没有更多了" | |||
@load="getList" | |||
> | |||
<van-swipe-cell v-for="(item,index) in 10" :key="index" > | |||
<div class="item" @click="goDetail(item.id)"> | |||
<van-list> | |||
<van-swipe-cell v-for="item in surveyTask[taskOption]" :key="item.id" > | |||
<div class="item" @click="goDetail(item)"> | |||
<img src="../../../static/images/contracted/contracted_index_icon_6.png" alt=""> | |||
<div class="info"> | |||
<div class="title"> | |||
<p class="news_title">A镇 B村</p> | |||
<p class="tips_mark">200</p> | |||
<p class="news_title">{{item.parentName}} {{item.deptName}}</p> | |||
<p class="tips_mark">{{item.cbfFinishNum}}</p> | |||
</div> | |||
<div class="time"> | |||
<p>张三、李四、王五</p> | |||
<p>800</p> | |||
<p>{{item.surUsernames}}</p> | |||
<p>{{item.cbfNum}}</p> | |||
</div> | |||
</div> | |||
</div> | |||
@@ -89,35 +84,56 @@ | |||
</template> | |||
<script> | |||
import Cookies from "js-cookie"; | |||
import { listSurveyTask } from "@/api/contracted"; | |||
import { getInfo } from "@/api/login"; | |||
export default { | |||
name: "contractedIndex", | |||
data() { | |||
return { | |||
loading:false, | |||
finished:true, | |||
showPopover: false, | |||
// 通过 actions 属性来定义菜单选项 | |||
actions: [{ text: '修改密码',value:1 }], | |||
nickName: null, | |||
phone: null, | |||
// 调查任务 | |||
surveyTask: { | |||
'FINISHED': [], // 已完成任务 | |||
'UNFINISHED': [] // 进行中任务 | |||
}, | |||
// 任务选项 | |||
taskOption: 'FINISHED', | |||
}; | |||
}, | |||
created() { | |||
this.getUserInfo(); | |||
this.getList(); | |||
}, | |||
methods: { | |||
getUserInfo() { | |||
getInfo().then(response => { | |||
this.nickName = response.user.nickName; | |||
this.phone = response.user.phonenumber; | |||
}); | |||
}, | |||
getList(){ | |||
listSurveyTask().then(response => { | |||
this.surveyTask = response.data; | |||
}); | |||
}, | |||
goDetail(id){ | |||
this.$router.push({path:'/contracted/village/contractor'}) | |||
goDetail(item){ | |||
this.$router.push({path:'/contracted/village/contractor', query: { deptId: item.deptId, deptName: item.deptName }}) | |||
}, | |||
onSelect(action) { | |||
console.log(action) | |||
switch (action.value) { | |||
case 1: | |||
this.$router.push({path:'/contracted/user/passWord'}) | |||
break; | |||
} | |||
}, | |||
changeTaskOption(option) { | |||
this.taskOption = option; | |||
} | |||
}, | |||
}; | |||
</script> | |||
@@ -1,13 +1,13 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar title="B村" left-arrow fixed placeholder @click-left="$router.push({path:'/contracted/index'})" /> | |||
<van-nav-bar :title="$route.query.deptName" left-arrow fixed placeholder @click-left="$router.push({path:'/contracted/index'})" /> | |||
<div class="tap_block"> | |||
<p class="active">承包方</p> | |||
<p @click="$router.push({path:'/contracted/village/employer'})">发包方</p> | |||
<p @click="$router.push({path:'/contracted/village/massif'})">地块</p> | |||
<p @click="$router.push({path:'/contracted/village/map'})">地图</p> | |||
<p @click="$router.push({path:'/contracted/village/employer', query: { deptId: $route.query.deptId, deptName: $route.query.deptName }})">发包方</p> | |||
<p @click="$router.push({path:'/contracted/village/massif', query: { deptId: $route.query.deptId, deptName: $route.query.deptName }})">地块</p> | |||
<p @click="$router.push({path:'/contracted/village/map', query: { deptId: $route.query.deptId, deptName: $route.query.deptName }})">地图</p> | |||
</div> | |||
<div class="search_main"> | |||
@@ -20,34 +20,44 @@ | |||
@search="onSearch" | |||
></van-search> | |||
<div class="search_btn"> | |||
<div class="search_btn" @click="addContractor"> | |||
<p class="active"> + 新增</p> | |||
</div> | |||
</div> | |||
<div class="second_tap"> | |||
<p class="active">待调查 1553</p> | |||
<!-- <p class="active">待调查 1553</p> | |||
<p>挂起 527</p> | |||
<p>已完成 321</p> | |||
<p>已完成 321</p> --> | |||
<p v-for="dict in surveyStatusOptions" :key="dict.dictValue" :class="{active: surveyStatus === dict.dictValue}" @click="surveyStatusChange(dict.dictValue, dict.dictLabel)">{{dict.dictLabel}}</p> | |||
</div> | |||
<p class="page_tab">{{ tagName }} <span>{{ totalNum }} 户</span></p> | |||
<div class="list_main"> | |||
<van-row style="color: #888888;font-size: 14px;"> | |||
<van-col span="5">姓名</van-col> | |||
<van-col span="14">证件号</van-col> | |||
<van-col span="5">成员数</van-col> | |||
</van-row> | |||
<van-swipe-cell v-for="(item,index) in 50"> | |||
<van-row @click="goDetail"> | |||
<van-col span="5">张三</van-col> | |||
<van-col span="14">230381199770511239</van-col> | |||
<van-col span="5" style="color: #f78200">7</van-col> | |||
</van-row> | |||
<template #right> | |||
<van-button square type="danger" text="删除" /> | |||
</template> | |||
</van-swipe-cell> | |||
<van-list | |||
v-model="loading" | |||
:finished="finished" | |||
finished-text="没有更多了" | |||
:immediate-check="false" | |||
@load="getList" | |||
> | |||
<van-swipe-cell v-for="(item,index) in cbfList" :key="item.id"> | |||
<van-row @click="goDetail(item)"> | |||
<van-col span="5">{{ item.cbfmc }}</van-col> | |||
<van-col span="14">{{ item.cbfzjhm }}</van-col> | |||
<van-col span="5" style="color: #f78200">{{ item.cbfcysl }}</van-col> | |||
</van-row> | |||
<template #right> | |||
<van-button square type="danger" text="删除" /> | |||
</template> | |||
</van-swipe-cell> | |||
</van-list> | |||
</div> | |||
@@ -55,26 +65,85 @@ | |||
</template> | |||
<script> | |||
import Cookies from "js-cookie"; | |||
import { listCbf } from "@/api/contracted"; | |||
export default { | |||
name: "contractedVillageContractor", | |||
data() { | |||
return { | |||
loading:false, | |||
finished:true, | |||
value:'' | |||
finished:false, | |||
value:'', | |||
// 确权调查状态字典 | |||
surveyStatusOptions: [], | |||
// 调查状态 | |||
surveyStatus: null, | |||
// 查询参数 | |||
queryParams: { | |||
deptId: null, | |||
cbfmc: null, | |||
surveyStatus: null, | |||
pageNum:1, | |||
pageSize:20, | |||
}, | |||
// 承包方列表 | |||
cbfList: [], | |||
// 当前选中的调查状态 | |||
tagName: null, | |||
// 当前调查状态下的承包方总数 | |||
totalNum: 0, | |||
}; | |||
}, | |||
created() { | |||
this.queryParams.deptId = this.$route.query.deptId; | |||
this.getDicts("confirmed_survey_status").then(response => { | |||
this.surveyStatusOptions = response.data; | |||
if (this.surveyStatusOptions.length > 0) { | |||
this.surveyStatus = this.surveyStatusOptions[0].dictValue; | |||
this.queryParams.surveyStatus = this.surveyStatusOptions[0].dictValue; | |||
this.tagName = this.surveyStatusOptions[0].dictLabel; | |||
} | |||
this.getList(); | |||
}); | |||
}, | |||
methods: { | |||
getList(){ | |||
this.loading = true; | |||
listCbf(this.queryParams).then(response => { | |||
response.rows.forEach(item => { | |||
this.cbfList.push(item); | |||
}); | |||
this.totalNum = response.total; | |||
if (this.cbfList.length >= response.total) { | |||
this.finished = true; | |||
return; | |||
} else { | |||
this.loading = false; | |||
this.queryParams.pageNum += 1; | |||
} | |||
}); | |||
}, | |||
onSearch(){ | |||
this.queryParams.cbfmc = this.value; | |||
this.queryData(); | |||
}, | |||
surveyStatusChange(dictValue, dictLabel) { | |||
this.surveyStatus = dictValue; | |||
this.queryParams.surveyStatus = dictValue; | |||
this.tagName = dictLabel; | |||
this.totalNum = 0; | |||
this.queryData(); | |||
}, | |||
queryData() { | |||
this.queryParams.pageNum = 1; | |||
this.finished = false; | |||
this.cbfList = []; | |||
this.getList(); | |||
}, | |||
goDetail(item){ | |||
this.$router.push({path:'/contracted/village/contractorDetail'}); | |||
}, | |||
goDetail(){ | |||
addContractor() { | |||
this.$router.push({path:'/contracted/village/contractorDetail'}); | |||
} | |||
}, | |||
@@ -172,7 +241,7 @@ | |||
} | |||
.list_main{ | |||
margin-top: 2vh; | |||
margin-top: 4vh; | |||
overflow-y: scroll; | |||
text-align: center; | |||
background: #ffffff; | |||
@@ -185,4 +254,18 @@ | |||
} | |||
} | |||
.page_tab{ | |||
position: absolute; | |||
background: rgba(255,255,255,.5); | |||
padding: 3PX 10PX 15PX; | |||
color: #828282; | |||
right: 4vw; | |||
border-top-left-radius: 10PX; | |||
border-top-right-radius: 10PX; | |||
margin-top: 1.5vh; | |||
span{ | |||
color: #f78200; | |||
} | |||
} | |||
</style> |
@@ -4,16 +4,16 @@ | |||
<van-nav-bar left-arrow fixed placeholder @click-left="$router.push({path:'/contracted/index'})" > | |||
<template #title> | |||
<div class="tb_main"> | |||
B村 | |||
{{ $route.query.deptName }} | |||
</div> | |||
</template> | |||
</van-nav-bar> | |||
<div class="tap_block"> | |||
<p @click="$router.push({path:'/contracted/village/contractor'})">承包方</p> | |||
<p @click="$router.push({path:'/contracted/village/contractor', query: { deptId: $route.query.deptId, deptName: $route.query.deptName }})">承包方</p> | |||
<p class="active">发包方</p> | |||
<p @click="$router.push({path:'/contracted/village/massif'})">地块</p> | |||
<p @click="$router.push({path:'/contracted/village/map'})">地图</p> | |||
<p @click="$router.push({path:'/contracted/village/massif', query: { deptId: $route.query.deptId, deptName: $route.query.deptName }})">地块</p> | |||
<p @click="$router.push({path:'/contracted/village/map', query: { deptId: $route.query.deptId, deptName: $route.query.deptName }})">地图</p> | |||
</div> | |||
<div class="list_main"> | |||
@@ -1,13 +1,13 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar title="B村" left-arrow fixed placeholder @click-left="$router.push({path:'/contracted/index'})" /> | |||
<van-nav-bar :title="$route.query.deptName" left-arrow fixed placeholder @click-left="$router.push({path:'/contracted/index'})" /> | |||
<div class="head"> | |||
<div class="tap_block"> | |||
<p @click="$router.push({path:'/contracted/village/contractor'})">承包方</p> | |||
<p @click="$router.push({path:'/contracted/village/employer'})">发包方</p> | |||
<p @click="$router.push({path:'/contracted/village/massif'})">地块</p> | |||
<p @click="$router.push({path:'/contracted/village/contractor', query: { deptId: $route.query.deptId, deptName: $route.query.deptName }})">承包方</p> | |||
<p @click="$router.push({path:'/contracted/village/employer', query: { deptId: $route.query.deptId, deptName: $route.query.deptName }})">发包方</p> | |||
<p @click="$router.push({path:'/contracted/village/massif', query: { deptId: $route.query.deptId, deptName: $route.query.deptName }})">地块</p> | |||
<p class="active">地图</p> | |||
</div> | |||
</div> | |||
@@ -1,13 +1,13 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar title="B村" left-arrow fixed placeholder @click-left="$router.push({path:'/contracted/index'})" /> | |||
<van-nav-bar :title="$route.query.deptName" left-arrow fixed placeholder @click-left="$router.push({path:'/contracted/index'})" /> | |||
<div class="tap_block"> | |||
<p @click="$router.push({path:'/contracted/village/contractor'})">承包方</p> | |||
<p @click="$router.push({path:'/contracted/village/employer'})">发包方</p> | |||
<p @click="$router.push({path:'/contracted/village/contractor', query: { deptId: $route.query.deptId, deptName: $route.query.deptName }})">承包方</p> | |||
<p @click="$router.push({path:'/contracted/village/employer', query: { deptId: $route.query.deptId, deptName: $route.query.deptName }})">发包方</p> | |||
<p class="active">地块</p> | |||
<p @click="$router.push({path:'/contracted/village/map'})">地图</p> | |||
<p @click="$router.push({path:'/contracted/village/map', query: { deptId: $route.query.deptId, deptName: $route.query.deptName }})">地图</p> | |||
</div> | |||
<div class="search_main"> | |||
@@ -77,7 +77,7 @@ | |||
}, | |||
goDetail(){ | |||
this.$router.push({path:'/contracted/village/massifDetail'}); | |||
this.$router.push({path:'/contracted/village/massifDetail', query: { deptId: this.$route.query.deptId, deptName: this.$route.query.deptName }}); | |||
} | |||
}, | |||
}; | |||
@@ -4,16 +4,16 @@ | |||
<van-nav-bar left-arrow fixed placeholder @click-left="onClickLeft" > | |||
<template #title> | |||
<div class="tb_main"> | |||
B村<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p> | |||
{{$route.query.deptName}} | |||
</div> | |||
</template> | |||
</van-nav-bar> | |||
<div class="tap_block"> | |||
<p @click="$router.push({path:'/contracted/village/contractor'})">承包方</p> | |||
<p @click="$router.push({path:'/contracted/village/employer'})">发包方</p> | |||
<p @click="$router.push({path:'/contracted/village/contractor', query: { deptId: $route.query.deptId, deptName: $route.query.deptName }})">承包方</p> | |||
<p @click="$router.push({path:'/contracted/village/employer', query: { deptId: $route.query.deptId, deptName: $route.query.deptName }})">发包方</p> | |||
<p class="active">地块</p> | |||
<p @click="$router.push({path:'/contracted/village/map'})">地图</p> | |||
<p @click="$router.push({path:'/contracted/village/map', query: { deptId: $route.query.deptId, deptName: $route.query.deptName }})">地图</p> | |||
</div> | |||
<div class="list_main"> | |||
@@ -134,12 +134,12 @@ | |||
</template> | |||
</van-field> | |||
<van-field v-model="value" label="实测面积(亩):" placeholder="请输入实测面积(亩)" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="指界:" placeholder="请输入指界" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="指界人:" placeholder="请输入指界人" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="东面:" placeholder="请输入东面" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="西面:" placeholder="请输入西面" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="南面:" placeholder="请输入南面" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="北面:" placeholder="请输入北面" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="备注:" placeholder="请输入备注" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="备注:" placeholder="请输入备注" :border="false" input-align="right" label-width="auto" /> | |||
<div class="mapBox"></div> | |||