update code

prv
haha 2024-04-06 23:26:30 +08:00
parent 3bcf018be4
commit f606a9d864
3 changed files with 652 additions and 657 deletions

View File

@ -5,66 +5,33 @@
<el-col :span="12" style="position: relative"> <el-col :span="12" style="position: relative">
<module-one-3-1 label="质量隐患检查" class="hide-scroll"> <module-one-3-1 label="质量隐患检查" class="hide-scroll">
<div style="position: absolute; right: 0px; top: 4px"> <div style="position: absolute; right: 0px; top: 4px">
<el-date-picker <el-date-picker class="bg-date-picker" v-model="selDate" type="daterange"
class="bg-date-picker" popper-class="bg-date-picker-pop" :editable="false" @change="dtChange" :picker-options="pickerOptions"
v-model="selDate" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
type="daterange"
popper-class="bg-date-picker-pop"
:editable="false"
@change="dtChange"
:picker-options="pickerOptions"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</div> </div>
<div :key="'a' + elSummaryKey"> <div :key="'a' + elSummaryKey">
<div class="warning-info-title" style="padding-left: 20px"> <div class="warning-info-title" style="padding-left: 20px">
<div <div :class="safeNav == 0 ? 'active' : ''" @click="doSafeNav(0, '汇总总数')">
:class="safeNav == 0 ? 'active' : ''"
@click="doSafeNav(0, '汇总总数')"
>
汇总 汇总
</div> </div>
<div <div :class="safeNav == 3 ? 'active' : ''" @click="doSafeNav(3, '集团总数')">
:class="safeNav == 3 ? 'active' : ''"
@click="doSafeNav(3, '集团总数')"
>
集团 集团
</div> </div>
<div <div :class="safeNav == 4 ? 'active' : ''" @click="doSafeNav(4, '子公司总数')">
:class="safeNav == 4 ? 'active' : ''"
@click="doSafeNav(4, '子公司总数')"
>
子公司 子公司
</div> </div>
<div <div :class="safeNav == 5 ? 'active' : ''" @click="doSafeNav(5, '甲方代表')">
:class="safeNav == 5 ? 'active' : ''"
@click="doSafeNav(5, '甲方代表')"
>
甲方代表 甲方代表
</div> </div>
<div <div :class="safeNav == 6 ? 'active' : ''" @click="doSafeNav(6, '监理单位')">
:class="safeNav == 6 ? 'active' : ''"
@click="doSafeNav(6, '监理单位')"
>
监理单位 监理单位
</div> </div>
<div <div :class="safeNav == 7 ? 'active' : ''" @click="doSafeNav(7, '总包单位')">
:class="safeNav == 7 ? 'active' : ''"
@click="doSafeNav(7, '总包单位')"
>
总包单位 总包单位
</div> </div>
</div> </div>
<project-overview-chart2 <project-overview-chart2 :key="'b' + safeNav" :sp="'\n'" :maintitle="fmt(summaryTotal)"
:key="'b' + safeNav" :typedata="summary" :text="safeText" :height="230"></project-overview-chart2>
:sp="'\n'"
:maintitle="fmt(summaryTotal)"
:typedata="summary"
:text="safeText"
:height="230"
></project-overview-chart2>
</div> </div>
<div style="padding: 0px 20px" :key="'c' + elSummaryPrjKey"> <div style="padding: 0px 20px" :key="'c' + elSummaryPrjKey">
<el-row> <el-row>
@ -74,51 +41,29 @@
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<div class="rank-chart-title bottom-line"> <div class="rank-chart-title bottom-line">
<span style="position: relative; top: -4px" <span style="position: relative; top: -4px">项目质量隐患占比({{ summaryPrjTotal }})</span>
>项目质量隐患占比({{ summaryPrjTotal }})</span
>
</div> </div>
<div class="idle-list problemmodify_list" style="padding-top: 20px"> <div class="idle-list problemmodify_list" style="padding-top: 20px">
<el-table <el-table style="width: 100%" ref="wgzp" :data="summaryPrj" height="600"
style="width: 100%" @row-click="doProbleRowClick" :row-style="rowStyle" class="elTable">
ref="wgzp"
:data="summaryPrj"
height="600"
@row-click="doProbleRowClick"
:row-style="rowStyle"
class="elTable"
>
<el-table-column type="index" width="40"> <el-table-column type="index" width="40">
<template slot-scope="scope"> <template slot-scope="scope">
<div <div :class="scope.$index < 3 && +scope.row.value > 0
:class=" ? 'idle-list-color'
scope.$index < 3 && +scope.row.value > 0 : ''
? 'idle-list-color' ">
: ''
"
>
{{ scope.$index + 1 }} {{ scope.$index + 1 }}
</div> </div>
</template></el-table-column </template></el-table-column>
> <el-table-column prop="projectName" label="项目名称" width="120" class-name="text-left"
<el-table-column :show-overflow-tooltip="true">
prop="projectName"
label="项目名称"
width="120"
class-name="text-left"
:show-overflow-tooltip="true"
>
</el-table-column> </el-table-column>
<el-table-column prop="prop" label="占比"> <el-table-column prop="prop" label="占比">
<template slot-scope="scope"> <template slot-scope="scope">
<idle-list-chart <idle-list-chart :prop="Number(scope.row.prop)" :color="scope.$index < 3 && +scope.row.id > 0
:prop="Number(scope.row.prop)" ? '#f05e35'
:color=" : '#6ab9fe'
scope.$index < 3 && +scope.row.id > 0 "></idle-list-chart>
? '#f05e35'
: '#6ab9fe'
"
></idle-list-chart>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="id" label="隐患数" width="70" align="center"> <el-table-column prop="id" label="隐患数" width="70" align="center">
@ -126,22 +71,14 @@
<div>{{ scope.row.id }}</div> <div>{{ scope.row.id }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="id" label="超时隐患数" width="100" align="center">
prop="id"
label="超时隐患数"
width="100"
align="center"
>
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.infoType }}</div> <div>{{ scope.row.infoType }}</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="id" label="整改率"> <el-table-column prop="id" label="整改率">
<template slot-scope="scope"> <template slot-scope="scope">
<idle-list-chart <idle-list-chart :prop="Number(scope.row.rate)" color="#6ab9fe"></idle-list-chart>
:prop="Number(scope.row.rate)"
color="#6ab9fe"
></idle-list-chart>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -153,11 +90,8 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<module-one-1-1 label="材料进场取样复试" style="position: relative"> <module-one-1-1 label="材料进场取样复试" style="position: relative">
<img <img v-if="prjs.length>1" src="images/icon2001.png" style="position: absolute; cursor: pointer; right: 12px; top: 12px"
src="images/icon2001.png" @click="doShowCheckDetectionDlg" />
style="position: absolute; cursor: pointer; right: 12px; top: 12px"
@click="doShowCheckDetectionDlg"
/>
<div class="warning-info"> <div class="warning-info">
<div class="warning-info-title"> <div class="warning-info-title">
<div :class="samplingNav == 0 ? 'active' : ''" @click="checkDetection(0)"> <div :class="samplingNav == 0 ? 'active' : ''" @click="checkDetection(0)">
@ -181,29 +115,20 @@
<el-col :span="12"> <el-col :span="12">
<div class="equipment-list-min quality-target-index-min"> <div class="equipment-list-min quality-target-index-min">
<div class="czz-number-img czz-number-img-blue"> <div class="czz-number-img czz-number-img-blue">
<svg <svg class="my-svg-icon-blue" style="
class="my-svg-icon-blue"
style="
vertical-align: middle; vertical-align: middle;
fill: currentColor; fill: currentColor;
overflow: hidden; overflow: hidden;
" " viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3054">
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="3054"
>
<path <path
d="M530.46 269c4.64 0 9.05 2.01 12.09 5.52l109.54 126.3A16.01 16.01 0 0 1 656 411.3V893c0 8.82-7.18 16-16 16H178c-8.82 0-16-7.18-16-16V285c0-8.82 7.18-16 16-16h352.46m0-64H178c-44.18 0-80 35.82-80 80v608c0 44.18 35.82 80 80 80h462c44.18 0 80-35.82 80-80V411.3c0-19.26-6.95-37.87-19.56-52.42L590.9 232.58A80.014 80.014 0 0 0 530.46 205zM819.29 864h-45.92c-17.67 0-32-14.33-32-32s14.33-32 32-32h45.92c25.21 0 45.71-19.94 45.71-44.46V295.17c0-10.61-3.91-20.88-11.01-28.94L747.58 145.52c-8.7-9.87-21.35-15.52-34.7-15.52H370.49c-17.67 0-32-14.33-32-32s14.33-32 32-32h342.38c31.72 0 61.87 13.56 82.71 37.2L902 223.91c17.41 19.75 27 45.06 27 71.26v460.37C929 815.35 879.78 864 819.29 864zM702 468H552.09c-41.96 0-76.09-31.47-76.09-70.15V240.5h64v157.35c0 1.88 4.57 6.15 12.09 6.15H702v64zM898 326H748.09c-41.96 0-76.09-31.47-76.09-70.15V98.5h64v157.35c0 1.88 4.57 6.15 12.09 6.15H898v64zM535.13 784.5H262.88c-17.67 0-32 14.33-32 32s14.33 32 32 32h272.25c17.67 0 32-14.33 32-32s-14.33-32-32-32zM535.13 638.75H262.88c-17.67 0-32 14.33-32 32s14.33 32 32 32h272.25c17.67 0 32-14.33 32-32s-14.33-32-32-32zM535.13 493H262.88c-17.67 0-32 14.33-32 32s14.33 32 32 32h272.25c17.67 0 32-14.33 32-32s-14.33-32-32-32z" d="M530.46 269c4.64 0 9.05 2.01 12.09 5.52l109.54 126.3A16.01 16.01 0 0 1 656 411.3V893c0 8.82-7.18 16-16 16H178c-8.82 0-16-7.18-16-16V285c0-8.82 7.18-16 16-16h352.46m0-64H178c-44.18 0-80 35.82-80 80v608c0 44.18 35.82 80 80 80h462c44.18 0 80-35.82 80-80V411.3c0-19.26-6.95-37.87-19.56-52.42L590.9 232.58A80.014 80.014 0 0 0 530.46 205zM819.29 864h-45.92c-17.67 0-32-14.33-32-32s14.33-32 32-32h45.92c25.21 0 45.71-19.94 45.71-44.46V295.17c0-10.61-3.91-20.88-11.01-28.94L747.58 145.52c-8.7-9.87-21.35-15.52-34.7-15.52H370.49c-17.67 0-32-14.33-32-32s14.33-32 32-32h342.38c31.72 0 61.87 13.56 82.71 37.2L902 223.91c17.41 19.75 27 45.06 27 71.26v460.37C929 815.35 879.78 864 819.29 864zM702 468H552.09c-41.96 0-76.09-31.47-76.09-70.15V240.5h64v157.35c0 1.88 4.57 6.15 12.09 6.15H702v64zM898 326H748.09c-41.96 0-76.09-31.47-76.09-70.15V98.5h64v157.35c0 1.88 4.57 6.15 12.09 6.15H898v64zM535.13 784.5H262.88c-17.67 0-32 14.33-32 32s14.33 32 32 32h272.25c17.67 0 32-14.33 32-32s-14.33-32-32-32zM535.13 638.75H262.88c-17.67 0-32 14.33-32 32s14.33 32 32 32h272.25c17.67 0 32-14.33 32-32s-14.33-32-32-32zM535.13 493H262.88c-17.67 0-32 14.33-32 32s14.33 32 32 32h272.25c17.67 0 32-14.33 32-32s-14.33-32-32-32z"
p-id="3055" p-id="3055"></path>
></path>
</svg> </svg>
</div> </div>
<div class="equipment-list-data"> <div class="equipment-list-data">
<p style="font-size: 12px">送检数</p> <p style="font-size: 12px">送检数</p>
<div> <div>
<span>{{ chkDetection.chk1 }}</span <span>{{ chkDetection.chk1 }}</span><span style="font-size: 12px"></span>
><span style="font-size: 12px"></span>
</div> </div>
</div> </div>
</div> </div>
@ -211,29 +136,20 @@
<el-col :span="12"> <el-col :span="12">
<div class="equipment-list-min quality-target-index-min"> <div class="equipment-list-min quality-target-index-min">
<div class="czz-number-img czz-number-img-green"> <div class="czz-number-img czz-number-img-green">
<svg <svg class="my-svg-icon-green" style="
class="my-svg-icon-green"
style="
vertical-align: middle; vertical-align: middle;
fill: currentColor; fill: currentColor;
overflow: hidden; overflow: hidden;
" " viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7849">
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="7849"
>
<path <path
d="M896 64H128c-35.296 0-64 28.704-64 64v768c0 35.296 28.704 64 64 64h592a32 32 0 1 0 0-64H128V128h768v592a32 32 0 1 0 64 0V128c0-35.296-28.704-64-64-64zM791.744 746.496A206.752 206.752 0 0 0 832 624c0-114.688-93.312-208-208-208S416 509.312 416 624s93.312 208 208 208a206.752 206.752 0 0 0 122.496-40.256l110.88 110.88a31.904 31.904 0 0 0 45.248 0 31.968 31.968 0 0 0 0-45.248l-110.88-110.88zM480 624c0-79.392 64.608-144 144-144s144 64.608 144 144-64.608 144-144 144-144-64.608-144-144zM800 264a32 32 0 0 0-32-32H256a32 32 0 0 0 0 64h512a32 32 0 0 0 32-32zM256 422.656a32 32 0 0 0 0 64h96a32 32 0 0 0 0-64H256z" d="M896 64H128c-35.296 0-64 28.704-64 64v768c0 35.296 28.704 64 64 64h592a32 32 0 1 0 0-64H128V128h768v592a32 32 0 1 0 64 0V128c0-35.296-28.704-64-64-64zM791.744 746.496A206.752 206.752 0 0 0 832 624c0-114.688-93.312-208-208-208S416 509.312 416 624s93.312 208 208 208a206.752 206.752 0 0 0 122.496-40.256l110.88 110.88a31.904 31.904 0 0 0 45.248 0 31.968 31.968 0 0 0 0-45.248l-110.88-110.88zM480 624c0-79.392 64.608-144 144-144s144 64.608 144 144-64.608 144-144 144-144-64.608-144-144zM800 264a32 32 0 0 0-32-32H256a32 32 0 0 0 0 64h512a32 32 0 0 0 32-32zM256 422.656a32 32 0 0 0 0 64h96a32 32 0 0 0 0-64H256z"
p-id="7850" p-id="7850"></path>
></path>
</svg> </svg>
</div> </div>
<div class="equipment-list-data"> <div class="equipment-list-data">
<p style="font-size: 12px">待检数</p> <p style="font-size: 12px">待检数</p>
<div> <div>
<span class="fgreen">{{ chkDetection.chk2 }}</span <span class="fgreen">{{ chkDetection.chk2 }}</span><span style="font-size: 12px"></span>
><span style="font-size: 12px"></span>
</div> </div>
</div> </div>
</div> </div>
@ -241,30 +157,20 @@
<el-col :span="12"> <el-col :span="12">
<div class="equipment-list-min quality-target-index-min"> <div class="equipment-list-min quality-target-index-min">
<div class="czz-number-img czz-number-img-blue"> <div class="czz-number-img czz-number-img-blue">
<svg <svg class="my-svg-icon-blue" style="
class="my-svg-icon-blue"
style="
vertical-align: middle; vertical-align: middle;
fill: currentColor; fill: currentColor;
overflow: hidden; overflow: hidden;
" " viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10575">
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="10575"
>
<path <path
d="M634.593683 354.898336h-189.279113c39.748614-30.284658 71.926063-58.676525 96.532347-87.068391 26.499076 32.177449 58.676525 60.569316 92.746766 87.068391z m30.284658 177.922366h-246.062847v81.390019H662.985549v-81.390019zM984.760041 190.225508v202.528651c0 183.600739-81.390018 355.844732-225.242144 471.304991l-187.386322 151.42329c-5.678373 5.678373-15.142329 7.571165-22.713493 7.571164s-17.03512-1.892791-24.606285-7.571164l-187.386322-151.42329C195.466141 748.598891 114.076122 576.354898 114.076122 392.754159V190.225508c0-15.142329 9.463956-30.284658 24.606285-35.963031l397.486137-151.42329c9.463956-3.785582 18.927911-3.785582 26.499076 0l397.486136 151.42329c15.142329 5.678373 24.606285 20.820702 24.606285 35.963031zM734.911612 464.680222H348.782222v240.384473h70.033272v-24.606285H662.985549v24.606285h70.033272V464.680222z m64.354899-98.425139c-92.746765-39.748614-162.780037-88.961183-210.099816-149.530499l18.927912-22.713493h-98.425139c-41.641405 62.462107-117.35305 121.138632-225.242144 177.922366 17.03512 18.927911 32.177449 39.748614 45.426987 60.569316 22.713494-13.249538 45.426987-26.499076 64.354898-39.748614v30.284658h293.382625v-28.391867c20.820702 13.249538 41.641405 24.606285 62.462107 34.07024 15.142329-18.927911 30.284658-39.748614 49.21257-62.462107z" d="M634.593683 354.898336h-189.279113c39.748614-30.284658 71.926063-58.676525 96.532347-87.068391 26.499076 32.177449 58.676525 60.569316 92.746766 87.068391z m30.284658 177.922366h-246.062847v81.390019H662.985549v-81.390019zM984.760041 190.225508v202.528651c0 183.600739-81.390018 355.844732-225.242144 471.304991l-187.386322 151.42329c-5.678373 5.678373-15.142329 7.571165-22.713493 7.571164s-17.03512-1.892791-24.606285-7.571164l-187.386322-151.42329C195.466141 748.598891 114.076122 576.354898 114.076122 392.754159V190.225508c0-15.142329 9.463956-30.284658 24.606285-35.963031l397.486137-151.42329c9.463956-3.785582 18.927911-3.785582 26.499076 0l397.486136 151.42329c15.142329 5.678373 24.606285 20.820702 24.606285 35.963031zM734.911612 464.680222H348.782222v240.384473h70.033272v-24.606285H662.985549v24.606285h70.033272V464.680222z m64.354899-98.425139c-92.746765-39.748614-162.780037-88.961183-210.099816-149.530499l18.927912-22.713493h-98.425139c-41.641405 62.462107-117.35305 121.138632-225.242144 177.922366 17.03512 18.927911 32.177449 39.748614 45.426987 60.569316 22.713494-13.249538 45.426987-26.499076 64.354898-39.748614v30.284658h293.382625v-28.391867c20.820702 13.249538 41.641405 24.606285 62.462107 34.07024 15.142329-18.927911 30.284658-39.748614 49.21257-62.462107z"
fill="" fill="" p-id="10576"></path>
p-id="10576"
></path>
</svg> </svg>
</div> </div>
<div class="equipment-list-data"> <div class="equipment-list-data">
<p>合格数</p> <p>合格数</p>
<div> <div>
<span>{{ chkDetection.chk3 }}</span <span>{{ chkDetection.chk3 }}</span><span style="font-size: 12px"></span>
><span style="font-size: 12px"></span>
</div> </div>
</div> </div>
</div> </div>
@ -272,35 +178,23 @@
<el-col :span="12"> <el-col :span="12">
<div class="equipment-list-min quality-target-index-min"> <div class="equipment-list-min quality-target-index-min">
<div class="czz-number-img czz-number-img-green"> <div class="czz-number-img czz-number-img-green">
<svg <svg class="my-svg-icon-green" style="
class="my-svg-icon-green"
style="
vertical-align: middle; vertical-align: middle;
fill: currentColor; fill: currentColor;
overflow: hidden; overflow: hidden;
" " viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8279">
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="8279"
>
<path <path
d="M855.13728 187.4176c-105.97376 0-209.34656-36.9152-291.08736-103.936l-40.9344-33.56672-40.94976 33.56672c-81.77152 67.01568-185.15456 103.936-291.09248 103.936H126.49984V622.83264l4.95104 11.90912c67.33824 161.82784 206.54592 289.3824 372.38272 341.2224l19.08224 5.96992 19.11808-5.86752c170.07616-52.16768 305.99168-176.79872 372.92032-341.89824l4.62848-11.43808 0.08704-12.34944 0.03072-3.27168V187.4176h-64.5632z m0 419.22048l-0.03072 3.26144c-58.8544 145.21856-180.87424 258.06848-332.00128 304.44032-148.33664-46.39232-272.86528-162.24256-332.032-304.4096V252.0064c125.99296 0 241.62304-44.46208 332.032-118.56896C613.50912 207.5648 729.088 252.0064 855.13728 252.0064v354.63168z" d="M855.13728 187.4176c-105.97376 0-209.34656-36.9152-291.08736-103.936l-40.9344-33.56672-40.94976 33.56672c-81.77152 67.01568-185.15456 103.936-291.09248 103.936H126.49984V622.83264l4.95104 11.90912c67.33824 161.82784 206.54592 289.3824 372.38272 341.2224l19.08224 5.96992 19.11808-5.86752c170.07616-52.16768 305.99168-176.79872 372.92032-341.89824l4.62848-11.43808 0.08704-12.34944 0.03072-3.27168V187.4176h-64.5632z m0 419.22048l-0.03072 3.26144c-58.8544 145.21856-180.87424 258.06848-332.00128 304.44032-148.33664-46.39232-272.86528-162.24256-332.032-304.4096V252.0064c125.99296 0 241.62304-44.46208 332.032-118.56896C613.50912 207.5648 729.088 252.0064 855.13728 252.0064v354.63168z"
fill="" fill="" p-id="8280"></path>
p-id="8280"
></path>
<path <path
d="M400.47616 304.95232c57.68192 2.5856 87.78752 39.74656 90.368 111.5136-2.58048 70.50752-33.97632 107.0336-94.21312 109.5936-55.12192-3.85024-84.59264-40.37632-88.43776-109.5936 2.55488-71.76704 33.31584-108.928 92.28288-111.5136z m-1.92 174.96064c26.91584-1.25952 41.0112-23.07072 42.30144-65.37216-1.29024-42.29632-14.7456-64.08192-40.37632-65.37216-28.20608 0-42.29632 22.44096-42.29632 67.29216 1.25952 39.75168 14.72 60.89728 40.3712 63.45216z m207.64672-174.96064h51.91168l-219.18208 417.21856H387.0208l219.18208-417.21856z m40.37632 199.95648c57.68192 2.5856 87.78752 40.37632 90.36288 113.4336-2.58048 66.6624-33.97632 101.23776-94.208 103.82336-56.41728-3.84512-85.88288-38.45632-88.44288-103.82336 2.56-71.77216 33.32096-109.58848 92.288-113.4336z m-1.92512 176.88576c25.63072-1.25952 39.0912-23.71072 40.38144-67.29728-1.29024-41.0112-14.12096-62.16192-38.45632-63.45216-26.91584 0-41.0368 21.81632-42.30144 65.37728 1.26976 41.0368 14.72512 62.81216 40.37632 65.37216z" d="M400.47616 304.95232c57.68192 2.5856 87.78752 39.74656 90.368 111.5136-2.58048 70.50752-33.97632 107.0336-94.21312 109.5936-55.12192-3.85024-84.59264-40.37632-88.43776-109.5936 2.55488-71.76704 33.31584-108.928 92.28288-111.5136z m-1.92 174.96064c26.91584-1.25952 41.0112-23.07072 42.30144-65.37216-1.29024-42.29632-14.7456-64.08192-40.37632-65.37216-28.20608 0-42.29632 22.44096-42.29632 67.29216 1.25952 39.75168 14.72 60.89728 40.3712 63.45216z m207.64672-174.96064h51.91168l-219.18208 417.21856H387.0208l219.18208-417.21856z m40.37632 199.95648c57.68192 2.5856 87.78752 40.37632 90.36288 113.4336-2.58048 66.6624-33.97632 101.23776-94.208 103.82336-56.41728-3.84512-85.88288-38.45632-88.44288-103.82336 2.56-71.77216 33.32096-109.58848 92.288-113.4336z m-1.92512 176.88576c25.63072-1.25952 39.0912-23.71072 40.38144-67.29728-1.29024-41.0112-14.12096-62.16192-38.45632-63.45216-26.91584 0-41.0368 21.81632-42.30144 65.37728 1.26976 41.0368 14.72512 62.81216 40.37632 65.37216z"
fill="" fill="" p-id="8281"></path>
p-id="8281"
></path>
</svg> </svg>
</div> </div>
<div class="equipment-list-data"> <div class="equipment-list-data">
<p>合格率</p> <p>合格率</p>
<div> <div>
<span class="fgreen">{{ chkDetection.percent }}</span <span class="fgreen">{{ chkDetection.percent }}</span><span style="font-size: 12px">%</span>
><span style="font-size: 12px">%</span>
</div> </div>
</div> </div>
</div> </div>
@ -310,82 +204,41 @@
</div> </div>
</module-one-1-1> </module-one-1-1>
<module-one-1-1 label="材料封样" style="position: relative"> <module-one-1-1 label="材料封样" style="position: relative">
<materialSealChart <materialSealChart :height="280" :optData="materialSealList" :key="'ms' + materialSealEl">
:height="280" </materialSealChart>
:optData="materialSealList" <img src="images/icon2001.png" v-if="prjs.length>1" style="position: absolute; cursor: pointer; right: 12px; top: 12px"
:key="'ms' + materialSealEl" @click="showMaterialSealDlg" />
></materialSealChart>
<img
src="images/icon2001.png"
style="position: absolute; cursor: pointer; right: 12px; top: 12px"
@click="showMaterialSealDlg"
/>
</module-one-1-1> </module-one-1-1>
<module-one-1-1 label="实测实量" :key="elCheck" style="position: relative"> <module-one-1-1 label="实测实量" :key="elCheck" style="position: relative">
<img <img src="images/icon2001.png" v-if="prjs.length>1" style="position: absolute; cursor: pointer; right: 12px; top: 12px"
src="images/icon2001.png" @click="doShowMeasuredDlg" />
style="position: absolute; cursor: pointer; right: 12px; top: 12px" <div class="warning-info-title warning-info-title_div measured-data-list"
@click="doShowMeasuredDlg" style="padding-left: 2px; position: relative; z-index: 9">
/> <div :class="measuredNav == 0 ? 'active' : ''" @click="doMeasuredNav(0, '汇总')">
<div
class="warning-info-title warning-info-title_div measured-data-list"
style="padding-left: 2px; position: relative; z-index: 9"
>
<div
:class="measuredNav == 0 ? 'active' : ''"
@click="doMeasuredNav(0, '汇总')"
>
汇总 汇总
</div> </div>
<div <div :class="measuredNav == 1 ? 'active' : ''" @click="doMeasuredNav(1, '混凝土')">
:class="measuredNav == 1 ? 'active' : ''"
@click="doMeasuredNav(1, '混凝土')"
>
混凝土 混凝土
</div> </div>
<div <div :class="measuredNav == 6 ? 'active' : ''" @click="doMeasuredNav(6, '钢筋工程')">
:class="measuredNav == 6 ? 'active' : ''"
@click="doMeasuredNav(6, '钢筋工程')"
>
钢筋工程 钢筋工程
</div> </div>
<div <div :class="measuredNav == 2 ? 'active' : ''" @click="doMeasuredNav(2, '二次结构')">
:class="measuredNav == 2 ? 'active' : ''"
@click="doMeasuredNav(2, '二次结构')"
>
二次结构 二次结构
</div> </div>
<div <div :class="measuredNav == 3 ? 'active' : ''" @click="doMeasuredNav(3, '房间尺寸')">
:class="measuredNav == 3 ? 'active' : ''"
@click="doMeasuredNav(3, '房间尺寸')"
>
房间尺寸 房间尺寸
</div> </div>
<div <div :class="measuredNav == 4 ? 'active' : ''" @click="doMeasuredNav(4, '装饰装修')">
:class="measuredNav == 4 ? 'active' : ''"
@click="doMeasuredNav(4, '装饰装修')"
>
装饰装修 装饰装修
</div> </div>
<div <div :class="measuredNav == 5 ? 'active' : ''" @click="doMeasuredNav(5, '其它')">
:class="measuredNav == 5 ? 'active' : ''"
@click="doMeasuredNav(5, '其它')"
>
其它 其它
</div> </div>
</div> </div>
<project-overview-chart <project-overview-chart :sp="'\n'" :maintitle="measuredTotal" :legend-opt="legendOptCheck" txtTop="12"
:sp="'\n'" :key="measuredNav" :typedata="measuredData" :text="measuredText" :height="260" gifTop="77px"
:maintitle="measuredTotal" style="top: -30px"></project-overview-chart>
:legend-opt="legendOptCheck"
txtTop="12"
:key="measuredNav"
:typedata="measuredData"
:text="measuredText"
:height="260"
gifTop="77px"
style="top: -30px"
></project-overview-chart>
</module-one-1-1> </module-one-1-1>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
@ -853,9 +706,11 @@ export default {
color: #69839e; color: #69839e;
cursor: pointer; cursor: pointer;
} }
.warning-info-title_div div { .warning-info-title_div div {
padding: 0 5px 0 5px !important; padding: 0 5px 0 5px !important;
} }
.project-quality { .project-quality {
.problemmodify_list { .problemmodify_list {
.el-table__body-wrapper { .el-table__body-wrapper {
@ -868,17 +723,21 @@ export default {
background-color: rgb(1, 169, 255); background-color: rgb(1, 169, 255);
border-radius: 4px; border-radius: 4px;
} }
tr { tr {
cursor: pointer; cursor: pointer;
} }
} }
} }
.center-image .screen-one-2-1 { .center-image .screen-one-2-1 {
overflow: hidden; overflow: hidden;
} }
.equipment-list-data { .equipment-list-data {
position: relative; position: relative;
} }
.my-svg-icon-blue, .my-svg-icon-blue,
.my-svg-icon-green { .my-svg-icon-green {
width: 28px; width: 28px;
@ -886,33 +745,41 @@ export default {
position: relative; position: relative;
top: -10px; top: -10px;
} }
.my-svg-icon-green * { .my-svg-icon-green * {
fill: #63f8bc; fill: #63f8bc;
} }
.fgreen { .fgreen {
color: #63f8bc !important; color: #63f8bc !important;
} }
.my-svg-icon { .my-svg-icon {
width: 40px; width: 40px;
height: 40px; height: 40px;
margin-bottom: 20px; margin-bottom: 20px;
} }
.my-svg-icon-blue *, .my-svg-icon-blue *,
.my-svg-icon * { .my-svg-icon * {
fill: #389de3; fill: #389de3;
} }
.people-number-con div:nth-child(3) { .people-number-con div:nth-child(3) {
background: none; background: none;
} }
.labour-education .number-unit { .labour-education .number-unit {
position: relative; position: relative;
bottom: -8px; bottom: -8px;
} }
.bottom-line2, .bottom-line2,
.bottom-line { .bottom-line {
border: none !important; border: none !important;
position: relative; position: relative;
} }
.bottom-line::after { .bottom-line::after {
content: " "; content: " ";
display: block; display: block;
@ -923,6 +790,7 @@ export default {
left: 20px; left: 20px;
opacity: 0.5; opacity: 0.5;
} }
.idle-list .el-table__body .el-table__row { .idle-list .el-table__body .el-table__row {
line-height: 55px; line-height: 55px;
height: 55px !important; height: 55px !important;
@ -937,6 +805,7 @@ export default {
bottom: -4px; bottom: -4px;
opacity: 0.5; opacity: 0.5;
} }
.bottom-line2::before { .bottom-line2::before {
content: " "; content: " ";
display: inline-block; display: inline-block;
@ -946,10 +815,12 @@ export default {
bottom: -4px; bottom: -4px;
opacity: 0.5; opacity: 0.5;
} }
.my-svg-icon2 { .my-svg-icon2 {
width: 40px; width: 40px;
height: 40px; height: 40px;
} }
.my-svg-icon2 * { .my-svg-icon2 * {
fill: #01a9ff; fill: #01a9ff;
} }
@ -958,44 +829,55 @@ export default {
color: #82c9ff; color: #82c9ff;
font-size: 12px; font-size: 12px;
} }
.nav-info .nav-label { .nav-info .nav-label {
font-size: 12px; font-size: 12px;
} }
.nav-info .nav-num { .nav-info .nav-num {
font-size: 28px; font-size: 28px;
font-weight: bold; font-weight: bold;
} }
.nav-info .nav-unit { .nav-info .nav-unit {
font-size: 12px; font-size: 12px;
} }
.acceptance-item:first-child { .acceptance-item:first-child {
margin-top: 10px; margin-top: 10px;
} }
.acceptance-item { .acceptance-item {
padding: 13px; padding: 13px;
} }
.acceptance-item .row-5 { .acceptance-item .row-5 {
//margin-top:10px; //margin-top:10px;
line-height: 30px; line-height: 30px;
color: #c7dafd; color: #c7dafd;
} }
.acceptance-item .row-3 { .acceptance-item .row-3 {
line-height: 30px; line-height: 30px;
color: #4996d4; color: #4996d4;
} }
.acceptance-item .row-1 { .acceptance-item .row-1 {
display: flex; display: flex;
} }
.acceptance-item .div-img { .acceptance-item .div-img {
height: 90px; height: 90px;
margin-right: 10px; margin-right: 10px;
overflow: hidden; overflow: hidden;
} }
.acceptance-item .div-img img { .acceptance-item .div-img img {
width: 125px; width: 125px;
height: 90px; height: 90px;
} }
.acceptance-item .sp-lbl { .acceptance-item .sp-lbl {
background: #074031; background: #074031;
border: solid 1px #1d642c; border: solid 1px #1d642c;
@ -1004,6 +886,7 @@ export default {
float: left; float: left;
width: 35%; width: 35%;
} }
.acceptance-item .sp-err { .acceptance-item .sp-err {
background: #351717; background: #351717;
border: solid 1px #5a0303; border: solid 1px #5a0303;
@ -1012,6 +895,7 @@ export default {
float: left; float: left;
width: 35%; width: 35%;
} }
.acceptance-item .sp-date { .acceptance-item .sp-date {
font-size: 12px; font-size: 12px;
color: #aaa; color: #aaa;
@ -1020,8 +904,10 @@ export default {
line-height: 36px; line-height: 36px;
text-align: right; text-align: right;
} }
.screen-one-3-1 { .screen-one-3-1 {
overflow-y: scroll; overflow-y: scroll;
&::-webkit-scrollbar { &::-webkit-scrollbar {
width: 8px; width: 8px;
height: 8px; height: 8px;
@ -1032,11 +918,13 @@ export default {
border-radius: 4px; border-radius: 4px;
} }
} }
.hide-scroll > .screen-one-3-1 {
.hide-scroll>.screen-one-3-1 {
overflow: hidden; overflow: hidden;
} }
.measured-data-list { .measured-data-list {
& > div { &>div {
padding: 0px 5px; padding: 0px 5px;
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -3,21 +3,26 @@
<module-one-1-1 label="举牌验收"> <module-one-1-1 label="举牌验收">
<div class="checking-row1" style="position: relative;height: 310px;overflow: hidden;"> <div class="checking-row1" style="position: relative;height: 310px;overflow: hidden;">
<div class="checking-chart-nav"> <div class="checking-chart-nav">
<span class="chart-nv-item" @click="showChart1 = true" :class="showChart1 ? 'active' : ''">常规验收</span> <span class="chart-nv-item" @click="showChart1 = true"
<span class="chart-nv-item" @click="showChart1 = false" :class="!showChart1 ? 'active' : ''">隐蔽验收</span> :class="showChart1 ? 'active' : ''">常规验收</span>
<span class="chart-nv-item" @click="showChart1 = false"
:class="!showChart1 ? 'active' : ''">隐蔽验收</span>
</div> </div>
<div v-if="chart"> <div v-if="chart">
<enginChart :class="showChart1 ? 'show-chart' : 'hide-chart'" ref="chart1" :height="300"></enginChart> <enginChart :class="showChart1 ? 'show-chart' : 'hide-chart'" ref="chart1" :height="300">
<enginChart :class="!showChart1 ? 'show-chart' : 'hide-chart'" ref="chart2" :height="300"></enginChart> </enginChart>
<enginChart :class="!showChart1 ? 'show-chart' : 'hide-chart'" ref="chart2" :height="300">
</enginChart>
</div> </div>
</div> </div>
</module-one-1-1> </module-one-1-1>
<module-one-1-1 label="常规验收" class="scroll checking-row2" style="position: relative;"> <module-one-1-1 label="常规验收" class="scroll checking-row2" style="position: relative;">
<img src="images/icon2001.png" style="position: absolute;cursor: pointer;right: 12px;top: 12px;" <img src="images/icon2001.png" style="position: absolute;cursor: pointer;right: 12px;top: 12px;"
@click="doShowCheckingListDlg(1)"> @click="doShowCheckingListDlg(1)" v-if="prjs.length>1">
<div class="checking-group-nav warning-info-title" style="padding-left: 20px;"> <div class="checking-group-nav warning-info-title" style="padding-left: 20px;">
<div class="nav-item" :class="nav1 == it.dictValue ? 'active' : ''" @click="doQueryGroup(it.dictValue, 'a')" <div class="nav-item" :class="nav1 == it.dictValue ? 'active' : ''"
v-for="(it, idx) in dict1" :key="it.dictValue">{{ it.dictLabel }}</div> @click="doQueryGroup(it.dictValue, 'a')" v-for="(it, idx) in dict1" :key="it.dictValue">{{
it.dictLabel }}</div>
</div> </div>
<div v-if="!projectInfo || projectInfo.id == 0"> <div v-if="!projectInfo || projectInfo.id == 0">
<div class="idle-list problemmodify_list" style="padding:0px 10px"> <div class="idle-list problemmodify_list" style="padding:0px 10px">
@ -38,7 +43,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="id" label="占比" width="100" align="center"> <el-table-column prop="id" label="占比" width="100" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.percent?scope.row.percent.toFixed(2)+'%':'' }} </div> <div>{{ scope.row.percent ? scope.row.percent.toFixed(2) + '%' : '' }} </div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -49,17 +54,18 @@
<img src="images/nodata.png" style="width: 120px;"> <img src="images/nodata.png" style="width: 120px;">
<div style="text-align: center;font-size: 12px;color:#888;">暂无数据</div> <div style="text-align: center;font-size: 12px;color:#888;">暂无数据</div>
</div> </div>
<div v-else class="acceptance-list scroll" > <div v-else class="acceptance-list scroll">
<div class="acceptance-item" v-for="(it, idx) in dataList1" :key="idx" style="cursor: pointer;"> <div class="acceptance-item" v-for="(it, idx) in dataList1" :key="idx" style="cursor: pointer;">
<div class="row-1"> <div class="row-1">
<div class="div-img"> <div class="div-img">
<el-image :src="getProfileImage(it.mainImage)" :preview-src-list="getBigProfileImage(it)" /> <el-image :src="getProfileImage(it.mainImage)"
:preview-src-list="getBigProfileImage(it)" />
</div> </div>
<div class="div-text" style="width: 65%;" @click="doShowChecking(it)"> <div class="div-text" style="width: 65%;" @click="doShowChecking(it)">
<div class="row-3"> <div class="row-3">
<div v-if="it.checkResult == '1'" class="sp-lbl"></div> <div v-if="it.checkResult == '1'" class="sp-lbl"></div>
<div v-if="it.checkResult == '2'" class="sp-err"></div> <div v-if="it.checkResult == '2'" class="sp-err"></div>
<div class="sp-date">{{ it.checkingDate|formatDate }}</div> <div class="sp-date">{{ it.checkingDate | formatDate }}</div>
</div> </div>
<div class="row-3"> <div class="row-3">
<span class="sp-label">项目:</span> <span class="sp-label">项目:</span>
@ -80,10 +86,11 @@
</module-one-1-1> </module-one-1-1>
<module-one-1-1 label="隐蔽验收" class="scroll checking-row3" style="position: relative;"> <module-one-1-1 label="隐蔽验收" class="scroll checking-row3" style="position: relative;">
<img src="images/icon2001.png" style="position: absolute;cursor: pointer;right: 12px;top: 12px;" <img src="images/icon2001.png" style="position: absolute;cursor: pointer;right: 12px;top: 12px;"
@click="doShowCheckingListDlg(2)"> @click="doShowCheckingListDlg(2)" v-if="prjs.length>1">
<div class="checking-group-nav warning-info-title" style="padding-left: 20px;"> <div class="checking-group-nav warning-info-title" style="padding-left: 20px;">
<div class="nav-item" :class="nav2 == it.dictValue ? 'active' : ''" @click="doQueryGroup(it.dictValue, 'b')" <div class="nav-item" :class="nav2 == it.dictValue ? 'active' : ''"
v-for="(it, idx) in dict2" :key="it.dictValue">{{ it.dictLabel }}</div> @click="doQueryGroup(it.dictValue, 'b')" v-for="(it, idx) in dict2" :key="it.dictValue">{{
it.dictLabel }}</div>
</div> </div>
<div v-if="!projectInfo || projectInfo.id == 0"> <div v-if="!projectInfo || projectInfo.id == 0">
<div class="idle-list problemmodify_list" style="padding:0px 10px"> <div class="idle-list problemmodify_list" style="padding:0px 10px">
@ -104,7 +111,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="id" label="占比" width="100" align="center"> <el-table-column prop="id" label="占比" width="100" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<div>{{ scope.row.percent?scope.row.percent.toFixed(2)+'%':'' }} </div> <div>{{ scope.row.percent ? scope.row.percent.toFixed(2) + '%' : '' }} </div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -115,17 +122,18 @@
<img src="images/nodata.png" style="width: 120px;"> <img src="images/nodata.png" style="width: 120px;">
<div style="text-align: center;font-size: 12px;color:#888;">暂无数据</div> <div style="text-align: center;font-size: 12px;color:#888;">暂无数据</div>
</div> </div>
<div v-else class="acceptance-list scroll" > <div v-else class="acceptance-list scroll">
<div class="acceptance-item" v-for="(it, idx) in dataList2" :key="idx" style="cursor: pointer;"> <div class="acceptance-item" v-for="(it, idx) in dataList2" :key="idx" style="cursor: pointer;">
<div class="row-1"> <div class="row-1">
<div class="div-img"> <div class="div-img">
<el-image :src="getProfileImage(it.mainImage)" :preview-src-list="getBigProfileImage(it)" /> <el-image :src="getProfileImage(it.mainImage)"
:preview-src-list="getBigProfileImage(it)" />
</div> </div>
<div class="div-text" style="width: 65%;" @click="doShowChecking(it)"> <div class="div-text" style="width: 65%;" @click="doShowChecking(it)">
<div class="row-3"> <div class="row-3">
<div v-if="it.checkResult == '1'" class="sp-lbl"></div> <div v-if="it.checkResult == '1'" class="sp-lbl"></div>
<div v-if="it.checkResult == '2'" class="sp-err"></div> <div v-if="it.checkResult == '2'" class="sp-err"></div>
<div class="sp-date">{{ it.checkingDate |formatDate }}</div> <div class="sp-date">{{ it.checkingDate | formatDate }}</div>
</div> </div>
<div class="row-3"> <div class="row-3">
<span class="sp-label">项目:</span> <span class="sp-label">项目:</span>
@ -150,6 +158,7 @@
</template> </template>
<script> <script>
import debounce from "lodash.debounce";
import throttle from 'lodash.throttle' import throttle from 'lodash.throttle'
import enginChart from '../engin/enginChart.vue' import enginChart from '../engin/enginChart.vue'
import showCheckingDlg from './showCheckingDlg.vue' import showCheckingDlg from './showCheckingDlg.vue'
@ -157,7 +166,7 @@ import listDlg from './projectCheckingListDlg.vue'
export default { export default {
name: 'JhbigscreenProjectChecking', name: 'JhbigscreenProjectChecking',
components: { components: {
enginChart, showCheckingDlg,listDlg enginChart, showCheckingDlg, listDlg
}, },
data() { data() {
return { return {
@ -176,6 +185,7 @@ export default {
chart: true, chart: true,
dataList1: [], dataList1: [],
dataList2: [], dataList2: [],
prjs:[],
}; };
}, },
created() { created() {
@ -194,6 +204,12 @@ export default {
}); });
}, },
mounted() { mounted() {
this.$bus.$on(
"loadProjects",
debounce((prjs) => {
this.prjs = prjs;
})
);
this.$bus.$on("projectChange", throttle((res) => { this.$bus.$on("projectChange", throttle((res) => {
this.projectInfo = res; this.projectInfo = res;
this.loadData(); this.loadData();
@ -208,12 +224,12 @@ export default {
}, },
methods: { methods: {
doShowCheckingListDlg(lvl1){ doShowCheckingListDlg(lvl1) {
this.$refs.listDlg.showDialog({ this.$refs.listDlg.showDialog({
lvl1:lvl1, lvl1: lvl1,
deptId:this.dept?.id || 0, deptId: this.dept?.id || 0,
projectInfo:this.projectInfo, projectInfo: this.projectInfo,
dicts:lvl1==1?this.dict1:this.dict2 dicts: lvl1 == 1 ? this.dict1 : this.dict2
}); });
}, },
doShowChecking(it) { doShowChecking(it) {
@ -442,16 +458,18 @@ export default {
} }
.problemmodify_list { .problemmodify_list {
&.idle-list{ &.idle-list {
.el-table__body .el-table__row { .el-table__body .el-table__row {
line-height: 36px; line-height: 36px;
height: 36px !important; height: 36px !important;
}
.el-table td {
height: 36px;
}
} }
.el-table td{
height: 36px; .el-table__body-wrapper {
}
}
.el-table__body-wrapper {
&::-webkit-scrollbar { &::-webkit-scrollbar {
width: 8px; width: 8px;
height: 8px; height: 8px;
@ -507,15 +525,18 @@ export default {
} }
} }
.acceptance-list{
.acceptance-list {
margin-top: 0px; margin-top: 0px;
max-height: 230px; max-height: 230px;
overflow-y: auto; overflow-y: auto;
.acceptance-item{
&:first-child{ .acceptance-item {
margin-top:0px; &:first-child {
margin-top: 0px;
} }
.row-3{
.row-3 {
display: flex; display: flex;
} }
} }