zxr 3 gadi atpakaļ
vecāks
revīzija
205816d3c2

+ 3 - 0
package.json

@@ -41,6 +41,7 @@
     "axios": "0.21.0",
     "clipboard": "2.0.6",
     "core-js": "3.8.1",
+    "docx-preview": "^0.1.4",
     "echarts": "^4.9.0",
     "element-ui": "2.15.6",
     "file-saver": "^2.0.5",
@@ -51,6 +52,7 @@
     "js-beautify": "1.13.0",
     "js-cookie": "2.2.1",
     "jsencrypt": "3.0.0-rc.1",
+    "mammoth": "^1.4.21",
     "nprogress": "0.2.0",
     "quill": "1.3.7",
     "rich-text-tool-editor": "^1.0.8",
@@ -59,6 +61,7 @@
     "vue": "2.6.12",
     "vue-count-to": "1.0.13",
     "vue-cropper": "0.5.5",
+    "vue-doc-preview": "^0.3.2",
     "vue-meta": "^2.4.0",
     "vue-quill-editor": "^3.0.6",
     "vue-router": "3.4.9",

+ 9 - 0
src/api/PrintsLog/printlog.js

@@ -50,4 +50,13 @@ export function exportPrintlog(query) {
     method: 'get',
     params: query
   })
+}
+
+// 查询人员管理列表
+export function listPeople(query) {
+  return request({
+    url: '/peopleManage/people/list',
+    method: 'get',
+    params: query
+  })
 }

+ 55 - 19
src/api/PrintsManage/manage.js

@@ -1,53 +1,89 @@
-import request from '@/utils/request'
+import request from "@/utils/request";
 
 // 查询集中文印主列表
 export function listManage(query) {
   return request({
-    url: '/PrintsManage/manage/list',
-    method: 'get',
+    url: "/PrintsManage/manage/list",
+    method: "get",
     params: query
-  })
+  });
 }
 
 // 查询集中文印主详细
 export function getManage(id) {
   return request({
-    url: '/PrintsManage/manage/' + id,
-    method: 'get'
-  })
+    url: "/PrintsManage/manage/" + id,
+    method: "get"
+  });
 }
 
 // 新增集中文印主
 export function addManage(data) {
   return request({
-    url: '/PrintsManage/manage',
-    method: 'post',
+    url: "/PrintsManage/manage",
+    method: "post",
     data: data
-  })
+  });
 }
 
 // 修改集中文印主
 export function updateManage(data) {
   return request({
-    url: '/PrintsManage/manage',
-    method: 'put',
+    url: "/PrintsManage/manage",
+    method: "put",
     data: data
-  })
+  });
 }
 
 // 删除集中文印主
 export function delManage(id) {
   return request({
-    url: '/PrintsManage/manage/' + id,
-    method: 'delete'
-  })
+    url: "/PrintsManage/manage/" + id,
+    method: "delete"
+  });
 }
 
 // 导出集中文印主
 export function exportManage(query) {
   return request({
-    url: '/PrintsManage/manage/export',
-    method: 'get',
+    url: "/PrintsManage/manage/export",
+    method: "get",
     params: query
-  })
+  });
+}
+
+// 轮巡提醒
+export function printTrigger(data) {
+  return request({
+    url: "/PrintsManage/manage/printTrigger",
+    method: "POST",
+    data: data
+  });
+}
+
+// 关闭轮巡提醒
+export function printTriggerClear(data) {
+  return request({
+    url: "/PrintsManage/manage/printTriggerClear",
+    method: "POST",
+    data: data
+  });
+}
+
+// 查询人员管理列表
+export function listPeople(query) {
+  return request({
+    url: "/peopleManage/people/list",
+    method: "get",
+    params: query
+  });
+}
+
+//打印获取详情
+export function printCode(data) {
+  return request({
+    url: "/PrintsLog/printlog/printCode",
+    method: "POST",
+    data: data
+  });
 }

BIN
src/assets/images/-s-顶部.png


BIN
src/assets/images/流线.gif


BIN
src/assets/images/选中.png


BIN
src/assets/images/闪烁GIF-慢.gif


BIN
src/assets/images/闪烁GIF.gif


+ 346 - 233
src/assets/styles/global.css

@@ -1,175 +1,218 @@
 /* 加粗字体 */
-@font-face {  
-    font-family: 'siyuan';  
-    src: url('../css/siyuan.OTF');  
-    font-weight: normal;  
-   font-style: normal;  
-  }
+@font-face {
+  font-family: 'siyuan';
+  src: url('../css/siyuan.OTF');
+  font-weight: normal;
+  font-style: normal;
+}
+
 /* 正常字体 */
-  @font-face {  
-    font-family: 'fangyuan';  
-    src: url('../css/SOURCEHANSANSCN-REGULAR.OTF');  
-    font-weight: normal;  
-   font-style: normal;  
-  }
+@font-face {
+  font-family: 'fangyuan';
+  src: url('../css/SOURCEHANSANSCN-REGULAR.OTF');
+  font-weight: normal;
+  font-style: normal;
+}
 
 /* 新增表单字体颜色 */
- .el-dialog__body .el-form-item__label{
-    color: black  ;
-  }
-  /* 设置背景颜色 */
+.el-dialog__body .el-form-item__label {
+  color: black;
+}
+
+/* 设置背景颜色 */
 .app-container {
   background-color: #00365F;
 }
+
 /* 设置字体白色 */
 .el-table {
   color: white !important;
 }
+
 .el-pagination__total {
   color: white !important;
 }
