Browse Source

代码提交

master
juwei001 2 years ago
parent
commit
5369ae48fd
  1. 2
      .eslintrc.js
  2. 22076
      package-lock.json
  3. 42
      src/api/szyf.js
  4. 879
      src/assets/css/test.scss
  5. 2
      src/views/next/dialog-module/hsyf-left/partyCommittee/dyzxh.vue
  6. 559
      src/views/next/dialog-module/szyf-left/eventAnalysis.vue
  7. 650
      src/views/next/dialog-module/szyf-left/eventProcessing.vue
  8. 614
      src/views/next/dialog-module/szyf-left/eventShequ.vue
  9. BIN
      src/views/next/dialog-module/szyf-left/images/dibu.png
  10. BIN
      src/views/next/dialog-module/szyf-left/images/ding.png
  11. BIN
      src/views/next/dialog-module/szyf-left/images/guanbi.png
  12. BIN
      src/views/next/dialog-module/szyf-left/images/xiaobiaoti.png
  13. BIN
      src/views/next/dialog-module/szyf-left/images/zhong.png
  14. 8
      src/views/next/dialog-module/szyf-left/replyOptions.js
  15. 138
      src/views/next/screen-content-left/home-left/index.vue
  16. 3
      src/views/next/screen-content-left/hsyf-left/index.vue
  17. 338
      src/views/next/screen-content-left/szyf-left/index.vue
  18. 193
      src/views/next/screen-content-right/hsyf-right/index.vue
  19. 52
      src/views/next/screen-content-right/szyf-right/index.vue
  20. 17
      vue.config.js
  21. 10733
      yarn.lock

2
.eslintrc.js

