修改中建四局大屏
This commit is contained in:
parent
10fb3eef7e
commit
b048f301d8
@ -19,6 +19,13 @@ export const deletematerialRecordApi = data => post('xmgl/materialRecord/delete'
|
||||
export const materialRecordListApi = data => post('xmgl/materialRecord/selectList', data);
|
||||
|
||||
|
||||
//材料进场记录
|
||||
export const getMaterialApprApi = data => get('xmgl/materialApproachRecord/page', data);
|
||||
export const addMaterialApprApi = data => post('xmgl/materialApproachRecord/add', data);
|
||||
export const deleteMaterialApprApi = data => post('xmgl/materialApproachRecord/delete', data);
|
||||
export const editMaterialApprApi = data => post('xmgl/materialApproachRecord/edit', data);
|
||||
|
||||
|
||||
//项目从企业库复制材料数据
|
||||
export const copyMaterialApi = data => post('xmgl/materialRecord/copyMaterial', data);
|
||||
//项目从企业库按照类别复制类别下所有材料数据
|
||||
|
||||
@ -97,6 +97,8 @@ export const getLimitOrderByAcceptanceDateApi = data => get('/xmgl/subdivisionAc
|
||||
export const getQualifiedRatioApi = data => get('/xmgl/materialDetectionReport/getQualifiedRatio',data)
|
||||
export const getLimitByDetectionDateApi = data => get('/xmgl/materialDetectionReport/limitByDetectionDate',data)
|
||||
export const getWindowDisplaypi = data => get('/xmgl/windowDisplay/list',data)
|
||||
export const getMeasuredRealQuantitypi = data => get('/xmgl/measuredRealQuantity/limitOrderBySurveyingDate',data)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -79,6 +79,7 @@ if (process.env.NODE_ENV == 'development') {
|
||||
// axios.defaults.baseURL = 'http://183.234.150.152:9090/' //华发 huaxin 123456789
|
||||
// axios.defaults.baseURL = 'http://139.9.66.234:7072/' //三江集团测试环境
|
||||
// axios.defaults.baseURL = 'http://116.169.63.183:7070' //三江集团正式环境
|
||||
// axios.defaults.baseURL = 'http://192.168.34.221:8088' //郭圣雄本地
|
||||
|
||||
} else if (process.env.NODE_ENV == 'debug') {
|
||||
axios.defaults.baseURL = 'https://www.ceshi.com'
|
||||
|
||||
@ -1026,10 +1026,15 @@ const routes2 = [
|
||||
component: () => import('@/views/projectFront/materialManage/materialWeightList.vue')
|
||||
},
|
||||
{
|
||||
path: '/project/materialManage/materialCategory.vue',
|
||||
path: '/project/materialManage/materialCategory',
|
||||
name: '材料管理_作业中心_榜单台账',
|
||||
component: () => import('@/views/projectFront/materialManage/materialCategory.vue')
|
||||
},
|
||||
{
|
||||
path: '/project/materialManage/materialMobilization',
|
||||
name: '材料管理_计量中心_材料进场记录',
|
||||
component: () => import('@/views/projectFront/materialManage/materialMobilization.vue')
|
||||
},
|
||||
// {
|
||||
// path: '/project/materialManage/',
|
||||
// name: '材料管理_资源中心',
|
||||
|
||||
@ -48,9 +48,9 @@ export default new Vuex.Store({
|
||||
BASEURL: baseUrl
|
||||
? baseUrl
|
||||
: window.location.protocol + "//" + window.location.host + "/", //
|
||||
// UPLOADURL:
|
||||
// window.location.protocol + "//" + window.location.host + "/upload/image", //
|
||||
// FILEURL: window.location.protocol + "//" + window.location.host + "/image/", //测试
|
||||
UPLOADURL:
|
||||
window.location.protocol + "//" + window.location.host + "/upload/image", //
|
||||
FILEURL: window.location.protocol + "//" + window.location.host + "/image/", //测试
|
||||
// tag: 本地测试接口 // BASEURL:'http://192.168.34.174:6023/',
|
||||
/* 2022-05-16 */
|
||||
// tag: 部署河南项目时,需要打开这两行代码
|
||||
@ -63,8 +63,8 @@ export default new Vuex.Store({
|
||||
// BASEURL:'http://192.168.34.116:6023/',
|
||||
// UPLOADURL: 'http://192.168.34.116:6023/upload/image',
|
||||
// FILEURL: 'http://192.168.34.116:6023/image/',
|
||||
UPLOADURL: 'http://124.71.67.160:8088/upload/image',
|
||||
FILEURL: 'http://124.71.67.160:8088/image/',
|
||||
// UPLOADURL: 'http://124.71.67.160:8088/upload/image',
|
||||
// FILEURL: 'http://124.71.67.160:8088/image/',
|
||||
//---
|
||||
// UPLOADURL: 'http://192.168.34.125:6023/upload/image',
|
||||
// FILEURL: 'http://192.168.34.125:6023/image/',
|
||||
|
||||
@ -5,36 +5,36 @@
|
||||
<div class="contentbut">
|
||||
<div class="lw">
|
||||
<p>今日出勤</p>
|
||||
<!-- <p class="number">{{ list.todayAtte||0}}</p> -->
|
||||
<p class="number">269</p>
|
||||
<p class="number">{{ list.todayAtte||0}}</p>
|
||||
<!-- <p class="number">269</p> -->
|
||||
</div>
|
||||
<div class="cq">
|
||||
<p>在场</p>
|
||||
<!-- <p class="number">{{ list.bePresent||0 }}</p> -->
|
||||
<p class="number">316</p>
|
||||
<p class="number">{{ list.bePresent||0 }}</p>
|
||||
<!-- <p class="number">316</p> -->
|
||||
</div>
|
||||
<div class="tc">
|
||||
<p>今日出勤率</p>
|
||||
<!-- <p class="number">{{ list.atteRatio ||0}}%</p> -->
|
||||
<p class="number">85.1%</p>
|
||||
<p class="number">{{ list.atteRatio ||0}}%</p>
|
||||
<!-- <p class="number">85.1%</p> -->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="contentbut">
|
||||
<div class="lw">
|
||||
<p>现场</p>
|
||||
<!-- <p class="number">{{ list.scene||0 }}</p> -->
|
||||
<p class="number">253</p>
|
||||
<p class="number">{{ list.scene||0 }}</p>
|
||||
<!-- <p class="number">253</p> -->
|
||||
</div>
|
||||
<div class="cq">
|
||||
<p>今日进场</p>
|
||||
<!-- <p class="number">{{ list.todayMobilization||0 }}</p> -->
|
||||
<p class="number">0</p>
|
||||
<p class="number">{{ list.todayMobilization||0 }}</p>
|
||||
<!-- <p class="number">0</p> -->
|
||||
</div>
|
||||
<div class="tc">
|
||||
<p>今日退场</p>
|
||||
<!-- <p class="number">{{ list.todayExit||0}}</p> -->
|
||||
<p class="number">0</p>
|
||||
<p class="number">{{ list.todayExit||0}}</p>
|
||||
<!-- <p class="number">0</p> -->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@ -75,13 +75,13 @@ export default {
|
||||
return {
|
||||
tableData: [
|
||||
{
|
||||
date: "混凝土抗压试验",
|
||||
date: "钢筋原样送检",
|
||||
name: "28",
|
||||
address: "28",
|
||||
rale: "100%"
|
||||
},
|
||||
{
|
||||
date: "砌筑砂浆抗压试验",
|
||||
date: "钢筋原样送检",
|
||||
name: "10",
|
||||
address: "10",
|
||||
rale: "100%"
|
||||
@ -93,13 +93,13 @@ export default {
|
||||
rale: "100%"
|
||||
},
|
||||
{
|
||||
date: "机械连接原样送检",
|
||||
date: "混凝土抗压试验",
|
||||
name: "5",
|
||||
address: "5",
|
||||
rale: "100%"
|
||||
},
|
||||
{
|
||||
date: "安全网原样送检",
|
||||
date: "混凝土抗压试验",
|
||||
name: "1",
|
||||
address: "1",
|
||||
rale: "100%"
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<Card title="计划进度">
|
||||
<Card title="计划与实际进度">
|
||||
<div class="down-tree">
|
||||
<el-tree
|
||||
style="color: #fff"
|
||||
|
||||
@ -1,396 +1,241 @@
|
||||
<template>
|
||||
<Card title="标养室管理">
|
||||
<div class="box">
|
||||
<div class="leftEcharts1" ref="leftEcharts1"></div>
|
||||
<div class="leftEcharts2" ref="leftEcharts2"></div>
|
||||
|
||||
<Card title="实测实量">
|
||||
<div class="DataTime">
|
||||
<div class="typeName">楼层</div>
|
||||
<el-select v-model="floorName" placeholder="请选择"size="mini" filterable popper-class="selectCls"
|
||||
style="width:170px;"
|
||||
@change="checkTypes">
|
||||
<el-option v-for="item in buildData"
|
||||
:key="item.id"
|
||||
:label="item.floorName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<!-- <el-select v-model="typeId" placeholder="请选择"
|
||||
@change="checkTypes"
|
||||
style="background:transparent;width: 100px;">
|
||||
|
||||
<el-option v-for="item in buildData" :key="item.id" :label="item.title" :value="item.id"> </el-option>
|
||||
</el-select> -->
|
||||
</div>
|
||||
<div class="environment">
|
||||
<div class="item">
|
||||
<div class="icon temperature"></div>
|
||||
<div class="info">
|
||||
<div class="label">室内温度</div>
|
||||
<div class="value">
|
||||
<span>{{ currentData.temperature || 0 }}</span> ℃
|
||||
</div>
|
||||
<div class="list">
|
||||
<vue-scroll style="width: 100%; height: 250px">
|
||||
<div class="list-item" v-for="(item, index) in listData" :key="index">
|
||||
<div class="imgDiv">
|
||||
<img
|
||||
:preview="item.imageUrl[0] ? item.imageUrl[0].url : []"
|
||||
:src="item.imageUrl[0] ? item.imageUrl[0].url : []"
|
||||
alt=""
|
||||
width="50px"
|
||||
/>
|
||||
<!-- <img :src="$store.state.FILEURL+item.imageUrl" alt="" /> -->
|
||||
</div>
|
||||
<br />
|
||||
</div>
|
||||
<div class="item" style="margin-top:100px">
|
||||
<div class="icon humidity"></div>
|
||||
<div class="info">
|
||||
<div class="label">室内湿度</div>
|
||||
<div class="value">
|
||||
<span>{{ currentData.humidity || 0 }}</span
|
||||
>%RH
|
||||
</div>
|
||||
<div class="textDiv">
|
||||
<p style="margin: -70px 0 0 120px; font-size: 16px">
|
||||
{{ item.title }}
|
||||
</p>
|
||||
<p style="margin-top: 10px; font-size: 10px;margin-left:120px">
|
||||
{{ item.measuredRealQuantityNumber }}/{{ item.qualifiedNumber }}次
|
||||
</p>
|
||||
<el-progress
|
||||
:percentage="item.qualifiedRatio"
|
||||
style="width: 260px; margin-left: 120px"
|
||||
></el-progress>
|
||||
</div>
|
||||
<div class="dateDiv">
|
||||
{{ item.surveyingDate }}
|
||||
</div>
|
||||
</div>
|
||||
</vue-scroll>
|
||||
</div>
|
||||
<div class="tbody" v-if="listData.length == 0">
|
||||
<div class="dataImg">
|
||||
<img src="@/assets/images/noData3.png" alt srcset />
|
||||
<p>{{ $t("message.dataBoard.nodata") }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</Card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
getstandardDevListApi,
|
||||
selectStandardDevStatisticsBySnApi,
|
||||
selectDayCurrentDataListApi
|
||||
} from "@/assets/js/api/markingRoom";
|
||||
import Card from "../components/Card.vue";
|
||||
import echarts from 'echarts4';
|
||||
import { getLimitOrderBySurveyingDateApi,getMeasuredRealQuantitypi } from "@/assets/js/api/zhongjianFourth";
|
||||
|
||||
export default {
|
||||
components: { Card },
|
||||
data() {
|
||||
return {
|
||||
currentData: {
|
||||
currentDayAlarmNum: 0,
|
||||
humidity: 0,
|
||||
sampleNum: 0,
|
||||
temperature: 0,
|
||||
},
|
||||
searchSn: "",
|
||||
devSn: "",
|
||||
dustData_24: [],
|
||||
humidityList:[],//湿度
|
||||
temperatureList:[],//温度
|
||||
xData:[],//x轴时间
|
||||
time1: "",
|
||||
|
||||
sn: "",
|
||||
listData: [],
|
||||
time1: "",
|
||||
buildData:[],
|
||||
floorName:'',
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.createdEchart1()
|
||||
this.createdEchart2()
|
||||
if (this.$store.state.projectSn) {
|
||||
this.searchSn = this.$store.state.projectSn;
|
||||
this.$nextTick(() => {
|
||||
this.getDevList();
|
||||
this.getRealTimeData();
|
||||
});
|
||||
} else {
|
||||
this.initData();
|
||||
}
|
||||
created() {
|
||||
this.sn = this.$store.state.projectSn;
|
||||
this.getData();
|
||||
this.getBuildList()
|
||||
},
|
||||
methods: {
|
||||
//近24小时数据-图表渲染
|
||||
selectDustNoiseData() {
|
||||
let data = {
|
||||
projectSn: this.searchSn,
|
||||
devSn: this.devSn,
|
||||
};
|
||||
selectDayCurrentDataListApi(data).then((res) => {
|
||||
console.log('近24小时数据',res)
|
||||
this.dustData_24 = res.result;
|
||||
this.dustData_24.forEach(item=>{
|
||||
this.humidityList.push(item.humidity)
|
||||
this.temperatureList.push(item.temperature)
|
||||
this.xData.push(item.receiveTime.split(' ')[1])
|
||||
})
|
||||
this.createdEchart1();
|
||||
this.createdEchart2();
|
||||
});
|
||||
checkTypes(val) {
|
||||
console.log("类型或者时间修改事件值 :", val);
|
||||
this.getData()
|
||||
},
|
||||
//echarts图1红
|
||||
createdEchart1() {
|
||||
let chart1 = echarts.init(this.$refs["leftEcharts1"]);
|
||||
this.option1 = {
|
||||
// backgroundColor: "#05224d",
|
||||
tooltip: {},
|
||||
grid: {
|
||||
top: "65%",
|
||||
left: "0%",
|
||||
right: "0%",
|
||||
bottom: "0%",
|
||||
containLabel: true,
|
||||
},
|
||||
xAxis: [
|
||||
{
|
||||
type: "category",
|
||||
boundaryGap: true,
|
||||
axisLine: {
|
||||
//坐标轴轴线相关设置。数学上的x轴
|
||||
show: true,
|
||||
lineStyle: {
|
||||
color: "#233e64",
|
||||
},
|
||||
},
|
||||
axisLabel: {
|
||||
//坐标轴刻度标签的相关设置
|
||||
textStyle: {
|
||||
color: "#6a9cd5",
|
||||
margin: 20,
|
||||
},
|
||||
},
|
||||
axisTick: { show: true },
|
||||
data: this.xData,
|
||||
},
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: "value",
|
||||
min: 0,
|
||||
max: 150,
|
||||
splitNumber: 3,
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
color: "#233e64",
|
||||
},
|
||||
},
|
||||
axisLine: { show: false },
|
||||
axisLabel: {
|
||||
margin: 10,
|
||||
textStyle: {
|
||||
color: "#6a9cd5",
|
||||
},
|
||||
},
|
||||
axisTick: { show: false },
|
||||
},
|
||||
],
|
||||
series: [
|
||||
{
|
||||
name: "异常流量",
|
||||
type: "line",
|
||||
smooth: true, //是否平滑曲线显示
|
||||
// symbol:'circle', // 默认是空心圆(中间是白色的),改成实心圆
|
||||
symbolSize: 0,
|
||||
|
||||
lineStyle: {
|
||||
normal: {
|
||||
color: "#F56C35 ", // 线条颜色
|
||||
},
|
||||
},
|
||||
areaStyle: {
|
||||
//区域填充样式
|
||||
normal: {
|
||||
//线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。
|
||||
color: new echarts.graphic.LinearGradient(
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
[
|
||||
{ offset: 0, color: "rgba(61,234,255, 0.3)" },
|
||||
{ offset: 0.7, color: "rgba(61,234,255, 0)" },
|
||||
],
|
||||
false
|
||||
),
|
||||
|
||||
shadowColor: "rgba(53,142,215, 0.9)", //阴影颜色
|
||||
shadowBlur: 100, //shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。
|
||||
},
|
||||
},
|
||||
data: this.temperatureList,
|
||||
},
|
||||
],
|
||||
};
|
||||
chart1.setOption(this.option1);
|
||||
|
||||
},
|
||||
//echarts图2蓝
|
||||
createdEchart2() {
|
||||
let chart2 = echarts.init(this.$refs["leftEcharts2"]);
|
||||
this.option2 = {
|
||||
// backgroundColor: "#05224d",
|
||||
tooltip: {},
|
||||
grid: {
|
||||
top: "65%",
|
||||
left: "0%",
|
||||
right: "0%",
|
||||
bottom: "0%",
|
||||
containLabel: true,
|
||||
},
|
||||
xAxis: [
|
||||
{
|
||||
type: "category",
|
||||
boundaryGap: true,
|
||||
axisLine: {
|
||||
//坐标轴轴线相关设置。数学上的x轴
|
||||
show: true,
|
||||
lineStyle: {
|
||||
color: "#233e64",
|
||||
},
|
||||
},
|
||||
axisLabel: {
|
||||
//坐标轴刻度标签的相关设置
|
||||
textStyle: {
|
||||
color: "#6a9cd5",
|
||||
margin: 20,
|
||||
},
|
||||
},
|
||||
axisTick: { show: true },
|
||||
data: this.xData,
|
||||
},
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: "value",
|
||||
min: 0,
|
||||
max: 150,
|
||||
splitNumber: 3,
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
color: "#233e64",
|
||||
},
|
||||
},
|
||||
axisLine: { show: false },
|
||||
axisLabel: {
|
||||
margin: 10,
|
||||
textStyle: {
|
||||
color: "#6a9cd5",
|
||||
},
|
||||
},
|
||||
axisTick: { show: false },
|
||||
},
|
||||
],
|
||||
series: [
|
||||
{
|
||||
name: "异常流量",
|
||||
type: "line",
|
||||
smooth: true, //是否平滑曲线显示
|
||||
// symbol:'circle', // 默认是空心圆(中间是白色的),改成实心圆
|
||||
symbolSize: 0,
|
||||
|
||||
lineStyle: {
|
||||
normal: {
|
||||
color: "#3deaff", // 线条颜色
|
||||
},
|
||||
},
|
||||
areaStyle: {
|
||||
//区域填充样式
|
||||
normal: {
|
||||
//线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。
|
||||
color: new echarts.graphic.LinearGradient(
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
[
|
||||
{ offset: 0, color: "rgba(61,234,255, 0.3)" },
|
||||
{ offset: 0.7, color: "rgba(61,234,255, 0)" },
|
||||
],
|
||||
false
|
||||
),
|
||||
|
||||
shadowColor: "rgba(53,142,215, 0.9)", //阴影颜色
|
||||
shadowBlur: 100, //shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。
|
||||
},
|
||||
},
|
||||
data: this.humidityList,
|
||||
},
|
||||
],
|
||||
};
|
||||
chart2.setOption(this.option2);
|
||||
|
||||
},
|
||||
//标养室管理数据
|
||||
getRealTimeData() {
|
||||
selectStandardDevStatisticsBySnApi({
|
||||
projectSn: this.searchSn,
|
||||
devSn: this.devSn,
|
||||
//查询实测实量数据
|
||||
getData() {
|
||||
getLimitOrderBySurveyingDateApi({
|
||||
projectSn: this.sn,
|
||||
}).then((res) => {
|
||||
console.log("标养室数据------", res);
|
||||
this.currentData = res.result.currentData;
|
||||
console.log("实测实量", res);
|
||||
this.listData = res.result;
|
||||
res.result.map((item) => {
|
||||
if (item.imageUrl.includes("[")) {
|
||||
item.imageUrl = JSON.parse(item.imageUrl);
|
||||
console.log("亮点展示 ====");
|
||||
if (
|
||||
item.imageUrl.length !== 0 &&
|
||||
!item.imageUrl[0].url.includes(this.$store.state.FILEURL)
|
||||
) {
|
||||
item.imageUrl[0].url =
|
||||
this.$store.state.FILEURL + item.imageUrl[0].url;
|
||||
}
|
||||
} else {
|
||||
let url = item.imageUrl;
|
||||
|
||||
if (url.length !== 0 && !url.includes(this.$store.state.FILEURL)) {
|
||||
item.imageUrl = [{}];
|
||||
item.imageUrl[0].url = this.$store.state.FILEURL + url;
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
//获取设备列表--环境监测实时数据--下拉
|
||||
getDevList() {
|
||||
getstandardDevListApi({ projectSn: this.searchSn }).then((result) => {
|
||||
console.log("列表", result);
|
||||
this.devList = result.result;
|
||||
if (result.result.length > 0) {
|
||||
this.devSn = result.result[0].devSn;
|
||||
this.getRealTimeData();
|
||||
this.selectDustNoiseData()
|
||||
|
||||
//查询楼层数据
|
||||
getBuildList(){
|
||||
// let arr=[]
|
||||
getMeasuredRealQuantitypi({
|
||||
projectSn: this.sn,
|
||||
}).then(res=>{
|
||||
console.log("楼层数据", res);
|
||||
if(res.result.length>=1){
|
||||
this.buildData=res.result
|
||||
}
|
||||
});
|
||||
},
|
||||
//初始化数据
|
||||
initData() {
|
||||
this.searchSn = this.projectsn;
|
||||
this.currentData = {
|
||||
currentDayAlarmNum: 0,
|
||||
humidity: 0,
|
||||
sampleNum: 0,
|
||||
temperature: 0,
|
||||
};
|
||||
this.devSn = "";
|
||||
if (this.personnelTypeChart) {
|
||||
this.personnelTypeChart.clear();
|
||||
}
|
||||
this.getData()
|
||||
|
||||
this.getDevList();
|
||||
// this.buildData.forEach(item=>{
|
||||
// if(arr.indexOf(item)===-1){
|
||||
// arr.push(item)
|
||||
// }
|
||||
// })
|
||||
// console.log('去重后的数组',arr);
|
||||
})
|
||||
},
|
||||
},
|
||||
components: {
|
||||
Card,
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.box {
|
||||
width: 100%;
|
||||
height: 540px;
|
||||
display: flex;
|
||||
flex-flow: column;
|
||||
.leftEcharts1{
|
||||
width: 300px;
|
||||
height: 300px;
|
||||
margin: -160px 0 0 0px;
|
||||
}
|
||||
.leftEcharts2{
|
||||
width: 300px;
|
||||
height: 300px;
|
||||
margin: -150px 0 0 0px; }
|
||||
}
|
||||
.environment {
|
||||
color: #fff;
|
||||
margin-left: 67%;
|
||||
margin: -135% 0 0 74%;
|
||||
.item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 80px;
|
||||
|
||||
.icon {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
&.temperature {
|
||||
background: url(../assets/images/quality/i-temperature.png) no-repeat;
|
||||
background-size: contain;
|
||||
margin-left: 3px;
|
||||
}
|
||||
&.humidity {
|
||||
background: url(../assets/images/quality/i-humidity.png) no-repeat;
|
||||
background-size: contain;
|
||||
margin-left: 3px;
|
||||
}
|
||||
// &.spray {
|
||||
// background: url(../assets/images/quality/i-spray.png) no-repeat;
|
||||
// background-size: contain;
|
||||
// }
|
||||
}
|
||||
.info {
|
||||
.value {
|
||||
margin-top: 4px;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
span {
|
||||
color: #f7d502;
|
||||
// margin-right: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
margin: 8px auto;
|
||||
width: 408px;
|
||||
height: 62px;
|
||||
line-height: 62px;
|
||||
text-align: center;
|
||||
font-size: 28px;
|
||||
font-weight: bold;
|
||||
color: #02d5d2;
|
||||
background: url(../assets/images/sourse/bg-car-count.png) no-repeat;
|
||||
.list {
|
||||
// width: 1000px;
|
||||
height: 525px;
|
||||
// display: flex;
|
||||
// flex-wrap: wrap;
|
||||
// margin-left: 20px;
|
||||
margin-top: 0px;
|
||||
.list-item {
|
||||
width: 400px;
|
||||
height: 100px;
|
||||
// display: flex;
|
||||
background: url("~@/assets/images/zjsj/zjsj_scsl.png") no-repeat;
|
||||
background-size: 100% 100%;
|
||||
// margin-right: 18px;
|
||||
margin-top: 10px;
|
||||
.dateDiv {
|
||||
margin-left: 320px;
|
||||
margin-top: -80px;
|
||||
font-size: 10px;
|
||||
}
|
||||
.imgDiv {
|
||||
img {
|
||||
width: 100px;
|
||||
height: 80px;
|
||||
margin: 10px 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
.DataTime {
|
||||
|
||||
display:flex;
|
||||
margin-top: 10px;
|
||||
.typeName{
|
||||
margin-left:6px;
|
||||
line-height: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .el-date-editor--daterange.el-input__inner {
|
||||
cursor: pointer;
|
||||
width: 235px;
|
||||
height: 30px;
|
||||
border: 1px solid #66d3d8;
|
||||
background: transparent;
|
||||
}
|
||||
::v-deep .el-range-input {
|
||||
cursor: pointer;
|
||||
background: transparent;
|
||||
color: #fff;
|
||||
}
|
||||
::v-deep .el-date-editor {
|
||||
cursor: pointer;
|
||||
.el-range__icon {
|
||||
line-height: 23px;
|
||||
color: #6ee4f0;
|
||||
}
|
||||
.el-range-separator {
|
||||
line-height: 23px;
|
||||
color: #757d88;
|
||||
}
|
||||
.el-range__close-icon {
|
||||
color: #757d88;
|
||||
line-height: 23px;
|
||||
}
|
||||
}
|
||||
#trendContainer {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
margin-top: -0px;
|
||||
}
|
||||
::v-deep .el-progress-bar {
|
||||
width: 105%;
|
||||
::v-deep .el-progress-bar__outer {
|
||||
height: 10px !important;
|
||||
}
|
||||
}
|
||||
::v-deep .el-progress__text {
|
||||
color: #fff;
|
||||
}
|
||||
::v-deep .el-progress-bar__inner {
|
||||
background-color: #5ce2f6;
|
||||
}
|
||||
::v-deep .el-input--suffix .el-input__inner {
|
||||
background: transparent !important;
|
||||
color: #fff !important;
|
||||
border: 1px solid #66D3D8 !important ;
|
||||
height: 30px !important;
|
||||
z-index: 999;
|
||||
margin-left:10px;
|
||||
// width: 150px;
|
||||
}
|
||||
// // ::v-deep .el-input__suffix {
|
||||
// right: -70px;
|
||||
// top:2;
|
||||
// }
|
||||
|
||||
</style>
|
||||
@ -43,7 +43,7 @@
|
||||
<div class="woria">
|
||||
<JRingChart
|
||||
:title="{
|
||||
text: '今日巡检',
|
||||
text: '本周巡检',
|
||||
subTitle: `${list.todayTotal} 条`,
|
||||
fontSize: 18,
|
||||
}"
|
||||
|
||||
@ -1,269 +1,396 @@
|
||||
<template>
|
||||
<Card title="实测实量">
|
||||
<div class="DataTime">
|
||||
<el-date-picker
|
||||
v-model="time1"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="yyyy-MM-dd"
|
||||
size="mini"
|
||||
></el-date-picker>
|
||||
<Card title="标养室管理">
|
||||
<div class="box">
|
||||
<div class="leftEcharts1" ref="leftEcharts1"></div>
|
||||
<div class="leftEcharts2" ref="leftEcharts2"></div>
|
||||
|
||||
</div>
|
||||
<div class="list">
|
||||
<vue-scroll style="width: 100%; height: 250px">
|
||||
<div class="list-item" v-for="(item, index) in listData" :key="index">
|
||||
<div class="imgDiv">
|
||||
<img
|
||||
:preview="item.imageUrl[0] ? item.imageUrl[0].url : []"
|
||||
:src="item.imageUrl[0] ? item.imageUrl[0].url : []"
|
||||
alt=""
|
||||
width="50px"
|
||||
/>
|
||||
<!-- <img :src="$store.state.FILEURL+item.imageUrl" alt="" /> -->
|
||||
<div class="environment">
|
||||
<div class="item">
|
||||
<div class="icon temperature"></div>
|
||||
<div class="info">
|
||||
<div class="label">室内温度</div>
|
||||
<div class="value">
|
||||
<span>{{ currentData.temperature || 0 }}</span> ℃
|
||||
</div>
|
||||
</div>
|
||||
<div class="textDiv">
|
||||
<p style="margin: -70px 0 0 120px; font-size: 16px">
|
||||
{{ item.title }}
|
||||
</p>
|
||||
<p style="margin-top: 10px; font-size: 10px;margin-left:120px">
|
||||
{{ item.measuredRealQuantityNumber }}/{{ item.qualifiedNumber }}次
|
||||
</p>
|
||||
<el-progress
|
||||
:percentage="item.qualifiedRatio"
|
||||
style="width: 260px; margin-left: 120px"
|
||||
></el-progress>
|
||||
</div>
|
||||
<div class="dateDiv">
|
||||
{{ item.surveyingDate }}
|
||||
<br />
|
||||
</div>
|
||||
<div class="item" style="margin-top:100px">
|
||||
<div class="icon humidity"></div>
|
||||
<div class="info">
|
||||
<div class="label">室内湿度</div>
|
||||
<div class="value">
|
||||
<span>{{ currentData.humidity || 0 }}</span
|
||||
>%RH
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</vue-scroll>
|
||||
</div>
|
||||
<div class="tbody" v-if="listData.length == 0">
|
||||
<div class="dataImg">
|
||||
<img src="@/assets/images/noData3.png" alt srcset />
|
||||
<p>{{ $t("message.dataBoard.nodata") }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</Card>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
getstandardDevListApi,
|
||||
selectStandardDevStatisticsBySnApi,
|
||||
selectDayCurrentDataListApi
|
||||
} from "@/assets/js/api/markingRoom";
|
||||
import Card from "../components/Card.vue";
|
||||
import { getLimitOrderBySurveyingDateApi } from "@/assets/js/api/zhongjianFourth";
|
||||
|
||||
import echarts from 'echarts4';
|
||||
export default {
|
||||
components: { Card },
|
||||
data() {
|
||||
return {
|
||||
time1: "",
|
||||
// listData:[
|
||||
// {
|
||||
// img:'~@/assets/images/zjsj/progress1.jpg',
|
||||
// name:'结构工程',
|
||||
// moen:'94/100',
|
||||
// progress:20,
|
||||
// date:' 2022-12-20'
|
||||
// },
|
||||
// {
|
||||
// img:'~@/assets/images/zjsj/progress1.jpg',
|
||||
// name:'结构工程',
|
||||
// moen:'94/100',
|
||||
// progress:20,
|
||||
// date:' 2022-12-20'
|
||||
// },
|
||||
// {
|
||||
// img:'~@/assets/images/zjsj/progress1.jpg',
|
||||
// name:'结构工程',
|
||||
// moen:'94/100',
|
||||
// progress:20,
|
||||
// date:' 2022-12-20'
|
||||
// },
|
||||
// {
|
||||
// img:'~@/assets/images/zjsj/progress1.jpg',
|
||||
// name:'结构工程',
|
||||
// moen:'94/100',
|
||||
// progress:20,
|
||||
// date:' 2022-12-20'
|
||||
// },
|
||||
// // {
|
||||
// // img:'~@/assets/images/zjsj/progress1.jpg',
|
||||
// // name:'结构工程',
|
||||
// // moen:'94/100',
|
||||
// // progress:20,
|
||||
// // date:' 2022-12-20'
|
||||
// // },
|
||||
// // {
|
||||
// // img:'~@/assets/images/zjsj/progress1.jpg',
|
||||
// // name:'结构工程',
|
||||
// // moen:'94/100',
|
||||
// // progress:20,
|
||||
// // date:' 2022-12-20'
|
||||
// // },
|
||||
// // {
|
||||
// // img:'~@/assets/images/zjsj/progress1.jpg',
|
||||
// // name:'结构工程',
|
||||
// // moen:'94/100',
|
||||
// // progress:20,
|
||||
// // date:' 2022-12-20'
|
||||
// // },
|
||||
// // {
|
||||
// // img:'~@/assets/images/zjsj/progress1.jpg',
|
||||
// // name:'结构工程',
|
||||
// // moen:'94/100',
|
||||
// // progress:20,
|
||||
// // date:' 2022-12-20'
|
||||
// // },
|
||||
// // {
|
||||
// // img:'~@/assets/images/zjsj/progress1.jpg',
|
||||
// // name:'结构工程',
|
||||
// // moen:'94/100',
|
||||
// // progress:20,
|
||||
// // date:' 2022-12-20'
|
||||
// // },
|
||||
// // {
|
||||
// // img:'~@/assets/images/zjsj/progress1.jpg',
|
||||
// // name:'结构工程',
|
||||
// // moen:'94/100',
|
||||
// // progress:20,
|
||||
// // date:' 2022-12-20'
|
||||
// // },
|
||||
// ],
|
||||
sn: "",
|
||||
listData: [],
|
||||
time1: "",
|
||||
currentData: {
|
||||
currentDayAlarmNum: 0,
|
||||
humidity: 0,
|
||||
sampleNum: 0,
|
||||
temperature: 0,
|
||||
},
|
||||
searchSn: "",
|
||||
devSn: "",
|
||||
dustData_24: [],
|
||||
humidityList:[],//湿度
|
||||
temperatureList:[],//温度
|
||||
xData:[],//x轴时间
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.sn = this.$store.state.projectSn;
|
||||
this.getData();
|
||||
mounted() {
|
||||
this.createdEchart1()
|
||||
this.createdEchart2()
|
||||
if (this.$store.state.projectSn) {
|
||||
this.searchSn = this.$store.state.projectSn;
|
||||
this.$nextTick(() => {
|
||||
this.getDevList();
|
||||
this.getRealTimeData();
|
||||
});
|
||||
} else {
|
||||
this.initData();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//查询实测实量数据
|
||||
getData() {
|
||||
getLimitOrderBySurveyingDateApi({
|
||||
projectSn: this.sn,
|
||||
}).then((res) => {
|
||||
console.log("实测实量", res);
|
||||
this.listData = res.result;
|
||||
res.result.map((item) => {
|
||||
if (item.imageUrl.includes("[")) {
|
||||
item.imageUrl = JSON.parse(item.imageUrl);
|
||||
console.log("亮点展示 ====");
|
||||
if (
|
||||
item.imageUrl.length !== 0 &&
|
||||
!item.imageUrl[0].url.includes(this.$store.state.FILEURL)
|
||||
) {
|
||||
item.imageUrl[0].url =
|
||||
this.$store.state.FILEURL + item.imageUrl[0].url;
|
||||
}
|
||||
} else {
|
||||
let url = item.imageUrl;
|
||||
|
||||
if (url.length !== 0 && !url.includes(this.$store.state.FILEURL)) {
|
||||
item.imageUrl = [{}];
|
||||
item.imageUrl[0].url = this.$store.state.FILEURL + url;
|
||||
}
|
||||
}
|
||||
});
|
||||
//近24小时数据-图表渲染
|
||||
selectDustNoiseData() {
|
||||
let data = {
|
||||
projectSn: this.searchSn,
|
||||
devSn: this.devSn,
|
||||
};
|
||||
selectDayCurrentDataListApi(data).then((res) => {
|
||||
console.log('近24小时数据',res)
|
||||
this.dustData_24 = res.result;
|
||||
this.dustData_24.forEach(item=>{
|
||||
this.humidityList.push(item.humidity)
|
||||
this.temperatureList.push(item.temperature)
|
||||
this.xData.push(item.receiveTime.split(' ')[1])
|
||||
})
|
||||
this.createdEchart1();
|
||||
this.createdEchart2();
|
||||
});
|
||||
},
|
||||
},
|
||||
components: {
|
||||
Card,
|
||||
//echarts图1红
|
||||
createdEchart1() {
|
||||
let chart1 = echarts.init(this.$refs["leftEcharts1"]);
|
||||
this.option1 = {
|
||||
// backgroundColor: "#05224d",
|
||||
tooltip: {},
|
||||
grid: {
|
||||
top: "65%",
|
||||
left: "0%",
|
||||
right: "10%",
|
||||
bottom: "0%",
|
||||
containLabel: true,
|
||||
},
|
||||
xAxis: [
|
||||
{
|
||||
type: "category",
|
||||
boundaryGap: true,
|
||||
axisLine: {
|
||||
//坐标轴轴线相关设置。数学上的x轴
|
||||
show: true,
|
||||
lineStyle: {
|
||||
color: "#233e64",
|
||||
},
|
||||
},
|
||||
axisLabel: {
|
||||
//坐标轴刻度标签的相关设置
|
||||
textStyle: {
|
||||
color: "#6a9cd5",
|
||||
margin: 20,
|
||||
},
|
||||
},
|
||||
axisTick: { show: true },
|
||||
data: this.xData,
|
||||
},
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: "value",
|
||||
min: 0,
|
||||
max: 150,
|
||||
splitNumber: 3,
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
color: "#233e64",
|
||||
},
|
||||
},
|
||||
axisLine: { show: false },
|
||||
axisLabel: {
|
||||
margin: 10,
|
||||
textStyle: {
|
||||
color: "#6a9cd5",
|
||||
},
|
||||
},
|
||||
axisTick: { show: false },
|
||||
},
|
||||
],
|
||||
series: [
|
||||
{
|
||||
name: "异常流量",
|
||||
type: "line",
|
||||
smooth: true, //是否平滑曲线显示
|
||||
// symbol:'circle', // 默认是空心圆(中间是白色的),改成实心圆
|
||||
symbolSize: 0,
|
||||
|
||||
lineStyle: {
|
||||
normal: {
|
||||
color: "#F56C35 ", // 线条颜色
|
||||
},
|
||||
},
|
||||
areaStyle: {
|
||||
//区域填充样式
|
||||
normal: {
|
||||
//线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。
|
||||
color: new echarts.graphic.LinearGradient(
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
[
|
||||
{ offset: 0, color: "rgba(61,234,255, 0.3)" },
|
||||
{ offset: 0.7, color: "rgba(61,234,255, 0)" },
|
||||
],
|
||||
false
|
||||
),
|
||||
|
||||
shadowColor: "rgba(53,142,215, 0.9)", //阴影颜色
|
||||
shadowBlur: 100, //shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。
|
||||
},
|
||||
},
|
||||
data: this.temperatureList,
|
||||
},
|
||||
],
|
||||
};
|
||||
chart1.setOption(this.option1);
|
||||
|
||||
},
|
||||
//echarts图2蓝
|
||||
createdEchart2() {
|
||||
let chart2 = echarts.init(this.$refs["leftEcharts2"]);
|
||||
this.option2 = {
|
||||
// backgroundColor: "#05224d",
|
||||
tooltip: {},
|
||||
grid: {
|
||||
top: "65%",
|
||||
left: "0%",
|
||||
right: "10%",
|
||||
bottom: "0%",
|
||||
containLabel: true,
|
||||
},
|
||||
xAxis: [
|
||||
{
|
||||
type: "category",
|
||||
boundaryGap: true,
|
||||
axisLine: {
|
||||
//坐标轴轴线相关设置。数学上的x轴
|
||||
show: true,
|
||||
lineStyle: {
|
||||
color: "#233e64",
|
||||
},
|
||||
},
|
||||
axisLabel: {
|
||||
//坐标轴刻度标签的相关设置
|
||||
textStyle: {
|
||||
color: "#6a9cd5",
|
||||
margin: 20,
|
||||
},
|
||||
},
|
||||
axisTick: { show: true },
|
||||
data: this.xData,
|
||||
},
|
||||
],
|
||||
yAxis: [
|
||||
{
|
||||
type: "value",
|
||||
min: 0,
|
||||
max: 150,
|
||||
splitNumber: 3,
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
color: "#233e64",
|
||||
},
|
||||
},
|
||||
axisLine: { show: false },
|
||||
axisLabel: {
|
||||
margin: 10,
|
||||
textStyle: {
|
||||
color: "#6a9cd5",
|
||||
},
|
||||
},
|
||||
axisTick: { show: false },
|
||||
},
|
||||
],
|
||||
series: [
|
||||
{
|
||||
name: "异常流量",
|
||||
type: "line",
|
||||
smooth: true, //是否平滑曲线显示
|
||||
// symbol:'circle', // 默认是空心圆(中间是白色的),改成实心圆
|
||||
symbolSize: 0,
|
||||
|
||||
lineStyle: {
|
||||
normal: {
|
||||
color: "#3deaff", // 线条颜色
|
||||
},
|
||||
},
|
||||
areaStyle: {
|
||||
//区域填充样式
|
||||
normal: {
|
||||
//线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。
|
||||
color: new echarts.graphic.LinearGradient(
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
[
|
||||
{ offset: 0, color: "rgba(61,234,255, 0.3)" },
|
||||
{ offset: 0.7, color: "rgba(61,234,255, 0)" },
|
||||
],
|
||||
false
|
||||
),
|
||||
|
||||
shadowColor: "rgba(53,142,215, 0.9)", //阴影颜色
|
||||
shadowBlur: 100, //shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。
|
||||
},
|
||||
},
|
||||
data: this.humidityList,
|
||||
},
|
||||
],
|
||||
};
|
||||
chart2.setOption(this.option2);
|
||||
|
||||
},
|
||||
//标养室管理数据
|
||||
getRealTimeData() {
|
||||
selectStandardDevStatisticsBySnApi({
|
||||
projectSn: this.searchSn,
|
||||
devSn: this.devSn,
|
||||
}).then((res) => {
|
||||
console.log("标养室数据------", res);
|
||||
this.currentData = res.result.currentData;
|
||||
});
|
||||
},
|
||||
//获取设备列表--环境监测实时数据--下拉
|
||||
getDevList() {
|
||||
getstandardDevListApi({ projectSn: this.searchSn }).then((result) => {
|
||||
console.log("列表", result);
|
||||
this.devList = result.result;
|
||||
if (result.result.length > 0) {
|
||||
this.devSn = result.result[0].devSn;
|
||||
this.getRealTimeData();
|
||||
this.selectDustNoiseData()
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
//初始化数据
|
||||
initData() {
|
||||
this.searchSn = this.projectsn;
|
||||
this.currentData = {
|
||||
currentDayAlarmNum: 0,
|
||||
humidity: 0,
|
||||
sampleNum: 0,
|
||||
temperature: 0,
|
||||
};
|
||||
this.devSn = "";
|
||||
if (this.personnelTypeChart) {
|
||||
this.personnelTypeChart.clear();
|
||||
}
|
||||
|
||||
this.getDevList();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.list {
|
||||
// width: 1000px;
|
||||
height: 525px;
|
||||
// display: flex;
|
||||
// flex-wrap: wrap;
|
||||
// margin-left: -290%;
|
||||
margin-top: 20px;
|
||||
.list-item {
|
||||
width: 375px;
|
||||
height: 100px;
|
||||
// display: flex;
|
||||
background: url("~@/assets/images/zjsj/zjsj_scsl.png") no-repeat;
|
||||
background-size: 100% 100%;
|
||||
// margin-right: 18px;
|
||||
margin-top: 10px;
|
||||
.dateDiv {
|
||||
margin-left: 300px;
|
||||
margin-top: -80px;
|
||||
font-size: 10px;
|
||||
.box {
|
||||
width: 100%;
|
||||
height: 540px;
|
||||
display: flex;
|
||||
flex-flow: column;
|
||||
.leftEcharts1{
|
||||
width: 300px;
|
||||
height: 300px;
|
||||
margin: -160px 0 0 0px;
|
||||
}
|
||||
.leftEcharts2{
|
||||
width: 300px;
|
||||
height: 300px;
|
||||
margin: -150px 0 0 0px; }
|
||||
}
|
||||
.environment {
|
||||
color: #fff;
|
||||
margin-left: 67%;
|
||||
margin: -150% 0 0 71%;
|
||||
.item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 80px;
|
||||
|
||||
.icon {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
&.temperature {
|
||||
background: url(../assets/images/quality/i-temperature.png) no-repeat;
|
||||
background-size: contain;
|
||||
margin-left: 3px;
|
||||
}
|
||||
&.humidity {
|
||||
background: url(../assets/images/quality/i-humidity.png) no-repeat;
|
||||
background-size: contain;
|
||||
margin-left: 3px;
|
||||
}
|
||||
// &.spray {
|
||||
// background: url(../assets/images/quality/i-spray.png) no-repeat;
|
||||
// background-size: contain;
|
||||
// }
|
||||
}
|
||||
.imgDiv {
|
||||
img {
|
||||
width: 100px;
|
||||
height: 80px;
|
||||
margin: 10px 10px;
|
||||
.info {
|
||||
.value {
|
||||
margin-top: 4px;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
span {
|
||||
color: #f7d502;
|
||||
// margin-right: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.DataTime {
|
||||
cursor: pointer;
|
||||
margin-top: 10px;
|
||||
margin-left: 37.5%;
|
||||
width: 210;
|
||||
height: 17px;
|
||||
}
|
||||
.dataImg {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: -120% 0px 0px 40%;
|
||||
p {
|
||||
margin: 6px 0 0 13px;
|
||||
.btn {
|
||||
margin: 8px auto;
|
||||
width: 408px;
|
||||
height: 62px;
|
||||
line-height: 62px;
|
||||
text-align: center;
|
||||
font-size: 28px;
|
||||
font-weight: bold;
|
||||
color: #02d5d2;
|
||||
background: url(../assets/images/sourse/bg-car-count.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
::v-deep .el-date-editor--daterange.el-input__inner {
|
||||
cursor: pointer;
|
||||
width: 235px;
|
||||
height: 30px;
|
||||
border: 1px solid #66d3d8;
|
||||
background: transparent;
|
||||
}
|
||||
::v-deep .el-range-input {
|
||||
cursor: pointer;
|
||||
background: transparent;
|
||||
color: #fff;
|
||||
}
|
||||
::v-deep .el-date-editor {
|
||||
cursor: pointer;
|
||||
.el-range__icon {
|
||||
line-height: 23px;
|
||||
color: #6ee4f0;
|
||||
}
|
||||
.el-range-separator {
|
||||
line-height: 23px;
|
||||
color: #757d88;
|
||||
}
|
||||
.el-range__close-icon {
|
||||
color: #757d88;
|
||||
line-height: 23px;
|
||||
}
|
||||
}
|
||||
#trendContainer {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
margin-top: -0px;
|
||||
}
|
||||
::v-deep .el-progress-bar {
|
||||
width: 100%;
|
||||
::v-deep .el-progress-bar__outer {
|
||||
height: 10px !important;
|
||||
}
|
||||
}
|
||||
::v-deep .el-progress__text {
|
||||
color: #fff;
|
||||
}
|
||||
::v-deep .el-progress-bar__inner {
|
||||
background-color: #5ce2f6;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<Card title="材料验收报告">
|
||||
<div class="imgBox">
|
||||
<!-- <div class="imgBox">
|
||||
<img src="@/assets/images/zjsj/groupImg.png" alt="" />
|
||||
<div class="value">
|
||||
<span class="number" style="color:#FFC303 !important">{{ list.qualifiedRatio||0 }}</span>
|
||||
@ -12,21 +12,58 @@
|
||||
<div class="text">
|
||||
<span class="number">{{ list.qualified ||0}}</span>/<span class="number">{{ list.sum||0}}</span>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="titleSelect">
|
||||
<div class="bulidBox">
|
||||
<div class="typeName">楼层</div>
|
||||
<el-select v-model="floorName1" placeholder="请选择"size="mini" filterable popper-class="selectCls"
|
||||
style="width:170px;"
|
||||
>
|
||||
<el-option
|
||||
label="负三楼"
|
||||
:value="0">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<!-- <el-select v-model="floorName1" placeholder="请选择"size="mini" filterable popper-class="selectCls"
|
||||
style="width:170px;"
|
||||
@change="checkTypes">
|
||||
<el-option v-for="item in buildData"
|
||||
:key="item.id"
|
||||
:label="item.floorName"
|
||||
:value="item.id">
|
||||
</el-option>
|
||||
</el-select> -->
|
||||
</div>
|
||||
<div class="typeBox">
|
||||
<div class="typeName">种类</div>
|
||||
<el-select v-model="floorName1" placeholder="请选择"size="mini" filterable popper-class="selectCls"
|
||||
style="width:170px;"
|
||||
>
|
||||
<el-option
|
||||
label="混凝土抗压"
|
||||
:value="0">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="box">
|
||||
<div class="security-list">
|
||||
<div class="thead">
|
||||
<div class="row">
|
||||
<div class="td">事件类型</div>
|
||||
<div class="td" style="margin-left: 5px">使用部位</div>
|
||||
<div class="td" style="margin-left: 5px">检测时间</div>
|
||||
<div class="td" style="margin-left: 20px">检测结果</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tbody">
|
||||
<vue-scroll style="width: 95%;height:250px">
|
||||
<vue-scroll style="width: 95%;height:460px">
|
||||
<div class="row" v-for="(item, index) in tableData" :key="index">
|
||||
<div class="td">{{ item.eventType }}</div>
|
||||
<div class="td">{{ item.detectionDate }}</div>
|
||||
<div class="td">负三层</div>
|
||||
<div class="td" style="margin-left: 10px">{{ item.detectionDate }}</div>
|
||||
<div class="td">{{ item.status==1?'合格':'不合格' }}</div>
|
||||
</div>
|
||||
<div class="row" v-if="tableData.length == 0">
|
||||
@ -61,6 +98,8 @@ export default {
|
||||
],
|
||||
sn:'',
|
||||
list:{},
|
||||
floorName1:'',
|
||||
floorName2:'',
|
||||
};
|
||||
},
|
||||
|
||||
@ -99,10 +138,10 @@ getLimitList(){
|
||||
|
||||
<style lang="less" scoped>
|
||||
.security-list {
|
||||
margin-top: -4%;
|
||||
// margin-top: -4%;
|
||||
height: 108%;
|
||||
color: #fff;
|
||||
margin-left: 15px;
|
||||
// margin-left: 15px;
|
||||
.thead {
|
||||
color: #6ae3eb;
|
||||
margin-bottom: 5px;
|
||||
@ -135,13 +174,11 @@ getLimitList(){
|
||||
}
|
||||
|
||||
&:not(:last-child) {
|
||||
width: 120px;
|
||||
text-overflow: ellipsis;
|
||||
|
||||
overflow: hidden;
|
||||
|
||||
white-space: nowrap;
|
||||
margin: 20px 0 0 7px;
|
||||
width: 87px;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
margin: 20px 0 0 0px;
|
||||
}
|
||||
|
||||
img {
|
||||
@ -158,9 +195,7 @@ getLimitList(){
|
||||
}
|
||||
}
|
||||
}
|
||||
.imgBox {
|
||||
margin: 30px 0 0 80px;
|
||||
}
|
||||
|
||||
.titleRow {
|
||||
margin-top: 3%;
|
||||
color: #5ec2c8;
|
||||
@ -199,38 +234,32 @@ getLimitList(){
|
||||
::v-deep .el-table td {
|
||||
border: none;
|
||||
}
|
||||
.value{
|
||||
position: absolute;
|
||||
top: 27%;
|
||||
left: 88.7%;
|
||||
transform: translate(-50%, -50%);
|
||||
font-size: 37px;
|
||||
color: #FFC303;
|
||||
font-weight: 700;
|
||||
}
|
||||
.bottom {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
font-size: 13px;
|
||||
|
||||
.label{
|
||||
margin-left: 94px;
|
||||
margin: 18px 0 22px 136px;
|
||||
font-size: 14px;
|
||||
.titleSelect{
|
||||
display:flex;
|
||||
margin: 20px 0 10px 0px;
|
||||
}
|
||||
}
|
||||
.typeName{
|
||||
margin-left: 10px;
|
||||
line-height: 30px;
|
||||
position: absolute;
|
||||
}
|
||||
::v-deep .el-input--suffix .el-input__inner {
|
||||
background: transparent !important;
|
||||
color: #fff !important;
|
||||
border: 1px solid #66D3D8 !important ;
|
||||
height: 30px !important;
|
||||
z-index: 999;
|
||||
margin-left:10px;
|
||||
width: 120px;
|
||||
}
|
||||
::v-deep .el-input__suffix{
|
||||
right: 50px;
|
||||
}
|
||||
.bulidBox{
|
||||
}
|
||||
::v-deep .el-select{
|
||||
margin-left: 37px;
|
||||
}
|
||||
|
||||
|
||||
.number:nth-child(1) {
|
||||
color: #af5320;
|
||||
}
|
||||
|
||||
.number:nth-child(2) {
|
||||
color: #fff;
|
||||
}
|
||||
.text{
|
||||
font-size: 18px;
|
||||
margin: -16px 0 26px 171px;
|
||||
}
|
||||
</style>
|
||||
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<Card title="危大工程">
|
||||
<Card title="重大危险源监测">
|
||||
<div class="tabs">
|
||||
<div
|
||||
class="tab"
|
||||
@ -9,6 +9,7 @@
|
||||
@click="changeTab(index)"
|
||||
>{{ tab }}</div>
|
||||
</div>
|
||||
|
||||
<!-- 临边防护 -->
|
||||
<div class="list" v-if="tabIndex==0">
|
||||
<div class="thead">
|
||||
@ -47,9 +48,10 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<!-- 塔机监测 -->
|
||||
<div class="list" v-if="tabIndex==1">
|
||||
<div class="thead">
|
||||
<!-- <div class="thead">
|
||||
<div class="row">
|
||||
<div class="td">名称</div>
|
||||
<div class="td">测点名称</div>
|
||||
@ -59,7 +61,7 @@
|
||||
<div class="td">监测时间</div>
|
||||
<div class="td">报警状态</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<!-- <div class="tbody">
|
||||
<vue-scroll>
|
||||
<div class="row" v-for="i in 4" :key="i">
|
||||
@ -80,8 +82,10 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 高支模监测 -->
|
||||
<div class="list" v-if="tabIndex==2">
|
||||
<div class="thead">
|
||||
<!-- <div class="thead">
|
||||
<div class="row">
|
||||
<div class="td">设备名称</div>
|
||||
<div class="td">监测位置</div>
|
||||
@ -92,7 +96,7 @@
|
||||
<div class="td">压力监测</div>
|
||||
<div class="td">水位移位</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="tbody">
|
||||
<div class="dataImg">
|
||||
<img src="@/assets/images/noData3.png" alt srcset />
|
||||
@ -100,6 +104,57 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 深基坑 -->
|
||||
<div class="list" v-if="tabIndex==3">
|
||||
<!-- <div class="thead">
|
||||
<div class="row">
|
||||
<div class="td">设备名称</div>
|
||||
<div class="td">监测位置</div>
|
||||
<div class="td">监测时间</div>
|
||||
<div class="td">模版沉降</div>
|
||||
<div class="td">支杆应力</div>
|
||||
<div class="td">杆件倾斜</div>
|
||||
<div class="td">压力监测</div>
|
||||
<div class="td">水位移位</div>
|
||||
</div> -->
|
||||
<div class="tbody">
|
||||
<div class="dataImg">
|
||||
<img src="@/assets/images/noData3.png" alt srcset />
|
||||
<p>{{$t('message.dataBoard.nodata')}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="tbody">
|
||||
<div class="dataImg">
|
||||
<img src="@/assets/images/noData3.png" alt srcset />
|
||||
<p>{{$t('message.dataBoard.nodata')}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<!-- 云端建设工厂 -->
|
||||
<div class="list" v-if="tabIndex==4">
|
||||
<!-- <div class="thead">
|
||||
<div class="row">
|
||||
<div class="td">设备名称</div>
|
||||
<div class="td">监测位置</div>
|
||||
<div class="td">监测时间</div>
|
||||
<div class="td">模版沉降</div>
|
||||
<div class="td">支杆应力</div>
|
||||
<div class="td">杆件倾斜</div>
|
||||
<div class="td">压力监测</div>
|
||||
<div class="td">水位移位</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="tbody">
|
||||
<div class="dataImg">
|
||||
<img src="@/assets/images/noData3.png" alt srcset />
|
||||
<p>{{$t('message.dataBoard.nodata')}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</Card>
|
||||
</template>
|
||||
|
||||
@ -111,7 +166,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
tabIndex: 0,
|
||||
tabs: ["临边防护", "塔机监测", "高支模监测"],
|
||||
tabs: ["临边防护", "塔机监测", "高支模监测","深基坑","云端建设工厂"],
|
||||
current:0,//页数
|
||||
size:0,//条数
|
||||
edgeList:[]
|
||||
@ -147,7 +202,7 @@ export default {
|
||||
display: flex;
|
||||
.tab {
|
||||
margin-right: 20px;
|
||||
width: 90px;
|
||||
width: 110px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
text-align: center;
|
||||
@ -234,7 +289,7 @@ export default {
|
||||
margin-left: 500px;
|
||||
margin-top: 50px;
|
||||
p {
|
||||
margin-left: 4%;
|
||||
margin-left: 2%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -15,6 +15,7 @@
|
||||
}"
|
||||
v-show="showPoints"
|
||||
>
|
||||
<span class="titleBox">{{point.name}}</span>
|
||||
</div>
|
||||
<FaceGageDialog v-if="gateDialog" :close="() => (gateDialog = false)" :data="faceGateData" />
|
||||
<EnvironmentDialog v-if="environmentDialog" :data="environmentInfo" :close="() => (environmentDialog = false)" />
|
||||
@ -187,6 +188,13 @@ export default {
|
||||
&.show {
|
||||
display: block;
|
||||
}
|
||||
.titleBox{
|
||||
display: inline-block;
|
||||
width: 260px;
|
||||
position: absolute;
|
||||
right: -89px;
|
||||
top: -20px;
|
||||
}
|
||||
// &.i-tower {
|
||||
// background-image: url('~@/views/projectAdmin/jlw/assets/images/digitalSite/icons/i-tower-crane.png');
|
||||
// }
|
||||
|
||||
@ -4,35 +4,35 @@
|
||||
<div class="contentbut">
|
||||
<div class="lw">
|
||||
<p>今日出勤</p>
|
||||
<!-- <p class="number">{{ list.todayAtte||0 }}</p> -->
|
||||
<p class="number">269</p>
|
||||
<p class="number">{{ list.todayAtte||0 }}</p>
|
||||
<!-- <p class="number">269</p> -->
|
||||
</div>
|
||||
<div class="cq">
|
||||
<p>在场</p>
|
||||
<!-- <p class="number">{{ list.bePresent||0 }}</p> -->
|
||||
<p class="number">316</p>
|
||||
<p class="number">{{ list.bePresent||0 }}</p>
|
||||
<!-- <p class="number">316</p> -->
|
||||
</div>
|
||||
<div class="tc">
|
||||
<p>今日出勤率</p>
|
||||
<!-- <p class="number">{{ list.atteRatio||0 }}%</p> -->
|
||||
<p class="number">85.1%</p>
|
||||
<p class="number">{{ list.atteRatio||0 }}%</p>
|
||||
<!-- <p class="number">85.1%</p> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="contentbut">
|
||||
<div class="lw">
|
||||
<p>现场</p>
|
||||
<!-- <p class="number">{{ list.scene||0 }}</p> -->
|
||||
<p class="number">253</p>
|
||||
<p class="number">{{ list.scene||0 }}</p>
|
||||
<!-- <p class="number">253</p> -->
|
||||
</div>
|
||||
<div class="cq">
|
||||
<p>今日进场</p>
|
||||
<p class="number">0</p>
|
||||
<!-- <p class="number">{{ list.todayMobilization||0 }}</p> -->
|
||||
<!-- <p class="number">0</p> -->
|
||||
<p class="number">{{ list.todayMobilization||0 }}</p>
|
||||
</div>
|
||||
<div class="tc">
|
||||
<p>今日退场</p>
|
||||
<p class="number">0</p>
|
||||
<!-- <p class="number">{{ list.todayExit||0 }}</p> -->
|
||||
<!-- <p class="number">0</p> -->
|
||||
<p class="number">{{ list.todayExit||0 }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -51,7 +51,7 @@
|
||||
<div class="woria">
|
||||
<JRingChart
|
||||
:title="{
|
||||
text: '今日巡检',
|
||||
text: '本周巡检',
|
||||
subTitle: `${safetyPatrolInspection.todayTotalNum}条`,
|
||||
fontSize: 18,
|
||||
}"
|
||||
|
||||
301
src/views/projectFront/materialManage/materialMobilization.vue
Normal file
301
src/views/projectFront/materialManage/materialMobilization.vue
Normal file
@ -0,0 +1,301 @@
|
||||
<template>
|
||||
<!-- 材料进场记录 -->
|
||||
<div class="panoramaPlan">
|
||||
<div class="header-box">
|
||||
<el-button type="primary" @click="addForm"> 新增 </el-button>
|
||||
</div>
|
||||
<div class="table-box">
|
||||
<vue-scroll style="width: 100%; height: 550px">
|
||||
<el-table class="tables" :data="tableData">
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="chargerId"
|
||||
label="序号"
|
||||
type="index"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="materialType"
|
||||
label="材料类型"
|
||||
></el-table-column>
|
||||
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="manufacturer"
|
||||
label="生产厂家"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="licensePlateNumber"
|
||||
label="车牌号"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="approachVolume"
|
||||
width="150"
|
||||
label="进场量"
|
||||
>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="entryTime"
|
||||
label="进场时间"
|
||||
></el-table-column>
|
||||
|
||||
|
||||
<!-- 操作 -->
|
||||
<el-table-column label="操作" width="220" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
type="text"
|
||||
icon="el-icon-edit-outline"
|
||||
@click="editData(scope.row)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
class="delete-btn"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="deleteData(scope.row)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</vue-scroll>
|
||||
<el-pagination
|
||||
class="pagerBox"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:current-page="current"
|
||||
:page-sizes="$store.state.PAGESIZRS"
|
||||
:page-size="size"
|
||||
layout="total, sizes, prev, pager, next"
|
||||
:total="Number(total)"
|
||||
background
|
||||
></el-pagination>
|
||||
</div>
|
||||
<!-- 新增弹框 -->
|
||||
<el-dialog
|
||||
class="dialog"
|
||||
:title="dialogTitle"
|
||||
:modal-append-to-body="false"
|
||||
:visible.sync="dialogVisible"
|
||||
width="667px"
|
||||
>
|
||||
<div class="dialog-content">
|
||||
<vue-scroll>
|
||||
<el-form
|
||||
ref="form"
|
||||
:model="dialogdata"
|
||||
:rules="rules"
|
||||
label-width="155px"
|
||||
size="medium"
|
||||
class="dialogFormBox"
|
||||
>
|
||||
<el-form-item label="材料类型" prop="materialType">
|
||||
<el-input
|
||||
v-model="dialogdata.materialType"
|
||||
placeholder="请输入"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="生产厂家" prop="manufacturer">
|
||||
<el-input
|
||||
v-model="dialogdata.manufacturer"
|
||||
placeholder="请输入"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="车牌号" prop="licensePlateNumber">
|
||||
<el-input
|
||||
v-model="dialogdata.licensePlateNumber"
|
||||
placeholder="请输入"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="进场量" prop="approachVolume">
|
||||
<el-input
|
||||
v-model="dialogdata.approachVolume"
|
||||
placeholder="请输入"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="进场时间" prop="entryTime">
|
||||
<el-input
|
||||
v-model="dialogdata.entryTime"
|
||||
placeholder="请输入"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</vue-scroll>
|
||||
</div>
|
||||
<div class="dialog-btn">
|
||||
<el-button type="primary" @click="submitForm"> 确定 </el-button>
|
||||
<el-button @click="dialogVisible = false"> 取消 </el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
getMaterialApprApi,//分页查询
|
||||
addMaterialApprApi,//新增
|
||||
deleteMaterialApprApi,//删除
|
||||
editMaterialApprApi,//编辑
|
||||
} from "@/assets/js/api/materialManage";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
tableData: [], //列表数据
|
||||
dialogTitle: "",
|
||||
dialogVisible: false,
|
||||
dialogdata: {
|
||||
materialType:'',
|
||||
manufacturer:'',
|
||||
licensePlateNumber:'',
|
||||
approachVolume:'',
|
||||
entryTime:'',
|
||||
},
|
||||
rules: {},
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
projectSn: "",
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.projectSn = this.$store.state.projectSn;
|
||||
|
||||
this.getData();
|
||||
// this.getProgressListData();
|
||||
},
|
||||
methods: {
|
||||
//材料进场数据查询
|
||||
getData(){
|
||||
getMaterialApprApi({
|
||||
pageSize:this.size,
|
||||
pageNo:this.current,
|
||||
projectSn:this.projectSn
|
||||
}).then((res)=>{
|
||||
console.log('材料进场数据查询',res);
|
||||
if(res.result.length>=1){
|
||||
this.tableData=res.result
|
||||
this.total=res.result.total
|
||||
}
|
||||
})
|
||||
},
|
||||
//新增
|
||||
addForm() {
|
||||
this.dialogVisible = true;
|
||||
this.dialogTitle = "新增材料进场记录";
|
||||
this.dialogdata= {
|
||||
materialType:'',
|
||||
manufacturer:'',
|
||||
licensePlateNumber:'',
|
||||
approachVolume:'',
|
||||
entryTime:'',
|
||||
}
|
||||
},
|
||||
//编辑
|
||||
editData(val) {
|
||||
console.log("编辑时调用的参数 :", val);
|
||||
this.dialogVisible = true;
|
||||
this.dialogTitle = "编辑材料进场记录";
|
||||
this.dialogdata = JSON.parse(JSON.stringify(val));
|
||||
},
|
||||
//删除
|
||||
deleteData(val) {
|
||||
this.$confirm("此操作将永久删除, 是否继续?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
deleteMaterialApprApi({ id: val.id }).then((res) => {
|
||||
this.$message({
|
||||
type: "success",
|
||||
message: "删除成功!",
|
||||
});
|
||||
this.getData();
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
this.$message({
|
||||
type: "info",
|
||||
message: "已取消删除",
|
||||
});
|
||||
});
|
||||
},
|
||||
//新增或编辑提交
|
||||
submitForm() {
|
||||
this.processTheFile();
|
||||
let params = JSON.parse(JSON.stringify(this.dialogdata));
|
||||
params.projectSn = this.$store.state.projectSn;
|
||||
this.$refs.form.validate((valid) => {
|
||||
if (valid) {
|
||||
if (this.dialogTitle == "新增质量验收") {
|
||||
addMaterialApprApi(params).then((res) => {
|
||||
this.$message.success("新增成功");
|
||||
this.dialogVisible = false;
|
||||
this.getData();
|
||||
});
|
||||
} else {
|
||||
updateSubdivisionAcceptanceApi(params).then((res) => {
|
||||
this.$message.success("编辑成功");
|
||||
this.dialogVisible = false;
|
||||
this.getData();
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
handleSizeChange(value) {
|
||||
this.size = value;
|
||||
|
||||
this.getData();
|
||||
},
|
||||
handleCurrentChange(value) {
|
||||
this.current = value;
|
||||
this.getData();
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.panoramaPlan {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #fff;
|
||||
padding: 20px;
|
||||
box-sizing: border-box;
|
||||
.header-box {
|
||||
margin-bottom: 20px;
|
||||
padding-left: 10px;
|
||||
.search-item {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
white-space: nowrap;
|
||||
margin-right: 20px;
|
||||
/deep/.el-input {
|
||||
width: 200px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.delete-btn {
|
||||
color: #f56c6c;
|
||||
}
|
||||
|
||||
.dialog-content {
|
||||
height: 630px;
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
.dialog-btn {
|
||||
margin-left: 245px;
|
||||
}
|
||||
::v-deep .el-upload--picture-card {
|
||||
position: absolute;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Loading…
x
Reference in New Issue
Block a user