fix:系统调整
This commit is contained in:
parent
64a9c62dab
commit
53081c5ccf
|
|
@ -15,6 +15,8 @@ VITE_SCREEN = /prod-api
|
|||
# 访问服务器文件地址
|
||||
VITE_UPLOAD_IMG_URL = /dev-img-api
|
||||
# Cross-domain proxy, you can configure multiple
|
||||
VITE_PROXY = [ ["/prod-api", "http://192.168.110.10:8017" ],["/dev-img-api", "http://42.193.40.239:8017" ] ]
|
||||
# VITE_PROXY = [ ["/prod-api", "http://42.193.40.239:6111" ],["/dev-img-api", "http://42.193.40.239:8017" ] ]
|
||||
VITE_PROXY = [ ["/prod-api", "http://192.168.2.179:8017" ],["/dev-img-api", "http://42.193.40.239:8017" ] ]
|
||||
# VITE_PROXY = [ ["/prod-api", "http://42.193.40.239:8017" ],["/dev-img-api", "http://42.193.40.239:8017" ] ]
|
||||
VITE_UPLOAD_URL = http://42.193.40.239:8888/
|
||||
# VITE_PROXY = [ ["/prod-api", "http://42.193.40.239:8017" ] ]
|
||||
|
|
|
|||
|
|
@ -37,3 +37,14 @@ export function areaTree() {
|
|||
method: "GET",
|
||||
});
|
||||
}
|
||||
/**
|
||||
*文件查询
|
||||
*/
|
||||
export function getFile(otcid: string, otctype: string) {
|
||||
|
||||
return request({
|
||||
url: `/common/upload/getFile`,
|
||||
method: "GET",
|
||||
params: { otcid, otctype }
|
||||
});
|
||||
}
|
||||
|
|
@ -22,8 +22,9 @@ export function wkTypes(params) {
|
|||
//工作动态分类型开展情况-前五条
|
||||
export function workProgress(params) {
|
||||
return request({
|
||||
url: `/screen/index/workProgress/${params.typeId}`,
|
||||
url: `/screen/index/workProgress`,
|
||||
method: "GET",
|
||||
params: params
|
||||
});
|
||||
}
|
||||
/**
|
||||
|
|
|
|||
BIN
src/assets/images/null.png
Normal file
BIN
src/assets/images/null.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.6 KiB |
|
|
@ -426,7 +426,7 @@ const datatext4 = ref("xxxxxxx地址");
|
|||
*/
|
||||
const loadAreaChild = (attrTemp: any) => {
|
||||
graphicLayer.value.bindPopup((event: any) => {
|
||||
console.log(event.graphic, "event====>");
|
||||
console.log(event.graphic.objectsToExclude?.item, "event====>");
|
||||
let attr = event.graphic.attr || {};
|
||||
let title = "点位";
|
||||
let item = event.graphic.objectsToExclude?.item
|
||||
|
|
@ -471,8 +471,19 @@ const loadAreaChild = (attrTemp: any) => {
|
|||
break;
|
||||
case 5:
|
||||
title = "户籍信息";
|
||||
attr["上报标题:"] = item.name;
|
||||
attr["姓名:"] = item.name;
|
||||
attr["性别:"] = item.sex == 1 ? "男" : "女";
|
||||
attr["所属地区:"] = item.areaName;
|
||||
|
||||
attr["婚姻状态:"] = item.marriageState == 1 ? '已婚': item.marriageState == 2 ?'未婚' : item.marriageState == 3 ?'离婚' : item.marriageState == 4 ?'丧偶' : '单亲';
|
||||
attr["是否脱贫户:"] = item.poorState == 1 ? '是': '否';
|
||||
attr["出生日期:"] = item.birthday;
|
||||
attr["现居地址:"] = item.address;
|
||||
attr["跳转:"] = `<button
|
||||
onclick="
|
||||
window.open(\`https://dfxs.sczysoft.com/#/base/resident/resident-detail?id=${item.domicileId}\`, '_blank');
|
||||
"
|
||||
>详情</button>`;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@ export const useModelStore = defineStore("model", {
|
|||
model: true,
|
||||
layerType: {},//图层显示
|
||||
checkednum: [],//选中图层
|
||||
tanchuang: false,//弹窗
|
||||
tandetails: {},//弹窗详情
|
||||
}),
|
||||
|
||||
getters: {
|
||||
|
|
@ -18,6 +20,12 @@ export const useModelStore = defineStore("model", {
|
|||
getcheckednum(): any {
|
||||
return this.checkednum
|
||||
},
|
||||
gettanchuang(): boolean {
|
||||
return this.tanchuang
|
||||
},
|
||||
gettandetails(): object {
|
||||
return this.tandetails
|
||||
}
|
||||
},
|
||||
|
||||
actions: {
|
||||
|
|
@ -30,6 +38,12 @@ export const useModelStore = defineStore("model", {
|
|||
setcheckednum(value: any) {
|
||||
this.checkednum = value;
|
||||
},
|
||||
settanchuang(value: any) {
|
||||
this.tanchuang = value;
|
||||
},
|
||||
settandetails(value: any) {
|
||||
this.tandetails = value;
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
<el-table-column type="index" label="序号" align="center" width="60" />
|
||||
<el-table-column prop="areaName" label="值班地点" align="center">
|
||||
<template #default="scope">
|
||||
<span> {{ scope.row.areaName }}-{{ scope.row.postName }} </span>
|
||||
<span>{{ scope.row.postName }} </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="name" label="值班人员" align="center" />
|
||||
|
|
|
|||
|
|
@ -21,7 +21,8 @@
|
|||
<div :style="'background-color:' + item.color"></div>
|
||||
<div>{{ item.lable }}</div>
|
||||
<div></div>
|
||||
<div>{{ item.value }}</div>
|
||||
<div>{{ item.value }}(人)</div>
|
||||
<div>{{ item.houseNum }}(户)</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -72,6 +73,7 @@ const setData = () => {
|
|||
{
|
||||
value: populationList.value[index].value,
|
||||
name: populationList.value[index].lable,
|
||||
houseNum: populationList.value[index].houseNum,
|
||||
},
|
||||
{
|
||||
value: "0",
|
||||
|
|
@ -91,10 +93,12 @@ const getPersonnelTypeStatistic = () => {
|
|||
populationList.value.push({
|
||||
lable: item.typeName,
|
||||
value: item.typeNum,
|
||||
houseNum:item.houseNum,
|
||||
color: color(),
|
||||
});
|
||||
population.value += item.typeNum;
|
||||
// population.value += item.typeNum;
|
||||
});
|
||||
population.value = res.data[0].peopleNum
|
||||
setData();
|
||||
});
|
||||
};
|
||||
|
|
@ -184,7 +188,7 @@ onMounted(() => {
|
|||
display: flex;
|
||||
align-items: center;
|
||||
height: 27px;
|
||||
width: 45%;
|
||||
width: 100%;
|
||||
> div:nth-child(1) {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
|
|
@ -196,11 +200,12 @@ onMounted(() => {
|
|||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 400;
|
||||
color: #a4a6ab;
|
||||
flex: 1;
|
||||
// flex: 1;
|
||||
width: 130px;
|
||||
}
|
||||
> div:nth-child(3) {
|
||||
border-top: 1px #707070 dashed;
|
||||
width: 50px;
|
||||
width: 100px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
> div:nth-child(4) {
|
||||
|
|
@ -210,5 +215,14 @@ onMounted(() => {
|
|||
font-weight: 500;
|
||||
color: #ffc97a;
|
||||
}
|
||||
> div:nth-child(5) {
|
||||
width: 50px;
|
||||
margin-left: 10px;
|
||||
font-size: 14px;
|
||||
font-family: Source Han Sans CN, Source Han Sans CN;
|
||||
font-weight: 500;
|
||||
color: #ffc97a;
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -4,40 +4,25 @@
|
|||
<TitleC title="工作动态"></TitleC>
|
||||
<TitleD width="100">
|
||||
<div class="module_top_title_con">
|
||||
<div
|
||||
class="module_top_title"
|
||||
v-for="(item, index) in label"
|
||||
:key="index"
|
||||
@click="clickMenuOption(item.typeId)"
|
||||
:class="
|
||||
item.check == true
|
||||
<div class="module_top_title" v-for="(item, index) in label" :key="index" @click="clickMenuOption(item.typeId)"
|
||||
:class="item.check == true
|
||||
? 'module_menu_selected'
|
||||
: 'module_menu_notSelected'
|
||||
"
|
||||
>
|
||||
">
|
||||
{{ item.typeName }}
|
||||
</div>
|
||||
</div>
|
||||
</TitleD>
|
||||
<div class="_1">
|
||||
<div
|
||||
v-if="tableData.length != 0"
|
||||
class="block text-center"
|
||||
style="height: 300px"
|
||||
>
|
||||
<el-carousel height="156px" indicator-position="none">
|
||||
<el-carousel-item
|
||||
v-for="item in tableData"
|
||||
:key="item"
|
||||
style="height: 156px"
|
||||
>
|
||||
<img
|
||||
class="trends_img"
|
||||
:src="baseImgUrl + item.filePath"
|
||||
alt=""
|
||||
srcset=""
|
||||
/>
|
||||
<div class="trends_title">{{ item.title }}</div>
|
||||
<div v-if="tableData.length != 0" class="block text-center" style="height: 300px">
|
||||
<el-carousel height="206px" indicator-position="none">
|
||||
<el-carousel-item v-for="item in tableData" :key="item" style="height: 206px;cursor: pointer;" @click="details(item)">
|
||||
<img v-if="item.filePath" class="trends_img" :src="baseImgUrl + item.filePath" alt="" srcset="" />
|
||||
<img v-else class="trends_img" src="@/assets/images/null.png" alt="" />
|
||||
<div class="trends_title">
|
||||
<div style="font-size: 20px;">{{ item.title }}</div>
|
||||
<div>{{ item.detail }}</div>
|
||||
</div>
|
||||
</el-carousel-item>
|
||||
</el-carousel>
|
||||
</div>
|
||||
|
|
@ -46,12 +31,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<!-- 工作开展情况详情 -->
|
||||
<WorkSituationDetails
|
||||
:visible="dialogVisible"
|
||||
:form="form"
|
||||
:readonly="readonly"
|
||||
@close="onclone"
|
||||
/>
|
||||
<WorkSituationDetails :visible="dialogVisible" :form="form" :readonly="readonly" @close="onclone" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -70,6 +50,8 @@ export default defineComponent({
|
|||
</script>
|
||||
<script setup lang='ts'>
|
||||
import { wkTypes, workProgress } from "@/api/homePage";
|
||||
import { useModelStore } from "@/store";
|
||||
const store = useModelStore();
|
||||
//文件显示
|
||||
const baseImgUrl = ref(import.meta.env.VITE_UPLOAD_URL);
|
||||
const visible = ref(false);
|
||||
|
|
@ -100,6 +82,7 @@ const getWkTypes = () => {
|
|||
};
|
||||
wkTypes(params).then((res: any) => {
|
||||
label.value = res.data;
|
||||
label.value.unshift({ typeName:'近期工作',typeId:''});
|
||||
label.value.forEach((item) => {
|
||||
item.check = false;
|
||||
});
|
||||
|
|
@ -129,6 +112,11 @@ const onclone = () => {
|
|||
dialogVisible.value = false;
|
||||
form.value = {};
|
||||
};
|
||||
const details = (item:any) => {
|
||||
// dialogVisible.value = true;
|
||||
// form.value = item;
|
||||
store.settandetails(item);
|
||||
}
|
||||
|
||||
onMounted(() => { });
|
||||
onBeforeMount(() => {
|
||||
|
|
@ -140,23 +128,27 @@ onBeforeMount(() => {
|
|||
.side-bg {
|
||||
// height: 45%;
|
||||
}
|
||||
|
||||
.work_title {
|
||||
font-size: 16px;
|
||||
font-family: Source Han Sans SC, Source Han Sans SC;
|
||||
font-weight: 400;
|
||||
color: #ffe7cd;
|
||||
}
|
||||
|
||||
.work_con {
|
||||
width: 100%;
|
||||
height: 244px;
|
||||
padding: 12px 8px;
|
||||
overflow-y: scroll;
|
||||
|
||||
.tabsOne {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
height: 68px;
|
||||
padding: 10px 13px;
|
||||
|
||||
>div:nth-of-type(1) {
|
||||
width: 24px;
|
||||
height: 16px;
|
||||
|
|
@ -170,6 +162,7 @@ onBeforeMount(() => {
|
|||
font-weight: 400;
|
||||
color: #ff7734;
|
||||
}
|
||||
|
||||
>div:nth-child(2) {
|
||||
width: 100px;
|
||||
height: 100%;
|
||||
|
|
@ -179,10 +172,12 @@ onBeforeMount(() => {
|
|||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
>div {
|
||||
color: #ffe7cd;
|
||||
}
|
||||
}
|
||||
|
||||
>div:nth-of-type(3) {
|
||||
width: 408px;
|
||||
height: 48px;
|
||||
|
|
@ -200,12 +195,14 @@ onBeforeMount(() => {
|
|||
-webkit-box-orient: vertical;
|
||||
}
|
||||
}
|
||||
.tabsTwo {
|
||||
}
|
||||
|
||||
.tabsTwo {}
|
||||
}
|
||||
|
||||
.work_con::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
//下滑加载
|
||||
.infinite-list {
|
||||
height: 300px;
|
||||
|
|
@ -213,6 +210,7 @@ onBeforeMount(() => {
|
|||
margin: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.infinite-list .infinite-list-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
|
@ -222,32 +220,40 @@ onBeforeMount(() => {
|
|||
margin: 10px;
|
||||
color: var(--el-color-primary);
|
||||
}
|
||||
|
||||
.infinite-list .infinite-list-item+.list-item {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.infinite-list::-webkit-scrollbar {
|
||||
/*隐藏滚轮*/
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.module_top_title_con {
|
||||
overflow: hidden;
|
||||
max-height: 70px;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.module_top_title_con::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
::v-deep .el-input__inner {
|
||||
color: white !important;
|
||||
}
|
||||
|
||||
.body_body {
|
||||
background-color: rgba(0, 61, 123, 0.353) !important;
|
||||
border-radius: 0 0 10px 10px;
|
||||
}
|
||||
|
||||
._1 {
|
||||
padding: 20px;
|
||||
height: 200px;
|
||||
height: 250px;
|
||||
}
|
||||
|
||||
.carousel-item {
|
||||
color: #475669;
|
||||
opacity: 0.75;
|
||||
|
|
@ -269,9 +275,10 @@ onBeforeMount(() => {
|
|||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.trends_title {
|
||||
width: 100%;
|
||||
height: 32px;
|
||||
height: 64px;
|
||||
background: #000000a2;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
position: absolute;
|
||||
|
|
@ -283,9 +290,11 @@ onBeforeMount(() => {
|
|||
color: #d0deee;
|
||||
line-height: 32px;
|
||||
}
|
||||
|
||||
.block_1 {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
|
||||
>img {
|
||||
width: 200px;
|
||||
height: 100px;
|
||||
|
|
|
|||
|
|
@ -31,7 +31,11 @@
|
|||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="工作附件:" style="width: 100%">
|
||||
<el-upload
|
||||
<div style="color: #fff;" v-if="afterList.length == 0">暂无附件</div>
|
||||
<div v-for="(item,index) in afterList" :key="index">
|
||||
<div @click="handleDownload(item)" style="background: #fff;padding: 0px 20px;border-radius: 5px;cursor: pointer;">{{ item.realfilename }}</div>
|
||||
</div>
|
||||
<!-- <el-upload
|
||||
class="avatar-uploader"
|
||||
ref="uploadAfter"
|
||||
action="#"
|
||||
|
|
@ -52,18 +56,10 @@
|
|||
<el-icon> </el-icon>
|
||||
<span>{{ file.realfilename }}</span>
|
||||
</span>
|
||||
<!-- <span
|
||||
class="el-upload-list__item-preview"
|
||||
@click="handleDownload(file)"
|
||||
>
|
||||
<el-icon>
|
||||
<Download />
|
||||
</el-icon>
|
||||
</span> -->
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-upload>
|
||||
</el-upload> -->
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</BaseDialog>
|
||||
|
|
@ -72,8 +68,8 @@
|
|||
<script setup lang="ts" >
|
||||
import { reactive, ref, onMounted, watch } from "vue";
|
||||
import { ElMessage, FormInstance, FormRules } from "element-plus";
|
||||
import { areaTree, riskTypeList } from "@/api/account";
|
||||
import { uploadFile, getFile, delFile } from "@/api/file";
|
||||
import { areaTree, riskTypeList,getFile } from "@/api/account";
|
||||
import { uploadFile, delFile } from "@/api/file";
|
||||
import { FileType } from "@/utils/common";
|
||||
import type { UploadUserFile } from "element-plus";
|
||||
const formRef = ref<FormInstance>();
|
||||
|
|
|
|||
|
|
@ -42,6 +42,11 @@
|
|||
show-overflow-tooltip
|
||||
>
|
||||
<el-table-column type="index" label="序号" align="center" width="60" />
|
||||
<el-table-column
|
||||
prop="teamname"
|
||||
label="队伍名称"
|
||||
align="left"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="principal"
|
||||
label="联系人"
|
||||
|
|
@ -54,11 +59,11 @@
|
|||
align="center"
|
||||
width="110"
|
||||
/>
|
||||
<el-table-column
|
||||
<!-- <el-table-column
|
||||
prop="areaName"
|
||||
label="所属镇/村(社区)"
|
||||
align="center"
|
||||
/>
|
||||
/> -->
|
||||
<el-table-column
|
||||
prop="personnum"
|
||||
label="应急队伍人数"
|
||||
|
|
@ -226,11 +231,17 @@
|
|||
:readonly="emeEventDetalisReadonly"
|
||||
@close="emeEventDetalisOnclone"
|
||||
/>
|
||||
<WorkSituationDetails
|
||||
:visible="dialogVisibleWork"
|
||||
:form="formWork"
|
||||
:readonly="readonlyWork"
|
||||
@close="oncloneWork"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { defineComponent, onMounted, ref, watchEffect } from "vue";
|
||||
import { defineComponent, onMounted, ref, computed,watch } from "vue";
|
||||
export default defineComponent({
|
||||
name: "WorkSituation",
|
||||
});
|
||||
|
|
@ -247,6 +258,11 @@ import EmeRanksDetails from "../dialog/emeRanksDetails.vue";
|
|||
import EmeMaterialsDetails from "../dialog/emeMaterialsDetails.vue";
|
||||
import EmeSystemDetails from "../dialog/emeSystemDetails.vue";
|
||||
import EmeEventDetalis from "../dialog/emeEventDetalis.vue";
|
||||
import WorkSituationDetails from "../../left-side/dialog/workSituationDetails.vue"
|
||||
|
||||
import { useModelStore } from "@/store";
|
||||
const store = useModelStore();
|
||||
const tandetails = computed(() => store.gettandetails);
|
||||
|
||||
//列表
|
||||
const tableData = ref([]);
|
||||
|
|
@ -254,6 +270,25 @@ const currentPage = ref(1);
|
|||
const pageSize = ref(10);
|
||||
const total = ref(0);
|
||||
const search = ref("");
|
||||
|
||||
const dialogVisibleWork = ref(false);
|
||||
const formWork = ref({});
|
||||
const readonlyWork = ref(false);
|
||||
const oncloneWork = () => {
|
||||
dialogVisibleWork.value = false;
|
||||
formWork.value = {};
|
||||
store.settandetails({});
|
||||
}
|
||||
const Workdetails = (item:any) => {
|
||||
dialogVisibleWork.value = true;
|
||||
formWork.value = item;
|
||||
}
|
||||
watch((tandetails), (val: any) => {
|
||||
if (val.title) {
|
||||
Workdetails(val)
|
||||
}
|
||||
})
|
||||
|
||||
//弹窗 应急队伍
|
||||
const dialogVisible = ref(false);
|
||||
const form = ref({});
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
>
|
||||
<el-table-column type="index" label="序号" align="center" width="60" />
|
||||
<el-table-column
|
||||
prop="typeName"
|
||||
prop="name"
|
||||
label="预警类型"
|
||||
align="center"
|
||||
width="80"
|
||||
|
|
@ -87,8 +87,8 @@
|
|||
<!-- 分页 -->
|
||||
<el-pagination
|
||||
class="pagination"
|
||||
@size-change="getList"
|
||||
@current-change="getList"
|
||||
@size-change="getRiskPoolPage"
|
||||
@current-change="getRiskPoolPage"
|
||||
v-model:current-page.sync="currentPage"
|
||||
v-model:page-size.sync="pageSize"
|
||||
:page-sizes="[10, 15, 20, 30]"
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ onMounted(() => {
|
|||
height: 35px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background-image: url("@/assets/images/top/top-option-bg.png");
|
||||
// background-image: url("@/assets/images/top/top-option-bg.png");
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
cursor: pointer;
|
||||
|
|
|
|||
BIN
道孚大屏-1.zip
BIN
道孚大屏-1.zip
Binary file not shown.
Loading…
Reference in New Issue
Block a user