Commit 7566c7da authored by 仇晓婷's avatar 仇晓婷

Merge branch 'product' of http://git.mes123.com/zhouyx/mes-ui into product

parents be5ff771 ba47a4e2
html body {
min-width: 1240px;
min-width: 1240px;
}
.__nuxt-error-page {
.title {
font-size: 16px;
}
.title {
font-size: 16px;
}
}
#__nuxt,
#__layout {
height: 100%
height: 100%
}
ul,li{
list-style: none;
ul,
li {
list-style: none;
}
div::-webkit-scrollbar{
width:10px;
height:10px;
/**/
}
div::-webkit-scrollbar-track{
background: rgb(239, 239, 239);
border-radius:2px;
}
div::-webkit-scrollbar-thumb{
background:rgba(38,128,235,0.5);
border-radius:10px;
}
div::-webkit-scrollbar-thumb:hover{
background: rgba(38,128,235,0.8);
}
div::-webkit-scrollbar-corner{
background: rgba(38,128,235,1);
}
div::-webkit-scrollbar {
width: 10px;
height: 10px;
/**/
}
div::-webkit-scrollbar-track {
background: rgb(239, 239, 239);
border-radius: 2px;
}
div::-webkit-scrollbar-thumb {
background: rgba(38, 128, 235, 0.5);
border-radius: 10px;
}
div::-webkit-scrollbar-thumb:hover {
background: rgba(38, 128, 235, 0.8);
}
div::-webkit-scrollbar-corner {
background: rgba(38, 128, 235, 1);
}
/*flex*/
.flex{
display: flex;
//采用flex布局
.flex {
display: flex;
//采用flex布局
}
.fc-m{
justify-content: center;
.fc-m {
justify-content: center;
}
.fa-m{
align-items: center;
.fa-m {
align-items: center;
}
.fc-e{
justify-content: flex-end;
.fc-e {
justify-content: flex-end;
}
.fc-b{
justify-content: space-between;
.fc-b {
justify-content: space-between;
}
.fc-a{
justify-content: space-around;
.fc-a {
justify-content: space-around;
}
.fc-ev{
justify-content: space-evenly;
.fc-ev {
justify-content: space-evenly;
}
.fd{
flex-direction: column;
.fd {
flex-direction: column;
}
.fg{
flex-grow: 1;
.fg {
flex-grow: 1;
}
.fs{
flex-shrink: 0;
.fs {
flex-shrink: 0;
}
.fg2{
flex-grow: 2;
.fg2 {
flex-grow: 2;
}
.fos{
order: -1;
.fos {
order: -1;
}
.foe{
order: 99;
.foe {
order: 99;
}
/*字体*/
.ib {
display: inline;
display: inline;
}
.f14 {
font-size: 14px;
font-size: 14px;
}
.f16 {
font-size: 16px;
font-size: 16px;
}
.f18 {
font-size: 18px;
font-size: 18px;
}
.f20 {
font-size: 20px;
font-size: 20px;
}
.f24 {
font-size: 24px;
font-size: 24px;
}
// 字体加粗
.fw5 {
font-weight: 500;
font-weight: 500;
}
.fwBold {
font-weight: bold;
font-weight: bold;
}
.ico:hover {
color: #f23a3a;
cursor: pointer;
color: #f23a3a;
cursor: pointer;
}
.stitle{
height: 40px;
background-color: #F5F6FA;
line-height: 40px;
.stitle {
height: 40px;
background-color: #F5F6FA;
line-height: 40px;
}
//行高
.lh10 {
line-height: 10px
line-height: 10px
}
.lh15 {
line-height: 15px
line-height: 15px
}
.lh20 {
line-height: 20px
line-height: 20px
}
.lh25 {
line-height: 25px
line-height: 25px
}
.lh30 {
line-height: 30px
line-height: 30px
}
.lh40 {
line-height: 40px
line-height: 40px
}
.lh50 {
line-height: 50px
line-height: 50px
}
/*边距*/
.m10 {
margin: 10px;
margin: 10px;
}
.mt4 {
margin-top: 4px;
margin-top: 4px;
}
.mt5 {
margin-top: 5px;
margin-top: 5px;
}
.mt10 {
margin-top: 10px;
margin-top: 10px;
}
.mt15 {
margin-top: 15px;
margin-top: 15px;
}
.mt20 {
margin-top: 20px;
margin-top: 20px;
}
.mt30 {
margin-top: 30px;
margin-top: 30px;
}
.mt50 {
margin-top: 50px;
margin-top: 50px;
}
.mb0 {
margin-bottom: 0px;
margin-bottom: 0px;
}
.mb10 {
margin-bottom: 10px;
margin-bottom: 10px;
}
.mb15 {
margin-bottom: 15px;
margin-bottom: 15px;
}
.mb20 {
margin-bottom: 20px;
margin-bottom: 20px;
}
.ml0 {
margin-left: 0;
margin-left: 0;
}
.ml5 {
margin-left: 5px;
margin-left: 5px;
}
.ml10 {
margin-left: 10px;
margin-left: 10px;
}
.ml15 {
margin-left: 15px;
margin-left: 15px;
}
.ml20 {
margin-left: 20px;
margin-left: 20px;
}
.ml30 {
margin-left: 30px;
margin-left: 30px;
}
.ml110 {
margin-left: 110px;
margin-left: 110px;
}
.mr0 {
margin-right: 0px;
margin-right: 0px;
}
.mr5 {
margin-right: 5px;
margin-right: 5px;
}
.mr10 {
margin-right: 10px;
margin-right: 10px;
}
.mr15 {
margin-right: 15px;
margin-right: 15px;
}
.mr20 {
margin-right: 20px;
margin-right: 20px;
}
.mr30 {
margin-right: 30px;
margin-right: 30px;
}
.mtb10 {
margin: 10px 0;
margin: 10px 0;
}
.m15{
margin: 15px;
.m15 {
margin: 15px;
}
/*内边距*/
.ptb10 {
padding: 10px 0px;
padding: 10px 0px;
}
.pd5 {
padding: 5px;
padding: 5px;
}
.pt10 {
padding: 10px 0px 0;
padding: 10px 0px 0;
}
.ptb5 {
padding-top: 5px;
padding-bottom: 5px;
padding-top: 5px;
padding-bottom: 5px;
}
.pd10 {
padding: 10px;
padding: 10px;
}
.p10 {
padding: 10px;
padding: 10px;
}
.p20 {
padding: 20px;
padding: 20px;
}
.pl30 {
padding-left: 30px
padding-left: 30px
}
.pl5 {
padding-left: 5px
padding-left: 5px
}
.pl10 {
padding-left: 10px
padding-left: 10px
}
.pl20 {
padding-left: 20px
padding-left: 20px
}
.pt15 {
padding-top: 15px
padding-top: 15px
}
.bnone {
border: none;
border: none;
}
.marnone {
margin: 0;
margin: 0;
}
.hide {
display: none;
display: none;
}
.show {
display: block;
display: block;
}
.hidden {
overflow: hidden;
overflow: hidden;
}
.zh-scroll-y {
overflow-y: scroll;
overflow-y: scroll;
}
.h-stack {
overflow: visible
overflow: visible
}
.zh-ellip {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
// 字体位置
.ver-m {
vertical-align: middle;
vertical-align: middle;
}
/*栅格化*/
.col-xs6 .col-4 {
width: 25%;
display: inline-block;
width: 25%;
display: inline-block;
}
.col-3 {
width: 33.33333%;
display: inline-block;
width: 33.33333%;
display: inline-block;
}
/*宽度*/
.w50 {
width: 50px
width: 50px
}
.w80 {
width: 80px
width: 80px
}
.w100 {
width: 100px
width: 100px
}
.w120 {
width: 120px
width: 120px
}
.w160 {
width: 160px
width: 160px
}
.w180 {
width: 180px
width: 180px
}
.w200 {
width: 200px
width: 200px
}
.w240 {
width: 240px
width: 240px
}
.w270 {
width: 270px;
width: 270px;
}
.w300 {
width: 300px;
width: 300px;
}
.w800 {
width: 800px;
width: 800px;
}
/*高度*/
.h17 {
height: 17px;
line-height: 17px;
height: 17px;
line-height: 17px;
}
.h28 {
height: 28px;
height: 28px;
}
.h36 {
height: 36px;
height: 36px;
}
.h50 {
height: 50px;
height: 50px;
}
.h200 {
height: 200px;
height: 200px;
}
.h400 {
height: 400px;
overflow: auto;
height: 400px;
overflow: auto;
}
/*最小高度*/
.minh300 {
min-height: 300px;
min-height: 300px;
}
.minh100 {
min-height: 100px;
min-height: 100px;
}
.minh200 {
min-height: 200px;
min-height: 200px;
}
/*最小宽度*/
.minW100 {
min-width: 100px
min-width: 100px
}
.minW140 {
min-width: 140px
min-width: 140px
}
.minW200 {
min-width: 200px
min-width: 200px
}
/*最大宽度*/
.maxW50 {
max-width: 50px;
max-width: 50px;
}
.maxW80 {
max-width: 80px;
max-width: 80px;
}
/*按钮*/
.button-box {
display: inline-block;
text-align: center;
display: inline-block;
text-align: center;
}
.button-box-block {
display: block;
text-align: center;
display: block;
text-align: center;
}
.button-box-block .layui-btn,
.button-box .layui-btn {
min-width: 80px;
min-width: 80px;
}
.d-button {
min-width: 55px;
height: 28px;
padding: 0 10px;
line-height: 30px;
text-align: center;
display: inline-block;
border-radius: 2px;
font-size: 14px;
background: #e6e6e6;
color: #333;
margin: 0 5px;
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
cursor: pointer;
-webkit-transition: all .2s;
-ms-transition: all .2s;
transition: all .2s;
min-width: 55px;
height: 28px;
padding: 0 10px;
line-height: 30px;
text-align: center;
display: inline-block;
border-radius: 2px;
font-size: 14px;
background: #e6e6e6;
color: #333;
margin: 0 5px;
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
cursor: pointer;
-webkit-transition: all .2s;
-ms-transition: all .2s;
transition: all .2s;
}
.d-button:active {
transform: scale(.96);
transform: scale(.96);
}
/*按钮颜色*/
.bluebg {
background: #237bdf;
color: #fff;
background: #237bdf;
color: #fff;
}
.bluebg:hover {
background: #0c79b1;
background: #0c79b1;
}
.redbg {
background: #e2440a;
background: #e2440a;
}
.red {
color: #f23a3a;
color: #f23a3a;
}
.redbg:hover {
background: #d7342e;
background: #d7342e;
}
.qingbg {
background: #169bd5;
color: #fff;
background: #169bd5;
color: #fff;
}
.white {
color: #fff;
color: #fff;
}
.qingbg:hover {
background: #2f93bf;
background: #2f93bf;
}
.blue-tab {
color: #1e9fff;
color: #1e9fff;
}
.blue-modal-text {
color: #358deb;
color: #358deb;
}
.blue-dark {
color: #0e2b55;
color: #0e2b55;
}
.blue-shadow {
color: #7eccfc;
color: #7eccfc;
}
.orangetext {
color: #fca509;
color: #fca509;
}
.orangebg {
background: #ff9900;
background: #ff9900;
}
.orangebg:hover {
background: #e0690c;
background: #e0690c;
}
.greenbg {
background: #4f9536;
background: #4f9536;
}
.green {
color: #4f9536
color: #4f9536
}
.greenbg:hover {
background: #4aaa4a;
background: #4aaa4a;
}
.darkblue {
background: #5eb95e
background: #5eb95e
}
.redbd {
border: 1px dashed #f23a3a;
color: #f23a3a;
cursor: pointer;
border: 1px dashed #f23a3a;
color: #f23a3a;
cursor: pointer;
}
.greenbd {
border: 1px dashed #5eb95e;
color: #5eb95e;
border: 1px dashed #5eb95e;
color: #5eb95e;
}
.new-blue {
color: #2786f2;
color: #2786f2;
}
.new-green {
color: #5eae36;
color: #5eae36;
}
.new-red {
color: #fe4b04;
color: #fe4b04;
}
.new-orange {
color: #ff9900;
color: #ff9900;
}
.blueTitle{
color: #2680EB;
.blueTitle {
color: #2680EB;
}
.grayTitle{
color: #333;
.grayTitle {
color: #333;
}
/*图标*/
i.iconfont {
cursor: pointer;
display: inline-block;
vertical-align: middle;
cursor: pointer;
display: inline-block;
vertical-align: middle;
}
i.iconfont:active {
-webkit-transform: scale(.96);
-ms-transform: scale(.96);
-o-transform: scale(.96);
transform: scale(.96);
-webkit-transform: scale(.96);
-ms-transform: scale(.96);
-o-transform: scale(.96);
transform: scale(.96);
}
......@@ -650,7 +679,7 @@ i.iconfont:active {
i.icon-start,
i.icon-yundown,
i.icon-save {
color: #1E9FFF
color: #1E9FFF
}
......@@ -658,699 +687,748 @@ i.icon-save {
i.icon-tingzhi,
i.icon-lajitong {
color: #FF5722
color: #FF5722
}
/*青色图标*/
i.icon-edit {
color: #518dd8
color: #518dd8
}
i.icon-huanvar {
color: #4470a7;
font-size: 20px;
color: #4470a7;
font-size: 20px;
}
i.icon-fault {
color: #f71a4b
color: #f71a4b
}
i.icon-yujing {
color: #ff9906
color: #ff9906
}
i.icon-dian {
opacity: .5
opacity: .5
}
/*刷新按钮*/
.ico-ratate {
animation-name: repRotate;
animation-name: repRotate;
}
i.icon-gengxin {
animation: linear .8s infinite;
animation: linear .8s infinite;
}
/*浮动*/
.fl {
float: left;
float: left;
}
.fr {
float: right
float: right
}
.fn {
float: none
float: none
}
.tl {
text-align: left;
text-align: left;
}
.tr {
text-align: right;
text-align: right;
}
.tc {
text-align: center;
text-align: center;
}
/*清除浮动*/
.clear {
clear: both;
clear: both;
}
/*块*/
.block {
display: block;
display: block;
}
.inline {
display: inline-block;
display: inline-block;
}
.cursor {
cursor: pointer;
cursor: pointer;
}
/* 定位 */
.pr {
position: relative;
position: relative;
}
.pa {
position: absolute
position: absolute
}
/* 展示框title */
.show-title {
background: #031019;
letter-spacing: 2px;
color: #b6dff8;
text-align: center;
background: #031019;
letter-spacing: 2px;
color: #b6dff8;
text-align: center;
}
input::-webkit-input-placeholder,
select input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
color: #7dbbfb;
color: #7dbbfb;
}
[v-cloak] {
display: none;
display: none;
}
// 纵横树的样式
.zh-tree {
// position: relative;
display: block;
width: 250px;
float: left;
transform: translateX(0);
transition: all .2s;
box-sizing: border-box;
border: #E4E6ED solid 1px;
background: #fff;
padding: 0px 10px 20px 10px;
margin-top: 10px;
.zh-title {
font-size: 14px;
padding: 0 5px;
line-height: 45px;
text-align: left;
font-weight: 600;
border-bottom: #e4e6ed solid 1px;
}
// position: relative;
display: block;
width: 250px;
float: left;
transform: translateX(0);
transition: all .2s;
box-sizing: border-box;
border: #E4E6ED solid 1px;
background: #fff;
padding: 0px 10px 20px 10px;
margin-top: 10px;
.zh-title {
font-size: 14px;
padding: 0 5px;
line-height: 45px;
text-align: left;
font-weight: 600;
border-bottom: #e4e6ed solid 1px;
}
.zh-box {
width: 100%;
height: 100%;
// overflow-y: auto;
padding: 15px;
// margin-bottom: -5000px;
// padding-bottom: 5000px;
// .tree-content {
// overflow-y: auto;
// }
}
.zh-box {
width: 100%;
height: 100%;
// overflow-y: auto;
padding: 15px;
// margin-bottom: -5000px;
// padding-bottom: 5000px;
// .tree-content {
// overflow-y: auto;
// }
}
}
// 纵横树右侧区域
.content-right {
margin-left: 10px;
width: calc(100% - 260px);
height: 100%;
float: left;
box-sizing: border-box;
transition: all .2s;
margin-left: 10px;
width: calc(100% - 260px);
height: 100%;
float: left;
box-sizing: border-box;
transition: all .2s;
background: #fff;
// border-radius:3px;
padding: 0px 10px 10px 0px;
margin-top: 10px;
// box-shadow: 0 0 5px rgba(0, 0, 0, .15);
background: #fff;
// border-radius:3px;
padding: 0px 10px 10px 0px;
margin-top: 10px;
// box-shadow: 0 0 5px rgba(0, 0, 0, .15);
}
.contentRight {
width: calc(100%);
height: 100%;
float: left;
box-sizing: border-box;
transition: all .2s;
width: calc(100%);
height: 100%;
float: left;
box-sizing: border-box;
transition: all .2s;
background: #fff;
// border-radius:3px;
padding: 0px 10px 10px 0px;
margin-top: 10px;
// box-shadow: 0 0 5px rgba(0, 0, 0, .15);
background: #fff;
// border-radius:3px;
padding: 0px 10px 10px 0px;
margin-top: 10px;
// box-shadow: 0 0 5px rgba(0, 0, 0, .15);
}
.topTitle {
height: 32px;
text-align: right;
height: 32px;
text-align: right;
}
// .tableCommon {
// // border:none;
// }
.tableCommon tr th {
line-height: 30px;
font-size: 14px;
//text-align: center;
// border:none;
// border-bottom:#e4e6ed solid 1px;
background: #f5f6fa;
.tableCommon tr th {
line-height: 30px;
font-size: 14px;
//text-align: center;
// border:none;
// border-bottom:#e4e6ed solid 1px;
background: #f5f6fa;
}
.tableCommon .tableCommon tr th {
line-height: 24px;
font-size: 14px;
background: #EEEDF0;
}
.tableCommon .tableCommon{
tr td {
border: none;
border-bottom: 1px solid #E4E6ED;
padding: 0 2px;
background: #F6F8FB;
}
}
.tableCommon tr td {
line-height: 25px;
font-size: 14px;
line-height: 24px;
font-size: 14px;
background: #EEEDF0;
}
.tableCommon .tableCommon {
tr td {
border: none;
border-bottom: 1px solid #E4E6ED;
padding: 0 2px;
background: #F6F8FB;
}
}
.tableCommon tr td .ivu-table-cell {
padding:0 2px;
.tableCommon tr td {
line-height: 25px;
font-size: 14px;
padding: 0 2px;
}
.tableCommon tr td .ivu-table-cell {
padding: 0 2px;
}
.cellInfoTitle {
padding: 0 10px;
text-align: right;
border: #E4E6ED solid 1px;
background: #F5F6FA;
color: #515A6E;
font-weight: bold;
height: 35px;
line-height: 34px;
margin: -1px;
padding: 0 10px;
text-align: right;
border: #E4E6ED solid 1px;
background: #F5F6FA;
color: #515A6E;
font-weight: bold;
height: 35px;
line-height: 34px;
margin: -1px;
}
.cellInfoContent {
padding: 0 10px;
text-align: left;
border-top: #E4E6ED solid 1px;
border-bottom: #E4E6ED solid 1px;
border-right: #E4E6ED solid 1px;
height: 34px;
line-height: 34px;
margin: -1px;
padding: 0 10px;
text-align: left;
border-top: #E4E6ED solid 1px;
border-bottom: #E4E6ED solid 1px;
border-right: #E4E6ED solid 1px;
height: 34px;
line-height: 34px;
margin: -1px;
}
/* 三列合并内容 */
.cellInfoContent1 {
padding: 0 10px;
text-align: left;
border-top: #E4E6ED solid 1px;
border-bottom: #E4E6ED solid 1px;
border-right: #E4E6ED solid 1px;
height: 34px;
line-height: 34px;
margin: -1px -5px;
padding: 0 10px;
text-align: left;
border-top: #E4E6ED solid 1px;
border-bottom: #E4E6ED solid 1px;
border-right: #E4E6ED solid 1px;
height: 34px;
line-height: 34px;
margin: -1px -5px;
}
/* 右侧设置自定义显示列ico */
.divIco {
border: #D0D2D9 solid 1px;
border-radius: 4px;
height: 28px;
line-height: 24px;
width: 40px;
float: right;
text-align: center;
margin-left: 5px;
border: #D0D2D9 solid 1px;
border-radius: 4px;
height: 28px;
line-height: 24px;
width: 40px;
float: right;
text-align: center;
margin-left: 5px;
}
.divIco:hover {
background: #F5F6FA;
background: #F5F6FA;
}
.icoListInfo {
font-weight: bold;
color: #515A6E;
font-size: 24px;
font-weight: bold;
color: #515A6E;
font-size: 24px;
}
[type=reset],
[type=submit],
button,
html [type=button] {
-webkit-appearance: button;
-webkit-appearance: button;
}
.waitTask {/*flex 布局*/
display: flex!important;
align-items: center;
width: 200px;
height: 100px;
float: left;
margin-right: 10px;
word-break: break-word;
.waitTask {
/*flex 布局*/
display: flex !important;
align-items: center;
width: 200px;
height: 100px;
float: left;
margin-right: 10px;
word-break: break-word;
}
.leftIco {
width: 60px;
float: left;
text-align: center;
width: 60px;
float: left;
text-align: center;
}
.bold {
font-weight: bold;
font-weight: bold;
}
.action {
a {
color: #1890FF; //查看和其他
span{
padding: 4px;
}
i{
font-size: 16px;
padding: 4px;
border-radius: 3px;
}
i:hover{
background: #1890FF;
color: #fff;
}
background: transparent;
a {
color: #1890FF; //查看和其他
span {
padding: 4px;
}
a.detail{
color: #1890FF; //查看和其他
i {
font-size: 16px;
padding: 4px;
border-radius: 3px;
}
a.add {
color: #249E91;
i:hover {
background: #1890FF;
color: #fff;
}
// a.add:hover {
// // color: #27AB9D;
// }
background: transparent;
}
a.edit {
// color: #32B187;
color: rgb(6, 147, 212)
}
a.detail {
color: #1890FF; //查看和其他
}
// a.edit:hover {
// color: #35BD90
// }
a.add {
color: #249E91;
}
a.remove,a.delete {
color: #FF7A8B;
i:hover{
background: #FF7A8B;
color: #fff;
}
}
a.delete {
color: #FF7A8B;
}
a.empower {
color: #FFBD59;
}
// a.add:hover {
// // color: #27AB9D;
// }
a.edit {
// color: #32B187;
color: rgb(6, 147, 212)
}
a.disable {
color: #CAD1D9;
// a.edit:hover {
// color: #35BD90
// }
a.remove,
a.delete {
color: #FF7A8B;
i:hover {
background: #FF7A8B;
color: #fff;
}
}
a.delete {
color: #FF7A8B;
}
a.empower {
color: #FFBD59;
}
a.disable {
color: #CAD1D9;
}
a.icon {
display: inline-block;
width: 28px;
height: 28px;
line-height: 28px;
margin: 0px 0 0 -4px;
border-radius: 50%;
color: #515A6E;
background: #F5F6FA;
.ivu-icon {
font-weight: bold;
font-size: 18px;
}
a.icon {
display: inline-block;
width: 28px;
height: 28px;
line-height: 28px;
margin: 0px 0 0 -4px;
border-radius: 50%;
color: #515A6E;
background: #F5F6FA;
.ivu-icon {
font-weight: bold;
font-size: 18px;
}
}
// a.icon:hover {
// background: #27AB9D;
// color: #fff;
// }
// a.icon:hover {
// background: #27AB9D;
// color: #fff;
// }
// a.icon:active {
// background: #229185;
// color: #fff;
// }
// a.icon:active {
// background: #229185;
// color: #fff;
// }
}
.icon_box{
a.icon {
display: inline-grid;
width: 28px;
height: 28px;
line-height: 28px;
margin: 0;
.ivu-icon-ios-eye{
font-weight: bold;
font-size: 24px;
color: #249e91;
};
.ivu-icon-ios-cog{
font-weight: bold;
font-size: 24px;
color: #249e91;
}
.icon_box {
a.icon {
display: inline-grid;
width: 28px;
height: 28px;
line-height: 28px;
margin: 0;
.ivu-icon-ios-eye {
font-weight: bold;
font-size: 24px;
color: #249e91;
}
;
.ivu-icon-ios-cog {
font-weight: bold;
font-size: 24px;
color: #249e91;
}
}
}
.body-box {
.bj-box {
position: relative;
height: 45px;
.dan-hao,
.ri-qi,
.dao-chu {
position: absolute;
right: 10px;
width: 235px;
font-size: 14px;
color: #333;
font-weight: bold;
text-align: right;
}
.dao-chu {
top: 0px;
text-align: right;
}
.dan-hao {
top: 60px;
}
.ri-qi {
top: 95px;
}
}
.bj-box {
position: relative;
height: 45px;
.title-name {
text-align: center;
font-size: 28px;
margin-bottom: 10px;
.dan-hao,
.ri-qi,
.dao-chu {
position: absolute;
right: 10px;
width: 235px;
font-size: 14px;
color: #333;
font-weight: bold;
text-align: right;
}
.js-title {
text-align: center;
font-size: 20px;
font-weight: bold;
margin-bottom: 10px;
.dao-chu {
top: 0px;
text-align: right;
}
.box-title {
height: 45px;
line-height: 45px;
padding: 0 10px;
font-size: 14px;
color: #333;
border: 1px solid #d3d1d1;
.dan-hao {
top: 60px;
}
.box-dz {
height: 40px;
line-height: 40px;
padding: 0 10px;
border-right: 1px solid #d3d1d1;
border-left: 1px solid #d3d1d1;
font-size: 14px;
font-weight: bold;
color: #333;
.ri-qi {
top: 95px;
}
}
}
.zong-ji {
.title-name {
text-align: center;
font-size: 28px;
margin-bottom: 10px;
}
.js-title {
text-align: center;
font-size: 20px;
font-weight: bold;
margin-bottom: 10px;
}
.box-title {
height: 45px;
line-height: 45px;
padding: 0 10px;
font-size: 14px;
color: #333;
border: 1px solid #d3d1d1;
border-top: none;
display: flex;
}
.xiao-ji {
width: 202px;
border-right: 1px solid #d3d1d1;
}
.box-dz {
height: 40px;
line-height: 40px;
padding: 0 10px;
border-right: 1px solid #d3d1d1;
border-left: 1px solid #d3d1d1;
font-size: 14px;
font-weight: bold;
color: #333;
}
}
.da-xie {
width: 70%;
padding-left: 15px;
font-weight: bold;
}
.zong-ji {
height: 45px;
line-height: 45px;
padding: 0 10px;
font-size: 14px;
color: #333;
border: 1px solid #d3d1d1;
border-top: none;
display: flex;
.xiao-ji {
width: 202px;
border-right: 1px solid #d3d1d1;
}
.xiao-xie {
padding-left: 15px;
font-weight: bold;
}
.da-xie {
width: 70%;
padding-left: 15px;
font-weight: bold;
}
.xiao-xie {
padding-left: 15px;
font-weight: bold;
}
}
.bei-zhu {
font-size: 14px;
color: #333;
font-weight: bold;
margin-top: 10px;
font-size: 14px;
color: #333;
font-weight: bold;
margin-top: 10px;
}
.zhi-dan {
margin-top: 18px;
font-size: 14px;
color: #333;
font-weight: bold;
margin-top: 18px;
font-size: 14px;
color: #333;
font-weight: bold;
}
.selectBox{
div.ivu-select-dropdown{
height: auto;
}
.selectBox {
div.ivu-select-dropdown {
height: auto;
}
}
.footers {
width: 100%;
position: fixed;
bottom: 0;
left: 0;
text-align: center;
padding: 20px 0;
background: #d0d2d9;
div {
height: 25px;
font-size: 14px;
color: #333;
line-height: 28px;
.footers {
width: 100%;
position: fixed;
bottom: 0;
left: 0;
text-align: center;
padding: 20px 0;
background: #d0d2d9;
div {
height: 25px;
font-size: 14px;
color: #333;
line-height: 28px;
}
}
}
.outPdf table,
.outPdf table tr th,
.outPdf table tr td {
border: 1px solid #d3d1d1;
padding: 0 3px;
border: 1px solid #d3d1d1;
padding: 0 3px;
}
.outPdf table {
width: 100%;
line-height: 25px;
text-align: center;
border-collapse: collapse;
padding: 2px;
width: 100%;
line-height: 25px;
text-align: center;
border-collapse: collapse;
padding: 2px;
}
.outPdf table thead tr th {
line-height: 40px;
}
line-height: 40px;
}
.outP table,
.outP table tr th,
.outP table tr td {
border: 1px solid #000000;
padding: 0 3px;
border: 1px solid #000000;
padding: 0 3px;
}
.outP table {
width: 100%;
line-height: 25px;
text-align: center;
border-collapse: collapse;
padding: 2px;
width: 100%;
line-height: 25px;
text-align: center;
border-collapse: collapse;
padding: 2px;
}
.outP table thead tr th {
line-height: 25px;
line-height: 25px;
}
//框架页面layout用
.full {
height: 100%;
background: white;
margin-top: 45px;
.menu {
border: 1px solid #ddd;
//框架页面layout用
.full {
height: 100%;
background: white;
margin-top: 45px;
.menu {
border: 1px solid #ddd;
padding: 0 5px;
overflow: auto;
.title {
line-height: 45px;
font-size: 14px;
padding: 0 5px;
overflow: auto;
.title {
line-height: 45px;
font-size: 14px;
padding: 0 5px;
border-bottom: #e4e6ed solid 1px;
.fr {
float: right;
margin-top: 10px;
cursor: pointer;
}
.fr:hover {
color: #249e91;
}
border-bottom: #e4e6ed solid 1px;
.fr {
float: right;
margin-top: 10px;
cursor: pointer;
}
.tree {
height: calc(100% - 150px);
overflow: auto;
.fr:hover {
color: #249e91;
}
}
.content {
background: white;
padding: 0 0 0 10px;
//position: absolute;
left: 250px;
right: 10px;
.auto {
flex: 1;
overflow: auto;
position: relative;
min-height: 600px;
}
.fly {
position: relative;
overflow: inherit;
}
.ivu-btn-small {
padding: 0;
background: red;
}
.tree {
height: calc(100% - 150px);
overflow: auto;
}
}
//流程节点样式
.time {
font-size: 14px;
font-weight: bold;
}
.content {
padding-left: 5px;
}
.h100{
height: 100%;
}
//显示富文本框样式
.detail .ivu-row .filed-col p .html p{
margin: 0 10px 0 0;
background: white;
padding: 0 0 0 10px;
//position: absolute;
left: 250px;
right: 10px;
.auto {
flex: 1;
overflow: auto;
position: relative;
min-height: 600px;
}
.fly {
position: relative;
overflow: inherit;
}
.ivu-btn-small {
padding: 0;
background: red;
}
}
}
//流程节点样式
.time {
font-size: 14px;
font-weight: bold;
}
.content {
padding-left: 5px;
}
.h100 {
height: 100%;
}
//显示富文本框样式
.detail .ivu-row .filed-col p .html p {
margin: 0 10px 0 0;
}
.con_bord {
margin: 10px 20px;
margin: 10px 20px;
}
.lay100 {
height: calc(100vh - 105px);
background-color: #f5f6fa;
.con {
padding: 5px 5px 0px 10px;
}
.con_bord {
margin: 10px 20px;
box-shadow: #c7c7c7 1px 2px 7px 3px;
}
background: rgba(245, 246, 250, 1);
.lay100 {
height: calc(100vh - 105px);
background-color: #f5f6fa;
.con {
padding: 5px 5px 0px 10px;
}
.menu_side{
background: #fff!important;
margin: 5px 0 0 0!important;
border: 1px solid #dcdee2!important;
.con_bord {
margin: 10px 20px;
box-shadow: #c7c7c7 1px 2px 7px 3px;
}
background: rgba(245, 246, 250, 1);
}
.show_menu{
.menu_side {
background: #fff !important;
margin: 5px 0 0 0 !important;
border: 1px solid #dcdee2 !important;
}
.show_menu {
width: 30px;
height: 30px;
position: fixed;
top: 100px;
left: 0;
z-index: 9;
.menu_play {
width: 30px;
height: 30px;
position: fixed;
top: 100px;
left: 0;
z-index: 9;
.menu_play{
width: 30px;
height: 30px;
line-height: 34px;
font-size: 14px;
text-align: center;
color: #515A6E;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
background: #ffffff;
box-shadow: #ccc 2px 2px 4px 1px;
}
.menu_play:hover{
background-color: #2d8cf0;
color: white;
}
line-height: 34px;
font-size: 14px;
text-align: center;
color: #515A6E;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
background: #ffffff;
box-shadow: #ccc 2px 2px 4px 1px;
}
.menu_play:hover {
background-color: #2d8cf0;
color: white;
}
}
.details{
.ivu-input-number{
width: 100%;
}
.details {
.ivu-input-number {
width: 100%;
}
}
//显示富文本框时的图片
.tohtml img{
max-width: 95%;
}
\ No newline at end of file
.tohtml img {
max-width: 95%;
}
.gdShow {
box-shadow: 0px 0px 15px #333;
}
......@@ -46,6 +46,7 @@
@on-drag-drop="onDragDrop"
@on-selection-change="selectionChange"
@on-select="onSelect"
:row-key="rowKey"
></Table>
</div>
<div class="table-footer">
......@@ -225,6 +226,10 @@ export default {
span: {//栅格数
type: Number,
default: 24
},
//table控件children子数据控制功能
rowKey: {
type: [String, Number]
},
gutter:{//间距
type:Number,
......
......@@ -32,7 +32,7 @@
@on-selection-change="onSelect"
:batch="true"
:border="false"
:rowKey="id"
rowKey="id"
>
<template slot="easySearch">
<Form ref="formInline" :model="easySearch" inline>
......
......@@ -6,7 +6,6 @@
<Changesingle />
</TabPane>
<TabPane label="不合格审理单" name="unqualifiedorder">
<unqualifiedorder ref="unqualifiedorder"></unqualifiedorder>
</TabPane>
<TabPane label="生产协调单" name="technicalcoordination">
......
......@@ -13,4 +13,17 @@ export default {
orderanddispatchinfos(params) {
return Api.get(`${PlanUrl}/orderexecutenew/orderanddispatchinfos`, params);
},
//工单开工
entrystart(params) {
return Api.post(`${PlanUrl}/orderexecute/entrystart`, params);
},
//工单暂停
entrypause(params) {
return Api.post(`${PlanUrl}/orderexecute/entrypause`, params);
},
//工单继续
entrentrycontinuestart(params) {
return Api.post(`${PlanUrl}/orderexecute/entrycontinue`, params);
},
}
\ No newline at end of file
<template>
<div class="order_list">
<div class="card_box">
<Card class="card_order" v-for="(item,index) in listTasks"
@click.native="goPage(item)" :key="index"
:class="item.status==12 ? 'card_border1' : (item.status==14 ? 'card_border2': (item.status==5 ?'card_border3':
<div class="order_list">
<div class="card_box">
<Card
class="card_order"
v-for="(item,index) in listTasks"
:style="order==item.id?'box-shadow: 0px 0px 15px #333;':''"
@click.native="goPage(item)"
:key="index"
:class="item.status==12 ? 'card_border1' : (item.status==14 ? 'card_border2': (item.status==5 ?'card_border3':
(item.status==7?'card_border4':(item.status==-1?'card_border5':''))))"
>
<!-- :class="item.status=='未开工'? 'card_border1' : (item.status=='执行中' ? 'card_border2': (item.status=='暂停中' ?'card_border3':
(item.status=='交检中'?'card_border4':(item.status=='交接中'?'card_border5':''))))" -->
<p slot="title">{{item.mesCode}}
<state
code="taskList.status"
ref="state" class="fr"
:value="item.status"
type="text"
></state>
<!-- <span >{{item.status}}</span> -->
</p>
<p class="order_tit">{{item.productName}}</p>
<p><Icon type="ios-pricetags" />{{item.taskName}}</p>
<p>{{item.beginTime}}~{{item.endTime}}</p>
</Card>
<p>{{listTasks.length}} 个工单</p>
</div>
>
<!-- :class="item.status=='未开工'? 'card_border1' : (item.status=='执行中' ? 'card_border2': (item.status=='暂停中' ?'card_border3':
(item.status=='交检中'?'card_border4':(item.status=='交接中'?'card_border5':''))))"-->
<p slot="title">
{{item.mesCode}}
<state code="taskList.status" ref="state" class="fr" :value="item.status" type="text"></state>
<!-- <span >{{item.status}}</span> -->
</p>
<p class="order_tit">{{item.productName}}</p>
<p>
<Icon type="ios-pricetags" />
{{item.taskName}}
</p>
<p>{{item.beginTime}}~{{item.endTime}}</p>
</Card>
<p>{{listTasks.length}} 个工单</p>
</div>
</div>
</template>
<script>
import Api from "../../api";
export default {
name:'orderlist',
data(){
return{
gnFlag:0,
listTasks:[],
dataLength:0,
}
name: "orderlist",
data() {
return {
gnFlag: 0,
listTasks: [],
dataLength: 0
};
},
props: {
order: {
type: String,
default: '',
}
},
created() {
this.loadTree(-9);
},
methods: {
loadTree(value) {
let parmse = {
status: value,
isAsc: true
};
Api.getCardList(parmse).then(res => {
if (res.success) {
this.listTasks = res.result;
this.dataLength = res.result.length;
}
});
},
created() {
this.loadTree(-9);
gnFunto(number, type) {
this.gnFlag = number;
},
methods: {
loadTree(value){
let parmse = {
status: value,
isAsc: true
}
Api.getCardList(parmse).then(res=>{
if(res.success){
this.listTasks = res.result
this.dataLength = res.result.length
}
})
},
gnFunto(number,type){
this.gnFlag = number
},
goPage(item){
console.log(item)
this.$Message.success("工单查询数据...")
},
},
watch:{
},
}
goPage(item) {
this.$router.push({
path: "/produce/execute",
query: {
id: item.id,
orderId: item.orderId,
executeId: item.executeId,
headid: item.routingHeaderId,
dispatchStatus: item.status
}
});
}
},
watch: {
order(v)
{
//alert(v)
}
}
};
</script>
\ No newline at end of file
......@@ -25,7 +25,7 @@
</div>
</div>
<!-- 列表卡片主内容 -->
<orderlist ref="orderlist" />
<orderlist ref="orderlist" :order="inputId" />
</Drawer>
<!-- 功能区 -->
<Drawer
......@@ -56,8 +56,9 @@ export default {
detail: null,
row:{},
odermodel: -9,
orderId: null,
condition: []
orderId: this.$route.query.id,
condition: [],
inputId: null,
};
},
created() {
......@@ -66,6 +67,7 @@ export default {
row.orderId = this.$route.query.orderId;
row.executeId = this.$route.query.executeId;
this.row=row
this.inputId=this.$route.query.id
this.detail = () => import("./starOrder/index");
},
async fetch({ store, params }) {
......@@ -120,6 +122,14 @@ export default {
} //测试数据
}
},
watch: {}
watch: {
'$route.query.id'(v)
{
this.row.id = v
this.inputId=v
this.detail = () => import("./starOrder/index")
},
}
};
</script>
......@@ -9,18 +9,12 @@
<Button class="button" type="primary" @click="rechecked">反选</Button>
</p>
<div class="list01">
<!-- -->
<Tag
type="dot"
:checkable="true"
class="tag_card"
size="large"
type="dot" :checkable="true"
class="tag_card" size="large"
v-for="(item,index) in cardlist"
:name="item.id"
:key="index"
:checked="item.checked"
color="primary"
@on-change="changeCards"
:name="item.id" :key="index" :checked="item.checked"
color="primary" @on-change="changeCards"
>{{item.prefix}}.{{item.code}}</Tag>
</div>
</div>
......@@ -47,7 +41,7 @@
:checkable="false"
closable
@on-close="hegeClose"
>{{ item.code}}</Tag>
>{{item.prefix}}.{{ item.code}}</Tag>
</div>
</div>
<div class="mass_list rangbu" v-if="ranglist.length>0">
......@@ -60,15 +54,11 @@
</h2>
<div class="list02">
<Tag
type="dot"
class="tag_card02"
v-for="(item,index) in ranglist"
:key="index"
:name="item.id"
:checkable="false"
closable
@on-close="handleClose"
>{{ item.code}}</Tag>
type="dot" class="tag_card02"
v-for="(item,index) in ranglist" :key="index"
:name="item.id" :checkable="false"
closable @on-close="handleClose"
>{{item.prefix}}.{{ item.code}}</Tag>
</div>
</div>
<div class="mass_list fanxiu_box" v-if="fanlist.length>0">
......@@ -80,15 +70,11 @@
</h2>
<div class="list02">
<Tag
type="dot"
class="tag_card02"
v-for="(item,index) in fanlist"
:key="index"
:name="item.id"
:checkable="false"
closable
@on-close="fanClose"
>{{ item.code}}</Tag>
type="dot" class="tag_card02"
v-for="(item,index) in fanlist" :key="index"
:name="item.id" :checkable="false"
closable @on-close="fanClose"
>{{item.prefix}}.{{ item.code}}</Tag>
</div>
</div>
<div class="mass_list fei_box" v-if="feilist.length>0">
......@@ -100,15 +86,11 @@
</h2>
<div class="list02">
<Tag
type="dot"
class="tag_card02"
v-for="(item,index) in feilist"
:key="index"
:name="item.id"
:checkable="false"
closable
@on-close="feiClose"
>{{ item.code}}</Tag>
type="dot" class="tag_card02"
v-for="(item,index) in feilist" :key="index"
:name="item.id" :checkable="false"
closable @on-close="feiClose"
>{{item.prefix}}.{{ item.code}}</Tag>
</div>
</div>
<div class="fei_right" v-if="feilist.length>0">
......@@ -134,14 +116,9 @@
</div>
</div>
<div class="futer flex fc-ev" v-if="ranglist.length>0||fanlist.length>0||feilist.length>0">
<Button
class="button"
size="large"
type="primary"
@click="sendOrder"
v-if="feilist.length>0"
>送审</Button>
<Button class="button" size="large" type="primary" @click="sendOrder" v-if="feilist.length>0" >送审</Button>
<Button class="button" size="large" type="primary" @click="submit" v-else>提交</Button>
<!-- :disabled="hegelist.length!=0&&fanlist.length!=0&&ranglist.length!=0" -->
<Button class="button" size="large" @click="toOrder">取消</Button>
</div>
<!-- 订单送审 -->
......@@ -160,7 +137,7 @@
</template>
<script>
import Api from "../api";
import OrderSendReview from "@/components/orderOperator/orderSendReview";
import OrderSendReview from "./orderSendReview";
export default {
name: "starOrder",
components: { OrderSendReview },
......@@ -172,6 +149,7 @@ export default {
mTitle: "确认弹框",
num: "",
surMasg: "",
entity: {},//获取展示数据
rules: {
question: [
{
......@@ -225,18 +203,37 @@ export default {
},
methods: {
loadFun() {
let pid = this.$route.query.id; // JSON.stringify()
let pid = Number(this.$route.query.id); // JSON.stringify()
Api.getpaged({ id: pid }).then(res => {
if (res.success) {
let resoult = res.result;
resoult.filter(u => {
u.checked = false;
if(u.productStatus==1){
this.hegelist.push(u)
}
if(u.productStatus==2){
this.feilist.push(u)
}
if(u.productStatus==3){
this.ranglist.push(u)
}
if(u.productStatus==4){
this.fanlist.push(u)
}if(u.productStatus==0){
this.cardlist.push(u)
}
});
this.cardlist = resoult;
} else {
console.log(res.error);
}
})
.catch(e => {
this.$Message.error("连接错误");
});
Api.orderanddispatchinfos({ id: pid }).then(res=>{
if (res.success && res.result) {
this.entity = res.result;
}
})
},
// 全选
allcheck() {
......@@ -345,7 +342,8 @@ export default {
if (unmb == 3) {
this.cansolfei();
this.suModal = false;
} else {
}
if (unmb == 0) {
this.cansolhege();
this.suModal = false;
}
......@@ -356,21 +354,21 @@ export default {
v.productStatus = 0
this.cardlist.unshift(v);
});
this.hegeplist = [];
this.hegelist = [];
},
hegeClose(event, name) {
let hegeold = this.hegelist;
let inde = this.hegelist.findIndex(item => {
return item.id === name;
let ind = this.hegelist.findIndex(hgitem => {
return hgitem.id === name;
});
let utemlist = hegeold.filter(utem => {
if (utem.id == name) {
utem.productStatus = 0
return utem;
let hgtemlist = hegeold.filter(hgtem => {
if (hgtem.id == name) {
hgtem.productStatus = 0
return hgtem;
}
});
this.hegelist.splice(inde, 1);
this.cardlist.splice(0, 0, utemlist[0]);
this.hegelist.splice(ind, 1);
this.cardlist.splice(0, 0, hgtemlist[0]);
},
cansolRang() {
let rangblist = this.ranglist;
......@@ -426,27 +424,54 @@ export default {
},
// 提交
submit() {
this.$Message.success("提交中...");
console.log(this.ranglist)
// this.feilist.cause = this.orderForm.question;
// this.feilist.reporter = this.orderForm.useroption;
let hegeops = {
prodcutIds: [],
productStatus: this.hegelist[0].productStatus||''
};
let rangops = {
prodcutIds: [],
productStatus: this.ranglist[0].productStatus||''
};
let fanxops = {
prodcutIds: [],
productStatus: this.fanlist[0].productStatus||''
};
// let prodcutIds = [],productStatus=this.hegelist[0].productStatus;
this.hegelist.map(uh=>{hegeops.prodcutIds.push(uh.id)})
this.ranglist.map(ur=>{rangops.prodcutIds.push(ur.id)})
this.fanlist.map(uf=>{fanxops.prodcutIds.push(uf.id)})
let lists = [hegeops,rangops,fanxops];
let parmes={
dispatchId: this.$route.query.id,
orderId: this.$route.query.orderId,
list: [
{
"productStatus": 0,
"prodcutIds": [
0
],
"cause": "string",
"reporter": "string"
}
]
};
let executeId = this.$route.query.executeId;
console.log()
// Api.submitData().then(res=>{
// })
list: lists
// [
// this.feilist,
// this.hegelist,
// this.ranglist,
// this.fanlist,
// {
// "productStatus": 0,
// "prodcutIds": [
// 0
// ],
// "cause": "string",
// "reporter": "string"
// }
// ]
};
// let executeId = this.$route.query.executeId;
console.log(parmes)
Api.submitData(parmes).then(res=>{
if(res.success){
this.$Message.success("提交成功!");
}else{
this.$Message.success("提交失败~");
}
})
},
// 送审
sendOrder() {
......@@ -454,6 +479,7 @@ export default {
if (valid) {
// this.$Message.success("送审...")
this.ModalOrder = true;
this.$refs.orderSendReview.intData(this.entity);
}
});
},
......
<template>
<div class="detail">
<Row>
<Filed :span="12" :name="l('productName')">{{info.orderInfo.productName}}</Filed>
<Filed :span="12" :name="l('drawnNumber')">{{info.orderInfo.drawnNumber}}</Filed>
<Filed :span="12" :name="l('status')">{{info.orderInfo.projectNumber}}</Filed>
<Filed :span="12" :name="l('mesCode')">{{info.orderInfo.mesCode}}</Filed>
<Filed :span="12" name="批次号">{{info.orderInfo.batchNumber}}</Filed>
<!-- <Filed :span="8" :name="l('batchNumber')">{{info.orderInfo.batchNumber}}</Filed> -->
<Filed :span="12" :name="l('quantity')">{{info.orderInfo.quantity}}</Filed>
<Filed :span="12" name="节点日期">{{info.orderInfo.demandFinishDate}}</Filed>
<Filed :span="12" name="不合格产品数量">{{info.orderInfo.demandFinishDate}}</Filed>
<Filed :span="12" name="问题原因">{{info.orderInfo.demandFinishDate}}</Filed>
<Filed :span="12" name="责任归属">{{info.orderInfo.demandFinishDate}}</Filed>
<Filed :span="24" name="不合格产品号">{{info.orderInfo.demandFinishDate}}</Filed>
<!-- <Filed :span="8" :name="l('stage')">
<state code="plan.order.stage" :value="info.orderInfo.stage+''" type="text"></state>
</Filed>
<Filed :span="8" :name="l('taskType')">
<state code="plan.order.taskType" :value="info.orderInfo.taskType+''" type="text"></state>
</Filed>
<Filed :span="8" :name="l('materialId')">
<state code="plan.order.material" :value="info.orderInfo.materialId+''" type="text"></state>
</Filed> -->
</Row>
</div>
</template>
<script>
export default {
name: 'orderInfos',
props: ['info'],
async fetch({ store, params }) {
await store.dispatch('loadDictionary') // 加载数据字典
},
data() {
return {}
},
methods: {
arry2Name(arryList, values) {
//预警类别转换
var codes = arryList
var name = ''
for (let i in codes) {
if (values == codes[i].value) {
name = codes[i].name
}
}
return name
},
l(key) {
key = 'order_list' + '.' + key
return this.$t(key)
}
}
}
</script>
\ No newline at end of file
<template>
<div style="width:80%;margin:0 auto" :style="{ height: divHeight }">
<OrderInfos v-if="info.status" :info="info"></OrderInfos>
<!-- 批量送审展示列表 -->
<!-- <Table :info1="info1"
:loading="loading"
border
:columns="columns1"
:data="dataList"
class="tableCommon"
v-if="osrMoreList"
></Table> -->
<Process ref="userProcess" schemaIdVal="c2e09c9b-02a9-4188-97a6-cdb68d50a64a"/>
</div>
</template>
<script>
import OrderInfos from './orderInfos'
import Process from '@/components/orderOperator/process'
export default {
name: 'orderSendReview',
components: {
OrderInfos,
Process
},
data() {
return {
loading: false,
divHeight: '300px',
osrOneList: false, //一条数据显示详细
osrMoreList: false, //多条数据只显示列表
info: {
status: true,
orderInfo: [],
},
orderSearchForm: {
reviewUser: '' //订单名称
},
columns1: [
{
title: '订单编码',
key: 'mesCode',
width: 180,
tooltip: true
},
{
title: '任务类型',
key: 'taskType',
align: 'center',
width: 100,
tooltip: true
},
{
title: '产品名称',
key: 'productName',
tooltip: true
},
{
title: '阶段',
key: 'stage',
width: 80
},
{
title: '材料',
key: 'materialId',
width: 100,
tooltip: true
},
{
title: '数量',
key: 'quantity',
align: 'right',
width: 70
}
],
dataList: [],
dataListRetrun: [], //确定后返回数据
operatorIdList: [], //操作员id
// } //确定后返回数据
}
},
created() {
var theight = window.innerHeight - 630 + 'px'
this.divHeight = theight
},
mounted() {
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
window.screenHeight = window.innerHeight
this.divHeight = window.screenHeight - 630 + 'px'
})()
}
},
methods: {
intData(data) {
//打开modal层时给订单list赋值
if(data){
this.info.Unqualified = data
}
},
returnDataList() {
let ues = this.$refs.userProcess
this.operatorIdList = ues.immutData
return this.operatorIdList
}
}
}
</script>
<template>
<div class>
<div class="star" v-if="!starmodal">
<div class="star" v-if="dispatchStatus==12">
<a class="start" @click="starFun">
<Icon type="md-play" />开工
</a>
</div>
<div class="star" v-else-if="starmodal">
<div class="star" v-else>
<div class="flex fc-b">
<Button class="button" size="large" type="primary">
<Icon type="ios-pause" />暂停
<Button class="button" size="large" type="primary" @click="pauseFun" v-show="btnTextStatus">
<Icon type="ios-pause" />
{{btnText}}
</Button>
<Button class="button" size="large" type="primary">
<Icon type="logo-angular" />交检
<Button class="button" size="large" type="primary" @click="goPage(8,'数据填报')">
<Icon type="logo-angular" />数据填报
</Button>
<Button class="button" size="large" type="primary">
<Icon type="ios-checkmark-circle-outline" />完工
<Button class="button" size="large" type="primary" @click="goPage(7,'质量判定')">
<Icon type="ios-checkmark-circle-outline" />质量判定
</Button>
<Button class="button" size="large" type="primary" @click="transferFn">
<Icon type="md-swap" />转序交接
</Button>
</div>
<div class="star_step">
<div class="star_step" v-if="false">
<div class="step_item" v-for="i of 6" :key="i">
<p class="icon_A" v-if="i>=4">
<Icon type="md-checkmark-circle" />
......@@ -50,7 +51,10 @@
<ul>
<li>产品名称:{{entity.productName}}</li>
<li>图号:{{entity.drawnNumber}}</li>
<li>状态:{{entity.status}}</li>
<li>
状态:
<state code="plan.order.status" ref="state" :value="entity.status" type="text"></state>
</li>
<li>订单编号:{{entity.mesCode}}</li>
<li>批次号:{{entity.batchNumber}}</li>
<li>计划数量:{{entity.quantity}}</li>
......@@ -64,13 +68,14 @@
<li>派工数量:{{entity.dispatchQuantity}}</li>
<li>人员信息:{{entity.userNames}}</li>
<li>准备工时:{{entity.setupTime}}</li>
<li>工单状态: <state code="taskList.status" ref="state1" :value="dispatchStatus" type="text"></state></li>
</ul>
</div>
<div class="img_box fl" style="background:#DDD">
<ViewerImg :images="images" />
</div>
</div>
<Modal v-model="ransferModal" :title="transferTitle" width="800" >
<Modal v-model="ransferModal" :title="transferTitle" width="800">
<!-- <component :is="detail" :eid="curId" @on-close="cancel" @on-ok="ok" footer-hide/> -->
<p>转序交接</p>
</Modal>
......@@ -90,9 +95,29 @@ export default {
ransferModal: false,
transferTitle: "确认转序",
images: [],
iamges1: [
{
thumbnail: iconImg + "noPic_product.png",
source: iconImg + "noPic_product.png"
}
],
entity: {},
id: Number(this.$route.query.id),
eid: ""
orderId: Number(this.$route.query.orderId),
dispatchStatus: Number(this.$route.query.dispatchStatus),
eid: "",
btnText:
Number(this.$route.query.dispatchStatus) == 14
? "暂停"
: Number(this.$route.query.dispatchStatus) == 5
? "继续"
: "",
btnTextStatus:
Number(this.$route.query.dispatchStatus) == 14
? true
: Number(this.$route.query.dispatchStatus) == 5
? true
: false
};
},
created() {
......@@ -102,7 +127,7 @@ export default {
await store.dispatch("loadDictionary"); // 加载数据字典
},
mounted() {
this.load(this.id)
this.load(this.id);
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
......@@ -112,12 +137,81 @@ export default {
},
methods: {
starFun() {
this.$Message.success("开工...");
//开工
let params = {
id: this.id,
orderid: this.orderId + ""
};
Api.entrystart(params)
.then(res => {
if (res.success) {
this.$Message.success("开工成功!");
this.dispatchStatus = 14;
this.textBtn();
} else {
this.$Message.error("开工失败!");
}
})
.catch(err => {
this.$Message.error("连接错误");
});
},
transferFn(){
this.ransferModal = true
pauseFun() {
//暂停or继续
let params = {
id: this.id,
orderid: this.orderId + ""
};
if (this.btnText == "暂停") {
Api.entrypause(params)
.then(res => {
if (res.success) {
this.$Message.success("暂停成功!");
this.dispatchStatus = 5;
this.btnText = "继续";
this.textBtn();
} else {
this.$Message.error("暂停失败!");
}
})
.catch(err => {
this.$Message.error("连接错误");
});
} else if (this.btnText == "继续") {
Api.entrentrycontinuestart(params)
.then(res => {
if (res.success) {
this.$Message.success("继续成功!");
this.dispatchStatus = 14;
this.btnText = "暂停";
this.textBtn();
} else {
this.$Message.error("继续失败!");
}
})
.catch(err => {
this.$Message.error("连接错误");
});
}
},
textBtn() {
//控制第一个按钮的text及显示
if (this.dispatchStatus == 14) {
this.btnText = "暂停";
this.btnTextStatus = true;
} else if (this.dispatchStatus == 5) {
this.btnText = "继续";
this.btnTextStatus = true;
} else {
this.btnText = "";
this.btnTextStatus = false;
}
},
transferFn() {
this.ransferModal = true;
},
load(v) {
//加载基础数据
let params = {
id: v
};
......@@ -128,13 +222,13 @@ export default {
if (r.result.productId && r.result.productId > 0) {
ApiTech.get({ id: r.result.productId }).then(res => {
if (res.success && res.result) {
if(res.result.productUrlList&& res.result.productUrlList.length>0)
{
this.eid = res.result.productUrlList;
}
else
{
this.eid=this.$u.guid();
if (
res.result.productUrlList &&
res.result.productUrlList.length > 0
) {
this.eid = res.result.productUrlList;
} else {
this.eid = this.$u.guid();
}
//查询上传到文件服务器上的文件
let parms = {
......@@ -143,18 +237,24 @@ export default {
name: "",
field: ""
};
this.$http.sysUser.getFile(parms).then(res1 => {
if (res1.data != [] && res1.data.length > 0) {
this.images = [];
res1.data.forEach(datas => {
let objImag = {};
objImag.thumbnail=this.downUrl+datas.downloadPath
objImag.source=this.downUrl+datas.downloadPath
this.images.push(objImag)
});
}
});
this.$http.sysUser
.getFile(parms)
.then(res1 => {
if (res1.data != [] && res1.data.length > 0) {
this.images.splice(0);
res1.data.forEach(datas => {
let objImag = {};
objImag.thumbnail = this.downUrl + datas.downloadPath;
objImag.source = this.downUrl + datas.downloadPath;
this.images.push(objImag);
});
} else {
this.images = this.iamges1;
}
})
.catch(err => {
this.images = this.iamges1;
});
}
});
}
......@@ -169,11 +269,36 @@ export default {
},
show() {
this.$viewer.show();
},
goPage(type,title)
{
this.$parent.changeTitle(type,title)
}
},
watch:{
images(v){
this.images=v
watch: {
"$route.query.id"(v1) {
this.images = [];
this.id = v1;
this.load(v1);
},
"$route.query.dispatchStatus"(v2) {
this.dispatchStatus = v2;
if (v2 == 14) {
this.btnText = "暂停";
this.btnTextStatus = true;
} else if (v2 == 5) {
this.btnText = "继续";
this.btnTextStatus = true;
} else {
this.btnText = "";
this.btnTextStatus = false;
}
},
"$route.query.orderId"(v3) {
this.orderId = v3;
},
images(v) {
this.images = v;
}
}
};
......
......@@ -27,7 +27,7 @@
<Button :icon="iconInfo" shape="circle" :title="titleInfo" @click="changeShwo"></Button>
</template>
<template slot="card" slot-scope="{row}">
<div class="body" @click="toExecute(row.id,row.orderId,row.executeId,row.routingHeaderId)">
<div class="body" @click="toExecute(row.id,row.orderId,row.executeId,row.routingHeaderId,row.status)">
<Row class="title-i">
<Col :span="10" class="order-code">{{row.productName}}</Col>
<Col :span="10" class="order-code">{{row.mesCode}}</Col>
......@@ -181,7 +181,8 @@ export default {
params.row.id,
params.row.orderId,
params.row.executeId,
params.row.routingHeaderId
params.row.routingHeaderId,
params.row.status
)
}
},
......@@ -211,11 +212,11 @@ export default {
search() {
this.$refs.grid.reload(this.easySearch);
},
toExecute(id, orderId, executeId,headid) {
toExecute(id, orderId, executeId,headid,status) {
//跳转到对应操作页面 获取id:this.$route.query.id
this.$router.push({
path: "/produce/execute",
query: { id: id, orderId: orderId, executeId: executeId,headid:headid }
query: { id: id, orderId: orderId, executeId: executeId,headid:headid,dispatchStatus:status }
});
},
tdStyle(val) {
......@@ -349,8 +350,8 @@ export default {
}
.box {
color: white;
width: 70px;
height: 20px;
width: 80px;
height: 30px;
overflow: hidden;
/* Rotate div */
transform: rotate(33deg);
......
......@@ -50,6 +50,9 @@ div::-webkit-scrollbar-corner {
.fc-a {
justify-content: space-around;
}
.fc-ev {
justify-content: space-evenly;
}
.fd {
flex-direction: column;
}
......@@ -721,7 +724,7 @@ html [type=button] {
}
.waitTask {
/*flex 布局*/
display: flex!important;
display: flex !important;
align-items: center;
width: 200px;
height: 100px;
......@@ -1028,7 +1031,7 @@ html [type=button] {
}
.menu_side {
background: #fff !important;
margin: 5px 0 0 0!important;
margin: 5px 0 0 0 !important;
border: 1px solid #dcdee2 !important;
}
.show_menu {
......@@ -1061,3 +1064,6 @@ html [type=button] {
.tohtml img {
max-width: 95%;
}
.gdShow {
box-shadow: 0px 0px 15px #333;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment