2024.7.11

This commit is contained in:
du 2024-07-11 10:46:27 +08:00
parent f82b8afc3c
commit 46324a4522
9 changed files with 1510 additions and 1359 deletions

File diff suppressed because it is too large Load Diff

View File

@ -81,7 +81,7 @@ export function wkAllFinishStats(params) {
*/ */
export function receiveWork(params) { export function receiveWork(params) {
return request({ return request({
url: `/admin/work/receiveWork`, url: `/admin/work/workAssess`,
method: "GET", method: "GET",
params params
}); });

View File

@ -169,6 +169,7 @@
display: flex; display: flex;
align-items: center; align-items: center;
height: 30px; height: 30px;
width: 250px;
label { label {
background: #f9f9f9; background: #f9f9f9;
border: 1px solid #e6e6e6; border: 1px solid #e6e6e6;

View File

@ -64,7 +64,7 @@ export default {
meta: { meta: {
icon: 'point', icon: 'point',
auth: "domicile.poverty", auth: "domicile.poverty",
title: '户管理', title: '贫户管理',
breadcrumb: true, //是否显示面包屑 breadcrumb: true, //是否显示面包屑
} }
}, },

View File

@ -41,6 +41,22 @@
></el-option> ></el-option>
</el-select> </el-select>
</div> </div>
<div class="label-select filter-tab">
<label>人员类型</label>
<el-select
@change="getList"
placeholder="请选择人员类型"
v-model="search.typeId"
clearable
>
<el-option
v-for="(item, index) in crTypeListOptions"
:key="index"
:label="item.typeName"
:value="item.typeId"
></el-option>
</el-select>
</div>
</div> </div>
</div> </div>
<div style="width: 30%;"> <div style="width: 30%;">
@ -95,7 +111,7 @@
width="80" width="80"
> >
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.sex == 1? '男':'女'}}</span> <span>{{ scope.row.sex == 1 ? "男" : "女" }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -152,7 +168,7 @@
:resizable="true" :resizable="true"
align="center" align="center"
label="操作" label="操作"
width="300" width="400"
> >
<template #default="scope"> <template #default="scope">
<span <span
@ -169,19 +185,24 @@
</span> </span>
<span <span
class="operate" class="operate"
@click="(detailDialogVisible = true), (form = scope.row), (readonly = true)" @click="
(detailDialogVisible = true),
(form = scope.row),
(readonly = true)
"
> >
<svg-icon name="detail" class="icon"></svg-icon> <svg-icon name="detail" class="icon"></svg-icon>
<span class="detail">详情</span> <span class="detail">详情</span>
</span> </span>
<span <span class="operate" @click="toDetail(scope.row.domicileId)">
class="operate"
@click="toDetail(scope.row.domicileId)"
>
<svg-icon name="detail" class="icon"></svg-icon> <svg-icon name="detail" class="icon"></svg-icon>
<span class="detail">查看户籍</span> <span class="detail">查看户籍</span>
</span> </span>
<span class="operate" v-if="scope.row.domicileState == 1" @click="del(scope.row.peopleId)"> <span
class="operate"
v-if="scope.row.domicileState == 1"
@click="del(scope.row.peopleId)"
>
<svg-icon name="delete" class="icon"></svg-icon> <svg-icon name="delete" class="icon"></svg-icon>
<span class="func">删除</span> <span class="func">删除</span>
</span> </span>
@ -216,7 +237,7 @@ import { ElMessage, ElMessageBox } from "element-plus";
import { onMounted, reactive, ref } from "vue"; import { onMounted, reactive, ref } from "vue";
import DetailAddPersonnel from "./dialog/detail-addPersonnel.vue"; import DetailAddPersonnel from "./dialog/detail-addPersonnel.vue";
import { areaTree } from "@/api/account"; import { areaTree } from "@/api/account";
import { peoplePage, peopleDel, crRelationList } from "@/api/base"; import { peoplePage, peopleDel, crRelationList, crTypeList } from "@/api/base";
import useUserStore from "@/store/modules/user"; import useUserStore from "@/store/modules/user";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
const router = useRouter(); const router = useRouter();
@ -236,6 +257,7 @@ const search = ref({
condition: "", condition: "",
areaCode: "", areaCode: "",
relationId: "", relationId: "",
typeId:""
}); });
const currentPage = ref(1); const currentPage = ref(1);
const pageSize = ref(10); const pageSize = ref(10);
@ -252,7 +274,8 @@ const getList = () => {
userId: userId.value, userId: userId.value,
areaCode: "", areaCode: "",
typeName: "permanent", typeName: "permanent",
relationId:search.value.relationId relationId: search.value.relationId,
typeId:search.value.typeId
}; };
if (search.value.areaCode) { if (search.value.areaCode) {
params.areaCode = search.value.areaCode[search.value.areaCode.length - 1]; params.areaCode = search.value.areaCode[search.value.areaCode.length - 1];
@ -308,6 +331,16 @@ const getCrRelationList = () => {
crRelationOptions.value = res.data; crRelationOptions.value = res.data;
}); });
}; };
const crTypeListOptions = ref([]);
const getcrTypeList = () => {
crTypeList({}).then((res: any) => {
crTypeListOptions.value = res.data;
console.log(crTypeListOptions.value,'crTypeListOptions');
});
};
// //
const toDetail = (id) => { const toDetail = (id) => {
router.push({ router.push({
@ -319,6 +352,7 @@ onMounted(() => {
getareaTree(); getareaTree();
getList(); getList();
getCrRelationList(); getCrRelationList();
getcrTypeList();
}); });
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

View File

@ -307,7 +307,7 @@ const getList = () => {
marriageState: search.value.marriageState, marriageState: search.value.marriageState,
sex: search.value.sex, sex: search.value.sex,
areaCode: "", areaCode: "",
isPoor: 1, poorState:1,
}; };
if (search.value.areaCode) { if (search.value.areaCode) {
params.areaCode = search.value.areaCode[search.value.areaCode.length - 1]; params.areaCode = search.value.areaCode[search.value.areaCode.length - 1];

View File

@ -54,19 +54,6 @@
<el-option label="注销" :value="2">注销</el-option> <el-option label="注销" :value="2">注销</el-option>
</el-select> </el-select>
</div> </div>
<div class="label-select filter-tab">
<label>婚姻状态</label>
<el-select
placeholder="请选择"
v-model="search.marriageState"
clearable
@change="getList"
>
<el-option label="已婚" :value="1">已婚</el-option>
<el-option label="未婚" :value="2">未婚</el-option>
<el-option label="离婚" :value="3">离婚</el-option>
</el-select>
</div>
<div class="label-select filter-tab"> <div class="label-select filter-tab">
<label>性别</label> <label>性别</label>
<el-select <el-select

View File

@ -35,6 +35,9 @@
</div> </div>
</div> </div>
<div class="con">{{ item.title }}</div> <div class="con">{{ item.title }}</div>
<div>
<img class="log_img" @click="openImg(item.filePath)" :src="baseUrl+item.filePath" alt="" srcset="">
</div>
</div> </div>
</template> </template>
<template v-else><span> <template v-else><span>
@ -122,7 +125,7 @@
prop="title" prop="title"
:resizable="true" :resizable="true"
align="center" align="center"
label="内容" label="标题"
> >
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -505,6 +508,7 @@ const userStore = useUserStore();
const user = ref(JSON.parse(userStore.userInfo)); const user = ref(JSON.parse(userStore.userInfo));
const userId = ref(user.value.userId); const userId = ref(user.value.userId);
const search = ref({}); const search = ref({});
const baseUrl = ref(import.meta.env.VITE_UPLOAD_URL);
// //
const tableDataloading = ref(false); const tableDataloading = ref(false);
const tableData = ref([{}, {}, {}]); const tableData = ref([{}, {}, {}]);
@ -576,6 +580,8 @@ const getWkDynamicsToday = () => {
wkDynamicsToday(params).then((res: any) => { wkDynamicsToday(params).then((res: any) => {
workDynamics.value = res.data; workDynamics.value = res.data;
workDynamicslength.value = res.data.length; workDynamicslength.value = res.data.length;
console.log(workDynamics.value,'workDynamics.value===>');
}); });
}; };
// //
@ -667,6 +673,9 @@ const getWkInfoReceive = () => {
getWkInfoFinishStatistic(); getWkInfoFinishStatistic();
}); });
}; };
const openImg = (data)=>{
window.open(baseUrl.value + data)
}
// //
const clickRadio = () => { const clickRadio = () => {
tabs.value.forEach((item) => { tabs.value.forEach((item) => {
@ -917,7 +926,6 @@ onMounted(() => {
margin-top: 20px; margin-top: 20px;
> div { > div {
width: 100%; width: 100%;
height: 66px;
background-color: #f2f8ff; background-color: #f2f8ff;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -1160,4 +1168,8 @@ onMounted(() => {
.pagination { .pagination {
margin-top: 1px; margin-top: 1px;
} }
.log_img {
width: 80px;
height: 50px;
}
</style> </style>

View File

@ -73,10 +73,26 @@
value-format="YYYY-MM-DD" @change="getList" /> value-format="YYYY-MM-DD" @change="getList" />
</div> </div>
<div class="label-select filter-tab"> <div class="label-select filter-tab">
<label>j结束时间</label> <label>结束时间</label>
<el-date-picker v-model="search.endTime" type="date" placeholder="选择结束时间" format="YYYY/MM/DD" <el-date-picker v-model="search.endTime" type="date" placeholder="选择结束时间" format="YYYY/MM/DD"
value-format="YYYY-MM-DD" @change="getList" /> value-format="YYYY-MM-DD" @change="getList" />
</div> </div>
<div class="label-select filter-tab">
<label>地区</label>
<el-cascader
@change="getList"
ref="cascader"
v-model="search.areaCode"
placeholder="请选择地区"
:options="orgList"
:props="{
checkStrictly: true,
label: 'orgname',
value: 'orgcode',
}"
clearable
></el-cascader>
</div>
</div> </div>
</div> </div>
<!-- 表格 --> <!-- 表格 -->
@ -180,6 +196,7 @@
<script lang='ts' setup> <script lang='ts' setup>
import { onMounted, reactive, ref } from "vue"; import { onMounted, reactive, ref } from "vue";
import { receiveWork, wkAllFinishStats } from "@/api/demands"; import { receiveWork, wkAllFinishStats } from "@/api/demands";
import { areaTree } from "@/api/account";
import { exportFileRequest } from "@/api/export"; import { exportFileRequest } from "@/api/export";
import Add from "./add.vue"; import Add from "./add.vue";
import { useRouter } from "vue-router"; import { useRouter } from "vue-router";
@ -195,6 +212,7 @@ const search = ref({
state:1, state:1,
startTime:"", startTime:"",
endTime:'', endTime:'',
areaCode: "",
}); });
const currentPage = ref(1); const currentPage = ref(1);
const pageSize = ref(10); const pageSize = ref(10);
@ -232,7 +250,11 @@ const getList = () => {
state:search.value.state, state:search.value.state,
startTime: search.value.startTime, startTime: search.value.startTime,
endTime: search.value.endTime, endTime: search.value.endTime,
areaCode:'',
}; };
if (search.value.areaCode) {
params.areaCode = search.value.areaCode[search.value.areaCode.length - 1];
}
receiveWork(params).then((res: any) => { receiveWork(params).then((res: any) => {
tableData.value = res.data.list; tableData.value = res.data.list;
total.value = res.data.total; total.value = res.data.total;
@ -269,6 +291,13 @@ const getWkTypes = ()=>{
getList(); getList();
}); });
} }
//
const orgList = ref([]);
const getareaTree = () => {
areaTree(userId.value).then((res: any) => {
orgList.value = res.data;
});
};
// //
const determineEme = (value)=>{ const determineEme = (value)=>{
for (let index = 0; index < tabs.value.length; index++) { for (let index = 0; index < tabs.value.length; index++) {
@ -293,6 +322,7 @@ onMounted(() => {
getWkTypes(); getWkTypes();
getWkAllFinishStats(); getWkAllFinishStats();
getareaTree();
}); });
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>