Commit d7ec0215 authored by 周远喜's avatar 周远喜

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

parents 743ae347 99159c18
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,
......
......@@ -33,14 +33,25 @@
</Col>
<Col :span="24" style="padding:20px 0 0px 10px;margin-bottom:10px;" class="table-solt">
<Table border :columns="columns" :data="checkList" class="tableCommon" height="300">
<template slot-scope="{ row, index }" slot="title">
<div v-if="row.fieldType==1||row.fieldType==2">{{row.title}}</div>
<Input
v-if="row.fieldType==3"
v-model="row.title"
placeholder="请输入"
@on-blur="setRow(row,index)"
/>
</template>
<template slot-scope="{ row, index }" slot="note">
<Input v-model="row.note" placeholder="请输入" @on-blur="setRow(row,index)" />
<div v-if="row.fieldType==1">{{row.note}}</div>
<Input v-model="row.note" placeholder="请输入" @on-blur="setRow(row,index)" v-else />
</template>
<template slot-scope="{ row, index }" slot="datatype">
<!-- <Input v-model="row.datatype" placeholder="请输入" @on-blur="setRow(row,index)" /> -->
<Select v-model="row.datatype" style="width:200px" @on-change="setRow(row,index)">
<div v-if="row.fieldType==1">{{row.datatype}}</div>
<Select v-model="row.datatype" v-else>
<Option
v-for="item in cityList"
@on-change="setRow(row,index)"
v-for="(item,index) in cityList"
:value="item.value"
:key="item.value"
>{{ item.label }}</Option>
......@@ -52,8 +63,15 @@
<template slot-scope="{ row, index }" slot="required">
<Checkbox v-model="row.required" @on-change="setRow(row,index)"></Checkbox>
</template>
<template slot-scope="{ row, index }" slot="isunique">
<Checkbox v-model="row.isunique" @on-change="setRow(row,index)"></Checkbox>
<template slot-scope="{ row, index }" slot="isUnique">
<Checkbox v-model="row.isUnique" @on-change="setRow(row,index)"></Checkbox>
</template>
<template
slot-scope="{ row, index }"
slot="action"
v-if="row.fieldType==2||row.fieldType==3"
>
<a @click="remove(index)" style="color:#FF7A8B">删除</a>
</template>
</Table>
</Col>
......@@ -79,6 +97,7 @@ export default {
upId: 0,
code: 0
},
cityList: [
{
value: "0",
......@@ -112,7 +131,8 @@ export default {
{
title: "属性名称",
key: "title",
align: "center"
align: "center",
slot: "title"
},
{
title: "备注",
......@@ -140,9 +160,15 @@ export default {
},
{
title: "是否唯一属性",
key: "isunique",
key: "isUnique",
align: "center",
slot: "isunique"
slot: "isUnique"
},
{
title: "操作",
slot: "action",
width: 100,
align: "center"
}
],
checkList: [],
......@@ -159,19 +185,47 @@ export default {
},
methods: {
tableData() {
let conditions = [];
let conditions = [
{
conditionalType: "In",
fieldName: "fieldType",
fieldValue: "1,2"
},
{
conditionalType: "Equal",
fieldName: "categoryId",
fieldValue: "0"
}
];
Api.listTable({ conditions: conditions }).then(r => {
if (r.result) {
console.log(r);
this.checkList = r.result;
var arr = r.result;
this.checkList = arr.filter(function(item) {
delete item["id"];
return item
});
}
});
},
remove(index) {
this.checkList.splice(index, 1);
},
setRow() {
this.$set(this.checkList, index, row);
},
addNew() {},
addNew() {
let obj = {
title: "",
note: "",
datatype: "",
required: false,
isunique: false,
fieldType: 3,
categoryId: 0
};
this.checkList.push(obj);
},
handleSubmit() {
this.$refs.form.validate(v => {
if (v) {
......
......@@ -33,14 +33,25 @@
</Col>
<Col :span="24" style="padding:20px 0 0px 10px;margin-bottom:10px;" class="table-solt">
<Table border :columns="columns" :data="checkList" class="tableCommon" height="300">
<template slot-scope="{ row, index }" slot="title">
<div v-if="row.fieldType==1||row.fieldType==2">{{row.title}}</div>
<Input
v-if="row.fieldType==3"
v-model="row.title"
placeholder="请输入"
@on-blur="setRow(row,index)"
/>
</template>
<template slot-scope="{ row, index }" slot="note">
<Input v-model="row.note" placeholder="请输入" @on-blur="setRow(row,index)" />
<div v-if="row.fieldType==1">{{row.note}}</div>
<Input v-model="row.note" placeholder="请输入" @on-blur="setRow(row,index)" v-else />
</template>
<template slot-scope="{ row, index }" slot="datatype">
<!-- <Input v-model="row.datatype" placeholder="请输入" @on-blur="setRow(row,index)" /> -->
<Select v-model="row.datatype" style="width:200px" @on-change="setRow(row,index)">
<div v-if="row.fieldType==1">{{row.datatype}}</div>
<Select v-model="row.datatype" v-else>
<Option
v-for="item in cityList"
@on-change="setRow(row,index)"
v-for="(item,index) in cityList"
:value="item.value"
:key="item.value"
>{{ item.label }}</Option>
......@@ -52,8 +63,15 @@
<template slot-scope="{ row, index }" slot="required">
<Checkbox v-model="row.required" @on-change="setRow(row,index)"></Checkbox>
</template>
<template slot-scope="{ row, index }" slot="isunique">
<Checkbox v-model="row.isunique" @on-change="setRow(row,index)"></Checkbox>
<template slot-scope="{ row, index }" slot="isUnique">
<Checkbox v-model="row.isUnique" @on-change="setRow(row,index)"></Checkbox>
</template>
<template
slot-scope="{ row, index }"
slot="action"
v-if="row.fieldType==2||row.fieldType==3"
>
<a @click="remove(index)" style="color:#FF7A8B">删除</a>
</template>
</Table>
</Col>
......@@ -73,6 +91,7 @@
<script>
import Api from "./api";
export default {
props: ["nodeInfo"],
data() {
return {
entity: {
......@@ -143,6 +162,12 @@ export default {
key: "isunique",
align: "center",
slot: "isunique"
},
{
title: "操作",
slot: "action",
width: 100,
align: "center"
}
],
checkList: [],
......@@ -151,13 +176,22 @@ export default {
}
};
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
},
mounted() {
this.tableData();
this.get();
},
methods: {
get() {
Api.get({ id: this.nodeInfo.id }).then(r => {
if (r.result) {
this.entity = r.result;
}
});
},
tableData() {
let conditions = [];
Api.listTable({ conditions: conditions }).then(r => {
......@@ -167,11 +201,24 @@ export default {
}
});
},
remove(index) {
this.checkList.splice(index, 1);
},
setRow() {
this.$set(this.checkList, index, row);
},
addNew() {},
addNew() {
let obj = {
title: "",
note: "",
datatype: "",
required: false,
isunique: false,
fieldType: 3,
categoryId: 0
};
this.checkList.push(obj);
},
handleSubmit() {
this.$refs.form.validate(v => {
if (v) {
......
......@@ -56,7 +56,7 @@
<!-- <Product :parent="parent" /> -->
</Content>
</Layout>
<Modal v-model="modal" :title="title" width="1000" footer-hide>
<Modal v-model="modal" :title="title" width="1000" footer-hide :mask-closable="false">
<component :is="detail" :eid="curId" :nodeInfo="nodeInfo" @on-close="cancel" @on-ok="ok" />
</Modal>
</div>
......
......@@ -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
......@@ -391,7 +391,7 @@
}
.mass_box{
h2{ height: 40px;}
.weizhix{ color: #4d5055;}
// .weizhix{ color: #4d5055;}
.rangb{ color: #515A6E;}
.hege{ color: #2680EB;}
.fanxiu{ color: #FFA000;}
......@@ -416,6 +416,7 @@
margin: 15px 0;
.btn_play{
margin: 0 0 20px 0;
color: #4d5055;
}
.list01{
min-height: 50px;
......
......@@ -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 }) {
......@@ -124,6 +126,14 @@ export default {
} //测试数据
}
},
watch: {}
watch: {
'$route.query.id'(v)
{
this.row.id = v
this.inputId=v
this.detail = () => import("./starOrder/index")
},
}
};
</script>
......@@ -2,12 +2,11 @@
<template>
<div class="wu_bg">
<div class="mass_box">
<h2 class="weizhix">未执行({{cardlist.length}}</h2>
<div class="mass_list">
<p class="btn_play">
<h2 class="btn_play">未完工({{cardlist.length}}
<Button class="button" type="primary" @click="allcheck">全选</Button>
<Button class="button" type="primary" @click="rechecked">反选</Button>
</p>
</h2>
<div class="list01">
<Tag
type="dot" :checkable="true"
......@@ -121,8 +120,8 @@
<!-- :disabled="hegelist.length!=0&&fanlist.length!=0&&ranglist.length!=0" -->
<Button class="button" size="large" @click="toOrder">取消</Button>
</div>
<!-- 订单送审 -->
<Modal v-model="ModalOrder" title="订单送审" :mask-closable="false" :scrollable="true" fullscreen>
<!-- 不合格品送审 -->
<Modal v-model="ModalOrder" title="不合格品送审" :mask-closable="false" :scrollable="true" fullscreen>
<OrderSendReview ref="orderSendReview"></OrderSendReview>
<div slot="footer">
<Button @click="ModalOrder = false">取消</Button>
......@@ -424,46 +423,48 @@ export default {
},
// 提交
submit() {
console.log(this.ranglist)
// this.feilist.cause = this.orderForm.question;
// this.feilist.reporter = this.orderForm.useroption;
let hegeops = {
let hegeops={}
let rangops={}
let fanxops={}
let feipops={}
let lists = [];
if(this.hegelist.length>0){
hegeops = {
prodcutIds: [],
productStatus: this.hegelist[0].productStatus||''
};
let rangops = {
productStatus: this.hegelist[0].productStatus
};
this.hegelist.map(uh=>{hegeops.prodcutIds.push(uh.id)})
}
if(this.ranglist.length>0){
rangops = {
prodcutIds: [],
productStatus: this.ranglist[0].productStatus||''
};
let fanxops = {
};
this.ranglist.map(ur=>{rangops.prodcutIds.push(ur.id)})
}
if(this.fanlist.length>0){
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];
productStatus: this.fanlist[0].productStatus
};
this.fanlist.map(uf=>{fanxops.prodcutIds.push(uf.id)})
}
if(this.feilist.length>0){
feipops = {
prodcutIds: [],
productStatus: this.feilist[0].productStatus,
cause: this.orderForm.question,
reporter: this.orderForm.useroption,
};
this.feilist.map(uf=>{feipops.prodcutIds.push(uf.id)})
}
lists = [hegeops,rangops,fanxops];
console.log(lists)
let parmes={
dispatchId: this.$route.query.id,
orderId: this.$route.query.orderId,
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){
......@@ -475,11 +476,24 @@ export default {
},
// 送审
sendOrder() {
let orderse = []
this.feilist.map(item=>{
orderse.push(item.prefix+'.'+item.code)
})
let strOder = orderse.join(",")
console.log(strOder)
this.entity.cause = this.orderForm.question;
this.entity.reporter = this.orderForm.useroption;
this.entity.strOder = strOder;
console.log(this.entity)
this.$refs["formValidate"].validate(valid => {
if (valid) {
// this.$Message.success("送审...")
let parmeseData = this.entity
console.log(parmeseData)
this.$Message.success("送审")
this.ModalOrder = true;
this.$refs.orderSendReview.intData(this.entity);
this.$refs.orderSendReview.alertFun(parmeseData);
// this.$refs.orderSendReview.intData(this.entity);
}
});
},
......
<template>
<div class="detail">
<Row>
<Filed :span="6" :name="l('productName')">{{info.orderInfo.productName}}</Filed>
<Filed :span="6" :name="l('drawnNumber')">{{info.orderInfo.drawnNumber}}</Filed>
<Filed :span="6" :name="l('status')">{{info.orderInfo.status}}</Filed>
<Filed :span="6" :name="l('mesCode')">{{info.orderInfo.mesCode}}</Filed>
<Filed :span="6" :name="l('batchNumber')">{{info.orderInfo.batchNumber}}</Filed>
<Filed :span="6" :name="l('quantity')">{{info.orderInfo.quantity}}</Filed>
<Filed :span="6" :name="l('demandFinishDate')">{{info.orderInfo.demandFinishDate}}</Filed>
<Filed :span="6" :name="l('urgencyLevel')">
<state code="plan.order.urgencyLevel" :value="info.orderInfo.urgencyLevel+''" type="text"></state>
</Filed>
<Filed :span="6" :name="l('stage')">
<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="6" :name="l('taskType')">
<Filed :span="8" :name="l('taskType')">
<state code="plan.order.taskType" :value="info.orderInfo.taskType+''" type="text"></state>
</Filed>
<Filed :span="6" :name="l('materialId')">
<Filed :span="8" :name="l('materialId')">
<state code="plan.order.material" :value="info.orderInfo.materialId+''" type="text"></state>
</Filed>
</Filed> -->
</Row>
</div>
</template>
......@@ -47,7 +49,7 @@ export default {
return name
},
l(key) {
key = 'orderInfo' + '.' + key
key = 'order_list' + '.' + key
return this.$t(key)
}
}
......
<template>
<div style="width:80%;margin:0 auto" :style="{ height: divHeight }">
1111
<OrderInfos v-if="info.status" :info="info"></OrderInfos>
<Table
<!-- 批量送审展示列表 -->
<!-- <Table :info1="info1"
:loading="loading"
border
:columns="columns1"
:data="dataList"
class="tableCommon"
v-if="osrMoreList"
></Table>
<Process
ref="userProcess"
schemaIdVal="123327da-42b3-41f6-b785-cf933f137a95"
/>
></Table> -->
<Process ref="userProcess" schemaIdVal="c2e09c9b-02a9-4188-97a6-cdb68d50a64a"/>
</div>
</template>
......@@ -33,17 +32,7 @@ export default {
osrMoreList: false, //多条数据只显示列表
info: {
status: true,
orderInfo: []
},
ruleValidate: {
// reviewUser: [
// {
// required: true,
// message: '请选择审批人',
// trigger: 'blur',
// type: 'array'
// }
// ]
orderInfo: [],
},
orderSearchForm: {
reviewUser: '' //订单名称
......@@ -54,93 +43,72 @@ export default {
key: 'mesCode',
width: 180,
tooltip: true
},{
},
{
title: '任务类型',
key: 'taskType',
align: 'center',
width: 100,
tooltip: true
},
{
title: '产品名称',
key: 'productName',
tooltip: true
},{
title: '图号',
key: 'drawnNumber',
},
{
title: '阶段',
key: 'stage',
width: 80
},{
title: '状态',
key: 'status',
},
{
title: '材料',
key: 'materialId',
width: 100,
tooltip: true
},{
title: '批次号',
key: 'batchNumber',
},
{
title: '数量',
key: 'quantity',
align: 'right',
width: 70
},{
title: '节点日期',
key: 'demandFinishDate',
width: 100,
tooltip: true
},{
title: '计划数量',
key: 'quantity',
width: 100,
tooltip: true
},
}
],
dataList: [],
dataListRetrun: [], //确定后返回数据
dataListRetrunNew: {
schemaId: '123327da-42b3-41f6-b785-cf933f137a95', //订单送审的schemaId
idList: [], //订单id List
codeList: [], //订单编号List
operatorIdList: [] //操作员id
} //确定后返回数据
operatorIdList: [], //操作员id
// } //确定后返回数据
}
},
created() {
var theight = window.innerHeight - 460 + 'px'
var theight = window.innerHeight - 630 + 'px'
this.divHeight = theight
},
mounted() {
//this.dataList=;
window.onresize = () => {
///浏览器窗口大小变化
return (() => {
window.screenHeight = window.innerHeight
this.divHeight = window.screenHeight - 460 + 'px'
this.divHeight = window.screenHeight - 630 + 'px'
})()
}
},
methods: {
alertFun(parmeseData){
console.warn(parmeseData)
alert("加载数据")
},
intData(data) {
//打开modal层时给订单list赋值
this.orderInfo = []
this.dataList = []
this.dataList = data
this.osrOneList = false
this.osrMoreList = false
this.orderSearchForm.reviewUser = ''
if (data.length == 1) {
this.info.status = true
this.info.orderInfo = data[0]
} else if (data.length > 1) {
this.osrMoreList = true
this.info.status = false
this.info.orderInfo = []
console.warn(data)
//打开modal层时给orderInfo赋值
if(data){
this.info.orderInfo = data
}
},
returnDataList() {
this.dataListRetrunNew.idList = []
this.dataListRetrunNew.codeList = []
this.dataListRetrunNew.operatorIdList = []
this.dataList.forEach((item) => {
this.dataListRetrunNew.idList.push(item.id)
this.dataListRetrunNew.codeList.push(item.mesCode)
})
//this.dataListRetrunNew.operatorIdList= this.orderSearchForm.reviewUser
let ues = this.$refs.userProcess
this.dataListRetrunNew.operatorIdList = ues.immutData
// alert(JSON.stringify( this.dataListRetrunNew))
//返回审批数据
return this.dataListRetrunNew
this.operatorIdList = ues.immutData
return this.operatorIdList
}
}
}
......
<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