@ -8,7 +8,7 @@ module.exports = {
'@vue/standard'
],
parserOptions: {
parser: 'babel-eslint'
// parser: 'babel-eslint'
},
ignorePatterns: ['public/js/threejs-r135/'],
rules: {

22076
package-lock.json

File diff suppressed because it is too large

42
src/api/szyf.js

@ -18,10 +18,48 @@ export function getEventAnalysis (params) {
})
}
// 事件处理实况
// 重点人员
export function statsByCategory (params) {
return request({
url: 'api/epmetuser/lingShan/helpCrowd/screen/yifengScreen/statsByCategory',
url: '/api/epmetuser/lingShan/helpCrowd/screen/yifengScreen/statsByCategory',
method: 'GET',
params
})
}
// 事件列表
export function getEventListByManageStatus (params) {
return request({
url: '/api/gov/project/icEvent/yifengScreen/getEventListByManageStatus',
method: 'GET',
params
})
}
// 事件列表
export function getProcess (params) {
return request({
url: '/api/gov/project/icEvent/yifengScreen/process',
method: 'post',
data: params,
params
})
}
// 事件列表
export function getDictlist (params) {
return request({
url: '/api/sys/dict/data/yifengScreen/dictlist',
method: 'post',
data: params,
params
})
}
// 重点帮扶人口列表
export function listHelpCrowd (params) {
return request({
url: '/api/epmetuser/lingShan/helpCrowd/yifengScreen/listHelpCrowd',
method: 'GET',
params
})

879
src/assets/css/test.scss

@ -0,0 +1,879 @@
.darkDialog {
/deep/ .el-dialog {
width: 987px;
// height: 775px;
background: transparent;
border: none;
box-shadow: none;
.el-dialog__header {
border: none !important;
padding: 0px !important;
.el-dialog__headerbtn {
width: 36px;
height: 36px;
background-image: url(../images/guanbi.png);
top: -10px;
right: -15px;
.el-dialog__close {
display: none;
}
}
.dialogTitle {
@include toe;
position: relative;
font-size: 20px;
line-height: 20px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #ffffff;
padding: 26px 20px 10px 54px;
background-image: url(../images/ding.png);
background-size: 100% 100%;
.title_img {
position: absolute;
left: 29px;
width: 22px;
height: 22px;
background-image: url(../images/xiaobiaoti.png);
float: left;
}
}
}
.el-dialog__body {
border: none !important;
padding: 0px;
width: 100%;
background-image: url(../images/zhong.png);
background-size: 100%;
max-height: 630px;
overflow-y: auto;
@include scrollBar;
.dialogBody {
padding: 20px 50px 10px 53px;
.bigTitle {
font-size: 30px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #ffffff;
background: linear-gradient(0deg, #009dff 0%, #ffffff 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
text-align: center;
margin-bottom: 48px;
}
.view {
color: #ffc821;
cursor: pointer;
}
}
}
.el-dialog__footer {
padding: 0px !important;
.dialogFooter {
height: 40px;
background-position: bottom;
width: 100%;
background-image: url(../images/dibu.png);
background-size: 100%;
}
}
}
}
.darkDialog-tvwall {
/deep/ .el-dialog {
width: 987px;
// height: 775px;
background: transparent;
border: none;
box-shadow: none;
.el-dialog__header {
border: none !important;
padding: 0px !important;
.el-dialog__headerbtn {
width: 36px;
height: 36px;
background-image: url(../images/guanbi.png);
top: -10px;
right: -15px;
.el-dialog__close {
display: none;
}
}
.dialogTitle {
@include toe;
position: relative;
font-size: 20px;
line-height: 20px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #ffffff;
padding: 16px 20px 0px 54px;
background-image: url(../images/ding.png);
background-size: 100% 100%;
.title_img {
position: absolute;
left: 29px;
width: 22px;
height: 22px;
background-image: url(../images/xiaobiaoti.png);
float: left;
}
}
}
.el-dialog__body {
border: none !important;
padding: 0px;
width: 100%;
background-image: url(../images/zhong.png);
background-size: 100%;
max-height: 690px;
overflow-y: auto;
@include scrollBar;
.dialogBody {
padding: 20px 50px 0px 53px;
.bigTitle {
font-size: 30px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #ffffff;
background: linear-gradient(0deg, #009dff 0%, #ffffff 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
text-align: center;
margin-bottom: 48px;
}
.view {
color: #ffc821;
cursor: pointer;
}
}
}
.el-dialog__footer {
padding: 0px !important;
.dialogFooter {
height: 30px;
background-position: bottom;
width: 100%;
background-image: url(../images/dibu.png);
background-size: 100%;
}
}
}
}
.m-info {
padding: 20px 0px 10px;
.userImg {
width: 130px;
height: 130px;
background: #020202;
border: 1px solid #007ae7;
border-radius: 10px;
object-fit: cover;
}
.info2 {
margin-top: 30px;
.item {
background-color: rgb(21, 57, 148);
margin: 10px 10px 10px 0px;
padding: 2px 0px;
}
.noMarginRight {
.item {
margin-right: 0px;
}
}
}
.info_m_box {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
.center_box {
position: relative;
width: 192px;
height: 192px;
background: url(../images/renCen.png) no-repeat center;
color: #fff;
background-size: 100%;
section {
position: relative;
top: 113px;
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
}
}
}
.line1 {
width: 150px;
height: 2px;
background: linear-gradient(to right, #1f7eff, #080e58);
position: absolute;
top: 33px;
left: -154px;
transform: rotate3d(1, 1, 1, 21deg);
}
.line1_dot1 {
width: 74px;
height: 74px;
background: url(../images/ren.png) no-repeat center;
background-size: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: absolute;
top: -25px;
left: -222px;
}
.line1_dot2 {
width: 74px;
height: 74px;
background: url(../images/ren.png) no-repeat center;
background-size: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: absolute;
top: 67px;
left: -318px;
}
.line1_dot3 {
width: 74px;
height: 74px;
background: url(../images/ren.png) no-repeat center;
background-size: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: absolute;
top: 141px;
left: -103px;
}
.line2 {
width: 240px;
height: 2px;
background: linear-gradient(to right, #1f7eff, #080e58);
position: absolute;
top: 106px;
left: -250px;
transform: rotate3d(1, 1, 1, 360deg);
}
.line3 {
width: 69px;
height: 2px;
background: linear-gradient(to right, #1f7eff, #080e58);
background: linear-gradient(to right, #1f7eff, #080e58);
position: absolute;
top: 172px;
left: -47px;
transform: rotate3d(1, 1, 1, 296deg);
top: 150px;
left: -46px;
}
.line1_r {
width: 150px;
height: 2px;
background: linear-gradient(to left, #1f7eff, #080e58);
position: absolute;
top: 149px;
left: 182px;
transform: rotate3d(1, 1, 1, 21deg);
}
.line1_dot1_r {
width: 74px;
height: 74px;
background: url(../images/ren.png) no-repeat center;
background-size: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: absolute;
top: 141px;
left: 330px;
}
.line1_dot2_r {
width: 74px;
height: 74px;
background: url(../images/ren.png) no-repeat center;
background-size: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: absolute;
top: 6px;
left: 433px;
}
.line1_dot3_r {
width: 74px;
height: 74px;
background: url(../images/ren.png) no-repeat center;
background-size: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: absolute;
top: -28px;
left: 236px;
}
.line2_r {
width: 240px;
height: 2px;
background: linear-gradient(to left, #1f7eff, #080e58);
position: absolute;
top: 73px;
left: 199px;
-webkit-transform: rotate3d(1, 1, 1, 360deg);
transform: rotate3d(1, 1, 1, 341deg);
}
.line3_r {
width: 69px;
height: 2px;
background: linear-gradient(to left, #1f7eff, #080e58);
background: linear-gradient(to left, #1f7eff, #080e58);
position: absolute;
top: 172px;
left: -47px;
transform: rotate3d(1, 1, 1, 296deg);
top: 40px;
left: 187px;
}
/deep/ .item {
display: flex;
padding: 0px 0;
min-width: 50%;
line-height: 24px;
.field {
min-width: 100px;
text-align: right;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #b5d9ff;
line-height: 32px;
opacity: 0.76;
}
.eventImg {
margin-top: 10px;
max-width: 80%;
max-height: 300px;
}
.tel {
width: 76px;
height: 24px;
display: inline-block;
margin-left: 10px;
cursor: pointer;
// background: rgba(2, 2, 2, 0.36);
// border: 1px solid #02afff;
// border-radius: 4px;
}
.icon {
width: 18px;
margin-right: 16px;
}
.value {
flex: 1;
width: 100%;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
line-height: 32px;
}
.workIng {
color: #19ffe1;
}
.workEnd {
color: #ccc;
}
}
/deep/.fenge {
border-left: 1px dashed #007eff;
margin: 15px 0px;
height: 100%;
}
/deep/.timeline {
margin-top: 15px;
.sucess {
.el-timeline-item__node {
width: 16px;
height: 16px;
background-color: #0c81fe;
border: solid 3px #fff;
box-shadow: 0px 0px 10px 5px #0c81fe;
}
}
.el-timeline-item__node {
width: 16px;
height: 16px;
background: #09176c;
border: 1px solid #007ae7;
border-radius: 50%;
}
.el-timeline-item__tail {
left: 6px;
border-left: 1px solid #6398d1;
}
.status-box {
display: flex;
.status2 {
width: 76px;
height: 24px;
background: #0c81fe;
border-radius: 10px 0px 10px 0px;
color: #fefefe;
text-align: center;
line-height: 24px;
}
.status1 {
width: 76px;
height: 24px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #3d86ff;
line-height: 24px;
}
.timestamp {
width: 121px;
font-size: 12px;
font-family: Microsoft YaHei;
font-weight: 300;
color: #b5d9ff;
line-height: 24px;
opacity: 0.46;
margin-left: 11px;
}
}
.content {
display: flex;
margin-top: 4px;
.field {
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #b5d9ff;
line-height: 24px;
opacity: 0.76;
}
.value {
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
line-height: 24px;
}
}
}
}
.borbto {
border-bottom: dashed 1px #ffffff;
}
.m-info2 {
/deep/.item {
.field {
width: 80px;
}
}
}
.detail {
margin: 20px 30px 20px 35px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
line-height: 32px;
/deep/ img {
max-width: 100%;
}
}
.link {
color: rgba(#fff, 0.7);
margin: 10px 30px 10px 35px;
font-size: 16px;
line-height: 36px;
a {
cursor: pointer;
}
}
.m-dangwu {
/deep/.dangwubox {
padding: 8px 0;
color: #fff;
border-bottom: dashed 1px #fff;
overflow: hidden;
.dagnwuImg {
margin-right: 20px;
float: left;
width: 120px;
height: 90px;
background-color: #00023a;
border-radius: 8px;
img {
width: 120px;
height: 90px;
margin: 0 auto;
object-fit: cover;
}
}
.dagnwucontent {
width: calc(100% - 150px);
float: left;
line-height: 24px;
h1 {
font-weight: normal;
font-size: 18px;
margin: 0px;
margin-bottom: 10px;
}
h2 {
font-weight: normal;
font-size: 16px;
color: #888;
margin: 0px;
}
h3 {
font-weight: normal;
font-size: 16px;
color: #888;
margin: 0px;
margin-bottom: 10px;
}
}
}
}
.m-table {
/deep/.el-table::before {
height: 0px;
}
/deep/.el-table__fixed-right::before {
height: 0px;
}
/deep/.el-table {
background-color: transparent;
.el-table__header {
thead tr {
background-color: transparent;
}
thead th {
background-color: transparent;
border-bottom: none !important;
text-align: center;
color: #b5d9ff;
font-weight: normal;
opacity: 0.76;
}
}
.el-table th.is-leaf {
}
.el-table__row {
background: transparent;
}
.el-table__row td {
background: rgb(13, 48, 148);
color: #fff;
padding: 10px !important;
border-bottom: none !important;
text-align: center;
}
.el-table__row.hover-row td,
.el-table__row.el-table__row--striped.hover-row td {
background: rgb(80, 112, 187);
}
.el-table__row.el-table__row--striped,
.el-table__row.el-table__row--striped td {
background-color: rgb(6, 10, 79);
}
}
/deep/.m-pagination {
flex-direction: row-reverse;
box-sizing: border-box;
margin-top: 24px;
width: 100%;
height: 40px;
display: flex;
justify-content: space-between;
.el-pagination.is-background .el-pager li:not(.disabled).active {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #ffffff;
border-radius: 2px;
border: 1px solid rgba(26, 149, 255, 0.45);
background: #1a95ff;
}
.el-pagination .el-pager li {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: rgba(255, 255, 255, 0.65);
border-radius: 2px;
border: 1px solid rgba(26, 149, 255, 0.45);
background: #00023a;
}
.el-pagination .btn-prev {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: rgba(255, 255, 255, 0.65);
border-radius: 2px;
border: 1px solid rgba(26, 149, 255, 0.45);
background: #00023a;
}
.el-pagination .btn-next {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: rgba(255, 255, 255, 0.65);
border-radius: 2px;
border: 1px solid rgba(26, 149, 255, 0.45);
background: #00023a;
}
.el-pagination__editor.el-input .el-input__inner {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: rgba(255, 255, 255, 0.65);
border-radius: 2px;
border: 1px solid rgba(26, 149, 255, 0.45);
background: #00023a;
}
.el-pagination .el-select .el-input .el-input__inner {
margin-left: 14px;
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: rgba(255, 255, 255, 0.65);
border-radius: 2px;
border: 1px solid rgba(26, 149, 255, 0.45);
background: #00023a;
}
}
}
.m-empty {
line-height: 300px;
font-size: 24px;
color: rgba(#fff, 0.5);
text-align: center;
}
.success {
color: #00c790;
}
.ing {
color: #ffaa00;
}
.no-data-img {
width: 100px;
margin: 100px;
}
.org1 {
background-image: url(../images/org1.png);
background-size: 100% 100%;
max-width: 200px;
height: 90px;
text-align: center;
color: rgb(219, 196, 97);
font-size: 18px;
font-weight: bold;
padding: 20px 10px 10px;
margin: 0 auto;
margin-bottom: 10px;
}
.org2 {
background-image: url(../images/org2.png);
background-size: 100% 100%;
max-width: 200px;
height: 90px;
color: #fff;
font-size: 16px;
padding: 10px 10px 10px 25px;
margin: 0 auto;
margin-bottom: 10px;
position: relative;
}
.org2::before {
display: inline-block;
position: absolute;
margin-left: -15px;
margin-top: 5px;
content: "";
width: 10px;
height: 10px;
background-size: 100% 100%;
background-image: url(../images/point.png);
}
.line1 {
background-image: url(../images/orgA1.png);
background-position: center;
background-repeat: no-repeat;
height: 100px;
}
.line2 {
background-image: url(../images/orgA2.png);
background-position: center;
background-repeat: no-repeat;
height: 100px;
}
.line3 {
background-image: url(../images/orgA3.png);
background-position: center;
background-repeat: no-repeat;
height: 100px;
}
.orgTable * {
vertical-align: top;
}
.smallText {
font-size: 14px;
margin-top: 4px;
}
.titleBox {
display: flex;
align-items: center;
margin-bottom: 30px;
div {
font-size: 18px;
color: #fff !important;
margin-left: 5px;
}
}
.m-fm {
display: flex;
margin-bottom: 20px;
.btn {
width: 90px;
height: 36px;
background: linear-gradient(270deg, #0dccff 0%, #4760ff 100%);
border-radius: 2px;
text-align: center;
font-size: 18px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
line-height: 36px;
cursor: pointer;
}
.second-select {
margin: 0 10px 0 0px;
::v-deep .el-input {
width: 180px;
height: 36px;
.el-input__inner {
height: 100%;
padding: 0 10px;
color: #fff;
line-height: 36px;
background: #06186d;
border: 1px solid #1a64cc;
}
.el-icon-arrow-up:before {
content: "\e78f";
}
// .el-select__caret:before {
// content: '\E790'
// }
}
}
}
.m-empty {
img.no-data-img {
display: block;
margin-left: auto;
margin-right: auto;
}
}
.m-list {
.item {
display: flex;
padding: 16px 20px;
margin-bottom: 16px;
background: rgba(#6da6ff, 0.2);
border-radius: 2px;
.photo {
display: block;
margin-right: 12px;
width: 160px;
height: 90px;
object-fit: cover;
}
.col {
&:last-child {
width: 260px;
margin-left: auto;
}
max-width: 600px;
.btn-more {
margin-top: 8px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffde00;
line-height: 20px;
cursor: pointer;
}
.item-dict {
display: flex;
line-height: 28px;
.item-field {
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: rgba(#b5d9ff, 0.76);
}
.item-value {
@include toe;
max-width: 450px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
img {
height: 28px;
}
}
}
}
}
}

2
src/views/next/dialog-module/hsyf-left/partyCommittee/dyzxh.vue

@ -139,7 +139,7 @@ export default {
cunNum: 10,
zrcunNum: 100,
gridCount: 370,
dyzxhNum: 692
dyzxhNum: 725
}
},
computed: {

559
src/views/next/dialog-module/szyf-left/eventAnalysis.vue

@ -1,51 +1,57 @@
<template>
<div class="modal" v-show="sjfx">
<section>
<div class="dialog_header">
<div class="close-icon" @click="closeDialog">
<img src="@/assets/images/common/dialog-colse.png" alt="" />
</div>
<div class="title-container">
<div class="title">{{ dialogTitle }}</div>
</div>
<div class="modal" v-show="sjfx">
<section>
<div class="dialog_header">
<div class="close-icon" @click="closeDialog">
<img src="@/assets/images/common/dialog-colse.png" alt="" />
</div>
<div class="title-container">
<div class="title">{{ dialogTitle }}</div>
</div>
<div class="dialog_body">
<div class="content">
<div class="left">
<div class="item" v-for="(item, index) in leftlist" :key="index">
<div class="time" v-show="item.time">
{{ item.time }}
</div>
<div class="dialog_body">
<div class="content">
<div class="left">
<div class="item" v-for="(item, index) in leftlist" :key="index">
<!-- <div class="time" v-show="item.time">
{{ item.time }}111
</div> -->
<div class="unit">
<div>
<div>{{ item.processName }}</div>
<div>{{ item.manageTime }}</div>
</div>
<div class="unit">
{{ item.unit }}
<div>
<div>办理部门</div>
<div>{{ item.departmentName }}</div>
</div>
<div>
<div>办理人电话</div>
<div>{{ item.manageResiTel }}</div>
</div>
<div>
<div>办理意见</div>
<div>{{ item.publicReply }}</div>
</div>
</div>
</div>
<div class="right">
<div class="item" v-for="(item, index) in rightList" :key="index">
<img
:src="item.imageSrc"
alt=""
class="m-r16"
/>
<section>
<div class="unit">
<span>{{ item.name }}</span>
</div>
<p class="introduce">{{ item.content }}</p>
</section>
<!-- <img
:src="item.imageSrc"
alt=""
class="m-l16"
/> -->
</div>
</div>
<div class="right">
<div class="item" v-for="(item, index) in rightList" :key="index">
<img :src="item.imageSrc" alt="" class="m-r16" />
<section>
<div class="unit">
<span>{{ item.name }}</span>
</div>
<p class="introduce">{{ item.content }}</p>
</section>
</div>
</div>
</div>
</section>
</div>
</template>
</div>
</section>
</div>
</template>
<script>
import { mapGetters, mapActions } from 'vuex'
@ -53,74 +59,163 @@ export default {
name: '',
data () {
return {
dialogTitle: '事件分析',
dialogTitle: '事件详情',
leftlist: [
{
time: '2012年03月',
unit: '青岛浩丰生物科技有限公司签约落户'
},
{
time: '2017年08月',
unit: '瑞克斯旺科研中心开工建设'
},
{
time: '2017年11月',
unit: '青岛硕丰源种业签约落户'
},
{
time: '2018年01月',
unit: '青岛硕丰源研发中心与育苗工厂开工建设'
},
{
time: '2018年09月',
unit: '韩国农友BIO株式会社、日本伯格地球株式会社到产业园考察、洽谈'
issueId: null,
projectId: null,
processId: '1726416639137255426',
processName: '回复',
processTime: '1700444776',
departmentName: '灵山新村-赵明辉',
publicReply: '完结',
isSend: null,
internalRemark: null,
subProcess: null,
publicFile: null,
internalFile: null,
assistanceUnitId: null,
assistanceUnitName: null,
type: 'event',
serviceParty: null,
serviceTime: null,
actualServiceTime: null,
manageStatus: 2,
manageTime: '2023-11-17 09:23:51',
manageResi: '隋俊蕾',
userId: '1680761415452528641',
manageResiTel: '19565327658'
},
{
time: '2018年10月',
unit: '青岛美田花卉种子有限公司签约落户'
issueId: null,
projectId: null,
processId: '1726416428398645250',
processName: '回复',
processTime: '1700444726',
departmentName: '灵山新村-赵明辉',
publicReply: '河南二村恭信路南六十米散养家禽已经处理',
isSend: null,
internalRemark: null,
subProcess: null,
publicFile: null,
internalFile: null,
assistanceUnitId: null,
assistanceUnitName: null,
type: 'event',
serviceParty: null,
serviceTime: null,
actualServiceTime: null,
manageStatus: 2,
manageTime: '2023-11-19 07:31:40',
manageResi: '张丽华',
userId: '1680761415452528641',
manageResiTel: '18661751059'
},
{
time: '2019年02月',
unit: '青岛普瑞达灵芝研发中心项 目签约落户'
issueId: null,
projectId: null,
processId: '1726416199007965186',
processName: '回复',
processTime: '1700444671',
departmentName: '灵山新村-赵明辉',
publicReply: '请于24小时内现场核实,并按时反馈核实结果',
isSend: null,
internalRemark: null,
subProcess: null,
publicFile: null,
internalFile: null,
assistanceUnitId: null,
assistanceUnitName: null,
type: 'event',
serviceParty: null,
serviceTime: null,
actualServiceTime: null,
manageStatus: 1,
manageTime: '2023-11-18 15:12:51',
manageResi: '隋俊蕾',
userId: '1680761415452528641',
manageResiTel: '19565327658'
},
{
time: '2019年04月',
unit: '韩国农友(北京世农种苗)签约落户'
issueId: null,
projectId: null,
processId: '1726415823487733761',
processName: '回复',
processTime: '1700444582',
departmentName: '灵山新村-赵明辉',
publicReply: '已审核,情况属实。',
isSend: null,
internalRemark: null,
subProcess: null,
publicFile: null,
internalFile: null,
assistanceUnitId: null,
assistanceUnitName: null,
type: 'event',
serviceParty: null,
serviceTime: null,
actualServiceTime: null,
manageStatus: 2,
manageTime: '2023-11-18 14:37:43',
manageResi: '张仁俊',
userId: '1680761415452528641',
manageResiTel: '13557698655'
},
{
time: '2019年04月',
unit: '青岛德龙种子签约落户'
issueId: null,
projectId: null,
processId: '1726415503906934786',
processName: '回复',
processTime: '1700444506',
departmentName: '灵山新村-赵明辉',
publicReply: '已阅收',
isSend: null,
internalRemark: null,
subProcess: null,
publicFile: null,
internalFile: null,
assistanceUnitId: null,
assistanceUnitName: null,
type: 'event',
serviceParty: null,
serviceTime: null,
actualServiceTime: null,
manageStatus: 1,
manageTime: '2023-11-18 14:17:34',
manageResi: '孙雪梅',
userId: '1680761415452528641',
manageResiTel: '15523698756'
}
],
rightList: [
{
name: '青岛浩丰生物科技有限公司',
content:
'主要业务包括种苗培育、种植加工、仓储销售,曾先后被授予为青岛市农业产业化重点龙头企业、青岛市市控蔬菜基地、山东省现代生态循环农业示范点、青岛市绿色园艺产业园等荣誉。',
'主要业务包括种苗培育、种植加工、仓储销售,曾先后被授予为青岛市农业产业化重点龙头企业、青岛市市控蔬菜基地、山东省现代生态循环农业示范点、青岛市绿色园艺产业园等荣誉。',
imageSrc: require('@/assets/images/resource/yfcj/1.jpg')
},
{
name: '瑞克斯旺(中国)农业科技有限公司',
content:
'主要从事蔬菜新品种和新技术的引进、研发、推广及服务工作。瑞克斯旺中国在全国各地成功开发与推广番茄、茄子、彩椒、辣椒、黄瓜、菠菜等优良品种百余个。',
'主要从事蔬菜新品种和新技术的引进、研发、推广及服务工作。瑞克斯旺中国在全国各地成功开发与推广番茄、茄子、彩椒、辣椒、黄瓜、菠菜等优良品种百余个。',
imageSrc: require('@/assets/images/resource/yfcj/ruikesiwang.png')
},
{
name: '青岛硕丰源种业有限公司',
content:
'专业致力于旱黄瓜良种的研究、开发与服务为一体的农业高科技企业。是国内最大的一家专业从中国华南型黄瓜种子研发、生产、销售的科技型公司。',
'专业致力于旱黄瓜良种的研究、开发与服务为一体的农业高科技企业。是国内最大的一家专业从中国华南型黄瓜种子研发、生产、销售的科技型公司。',
imageSrc: require('@/assets/images/resource/yfcj/shuofengyuan.png')
},
{
name: '青岛美田花卉种子有限公司',
content:
'主要从事蔬菜新品种和新技术的引进、研发、推广及服务工作。瑞克斯旺中国在全国各地成功开与推广番茄、茄子、彩椒、辣椒、黄瓜、菠菜等优良品种百余个。',
'主要从事蔬菜新品种和新技术的引进、研发、推广及服务工作。瑞克斯旺中国在全国各地成功开与推广番茄、茄子、彩椒、辣椒、黄瓜、菠菜等优良品种百余个。',
imageSrc: require('@/assets/images/resource/yfcj/meitian.png')
},
{
name: '青岛德龙种子有限公司',
content:
'规模化新优品种花卉生产而著称。是一家种质资源丰富、技术力量雄厚,集高品质花卉生产和花卉景观设计、施工、养护为一体的综合性公司。',
'规模化新优品种花卉生产而著称。是一家种质资源丰富、技术力量雄厚,集高品质花卉生产和花卉景观设计、施工、养护为一体的综合性公司。',
imageSrc: require('@/assets/images/resource/yfcj/delong.png')
}
]
@ -143,192 +238,212 @@ export default {
}
</script>
<style lang="scss" scoped>
.modal {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
z-index: 150;
<style lang="scss" scoped>
.modal {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
z-index: 150;
> section {
@include flex(column);
background: url("~@/assets/images/common/dialog-bg.png") no-repeat !important;
background-size: 100% 100%;
width: 1180px;
height: 716px;
overflow: hidden;
padding-bottom: 16px;
box-sizing: border-box;
> section {
@include flex(column);
background: url("~@/assets/images/common/dialog-bg.png") no-repeat !important;
background-size: 100% 100%;
width: 1180px;
height: 716px;
overflow: hidden;
padding-bottom: 16px;
box-sizing: border-box;
.dialog_header {
position: relative;
.dialog_header {
position: relative;
.close-icon {
width: 18px;
height: 18px;
position: absolute;
top: 10px;
right: 16px;
cursor: pointer;
}
.close-icon {
width: 18px;
height: 18px;
position: absolute;
top: 10px;
right: 16px;
cursor: pointer;
}
.title-container {
align-items: center;
background: url("~@/assets/images/common/dialog-header.png") no-repeat;
background-size: 100% 100%;
display: flex;
justify-content: center;
height: 60px;
font-size: 26px;
.title-container {
align-items: center;
background: url("~@/assets/images/common/dialog-header.png") no-repeat;
.title {
font-family: zaozigongfang;
letter-spacing: 2px;
line-height: 50px;
background-size: 100% 100%;
display: flex;
justify-content: center;
height: 60px;
font-size: 26px;
.title {
font-family: zaozigongfang;
letter-spacing: 2px;
line-height: 50px;
background-size: 100% 100%;
display: flex;
justify-content: center;
height: 60px;
font-size: 26px;
color: #fff;
}
color: #fff;
}
}
}
.dialog_body {
position: relative;
overflow-y: scroll;
padding: 40px 4px 40px 80px;
box-sizing: border-box;
flex: 1;
.dialog_body {
position: relative;
overflow-y: scroll;
padding: 40px 4px 40px 80px;
box-sizing: border-box;
flex: 1;
&::-webkit-scrollbar {
width: 5px;
}
&::-webkit-scrollbar {
width: 5px;
}
&::-webkit-scrollbar-track {
border-radius: 10px;
background: rgba(12, 129, 254, 0.24);
}
&::-webkit-scrollbar-track {
border-radius: 10px;
background: rgba(12, 129, 254, 0.24);
}
&::-webkit-scrollbar-thumb {
border-radius: 10px;
background: linear-gradient(270deg, #0063fe, #0095ff);
}
&::-webkit-scrollbar-thumb {
border-radius: 10px;
background: linear-gradient(270deg, #0063fe, #0095ff);
}
.content {
color: #fff;
width: 100%;
.content {
color: #fff;
width: 100%;
height: 100%;
display: flex;
.left {
width: 373px;
height: 100%;
display: flex;
display: grid;
.left {
width: 373px;
height: 100%;
display: grid;
> .item {
display: flex;
> .item {
display: flex;
.time {
width: 180px;
line-height: 18px;
padding: 1px 16px;
box-sizing: border-box;
background: #dee7f3;
color: #073983;
height: 19px;
border-radius: 9px;
margin-right: 30px;
}
.time {
line-height: 18px;
width: fit-content;
padding: 1px 16px;
box-sizing: border-box;
background: #dee7f3;
color: #073983;
height: 19px;
border-radius: 9px;
margin-right: 30px;
.unit {
border-left: solid 4px#256DD6;
flex: 1;
padding-left: 26px;
position: relative;
> div {
display: flex;
div:nth-child(1) {
width: 100px;
// text-align: right;
color: rgba(255, 255, 255, 0.8);
}
div:nth-child(2) {
width: calc(100% - 100px);
}
}
.unit {
border-left: solid 4px#256DD6;
flex: 1;
padding-left: 26px;
position: relative;
&::after {
content: "";
background: #ffffff;
width: 13px;
height: 13px;
border-radius: 50%;
position: absolute;
left: -8px;
top: 0;
> div:nth-child(1) {
div:nth-child(1) {
text-align: center;
background: #256dd6;
padding: 0 12px;
margin-right: 12px;
width: 40px;
border-radius: 12px 0px 12px 0px;
}
}
&::after {
content: "";
background: #ffffff;
width: 13px;
height: 13px;
border-radius: 50%;
position: absolute;
left: -8px;
top: 0;
}
}
}
}
.right {
flex: 1;
margin-left: 113px;
overflow-y: scroll;
padding-right: 2px;
padding-right: 78px;
> .item {
display: flex;
height: 150px;
overflow: hidden;
border-bottom: 1px dashed #5a89f7;
align-items: center;
justify-content: center;
padding: 16px 0;
box-sizing: border-box;
.right {
flex: 1;
margin-left: 113px;
overflow-y: scroll;
padding-right: 2px;
padding-right: 78px;
> .item {
display: flex;
height: 150px;
overflow: hidden;
border-bottom: 1px dashed #5a89f7;
align-items: center;
justify-content: center;
padding: 16px 0;
box-sizing: border-box;
img {
width: 200px;
height: 120px;
img {
width: 200px;
height: 120px;
}
section {
flex: 1;
// padding-left: 18px;
// box-sizing: border-box;
.unit {
width: 100%;
text-align: center;
// span {
// width: fit-content;
// padding: 3px 12px;
// background: #d79328;
// border-radius: 12px;
// }
}
section {
flex: 1;
// padding-left: 18px;
// box-sizing: border-box;
.unit {
width: 100%;
text-align: center;
span {
width: fit-content;
padding: 3px 12px;
background: #d79328;
border-radius: 12px;
}
}
.introduce {
font-size: 14px;
}
.introduce {
font-size: 14px;
}
}
}
&::-webkit-scrollbar {
width: 3px;
}
&::-webkit-scrollbar {
width: 3px;
}
&::-webkit-scrollbar-track {
border-radius: 10px;
background: rgba(12, 129, 254, 0.24);
}
&::-webkit-scrollbar-track {
border-radius: 10px;
background: rgba(12, 129, 254, 0.24);
}
&::-webkit-scrollbar-thumb {
border-radius: 10px;
background: linear-gradient(270deg, #0063fe, #0095ff);
}
&::-webkit-scrollbar-thumb {
border-radius: 10px;
background: linear-gradient(270deg, #0063fe, #0095ff);
}
}
}
}
}
.m-r16 {
margin-right: 16px;
}
.m-l16 {
margin-left: 16px;
}
</style>
}
.m-r16 {
margin-right: 16px;
}
.m-l16 {
margin-left: 16px;
}
</style>

650
src/views/next/dialog-module/szyf-left/eventProcessing.vue

@ -1,146 +1,288 @@
<template>
<div class="modal" v-show="sjcl">
<section>
<div class="dialog_header">
<div class="close-icon" @click="closeDialog">
<img src="@/assets/images/common/dialog-colse.png" alt="" />
</div>
<div class="title-container">
<div class="title">{{ dialogTitle }}</div>
</div>
<div class="modal" v-show="sjcl">
<section>
<div class="dialog_header">
<div class="close-icon" @click="closeDialog">
<img src="@/assets/images/common/dialog-colse.png" alt="" />
</div>
<div class="title-container">
<div class="title">{{ dialogTitle }}</div>
</div>
<div class="dialog_body">
<div class="content">
<div class="left">
<div class="item" v-for="(item, index) in leftlist" :key="index">
<div class="time" v-show="item.time">
{{ item.time }}
</div>
<div class="dialog_body">
<div class="content">
<div class="m-fm">
<div class="second-select">
<el-select
v-model="fmData.eventType"
:popper-append-to-body="false"
placeholder="选择响应级别"
clearable
>
<el-option
v-for="item in typeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
<div class="second-select">
<el-select
v-model="fmData.sourceType"
:popper-append-to-body="false"
placeholder="选择事件来源"
clearable
>
<el-option
v-for="item in sourceOptions"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
<div class="second-select">
<el-select
v-model="fmData.status"
:popper-append-to-body="false"
placeholder="选择事件状态"
clearable
>
<el-option
v-for="item in statusOptions"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
<div class="btn" @click="iniList">查询</div>
</div>
<div class="content-list">
<div
class="content-list-item"
v-for="(item, i) in list"
:key="'item' + i"
>
<div class="content-list-item-left">
<img :src="item.img" />
</div>
<div class="content-list-item-center">
<div>
<span>事件内容</span>
<span :title="item.eventContent">{{
item.eventContent
}}</span>
</div>
<div>
<span>事件来源</span>
<span>{{ getLable(item.sourceType, sourceOptions) }}</span>
</div>
<div class="unit">
{{ item.unit }}
<div>
<span>事件类别</span>
<span>{{ item.categoryName }}</span>
</div>
</div>
</div>
<div class="right">
<div class="item" v-for="(item, index) in rightList" :key="index">
<img
:src="item.imageSrc"
alt=""
class="m-r16"
/>
<section>
<div class="unit">
<span>{{ item.name }}</span>
<div class="content-list-item-right">
<div>
<div>响应级别</div>
<div>
{{ getLable(item.eventType, typeOptions) }}
<img
v-if="item.eventType == '1'"
style="width: 32px; height: 32px"
:src="require('@/assets/images/icon/hongdneg.png')"
/>
<img
v-if="item.eventType == '2'"
style="width: 32px; height: 32px"
:src="require('@/assets/images/icon/huangdeng.png')"
/>
<img
v-if="item.eventType == '3'"
style="width: 32px; height: 32px"
:src="require('@/assets/images/icon/lvdeng.png')"
/>
</div>
<p class="introduce">{{ item.content }}</p>
</section>
<!-- <img
:src="item.imageSrc"
alt=""
class="m-l16"
/> -->
</div>
<div>
<div>事件状态</div>
<div>{{ getLable(item.manageStatus, statusOptions) }}</div>
</div>
<div>
<div @click="handleClick(item)">{{ "查看更多>>" }}</div>
</div>
</div>
</div>
</div>
<!-- <el-pagination
style="float: right; margin-right: 100px"
@size-change="changeSize"
@current-change="changeCurrent"
:current-page="current"
hide-on-single-page
layout="prev, pager, next"
:page-size="pageSize"
:total="50"
/> -->
</div>
</section>
</div>
</template>
</div>
</section>
<event
v-if="dialogVisibleListEvent"
:data="dataListEvent"
@close="close"
></event>
</div>
</template>
<script>
import { mapGetters, mapActions } from 'vuex'
import { getEventRate } from '@/api/szyf'
import { getEventListByManageStatus } from '@/api/szyf'
import event from './eventShequ.vue'
export default {
components: { event },
name: '',
data () {
return {
dialogTitle: '事件处理实况',
leftlist: [
{
time: '2012年03月',
unit: '青岛浩丰生物科技有限公司签约落户'
},
{
time: '2017年08月',
unit: '瑞克斯旺科研中心开工建设'
},
current: 1,
pageSize: 10,
list: [],
dataListEvent: {},
dialogVisibleListEvent: false,
dialogVisible: true,
fmData: {
orgId: '1634024746741329922',
orgType: 'agency',
type: '',
eventType: '',
sourceType: '',
categoryCode: '',
status: '',
source: '',
category: ''
},
agencyOptions: [],
agencyIdArray: [],
typeOptions: [
{
time: '2017年11月',
unit: '青岛硕丰源种业签约落户'
label: '红灯事件',
value: '1'
},
{
time: '2018年01月',
unit: '青岛硕丰源研发中心与育苗工厂开工建设'
label: '黄灯事件',
value: '2'
},
{
time: '2018年09月',
unit: '韩国农友BIO株式会社、日本伯格地球株式会社到产业园考察、洽谈'
},
label: '绿灯事件',
value: '3'
}
],
statusOptions: [
{
time: '2018年10月',
unit: '青岛美田花卉种子有限公司签约落户'
label: '待处理',
value: '0'
},
{
time: '2019年02月',
unit: '青岛普瑞达灵芝研发中心项 目签约落户'
label: '处理中',
value: '1'
},
{
time: '2019年04月',
unit: '韩国农友(北京世农种苗)签约落户'
label: '已结案',
value: '3'
},
{
time: '2019年04月',
unit: '青岛德龙种子签约落户'
label: '已归档',
value: '6'
}
],
rightList: [
{
name: '青岛浩丰生物科技有限公司',
content:
'主要业务包括种苗培育、种植加工、仓储销售,曾先后被授予为青岛市农业产业化重点龙头企业、青岛市市控蔬菜基地、山东省现代生态循环农业示范点、青岛市绿色园艺产业园等荣誉。',
imageSrc: require('@/assets/images/resource/yfcj/1.jpg')
},
{
name: '瑞克斯旺(中国)农业科技有限公司',
content:
'主要从事蔬菜新品种和新技术的引进、研发、推广及服务工作。瑞克斯旺中国在全国各地成功开发与推广番茄、茄子、彩椒、辣椒、黄瓜、菠菜等优良品种百余个。',
imageSrc: require('@/assets/images/resource/yfcj/ruikesiwang.png')
},
sourceOptions: [
{
name: '青岛硕丰源种业有限公司',
content:
'专业致力于旱黄瓜良种的研究、开发与服务为一体的农业高科技企业。是国内最大的一家专业从中国华南型黄瓜种子研发、生产、销售的科技型公司。',
imageSrc: require('@/assets/images/resource/yfcj/shuofengyuan.png')
label: '即诉即办',
value: '0'
},
{
name: '青岛美田花卉种子有限公司',
content:
'主要从事蔬菜新品种和新技术的引进、研发、推广及服务工作。瑞克斯旺中国在全国各地成功开与推广番茄、茄子、彩椒、辣椒、黄瓜、菠菜等优良品种百余个。',
imageSrc: require('@/assets/images/resource/yfcj/meitian.png')
label: '直通联办',
value: '1'
},
{
name: '青岛德龙种子有限公司',
content:
'规模化新优品种花卉生产而著称。是一家种质资源丰富、技术力量雄厚,集高品质花卉生产和花卉景观设计、施工、养护为一体的综合性公司。',
imageSrc: require('@/assets/images/resource/yfcj/delong.png')
label: '网格化平台',
value: '2'
}
]
],
categoryOptions: [],
allList: [],
// list: [],
page: {
pageSize: 10,
pageNo: 1,
total: 0
}
}
},
computed: {
...mapGetters(['sjcl'])
},
components: {},
watch: {},
created () {
getEventRate().then(res => {
console.log('getEventRate::', res)
})
this.iniList()
},
methods: {
...mapActions({
showGlobalDialog: 'showGlobalDialog'
}),
getLable (val, arr) {
const data = arr.filter((item) => item.value == val)
if (data.length > 0) {
return data[0].label
} else {
return '--'
}
},
iniList () {
getEventListByManageStatus(this.fmData).then((res) => {
this.list = res.data.map((item) => ({
...item,
img: item.imgUrl || '',
// categoryName: this.getLabelByValue(
// item.categoryCode,
// this.categoryOptions
// ),
sourceName: this.getLable(item.sourceType, this.sourceOptions),
eventTypeName: this.getLable(item.eventType, this.typeOptions),
statusName: this.getLable(item.manageStatus, this.statusOptions)
}))
})
},
changeSize (aaa, bbb) {
console.log('aaa, bb::', aaa, bbb)
},
changeCurrent (aaa, bbb) {
console.log('aaa, bb::', aaa, bbb)
},
handleClick (row) {
this.dialogVisibleListEvent = true
this.dataListEvent = { ...row }
},
close () {
this.dialogVisibleListEvent = false
},
closeDialog () {
this.showGlobalDialog('')
}
@ -148,192 +290,202 @@ export default {
}
</script>
<style lang="scss" scoped>
.modal {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
z-index: 150;
<style lang="scss" scoped>
.modal {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
z-index: 150;
> section {
@include flex(column);
background: url("~@/assets/images/common/dialog-bg.png") no-repeat !important;
background-size: 100% 100%;
width: 1180px;
height: 716px;
overflow: hidden;
padding-bottom: 16px;
box-sizing: border-box;
> section {
@include flex(column);
background: url("~@/assets/images/common/dialog-bg.png") no-repeat !important;
background-size: 100% 100%;
width: 1180px;
height: 716px;
overflow: hidden;
padding-bottom: 16px;
box-sizing: border-box;
.dialog_header {
position: relative;
.dialog_header {
position: relative;
.close-icon {
width: 18px;
height: 18px;
position: absolute;
top: 10px;
right: 16px;
cursor: pointer;
}
.close-icon {
width: 18px;
height: 18px;
position: absolute;
top: 10px;
right: 16px;
cursor: pointer;
}
.title-container {
align-items: center;
background: url("~@/assets/images/common/dialog-header.png") no-repeat;
background-size: 100% 100%;
display: flex;
justify-content: center;
height: 60px;
font-size: 26px;
.title-container {
align-items: center;
background: url("~@/assets/images/common/dialog-header.png") no-repeat;
.title {
font-family: zaozigongfang;
letter-spacing: 2px;
line-height: 50px;
background-size: 100% 100%;
display: flex;
justify-content: center;
height: 60px;
font-size: 26px;
.title {
font-family: zaozigongfang;
letter-spacing: 2px;
line-height: 50px;
background-size: 100% 100%;
display: flex;
justify-content: center;
height: 60px;
font-size: 26px;
color: #fff;
}
color: #fff;
}
}
}
.dialog_body {
position: relative;
overflow-y: scroll;
padding: 40px 4px 40px 80px;
box-sizing: border-box;
flex: 1;
.dialog_body {
position: relative;
overflow-y: scroll;
padding: 20px 4px 40px 80px;
box-sizing: border-box;
flex: 1;
&::-webkit-scrollbar {
width: 5px;
}
&::-webkit-scrollbar {
width: 5px;
}
&::-webkit-scrollbar-track {
border-radius: 10px;
background: rgba(12, 129, 254, 0.24);
}
&::-webkit-scrollbar-track {
border-radius: 10px;
background: rgba(12, 129, 254, 0.24);
}
&::-webkit-scrollbar-thumb {
border-radius: 10px;
background: linear-gradient(270deg, #0063fe, #0095ff);
}
&::-webkit-scrollbar-thumb {
border-radius: 10px;
background: linear-gradient(270deg, #0063fe, #0095ff);
}
.content {
color: #fff;
width: 100%;
height: 100%;
.content {
color: #fff;
width: 100%;
height: 100%;
&-search {
display: flex;
.left {
width: 373px;
height: 100%;
display: grid;
> .item {
display: flex;
.time {
line-height: 18px;
width: fit-content;
padding: 1px 16px;
box-sizing: border-box;
background: #dee7f3;
color: #073983;
height: 19px;
border-radius: 9px;
margin-right: 30px;
div {
margin-right: 12px;
}
}
&-list {
position: relative;
top: 24px;
height: 540px;
&-item {
display: flex;
margin-bottom: 16px;
line-height: 26px;
&-left {
width: 80px;
height: 80px;
img {
width: 80px;
height: 80px;
}
.unit {
border-left: solid 4px#256DD6;
flex: 1;
padding-left: 26px;
position: relative;
&::after {
content: "";
background: #ffffff;
width: 13px;
height: 13px;
border-radius: 50%;
position: absolute;
left: -8px;
top: 0;
}
&-center {
padding-left: 12px;
width: calc(100% - 360px);
height: 80px;
> div {
span:nth-child(1) {
color: rgba(255, 255, 255, 0.8);
}
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
.right {
flex: 1;
margin-left: 113px;
overflow-y: scroll;
padding-right: 2px;
padding-right: 78px;
> .item {
display: flex;
height: 150px;
overflow: hidden;
border-bottom: 1px dashed #5a89f7;
align-items: center;
justify-content: center;
padding: 16px 0;
box-sizing: border-box;
img {
width: 200px;
height: 120px;
}
section {
flex: 1;
// padding-left: 18px;
// box-sizing: border-box;
.unit {
width: 100%;
text-align: center;
span {
width: fit-content;
padding: 3px 12px;
background: #d79328;
border-radius: 12px;
&-right {
margin-left: 20px;
width: 260px;
height: 80px;
div {
display: flex;
div:nth-child(1) {
color: rgba(255, 255, 255, 0.8);
}
div:nth-child(2) {
position: relative;
img {
top: -6px;
}
}
.introduce {
font-size: 14px;
}
div:nth-child(3) {
div:nth-child(1) {
color: #ffc486;
}
}
}
&::-webkit-scrollbar {
width: 3px;
}
&::-webkit-scrollbar-track {
border-radius: 10px;
background: rgba(12, 129, 254, 0.24);
}
&::-webkit-scrollbar-thumb {
border-radius: 10px;
background: linear-gradient(270deg, #0063fe, #0095ff);
}
}
}
}
}
}
.m-r16 {
margin-right: 16px;
}
.m-r16 {
margin-right: 16px;
}
.m-l16 {
margin-left: 16px;
}
.diy-button--search {
color: #fff !important;
background-color: #3e8ef7 !important;
border-color: #3e8ef7 !important;
}
.m-fm {
display: flex;
margin-bottom: 20px;
.btn {
width: 90px;
height: 36px;
background: linear-gradient(270deg, #0dccff 0%, #4760ff 100%);
border-radius: 2px;
text-align: center;
font-size: 18px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
line-height: 36px;
cursor: pointer;
}
.m-l16 {
margin-left: 16px;
.second-select {
margin: 0 10px 0 0px;
::v-deep .el-input {
width: 180px;
height: 36px;
.el-input__inner {
height: 100%;
padding: 0 10px;
color: #fff;
line-height: 36px;
background: #06186d;
border: 1px solid #1a64cc;
}
.el-icon-arrow-up:before {
content: "\e78f";
}
// .el-select__caret:before {
// content: '\E790'
// }
}
}
</style>
}
</style>

614
src/views/next/dialog-module/szyf-left/eventShequ.vue

@ -0,0 +1,614 @@
<template>
<div>
<el-dialog
top="50px"
v-if="dialogVisible"
:visible.sync="dialogVisible"
width="829px"
:before-close="handleClose"
class="darkDialog"
:modal="false"
:append-to-body="true"
>
<div slot="title" class="dialogTitle">
<div alt="" class="title_img"></div>
事件详情
</div>
<div class="dialogBody">
<div class="m-info">
<el-row type="flex" style="flex-flow: row wrap">
<el-col :span="12">
<div class="item">
<div class="field">事项</div>
<div class="value">{{ info.eventContent }}</div>
</div>
<div class="item">
<div class="field">事件位置</div>
<div class="value">{{ info.address }}</div>
</div>
<div class="item">
<div class="field">所属网格</div>
<div class="value">{{ info.gridName }}</div>
</div>
<div class="item">
<div class="field">上报人</div>
<div class="value">{{ info.name }}</div>
</div>
<div class="item">
<div class="field">联系电话</div>
<div class="value">{{ info.mobile }}</div>
</div>
<!-- <div class="item">
<div class="field">登记时间</div>
<div class="value">{{ info.createdTime }}</div>
</div> -->
<div
class="item"
v-if="info.imageList && info.imageList.length > 0"
>
<div class="field"></div>
<div class="value">
<img
v-for="src in info.imageList"
:key="src"
:src="src"
class="eventImg"
/>
</div>
</div>
</el-col>
<!-- <el-col :span="1"><div class="fenge"></div></el-col> -->
<el-col :span="12">
<el-timeline class="timeline">
<el-timeline-item
v-for="(activity, index) in processList"
:key="index"
:class="index == 0 ? 'sucess' : ''"
>
<div class="status-box">
<div
:class="{
status2: index == 0,
status1: index != 0,
}"
>
{{ activity.manageStatusName || activity.processName }}
</div>
<div class="timestamp">
{{ activity.manageTime || activity.processTime }}
</div>
</div>
<div class="content" v-if="activity.departmentName">
<div
class="field"
v-if="activity.processName == '上报事件'"
>
上报人
</div>
<div class="field" v-else>办理部门</div>
<div class="value" style="width: 150px">
{{ activity.manageResi || activity.departmentName }}
</div>
</div>
<div class="content" v-if="activity.manageResiTel">
<div class="field">办理人电话</div>
<div class="value" style="width: 150px">
{{ activity.manageResiTel || "--" }}
<!-- <a @click="call(activity.manageResiTel)" class="tel">
<img src="~@/assets/images/tel.png" width="76px" />
</a> -->
</div>
</div>
<div class="content" v-if="activity.publicReply">
<div class="field">办理意见</div>
<div class="value" style="width: 240px">
{{ activity.publicReply || "--" }}
</div>
</div>
</el-timeline-item>
</el-timeline>
</el-col>
</el-row>
</div>
</div>
<div slot="footer" class="dialogFooter"></div>
</el-dialog>
</div>
</template>
<script>
import replyOptions from './replyOptions'
// import { callPhone } from '@/utils/tccc'
import { getProcess, getDictlist } from '@/api/szyf'
export default {
data () {
return { dialogVisible: true, info: {}, processList: [] }
},
props: {
data: Object
},
created () {
//
// this.$message = {
// error() {},
// success() {},
// warning() {},
// };
this.info = { ...this.data }
this.getProcessInfo()
getDictlist({ dictType: 'ic_event_source_type' })
},
watch: {
data (val) {
this.info = { ...val }
this.getProcessInfo()
}
},
methods: {
handleClose (done) {
done()
this.$emit('close')
},
//
// async getData () {
// const url = '/gov/project/icEvent/detail'
// const params = {
// icEventId: this.info.icEventId || this.info.eventId
// }
// const { data, code, msg } = await this.$requestPost(url, params)
// if (code === 0) {
// this.info = {
// ...this.info,
// ...data
// }
// } else {
// // this.$message.error(msg);
// }
// },
async getProcessInfo () {
const params = {
icEventId: this.info.icEventId || this.info.eventId
}
getProcess(params).then((res) => {
const { code, data } = res
if (code === 0) {
this.processList = (data || []).map((item) => {
if (
typeof item.manageStatus === 'number' &&
item.processName == '回复'
) {
item.manageStatusName = replyOptions[item.manageStatus].label
}
return item
})
} else {
// this.$message.error(msg);
}
})
}
// call (phone) {
// callPhone(phone)
// this.$emit('call', phone)
// }
}
}
</script>
<style></style>
<style lang="scss" scoped>
//
@mixin toe {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
word-wrap: normal;
}
.darkDialog {
.el-dialog {
width: 987px;
background: transparent;
border: none;
box-shadow: none;
.el-dialog__header {
border: none !important;
padding: 0px !important;
.el-dialog__headerbtn {
width: 36px;
height: 36px;
background-image: url(./images/guanbi.png);
top: -10px;
right: -15px;
.el-dialog__close {
display: none;
}
}
.dialogTitle {
@include toe;
position: relative;
font-size: 20px;
line-height: 20px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #ffffff;
text-align: center;
padding: 12px 20px 10px 12px;
// background-image: url(./images/ding.png);
background-size: 100% 100%;
.title_img {
position: absolute;
left: 29px;
width: 22px;
height: 22px;
// background-image: url(./images/xiaobiaoti.png);
float: left;
}
}
}
.el-dialog__body {
border: none !important;
padding: 0px;
width: 100%;
background-size: 100%;
max-height: 630px;
overflow-y: auto;
@include scrollBar;
.dialogBody {
padding: 0px 24px 10px 24px;
.bigTitle {
font-size: 30px;
font-family: Microsoft YaHei;
font-weight: bold;
color: #ffffff;
background: linear-gradient(0deg, #009dff 0%, #ffffff 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
text-align: center;
margin-bottom: 48px;
}
.view {
color: #ffc821;
cursor: pointer;
}
}
}
// .el-dialog__footer {
// padding: 0px !important;
// .dialogFooter {
// height: 40px;
// background-position: bottom;
// width: 100%;
// // background-image: url(./images/dibu.png);
// background-size: 100%;
// }
// }
}
}
.m-info {
padding: 20px 0px 10px;
.userImg {
width: 130px;
height: 130px;
background: #020202;
border: 1px solid #007ae7;
border-radius: 10px;
object-fit: cover;
}
.info2 {
margin-top: 30px;
.item {
background-color: rgb(21, 57, 148);
margin: 10px 10px 10px 0px;
padding: 2px 0px;
}
.noMarginRight {
.item {
margin-right: 0px;
}
}
}
.info_m_box {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
.center_box {
position: relative;
width: 192px;
height: 192px;
// background: url(../images/renCen.png) no-repeat center;
color: #fff;
background-size: 100%;
section {
position: relative;
top: 113px;
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
}
}
}
.line1 {
width: 150px;
height: 2px;
background: linear-gradient(to right, #1f7eff, #080e58);
position: absolute;
top: 33px;
left: -154px;
transform: rotate3d(1, 1, 1, 21deg);
}
.line1_dot1 {
width: 74px;
height: 74px;
// background: url(../images/ren.png) no-repeat center;
background-size: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: absolute;
top: -25px;
left: -222px;
}
.line1_dot2 {
width: 74px;
height: 74px;
// background: url(../images/ren.png) no-repeat center;
background-size: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: absolute;
top: 67px;
left: -318px;
}
.line1_dot3 {
width: 74px;
height: 74px;
// background: url(../images/ren.png) no-repeat center;
background-size: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: absolute;
top: 141px;
left: -103px;
}
.line2 {
width: 240px;
height: 2px;
background: linear-gradient(to right, #1f7eff, #080e58);
position: absolute;
top: 106px;
left: -250px;
transform: rotate3d(1, 1, 1, 360deg);
}
.line3 {
width: 69px;
height: 2px;
background: linear-gradient(to right, #1f7eff, #080e58);
background: linear-gradient(to right, #1f7eff, #080e58);
position: absolute;
top: 172px;
left: -47px;
transform: rotate3d(1, 1, 1, 296deg);
top: 150px;
left: -46px;
}
.line1_r {
width: 150px;
height: 2px;
background: linear-gradient(to left, #1f7eff, #080e58);
position: absolute;
top: 149px;
left: 182px;
transform: rotate3d(1, 1, 1, 21deg);
}
.line1_dot1_r {
width: 74px;
height: 74px;
// background: url(../images/ren.png) no-repeat center;
background-size: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: absolute;
top: 141px;
left: 330px;
}
.line1_dot2_r {
width: 74px;
height: 74px;
// background: url(../images/ren.png) no-repeat center;
background-size: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: absolute;
top: 6px;
left: 433px;
}
.line1_dot3_r {
width: 74px;
height: 74px;
// background: url(../images/ren.png) no-repeat center;
background-size: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: absolute;
top: -28px;
left: 236px;
}
.line2_r {
width: 240px;
height: 2px;
background: linear-gradient(to left, #1f7eff, #080e58);
position: absolute;
top: 73px;
left: 199px;
-webkit-transform: rotate3d(1, 1, 1, 360deg);
transform: rotate3d(1, 1, 1, 341deg);
}
.line3_r {
width: 69px;
height: 2px;
background: linear-gradient(to left, #1f7eff, #080e58);
background: linear-gradient(to left, #1f7eff, #080e58);
position: absolute;
top: 172px;
left: -47px;
transform: rotate3d(1, 1, 1, 296deg);
top: 40px;
left: 187px;
}
.item {
display: flex;
padding: 0px 0;
min-width: 50%;
line-height: 24px;
.field {
min-width: 100px;
text-align: right;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #b5d9ff;
line-height: 32px;
opacity: 0.76;
}
.eventImg {
margin-top: 10px;
max-width: 80%;
max-height: 300px;
}
.tel {
width: 76px;
height: 24px;
display: inline-block;
margin-left: 10px;
cursor: pointer;
// background: rgba(2, 2, 2, 0.36);
// border: 1px solid #02afff;
// border-radius: 4px;
}
.icon {
width: 18px;
margin-right: 16px;
}
.value {
flex: 1;
width: 100%;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
line-height: 32px;
}
.workIng {
color: #19ffe1;
}
.workEnd {
color: #ccc;
}
}
.fenge {
border-left: 1px dashed #007eff;
margin: 15px 0px;
height: 100%;
}
.timeline {
margin-top: 15px;
.sucess {
.el-timeline-item__node {
width: 16px;
height: 16px;
background-color: #0c81fe;
border: solid 3px #fff;
box-shadow: 0px 0px 10px 5px #0c81fe;
}
}
.el-timeline-item__node {
width: 16px;
height: 16px;
background: #09176c;
border: 1px solid #007ae7;
border-radius: 50%;
}
.el-timeline-item__tail {
left: 6px;
border-left: 1px solid #6398d1;
}
.status-box {
display: flex;
.status2 {
width: 76px;
height: 24px;
background: #0c81fe;
border-radius: 10px 0px 10px 0px;
color: #fefefe;
text-align: center;
line-height: 24px;
}
.status1 {
width: 76px;
height: 24px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #3d86ff;
line-height: 24px;
}
.timestamp {
width: 121px;
font-size: 12px;
font-family: Microsoft YaHei;
font-weight: 300;
color: #b5d9ff;
line-height: 24px;
opacity: 0.46;
margin-left: 11px;
}
}
.content {
display: flex;
margin-top: 4px;
.field {
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #b5d9ff;
line-height: 24px;
opacity: 0.76;
}
.value {
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
line-height: 24px;
}
}
}
}
</style>

BIN
src/views/next/dialog-module/szyf-left/images/dibu.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
src/views/next/dialog-module/szyf-left/images/ding.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

BIN
src/views/next/dialog-module/szyf-left/images/guanbi.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
src/views/next/dialog-module/szyf-left/images/xiaobiaoti.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 755 B

BIN
src/views/next/dialog-module/szyf-left/images/zhong.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

8
src/views/next/dialog-module/szyf-left/replyOptions.js

@ -0,0 +1,8 @@
export default [
{ label: '上报', value: 0 },
{ label: '阅收', value: 1 },
{ label: '完结', value: 2 },
{ label: '审核', value: 3 },
{ label: '事件评价', value: 4 },
{ label: '结案归档', value: 5 }
]

138
src/views/next/screen-content-left/home-left/index.vue

@ -53,7 +53,7 @@
<div class="horizontal-scroll-nr">
<carousel-3d
:autoplay="true"
:autoplayTimeout="3000"
:autoplayTimeout="2000"
:perspective="35"
:display="5"
:animationSpeed="1000"
@ -76,34 +76,34 @@
</template>
<script>
import { Carousel3d, Slide } from "vue-carousel-3d";
import { Carousel3d, Slide } from 'vue-carousel-3d'
export default {
data() {
data () {
return {
videoUrl: process.env.VUE_APP_VIDEO_URL + "1.mp4",
videoStatus: "",
videoUrl: process.env.VUE_APP_VIDEO_URL + '1.mp4',
videoStatus: '',
intervalId: null,
currentIndex: 0,
list: [
{
name: "新村党委",
num: "10",
img: require("@/assets/images/icon/xcdw.png"),
name: '新村党委',
num: '10',
img: require('@/assets/images/icon/xcdw.png')
},
{
name: "自然村党支部",
num: "100",
img: require("@/assets/images/icon/zrcdzb.png"),
name: '自然村党支部',
num: '100',
img: require('@/assets/images/icon/zrcdzb.png')
},
{
name: "非公和社会组织",
num: "22",
img: require("@/assets/images/icon/fghshzz.png"),
name: '非公和社会组织',
num: '22',
img: require('@/assets/images/icon/fghshzz.png')
},
{
name: "网格党小组",
num: "369",
img: require("@/assets/images/icon/wgdxz.png"),
name: '网格党小组',
num: '369',
img: require('@/assets/images/icon/wgdxz.png')
},
// {
// name: '',
@ -111,10 +111,10 @@ export default {
// img: require('@/assets/images/icon/dyzxh.png')
// },
{
name: "党员人数",
num: "4104",
img: require("@/assets/images/icon/dbry2.png"),
},
name: '党员人数',
num: '4104',
img: require('@/assets/images/icon/dbry2.png')
}
],
optionHover: {
step: 0.4, //
@ -124,7 +124,7 @@ export default {
openWatch: true, // dom
singleHeight: 0, // (0) direction => 0/1
singleWidth: 0, // (0) direction => 2/3
waitTime: 2000, // (1000ms)
waitTime: 2000 // (1000ms)
},
optionHover1: {
step: 0.8, //
@ -134,7 +134,7 @@ export default {
openWatch: true, // dom
singleHeight: 0, // (0) direction => 0/1
singleWidth: 0, // (0) direction => 2/3
waitTime: 2000, // (1000ms)
waitTime: 2000 // (1000ms)
},
optionHover2: {
step: 0.7, //
@ -144,7 +144,7 @@ export default {
openWatch: true, // dom
singleHeight: 0, // (0) direction => 0/1
singleWidth: 0, // (0) direction => 2/3
waitTime: 2000, // (1000ms)
waitTime: 2000 // (1000ms)
},
optionHover3: {
step: 0.5, //
@ -154,7 +154,7 @@ export default {
openWatch: true, // dom
singleHeight: 0, // (0) direction => 0/1
singleWidth: 0, // (0) direction => 2/3
waitTime: 2000, // (1000ms)
waitTime: 2000 // (1000ms)
},
optionHover4: {
step: 0.6, //
@ -164,7 +164,7 @@ export default {
openWatch: true, // dom
singleHeight: 0, // (0) direction => 0/1
singleWidth: 0, // (0) direction => 2/3
waitTime: 2000, // (1000ms)
waitTime: 2000 // (1000ms)
},
optionHover5: {
step: 0.8, //
@ -174,94 +174,94 @@ export default {
openWatch: true, // dom
singleHeight: 0, // (0) direction => 0/1
singleWidth: 0, // (0) direction => 2/3
waitTime: 2000, // (1000ms)
waitTime: 2000 // (1000ms)
},
images: [],
images1: [],
images2: [],
images5: [],
};
images5: []
}
},
created() {
const arr5 = [];
created () {
const arr5 = []
for (let i = 1; i < 11; i++) {
arr5.push({
title: "parent",
title: 'parent',
slide: 23424234234234,
src: require(`@/assets/images/zdyf/logo/${i}.png`),
});
src: require(`@/assets/images/zdyf/logo/${i}.png`)
})
}
arr5.push({
title: "parent",
title: 'parent',
slide: 23424234234234,
src: require("@/assets/images/zdyf/logo/logo-2.png"),
});
this.images5 = arr5;
const arr = [];
src: require('@/assets/images/zdyf/logo/logo-2.png')
})
this.images5 = arr5
const arr = []
for (let i = 1; i < 34; i++) {
if (i != 31) {
arr.push(require(`@/assets/images/zdyf/logo/${i}.png`));
arr.push(require(`@/assets/images/zdyf/logo/${i}.png`))
}
}
arr.push(require("@/assets/images/zdyf/logo/logo-2.png"));
this.images = arr;
const arr1 = [];
arr.push(require('@/assets/images/zdyf/logo/logo-2.png'))
this.images = arr
const arr1 = []
for (let i = 5; i < 34; i++) {
if (i != 31) {
arr1.push(require(`@/assets/images/zdyf/logo/${i}.png`));
arr1.push(require(`@/assets/images/zdyf/logo/${i}.png`))
}
}
arr1.push(require("@/assets/images/zdyf/logo/logo-2.png"));
arr1.push(require('@/assets/images/zdyf/logo/logo-2.png'))
for (let i = 1; i < 5; i++) {
if (i != 31) {
arr1.push(require(`@/assets/images/zdyf/logo/${i}.png`));
arr1.push(require(`@/assets/images/zdyf/logo/${i}.png`))
}
}
this.images1 = arr1;
const arr2 = [];
this.images1 = arr1
const arr2 = []
for (let i = 10; i < 34; i++) {
if (i != 31) {
arr2.push(require(`@/assets/images/zdyf/logo/${i}.png`));
arr2.push(require(`@/assets/images/zdyf/logo/${i}.png`))
}
}
arr2.push(require("@/assets/images/zdyf/logo/logo-2.png"));
arr2.push(require('@/assets/images/zdyf/logo/logo-2.png'))
for (let i = 1; i < 10; i++) {
if (i != 31) {
arr2.push(require(`@/assets/images/zdyf/logo/${i}.png`));
arr2.push(require(`@/assets/images/zdyf/logo/${i}.png`))
}
}
this.images2 = arr2;
this.images2 = arr2
},
mounted() {
mounted () {
this.intervalId = setInterval(() => {
this.switchBox();
}, 3000); // 2
this.switchBox()
}, 3000) // 2
},
beforeDestroy() {
clearInterval(this.intervalId); //
beforeDestroy () {
clearInterval(this.intervalId) //
},
methods: {
switchBox() {
switchBox () {
if (this.currentIndex === 0) {
this.currentIndex = 1;
} else if (this.currentIndex === 1 && this.videoStatus != "play") {
this.currentIndex = 0;
this.currentIndex = 1
} else if (this.currentIndex === 1 && this.videoStatus != 'play') {
this.currentIndex = 0
}
},
handelVideoPlay() {
this.videoStatus = "play";
},
handelVideoPause() {
this.videoStatus = "pause";
handelVideoPlay () {
this.videoStatus = 'play'
},
handelVideoPause () {
this.videoStatus = 'pause'
}
},
components: {
Carousel3d,
Slide,
Slide
},
computed: {},
watch: {},
};
watch: {}
}
</script>
<style lang="scss" scoped>

3
src/views/next/screen-content-left/hsyf-left/index.vue

@ -89,7 +89,8 @@
</div>
<div class="bot-item-val">
<div class="bot-item-val-num">
{{ zzjsValues[5].value || 692 }}
<!-- {{ zzjsValues[5].value || 725 }} -->
725
</div>
<div class="bot-item-val-title">党员中心户</div>
</div>

338
src/views/next/screen-content-left/szyf-left/index.vue

@ -8,7 +8,10 @@
<section>
<div class="total" @click="set_sjcl(true)">
<span>事件总数</span>
<span><b>1,762</b></span>
<span
><b>{{ totalNum.toLocaleString() }}</b
></span
>
</div>
<div id="chart"></div>
</section>
@ -34,29 +37,65 @@
<div id="chart3D"></div>
<div class="buttomCharts"></div>
</section>
<div class="box" @click="set_sjfx(true)">
<div class="box" @click="set_sjcl(true)">
<div class="left">
<div class="item">
<span class="num">137</span>
<span class="num">{{ fxInfo.jiSuJiBan || 0 }}</span>
<span class="type">即诉即办</span>
</div>
<div class="item">
<span class="num">46</span>
<span class="num">{{ fxInfo.zhiTongLianBan || 0 }}</span>
<span class="type">直通联办</span>
</div>
<div class="item">
<span class="num">28</span>
<span class="num">{{ fxInfo.wangGeHua || 0 }}</span>
<span class="type">网格化平台</span>
</div>
</div>
<div class="right">
<div class="top">
<div><span>已结案</span><span>26</span><span>19%</span></div>
<div><span>待响应</span><span>6</span><span>5%</span></div>
<div>
<span>已结案</span><span>{{ fxInfo.yiJieAn }}</span
><span
>{{
fxInfo.yiJieAnRate
? (fxInfo.yiJieAnRate * 100).toFixed(2)
: "--"
}}%</span
>
</div>
<div>
<span>待响应</span><span>{{ fxInfo.daiChuLi }}</span
><span
>{{
fxInfo.daiChuLiRate
? (fxInfo.daiChuLiRate * 100).toFixed(2)
: "--"
}}%</span
>
</div>
</div>
<div class="bot">
<div><span>处理中</span><span>3</span><span>2%</span></div>
<div><span>已归档</span><span>102</span><span>74%</span></div>
<div>
<span>处理中</span><span>{{ fxInfo.chuLiZhong }}</span
><span
>{{
fxInfo.chuLiZhongRate
? (fxInfo.chuLiZhongRate * 100).toFixed(2)
: "--"
}}%</span
>
</div>
<div>
<span>已归档</span><span>{{ fxInfo.guiDang }}</span
><span
>{{
fxInfo.guiDangRate
? (fxInfo.guiDangRate * 100).toFixed(2)
: "--"
}}%</span
>
</div>
</div>
<div
id="chartPei"
@ -89,7 +128,7 @@
<img :src="item1.imgSrc" alt="" />
</div>
<div>
<span>{{ item1.num }}</span>
<span>{{ item1.value }}</span>
<span>{{ item1.name }}</span>
</div>
</div>
@ -103,6 +142,7 @@
<script>
import { mapActions } from 'vuex'
import { getEventRate, getEventAnalysis, statsByCategory } from '@/api/szyf'
export default {
data () {
return {
@ -137,113 +177,109 @@ export default {
name: '绿灯事件'
}
],
stabilizeList: [
[
{
imgSrc: require('@/assets/images/icon/xfry.png'),
num: 312,
name: '信访人员'
},
{
imgSrc: require('@/assets/images/icon/azbj.png'),
num: 97,
name: '安置帮教'
},
{
imgSrc: require('@/assets/images/icon/sqjz.png'),
num: 63,
name: '社区矫正'
},
{
imgSrc: require('@/assets/images/icon/jshz.png'),
num: 29,
name: '精神患者'
},
{
imgSrc: require('@/assets/images/icon/jdry.png'),
num: 23,
name: '戒毒人员'
},
{
imgSrc: require('@/assets/images/icon/snry.png'),
num: 16,
name: '失能人员'
}
],
[
{
imgSrc: require('@/assets/images/icon/cjr.png'),
num: 312,
name: '残疾人'
},
{
imgSrc: require('@/assets/images/icon/dbry111.png'),
num: 97,
name: '低保人员'
},
{
imgSrc: require('@/assets/images/icon/dbry11.png'),
num: 63,
name: '大病人员'
},
{
imgSrc: require('@/assets/images/icon/gllr.png'),
num: 29,
name: '高龄老人'
},
{
imgSrc: require('@/assets/images/icon/tkry.png'),
num: 23,
name: '特困人员'
},
{
imgSrc: require('@/assets/images/icon/ylfn.png'),
num: 16,
name: '育龄妇女'
}
],
[
{
imgSrc: require('@/assets/images/icon/tyjr.png'),
num: 16,
name: '退役军人'
}
]
stabilizeList: [[]],
stabilizeList1: [
{
imgSrc: require('@/assets/images/icon/xfry.png'),
value: 312,
name: '信访人员'
},
{
imgSrc: require('@/assets/images/icon/azbj.png'),
value: 97,
name: '安置帮教'
},
{
imgSrc: require('@/assets/images/icon/sqjz.png'),
value: 63,
name: '社区矫正'
},
{
imgSrc: require('@/assets/images/icon/jshz.png'),
value: 29,
name: '精神患者'
},
{
imgSrc: require('@/assets/images/icon/jdry.png'),
value: 23,
name: '戒毒人员'
},
{
imgSrc: require('@/assets/images/icon/snry.png'),
value: 16,
name: '失能人员'
},
{
imgSrc: require('@/assets/images/icon/cjr.png'),
value: 312,
name: '残疾'
},
{
imgSrc: require('@/assets/images/icon/dbry111.png'),
value: 97,
name: '低保人员'
},
{
imgSrc: require('@/assets/images/icon/dbry11.png'),
value: 63,
name: '大病人员'
},
{
imgSrc: require('@/assets/images/icon/gllr.png'),
value: 29,
name: '高龄老人'
},
{
imgSrc: require('@/assets/images/icon/tkry.png'),
value: 23,
name: '特困人员'
},
{
imgSrc: require('@/assets/images/icon/ylfn.png'),
value: 16,
name: '育龄妇女'
},
{
imgSrc: require('@/assets/images/icon/tyjr.png'),
value: 16,
name: '退役军人'
}
],
peiOption: null,
fxInfo: {},
totalNum: 0,
optionData3D: [
{
name: '城市管理', //
value: 19, //
value: 0, //
itemStyle: {
color: 'rgba(13, 144, 254,1)'
}
},
{
name: '交通设施',
value: 13,
value: 0,
itemStyle: {
color: 'rgba(68, 212, 205,1)'
}
},
{
name: '噪音扰民',
value: 15,
value: 0,
itemStyle: {
color: 'rgba(242, 169, 128, 1)'
}
},
{
name: '环境卫生',
value: 16,
value: 0,
itemStyle: {
color: 'rgba(219, 219, 138, 1)'
}
},
{
name: '其他',
value: 16,
value: 0,
itemStyle: {
color: 'rgba(238, 116, 56,1)'
}
@ -254,11 +290,7 @@ export default {
},
created () {},
mounted () {
this.$nextTick(() => {
this.initChartPei()
this.initChartPei3D()
this.initChartPei2()
})
this.chushihua()
},
beforeDestroy () {},
methods: {
@ -268,6 +300,57 @@ export default {
set_sjcl: 'SET_SJCL',
set_zdry: 'SET_ZDRY'
}),
async chushihua () {
await getEventRate({
orgId: '1739933044569612290',
orgType: 'agency'
}).then((res) => {
if (res.data.category) {
const data = res.data.category.filter((item) => item.value > 0)
this.optionData3D = data || this.optionData3D
}
this.eventTotalList[0].num = res.data.hongDeng
this.eventTotalList[1].num = res.data.huangDeng
this.eventTotalList[2].num = res.data.lanDeng
this.totalNum = res.data.total
})
await getEventAnalysis({
orgId: '1739933044569612290',
orgType: 'agency',
eventType: ''
}).then((res) => {
this.fxInfo = res.data || {}
this.optionData[0].value = res.data ? res.data.daiChuLiRate * 100 : 0
this.optionData[1].value = res.data ? res.data.chuLiZhongRate * 100 : 0
this.optionData[2].value = res.data ? res.data.yiJieAnRate * 100 : 0
})
await statsByCategory({
orgId: '1739933044569612290',
orgType: 'agency',
eventType: ''
}).then((res) => {
let num = 0
let index = 0
res.data.forEach((item, i) => {
if (num < 6) {
num = num + 1
} else {
num = 1
index = index + 1
this.stabilizeList.push([])
}
this.stabilizeList[index][num - 1] = {
...item,
imgSrc: this.stabilizeList1[i].imgSrc
}
})
console.log('this.stabilizeList::', this.stabilizeList)
})
this.initChartPei()
this.initChartPei3D()
this.initChartPei2()
},
initChartPei () {
const myChart = this.$echarts.init(document.getElementById('chart'))
this.peiOption = this.getPei(this.optionData)
@ -422,6 +505,44 @@ export default {
getPie3D (pieData, internalDiameterRatio) {
const that = this
const series = []
const colors = [
'rgba(13, 144, 254,1)',
'rgba(68, 212, 205,1)',
'rgba(242, 169, 128, 1)',
'rgba(219, 219, 138, 1)',
'rgba(238, 116, 56,1)',
'rgba(13, 144, 254,1)',
'rgba(68, 212, 205,1)',
'rgba(242, 169, 128, 1)',
'rgba(219, 219, 138, 1)',
'rgba(238, 116, 56,1)',
'rgba(13, 144, 254,1)',
'rgba(68, 212, 205,1)',
'rgba(242, 169, 128, 1)',
'rgba(219, 219, 138, 1)',
'rgba(238, 116, 56,1)',
'rgba(13, 144, 254,1)',
'rgba(68, 212, 205,1)',
'rgba(242, 169, 128, 1)',
'rgba(219, 219, 138, 1)',
'rgba(238, 116, 56,1)',
'rgba(13, 144, 254,1)',
'rgba(68, 212, 205,1)',
'rgba(242, 169, 128, 1)',
'rgba(219, 219, 138, 1)',
'rgba(238, 116, 56,1)',
'rgba(13, 144, 254,1)',
'rgba(68, 212, 205,1)',
'rgba(242, 169, 128, 1)',
'rgba(219, 219, 138, 1)',
'rgba(238, 116, 56,1)',
'rgba(13, 144, 254,1)',
'rgba(68, 212, 205,1)',
'rgba(242, 169, 128, 1)',
'rgba(219, 219, 138, 1)',
'rgba(238, 116, 56,1)'
]
let sumValue = 0
let startValue = 0
let endValue = 0
@ -458,16 +579,14 @@ export default {
}
//
if (typeof pieData[i].itemStyle !== 'undefined') {
const itemStyle = {}
typeof pieData[i].itemStyle.color !== 'undefined'
? (itemStyle.color = pieData[i].itemStyle.color)
: null
typeof pieData[i].itemStyle.opacity !== 'undefined'
? (itemStyle.opacity = pieData[i].itemStyle.opacity)
: null
seriesItem.itemStyle = itemStyle
}
// if (typeof pieData[i].itemStyle !== 'undefined') {
const itemStyle = {}
itemStyle.color = colors[i]
// typeof pieData[i].itemStyle.opacity !== 'undefined'
// ? (itemStyle.opacity = pieData[i].itemStyle.opacity)
// : null
seriesItem.itemStyle = itemStyle
// }
series.push(seriesItem)
}
@ -1052,7 +1171,8 @@ export default {
> :nth-child(2) {
@include flex(column);
width: 57px;
padding-left: 5px;
:nth-child(1) {
font-family: pangmenzhengdao;
font-size: 20px;
@ -1070,9 +1190,9 @@ export default {
}
}
}
::v-deep .el-carousel__arrow {
background-color: rgba(31, 45, 61, 0.31);
color: #ffffff;
font-weight: 900;
}
::v-deep .el-carousel__arrow {
background-color: rgba(31, 45, 61, 0.31);
color: #ffffff;
font-weight: 900;
}
</style>

193
src/views/next/screen-content-right/hsyf-right/index.vue

@ -6,14 +6,12 @@
</screen-title-red>
<div style="overflow: hidden; height: 232px">
<vue-seamless-scroll :class-option="optionHover1" :data="activityList">
<div
class="card-item-djhd"
>
<div class="card-item-djhd">
<div
class="item"
@click="handelClickOrg('set_djhd_show', item)"
v-for="(item, index) in activityList"
:key="'item'+index"
:key="'item' + index"
>
<img
v-if="item.attachments && item.attachments.length > 0"
@ -62,7 +60,10 @@
v-for="(item, index) in partList"
:key="index"
>
<img :src="item.imageList[0]" alt="" />
<div>
<img v-if="item.imageList[0]" :src="item.imageList[0]" alt="" />
<div v-else>暂无图片</div>
</div>
<div class="name">{{ item.name }}</div>
<div class="unit">{{ item.gridName }}</div>
<div class="title">{{ item.mainDeed }}</div>
@ -91,66 +92,66 @@
</template>
<script>
import { mapActions } from 'vuex'
import { actPageList, partymemberStyleList } from '@/api/hsyf'
import { mapActions } from "vuex";
import { actPageList, partymemberStyleList } from "@/api/hsyf";
export default {
data () {
data() {
return {
activityList: [
{
imgSrc: require('@/assets/images/resource/djhd/1.jpg'),
title: '“奋斗新征程,基层谱新篇”乡村振兴宣传月服务活动',
unit: '移风村党支部'
imgSrc: require("@/assets/images/resource/djhd/1.jpg"),
title: "“奋斗新征程,基层谱新篇”乡村振兴宣传月服务活动",
unit: "移风村党支部",
},
{
imgSrc: require('@/assets/images/resource/djhd/2.jpg'),
title: '集体学习 “研究部署学习宣传贯彻党的二十大精神 ”',
unit: '移风村党支部'
imgSrc: require("@/assets/images/resource/djhd/2.jpg"),
title: "集体学习 “研究部署学习宣传贯彻党的二十大精神 ”",
unit: "移风村党支部",
},
{
imgSrc: require('@/assets/images/resource/djhd/3.jpg'),
title: '以“主题党日+为民办事”为平台,组织广大党员积极投身宣传活动',
unit: '移风村党支部'
}
imgSrc: require("@/assets/images/resource/djhd/3.jpg"),
title: "以“主题党日+为民办事”为平台,组织广大党员积极投身宣传活动",
unit: "移风村党支部",
},
],
imgList: [
require('@/assets/images/resource/zbfc/1.jpg'),
require('@/assets/images/resource/zbfc/2.jpg'),
require('@/assets/images/resource/zbfc/3.jpg'),
require('@/assets/images/resource/zbfc/4.jpg'),
require('@/assets/images/resource/zbfc/5.jpg')
require("@/assets/images/resource/zbfc/1.jpg"),
require("@/assets/images/resource/zbfc/2.jpg"),
require("@/assets/images/resource/zbfc/3.jpg"),
require("@/assets/images/resource/zbfc/4.jpg"),
require("@/assets/images/resource/zbfc/5.jpg"),
],
wishList: [
{
imgSrc: require('@/assets/images/resource/ywqs/ydxy.png'),
type: 'set_ywqs_show',
name: '“移”点心愿'
imgSrc: require("@/assets/images/resource/ywqs/ydxy.png"),
type: "set_ywqs_show",
name: "“移”点心愿",
},
{
imgSrc: require('@/assets/images/resource/ywqs/2.png'),
type: 'set_ylqd_show',
name: '“移”列清单'
}
imgSrc: require("@/assets/images/resource/ywqs/2.png"),
type: "set_ylqd_show",
name: "“移”列清单",
},
],
partList: [
{
name: '徐法佑',
gridName: '徐家沟村人',
mainDeed: '丹心一片风华百年带着两个兵,敢挡一个团',
imgSrc: require('@/assets/images/resource/dyfc/1.jpg')
name: "徐法佑",
gridName: "徐家沟村人",
mainDeed: "丹心一片风华百年带着两个兵,敢挡一个团",
imgSrc: require("@/assets/images/resource/dyfc/1.jpg"),
},
{
name: '傅祖聪',
gridName: '移风中学',
mainDeed: '培桃育李四十三载乐善好施奉献一生',
imgSrc: require('@/assets/images/resource/dyfc/2.jpg')
name: "傅祖聪",
gridName: "移风中学",
mainDeed: "培桃育李四十三载乐善好施奉献一生",
imgSrc: require("@/assets/images/resource/dyfc/2.jpg"),
},
{
name: '朱爱香',
gridName: '太平庄村人',
mainDeed: '一座大棚撑起新型农民致富梦',
imgSrc: require('@/assets/images/resource/dyfc/3.jpg')
}
name: "朱爱香",
gridName: "太平庄村人",
mainDeed: "一座大棚撑起新型农民致富梦",
imgSrc: require("@/assets/images/resource/dyfc/3.jpg"),
},
],
optionHover: {
step: 1, //
@ -160,7 +161,7 @@ export default {
openWatch: true, // dom
singleHeight: 0, // (0) direction => 0/1
singleWidth: 0, // (0) direction => 2/3
waitTime: 2000 // (1000ms)
waitTime: 2000, // (1000ms)
},
optionHover1: {
step: 1, //
@ -170,69 +171,68 @@ export default {
openWatch: true, // dom
singleHeight: 0, // (0) direction => 0/1
singleWidth: 0, // (0) direction => 2/3
waitTime: 2000 // (1000ms)
}
}
waitTime: 2000, // (1000ms)
},
};
},
created () {
this.getData()
created() {
this.getData();
},
mounted () {},
beforeDestroy () {},
mounted() {},
beforeDestroy() {},
methods: {
...mapActions({
set_dyfc_show: 'SET_DYFC_SHOW',
set_dycf_id: 'SET_DYFC_ID',
set_djhd_show: 'SET_DJHD_SHOW',
set_ywqs_show: 'SET_YWQS_SHOW',
set_dj_id: 'SET_DJ_ID',
set_ylqd_show: 'SET_YLQD_SHOW'
set_dyfc_show: "SET_DYFC_SHOW",
set_dycf_id: "SET_DYFC_ID",
set_djhd_show: "SET_DJHD_SHOW",
set_ywqs_show: "SET_YWQS_SHOW",
set_dj_id: "SET_DJ_ID",
set_ylqd_show: "SET_YLQD_SHOW",
}),
getData () {
getData() {
actPageList({
publishPartyOrgId: '',
actType: '',
topic: '',
pageNo: '1',
pageSize: '30'
publishPartyOrgId: "",
actType: "",
topic: "",
pageNo: "1",
pageSize: "30",
}).then((res) => {
this.activityList = res.data.list
})
this.activityList = res.data.list;
});
partymemberStyleList({
publishPartyOrgId: '',
actType: '',
topic: '',
pageNo: '1',
pageSize: '30'
publishPartyOrgId: "",
actType: "",
topic: "",
pageNo: "1",
pageSize: "30",
}).then((res) => {
this.partList = res.data.list
})
this.partList = res.data.list;
});
},
handelClickOrg (type, item) {
if (type === 'set_dyfc_show') {
this.set_dycf_id(item.id)
this.set_dyfc_show(true)
handelClickOrg(type, item) {
if (type === "set_dyfc_show") {
this.set_dycf_id(item.id);
this.set_dyfc_show(true);
}
if (type === 'set_djhd_show') {
this.set_dj_id(item.icPartyActId)
this.set_djhd_show(true)
if (type === "set_djhd_show") {
this.set_dj_id(item.icPartyActId);
this.set_djhd_show(true);
}
if (type === 'set_ywqs_show') {
this.set_ywqs_show(true)
if (type === "set_ywqs_show") {
this.set_ywqs_show(true);
}
if (type === 'set_ylqd_show') {
this.set_ylqd_show(true)
if (type === "set_ylqd_show") {
this.set_ylqd_show(true);
}
}
},
},
components: {},
computed: {},
watch: {}
}
watch: {},
};
</script>
<style lang="scss" scoped>
.card {
width: 100%;
background: url("~@/assets/images/common/cardBgRed.png") no-repeat;
@ -252,6 +252,10 @@ export default {
height: 68px;
}
.imgE {
line-height: 68px;
text-align: center;
font-size: 14px;
color: rgba(255, 255, 255, 0.8);
width: 120px;
height: 68px;
background: rgba(187, 112, 83, 0.2);
@ -294,9 +298,22 @@ export default {
box-sizing: border-box;
margin-right: 4px;
img {
div:nth-child(1) {
width: 130px;
height: 80px;
img {
width: 130px;
height: 80px;
}
div {
width: 130px;
height: 80px;
font-size: 14px;
color: rgba(255, 255, 255, 0.8);
border: 1px solid #e0470c;
line-height: 80px;
text-align: center;
}
}
.name {

52
src/views/next/screen-content-right/szyf-right/index.vue

@ -33,7 +33,10 @@
v-for="(item, index) in partList"
:key="index"
>
<img :src="item.imageList[0]" alt="" />
<div>
<img v-if="item.imageList[0]" :src="item.imageList[0]" alt="" />
<div v-else>暂无图片</div>
</div>
<div class="name">{{ item.name }}</div>
<div class="unit">{{ item.gridName }}</div>
<div class="title">{{ item.mainDeed }}</div>
@ -52,6 +55,8 @@
</template>
<script>
import { mapActions } from 'vuex'
import { actPageList, partymemberStyleList } from '@/api/hsyf'
export default {
data () {
return {
@ -158,10 +163,29 @@ export default {
mounted () {
this.$nextTick(() => {
this.initChart()
partymemberStyleList({
publishPartyOrgId: '',
actType: '',
topic: '',
pageNo: '1',
pageSize: '100'
}).then((res) => {
this.partList = res.data.list
})
})
},
beforeDestroy () {},
methods: {
...mapActions({
set_dyfc_show: 'SET_DYFC_SHOW',
set_dycf_id: 'SET_DYFC_ID'
}),
handelClickOrg (type, item) {
if (type === 'set_dyfc_show') {
this.set_dycf_id(item.id)
this.set_dyfc_show(true)
}
},
initChart () {
// eslint-disable-next-line no-undef
const myChart = echarts.init(document.getElementById('myChart'))
@ -421,14 +445,26 @@ export default {
.item {
@include flex(column);
// border: 1px solid #e0470c;
border: 1px solid #77A5D8;
border: 1px solid #77a5d8;
padding: 5px;
box-sizing: border-box;
margin-right: 4px;
img {
div:nth-child(1) {
width: 130px;
height: 80px;
img {
width: 130px;
height: 80px;
}
div {
width: 130px;
height: 80px;
font-size: 14px;
color: rgba(255, 255, 255, 0.8);
border: 1px solid #77a5d8;
line-height: 80px;
text-align: center;
}
}
.name {
@ -453,7 +489,7 @@ export default {
font-size: 12px;
padding: 0 5px;
// color: #fbe9c5;
color: #BDCEEA;
color: #bdceea;
margin-bottom: 9px;
}
@ -495,11 +531,11 @@ export default {
font-size: 16px;
background: url("~@/assets/images/szyf/yygzBg.png") no-repeat;
}
&-item:nth-child(odd){
&-item:nth-child(odd) {
margin-right: 8px;
}
&-item:hover{
color: #FFE00F;
&-item:hover {
color: #ffe00f;
background: url("~@/assets/images/szyf/yygzHoverBg.png") no-repeat;
}
}

17
vue.config.js

@ -112,6 +112,23 @@ module.exports = {
logLevel: 'debug',
changeOrigin: true,
secure: false
},
'/zdImage': {
target: 'https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com',
// target: 'http://127.0.0.1:10001/api/',
pathRewrite: {
'^/zdImage': '/'
},
logLevel: 'debug',
changeOrigin: true,
secure: false
},
'/zdVideo': {
target: 'https://yifengdian-smps.elinkservice.cn/',
// target: 'http://127.0.0.1:10001/api/',
pathRewrite: {
'^/zdImage': '/'
}
}
},
https: false,

10733
yarn.lock

File diff suppressed because it is too large
Loading…
Cancel
Save