- .el-pagination__jump {
+
+.el-pagination__jump {
   color: white !important;
 }
- .el-form-item__label {
+
+.el-form-item__label {
   color: white !important;
 }
+
 /* 设置表格颜色 */
 .el-table tr {
   background: #00365F;
   color: white;
 }
+
 .pagination-container {
   background: #00365F !important;
   padding: 32px 16px;
 }
+
 /* 设置表格字体颜色 */
 .el-form-item__label {
   color: white !important;
 }
+
 .el-pagination__total {
   color: white !important;
 }
+
 .el-pagination__jump {
   color: white !important;
 }
+
 /* 设置表格单双数颜色 */
 .el-table tr:nth-child(odd) {
   background: #00365F;
 }
+
 .el-table tr:nth-child(even) {
-  background: #003C69  !important;
+  background: #003C69 !important;
 }
+
 /* 表格行划过颜色 */
-.el-table__body tr:hover > td {
+.el-table__body tr:hover>td {
   background-color: #004D86 !important;
 }
+
 /* 表格文字居中 */
 ::v-deep .cell {
   text-align: center;
 }
+
 /* 暂无数据背景 */
 .el-table__empty-block {
   background-color: #00365F;
 }
+
 /* 去掉上面的线 */
-.el-table th.is-leaf{
+.el-table th.is-leaf {
   border: none !important;
 }
+
 /* 去掉最下面的那一条线 */
 .el-table::before {
   height: 0px !important;
 }
+
 /* 去掉表格内的线 */
- table td {
+table td {
   border-bottom: none !important;
 }
+
 /* 设置重置按钮 */
-.Reset{
+.Reset {
   background-color: #004D86 !important;
   color: #fff !important;
   border: 1px solid transparent !important;
 }
+
 /* 设置搜索刷新背景 */
-.el-button.is-circle{
+.el-button.is-circle {
   width: 30px;
   background-color: #004D86 !important;
   color: #fff;
   border: 1px solid transparent !important;
 }
-.el-button.is-circle .el-icon-search{
+
+.el-button.is-circle .el-icon-search {
   margin-left: 0px;
 }
-.el-button.is-circle .el-icon-refresh{
+
+.el-button.is-circle .el-icon-refresh {
   margin-left: 0px;
 }
+
 /* input表单颜色 */
-.el-input--small .el-input__inner{
+.el-input--small .el-input__inner {
   /* background: #004D86; */
   background-color: transparent;
   border: 1px solid #D2D6DE;
   color: #fff !important;
 }
+
 /* 时间日历设置 */
 /* .el-range-input{
 background: #004D86;
 color: #fff;
 } */
 .el-range-editor--small .el-range-separator {
-    color: white ;
+  color: white;
 }
+
 /* 分页按钮 */
 .el-pagination .el-select .el-input .el-input__inner {
-    background: #004D86 !important;
-    border: 0px;
-    color: #fff;
-    border: none !important;
+  background: #004D86 !important;
+  border: 0px;
+  color: #fff;
+  border: none !important;
 }
+
 .el-pagination button:disabled {
-    color: #fff !important;
-    background-color: #004D86 !important;
-    cursor: not-allowed;
+  color: #fff !important;
+  background-color: #004D86 !important;
+  cursor: not-allowed;
 }
+
 .el-pagination__editor.el-input .el-input__inner {
-    background: #004D86 !important;
-    color: #fff;
-    border: 0px;
-    border: none !important;
+  background: #004D86 !important;
+  color: #fff;
+  border: 0px;
+  border: none !important;
 }
+
 .el-pagination.is-background .el-pager li:not(.disabled).active {
-    background-color: #004D86 !important;
-    color: #FFFFFF;
+  background-color: #004D86 !important;
+  color: #FFFFFF;
 }
+
 /* 分页按钮 */
 ::v-deep .el-pagination.is-background .el-pager li {
   background-color: #004d86;
   color: #fff;
 }
+
 ::v-deep .el-pagination.is-background .btn-next {
   background-color: #004d86;
   color: #fff;
 }
+
 ::v-deep .el-pagination.is-background .btn-prev,
 .el-pagination.is-background .btn-next,
 .el-pagination.is-background .el-pager li {
   background: #004d86 !important;
   color: #fff !important;
 }
-.el-button{
-border: 1px solid transparent;
+
+.el-pagination.is-background .btn-prev,
+.el-pagination.is-background .btn-next {
+  background: #004d86 !important;
+  color: #fff !important;
 }
-.refresh{
-color: #fff;
+
+.el-button {
+  border: 1px solid transparent;
 }
+
+.refresh {
+  color: #fff;
+}
+
 .el-table__expand-icon {
   color: white !important;
 }
+
 /* 文本域 */
-.el-textarea__inner{
-  background-color:#004D86;
+.el-textarea__inner {
+  background-color: #004D86;
   border: 1px solid #D2D6DE;
   color: #fff;
 }
+
 /* 表单标题 */
 .jiben {
   width: 952px;
@@ -180,6 +223,7 @@ color: #fff;
   padding-left: 16px;
   line-height: 32px;
 }
+
 /* 按钮颜色大小 */
 .el-button--primary.is-plain {
   width: 88px;
@@ -189,6 +233,7 @@ color: #fff;
   border-color: #1d96ff;
   font-size: 14px;
 }
+
 .el-button--success.is-plain.is-disabled {
   width: 88px;
   height: 36px;
@@ -197,6 +242,7 @@ color: #fff;
   border-color: #13ce66;
   font-size: 14px;
 }
+
 .el-button--success.is-plain {
   width: 88px;
   height: 36px;
@@ -205,6 +251,7 @@ color: #fff;
   border-color: #a1ebc2;
   font-size: 14px;
 }
+
 .el-button--danger.is-plain.is-disabled {
   width: 88px;
   height: 36px;
@@ -213,6 +260,7 @@ color: #fff;
   border-color: #ff4949;
   font-size: 14px;
 }
+
 .el-button--warning.is-plain {
   width: 88px;
   height: 36px;
@@ -221,6 +269,7 @@ color: #fff;
   border-color: #ffba00;
   font-size: 14px;
 }
+
 .el-button--info.is-plain {
   width: 88px;
   height: 36px;
@@ -229,6 +278,7 @@ color: #fff;
   border-color: #909399;
   font-size: 14px;
 }
+
 .el-button--danger.is-plain {
   width: 88px;
   height: 36px;
@@ -251,6 +301,7 @@ color: #fff;
   background-color: #1d96ff;
   margin-left: 10px !important;
 }
+
 /* 表格新增按钮 */
 /* .plus {
   width: 21px !important;
@@ -271,12 +322,14 @@ color: #fff;
   border-color: #3da1f8;
   color: #FFFFFF;
 }
+
 .el-button--btr:focus,
 .el-button--btr:hover {
   background: #3da1f8;
   border-color: #3da1f8;
   color: #FFFFFF;
 }
+
 .el-button--btr {
   /* border-color: #20B2AA; */
   color: #FFFFFF;
@@ -289,6 +342,7 @@ color: #fff;
   margin-top: 1px;
   padding-top: 11px !important;
 }
+
 /* 搜索 btn */
 .el-button--btn.is-active,
 .el-button--btn:active {
@@ -296,12 +350,14 @@ color: #fff;
   border-color: #1263aa;
   color: #FFFFFF;
 }
+
 .el-button--btn:focus,
 .el-button--btn:hover {
   background: #1263aa;
   border-color: #1263aa;
   color: #FFFFFF;
 }
+
 .el-button--btn {
   /* border-color: #20B2AA; */
   color: #FFFFFF;
@@ -314,104 +370,119 @@ color: #fff;
   margin-top: 1px;
   padding-top: 10px !important;
 }
-.el-icon-refresh{
+
+.el-icon-refresh {
   margin-left: -8px;
 }
-.el-icon-search{
+
+.el-icon-search {
   margin-left: -7px;
 }
+
 /* 修改 btu */
 .el-button--btu.is-active,
 .el-button--btu:active {
-background: #13ce66;
-border-color: #13ce66;
-color: #FFFFFF;
+  background: #13ce66;
+  border-color: #13ce66;
+  color: #FFFFFF;
 }
+
 .el-button--btu:focus,
 .el-button--btu:hover {
-background: #35ca78;
-border-color: #35ca78;
-color: #FFFFFF;
+  background: #35ca78;
+  border-color: #35ca78;
+  color: #FFFFFF;
 }
+
 .el-button--btu {
-width: 46px !important;
-border: 1px solid transparent;
-padding: 3px 8px;
-font-size: 14px;
-line-height: 1.5;
-border-radius: 3px;
-color: #fff;
-background-color: #13ce66;
+  width: 46px !important;
+  border: 1px solid transparent;
+  padding: 3px 8px;
+  font-size: 14px;
+  line-height: 1.5;
+  border-radius: 3px;
+  color: #fff;
+  background-color: #13ce66;
 }
+
 /* 删除 btd */
 .el-button--btd.is-active,
 .el-button--btd:active {
-background: #ff4949;
-border-color: #ff4949;
-color: #FFFFFF;
+  background: #ff4949;
+  border-color: #ff4949;
+  color: #FFFFFF;
 }
+
 .el-button--btd:focus,
 .el-button--btd:hover {
-background: #f76a6a;
-border-color: #f76a6a;
-color: #FFFFFF;
-}
-.el-button--btd{
-width: 46px !important;
-border: 1px solid transparent;
-padding: 3px 8px;
-font-size: 14px;
-line-height: 1.5;
-border-radius: 3px;
-color: #fff;
-background-color: #ff4949;
+  background: #f76a6a;
+  border-color: #f76a6a;
+  color: #FFFFFF;
+}
+
+.el-button--btd {
+  width: 46px !important;
+  border: 1px solid transparent;
+  padding: 3px 8px;
+  font-size: 14px;
+  line-height: 1.5;
+  border-radius: 3px;
+  color: #fff;
+  background-color: #ff4949;
 }
+
 /* 查看 btk */
 .el-button--btk.is-active,
 .el-button--btk:active {
-background: #1d96ff;
-border-color: #1d96ff;
-color: #FFFFFF;
+  background: #1d96ff;
+  border-color: #1d96ff;
+  color: #FFFFFF;
 }
+
 .el-button--btk:focus,
 .el-button--btk:hover {
-background: #41a4fa;
-border-color: #41a4fa;
-color: #FFFFFF;
-}
-.el-button--btk{
-width: 46px !important;
-border: 1px solid transparent;
-padding: 3px 8px;
-font-size: 14px;
-line-height: 1.5;
-border-radius: 3px;
-color: #fff;
-background-color: #1d96ff;
+  background: #41a4fa;
+  border-color: #41a4fa;
+  color: #FFFFFF;
+}
+
+.el-button--btk {
+  width: 46px !important;
+  border: 1px solid transparent;
+  padding: 3px 8px;
+  font-size: 14px;
+  line-height: 1.5;
+  border-radius: 3px;
+  color: #fff;
+  background-color: #1d96ff;
 }
+
 /* 增加-新增-添加 btc */
 .el-button--btc.is-active,
 .el-button--btc:active {
-background: #1d96ff;
-border-color: #1d96ff;
-color: #FFFFFF;
+  background: #1d96ff;
+  border-color: #1d96ff;
+  color: #FFFFFF;
 }
+
 .el-button--btc:focus,
 .el-button--btc:hover {
-background: #41a4fa;
-border-color: #41a4fa;
-color: #FFFFFF;
-}
-.el-button--btc{
-width: 46px !important;
-border: 1px solid transparent;
-padding: 3px 8px;
-font-size: 14px;
-line-height: 1.5;
-border-radius: 3px;
-color: #fff;
-background-color: #1d96ff;
+  background: #41a4fa;
+  border-color: #41a4fa;
+  color: #FFFFFF;
+}
+
+.el-button--btc {
+  width: 46px !important;
+  border: 1px solid transparent;
+  padding: 3px 8px;
+  font-size: 14px;
+  line-height: 1.5;
+  border-radius: 3px;
+  color: #fff;
+  background-color: #1d96ff;
 }
+
 /* 控制按钮样式颜色 end */
 
 
@@ -422,30 +493,34 @@ background-color: #1d96ff;
 } */
 
 /* 富文本 */
-.ql-editor{
+.ql-editor {
   color: #fff;
 }
 
 /* 点击删除弹框提示 */
-.el-message-box{
+.el-message-box {
   background-color: #004D86;
   color: #fff;
   border: none;
   width: 316px;
   height: 192px;
 }
-.el-message-box__title{
+
+.el-message-box__title {
   background-color: #004D86;
   color: #fff;
 }
-.el-message-box__content{
+
+.el-message-box__content {
   color: #fff;
 }
-.el-message-box__btns .el-button{
+
+.el-message-box__btns .el-button {
   width: 100px;
   height: 30px;
   margin-right: 24px;
 }
+
 /* 对话框重置按钮
 ::v-deep .el-button el-button--default el-button--medium{
   background-color: #196299 !important;
@@ -463,140 +538,168 @@ background-color: #1d96ff;
 } */
 
 /* 关闭对话框 */
-.el-message-box__header{
-  border-bottom: 1px solid #718A9D ;
+.el-message-box__header {
+  border-bottom: 1px solid #718A9D;
 }
-.el-message-box__btns{
-  margin: 20px 0px ;
+
+.el-message-box__btns {
+  margin: 20px 0px;
 }
-.el-message-box__content{
+
+.el-message-box__content {
   margin-top: 15px;
 }
+
 /* flex布局 */
-.d-flex{
+.d-flex {
   display: flex;
 }
-.j-center{
+
+.j-center {
   justify-content: center;
 }
-.j-space-around{
+
+.j-space-around {
   justify-content: space-around;
 }
-.j-space-between{
+
+.j-space-between {
   justify-content: space-between;
 }
-.a-center{
+
+.a-center {
   align-items: center;
 }
-.f-warp{
+
+.f-warp {
   flex-wrap: wrap;
 }
+
 /* 宽度 */
-.w-100{
+.w-100 {
   width: 100%;
 }
-.w-200{
+
+.w-200 {
   width: 200px;
 }
-.w-300{
+
+.w-300 {
   width: 300px;
 }
-.w-350{
+
+.w-350 {
   width: 350px;
 }
-.w-400{
+
+.w-400 {
   width: 400px;
 }
-.w-500{
+
+.w-500 {
   width: 500px;
 }
 
-  
-  /*弹框样式*/
-  ::v-deep .el-dialog {
+
+/*弹框样式*/
+::v-deep .el-dialog {
   width: 1030px !important;
   background-color: #004d86;
-  }
-  
-  ::v-deep .el-dialog__header {
+}
+
+::v-deep .el-dialog__header {
   border-bottom: 1px solid #718a9d;
-  }
-  
-  ::v-deep .el-dialog__title {
+}
+
+::v-deep .el-dialog__title {
   color: #fff;
   font: 18px;
-  }
-  
-  ::v-deep .el-dialog__headerbtn .el-dialog__close {
+}
+
+::v-deep .el-dialog__headerbtn .el-dialog__close {
   color: #fff;
-  }
-
-  .el-form-item ::v-deep .el-input__inner {
-    height: 36px;
-    background: #004d86;
-    color: #fff;
-  }
-
-  /* 左侧导航栏样式 */
-  #app .has-logo{
-    background: linear-gradient(180deg, #07162F, #102C57);
-  }
-  #app .has-logo .sidebar-logo-container{
-    background: rgba(0,0,0,0) !important;
-  }
-  #app .sidebar-container .el-menu{
-    background: rgba(0,0,0,0) !important;
-  }
-  .sidebar-container .el-scrollbar__view{
-    background: transparent;
-  }
-  #app .sidebar-container .el-menu-item, #app .sidebar-container .el-submenu__title{
-    background-color: rgba(0,0,0,0) !important;
-  }
-  body #app .sidebar-container .theme-dark .nest-menu .el-submenu > .el-submenu__title, #app .sidebar-container .theme-dark .el-submenu .el-menu-item {
-    background-color: transparent !important;
-  }
-  #app .sidebar-container .theme-dark .nest-menu .el-submenu > .el-submenu__title:hover, #app .sidebar-container .theme-dark .el-submenu .el-menu-item:hover{
-    background-color: transparent !important;
-    color: #fff !important;
-  }
-  #app .sidebar-container .theme-dark .is-active > .el-submenu__title {
-    color: #FFF !important;
-    background-color: #013667 !important;
-  }
-  .el-menu-item.is-active {
-    color: #fff !important;
-    background-image: url('../images/左侧导航栏选中.png');
-  }
-  .el-scrollbar li{
-    background-color: transparent !important;
-  }
-  /* 输入框显示手指 */
-  ::v-deep .el-input__inner{
-    cursor: pointer !important;
-  }
-  /* 页面左栏图标大小 */
-   .el-submenu__title>svg{
-    width: 22px !important;
-    height: 22px !important;
-    vertical-align: -0.4em !important;
-  }
-
-  /*禁用样式*/
-  .el-input.is-disabled .el-input__suffix{
-    display:none;
-  }
-
-  .el-textarea.is-disabled .el-textarea__inner{
-    background: #004d86;
-  }
-
-  /* .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content{
+}
+
+.el-form-item ::v-deep .el-input__inner {
+  height: 36px;
+  background: #004d86;
+  color: #fff;
+}
+
+/* 左侧导航栏样式 */
+#app .has-logo {
+  background: linear-gradient(180deg, #07162F, #102C57);
+}
+
+#app .has-logo .sidebar-logo-container {
+  background: rgba(0, 0, 0, 0) !important;
+}
+
+#app .sidebar-container .el-menu {
+  background: rgba(0, 0, 0, 0) !important;
+}
+
+.sidebar-container .el-scrollbar__view {
+  background: transparent;
+}
+
+#app .sidebar-container .el-menu-item,
+#app .sidebar-container .el-submenu__title {
+  background-color: rgba(0, 0, 0, 0) !important;
+}
+
+body #app .sidebar-container .theme-dark .nest-menu .el-submenu>.el-submenu__title,
+#app .sidebar-container .theme-dark .el-submenu .el-menu-item {
+  background-color: transparent !important;
+}
+
+#app .sidebar-container .theme-dark .nest-menu .el-submenu>.el-submenu__title:hover,
+#app .sidebar-container .theme-dark .el-submenu .el-menu-item:hover {
+  background-color: transparent !important;
+  color: #fff !important;
+}
+
+#app .sidebar-container .theme-dark .is-active>.el-submenu__title {
+  color: #FFF !important;
+  background-color: #013667 !important;
+}
+
+.el-menu-item.is-active {
+  color: #fff !important;
+  background-image: url('../images/左侧导航栏选中.png');
+}
+
+.el-scrollbar li {
+  background-color: transparent !important;
+}
+
+/* 输入框显示手指 */
+::v-deep .el-input__inner {
+  cursor: pointer !important;
+}
+
+/* 页面左栏图标大小 */
+.el-submenu__title>svg {
+  width: 22px !important;
+  height: 22px !important;
+  vertical-align: -0.4em !important;
+}
+
+/*禁用样式*/
+.el-input.is-disabled .el-input__suffix {
+  display: none;
+}
+
+.el-textarea.is-disabled .el-textarea__inner {
+  background: #004d86;
+}
+
+/* .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content{
     color: #00365f;
     background-color: red !important;
   } */
 
-  /* .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content:after{
+/* .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content:after{
     content: "";
     width:10px;
     height: 10px;
@@ -605,53 +708,63 @@ background-color: #1d96ff;
     margin-left:80px;
   } */
 
-  /* 查看弹框背景 */
-  #chakan>.el-dialog {
-    background-color: #fff !important;
-      border-radius: 7px;
-      }
-      
-      #chakan>.el-dialog .el-dialog__header .el-dialog__title ,
-      #chakan>.el-dialog .el-dialog__header .el-dialog__title button i, 
-      #chakan>.el-dialog .el-dialog__body #contents tbody,
-      #chakan>.el-dialog .el-dialog__headerbtn .el-dialog__close {
-      color: black;
-     font-family: ui-serif;
-  }
-  /* table表格 */
-.el-dialog__wrapper .el-table th.el-table__cell{
+/* 查看弹框背景 */
+#chakan>.el-dialog {
+  background-color: #fff !important;
+  border-radius: 7px;
+}
+
+#chakan>.el-dialog .el-dialog__header .el-dialog__title,
+#chakan>.el-dialog .el-dialog__header .el-dialog__title button i,
+#chakan>.el-dialog .el-dialog__body #contents tbody,
+#chakan>.el-dialog .el-dialog__headerbtn .el-dialog__close {
+  color: black;
+  font-family: ui-serif;
+}
+
+/* table表格 */
+.el-dialog__wrapper .el-table th.el-table__cell {
   background-color: transparent;
   color: white;
 }
-.el-dialog__wrapper .el-table th.el-table__cell .cell{
+
+.el-dialog__wrapper .el-table th.el-table__cell .cell {
   text-align: center;
 }
-.el-dialog__wrapper .el-table .el-table__row .cell{
+
+.el-dialog__wrapper .el-table .el-table__row .cell {
   text-align: center;
 }
-.el-dialog__wrapper .el-table .el-table__row{
+
+.el-dialog__wrapper .el-table .el-table__row {
   height: 60px !important;
 }
-.el-dialog__wrapper .el-table .el-table__row .el-progress{
+
+.el-dialog__wrapper .el-table .el-table__row .el-progress {
   margin-bottom: 0px !important;
 }
-.guizhangzhidu .RankingTables .el-table__cell{
+
+.guizhangzhidu .RankingTables .el-table__cell {
   /* text-align: center !important; */
   border-bottom: 1px solid rgba(113, 138, 157, 1) !important;
-   /* padding-left: 1s0px !important; */
+  /* padding-left: 1s0px !important; */
 }
+
 .guizhangzhidu .RankingTables .el-table_3_column_9 {
   text-align: center;
 }
+
 /* 下拉框样式 */
-.guizhangzhidu .el-select-dropdown .el-select-dropdown__wrap .el-scrollbar__view{
+.guizhangzhidu .el-select-dropdown .el-select-dropdown__wrap .el-scrollbar__view {
   background-color: white !important;
   text-indent: 1em;
 }
-.guizhangzhidu .el-select-dropdown .el-select-dropdown__wrap .el-scrollbar__view .el-select-dropdown__item{
+
+.guizhangzhidu .el-select-dropdown .el-select-dropdown__wrap .el-scrollbar__view .el-select-dropdown__item {
   text-indent: 1em;
 }
+
 /* 工作任务表格 */
-.workTask .el-table__empty-block{
+.workTask .el-table__empty-block {
   border-bottom: 2px solid white !important;
 }

+ 2 - 2
src/components/Breadcrumb/index.vue

@@ -35,7 +35,7 @@ export default {
       const first = matched[0]
 
       if (!this.isDashboard(first)) {
-        matched = [{ path: '/index', meta: { title: '首页' }}].concat(matched)
+        matched = [{ path: '/index', meta: { title: '主控台' }}].concat(matched)
       }
 
       this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false)
@@ -48,7 +48,7 @@ export default {
       return name.trim() === 'Index'
     },
     handleLink(item) {
-      if(item.meta.title=='首页'){
+      if(item.meta.title=='主控台'){
          this.$router.push({ path: "/pt"})
          this.$store.dispatch('tagsView/delAllViews')
       }

+ 12 - 8
src/layout/components/AppMain.vue

@@ -58,21 +58,25 @@ export default {
       this.open = false;
     },
     quchulifun() {
-      // this.$router
-      //   .push({ path: "/index", query: { name: "/print" } })
-      //   .catch(() => {});
       printTriggerClear().then(res => {
-        //  if(res.code==200){
-        //  }
+         if(res.code==200){
+           window.open(`/print/manage`, "_self");
+         }
       });
-      window.open(`/print/manage`, "_self");
+      
     },
     startTime() {
       this.timer = setInterval(() => {
         printTrigger().then(res => {
-          console.log(res);
+             if(res.code==200){
+                 if(res.numb!=0){
+                     this.open = true;
+                 }else{
+                   this.open = false;
+                 }
+             }
         });
-      }, 1000000); /* 每500毫秒执行一次,实现动态显示时间效果 */
+      }, 10000); /* 每500毫秒执行一次,实现动态显示时间效果 */
     }
   },
   destroyed() { 

+ 2 - 2
src/layout/components/Sidebar/Logo.vue

@@ -5,8 +5,8 @@
         <img v-if="logo" :src="logo" class="sidebar-logo" />
         <h1 v-else class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>
       </router-link>
-      <router-link v-else key="expand" class="sidebar-logo-link" to="/">
-        <img v-if="logo" :src="logo" class="sidebar-logo" />
+      <router-link v-else key="expand" class="sidebar-logo-link" to="/pt">
+        <!-- <img v-if="logo" :src="logo" class="sidebar-logo" /> -->
         <h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>
       </router-link>
     </transition>

+ 40 - 25
src/layout/components/Sidebar/SidebarItem.vue

@@ -1,9 +1,17 @@
 <template>
   <div v-if="!item.hidden">
-    <template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow">
+    <template
+      v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow"
+    >
       <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path, onlyOneChild.query)">
-        <el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{'submenu-title-noDropdown':!isNest}">
-          <item :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)" :title="onlyOneChild.meta.title" />
+        <el-menu-item
+          :index="resolvePath(onlyOneChild.path)"
+          :class="{'submenu-title-noDropdown':!isNest}"
+        >
+          <item
+            :icon="onlyOneChild.meta.icon||(item.meta&&item.meta.icon)"
+            :title="onlyOneChild.meta.title"
+          />
         </el-menu-item>
       </app-link>
     </template>
@@ -19,20 +27,21 @@
         :item="child"
         :base-path="resolvePath(child.path)"
         class="nest-menu"
+        ref="menuref"
       />
     </el-submenu>
   </div>
 </template>
 
 <script>
-import path from 'path'
-import { isExternal } from '@/utils/validate'
-import Item from './Item'
-import AppLink from './Link'
-import FixiOSBug from './FixiOSBug'
+import path from "path";
+import { isExternal } from "@/utils/validate";
+import Item from "./Item";
+import AppLink from "./Link";
+import FixiOSBug from "./FixiOSBug";
 
 export default {
-  name: 'SidebarItem',
+  name: "SidebarItem",
   components: { Item, AppLink },
   mixins: [FixiOSBug],
   props: {
@@ -47,12 +56,15 @@ export default {
     },
     basePath: {
       type: String,
-      default: ''
+      default: ""
     }
   },
   data() {
-    this.onlyOneChild = null
-    return {}
+    this.onlyOneChild = null;
+    return {};
+  },
+  mounted() {
+    
   },
   methods: {
     hasOneShowingChild(children = [], parent) {
@@ -61,40 +73,43 @@ export default {
       }
       const showingChildren = children.filter(item => {
         if (item.hidden) {
-          return false
+          return false;
         } else {
           // Temp set(will be used if only has one showing child)
-          this.onlyOneChild = item
-          return true
+          this.onlyOneChild = item;
+          return true;
         }
-      })
+      });
 
       // When there is only one child router, the child router is displayed by default
       if (showingChildren.length === 1) {
-        return true
+        return true;
       }
 
       // Show parent if there are no child router to display
       if (showingChildren.length === 0) {
-        this.onlyOneChild = { ... parent, path: '', noShowingChildren: true }
-        return true
+        this.onlyOneChild = { ...parent, path: "", noShowingChildren: true };
+        return true;
       }
 
-      return false
+      return false;
     },
     resolvePath(routePath, routeQuery) {
+      // console.log(this.$route.path.lastIndexOf('/'))
+    //  let name=this.$route.path.slice(this.$route.path.lastIndexOf('/')+1,this.$route.path.length);
+      // console.log(routePath)
       if (isExternal(routePath)) {
-        return routePath
+        return routePath;
       }
       if (isExternal(this.basePath)) {
-        return this.basePath
+        return this.basePath;
       }
       if (routeQuery) {
         let query = JSON.parse(routeQuery);
-        return { path: path.resolve(this.basePath, routePath), query: query }
+        return { path: path.resolve(this.basePath, routePath), query: query };
       }
-      return path.resolve(this.basePath, routePath)
+      return path.resolve(this.basePath, routePath);
     }
   }
-}
+};
 </script>

+ 15 - 6
src/layout/components/Sidebar/index.vue

@@ -12,8 +12,9 @@
         :unique-opened="true"
         :active-text-color="settings.theme"
         :collapse-transition="false"
-         :default-openeds="[routs[0].path]"
-        mode="vertical"    
+        :default-openeds="[routs[0].path]"
+        mode="vertical"
+        :default-active="p"
       >
         <sidebar-item
           v-for="(route, index) in routs"
@@ -35,7 +36,8 @@ import variables from "@/assets/styles/variables.scss";
 export default {
   data() {
     return {
-      routs: []
+      routs: [],
+      p: null
     };
   },
   components: { SidebarItem, Logo },
@@ -65,9 +67,13 @@ export default {
     //   this.routs=this.sidebarRouters
     if (this.$route.query.name) {
       this.sidebarRoutersfun();
+      this.p = this.routs[0].path + "/" + this.routs[0].children[0].path;
+      this.$router.push({ path: this.p });
     } else {
-       this.$route.query.name='/'+this.$route.path.split('/')[1];
-       this.sidebarRoutersfun();
+      this.$route.query.name = "/" + this.$route.path.split("/")[1];
+      this.sidebarRoutersfun();
+      this.p = this.routs[0].path + "/" + this.routs[0].children[0].path;
+      this.$router.push({ path: this.p });
     }
   },
   methods: {
@@ -75,7 +81,10 @@ export default {
       this.sidebarRouters.map(item => {
         if (item.path == this.$route.query.name) {
           this.routs.push(item);
-          console.log(this.routs)
+        }
+       // console.log(this.routs.length)
+        if (this.routs.length <= 0) {
+          window.open(`/pt`, "_self");
         }
       });
     }

+ 0 - 2
src/layout/components/TagsView/index.vue

@@ -45,7 +45,6 @@ export default {
   },
   computed: {
     visitedViews() {
-      console.log(this.$store.state.tagsView.visitedViews)
       return this.$store.state.tagsView.visitedViews
     },
     routes() {
@@ -71,7 +70,6 @@ export default {
   mounted() {
     this.initTags()
     this.addTags()
-     console.log()
   },
   methods: {
     isActive(route) {

+ 1 - 1
src/router/index.js

@@ -59,7 +59,7 @@ export const constantRoutes = [
         path: 'index',
         component: (resolve) => require(['@/views/index'], resolve),
         name: 'Index',
-        meta: { title: '首页', icon: 'dashboard', affix: true }
+        meta: { title: '主控台', icon: 'dashboard', affix: true }
       }
     ]
   },

+ 165 - 49
src/views/PrintsLog/printlog/index.vue

@@ -61,11 +61,7 @@
         </el-date-picker>
       </el-form-item>-->
       <el-form-item label="归还状态" prop="statusG">
-        <el-select
-          v-model="queryParams.statusG"
-          clearable
-          placeholder="请选择归还状态"
-        >
+        <el-select v-model="queryParams.statusG" clearable placeholder="请选择归还状态">
           <el-option
             v-for="dict in statusGlist"
             :key="dict.dictValue"
@@ -102,13 +98,13 @@
         />
       </el-form-item>-->
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+        <el-button type="primary" icon="el-icon-search" size="btr" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="btr" @click="resetQuery">重置</el-button>
       </el-form-item>
     </el-form>
 
     <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
+      <!-- <el-col :span="1.5">
         <el-button
           type="primary"
           plain
@@ -116,9 +112,10 @@
           size="mini"
           @click="handleAdd"
           v-hasPermi="['PrintsLog:printlog:add']"
-        >新增</el-button>
-      </el-col>
-      <el-col :span="1.5">
+          >新增</el-button
+        >
+      </el-col>-->
+      <!-- <el-col :span="1.5">
         <el-button
           type="success"
           plain
@@ -127,8 +124,10 @@
           :disabled="single"
           @click="handleUpdate"
           v-hasPermi="['PrintsLog:printlog:edit']"
-        >修改</el-button>
-      </el-col>
+          style="width:120px;"
+          >批量归还</el-button
+        >
+      </el-col>-->
       <el-col :span="1.5">
         <el-button
           type="danger"
@@ -140,7 +139,7 @@
           v-hasPermi="['PrintsLog:printlog:remove']"
         >删除</el-button>
       </el-col>
-      <el-col :span="1.5">
+      <!-- <el-col :span="1.5">
         <el-button
           type="warning"
           plain
@@ -150,41 +149,71 @@
           @click="handleExport"
           v-hasPermi="['PrintsLog:printlog:export']"
         >导出</el-button>
-      </el-col>
+      </el-col>-->
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
-    <el-table v-loading="loading" :data="printlogList" @selection-change="handleSelectionChange">
+    <el-table
+      v-loading="loading"
+      :header-cell-style="{ background: '#003C69', color: 'white' }"
+      :data="printlogList"
+      @selection-change="handleSelectionChange"
+    >
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="现文件路径" align="center" prop="id" />
-      <el-table-column label="打印id" align="center" prop="printId" />
+      <el-table-column label="序号" align="center" type="index" />
+      <!-- <el-table-column label="现文件路径" align="center" prop="id" />
+      <el-table-column label="打印id" align="center" prop="printId" />-->
       <el-table-column label="打印文件名称" align="center" prop="printName" />
       <el-table-column label="打印份数" align="center" prop="printNumber" />
-      <el-table-column label="是否需要归还(0否1是)" align="center" prop="isReturn" />
+      <!-- <el-table-column
+        label="是否需要归还(0否1是)"
+        align="center"
+        prop="isReturn"
+      />-->
+      <!-- <el-table-column label="是否需要归还" align="center" prop="isReturn">
+        <template slot-scope="scope">
+          <div v-if="scope.row.isReturn == 0">无需归还</div>
+          <div v-if="scope.row.isReturn == 1">归还</div>
+        </template>
+      </el-table-column>-->
+      <!-- <el-table-column label="归还状态" align="center" prop="statusG" /> -->
       <el-table-column label="文件打印人" align="center" prop="printfileName" />
       <el-table-column label="打印时间" align="center" prop="printTime" width="180">
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.printTime, '{y}-{m}-{d}') }}</span>
+          <span>{{ parseTime(scope.row.printTime, "{y}-{m}-{d}") }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="归还状态" align="center" prop="statusG">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.sys_statusG" :value="scope.row.statusG" />
+        </template>
+      </el-table-column>
+      <el-table-column label="归还份数" align="center" prop="returnNumber">
+        <template slot-scope="scope">
+          <span>{{ scope.row.returnNumber?scope.row.returnNumber:0 }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="归还时间" align="center" prop="returnTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.returnTime, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="归还状态(1 已归还  0未归还)" align="center" prop="statusG" />
-      <el-table-column label="归还份数" align="center" prop="returnNumber" />
-      <el-table-column label="打印编码信息" align="center" prop="printCode" />
+      <!-- <el-table-column label="打印编码信息" align="center" prop="printCode" />
       <el-table-column label="原文件路径" align="center" prop="primaryPath" />
-      <el-table-column label="现文件路径" align="center" prop="presentPath" />
+      <el-table-column label="现文件路径" align="center" prop="presentPath" />-->
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
-            size="mini"
+            size="btk"
             type="text"
-            icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['PrintsLog:printlog:edit']"
-          >修改</el-button>
+            v-if="scope.row.statusG==0"
+          >归还</el-button>
+          <!-- <el-button size="mini" type="text" v-if="scope.row.statusG==1||scope.row.statusG==2">已归还</el-button> -->
           <el-button
-            size="mini"
+            size="btd"
             type="text"
-            icon="el-icon-delete"
             @click="handleDelete(scope.row)"
             v-hasPermi="['PrintsLog:printlog:remove']"
           >删除</el-button>
@@ -193,7 +222,7 @@
     </el-table>
 
     <pagination
-      v-show="total>0"
+      v-show="total > 0"
       :total="total"
       :page.sync="queryParams.pageNum"
       :limit.sync="queryParams.pageSize"
@@ -201,24 +230,67 @@
     />
 
     <!-- 添加或修改集中文印记录对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="打印id" prop="printId">
+    <el-dialog :title="title" :visible.sync="open" width="1030px" append-to-body>
+      <el-form ref="form" :model="form" :inline="true" :rules="rules" label-width="120px">
+        <!-- <el-form-item label="打印id" prop="printId">
           <el-input v-model="form.printId" placeholder="请输入打印id" />
+        </el-form-item>-->
+        <div class="jiben">打印编码</div>
+        <el-form-item label="打印编码" prop="printCode">
+          <el-input v-model="form.printCode" placeholder="请输入打印编码" />
         </el-form-item>
+        <div class="jiben">基本信息</div>
+        <!-- <el-form-item label="单位名称" prop="unitName">
+          <el-input v-model="form.unitName" placeholder="请输入单位名称" />
+        </el-form-item>-->
         <el-form-item label="打印文件名称" prop="printName">
           <el-input v-model="form.printName" placeholder="请输入打印文件名称" />
         </el-form-item>
-        <el-form-item label="打印份数" prop="printNumber">
-          <el-input v-model="form.printNumber" placeholder="请输入打印份数" />
+        <!-- <el-form-item label="打印份数" prop="printNumber">
+          <el-input v-model="form.printNumber" type="Number" placeholder="请输入打印份数" />
         </el-form-item>
-        <el-form-item label="是否需要归还(0否1是)" prop="isReturn">
+        <el-form-item label="是否需要归还" prop="isReturn">
+          <el-radio-group v-model="form.isReturn" size="mini" style="width:200px;">
+            <el-radio label="1">归还</el-radio>
+            <el-radio label="0">无需归还</el-radio>
+          </el-radio-group>
+        </el-form-item>-->
+        <!-- <el-form-item label="归还状态" prop="statusG">
+          <el-select v-model="form.statusG" clearable placeholder="请选择归还状态">
+            <el-option
+              v-for="dict in statusGlist"
+              :key="dict.dictValue"
+              :label="dict.dictLabel"
+              :value="parseInt(dict.dictValue)"
+            ></el-option>
+          </el-select>
+        </el-form-item>-->
+        <!-- <el-form-item label="归还状态(1 已归还  0未归还)" prop="statusG">
+          <el-input v-model="form.statusG" placeholder="请输入归还状态(1 已归还  0未归还)" />
+        </el-form-item>-->
+        <!-- <el-form-item label="是否需要归还(0否1是)" prop="isReturn">
           <el-input v-model="form.isReturn" placeholder="请输入是否需要归还(0否1是)" />
+        </el-form-item>-->
+        <el-form-item label="归还份数" prop="returnNumber">
+          <el-input
+            v-model="form.returnNumber"
+            type="Number"
+            @blur="returnNumberblur"
+            placeholder="请输入打印份数"
+          />
         </el-form-item>
         <el-form-item label="文件打印人" prop="printfileName">
-          <el-input v-model="form.printfileName" placeholder="请输入文件打印人" />
+          <el-select v-model="form.printfileName" filterable clearable placeholder="请选择文件打印人">
+            <el-option v-for="item in rylist" :key="item.id" :label="item.name" :value="item.id"></el-option>
+          </el-select>
         </el-form-item>
-        <el-form-item label="打印时间" prop="printTime">
+        <!-- <el-form-item label="备注说明" prop="prize">
+          <el-input v-model="form.prize" type="textarea" placeholder />
+        </el-form-item>-->
+        <!-- <el-form-item label="文件打印人" prop="printfileName">
+          <el-input v-model="form.printfileName" placeholder="请输入文件打印人" />
+        </el-form-item>-->
+        <!-- <el-form-item label="打印时间" prop="printTime">
           <el-date-picker
             clearable
             size="small"
@@ -228,9 +300,6 @@
             placeholder="选择打印时间"
           ></el-date-picker>
         </el-form-item>
-        <el-form-item label="归还状态(1 已归还  0未归还)" prop="statusG">
-          <el-input v-model="form.statusG" placeholder="请输入归还状态(1 已归还  0未归还)" />
-        </el-form-item>
         <el-form-item label="归还份数" prop="returnNumber">
           <el-input v-model="form.returnNumber" placeholder="请输入归还份数" />
         </el-form-item>
@@ -239,7 +308,7 @@
         </el-form-item>
         <el-form-item label="现文件路径" prop="presentPath">
           <el-input v-model="form.presentPath" placeholder="请输入现文件路径" />
-        </el-form-item>
+        </el-form-item>-->
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -256,7 +325,8 @@ import {
   delPrintlog,
   addPrintlog,
   updatePrintlog,
-  exportPrintlog
+  exportPrintlog,
+  listPeople
 } from "@/api/PrintsLog/printlog";
 
 export default {
@@ -303,8 +373,14 @@ export default {
       // 表单参数
       form: {},
       // 表单校验
-      rules: {},
-      statusGlist: []
+      rules: {
+        returnNumber: [
+          { required: true, message: "归还份数不能为空", trigger: "blur" }
+        ]
+      },
+      statusGlist: [],
+      rylist: [],
+      returnNumber: null
     };
   },
   created() {
@@ -315,6 +391,14 @@ export default {
     });
   },
   methods: {
+    //获取人员
+    getrylist() {
+      listPeople().then(res => {
+        if (res.code == 200) {
+          this.rylist = res.rows;
+        }
+      });
+    },
     /** 查询集中文印记录列表 */
     getList() {
       this.loading = true;
@@ -343,7 +427,8 @@ export default {
         returnNumber: null,
         printCode: null,
         primaryPath: null,
-        presentPath: null
+        presentPath: null,
+        unitName: null
       };
       this.resetForm("form");
     },
@@ -368,21 +453,52 @@ export default {
       this.reset();
       this.open = true;
       this.title = "添加集中文印记录";
+      this.getrylist();
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
       const id = row.id || this.ids;
       getPrintlog(id).then(response => {
+        if (!response.data.returnNumber) {
+          this.returnNumber = 0;
+        } else {
+          this.returnNumber = response.data.returnNumber;
+        }
+
         this.form = response.data;
+        this.form.isReturn = this.form.isReturn + "";
         this.open = true;
+        // if(this.form.returnNumber==this.form.printNumber){
+        //      this.form.statusG = 1;
+        // }else{
+        //   this.form.statusG=this.form.statusG;
+        // }
+
+        this.form.returnNumber = response.data.printNumber;
         this.title = "修改集中文印记录";
       });
     },
+    returnNumberblur() {
+      if (
+        Number(this.form.returnNumber) + Number(this.returnNumber) >
+        Number(this.form.printNumber)
+      ) {
+        this.$modal.msgSuccess(
+          `应归还${Number(this.form.printNumber) - Number(this.returnNumber)}份`
+        );
+        this.form.returnNumber = null;
+      }
+    },
     /** 提交按钮 */
     submitForm() {
       this.$refs["form"].validate(valid => {
         if (valid) {
+          this.form.returnNumber =
+            Number(this.form.returnNumber) + Number(this.returnNumber);
+          if (this.form.returnNumber == this.form.printNumber) {
+            this.form.statusG = 1;
+          }
           if (this.form.id != null) {
             updatePrintlog(this.form).then(response => {
               this.$modal.msgSuccess("修改成功");
@@ -403,7 +519,7 @@ export default {
     handleDelete(row) {
       const ids = row.id || this.ids;
       this.$modal
-        .confirm('是否确认删除集中文印记录编号为"' + ids + '"的数据项?')
+        .confirm("是否删除该记录?")
         .then(function() {
           return delPrintlog(ids);
         })
@@ -481,8 +597,8 @@ export default {
   display: none;
 }
 ::v-deep .el-textarea__inner {
-  width: 980px;
-  height: 104px;
+  width: 200px;
+  height: 64px;
 }
 .jiben span {
   width: 25px;

+ 112 - 146
src/views/PrintsManage/manage/index.vue

@@ -133,16 +133,8 @@
         />
       </el-form-item>-->
       <el-form-item>
-        <el-button
-          type="primary"
-          icon="el-icon-search"
-          size="mini"
-          @click="handleQuery"
-          >搜索</el-button
-        >
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
-          >重置</el-button
-        >
+        <el-button type="primary" icon="el-icon-search" size="btr" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="btr" @click="resetQuery">重置</el-button>
       </el-form-item>
     </el-form>
 
@@ -155,10 +147,9 @@
           size="mini"
           @click="handleAdd"
           v-hasPermi="['PrintsManage:manage:add']"
-          >新增</el-button
-        >
+        >新增</el-button>
       </el-col>
-      <el-col :span="1.5">
+      <!-- <el-col :span="1.5">
         <el-button
           type="success"
           plain
@@ -167,9 +158,8 @@
           :disabled="single"
           @click="handleUpdate"
           v-hasPermi="['PrintsManage:manage:edit']"
-          >修改</el-button
-        >
-      </el-col>
+        >修改</el-button>
+      </el-col>-->
       <el-col :span="1.5">
         <el-button
           type="danger"
@@ -179,10 +169,9 @@
           :disabled="multiple"
           @click="handleDelete"
           v-hasPermi="['PrintsManage:manage:remove']"
-          >删除</el-button
-        >
+        >删除</el-button>
       </el-col>
-      <el-col :span="1.5">
+      <!-- <el-col :span="1.5">
         <el-button
           type="warning"
           plain
@@ -191,13 +180,9 @@
           :loading="exportLoading"
           @click="handleExport"
           v-hasPermi="['PrintsManage:manage:export']"
-          >导出</el-button
-        >
-      </el-col>
-      <right-toolbar
-        :showSearch.sync="showSearch"
-        @queryTable="getList"
-      ></right-toolbar>
+        >导出</el-button>
+      </el-col>-->
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
     <el-table
@@ -222,12 +207,7 @@
       </el-table-column>
       <!-- <el-table-column label="发送人ID" align="center" prop="sendId" /> -->
       <el-table-column label="发送人" align="center" prop="sendName" />
-      <el-table-column
-        label="创建时间"
-        align="center"
-        prop="creattime"
-        width="180"
-      >
+      <el-table-column label="创建时间" align="center" prop="creattime" width="180">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.creattime, "{y}-{m}-{d}") }}</span>
         </template>
@@ -243,35 +223,25 @@
       <el-table-column label="接收人" align="center" prop="receiveName" />
       <el-table-column label="生成路径" align="center" prop="sFile" />
       <el-table-column label="打印回复信息" align="center" prop="printInfo" />-->
-      <el-table-column
-        label="操作"
-        align="center"
-        class-name="small-padding fixed-width"
-      >
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
-            size="mini"
+            size="btk"
             type="text"
-            icon="el-icon-printer"
             @click="handlePrint(scope.row)"
-            >打印</el-button
-          >
+          >打印</el-button>
           <el-button
-            size="mini"
+            size="btu"
             type="text"
-            icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
             v-hasPermi="['PrintsManage:manage:edit']"
-            >修改</el-button
-          >
+          >修改</el-button>
           <el-button
-            size="mini"
+            size="btd"
             type="text"
-            icon="el-icon-delete"
             @click="handleDelete(scope.row)"
             v-hasPermi="['PrintsManage:manage:remove']"
-            >删除</el-button
-          >
+          >删除</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -285,24 +255,34 @@
     />
 
     <!-- 添加或修改集中文印主对话框 -->
-    <el-dialog
-      :title="title"
-      :visible.sync="open"
-      width="1030px"
-      append-to-body
-    >
-      <el-form
-        ref="form"
-        :model="form"
-        :inline="true"
-        :rules="rules"
-        label-width="120px"
-      >
+    <el-dialog :title="title" :visible.sync="open" width="1030px" append-to-body>
+      <el-form ref="form" :model="form" :inline="true" :rules="rules" label-width="120px">
         <div class="jiben">发送人信息</div>
         <el-form-item label="发送人" prop="sendName">
           <el-input v-model="form.sendName" placeholder="请输入发送人" />
         </el-form-item>
         <div class="jiben">文件信息</div>
+        <el-form-item label="上传文件">
+          <!-- <fileUpload v-model="form.file" /> -->
+          <el-upload
+            :action="uploadFileUrl"
+            :before-upload="handleBeforeUpload"
+            :file-list="fileList"
+            :limit="limit"
+            :on-error="handleUploadError"
+            :on-exceed="handleExceed"
+            :on-success="handleUploadSuccess"
+            :show-file-list="false"
+            :headers="headers"
+            class="upload-file-uploader"
+            ref="upload"
+            style="width:200px;"
+            name="pfile"
+          >
+            <!-- 上传按钮 -->
+            <el-button size="mini" type="primary" class="select_file">选取文件</el-button>
+          </el-upload>
+        </el-form-item>
         <el-form-item label="文件名称" prop="name">
           <el-input v-model="form.name" placeholder="请输入文件名称" />
         </el-form-item>
@@ -332,48 +312,6 @@
             ></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="上传文件">
-          <!-- <fileUpload v-model="form.file" /> -->
-          <el-upload
-            :action="uploadFileUrl"
-            :before-upload="handleBeforeUpload"
-            :file-list="fileList"
-            :limit="limit"
-            :on-error="handleUploadError"
-            :on-exceed="handleExceed"
-            :on-success="handleUploadSuccess"
-            :show-file-list="false"
-            :headers="headers"
-            class="upload-file-uploader"
-            ref="upload"
-            name="pfile"
-          >
-            <!-- 上传按钮 -->
-            <el-button size="mini" type="primary" class="select_file"
-              >选取文件</el-button
-            >
-            <!-- 上传提示 -->
-            <!-- <div class="el-upload__tip" slot="tip" v-if="showTip">
-              请上传
-              <template v-if="fileSize">
-                大小不超过
-                <b style="color: #13CE66 ">{{ fileSize }}MB</b>
-              </template>
-              <template v-if="fileType">
-                格式为
-                <b style="color: #13CE66">{{ fileType.join("/") }}</b>
-              </template>
-              的文件
-            </div>-->
-          </el-upload>
-          <!-- <input
-            multiple="multiple"
-            type="file"
-            id="sys_upload_file"
-            ref="sysUploadFile"
-            @change="uploadFileFn($event)"
-          />-->
-        </el-form-item>
         <!-- <el-form-item label="发送人ID" prop="sendId">
           <el-input v-model="form.sendId" placeholder="请输入发送人ID" />
         </el-form-item>-->
@@ -393,6 +331,7 @@
             v-model="form.explainInfo"
             type="textarea"
             placeholder="请输入打印说明"
+            class="textarea-explainInfo"
           />
         </el-form-item>
         <!-- <el-form-item label="打印状态(1 打印中  2 已打印)">
@@ -422,51 +361,41 @@
       :title="title"
       :visible.sync="dyopen"
       append-to-body
-      style="width:800px;margin-left:600px;padding-top:100px;"
+      width="700px"
+      style="padding-top:100px;"
     >
-      <el-form
-        ref="dyform"
-        :model="dyform"
-        :inline="true"
-        :rules="rules"
-        label-width="120px"
-      >
-        <!-- <div class="jiben">打印信息</div> -->
-        <el-form-item label="打印内容" prop="printName">
-          <el-input v-model="dyform.printName" placeholder="请输入打印内容" />
+      <el-form ref="dyform" :model="dyform" :inline="true" :rules="rules" label-width="120px">
+        <div class="jiben jiben2">打印信息</div>
+        <el-form-item label="打印文件" prop="printName">
+          <el-input v-model="dyform.printName" placeholder="请输入打印文件" />
         </el-form-item>
         <el-form-item label="打印份数" prop="printNumber">
-          <el-input
-            v-model="dyform.printNumber"
-            type="Number"
-            placeholder="请输入打印份数"
-          />
+          <el-input v-model="dyform.printNumber" type="Number" placeholder="请输入打印份数" />
         </el-form-item>
         <el-form-item label="是否需要归还" prop="isReturn">
-          <el-radio-group v-model="dyform.isReturn" size="mini">
+          <el-radio-group v-model="dyform.isReturn" size="mini" style="width:200px;">
             <el-radio label="1">归还</el-radio>
             <el-radio label="0">无需归还</el-radio>
           </el-radio-group>
         </el-form-item>
         <!-- <div class="jiben">打印人信息</div> -->
         <el-form-item label="打印人" prop="printfileName">
-          <el-select
-            v-model="dyform.printfileName"
-            filterable
-            clearable
-            placeholder="请选择打印人"
-          >
-            <el-option
-              v-for="item in rylist"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id"
-            ></el-option>
+          <el-select v-model="dyform.printfileName" filterable clearable placeholder="请选择打印人">
+            <el-option v-for="item in rylist" :key="item.id" :label="item.name" :value="item.id"></el-option>
           </el-select>
         </el-form-item>
+        <div class="jiben jiben2">打印说明</div>
+        <el-form-item label prop="explainInfo">
+          <el-input
+            v-model="dyform.explainInfo"
+            type="textarea"
+            placeholder="请输入打印说明"
+            class="dyform-textarea"
+          />
+        </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="dysubmitForm">确 定</el-button>
+        <el-button type="primary" @click="dysubmitForm">打 印</el-button>
         <el-button @click="dycancel">取 消</el-button>
       </div>
     </el-dialog>
@@ -482,7 +411,8 @@ import {
   updateManage,
   exportManage,
   printFile,
-  listPeople
+  listPeople,
+  printCode
 } from "@/api/PrintsManage/manage";
 import { getToken } from "@/utils/auth";
 import Cookies from "js-cookie";
@@ -513,8 +443,6 @@ export default {
       type: Boolean,
       default: true
     },
-    // 文件名称
-    names: ""
   },
   data() {
     return {
@@ -576,7 +504,7 @@ export default {
       },
       fileList: [],
       faith: null,
-      rylist: []
+      rylist: [],
     };
   },
   created() {
@@ -601,7 +529,7 @@ export default {
       this.open = false;
       this.reset();
     },
-    dycancel(){
+    dycancel() {
       this.dyopen = false;
       this.dyreset();
     },
@@ -636,7 +564,11 @@ export default {
         printName: null,
         printNumber: null,
         isReturn: null,
-        printfileName: null
+        printfileName: null,
+        explainInfo: null,
+        file: null,
+        printId: null,
+        statusG: null
       };
       this.resetForm("dyform");
     },
@@ -697,7 +629,7 @@ export default {
     handleDelete(row) {
       const ids = row.id || this.ids;
       this.$modal
-        .confirm('是否确认删除集中文印主编号为"' + ids + '"的数据项?')
+        .confirm("是否确认删除该数据项?")
         .then(function() {
           return delManage(ids);
         })
@@ -780,10 +712,16 @@ export default {
       this.form.file = res.url;
     },
     //打印
-    handlePrint() {
+    handlePrint(row) {
       this.dyreset();
       this.dyopen = true;
       this.title = "打印";
+      this.dyform.printName = row.name;
+      this.dyform.explainInfo = row.explainInfo;
+      this.dyform.printId = row.id;
+      this.dyform.file = row.file;
+      this.dyform.statusG = 0;
+      this.dyform.printfileName = row.sendName;
       this.getrylist();
     },
     //获取人员
@@ -795,9 +733,22 @@ export default {
       });
     },
     //打印提交
-    dysubmitForm(){
-       var open=window.open();
-       open.location.href="http://192.168.5.188:8080/profile/print/2022/03/19/31715ba3-47cb-43bd-b9b3-852e0909dbc7.doc";
+    dysubmitForm() {
+      if (this.dyform.isReturn == 0) {
+        this.dyform.statusG = 1;
+      } else {
+        this.dyform.statusG = 0;
+      }
+      printCode(this.dyform).then(res => {
+        if (res.code == 200) {
+          this.dyopen=false;
+          // var open=window.open();
+          location.href =
+            "http://192.168.5.188:8080/profile/print/" + res.printFileName;
+        }
+      });
+      // open.location.href="http://192.168.5.188:8080/priofile/print/202203211244.docx";
+      // window.open( `https://view.officeapps.live.com/op/view.aspx?src=http://192.168.5.188:8080/profile/print/202203211428.docx`, "_blank");
     }
   }
 };
@@ -851,10 +802,19 @@ export default {
 ::v-deep .el-upload__tip {
   display: none;
 }
-::v-deep .el-textarea__inner {
+::v-deep .textarea-explainInfo .el-textarea__inner {
   width: 980px;
   height: 104px;
 }
+::v-deep .dyform-textarea .el-textarea__inner {
+  width: 650px;
+  height: 64px;
+}
+
+.jiben2 {
+  width: 650px;
+}
+
 .jiben span {
   width: 25px;
   height: 25px;
@@ -960,4 +920,10 @@ export default {
   color: #00365f !important;
   /* background-color: #003156 !important; */
 }
+::v-deep .el-radio-group .el-radio{
+  color: #fff;
+}
+::v-deep .el-radio:last-child{
+  margin-left: 35px;
+}
 </style>

+ 23 - 21
src/views/bdglregular/regularcountinfo/index.vue

@@ -144,7 +144,7 @@ export default {
               trigger: "item",
               formatter: "{a} <br/>{b} : {c} ({d}%)"
             },
-            color: ['#fac858', '#5470c6', '#ee6666','#91cc75'],
+            color: ["#fac858", "#5470c6", "#ee6666", "#91cc75"],
             legend: {
               orient: "vertical",
               right: "0",
@@ -220,15 +220,15 @@ export default {
                 // left: "",
                 y: "bottom",
                 x: "center",
-                padding:0,
+                padding: 0,
                 textStyle: {
-                  color:'#ffff',
+                  color: "#ffff",
                   // fontSize: 12,
                   fontStyle: "normal",
                   fontWeight: "normal"
                 }
               },
-              color: ['#fac858', '#5470c6', '#ee6666','#91cc75'],
+              color: ["#fac858", "#5470c6", "#ee6666", "#91cc75"],
               tooltip: {
                 trigger: "item",
                 formatter: "{a} <br/>{b} : {c} ({d}%)"
@@ -248,7 +248,7 @@ export default {
                   name: this.peopleList3[i].name,
                   type: "pie",
                   radius: "60%",
-                  center: ['50%', '50%'],
+                  center: ["50%", "50%"],
                   label: {
                     normal: {
                       show: true,
@@ -306,33 +306,34 @@ export default {
   overflow: hidden;
   background-color: #103360;
   margin: 0;
-  padding:0;
+  padding: 0;
+  display: flex;
+  flex-direction: column;
 }
 .head {
   width: 100%;
-  height: 43.5vh;
+  /* height: 43.5vh; */
+  flex: 1;
   display: flex;
   flex-direction: row;
+  margin-top: 10px;
+  margin-bottom: 10px;
 }
 .head-left {
   flex: 4;
-  height: 98%;
+  height: 44vh;
   background-image: url("../../../assets/images/small_bg_1.png");
   background-repeat: no-repeat;
   background-size: 100% 100%;
-  margin-top: 10px;
-  margin-bottom: 10px;
   margin-left: 10px;
+  margin-right: 10px;
 }
 .head-right {
   flex: 6;
-  height: 98%;
+  height: 44vh;
   background-image: url("../../../assets/images/small_bg_1.png");
   background-repeat: no-repeat;
   background-size: 100% 100%;
-  margin-top: 10px;
-  margin-bottom: 10px;
-  margin-left: 10px;
   margin-right: 10px;
 }
 
@@ -341,16 +342,15 @@ export default {
   height: 30px;
   font-size: 18px;
   color: #fff;
-  background-image: url("../../../assets/images/组 21.png");
+  background-image: url("../../../assets/images/dtitle.png");
   background-repeat: no-repeat;
   margin-top: 9px;
   line-height: 30px;
   position: relative;
-  margin-left: 5px;
 }
 .head-left-title span {
   position: absolute;
-  left:33px;
+  left: 80px;
 }
 
 ::v-deep .el-table__empty-block {
@@ -358,25 +358,27 @@ export default {
 }
 .foot {
   width: 100%;
-  height: 45vh;
+  /* height: 45vh; */
+  flex: 1;
   display: flex;
   flex-direction: row;
+  margin-bottom: 10px;
 }
 .foot-left {
   flex: 4;
-  height: 98%;
+  height: 43.5vh;
   background-image: url("../../../assets/images/small_bg_1.png");
   background-repeat: no-repeat;
   background-size: 100% 100%;
   margin-left: 10px;
+  margin-right: 10px;
 }
 .foot-right {
   flex: 6;
-  height: 98%;
+  height: 43.5vh;
   background-image: url("../../../assets/images/small_bg_1.png");
   background-repeat: no-repeat;
   background-size: 100% 100%;
-  margin-left: 10px;
   margin-right: 10px;
 }
 .foot-right-main {

+ 23 - 2
src/views/bdglregular/regularinfo/index.vue

@@ -374,7 +374,7 @@
           </el-select>
         </el-form-item>-->
         <el-form-item label="类型" prop="inspectionType">
-          <el-select v-model="form.inspectionType" :disabled="disabled" clearable placeholder="请选择受检单位">
+          <el-select v-model="form.inspectionType" :disabled="disabled" clearable placeholder="请选择类型">
             <el-option
               v-for="dict in inspectionType"
               :key="dict.dictValue"
@@ -401,7 +401,12 @@
           <el-input v-model="form.inspectionSite" :disabled="disabled" placeholder="请输入检查地点" />
         </el-form-item>
         <el-form-item label="分值" prop="score" v-if="jiannum==0">
-          <el-input v-model="form.score" type="number" :disabled="disabled" placeholder="请输入分值" />
+          <!-- <el-input v-model="form.score" type="number" @blur="scoreblur" :disabled="disabled" placeholder="请输入分值" /> -->
+          <el-input-number
+              v-model="form.score"
+              controls-position="right"
+              :min="0"
+            ></el-input-number>
         </el-form-item>
         <el-form-item label="整改时间" prop="rectificationTime" v-if="queryParams.caoZuoType==0">
           <el-date-picker
@@ -808,6 +813,11 @@ export default {
     },
     caoZuoTypefun() {
       this.getList();
+    },
+    scoreblur(){
+       if(this.form.score<0){
+          this.form.score=null;
+       }
     }
   }
 };
@@ -887,4 +897,15 @@ export default {
 ::v-deep .radiogroup .el-radio-button {
   height: 36px;
 }
+::v-deep .el-input-number__increase {
+  background-color: transparent !important;
+  border: none;
+  color: #cccccc;
+  border-bottom: none !important;
+}
+::v-deep .el-input-number__decrease {
+  background-color: transparent !important;
+  border: none !important;
+  color: #cccccc;
+}
 </style>

+ 18 - 16
src/views/bdglregular/specialcountinfo/index.vue

@@ -321,33 +321,34 @@ export default {
   background-color: #103360;
   margin: 0;
   padding: 0;
+  display: flex;
+  flex-direction: column;
 }
 .head {
   width: 100%;
-  height: 43.5vh;
+  /* height: 43.5vh; */
+  flex:1;
   display: flex;
   flex-direction: row;
+  margin-top:10px;
+  margin-bottom: 10px;
 }
 .head-left {
   flex: 4;
-  height: 98%;
+  height: 44vh;
   background-image: url("../../../assets/images/small_bg_1.png");
   background-repeat: no-repeat;
   background-size: 100% 100%;
-  margin-top: 10px;
-  margin-bottom: 10px;
-  margin-left: 10px;
+  margin-left:10px;
+  margin-right:10px;
 }
 .head-right {
   flex: 6;
-  height: 98%;
+  height: 44vh;
   background-image: url("../../../assets/images/small_bg_1.png");
   background-repeat: no-repeat;
   background-size: 100% 100%;
-  margin-top: 10px;
-  margin-bottom: 10px;
-  margin-left: 10px;
-  margin-right: 10px;
+  margin-right:10px;
 }
 
 .head-left-title {
@@ -371,27 +372,28 @@ export default {
 }
 .foot {
   width: 100%;
-  height: 45vh;
+  /* height: 45vh; */
+  flex:1;
   display: flex;
   flex-direction: row;
-  margin-top: 15px;
+   margin-bottom: 10px;
 }
 .foot-left {
   flex: 4;
-  height: 98%;
+  height: 43.5vh;
   background-image: url("../../../assets/images/small_bg_1.png");
   background-repeat: no-repeat;
   background-size: 100% 100%;
   margin-left: 10px;
+  margin-right:10px;
 }
 .foot-right {
   flex: 6;
-  height: 98%;
+  height: 43.5vh;
   background-image: url("../../../assets/images/small_bg_1.png");
   background-repeat: no-repeat;
   background-size: 100% 100%;
-  margin-left: 10px;
-  margin-right: 10px;
+  margin-right:10px;
 }
 .foot-right-main {
   width: 100%;

+ 23 - 1
src/views/bdglregular/specialinfo/index.vue

@@ -331,7 +331,13 @@
           ></el-date-picker>
         </el-form-item>
         <el-form-item label="分值" prop="score" v-if="jiannum==0">
-          <el-input v-model="form.score" :disabled="disabled" type="number" placeholder="请输入分值" />
+          <!-- <el-input v-model="form.score" @blur="scoreblur" :disabled="disabled" type="number" placeholder="请输入分值" /> -->
+          <el-input-number
+              v-model="form.score"
+              controls-position="right"
+              :min="0"
+              :disabled="disabled"
+            ></el-input-number>
         </el-form-item>
         <!-- <el-form-item label="积分" prop="score">
           <el-input v-model="form.score" placeholder="请输入积分" />
@@ -695,6 +701,11 @@ export default {
     },
     caoZuoTypefun() {
       this.getList();
+    },
+    scoreblur(){
+       if(this.form.score<0){
+          this.form.score=null;
+       }
     }
   }
 };
@@ -768,4 +779,15 @@ export default {
   height: 210px;
   width: 170px;
 }
+::v-deep .el-input-number__increase {
+  background-color: transparent !important;
+  border: none;
+  color: #cccccc;
+  border-bottom: none !important;
+}
+::v-deep .el-input-number__decrease {
+  background-color: transparent !important;
+  border: none !important;
+  color: #cccccc;
+}
 </style>

+ 28 - 20
src/views/combatduty/basedutyinfo/index.vue

@@ -294,8 +294,8 @@
       <!-- <el-table-column label="值班分队1" align="center" prop="detachmentoneName" /> -->
       <el-table-column label="值班分队1" align="center" prop="detachmentoneId" :formatter="detachmentoneIdFormat" />
       <!-- <el-table-column label="值班分队1人数" align="center" prop="detachmentoneNumber" /> -->
-      <!-- <el-table-column label="值班分队1指挥员" align="center" prop="detachmentonePeopleName" /> -->
-      <el-table-column label="值班分队1指挥员" align="center" prop="detachmentonePeopleId" :formatter="detachmentonePeopleIdFormat" />
+      <el-table-column label="值班分队1指挥员" align="center" prop="detachmentonePeopleName" />
+      <!-- <el-table-column label="值班分队1指挥员" align="center" prop="detachmentonePeopleId" :formatter="detachmentonePeopleIdFormat" /> -->
       <!-- <el-table-column label="值班分队1指挥员电话" align="center" prop="detachmentonePeoplePhone" />  -->
       <!-- <el-table-column label="值班分队2" align="center" prop="detachmentwoName" /> -->
       <el-table-column label="值班分队2" align="center" prop="detachmentwoId" :formatter="detachmentwoIdFormat" />
@@ -408,14 +408,15 @@
             placeholder="请输入值班分队1人数"
           />-->
         </el-form-item>
-        <el-form-item label="值班分队1指挥员" prop="detachmentonePeopleId">
+        <el-form-item label="值班分队1指挥员" prop="detachmentonePeopleName">
           <el-select
-            v-model="form.detachmentonePeopleId"
+            v-model="form.detachmentonePeopleName"
             filterable
             clearable
             placeholder="请选择作战值班员"
+            @change="detachmentonePeopleNamefun"
           >
-            <el-option v-for="item in rylist" :key="item.id" :label="item.name" :value="item.id"></el-option>
+            <el-option v-for="item in rylist" :key="item.id" :label="item.name" :value="item"></el-option>
           </el-select>
         </el-form-item>
         <!-- <el-form-item label="值班分队1指挥员ID" prop="detachmentonePeopleId">
@@ -445,14 +446,15 @@
             placeholder="请输入值班分队2人数"
           />-->
         </el-form-item>
-        <el-form-item label="值班分队2指挥员" prop="detachmentwoPeopleId">
+        <el-form-item label="值班分队2指挥员" prop="detachmentwoPeopleName">
           <el-select
-            v-model="form.detachmentwoPeopleId"
+            v-model="form.detachmentwoPeopleName"
             filterable
             clearable
             placeholder="请选择作战值班员"
+            @change="detachmentwoPeopleNamefun"
           >
-            <el-option v-for="item in rylist" :key="item.id" :label="item.name" :value="item.id"></el-option>
+            <el-option v-for="item in rylist" :key="item.id" :label="item.name" :value="item"></el-option>
           </el-select>
         </el-form-item>
         <!-- <el-form-item label="值班分队2指挥员ID" prop="detachmentwoPeopleId">
@@ -786,19 +788,25 @@ export default {
         this.form.combatDutyId=val.id;
         this.form.combatDutyName=val.name;
         this.form.combatDutyPhone=val.phone;
+    },
+    //总值班员
+    dutyOffierNamefun(val){
+        this.form.dutyOffierId=val.id;
+        this.form.dutyOffierName=val.name;
+        this.form.dutyOffierPhone=val.phone;
+    },
+    //值班分队1指挥员
+    detachmentonePeopleNamefun(val){
+        this.form.detachmentonePeopleId=val.id;
+        this.form.detachmentonePeopleName=val.name;
+        this.form.detachmentonePeoplePhone=val.phone;
+    },
+    //值班分队2指挥员
+    detachmentwoPeopleNamefun(val){
+        this.form.detachmentwoPeopleId=val.id;
+        this.form.detachmentwoPeopleName=val.name;
+        this.form.detachmentwoPeoplePhone=val.phone;
     }
-    //首长电话
-    // dutyOffierNamefun(val){
-    //     this.form.dutyOffierId=val.id;
-    //     this.form.dutyOffierName=val.name;
-    //     this.form.dutyOffierPhone=val.phone;
-    // }
-    //首长电话
-    // detachmentonePeopleNamefun(val){
-    //     this.form.chiefDutyId=val.id;
-    //     this.form.chiefDutyName=val.name;
-    //     this.form.chiefDutyPhone=val.phone;
-    // }
   }
 };
 </script>

+ 1 - 0
src/views/login.vue

@@ -223,6 +223,7 @@ export default {
     height: 39px;
     width: 14px;
     margin-left: 2px;
+    margin-top:4px;
   }
 }
 .login-tip {

+ 21 - 1
src/views/peopleManage/people/index.vue

@@ -1824,7 +1824,21 @@ export default {
   color: #fff;
 }
 ::v-deep .el-tree-node__content:hover {
-  color: #1c86e1;
+  color: #fff;
+  background-color: #002B4B;
+  background-image: url('../../../assets/images/选中.png');
+  background-size: 100% 100%;
+  background-repeat: no-repeat;
+}
+::v-deep .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content{
+  color: #fff !important;
+  background-color: #002B4B;
+  background-image: url('../../../assets/images/选中.png');
+  background-size: 100% 100%;
+  background-repeat: no-repeat;
+}
+::v-deep .el-tree-node__label{
+  color: #fff !important;
 }
 ::v-deep .el-upload-list--picture-card .el-upload-list__item {
   height: 210px;
@@ -1902,4 +1916,10 @@ export default {
     color: #00365f !important; 
     /* background-color: #003156 !important; */
   }
+  ::v-deep .tree .el-tree{
+    height: 81vh;
+  }
+  ::v-deep .el-tree-node__content{
+      height: 32px;
+  }
 </style>

+ 158 - 5
src/views/pt.vue

@@ -5,6 +5,8 @@
       <!-- 头部区域 -->
       <div class="tou">
         <span style="color:#00ccff;font-size:1.2vw;">{{times}}</span>
+        <img class="liuxian" src="../assets/images/流线.gif" alt />
+        <img class="img-left" src="../assets/images/闪烁GIF-慢.gif" alt />
       </div>
       <!-- 主体区域 -->
       <div class="centen">
@@ -256,20 +258,45 @@
         </div>
       </div>
     </div>
+    <div class="tkbox" v-if="open">
+      <div class="tkbox-title">
+        <div class="tkbox-title-left">
+          <img src="../assets/images/八一.png" alt />
+          <span>重要消息</span>
+        </div>
+        <div class="tkbox-title-right">
+          <img src="../assets/images/关闭.png" alt @click="showfun" />
+        </div>
+      </div>
+      <div class="tkbox-main">
+        <p>
+          <img src="../assets/images/警示.png" alt />
+          <span>您有一条打印文件需要处理,请尽快处理</span>
+        </p>
+      </div>
+      <div class="tkbox-footer">
+        <el-button type="primary" @click="quchulifun">去处理</el-button>
+      </div>
+    </div>
   </div>
 </template>
 
 <script>
+import { printTrigger, printTriggerClear } from "@/api/PrintsManage/manage";
 export default {
   data() {
     return {
       times: null,
-      timer: null
+      timer: null,
+      open: false,
+      timer2: null
     };
   },
   created() {
-    this.timer=null;
+    this.timer = null;
     this.startTime();
+    this.timer2 = null;
+    this.startTime2();
   },
   methods: {
     startTime() {
@@ -361,14 +388,42 @@ export default {
         .push({ path: "/index", query: { name: "/print" } })
         .catch(() => {});
     },
-    taishifun() { 
+    taishifun() {
       this.$router.push({ path: "/taishi" }).catch(() => {});
       // window.open(`/taishi`,'_self');
+    },
+    showfun() {
+      printTriggerClear().then(res => {
+        // console.log(res)
+      });
+      this.open = false;
+    },
+    quchulifun() {
+      printTriggerClear().then(res => {
+        if (res.code == 200) {
+          window.open(`/print/manage`, "_self");
+        }
+      });
+    },
+    startTime2() {
+      this.timer = setInterval(() => {
+        printTrigger().then(res => {
+          if (res.code == 200) {
+            if (res.numb != 0) {
+              this.open = true;
+            } else {
+              this.open = false;
+            }
+          }
+        });
+      }, 10000); /* 每500毫秒执行一次,实现动态显示时间效果 */
     }
   },
   destroyed() {
     clearInterval(this.timer); // 清除定时器
     this.timer = null;
+    clearInterval(this.timer2); // 清除定时器
+    this.timer2 = null;
   }
 };
 </script>
@@ -392,12 +447,13 @@ li {
   overflow: auto;
   background: url("../images/背景1.png") no-repeat center;
   background-size: 100% 100%;
+  position: relative;
 }
 .tou {
   color: #fff;
   position: relative;
   height: 120px;
-  background: url("../images/顶部.png") no-repeat center;
+  background: url("../assets/images/-s-顶部.png") no-repeat center;
   background-size: cover;
 }
 .tou span {
@@ -405,6 +461,10 @@ li {
   right: 100px;
   top: 32px;
 }
+.liuxian {
+  position: absolute;
+  top: -7px;
+}
 .in1 {
   padding: 0 84px;
 }
@@ -423,7 +483,7 @@ li {
 .ul {
   display: flex;
   margin-bottom: 7vh;
-  height: 13vh;
+  height: 16%;
 }
 .ul li {
   margin: 0 48px;
@@ -433,6 +493,12 @@ li {
   padding: 0 0 0 80px;
   flex: 1;
 }
+
+.img-left {
+  position: absolute;
+  top: -8px;
+}
+
 hr {
   height: 2px;
   background-color: #06668a;
@@ -487,4 +553,91 @@ hr {
 #a3 img {
   margin-top: 43px;
 }
+</style>
+<style lang="scss" scoped>
+.tkbox {
+  width: 500px;
+  height: 220px;
+  background-image: url("../assets/images/框.png");
+  background-size: 100% 100%;
+  background-repeat: no-repeat;
+  position: absolute;
+  left: 30%;
+  top: 30%;
+}
+
+.tkbox-title {
+  width: 100%;
+  height: 90px;
+  display: flex;
+  flex-direction: row;
+}
+
+.tkbox-title-left {
+  flex: 1;
+  display: flex;
+  align-items: center;
+}
+
+.tkbox-title-left img {
+  margin-right: 10px;
+  width: 30px;
+  height: 30px;
+  margin-left: 35px;
+  display: inline-block;
+}
+
+.tkbox-title-left span {
+  color: #fff;
+}
+
+.tkbox-title-right {
+  flex: 1;
+  display: flex;
+  justify-content: right;
+  align-items: center;
+  margin-right: 35px;
+}
+
+.tkbox-main {
+  width: 100%;
+  height: 60px;
+}
+
+.tkbox-main p {
+  width: 90%;
+  height: auto;
+  margin: 0 auto;
+  color: #fff;
+  font-size: 14px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
+.tkbox-main p span {
+  margin-left: 10px;
+}
+
+.tkbox-footer {
+  width: 100%;
+  height: 30px;
+  margin-bottom: 30px;
+  text-align: center;
+}
+
+.fixed-header + .app-main {
+  padding-top: 50px;
+}
+
+.hasTagsView {
+  .app-main {
+    /* 84 = navbar + tags-view = 50 + 34 */
+    min-height: calc(100vh - 84px);
+  }
+
+  .fixed-header + .app-main {
+    padding-top: 84px;
+  }
+}
 </style>

+ 213 - 133
src/views/taishi/index.vue

@@ -4,6 +4,9 @@
       <div class="title-left" @click="titlefun">
         <span>主控台</span>
       </div>
+      <div class="title-right">
+        <span>{{times}}</span>
+      </div>
     </div>
     <div class="main">
       <div class="left">
@@ -44,76 +47,80 @@
               <span>军事训练月统计情况</span>
             </div>
             <div class="left2-2-main">
-              <div class="center4_l" style="margin-left:13px;">
-                <div style="background-color: #1d79b5;width: 5px;height: 9px;"></div>
-                <span style="line-height:15px">参训时</span>间
-              </div>
-              <div class="center4_l" style="margin-left:3px;">
-                <div style="background-color: #1d79b5;width: 5px;height: 9px;"></div>兵力
-              </div>
-              <div class="center4_l" style="margin-left:20px;">
-                <div style="background-color: #1d79b5;width: 5px;height: 9px;"></div>成绩
+              <div class="left2-2-main-title">
+                <div class="center4_l-1" style="margin-left:2%;">
+                  <div style="background-color: #1d79b5;width: 5px;height: 9px;"></div>
+                  <span style="line-height:15px">参训时</span>间
+                </div>
+                <div class="center4_l-1">
+                  <div style="background-color: #1d79b5;width: 5px;height: 9px;"></div>兵力
+                </div>
+                <div class="center4_l-1" style="margin-right:2%;">
+                  <div style="background-color: #1d79b5;width: 5px;height: 9px;"></div>成绩
+                </div>
               </div>
-              <table class="time">
-                <tr style="font-size:12px;color: #30fdff;font-weight: bold;">
-                  <td>训练类别</td>
-                  <td style="width: 84px;">人均参训时间</td>
-                </tr>
-                <tr>
-                  <td>合成训练</td>
-                  <td>30小时</td>
-                </tr>
-                <tr>
-                  <td>分业训练</td>
-                  <td>50小时</td>
-                </tr>
-                <tr>
-                  <td>共同训练</td>
-                  <td>45小时</td>
-                </tr>
-              </table>
+              <div class="left2-2-main-main">
+                <table class="time">
+                  <tr style="font-size:12px;color: #30fdff;font-weight: bold;">
+                    <td>训练类别</td>
+                    <td>人均参训时间</td>
+                  </tr>
+                  <tr>
+                    <td>合成训练</td>
+                    <td>30小时</td>
+                  </tr>
+                  <tr>
+                    <td>分业训练</td>
+                    <td>50小时</td>
+                  </tr>
+                  <tr>
+                    <td>共同训练</td>
+                    <td>45小时</td>
+                  </tr>
+                </table>
 
-              <table class="people">
-                <tr>
-                  <td>实有人数</td>
-                  <td style="	font-family: 'IMPACT';color: #30fdff;font-size: 20px;">547</td>
-                </tr>
-                <tr>
-                  <td>参训人数</td>
-                  <td style="	font-family: 'IMPACT';color: #30fdff;font-size: 20px;">492</td>
-                </tr>
-                <tr>
-                  <td>
-                    <p
-                      style="font-size: 9px;color: white;text-align: center;transform: scale(0.9);"
-                    >未参训人数</p>
-                  </td>
-                  <td style="	font-family: 'IMPACT';color: #30fdff;font-size: 20px;">115</td>
-                </tr>
-                <tr>
-                  <td>参训率</td>
-                  <td style="	font-family: 'IMPACT';color: #30fdff;font-size: 20px;">90%</td>
-                </tr>
-              </table>
+                <table class="people">
+                  <tr>
+                    <td>实有人数</td>
+                    <td style="	font-family: 'IMPACT';color: #30fdff;font-size: 20px;">547</td>
+                  </tr>
+                  <tr>
+                    <td>参训人数</td>
+                    <td style="	font-family: 'IMPACT';color: #30fdff;font-size: 20px;">492</td>
+                  </tr>
+                  <tr>
+                    <td>
+                      <p
+                        style="font-size: 9px;color: white;text-align: center;transform: scale(0.9);"
+                      >未参训人数</p>
+                    </td>
+                    <td style="	font-family: 'IMPACT';color: #30fdff;font-size: 20px;">115</td>
+                  </tr>
+                  <tr>
+                    <td>参训率</td>
+                    <td style="	font-family: 'IMPACT';color: #30fdff;font-size: 20px;">90%</td>
+                  </tr>
+                </table>
 
-              <table class="grade">
-                <tr>
-                  <td>考核人次</td>
-                  <td style="	font-family: 'IMPACT';color: #30fdff;font-size: 20px;">547</td>
-                </tr>
-                <tr>
-                  <td>优良</td>
-                  <td style="	font-family: 'IMPACT';color: #30fdff;font-size: 20px;">247</td>
-                </tr>
-                <tr>
-                  <td>及格</td>
-                  <td style="	font-family: 'IMPACT';color: #30fdff;font-size: 20px;">195</td>
-                </tr>
-                <tr>
-                  <td>未及格</td>
-                  <td style="	font-family: 'IMPACT';color: #30fdff;font-size: 20px;">5</td>
-                </tr>
-              </table>
+                <table class="grade">
+                  <tr>
+                    <td>考核人次</td>
+                    <td style="	font-family: 'IMPACT';color: #30fdff;font-size: 20px;">547</td>
+                  </tr>
+                  <tr>
+                    <td>优良</td>
+                    <td style="	font-family: 'IMPACT';color: #30fdff;font-size: 20px;">247</td>
+                  </tr>
+                  <tr>
+                    <td>及格</td>
+                    <td style="	font-family: 'IMPACT';color: #30fdff;font-size: 20px;">195</td>
+                  </tr>
+                  <tr>
+                    <td>未及格</td>
+                    <td style="	font-family: 'IMPACT';color: #30fdff;font-size: 20px;">5</td>
+                  </tr>
+                </table>
+              </div>
             </div>
           </div>
         </div>
@@ -283,13 +290,13 @@
               </tr>
             </table>
           </div>
-          <div class="center2" style="margin-top: 75px;">
+          <div class="center2" style="margin-top: 8%;">
             <div class="left1-head">
               <span>各单位人员在位情况</span>
             </div>
             <div id="center2_d"></div>
           </div>
-          <div class="center3" style="margin-top: 75px;">
+          <div class="center3" style="margin-top: 8%;">
             <div class="left1-head">
               <span>外出人员对比</span>
             </div>
@@ -300,7 +307,7 @@
               <span style="margin-left:55px;">人员请销假</span>
             </div>
             <div id="center4_d">
-              <div class="right2_d" style="margin-left:2%;">
+              <div class="right2_d" style="margin-left:3%;">
                 今日迟到
                 <span>0</span>
               </div>
@@ -316,7 +323,7 @@
                 超时归队
                 <span>66</span>
               </div>
-              <div class="right2_b" style="margin-right: 10px;">
+              <div class="right2_b">
                 未归队
                 <span>52</span>
               </div>
@@ -343,7 +350,8 @@
                   <td style="color: #30fdff;font-family: 'IMPACT';font-size: 28px;"></td>
                 </tr>
                 <tr>
-                  <td style="font-size: 18px;color: white;">营房统计</td>
+                  <td style="font-size: 28px;color: #30FDFF ;display:block;">56</td>
+                  <td style="font-size: 18px;color: white;display:block;">营房统计</td>
                 </tr>
               </table>
 
@@ -355,7 +363,8 @@
                   <td style="color: #30fdff;font-family: 'IMPACT';font-size: 28px;"></td>
                 </tr>
                 <tr>
-                  <td style="font-size: 18px;color: white;">营房使用</td>
+                  <td style="font-size: 28px;color: #E6923E;display:block;">56</td>
+                  <td style="font-size: 18px;color: white;display:block;">营房使用</td>
                 </tr>
               </table>
             </div>
@@ -373,7 +382,8 @@
                   <td style="color: #e6923e;font-family: 'IMPACT';font-size: 28px;"></td>
                 </tr>
                 <tr>
-                  <td style="font-size: 18px;color: white;">营具统计</td>
+                  <td style="font-size: 28px;color: #30FDFF ;display:block;">56</td>
+                  <td style="font-size: 18px;color: white;display:block;">营具统计</td>
                 </tr>
               </table>
 
@@ -385,7 +395,8 @@
                   <td style="color: #e6923e;font-family: 'IMPACT';font-size: 28px;"></td>
                 </tr>
                 <tr>
-                  <td style="font-size: 18px;color: white;">营具使用</td>
+                  <td style="font-size: 28px;color: #E6923E;display:block;">56</td>
+                  <td style="font-size: 18px;color: white;display:block;">营具使用</td>
                 </tr>
               </table>
             </div>
@@ -692,11 +703,12 @@ export default {
         ],
         index: true,
         columnWidth: [],
-        align: ["center"],
+        align: ["center", "center", "center", "center"],
         headerBGC: "",
         indexHeader: "序号",
         oddRowBGC: "",
-        evenRowBGC: ""
+        evenRowBGC: "",
+        columnWidth: [100, 200, 200, 100]
       },
       config2: {
         header: ["人员", "份数", "日期"],
@@ -714,7 +726,7 @@ export default {
         ],
         index: false,
         columnWidth: [],
-        align: ["center"],
+        align: ["center", "center", "center"],
         headerBGC: "",
         indexHeader: "序号",
         oddRowBGC: "",
@@ -725,7 +737,9 @@ export default {
         { name: "发射二营", a: 0, b: 1, c: 1, d: 0 },
         { name: "发射三营", a: 0, b: 1, c: 1, d: 0 },
         { name: "发射四营", a: 0, b: 1, c: 1, d: 0 }
-      ]
+      ],
+      timer2: null,
+      times: null
     };
   },
   created() {
@@ -764,6 +778,7 @@ export default {
     tongjiluoshi().then(res => {
       this.djlslist = res.data;
     });
+    this.startTime();
   },
   mounted() {
     //各单位在位情况
@@ -855,10 +870,10 @@ export default {
             }
           ],
           grid: {
-            left: "5%",
-            right: "8%",
-            bottom: "2%",
-            top: "5%",
+            left: 10,
+            right: 30,
+            bottom: 10,
+            top: 10,
             containLabel: true
           },
           tooltip: {
@@ -925,7 +940,7 @@ export default {
                   fontSize: "12"
                 },
                 formatter: function(datav) {
-                  return datav + " %";
+                  return datav;
                 }
               },
               data: data2
@@ -950,6 +965,7 @@ export default {
           ]
         };
         myChartv.setOption(option4);
+        window.onresize = myChartv.resize;
       }
       c();
       this.timer = setInterval(() => {
@@ -980,7 +996,7 @@ export default {
       const option12 = {
         grid: {
           left: 50,
-          bottom: 40,
+          bottom: 20,
           top: 20
         },
         xAxis: {
@@ -1325,6 +1341,7 @@ export default {
       const backImg = "/asset/get/s/data-1622796959507-HTopachtJ.png";
       myChartss._dom.style.backgroundImage = "url('" + backImg + "')";
       myChartss.setOption(option12);
+      window.onresize = myChartss.resize;
     },
     center4() {
       var myChart = echarts.init(
@@ -1339,9 +1356,9 @@ export default {
         grid: {
           containLabel: true,
           left: "2%",
-          top: "10%",
+          top: 20,
           right: "3%",
-          bottom: "0%"
+          bottom: 40
         },
         xAxis: [
           {
@@ -1463,6 +1480,26 @@ export default {
         ]
       };
       myChart.setOption(option);
+      window.onresize = myChart.resize;
+    },
+    startTime() {
+      this.timer2 = setInterval(() => {
+        var today = new Date();
+        var y = today.getFullYear();
+        var M = today.getMonth() + 1;
+        var d = today.getDate();
+        var h = today.getHours();
+        var m = today.getMinutes();
+        var s = today.getSeconds();
+        var w = today.getDay();
+        if (m < 10) {
+          m = "0" + m;
+        }
+        if (s < 10) {
+          s = "0" + s;
+        }
+        this.times = h + ":" + m + ":" + s;
+      }, 500); /* 每500毫秒执行一次,实现动态显示时间效果 */
     }
   },
   computed: {
@@ -1479,9 +1516,11 @@ export default {
       };
     }
   },
-  beforeDestroy() {
+  destroyed() {
     clearInterval(this.timer); // 清除定时器
     this.timer = null;
+    clearInterval(this.timer2); // 清除定时器
+    this.timer2 = null;
   },
   components: {
     vueSeamlessScroll
@@ -1499,8 +1538,6 @@ export default {
   background-repeat: no-repeat;
   overflow: auto;
   /* min-width: 1200px; */
-  display: flex;
-  flex-direction: column;
   overflow-x: hidden;
   overflow-y: hidden;
   z-index: -1;
@@ -1525,28 +1562,38 @@ export default {
   text-align: center;
   line-height: 68px;
   color: #64f5fc;
-  font-size: 30px;
+  font-size: 2.3rem;
   font-weight: bold;
   cursor: pointer;
 }
+.title-right {
+  position: absolute;
+  color: #64f5fc;
+  font-size: 2.3rem;
+  right: 200px;
+  top: 36px;
+}
 .main {
-  flex: 1;
+  height: 90%;
   width: 100%;
+  margin: 0;
+  padding: 0;
   display: flex;
-  flex-direction: row;
 }
 .left {
-  flex: 2.01;
+  width: 25%;
   height: 100%;
+  margin: 0;
+  padding: 0;
   margin-left: 15px;
 }
 .center {
-  flex: 4;
+  width: 48%;
   height: 100%;
   margin: 0 10px;
 }
 .right {
-  flex: 2.5;
+  width: 25%;
   height: 100%;
   margin-right: 15px;
 }
@@ -1561,19 +1608,19 @@ export default {
   margin-top: 10px;
 }
 .left1-head {
-  width: 90%;
+  width: 20vw;
   height: 25px;
-  background-image: url("../../assets/images/组 21.png");
+  background-image: url("../../assets/images/dtitle.png");
   background-repeat: no-repeat;
-  background-size: 100% 100%;
+  background-size: 100%;
   margin-top: 5px;
   margin-left: 2%;
 }
 .left1-head span {
-  margin-left: 10%;
-  line-height: 30px;
+  margin-left: 8%;
+  line-height: 23px;
   color: #fff;
-  font-size: 12px;
+  font-size: 0.8rem;
 }
 .left1-wrap {
   width: 96%;
@@ -1590,13 +1637,13 @@ export default {
   margin-top: 2%;
 }
 .left1-wrap-item span {
-  font-size: 12px;
+  font-size: 1rem;
   line-height: 4.5vh;
   color: #fff;
   margin-left: 3%;
 }
 .left1-wrap-item b {
-  font-size: 16px;
+  font-size: 1.2rem;
   color: #30fdff;
 }
 .center1 {
@@ -1606,6 +1653,7 @@ export default {
   background-repeat: no-repeat;
   background-size: 100% 100%;
   margin-top: 10px;
+  padding-top: 5px;
 }
 .left2 {
   width: 100%;
@@ -1642,14 +1690,14 @@ export default {
 .left2_d span {
   margin-left: 0.5vw;
   font-family: "IMPACT";
-  font-size: 24px;
+  font-size: 1.4rem;
   color: #30fdff;
 }
 .center4_b {
   margin-top: 0.8vh;
   margin-left: 2%;
   color: white;
-  font-size: 12px;
+  font-size: 1rem;
   background-color: rgba(3, 58, 93, 0.3);
   border: 0.1px solid #052c41;
   height: 6vh;
@@ -1660,7 +1708,7 @@ export default {
 
 .center4_b span {
   font-family: "IMPACT";
-  font-size: 22px;
+  font-size: 1.6rem;
   margin-left: 20px;
 }
 .center4_s {
@@ -1698,6 +1746,25 @@ export default {
   width: 100%;
   height: 85%;
 }
+.left2-2-main-title {
+  width: 100%;
+  height: 15%;
+  display: flex;
+  flex-direction: row;
+}
+.left2-2-main-title .center4_l-1 {
+  flex: 1;
+  height: 100%;
+  display: inline-block;
+  color: white;
+  font-size: 12px;
+  margin-top: 0.9vh;
+}
+.left2-2-main-title .center4_l-1 div {
+  display: inline-block;
+  margin-right: 8px;
+  box-sizing: content-box;
+}
 .center4_l {
   color: white;
   font-size: 12px;
@@ -1712,8 +1779,17 @@ export default {
   margin-right: 8px;
   box-sizing: content-box;
 }
+.left2-2-main-main{
+  width:100%;
+  height: 85%;
+  display: flex;
+  flex-direction: row;
+  margin:0;
+  padding: 0;
+}
 .time {
   /* margin-top: 3px; */
+  flex: 1;
   font-size: 9px;
   color: white;
   text-align: center;
@@ -1723,39 +1799,40 @@ export default {
 
 .time td {
   height: 3.7vh;
-  width: 70px;
+  width: 50%;
   background-color: #0c3361;
 }
 .people {
   /* margin-top: 3px; */
+  flex: 1;
   font-size: 9px;
   color: white;
   text-align: center;
-  display: inline-block;
   transform: scale(0.9);
-  margin-left: -10px;
-  margin-right: -13px;
+  margin:0;
+  padding:0;
+  margin-left: -5%;
 }
 
 .people td {
   height: 3.7vh;
-  width: 70px;
+  width: 50%;
   background-color: #0c3361;
 }
 
 .grade {
   /* margin-top: 3px; */
+  flex: 1;
   font-size: 9px;
   color: white;
   text-align: center;
-  display: inline-block;
   transform: scale(0.9);
-  margin-left: 1%;
+  margin-left: -3%;
 }
 
 .grade td {
   height: 3.7vh;
-  width: 73px;
+  width: 50%;
   background-color: #0c3361;
 }
 .left2-2 {
@@ -1783,6 +1860,7 @@ export default {
   color: white;
   display: inline-block;
   margin-bottom: 10px;
+  width: 20%;
 }
 
 .center1_d img {
@@ -1803,7 +1881,7 @@ export default {
 
 .center2 {
   width: 50%;
-  height: 20vh;
+  height: 50%;
   display: inline-block;
 }
 
@@ -1819,19 +1897,19 @@ export default {
 
 .center3 {
   width: 50%;
-  height: 20vh;
+  height: 50%;
   display: inline-block;
 }
 
 .center4 {
   width: 100%;
-  height: 17vh;
+  height: 20%;
   margin-top: 6px;
 }
 
-.center4_d {
+#center4_d {
   width: 100%;
-  height: 80%;
+  height: 60%;
 }
 
 .center4_d-1 {
@@ -1854,10 +1932,11 @@ export default {
   background-repeat: no-repeat;
   background-size: 100% 100%;
   margin-top: 10px;
+  padding-top: 5px;
 }
 #center-a-main {
   width: 100%;
-  height: 85%;
+  height: 100%;
 }
 
 .center-b {
@@ -1869,6 +1948,7 @@ export default {
   margin-top: 10px;
   display: flex;
   flex-direction: row;
+  padding-top: 5px;
 }
 .center-b-l {
   width: 48%;
@@ -1891,38 +1971,38 @@ export default {
 
 .right2_d {
   color: white;
-  font-size: 15px;
+  font-size: 1rem;
   text-align: center;
-  height: 30px;
+  height: 60%;
   display: inline-block;
   background-color: #052c41;
-  width: 140px;
-  margin-top: 1.5%;
-  margin-right: 2%;
+  width: 18%;
+  margin-top:0.5%;
+  margin-left: 1%;
 }
 
 .right2_d span {
   color: #30fdff;
-  font-size: 22px;
+  font-size: 1.5rem;
   margin-left: 10px;
   font-family: "IMPACT";
 }
 
 .right2_b {
+  height: 60%;
+  width: 18%;
   color: white;
-  font-size: 15px;
+  font-size: 1rem;
   text-align: center;
   display: inline-block;
   background-color: rgba(207, 60, 42, 0.3);
-  height: 30px;
-  width: 160px;
-  margin-top: 1vh;
-  margin-right: 1%;
+  /* margin-top: 0.7rem; */
+  margin-left: 1%;
 }
 
 .right2_b span {
   color: #f0422a;
-  font-size: 22px;
+  font-size: 1.5rem;
   margin-left: 10px;
   font-family: "IMPACT";
 }