| | |
| | | <template> |
| | | <div class="overview-bottom"> |
| | | <div class="abnormal" @click="showAbnormal"> |
| | | <div style="margin-bottom: 30px">异常项目情况统计</div> |
| | | <div> |
| | | <div class="abnormal-center"> |
| | | 流程异常项目:<span |
| | | style="font-size: 16px; font-weight: 700" |
| | | >{{ |
| | | countExceptionProjectData.processExceptionProject |
| | | }}</span |
| | | > |
| | | </div> |
| | | <div class="abnormal-center"> |
| | | 资金异常项目:<span |
| | | style="font-size: 16px; font-weight: 700" |
| | | >0</span |
| | | > |
| | | </div> |
| | | <div class="abnormal-center"> |
| | | 进度异常项目:<span |
| | | style="font-size: 16px; font-weight: 700" |
| | | >0</span |
| | | > |
| | | </div> |
| | | </div> |
| | | <div class="abnormal-img"></div> |
| | | <div class="overview-bottom"> |
| | | <div class="abnormal" @click="showAbnormal"> |
| | | <div style="margin-bottom: 30px">异常项目情况统计</div> |
| | | <div> |
| | | <div class="abnormal-center"> |
| | | 流程异常项目:<span |
| | | style="font-size: 16px; font-weight: 700" |
| | | >{{ countExceptionProjectData.processExceptionProject }}</span |
| | | > |
| | | </div> |
| | | <div class="overview-div custom-min-width"> |
| | | <div |
| | | v-for="i in calculation" |
| | | :key="i.text" |
| | | :style="setbcStyle(i.text)" |
| | | class="listings" |
| | | @click="showDetail(i.text)" |
| | | > |
| | | <div :style="setTextStyle(i.text)" class="title"> |
| | | {{ i.text }} |
| | | </div> |
| | | <div class="conter"> |
| | | <div :style="setTextColor(i.text)" class="mun"> |
| | | {{ i.mun }} |
| | | </div> |
| | | <div class="statistics"> |
| | | <div>{{ i.statistics }}</div> |
| | | <div :style="setTextColor(i.text)"> |
| | | {{ i.statisticsMun |
| | | }}<span style="font-size: 18px">亿</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="listings"> |
| | | <div class="title"> |
| | | 储 |
| | | </div> |
| | | <div class="conter"> |
| | | <div class="mun">44</div> |
| | | <div class="statistics"> |
| | | <div>储备项目数量统计</div> |
| | | <div class="statistics-mun">1233<span style="font-size: 18px;">亿</span></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="listings"> |
| | | <div class="title"> |
| | | 储 |
| | | </div> |
| | | <div class="conter"> |
| | | <div class="mun">44</div> |
| | | <div class="statistics"> |
| | | <div>储备项目数量统计</div> |
| | | <div class="statistics-mun">1233<span style="font-size: 18px;">亿</span></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="listings"> |
| | | <div class="title"> |
| | | 储 |
| | | </div> |
| | | <div class="conter"> |
| | | <div class="mun">44</div> |
| | | <div class="statistics"> |
| | | <div>储备项目数量统计</div> |
| | | <div class="statistics-mun">1233<span style="font-size: 18px;">亿</span></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="listings"> |
| | | <div class="title"> |
| | | 储 |
| | | </div> |
| | | <div class="conter"> |
| | | <div class="mun">44</div> |
| | | <div class="statistics"> |
| | | <div>储备项目数量统计</div> |
| | | <div class="statistics-mun">1233<span style="font-size: 18px;">亿</span></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="listings"> |
| | | <div class="title"> |
| | | 储 |
| | | </div> |
| | | <div class="conter"> |
| | | <div class="mun">44</div> |
| | | <div class="statistics"> |
| | | <div>储备项目数量统计</div> |
| | | <div class="statistics-mun">1233<span style="font-size: 18px;">亿</span></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="listings"> |
| | | <div class="title"> |
| | | 储 |
| | | </div> |
| | | <div class="conter"> |
| | | <div class="mun">44</div> |
| | | <div class="statistics"> |
| | | <div>储备项目数量统计</div> |
| | | <div class="statistics-mun">1233<span style="font-size: 18px;">亿</span></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="listings"> |
| | | <div class="title active"> |
| | | 储 |
| | | </div> |
| | | <div class="conter"> |
| | | <div class="mun">44</div> |
| | | <div class="statistics"> |
| | | <div>储备项目数量统计</div> |
| | | <div class="statistics-mun">1233<span style="font-size: 18px;">亿</span></div> |
| | | </div> |
| | | </div> |
| | | </div> --> |
| | | <!-- <div class="abnormal-center">--> |
| | | <!-- 超时项目数:<span--> |
| | | <!-- style="font-size: 16px; font-weight: 700"--> |
| | | <!-- >0</span--> |
| | | <!-- >--> |
| | | <!-- </div>--> |
| | | <div class="abnormal-center"> |
| | | 容缺项目数:<span |
| | | style="font-size: 16px; font-weight: 700" |
| | | >{{countExceptionProjectData.hasWaitProjectNum}}</span |
| | | > |
| | | </div> |
| | | <!-- <div class="abnormal-center">--> |
| | | <!-- 资金异常项目:<span--> |
| | | <!-- style="font-size: 16px; font-weight: 700"--> |
| | | <!-- >0</span--> |
| | | <!-- >--> |
| | | <!-- </div>--> |
| | | <!-- <div class="abnormal-center">--> |
| | | <!-- 进度异常项目:<span--> |
| | | <!-- style="font-size: 16px; font-weight: 700"--> |
| | | <!-- >0</span--> |
| | | <!-- >--> |
| | | <!-- </div>--> |
| | | </div> |
| | | <div class="abnormal-img"></div> |
| | | </div> |
| | | <div class="overview-div custom-min-width"> |
| | | <div |
| | | v-for="i in calculation" |
| | | :key="i.text" |
| | | :style="setbcStyle(i.text)" |
| | | class="listings" |
| | | @click="showDetail(i.text)" |
| | | > |
| | | <div :style="setTextStyle(i.text)" class="title"> |
| | | {{ i.text }} |
| | | </div> |
| | | <div class="conter"> |
| | | <div :style="setTextColor(i.text)" class="mun"> |
| | | {{ i.mun }} |
| | | </div> |
| | | <div class="statistics"> |
| | | <div>{{ i.statistics }}</div> |
| | | <div :style="setTextColor(i.text)"> |
| | | {{ |
| | | i.statisticsMun |
| | | }}<span style="font-size: 18px">亿</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="listings"> |
| | | <div class="title"> |
| | | 储 |
| | | </div> |
| | | <div class="conter"> |
| | | <div class="mun">44</div> |
| | | <div class="statistics"> |
| | | <div>储备项目数量统计</div> |
| | | <div class="statistics-mun">1233<span style="font-size: 18px;">亿</span></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="listings"> |
| | | <div class="title"> |
| | | 储 |
| | | </div> |
| | | <div class="conter"> |
| | | <div class="mun">44</div> |
| | | <div class="statistics"> |
| | | <div>储备项目数量统计</div> |
| | | <div class="statistics-mun">1233<span style="font-size: 18px;">亿</span></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="listings"> |
| | | <div class="title"> |
| | | 储 |
| | | </div> |
| | | <div class="conter"> |
| | | <div class="mun">44</div> |
| | | <div class="statistics"> |
| | | <div>储备项目数量统计</div> |
| | | <div class="statistics-mun">1233<span style="font-size: 18px;">亿</span></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="listings"> |
| | | <div class="title"> |
| | | 储 |
| | | </div> |
| | | <div class="conter"> |
| | | <div class="mun">44</div> |
| | | <div class="statistics"> |
| | | <div>储备项目数量统计</div> |
| | | <div class="statistics-mun">1233<span style="font-size: 18px;">亿</span></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="listings"> |
| | | <div class="title"> |
| | | 储 |
| | | </div> |
| | | <div class="conter"> |
| | | <div class="mun">44</div> |
| | | <div class="statistics"> |
| | | <div>储备项目数量统计</div> |
| | | <div class="statistics-mun">1233<span style="font-size: 18px;">亿</span></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="listings"> |
| | | <div class="title"> |
| | | 储 |
| | | </div> |
| | | <div class="conter"> |
| | | <div class="mun">44</div> |
| | | <div class="statistics"> |
| | | <div>储备项目数量统计</div> |
| | | <div class="statistics-mun">1233<span style="font-size: 18px;">亿</span></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="listings"> |
| | | <div class="title active"> |
| | | 储 |
| | | </div> |
| | | <div class="conter"> |
| | | <div class="mun">44</div> |
| | | <div class="statistics"> |
| | | <div>储备项目数量统计</div> |
| | | <div class="statistics-mun">1233<span style="font-size: 18px;">亿</span></div> |
| | | </div> |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script > |
| | | <script> |
| | | export default { |
| | | name: "Index", |
| | | data() { |
| | | return {} |
| | | }, |
| | | props: { |
| | | calculation: Array, |
| | | countExceptionProjectData: Object, |
| | | }, |
| | | watch: { |
| | | // calculation: { |
| | | // handler(val) { |
| | | // console.log("11111" + val); |
| | | |
| | | // }, |
| | | // }, |
| | | // countExceptionProjectData: { |
| | | // handler(val) { |
| | | // console.log("22222" + val); |
| | | |
| | | // }, |
| | | // }, |
| | | }, |
| | | methods: { |
| | | setTextStyle(text) { |
| | | if (text === '储') return 'background-color:#3369FF'; |
| | | if (text === '建') return 'background-color:#64ADFD'; |
| | | if (text === '省') return 'background-color:#FF5E57'; |
| | | if (text === '市') return 'background-color:#FFA83F'; |
| | | if (text === '新') return 'background-color:#5DD1E5'; |
| | | if (text === '竣') return 'background-color:#576BF5'; |
| | | if (text === '县') return 'background-color:#3369FF'; |
| | | if (text === '普') return 'background-color:#64ADFD'; |
| | | return ''; |
| | | }, |
| | | |
| | | setTextColor(text) { |
| | | if (text === '储') return 'color:#3369FF'; |
| | | if (text === '建') return 'color:#64ADFD'; |
| | | if (text === '省') return 'color:#FF5E57'; |
| | | if (text === '市') return 'color:#FFA83F'; |
| | | if (text === '新') return 'color:#5DD1E5'; |
| | | if (text === '竣') return 'color:#576BF5'; |
| | | if (text === '县') return 'color:#3369FF'; |
| | | if (text === '普') return 'color:#64ADFD'; |
| | | return ''; |
| | | }, |
| | | |
| | | setbcStyle(text) { |
| | | if (text === '储') return 'background-color:#EAF0FF'; |
| | | if (text === '建') return 'background-color:#EFF7FF'; |
| | | if (text === '省') return 'background-color:#FEEEED'; |
| | | if (text === '市') return 'background-color:#FFF6EB'; |
| | | if (text === '新') return 'background-color:#EEFAFC'; |
| | | if (text === '竣') return 'background-color:#EEF0FE'; |
| | | if (text === '县') return 'background-color:#EAF0FF'; |
| | | if (text === '普') return 'background-color:#EFF7FF'; |
| | | return ''; |
| | | }, |
| | | // 跳转到异常项目 |
| | | showAbnormal() { |
| | | console.log('跳转异常项目'); |
| | | this.$router.push({ |
| | | path: 'projectEngineering/project/abnormalProject' |
| | | }); |
| | | }, |
| | | |
| | | // 跳转到对应的项目库 |
| | | showDetail(text) { |
| | | console.log('跳转到对应的项目库', text); |
| | | switch (text) { |
| | | case '储': |
| | | this.$router.push({ |
| | | path: '/projectEngineering/project/reserveProjects', |
| | | query: { |
| | | projectCategory: '1' |
| | | } |
| | | }); |
| | | break; |
| | | case '新': |
| | | this.$router.push({ |
| | | path: '/projectEngineering/project/previousProjects', |
| | | query: { |
| | | projectCategory: '2' |
| | | } |
| | | }); |
| | | break; |
| | | case '建': |
| | | this.$router.push({ |
| | | path: '/projectEngineering/project/implementationProject', |
| | | query: { |
| | | projectCategory: '3' |
| | | } |
| | | }); |
| | | break; |
| | | case '竣': |
| | | this.$router.push({ |
| | | path: '/projectEngineering/project/completedProjects', |
| | | query: { |
| | | projectCategory: '4' |
| | | } |
| | | }); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | name: "Index", |
| | | data() { |
| | | return { |
| | | } |
| | | }, |
| | | props: { |
| | | calculation: Array, |
| | | countExceptionProjectData: Object, |
| | | }, |
| | | watch: { |
| | | // calculation: { |
| | | // handler(val) { |
| | | // console.log("11111" + val); |
| | | |
| | | // }, |
| | | // }, |
| | | // countExceptionProjectData: { |
| | | // handler(val) { |
| | | // console.log("22222" + val); |
| | | |
| | | // }, |
| | | // }, |
| | | }, |
| | | methods: { |
| | | setTextStyle(text) { |
| | | if (text === '储') return 'background-color:#3369FF'; |
| | | if (text === '建') return 'background-color:#64ADFD'; |
| | | if (text === '省') return 'background-color:#FF5E57'; |
| | | if (text === '市') return 'background-color:#FFA83F'; |
| | | if (text === '新') return 'background-color:#5DD1E5'; |
| | | if (text === '竣') return 'background-color:#576BF5'; |
| | | if (text === '县') return 'background-color:#3369FF'; |
| | | if (text === '普') return 'background-color:#64ADFD'; |
| | | return ''; |
| | | }, |
| | | |
| | | setTextColor(text) { |
| | | if (text === '储') return 'color:#3369FF'; |
| | | if (text === '建') return 'color:#64ADFD'; |
| | | if (text === '省') return 'color:#FF5E57'; |
| | | if (text === '市') return 'color:#FFA83F'; |
| | | if (text === '新') return 'color:#5DD1E5'; |
| | | if (text === '竣') return 'color:#576BF5'; |
| | | if (text === '县') return 'color:#3369FF'; |
| | | if (text === '普') return 'color:#64ADFD'; |
| | | return ''; |
| | | }, |
| | | |
| | | setbcStyle(text) { |
| | | if (text === '储') return 'background-color:#EAF0FF'; |
| | | if (text === '建') return 'background-color:#EFF7FF'; |
| | | if (text === '省') return 'background-color:#FEEEED'; |
| | | if (text === '市') return 'background-color:#FFF6EB'; |
| | | if (text === '新') return 'background-color:#EEFAFC'; |
| | | if (text === '竣') return 'background-color:#EEF0FE'; |
| | | if (text === '县') return 'background-color:#EAF0FF'; |
| | | if (text === '普') return 'background-color:#EFF7FF'; |
| | | return ''; |
| | | }, |
| | | // 跳转到异常项目 |
| | | showAbnormal() { |
| | | console.log('跳转异常项目'); |
| | | this.$router.push({ |
| | | path: 'projectEngineering/project/abnormalProject' |
| | | }); |
| | | }, |
| | | |
| | | // 跳转到对应的项目库 |
| | | showDetail(text) { |
| | | console.log('跳转到对应的项目库', text); |
| | | switch (text) { |
| | | case '储': |
| | | this.$router.push({ |
| | | path: '/projectEngineering/project/reserveProjects', |
| | | query: { |
| | | projectPhase: '1' |
| | | } |
| | | }); |
| | | break; |
| | | case '新': |
| | | this.$router.push({ |
| | | path: '/projectEngineering/project/previousProjects', |
| | | query: { |
| | | projectPhase: '2' |
| | | } |
| | | }); |
| | | break; |
| | | case '建': |
| | | this.$router.push({ |
| | | path: '/projectEngineering/project/implementationProject', |
| | | query: { |
| | | projectPhase: '3' |
| | | } |
| | | }); |
| | | break; |
| | | case '竣': |
| | | this.$router.push({ |
| | | path: '/projectEngineering/project/completedProjects', |
| | | query: { |
| | | projectPhase: '4' |
| | | } |
| | | }); |
| | | break; |
| | | case '省': |
| | | this.$router.push({ |
| | | path: '/projectEngineering/project/projectLibrary', |
| | | query: { |
| | | importanceType: 'provincial_key' |
| | | } |
| | | }); |
| | | break; |
| | | case '县': |
| | | this.$router.push({ |
| | | path: '/projectEngineering/project/projectLibrary', |
| | | query: { |
| | | importanceType: 'shehong_key' |
| | | } |
| | | }); |
| | | break; |
| | | case '市': |
| | | this.$router.push({ |
| | | path: '/projectEngineering/project/projectLibrary', |
| | | query: { |
| | | importanceType: 'suining_key' |
| | | } |
| | | }); |
| | | break; |
| | | case '普': |
| | | this.$router.push({ |
| | | path: '/projectEngineering/project/projectLibrary', |
| | | query: { |
| | | importanceType: 'normal' |
| | | } |
| | | }); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .overview-bottom { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | |
| | | .abnormal { |
| | | position: relative; |
| | | width: 25%; |
| | | min-width: 342px; |
| | | height: 200px; |
| | | background-image: url(../../assets/images/b.png); |
| | | background-size: 100% auto; |
| | | border-radius: 6px; |
| | | font-size: 16px; |
| | | color: #ffffff; |
| | | padding: 20px 0 0 20px; |
| | | .abnormal:hover { |
| | | cursor: pointer; |
| | | } |
| | | .abnormal { |
| | | position: relative; |
| | | width: 25%; |
| | | min-width: 342px; |
| | | height: 200px; |
| | | background-image: url(../../assets/images/b.png); |
| | | background-size: 100% auto; |
| | | border-radius: 6px; |
| | | font-size: 16px; |
| | | color: #ffffff; |
| | | padding: 20px 0 0 20px; |
| | | |
| | | .abnormal-center { |
| | | margin-bottom: 15px; |
| | | } |
| | | |
| | | .abnormal-img { |
| | | position: absolute; |
| | | right: 50px; |
| | | bottom: 20px; |
| | | width: 100px; |
| | | height: 100px; |
| | | background-image: url(../../assets/images/c.png); |
| | | } |
| | | .abnormal-center { |
| | | margin-bottom: 15px; |
| | | } |
| | | |
| | | .custom-min-width { |
| | | min-width: 1250px; |
| | | width: 1250px; |
| | | .abnormal-img { |
| | | position: absolute; |
| | | right: 50px; |
| | | bottom: 20px; |
| | | width: 100px; |
| | | height: 100px; |
| | | background-image: url(../../assets/images/c.png); |
| | | } |
| | | } |
| | | |
| | | .listings { |
| | | width: 300px; |
| | | height: 90px; |
| | | border-radius: 6px; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | .title { |
| | | width: 45px; |
| | | height: 45px; |
| | | font-size: 24px; |
| | | border-radius: 8px; |
| | | line-height: 45px; |
| | | text-align: center; |
| | | margin-left: 15px; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | .active { |
| | | background-color: #3369ff; |
| | | } |
| | | |
| | | .conter { |
| | | margin-left: 10px; |
| | | |
| | | .mun { |
| | | font-size: 30px; |
| | | line-height: 32px; |
| | | } |
| | | |
| | | .statistics { |
| | | width: 200px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | |
| | | // .statistics-mun { |
| | | // // color: #3369FF; |
| | | // } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .overview-div { |
| | | .custom-min-width { |
| | | min-width: 1250px; |
| | | width: 1250px; |
| | | gap: 10px; |
| | | flex-wrap: wrap; |
| | | } |
| | | |
| | | .listings:hover { |
| | | cursor: pointer; |
| | | } |
| | | .listings { |
| | | width: 300px; |
| | | height: 90px; |
| | | border-radius: 6px; |
| | | display: flex; |
| | | margin-left: 10px; |
| | | align-items: center; |
| | | |
| | | .title { |
| | | width: 45px; |
| | | height: 45px; |
| | | font-size: 24px; |
| | | border-radius: 8px; |
| | | line-height: 45px; |
| | | text-align: center; |
| | | margin-left: 15px; |
| | | color: #ffffff; |
| | | } |
| | | |
| | | .active { |
| | | background-color: #3369ff; |
| | | } |
| | | |
| | | .conter { |
| | | margin-left: 10px; |
| | | |
| | | .mun { |
| | | font-size: 30px; |
| | | line-height: 32px; |
| | | } |
| | | |
| | | .statistics { |
| | | width: 200px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | |
| | | // .statistics-mun { |
| | | // // color: #3369FF; |
| | | // } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .overview-div { |
| | | min-width: 1250px; |
| | | width: 1250px; |
| | | gap: 10px; |
| | | flex-wrap: wrap; |
| | | display: flex; |
| | | margin-left: 10px; |
| | | } |
| | | </style> |