Commit 76837194 authored by 陈珊's avatar 陈珊

fix

parent e8af0b3b
......@@ -98,10 +98,11 @@ export async function getProjectList(params, noloading) {
}
// 获取严重问题列表
export async function getImportantQuestion() {
export async function getImportantQuestion(params) {
return await request({
url: `/site/index/getLevel`,
method: 'get',
params
})
}
......@@ -179,18 +180,48 @@ export async function getAreaDetail(projectId) {
}
// 获取政府监管预警接口
export async function getGovernmentRegulation() {
export async function getGovernmentRegulation(params) {
return await request({
url: '/site/question?question_level=3',
method: 'get',
params
})
}
// 获取质量检测应接口
export async function getQualityInspection() {
export async function getQualityInspection(params) {
return await request({
url: '/site/index/getcheck',
method: 'get',
params
})
}
// 获取外观质量接口
export async function getQualityAppearance(params) {
return await request({
url: '/site/index/appearance',
method: 'get',
params
})
}
// 获取质量事故/缺陷预警
export async function getQualityIncident(params) {
return await request({
url: '/site/index/incident',
method: 'get',
params
})
}
// 获取质量事故/缺陷预警详情
export async function getSGQXData(id) {
return await request({
url: `/site/quality/incident/${id}`,
method: 'get',
})
}
......
This diff is collapsed.
......@@ -103,14 +103,15 @@ export default {
top: 0;
width: 100%;
height: 80px;
background: url("@/assets/images/index/img_dingbu@2x.png");
background: url("@/assets/images/index/img_dingbu@2x.gif");
background-repeat: no-repeat;
background-size: 100% 100%;
}
.left-nav {
width: calc(100% / 3);
width: max-content;
display: flex;
justify-content: flex-start;
z-index: 9;
span {
color: #fff;
font-size: 18px;
......@@ -125,12 +126,15 @@ export default {
}
.mid-title {
width: calc(100% / 3);
height: 100%;
position: absolute;
left: 50%;
transform: translateX(-50%);
font-size: 32px;
color: #fefeff;
text-align: center;
letter-spacing: 3px;
line-height: 60px;
position: relative;
span {
position: absolute;
left: 0;
......
......@@ -23,10 +23,11 @@ export default {
<style lang="less" scoped>
.title {
font-size: 18px;
font-weight: 600;
color: #fff;
line-height: 40px !important;
text-align: center;
background: url("@/assets/images/index/icon_toubg@2x.png");
background: url("@/assets/images/index/icon_toubg@2x.gif");
background-repeat: no-repeat;
background-size: 100% 100%;
position: relative;
......@@ -38,6 +39,7 @@ export default {
transform: translateY(-50%);
color: #43bcd2;
font-size: 14px;
padding-right: 10px;
}
.left-slot {
position: absolute;
......
......@@ -34,7 +34,7 @@ export default {
line-height: 40px !important;
text-align: left;
padding-left: 15px;
background: url("@/assets/images/index/icon_toubuj.png");
background: url("@/assets/images/index/icon_toubuj.gif");
background-repeat: no-repeat;
background-size: 100% 100%;
display: flex;
......
......@@ -200,64 +200,62 @@
></el-table-column>
</el-table>
<div class="inner-title">
质量评定<span>(得分:{{ project_info.quality_score }})</span>
<div class="inner-title" v-if="appearance_quality_project.appearance_quality_score > 0">
外观质量<span>(得分:{{ appearance_quality_project.appearance_quality_score }})</span>
</div>
<el-table
<el-table v-if="appearance_quality_project.appearance_quality_score > 0"
border
class="dialog-data-table"
:data="pd_info"
style="margin-top: 0"
:span-method="handleSpan"
:max-height="400"
>
<el-table-column
label="单位工程名称"
align="left"
prop="parent_name"
:show-overflow-tooltip=true
></el-table-column>
<el-table-column
label="是否为主要单位"
align="center"
prop="tis_main_unit_name"
></el-table-column>
<el-table-column
label="外观质量得分"
align="center"
prop="tappearance_quality_score"
></el-table-column>
<el-table-column
label="分部工程名称"
align="left"
prop="part_name"
:show-overflow-tooltip=true
></el-table-column>
<el-table-column
label="是否为主要分部"
label="是否为主要单位"
align="center"
prop="is_main_distribution_name"
prop="is_main_unit_name"
width="200"
></el-table-column>
<el-table-column
label="重要隐蔽或关键单元工程个数"
label="应得分"
align="center"
prop="concealed_critical_num"
prop="appearance_should_score"
width="150"
></el-table-column>
<el-table-column
label="重要隐蔽或关键单元工程的优良率"
label="实得分"
align="center"
prop="concealed_critical_percentage"
prop="appearance_quality_score"
width="150"
></el-table-column>
<el-table-column
label="一般单元工程个数"
label="得分率"
align="center"
prop="general_num"
></el-table-column>
prop="appearance_score_per"
width="150"
>
<template slot-scope="scope">
{{scope.row.appearance_score_per}}%
</template>
</el-table-column>
<el-table-column
label="一般单元工程优良率"
label="评分结果"
align="center"
prop="general_percentage"
></el-table-column>
prop="appearance_pd_value"
width="150"
>
<template slot-scope="scope">
<el-tag type="info" size="small" v-if="scope.row.appearance_pd_value == 0">{{scope.row.appearance_pd_str}}</el-tag>
<el-tag type="success" size="small" v-if="scope.row.appearance_pd_value == 1">{{scope.row.appearance_pd_str}}</el-tag>
<el-tag type="danger" size="small" v-if="scope.row.appearance_pd_value == 2">{{scope.row.appearance_pd_str}}</el-tag>
</template>
</el-table-column>
</el-table>
</div>
</div>
......@@ -363,6 +361,7 @@ export default {
check_info: [],
ZFJGVisible: false,
currentRowData: {},
appearance_quality_project: {}
};
},
computed: {
......@@ -402,7 +401,8 @@ export default {
this.excellence_info = [res.data.excellence_info];
this.question_info = [res.data.question_info];
this.project_info = res.data.project_info;
this.pd_info = res.data.pd_info;
this.pd_info = res.data.appearance_quality.list || [];
this.appearance_quality_project = res.data.appearance_quality.project || {};
// this.check_info = res.data.check_info;
this.allData = [...res.data.check_info];
......
......@@ -17,9 +17,10 @@
<script>
import ZLPD from "./ZLJCPD.vue";
import ZLJC from "./ZLJC.vue";
import sgqx from "./SGQX.vue";
export default {
name: "GCZLIndex",
components: { ZLPD, ZLJC },
components: { ZLPD, ZLJC, sgqx },
props: {
visible: {
type: Boolean,
......
<template>
<div style="height: 100%; margin-top: 10px; overflow: auto;">
<div style="color: #D9D9D9;">
<div>发生较大及以上质量事故的工程直接判定为0分;发生一般质量事故的工程工程质量模块的分值在原有基础上直接扣除50%的分值。</div>
<div style="margin-top: 5px;">工程存在质量缺陷的,每出现1个质量缺陷,工程质量模块分值在原有分值基础上折减15%;最高折减50%。</div>
</div>
<div class="flex-box">
<div class="flex-item">
<el-image :src="require('@/assets/images/icon_jiaoda.png')" style="width: 40px; height: 40px; margin-right: 15px;"></el-image>
<div class="txt">较大及以上质量事故:</div>
<div class="num">{{info.zdsg_num || 0}}</div>
</div>
<div class="flex-item">
<el-image :src="require('@/assets/images/icon_yiban.png')" style="width: 40px; height: 40px; margin-right: 15px;"></el-image>
<div class="txt">一般质量事故:</div>
<div class="num" style="color: #BD60E9;">{{info.ybsg_num || 0}}</div>
</div>
<div class="flex-item">
<el-image :src="require('@/assets/images/icon_quexian.png')" style="width: 40px; height: 40px; margin-right: 15px;"></el-image>
<div class="txt">质量缺陷:</div>
<div class="num" style="color: #EB9334;">{{info.zlqx_num || 0}}</div>
</div>
<div class="flex-item">
<el-image :src="require('@/assets/images/icon_leiji.png')" style="width: 40px; height: 40px; margin-right: 15px;"></el-image>
<div class="txt">累计扣分:</div>
<div class="num">{{info.score_per || 0}}<span class="unit">%</span></div>
</div>
</div>
<el-table
border
class="dialog-data-table"
:data="tableData"
v-loading="loading"
:element-loading-background="loadingBG"
>
<el-table-column label="类型" align="left" prop="type_str" width="190"></el-table-column>
<el-table-column label="描述" align="left" prop="remark"></el-table-column>
<el-table-column label="附件" align="center" prop="file" width="110">
<template slot-scope="scope">
<el-popover trigger="click" v-if="scope.row.files_list && scope.row.files_list.length > 0">
<div slot="reference"><i class="el-icon-link" style="font-size: 20px;"></i></div>
<div style="display: flex">
<template v-for="item in scope.row.files_list">
<div class="pop-img" v-if="item.url" style="cursor: pointer; margin-right: 10px;">
<el-image v-if="getFileType(item.url)['type'] == 'pdf'" @click="pdfView(item.url)" :src="require('@/assets/images/icon_pdf.png')" fit="contain" style="width: 40px; height: 40px"></el-image>
<el-image v-else :src="item.url" fit="contain" :preview-src-list="[item.url]" style="width: 40px; height: 40px"></el-image>
</div>
</template>
</div>
</el-popover>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
import { getSGQXData } from "@/api/dataStatis";
export default {
props: {
data: {
type: Object,
default: () => {
return {};
},
},
tabnamenow:{
type: String,
default: 'ZLPD'
}
},
data() {
return {
info: {},
tableData: [],
loading: false,
loadingBG: "rgba(0, 0, 0, 0.2)",
};
},
methods: {
getData() {
let id = this.tabnamenow == 'ZLPD' ? this.data.id : this.data.project_id
getSGQXData(id).then((res) => {
this.info = res.data.project || {}
this.tableData = res.data.list || {}
})
},
pdfView(url){
window.open(url)
},
getFileType(url) {
var urlArr = url.split('.');
var ext = urlArr[urlArr.length - 1];
var icon = '';
var type = '';
switch(ext){
case 'jpg':
case 'jpeg':
case 'png':
case 'gif':
case 'bmp':
icon = 'img.png';
type = 'image';
break;
case 'pdf':
icon = 'icon-pdf1';
type = 'pdf';
break;
case 'mp4':
icon = 'icon-shipin1';
type = 'video';
break;
case 'doc':
case 'docx':
icon = 'icon-word';
type = 'doc';
break;
}
return { 'icon': icon, 'type': type };
},
},
mounted() {
this.getData();
},
};
</script>
<style lang="less" scoped>
.flex-box{
display: flex;
justify-content: space-between;
margin: 10px 0 20px;
.flex-item{
background: #12407F;
border-radius: 4px;
width: calc(25% - 8px);
color: #FFFFFF;
font-size: 14px;
padding: 10px;
display: flex;
align-items: center;
.num{
font-size: 20px;
color: #EB3434;
margin-left: 5px;
.unit{
font-size: 10px;
margin-left: 5px;
}
}
}
}
</style>
\ No newline at end of file
......@@ -6,7 +6,7 @@
{{ data.project_name }}
</div>
<div>
质量评定得分:<span class="count">{{ data.quality_score }}</span>
外观质量评定得分:<span class="count">{{ appearance_quality_project.appearance_quality_score>0?appearance_quality_project.appearance_quality_score:'--' }}</span>
</div>
</div>
<el-table
......@@ -16,59 +16,58 @@
v-loading="loading"
:element-loading-background="loadingBG"
height="calc(100% - .7rem)"
:span-method="handleSpan"
>
<el-table-column
label="单位工程名称"
align="center"
prop="parent_name"
></el-table-column>
<el-table-column
label="是否为主要单位"
align="center"
prop="tis_main_unit_name"
></el-table-column>
<el-table-column
label="外观质量得分"
align="center"
prop="tappearance_quality_score"
></el-table-column>
<el-table-column
label="分部工程名称"
align="left"
prop="part_name"
:show-overflow-tooltip=true
></el-table-column>
<el-table-column
label="是否为主要分部"
align="center"
prop="is_main_distribution_name"
></el-table-column>
<el-table-column
label="重要隐蔽或关键单元工程个数"
align="center"
prop="concealed_critical_num"
></el-table-column>
<el-table-column
label="重要隐蔽或关键单元工程的优良率"
align="center"
prop="concealed_critical_percentage"
></el-table-column>
<el-table-column
label="一般单元工程个数"
align="center"
prop="general_num"
></el-table-column>
<el-table-column
label="一般单元工程优良率"
label="是否为主要单位"
align="center"
prop="general_percentage"
prop="is_main_unit_name"
width="200"
></el-table-column>
<el-table-column
label="应得分"
align="center"
prop="appearance_should_score"
width="150"
></el-table-column>
<el-table-column
label="实得分"
align="center"
prop="appearance_quality_score"
width="150"
></el-table-column>
<el-table-column
label="得分率"
align="center"
prop="appearance_score_per"
width="150"
>
<template slot-scope="scope">
{{scope.row.appearance_score_per}}%
</template>
</el-table-column>
<el-table-column
label="评分结果"
align="center"
prop="appearance_pd_value"
width="150"
>
<template slot-scope="scope">
<el-tag type="info" size="small" v-if="scope.row.appearance_pd_value == 0">{{scope.row.appearance_pd_str}}</el-tag>
<el-tag type="success" size="small" v-if="scope.row.appearance_pd_value == 1">{{scope.row.appearance_pd_str}}</el-tag>
<el-tag type="danger" size="small" v-if="scope.row.appearance_pd_value == 2">{{scope.row.appearance_pd_str}}</el-tag>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
import { getZLPDList } from "@/api/dataStatis";
import { getZLPDList, getAreaDetail } from "@/api/dataStatis";
export default {
name: "ZFJGDetail",
......@@ -86,6 +85,7 @@ export default {
loading: false,
loadingBG: "rgba(0, 0, 0, 0.2)",
appearance_quality_project: {}
};
},
......@@ -141,8 +141,9 @@ export default {
return rowspan;
},
getData() {
getZLPDList(this.data.id).then((res) => {
this.tableData = res.data.list;
getAreaDetail(this.data.id).then((res) => {
this.tableData = res.data.appearance_quality.list || [];
this.appearance_quality_project = res.data.appearance_quality.project || [];
});
},
},
......
......@@ -9,12 +9,12 @@
<div class="scores">
<div class="score-title">
<div class="title">问题信息</div>
<div
<!-- <div
class="got-score"
:style="{ color: data.question_status == 1 ? '#DF3333' : '#30B34F' }"
>
{{ data.question_status_str }}
</div>
</div> -->
</div>
<div class="score-detail">
<div class="w-100"><span>工程名称:</span><div>{{ data.project_name }}</div></div>
......@@ -25,11 +25,11 @@
<div class="w-100"><span>标段名称:</span><div>{{ data.lot_project_name }}</div></div>
<div class="w-100"><span>所属机构:</span><div>{{ data.c_company_name }}</div></div>
<div class="w-100"><span>所属单位:</span><div>{{ data.units_company_name }}</div></div>
<div class="w-100"><span>问题分类:</span><div>{{ data.category_name }}</div></div>
<!-- <div class="w-100"><span>问题分类:</span><div>{{ data.category_name }}</div></div> -->
<div class="w-100"><span>问题等级:</span><div>{{ data.question_level_str }}</div></div>
<div class="w-100"><span>问题种类:</span><div>{{ data.question_type_str }}</div></div>
<div class="w-100"><span>处理状态:</span><div>{{ data.question_status_str }}</div></div>
<div class="w-100"><span>法规依据:</span><div>{{ data.legal_basis }}</div></div>
<!-- <div class="w-100"><span>处理状态:</span><div>{{ data.question_status_str }}</div></div> -->
<!-- <div class="w-100"><span>法规依据:</span><div>{{ data.legal_basis }}</div></div> -->
<div class="w-100"><span>系统问题描述:</span><div>{{ data.system_question }}</div></div>
<div class="w-100"><span>用户问题描述:</span><div>{{ data.user_question }}</div></div>
</div>
......
......@@ -29,9 +29,9 @@
/>
</div>
</el-form-item>
<el-form-item label="问题类型:">
<!-- <el-form-item label="问题类型:">
<el-input size="small" v-model="searchForm.category_name" placeholder="请输入"></el-input>
</el-form-item>
</el-form-item> -->
<el-form-item label="问题种类:">
<el-select
style="width: 1rem"
......@@ -63,7 +63,7 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="处理状态:">
<!-- <el-form-item label="处理状态:">
<el-select
style="width: 1rem"
v-model="searchForm.question_status"
......@@ -77,7 +77,7 @@
:key="option.key"
></el-option>
</el-select>
</el-form-item>
</el-form-item> -->
<el-form-item>
<el-button type="primary" @click="handleSearch" size="small"
>查询</el-button
......@@ -172,11 +172,11 @@ export default {
prop: "utype_str",
minWidth: "100px",
},
{
label: "问题类型",
prop: "name",
minWidth: "120px",
},
// {
// label: "问题类型",
// prop: "name",
// minWidth: "120px",
// },
{
label: "问题种类",
prop: "question_type_str",
......@@ -200,12 +200,12 @@ export default {
hasSlot: true,
minWidth: "100px",
},
{
label: "处理状态",
prop: "question_status_str",
minWidth: "100px",
hasSlot: true,
},
// {
// label: "处理状态",
// prop: "question_status_str",
// minWidth: "100px",
// hasSlot: true,
// },
],
question_level: [],
question_status: [],
......
This diff is collapsed.
......@@ -37,13 +37,9 @@
{{ data.quality_check_score }}
</span>
</template>
<template #quality_score="{ data }">
<span
:style="{
color: data.quality_score < warningNum[5] ? '#f86262' : '',
}"
>
{{ data.quality_score }}
<template #appearance_quality_score="{ data }">
<span>
{{ data.appearance_quality_score>0?data.appearance_quality_score:'--' }}
</span>
</template>
<template #quality_total_score="{ data }">
......@@ -87,8 +83,8 @@ export default {
sortable: true,
},
{
label: "质量评定得分",
prop: "quality_score",
label: "外观质量得分",
prop: "appearance_quality_score",
hasSlot: true,
sortable: true,
},
......
......@@ -46,13 +46,9 @@
{{ data.quality_check_score }}
</span>
</template>
<template #quality_score="{ data }">
<span
:style="{
color: data.quality_score < warningNum[5] ? '#f86262' : '',
}"
>
{{ data.quality_score }}
<template #appearance_quality_score="{ data }">
<span>
{{ data.appearance_quality_score }}
</span>
</template>
<template #excellence_score="{ data }">
......@@ -109,8 +105,8 @@ export default {
sortable: true,
},
{
label: "质量评定得分",
prop: "quality_score",
label: "外观质量得分",
prop: "appearance_quality_score",
hasSlot: true,
sortable: true,
},
......
......@@ -23,7 +23,7 @@ module.exports = defineConfig({
port: 3000,
proxy: {
'/site': {
target: 'http://192.168.0.212/',
target: 'http://sldtpg.com/',
changeOrigin: true,
// pathRewrite: {
// '^/api': ''
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment