feat: 惠州项目端板块内容更改

This commit is contained in:
kun 2023-06-20 14:26:35 +08:00
parent 6b5c63f9c6
commit 4a69462f3f
18 changed files with 322 additions and 168 deletions

View File

@ -25,12 +25,14 @@ $primary: #008bff;
> span {
flex-shrink: 0;
font-size: 13px;
color: #666666;
color: white;
}
}
}
.btn-search,
.btn-submit {
background-color: #087ba4;
border-color: #087ba4;
margin-left: 10px;
}
}

View File

@ -73,7 +73,11 @@ const open = async () => {
const AMap = await initAMap();
//
map.value = new AMap.Map("map-container", { zoom: 8, resizeEnable: true });
map.value = new AMap.Map("map-container", {
zoom: 8,
resizeEnable: true,
mapStyle: "amap://styles/57994c871bb604a4c79184f5f65d8782"
});
map.value?.on("complete", e => {
setCenter(props.defaultAddress);

View File

@ -149,8 +149,8 @@
</template>
</el-form>
<template #footer>
<el-button class="cancelButtonStyle" @click="visible1 = false">取消</el-button>
<el-button type="primary" @click="confirm(ruleFormRef)"> 保存 </el-button>
<el-button class="hzCancelStyle" @click="visible1 = false">取消</el-button>
<el-button class="hzStyle" type="primary" @click="confirm(ruleFormRef)"> 保存 </el-button>
</template>
</el-dialog>
</div>
@ -365,11 +365,38 @@ onMounted(() => {
// color: #000;
// }
}
:deep(.el-form-item__label) {
color: #000;
:deep(.el-input-number) {
width: 100%;
.el-input-number__increase {
background-color: #09405f;
color: #3f6ab0;
border: 0 !important;
border-bottom: 1px solid #087ba4 !important;
border-left: 1px solid #087ba4 !important;
}
.el-input-number__decrease {
background-color: #09405f;
color: #3f6ab0;
border: 0 !important;
border-top: 1px solid #087ba4 !important;
border-left: 1px solid #087ba4 !important;
}
.el-icon {
font-size: 20px;
}
}
:deep(.el-form-item__label) {
color: white;
}
:deep(.el-input__wrapper),
:deep(.el-textarea__inner) {
background-color: transparent;
box-shadow: 0 0 0 1px #087ba4 inset;
}
:deep(.el-input__inner),
:deep(.el-textarea__inner) {
color: white;
}
// icon
// :deep(.el-input__wrapper) {
// padding: 1px 10px 0 11px;

View File

@ -13,21 +13,34 @@
}
.el-input {
margin: 0 0 15px;
:deep(.el-input__wrapper) {
background-color: transparent;
box-shadow: 0 0 0 1px var(--el-color-primary, var(--el-color-primary)) inset;
}
:deep(.el-input__inner) {
color: white;
}
}
.el-scrollbar {
:deep(.el-tree) {
// height: 80%;
overflow: auto;
background-color: transparent;
color: #c4c4c4;
.el-tree-node__content {
height: 33px;
}
.el-tree-node__content:hover {
background: #09405f;
color: #0bc4f0;
}
}
:deep(.el-tree--highlight-current) {
.el-tree-node.is-current > .el-tree-node__content {
background-color: #e0ebf9;
background-color: #09405f;
.el-tree-node__label {
font-size: 12px;
color: #008bff;
color: #0bc4f0;
}
.el-tree-node__expand-icon {
color: white;

View File

@ -2,7 +2,7 @@
box-sizing: border-box;
padding: 20px;
overflow-x: hidden;
background-color: #f6f6f6;
background-color: #092945;
&::-webkit-scrollbar {
background-color: #f0f2f5;
}

View File

@ -170,7 +170,7 @@
// font-size: 30px;
}
.diaMapIcon {
background-color: #008bff;
background-color: #087ba4;
width: 34px;
position: absolute;
right: 0;

View File

@ -157,15 +157,18 @@
}
td.el-table__cell {
background-color: transparent !important;
border-bottom: 0 !important;
}
th.el-table__cell {
background-color: transparent;
border-bottom: 0 !important;
}
td.el-table-fixed-column--right {
background-color: transparent !important;
}
.el-table__header {
background-color: #09405f;
// background-color: #09405f;
background: rgba(11, 196, 240, 0.15);
// background: url("@/assets/images/layoutImg/tableThead.png") no-repeat 0 0;
// background-size: 100% 100%;
}
@ -337,6 +340,7 @@
// * el-dialog 样式
.el-dialog {
background-color: rgba(9, 64, 95, 0.85);
border-radius: 8px;
// .el-dialog__body {
// min-height: 300px;
@ -353,6 +357,7 @@
// border-bottom: 1px solid var(--el-border-color-lighter);
.el-dialog__title {
font-size: 20px;
color: white;
}
}
.el-dialog__footer {
@ -361,6 +366,16 @@
// margin: -36px 0;
}
}
.hzStyle {
background-color: #087ba4;
border-color: #087ba4;
}
.hzCancelStyle {
margin-right: 14%;
background-color: transparent;
border-color: #087ba4;
color: #0a769a;
}
.addButtonStyle {
color: #ffffff;
background-color: #30ac7c;
@ -444,3 +459,29 @@
.el-card.is-always-shadow {
box-shadow: none;
}
// 单选框
.el-radio {
.el-radio__inner {
width: 18px !important;
height: 18px !important;
background-color: transparent;
}
.el-radio__input.is-checked .el-radio__inner {
width: 18px !important;
height: 18px !important;
background-color: transparent;
}
.el-radio__inner::after {
width: 13px;
height: 13px;
background: #3f6ab0;
border-radius: 50%;
}
}
// 表单
.el-form {
.el-form-item__label {
color: var(--el-color-primary);
}
}

View File

@ -169,8 +169,8 @@
}
.imgDialog {
.uploadBtn {
color: #30ac7c;
border: 1px solid #30ac7c;
color: #087ba4;
border: 1px solid #087ba4;
background: rgba(48, 172, 124, 0.1);
}
}

View File

@ -41,10 +41,9 @@
<h4>考勤明细</h4>
<el-table
:data="attendanceSingles"
border
max-height="340"
class="el-table"
:header-cell-style="{ backgroundColor: '#e1eeff', textAlign: 'center' }"
:header-cell-style="{ textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }"
>
<el-table-column prop="personName" label="姓名" />
@ -423,7 +422,7 @@ onBeforeMount(() => {
font-size: 14px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #333333;
color: white;
margin-right: 10px;
margin-left: 10px;
}
@ -431,14 +430,13 @@ onBeforeMount(() => {
display: flex;
flex-direction: column;
padding: 20px;
background-color: #fff;
h4 {
position: relative;
padding-left: 6px;
font-size: 20px;
font-weight: 500;
color: #333333;
border-left: 3px solid #008bff;
color: #ffffff;
border-left: 3px solid #0bc4f0;
}
.el-table {
width: calc(100% - 20px);

View File

@ -9,8 +9,8 @@
:tool-button="false"
:pagination="true"
background
:isShowSearch="false"
:initParam="initParam"
:isShowSearch="false"
>
</ProTable>
<engineeringDrawer v-model="engVisable" ref="engDrawer" :request="getengineering">
@ -22,21 +22,19 @@
</div>
</template>
<script setup lang="tsx" name="ProjectSupervisionRecord">
<script setup lang="tsx" name="ProjectDustRealTime">
import { ref, reactive } from "vue";
import { ElMessage } from "element-plus";
import { ColumnProps } from "@/components/ProTable/interface";
import ProTable from "@/components/ProTable/index.vue";
import { getRealTimePage } from "@/api/modules/enterpriseApi";
import { getRelevanceList } from "@/api/modules/common";
import { getRealTimePage } from "@/api/modules/project";
import engineeringDrawer from "@/components/engineeringDrawer/index.vue";
import allEngineering from "@/components/allEngineering/index.vue";
import { getRelevanceList } from "@/api/modules/common";
import { ElMessage, ElMessageBox } from "element-plus";
// ProTable 便
const proTable = ref();
const engVisable = ref(false);
//
const columns: ColumnProps[] = [
{ type: "index", label: "序号", width: 80 },
@ -95,7 +93,6 @@ const columns: ColumnProps[] = [
{ prop: "createTime", label: "上报时间" }
];
// ProTable()
const initParam = reactive({
engineeringSn: ""
});
@ -118,15 +115,14 @@ const getTableList = (params: any) => {
let newParams = JSON.parse(JSON.stringify(params));
return getRealTimePage(newParams);
};
const getengineering = (params: any) => {
// let newParams = JSON.parse(JSON.stringify(params));
return getRelevanceList();
};
//
const onUpdate = async row => {
initParam.engineeringSn = row.engineeringSn;
ElMessage.success("页面已更新");
};
const getengineering = (params: any) => {
// let newParams = JSON.parse(JSON.stringify(params));
return getRelevanceList();
};
</script>

View File

@ -84,7 +84,7 @@
:data="recordData"
class="el-table"
:row-style="{ height: '40px' }"
:header-cell-style="{ backgroundColor: '#F5F7FA', textAlign: 'center', height: '40px' }"
:header-cell-style="{ textAlign: 'center', height: '40px' }"
:cell-style="{ textAlign: 'center', height: '40px' }"
@row-click="rowClick"
>
@ -93,7 +93,7 @@
<el-table-column label="隐患照片">
<template #default="scope">
<el-image
v-if="scope.row.image"
v-if="scope.row.image && scope.row.image.length > 0"
style="width: 38px; height: 28px"
:src="scope.row.image[0].url"
fit="fill"
@ -120,7 +120,7 @@
<div class="operation-btn" v-if="basicData?.state != 4">
<!-- <el-button type="info" style="margin-right: 98px">驳回,请尽快整改</el-button>
<el-button type="primary">整改完成,全部合格</el-button> -->
<el-button type="primary" @click="allSubmit">全部整改完成,提交审核</el-button>
<el-button class="hzStyle" type="primary" @click="allSubmit">全部整改完成,提交审核</el-button>
</div>
</div>
<div class="transform-record" v-if="transformDialog">
@ -226,7 +226,7 @@
<el-button type="primary" @click="auditVisible = true">审核</el-button>
</div> -->
<div class="status-operate" v-if="item.type">
<el-button type="primary" @click="submitForm">提交</el-button>
<el-button class="hzStyle" type="primary" @click="submitForm">提交</el-button>
</div>
</el-timeline-item>
</el-timeline>
@ -395,7 +395,7 @@ onMounted(() => {});
font-size: 14px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #333333;
color: white;
border-left: 2px solid #008bff;
padding-left: 5px;
}
@ -404,6 +404,7 @@ onMounted(() => {});
flex: 1;
:deep(.el-dialog) {
position: relative;
background-color: rgba(9, 64, 95, 0.85);
}
.title-detail {
@include flex;
@ -415,7 +416,7 @@ onMounted(() => {});
font-size: 18px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #333333;
color: white;
margin-left: 5px;
margin-right: auto;
}
@ -434,7 +435,7 @@ onMounted(() => {});
font-size: 12px;
font-family: Source Han Sans CN-Medium, Source Han Sans CN;
font-weight: 500;
color: #333333;
color: white;
> span {
font-weight: 400;
color: #008bff;
@ -469,7 +470,7 @@ onMounted(() => {});
width: 380px;
height: 650px;
min-width: 420px;
background: #ffffff;
background-color: rgba(9, 64, 95, 0.85);
box-shadow: 0px 4px 8px 0px rgba(48, 62, 100, 0.2);
border-radius: 8px 8px 8px 8px;
padding: 15px 20px;
@ -487,7 +488,7 @@ onMounted(() => {});
font-size: 12px;
font-family: Source Han Sans CN-Medium, Source Han Sans CN;
font-weight: 500;
color: #333333;
color: white;
white-space: nowrap;
margin-right: 10px;
}
@ -495,7 +496,7 @@ onMounted(() => {});
font-size: 12px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #333333;
color: white;
}
.imgList {
display: flex;
@ -512,7 +513,7 @@ onMounted(() => {});
@include flex;
flex-wrap: wrap;
:deep(.face-uploader .el-upload) {
border: 1px dashed #d9d9d9 !important;
border: 1px dashed #087ba4 !important;
border-radius: 6px !important;
cursor: pointer !important;
position: relative !important;
@ -523,7 +524,7 @@ onMounted(() => {});
}
:deep(.el-icon) {
font-size: 28px;
color: #8c939d;
color: #087ba4;
width: 53px;
height: 53px;
line-height: 53px;
@ -543,6 +544,7 @@ onMounted(() => {});
span {
margin-right: auto;
margin-left: 5px;
color: white;
}
}
.situation-step {
@ -561,6 +563,15 @@ onMounted(() => {});
:deep(.el-timeline) {
padding: 0;
}
:deep(.el-input__wrapper),
:deep(.el-textarea__inner) {
background-color: transparent;
box-shadow: 0 0 0 1px #087ba4 inset;
}
:deep(.el-input__inner),
:deep(.el-textarea__inner) {
color: white;
}
.status-name {
position: absolute;
right: 0;

View File

@ -11,7 +11,7 @@
:pagination="true"
background
:isShowSearch="false"
:onReset="false"
:onReset="true"
>
<template #operation="{ row }">
<el-button type="primary" link @click="handleLookItem(row)">

View File

@ -1,6 +1,6 @@
<template>
<div class="overview">
<el-dialog :show-close="false" append-to-body v-model="visible1" :style="dialogStyle" @close="closeMain">
<div class="overview" v-if="visible1">
<el-dialog :show-close="false" v-model="visible1" :style="dialogStyle" @close="closeMain">
<template #title>
<div class="title-detail">
<img src="@/assets/images/tableIcon/look.png" alt="" />
@ -84,7 +84,7 @@
:data="recordData"
class="el-table"
:row-style="{ height: '40px' }"
:header-cell-style="{ backgroundColor: '#F5F7FA', textAlign: 'center', height: '40px' }"
:header-cell-style="{ textAlign: 'center', height: '40px' }"
:cell-style="{ textAlign: 'center', height: '40px' }"
@row-click="rowClick"
>
@ -93,7 +93,7 @@
<el-table-column label="隐患照片">
<template #default="scope">
<el-image
v-if="scope.row.image"
v-if="scope.row.image && scope.row.image.length > 0"
style="width: 38px; height: 28px"
:src="scope.row.image[0].url"
fit="fill"
@ -120,7 +120,7 @@
<div class="operation-btn" v-if="basicData?.state != 4">
<!-- <el-button type="info" style="margin-right: 98px">驳回,请尽快整改</el-button>
<el-button type="primary">整改完成,全部合格</el-button> -->
<el-button type="primary" @click="allSubmit">全部整改完成,提交审核</el-button>
<el-button class="hzStyle" type="primary" @click="allSubmit">全部整改完成,提交审核</el-button>
</div>
</div>
<div class="transform-record" v-if="transformDialog">
@ -226,7 +226,7 @@
<el-button type="primary" @click="auditVisible = true">审核</el-button>
</div> -->
<div class="status-operate" v-if="item.type">
<el-button type="primary" @click="submitForm">提交</el-button>
<el-button class="hzStyle" type="primary" @click="submitForm">提交</el-button>
</div>
</el-timeline-item>
</el-timeline>
@ -395,7 +395,7 @@ onMounted(() => {});
font-size: 14px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #333333;
color: white;
border-left: 2px solid #008bff;
padding-left: 5px;
}
@ -404,6 +404,7 @@ onMounted(() => {});
flex: 1;
:deep(.el-dialog) {
position: relative;
background-color: rgba(9, 64, 95, 0.85);
}
.title-detail {
@include flex;
@ -415,7 +416,7 @@ onMounted(() => {});
font-size: 18px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #333333;
color: white;
margin-left: 5px;
margin-right: auto;
}
@ -434,7 +435,7 @@ onMounted(() => {});
font-size: 12px;
font-family: Source Han Sans CN-Medium, Source Han Sans CN;
font-weight: 500;
color: #333333;
color: white;
> span {
font-weight: 400;
color: #008bff;
@ -468,7 +469,7 @@ onMounted(() => {});
right: -460px;
width: 380px;
min-width: 420px;
background: #ffffff;
background-color: rgba(9, 64, 95, 0.85);
box-shadow: 0px 4px 8px 0px rgba(48, 62, 100, 0.2);
border-radius: 8px 8px 8px 8px;
padding: 15px 20px;
@ -486,7 +487,7 @@ onMounted(() => {});
font-size: 12px;
font-family: Source Han Sans CN-Medium, Source Han Sans CN;
font-weight: 500;
color: #333333;
color: white;
white-space: nowrap;
margin-right: 10px;
}
@ -494,7 +495,7 @@ onMounted(() => {});
font-size: 12px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #333333;
color: white;
}
.imgList {
display: flex;
@ -511,7 +512,7 @@ onMounted(() => {});
@include flex;
flex-wrap: wrap;
:deep(.face-uploader .el-upload) {
border: 1px dashed #d9d9d9 !important;
border: 1px dashed #087ba4 !important;
border-radius: 6px !important;
cursor: pointer !important;
position: relative !important;
@ -522,7 +523,7 @@ onMounted(() => {});
}
:deep(.el-icon) {
font-size: 28px;
color: #8c939d;
color: #087ba4;
width: 53px;
height: 53px;
line-height: 53px;
@ -542,6 +543,7 @@ onMounted(() => {});
span {
margin-right: auto;
margin-left: 5px;
color: white;
}
}
.situation-step {
@ -560,6 +562,15 @@ onMounted(() => {});
:deep(.el-timeline) {
padding: 0;
}
:deep(.el-input__wrapper),
:deep(.el-textarea__inner) {
background-color: transparent;
box-shadow: 0 0 0 1px #087ba4 inset;
}
:deep(.el-input__inner),
:deep(.el-textarea__inner) {
color: white;
}
.status-name {
position: absolute;
right: 0;

View File

@ -18,7 +18,6 @@
</el-button>
</template>
</ProTable>
<DialogForm
:title="title"
:formConfig="formConfig"
@ -29,13 +28,13 @@
@confirm="saveItem"
>
</DialogForm>
<engineeringDrawer v-model="engVisable" ref="engDrawer" :request="getengineering">
<template #default="{ data }">
<span style="margin-left: 10px" @click="onUpdate(data)">{{ data.engineeringName }}</span>
</template>
</engineeringDrawer>
<allEngineering @click="engVisable = true" />
</div>
<engineeringDrawer v-model="engVisable" ref="engDrawer" :request="getengineering">
<template #default="{ data }">
<span style="margin-left: 10px" @click="onUpdate(data)">{{ data.engineeringName }}</span>
</template>
</engineeringDrawer>
<allEngineering @click="engVisable = true" />
</template>
<script setup lang="tsx" name="ProjectSupervisionRecord">
@ -43,7 +42,7 @@ import { ref, reactive, onMounted } from "vue";
import { ElMessage, ElMessageBox } from "element-plus";
import { ColumnProps } from "@/components/ProTable/interface";
import ProTable from "@/components/ProTable/index.vue";
import { getLedgerPage, editLedger } from "@/api/modules/enterpriseApi";
import { getLedgerPage, editLedger } from "@/api/modules/project";
import { getRelevanceList } from "@/api/modules/common";
import DialogForm from "@/components/DialogForm/index.vue";
import engineeringDrawer from "@/components/engineeringDrawer/index.vue";
@ -55,7 +54,6 @@ const engVisable = ref(false);
const title = ref("");
// ProTable 便
const proTable = ref();
const engDrawer = ref();
interface formData {
deviceName: string;
@ -88,15 +86,10 @@ const columns: ColumnProps[] = [
// prop
{ prop: "name", label: "设备名称", isShow: false, search: { el: "input" } },
{ prop: "deviceName", label: "设备名称" },
{ prop: "type", label: "报警类型" },
{
prop: "createTime",
label: "报警时间"
},
{ prop: "type", label: "报警类型", search: { el: "input" } },
{
prop: "createTime",
label: "报警时间",
isShow: false,
search: {
el: "date-picker",
@ -226,6 +219,11 @@ const formConfig = reactive({
}
});
// ProTable()
const initParam = reactive({
engineeringSn: ""
});
// dataCallback list && total && pageNum && pageSize
// hooks/useTable.ts
const dataCallback = (data: any) => {
@ -238,11 +236,6 @@ const dataCallback = (data: any) => {
};
};
// ProTable()
const initParam = reactive({
engineeringSn: ""
});
// params
// ProTable :requestApi="getUserList"
const getTableList = (params: any) => {
@ -280,15 +273,14 @@ const saveItem = async (form: any) => {
ElMessage.success("提交成功");
visible.value = false;
};
const getengineering = (params: any) => {
// let newParams = JSON.parse(JSON.stringify(params));
return getRelevanceList();
};
//
const onUpdate = async row => {
initParam.engineeringSn = row.engineeringSn;
ElMessage.success("页面已更新");
};
const getengineering = (params: any) => {
// let newParams = JSON.parse(JSON.stringify(params));
return getRelevanceList();
};
</script>

View File

@ -47,13 +47,13 @@
</template>
</DialogForm>
<AMap v-model="isOpen" @get-address="getAddress" />
<engineeringDrawer v-model="engVisable" ref="engDrawer" :request="getengineering">
<template #default="{ data }">
<span style="margin-left: 10px" @click="onUpdate(data)">{{ data.engineeringName }}</span>
</template>
</engineeringDrawer>
<allEngineering @click="engVisable = true" />
</div>
<engineeringDrawer v-model="engVisable" ref="engDrawer" :request="getengineering">
<template #default="{ data }">
<span style="margin-left: 10px" @click="onUpdate(data)">{{ data.engineeringName }}</span>
</template>
</engineeringDrawer>
<allEngineering @click="engVisable = true" />
</template>
<script setup lang="tsx" name="ProjectSupervisionRecord">
@ -62,6 +62,7 @@ import { ElMessage, ElMessageBox } from "element-plus";
import { ColumnProps } from "@/components/ProTable/interface";
import { Delete } from "@element-plus/icons-vue";
import { jxj_User } from "@/api/types";
import { GlobalStore } from "@/stores";
import { useHandleData } from "@/hooks/useHandleData";
import ProTable from "@/components/ProTable/index.vue";
import {
@ -70,7 +71,7 @@ import {
editDustManagement,
deleteDustManagement,
getengineeringList
} from "@/api/modules/enterpriseApi";
} from "@/api/modules/project";
import { getRelevanceList } from "@/api/modules/common";
import DialogForm from "@/components/DialogForm/index.vue";
import AMap from "@/components/AMap/AMap.vue";
@ -78,12 +79,12 @@ import engineeringDrawer from "@/components/engineeringDrawer/index.vue";
import allEngineering from "@/components/allEngineering/index.vue";
const visible = ref(false);
const isOpen = ref(false);
const engVisable = ref(false);
const isOpen = ref(false);
const title = ref("");
const store = GlobalStore();
// ProTable 便
const proTable = ref();
const engDrawer = ref();
interface formData {
name?: string;
@ -96,8 +97,6 @@ interface formData {
priority: number;
}
const records = ref({});
const formData = ref<formData>({
name: "",
code: "",
@ -109,13 +108,38 @@ const formData = ref<formData>({
position: ""
});
//
const handleEditItem = async (index: number, row: any) => {
if (index === 1) {
formConfig.formItemConfig[1].disabled = false;
title.value = "新增设备";
formData.value = reactive({
name: "",
code: "",
hardwareId: "",
priority: 1,
engineeringSn: "",
lat: undefined,
lng: undefined,
position: ""
});
} else {
formConfig.formItemConfig[1].disabled = true;
title.value = "编辑设备";
formData.value = reactive({ ...row });
// null
row.lng === null
? formData.value.position === ""
: (formData.value.position = "经度:" + row.lng + "" + "维度:" + row.lat);
}
visible.value = true;
};
//
const columns: ColumnProps[] = [
{ type: "index", label: "序号", width: 80 },
// prop
{ prop: "engineeringName", label: "工程名称" },
{ prop: "name", label: "设备名称", search: { el: "input" } },
{ prop: "state", label: "在线状态" },
{ prop: "code", label: "设备编码" },
@ -145,7 +169,8 @@ const formConfig = reactive({
label: "所属工程",
prop: "engineeringSn",
type: "select",
data: []
data: [],
clearable: true
},
{
@ -218,33 +243,6 @@ const getTableList = (params: any) => {
return getDustManagementPage(newParams);
};
//
const handleEditItem = async (index: number, row: any) => {
if (index === 1) {
formConfig.formItemConfig[1].disabled = false;
title.value = "新增设备";
formData.value = reactive({
name: "",
code: "",
hardwareId: "",
priority: 1,
engineeringSn: "",
lat: undefined,
lng: undefined,
position: ""
});
} else {
formConfig.formItemConfig[1].disabled = true;
title.value = "编辑设备";
formData.value = reactive({ ...row });
// null
row.lng === null
? formData.value.position === ""
: (formData.value.position = "经度:" + row.lng + "" + "维度:" + row.lat);
}
visible.value = true;
};
//
const handleDeleteItem = async (params: jxj_User.ResUserList) => {
await useHandleData(deleteDustManagement, { id: params.id }, `删除【${params.name}`);
@ -272,6 +270,20 @@ const getAddress = async (e: any) => {
isOpen.value = false;
ElMessage.success("获取经纬度成功");
};
//
const getengineering = (params: any) => {
// let newParams = JSON.parse(JSON.stringify(params));
return getRelevanceList();
};
//
const onUpdate = async row => {
initParam.engineeringSn = row.engineeringSn;
ElMessage.success("页面已更新");
};
//
const getNameList = async () => {
const res = await getengineeringList({});
formConfig.formItemConfig[3].data = res.result.map(item => {
@ -281,19 +293,10 @@ const getNameList = async () => {
};
});
};
//
const onUpdate = async row => {
initParam.engineeringSn = row.engineeringSn;
ElMessage.success("页面已更新");
};
const getengineering = (params: any) => {
// let newParams = JSON.parse(JSON.stringify(params));
return getRelevanceList();
};
onMounted(async () => {
getNameList();
if (store.projectDateAuth === 1) {
delete formConfig.rules.engineeringSn;
}
});
</script>

View File

@ -9,8 +9,8 @@
:tool-button="false"
:pagination="true"
background
:isShowSearch="false"
:initParam="initParam"
:isShowSearch="false"
>
</ProTable>
<engineeringDrawer v-model="engVisable" ref="engDrawer" :request="getengineering">
@ -22,21 +22,19 @@
</div>
</template>
<script setup lang="tsx" name="ProjectSupervisionRecord">
<script setup lang="tsx" name="ProjectDustRealTime">
import { ref, reactive } from "vue";
import { ElMessage } from "element-plus";
import { ColumnProps } from "@/components/ProTable/interface";
import ProTable from "@/components/ProTable/index.vue";
import { getRealTimePage } from "@/api/modules/enterpriseApi";
import { getRelevanceList } from "@/api/modules/common";
import { getRealTimePage } from "@/api/modules/project";
import engineeringDrawer from "@/components/engineeringDrawer/index.vue";
import allEngineering from "@/components/allEngineering/index.vue";
import { getRelevanceList } from "@/api/modules/common";
import { ElMessage, ElMessageBox } from "element-plus";
// ProTable 便
const proTable = ref();
const engVisable = ref(false);
//
const columns: ColumnProps[] = [
{ type: "index", label: "序号", width: 80 },
@ -95,7 +93,6 @@ const columns: ColumnProps[] = [
{ prop: "createTime", label: "上报时间" }
];
// ProTable()
const initParam = reactive({
engineeringSn: ""
});
@ -118,15 +115,14 @@ const getTableList = (params: any) => {
let newParams = JSON.parse(JSON.stringify(params));
return getRealTimePage(newParams);
};
const getengineering = (params: any) => {
// let newParams = JSON.parse(JSON.stringify(params));
return getRelevanceList();
};
//
const onUpdate = async row => {
initParam.engineeringSn = row.engineeringSn;
ElMessage.success("页面已更新");
};
const getengineering = (params: any) => {
// let newParams = JSON.parse(JSON.stringify(params));
return getRelevanceList();
};
</script>

View File

@ -20,7 +20,7 @@
padding: 16px 0 0 36px;
border-radius: 8px;
// height: 56px;
background-color: #ffffff;
background-color: #092945;
}
.imgPage {
box-sizing: border-box;
@ -29,7 +29,7 @@
padding: 20px 10px 20px 20px;
margin-top: 20px;
overflow-y: scroll;
background-color: #ffffff;
background-color: #092945;
border-radius: 8px;
display: flex;
flex-direction: column;
@ -43,7 +43,7 @@
width: 23.1%;
height: 244px;
margin: 10px;
border: 1px solid #dedddd;
border: 2px solid #09405f;
border-radius: 4px;
opacity: 1;
.page_text {
@ -53,7 +53,7 @@
display: flex;
justify-content: space-between;
font-size: 12px;
color: #333333;
color: #c4c4c4;
.position {
width: 97px;
overflow: hidden;
@ -78,6 +78,46 @@
justify-content: center;
margin-top: 20px;
}
:deep(.el-pagination) {
.el-pagination__goto {
color: var(--el-color-primary);
}
.el-pagination__classifier {
color: var(--el-color-primary);
}
.el-input__wrapper {
color: var(--el-color-primary);
background-color: transparent;
border: none;
box-shadow: 0 0 0 1px var(--el-color-primary, var(--el-color-primary)) inset;
height: 26px;
}
.el-input__inner {
color: var(--el-color-primary);
}
.el-pager li {
color: white;
border: none;
height: 26px;
}
.el-pager li:active {
color: var(--el-color-primary);
border: none;
height: 26px;
}
.el-pagination__total {
color: var(--el-color-primary);
}
.btn-prev,
.btn-next,
.btn-prev:disabled,
.btn-next:disabled {
color: var(--el-color-primary);
background-color: transparent;
border: 1px solid var(--el-color-primary);
height: 26px;
}
}
}
}
}
@ -92,7 +132,7 @@
margin: 0 0 4px;
font-family: "siyuan_Medium";
font-size: 14px;
color: #00378f;
color: #0bc4f0;
display: flex;
align-items: center;
> span {
@ -120,9 +160,9 @@
}
.imgDialog {
.uploadBtn {
color: #30ac7c;
border: 1px solid #30ac7c;
background: rgba(48, 172, 124, 0.1);
color: #087ba4;
border: 1px solid #087ba4;
background-color: transparent;
}
}
.pending {
@ -152,7 +192,28 @@
:deep(.el-form .el-form-item__content .el-range-editor) {
width: 200px;
}
// 表单
:deep(.el-form) {
.el-form-item__content > :not(button) {
width: 160px;
}
.el-form-item__label {
color: var(--el-color-primary);
}
.el-input__wrapper,
.el-textarea__inner {
background-color: transparent;
box-shadow: 0 0 0 1px var(--el-color-primary, var(--el-color-primary)) inset;
}
.el-input__inner,
.el-textarea__inner {
color: white;
}
// 去除时间选择器上下 padding
.el-range-editor.el-input__wrapper {
padding: 0 10px;
}
}
// :deep(.el-dialog__body) {
// padding: 0 0 0 0 !important;
// background-color: pink;

View File

@ -68,11 +68,11 @@
<el-dialog class="imgDialog" :title="title" width="40%" v-model="visible" show-close>
<el-form class="diaForm" :rules="rules" :model="formData" ref="ruleFormRef" label-width="160px">
<el-form-item label="录像标题:" prop="title">
<el-input v-model="formData.title" placeholder="请输入" />
<el-input style="width: 70%" v-model="formData.title" placeholder="请输入" />
</el-form-item>
<el-form-item label="上传时间:" prop="uploadTime">
<el-date-picker
style="width: 100%"
style="width: 70%"
v-model="formData.uploadTime"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
@ -81,7 +81,7 @@
/>
</el-form-item>
<el-form-item label="备注:" prop="remark">
<el-input v-model="formData.remark" type="textarea" :rows="3" placeholder="请输入" />
<el-input style="width: 70%" v-model="formData.remark" type="textarea" :rows="3" placeholder="请输入" />
</el-form-item>
<el-form-item label="录像文件:" prop="videoUrl">
<el-upload
@ -101,9 +101,9 @@
</el-form-item>
</el-form>
<template #footer>
<div>
<el-button class="cancelButtonStyle" @click="visible = false">取消</el-button>
<el-button type="primary" @click="confirm(ruleFormRef, formData)"> 保存 </el-button>
<div class="form-footer">
<el-button class="hzCancelStyle" @click="visible = false">取消</el-button>
<el-button class="hzStyle" type="primary" @click="confirm(ruleFormRef, formData)"> 保存 </el-button>
</div>
</template>
</el-dialog>
@ -282,7 +282,6 @@ const onDatePicker = () => {
onMounted(async () => {
getVideoData();
getNameData();
});
</script>