2024-01-26 09:02:58 +08:00
|
|
|
<!-- 工作统计 -->
|
|
|
|
|
<template>
|
|
|
|
|
<div>
|
|
|
|
|
<div class="h-layout space-between h-center">
|
|
|
|
|
<div>
|
2024-03-18 17:34:11 +08:00
|
|
|
<div class="h-layout h-center">
|
2024-01-26 09:02:58 +08:00
|
|
|
<div class="tool-item" @click="getList">
|
|
|
|
|
<svg-icon name="refurbish" class="icon" />
|
|
|
|
|
<span>刷新</span>
|
|
|
|
|
</div>
|
2024-03-18 17:34:11 +08:00
|
|
|
<div class="label-select filter-tab">
|
|
|
|
|
<label>工作类型</label>
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="search.wkTypeId"
|
|
|
|
|
@change="getList"
|
|
|
|
|
clearable
|
|
|
|
|
placeholder="请选择"
|
|
|
|
|
>
|
|
|
|
|
<el-option v-for="(item,index) in tabs" :key="index" :label="item.typeName" :value="item.typeId"></el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="label-select filter-tab">
|
|
|
|
|
<label>地区选择</label>
|
|
|
|
|
<el-cascader
|
|
|
|
|
ref="cascader"
|
|
|
|
|
v-model="search.orgCode"
|
|
|
|
|
@change="getList"
|
|
|
|
|
placeholder="请选择地区"
|
|
|
|
|
:options="orgList"
|
|
|
|
|
:props="{
|
|
|
|
|
checkStrictly: true,
|
|
|
|
|
label: 'orgname',
|
|
|
|
|
value: 'orgcode',
|
|
|
|
|
}"
|
|
|
|
|
clearable
|
|
|
|
|
></el-cascader>
|
|
|
|
|
</div>
|
2024-01-26 09:02:58 +08:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<el-table
|
|
|
|
|
ref="loading"
|
|
|
|
|
class="table"
|
|
|
|
|
v-loading="tableDataloading"
|
|
|
|
|
:data="tableData"
|
|
|
|
|
header-row-class-name="el-one-header"
|
|
|
|
|
border
|
|
|
|
|
>
|
|
|
|
|
<el-table-column
|
2024-03-18 17:34:11 +08:00
|
|
|
prop="orgName"
|
2024-01-26 09:02:58 +08:00
|
|
|
align="center"
|
|
|
|
|
:resizable="true"
|
|
|
|
|
label="村名"
|
|
|
|
|
>
|
2024-03-18 17:34:11 +08:00
|
|
|
<template #default="scope">
|
|
|
|
|
<span>{{scope.row.orgName?scope.row.orgName:'--'}}</span>
|
|
|
|
|
</template>
|
2024-01-26 09:02:58 +08:00
|
|
|
</el-table-column>
|
2024-03-18 17:34:11 +08:00
|
|
|
<el-table-column prop="ongoing" align="center" label="进行中"></el-table-column>
|
|
|
|
|
<el-table-column prop="completed" align="center" label="已完成"></el-table-column>
|
2024-01-26 09:02:58 +08:00
|
|
|
</el-table>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script lang='ts' setup>
|
|
|
|
|
import { onMounted, reactive, ref } from "vue";
|
|
|
|
|
import { ElMessageBox } from "element-plus";
|
2024-03-18 17:34:11 +08:00
|
|
|
import { wkTypes } from "@/api/Work";
|
|
|
|
|
import { workStatistic } from "@/api/statistic";
|
|
|
|
|
|
|
|
|
|
import { areaTree } from "@/api/account";
|
|
|
|
|
import useUserStore from "@/store/modules/user";
|
|
|
|
|
const userStore = useUserStore();
|
|
|
|
|
const user = ref(JSON.parse(userStore.userInfo));
|
|
|
|
|
const userId = ref(user.value.userId);
|
2024-01-26 09:02:58 +08:00
|
|
|
|
2024-03-18 17:34:11 +08:00
|
|
|
const search = ref({wkTypeId: "",orgCode: "",});
|
|
|
|
|
const tableData = ref([]);
|
|
|
|
|
|
|
|
|
|
//工作类型
|
|
|
|
|
const tabs = ref([]);
|
|
|
|
|
const getWkTypes = ()=>{
|
|
|
|
|
let params = {
|
|
|
|
|
classify:1
|
|
|
|
|
}
|
|
|
|
|
wkTypes(params).then((res: any) => {
|
|
|
|
|
tabs.value = res.data;
|
|
|
|
|
search.value.wkTypeId = res.data[0].typeId
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
//获取工作统计
|
|
|
|
|
const tableDataloading = ref(false);
|
|
|
|
|
const getWorkStatistic = () => {
|
|
|
|
|
tableDataloading.value = true;
|
|
|
|
|
let params = {
|
|
|
|
|
orgCode:search.value.orgCode?search.value.orgCode[search.value.orgCode.length-1]:'',
|
|
|
|
|
wkTypeId:search.value.wkTypeId?search.value.wkTypeId:'',
|
|
|
|
|
};
|
|
|
|
|
workStatistic(params).then((res: any) => {
|
|
|
|
|
console.log(res,'res====>');
|
|
|
|
|
tableData.value = res.data;
|
|
|
|
|
tableDataloading.value = false;
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
const getList = ()=>{
|
|
|
|
|
getWorkStatistic();
|
|
|
|
|
}
|
|
|
|
|
//获取地区
|
|
|
|
|
const orgList = ref([]);
|
|
|
|
|
const getareaTree = () => {
|
|
|
|
|
areaTree(userId.value).then((res: any) => {
|
|
|
|
|
orgList.value = res.data;
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
onMounted(() => {
|
|
|
|
|
getWkTypes();
|
|
|
|
|
getareaTree();
|
|
|
|
|
getList();
|
|
|
|
|
});
|
2024-01-26 09:02:58 +08:00
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
.table {
|
2024-02-06 10:46:11 +08:00
|
|
|
margin-top: 16px;
|
2024-01-26 09:02:58 +08:00
|
|
|
}
|
|
|
|
|
</style>
|