Преглед на файлове

确权调查接口对接

rongxin_prod
QI_YUJIE преди 1 година
родител
ревизия
d3d7e4474b
променени са 7 файла, в които са добавени 187 реда и са изтрити 69 реда
  1. +19
    -0
      src/api/contracted/index.js
  2. +42
    -26
      src/views/contracted/index.vue
  3. +107
    -24
      src/views/contracted/village/contractor/contractor.vue
  4. +4
    -4
      src/views/contracted/village/employer/employer.vue
  5. +4
    -4
      src/views/contracted/village/map/map.vue
  6. +5
    -5
      src/views/contracted/village/massif/massif.vue
  7. +6
    -6
      src/views/contracted/village/massif/massifDetail.vue

+ 19
- 0
src/api/contracted/index.js Целия файл

@@ -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
});
}

+ 42
- 26
src/views/contracted/index.vue Целия файл

@@ -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>


+ 107
- 24
src/views/contracted/village/contractor/contractor.vue Целия файл

@@ -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
- 4
src/views/contracted/village/employer/employer.vue Целия файл

@@ -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">


+ 4
- 4
src/views/contracted/village/map/map.vue Целия файл

@@ -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>


+ 5
- 5
src/views/contracted/village/massif/massif.vue Целия файл

@@ -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 }});
}
},
};


+ 6
- 6
src/views/contracted/village/massif/massifDetail.vue Целия файл

@@ -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>



Зареждане…
Отказ
Запис