|
@ -696,4 +696,11 @@ getIccid(data){
|
|||
return sendPostRequest(`/readControl/setMemo`, data)
|
||||
},
|
||||
|
||||
|
||||
|
||||
//二维码溯源部分
|
||||
//种植计划
|
||||
code_getplant(data){
|
||||
return sendGetRequest(`/code/getplant`, data)
|
||||
},
|
||||
};
|
||||
|
|
|
@ -2911,6 +2911,12 @@ textarea {
|
|||
align-items: center;
|
||||
}
|
||||
|
||||
.flex-start {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.vrcode .el-menu,
|
||||
.el-submenu__title:hover,
|
||||
.el-menu-item:hover,
|
||||
|
@ -2995,7 +3001,7 @@ textarea {
|
|||
}
|
||||
|
||||
.vrcode-textarea textarea {
|
||||
width: 680px;
|
||||
width: calc(100% - 30px);
|
||||
height: 160px;
|
||||
background: rgba(90, 210, 255, 0.25);
|
||||
border: 2px solid rgba(86, 209, 255, 0.5);
|
||||
|
@ -3216,6 +3222,169 @@ textarea {
|
|||
color: #92B1D0;
|
||||
}
|
||||
|
||||
.vrcode-input-sel {
|
||||
margin-right: 30px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.vrcode-input-sel.w-100 {
|
||||
width: calc(100% - 30px);
|
||||
}
|
||||
|
||||
.vrcode-input-sel.w-100 .el-dropdown {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.vrcode-input-sel.w-100 .el-dropdown-link {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.vrcode-input-sel > .title {
|
||||
margin-bottom: 7px;
|
||||
}
|
||||
|
||||
.vrcode-input-sel .el-dropdown-link {
|
||||
width: 300px;
|
||||
height: 44px;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.vrcode-input-sel .el-dropdown-link input {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgba(90, 210, 255, 0.25);
|
||||
border: 2px solid rgba(86, 209, 255, 0.5);
|
||||
font-size: 16px;
|
||||
padding-left: 15px;
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.vrcode-input-sel .el-dropdown-link input::placeholder {
|
||||
color: #92B1D0;
|
||||
}
|
||||
|
||||
.vrcode-input-sel .el-dropdown-link .arrow {
|
||||
width: 33px;
|
||||
height: 24px;
|
||||
border-left: 1px solid #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.vrcode-input-sel .el-dropdown-link .arrow > img {
|
||||
width: 6px;
|
||||
height: 4px;
|
||||
}
|
||||
|
||||
.vrcode-input-sel .el-dropdown-link .arrow > img.search {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.vrcode-input-seltime {
|
||||
margin-right: 30px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.vrcode-input-seltime > .title {
|
||||
margin-bottom: 7px;
|
||||
}
|
||||
|
||||
.vrcode-input-seltime .seltime {
|
||||
width: 300px;
|
||||
height: 44px;
|
||||
background: rgba(90, 210, 255, 0.25);
|
||||
border: 2px solid rgba(86, 209, 255, 0.5);
|
||||
font-size: 16px;
|
||||
font-family: Microsoft YaHei;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.vrcode-input-seltime .seltime .el-input__prefix {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.vrcode-input-seltime .seltime input {
|
||||
width: 300px;
|
||||
height: 40px;
|
||||
font-size: 16px;
|
||||
padding-left: 15px;
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
background: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.vrcode-input-seltime .seltime input::placeholder {
|
||||
color: #92B1D0;
|
||||
}
|
||||
|
||||
.vrcode-input-seltime .seltime .seltime-icon {
|
||||
width: 38px;
|
||||
height: 24px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-left: 1px solid #fff;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.vrcode-input-seltime .seltime .seltime-icon > img {
|
||||
width: 16px;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.flex-view .vrcode-input-sel .el-dropdown-link {
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.flex-view .vrcode-input-sel {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.flex-view .vrcode-input {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.flex-view .vrcode-selimage {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.vrcode-title {
|
||||
width: 100%;
|
||||
margin-bottom: 15px;
|
||||
font-size: 20px;
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: bold;
|
||||
color: #FFFFFF;
|
||||
position: relative;
|
||||
padding-left: 13px;
|
||||
}
|
||||
|
||||
.vrcode-title::after {
|
||||
content: ' ';
|
||||
width: 3px;
|
||||
height: 21px;
|
||||
background: #0294E2;
|
||||
border-radius: 2px;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.vrcode-model.manage-model .el-dialog {
|
||||
background: rgba(0, 59, 114, 0.8);
|
||||
border: 2px solid rgba(0, 186, 255, 0.35);
|
||||
|
@ -3336,113 +3505,6 @@ textarea {
|
|||
top: 4px;
|
||||
}
|
||||
|
||||
.vrcode-model .vrcode-input-sel {
|
||||
margin-right: 30px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.vrcode-model .vrcode-input-sel > .title {
|
||||
margin-bottom: 7px;
|
||||
}
|
||||
|
||||
.vrcode-model .vrcode-input-sel .el-dropdown-link {
|
||||
width: 300px;
|
||||
height: 44px;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.vrcode-model .vrcode-input-sel .el-dropdown-link input {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgba(90, 210, 255, 0.25);
|
||||
border: 2px solid rgba(86, 209, 255, 0.5);
|
||||
font-size: 16px;
|
||||
padding-left: 15px;
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
|
||||
.vrcode-model .vrcode-input-sel .el-dropdown-link input::placeholder {
|
||||
color: #92B1D0;
|
||||
}
|
||||
|
||||
.vrcode-model .vrcode-input-sel .el-dropdown-link .arrow {
|
||||
width: 33px;
|
||||
height: 24px;
|
||||
border-left: 1px solid #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.vrcode-model .vrcode-input-sel .el-dropdown-link .arrow > img {
|
||||
width: 6px;
|
||||
height: 4px;
|
||||
}
|
||||
|
||||
.vrcode-model .vrcode-input-seltime {
|
||||
margin-right: 30px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.vrcode-model .vrcode-input-seltime > .title {
|
||||
margin-bottom: 7px;
|
||||
}
|
||||
|
||||
.vrcode-model .vrcode-input-seltime .seltime {
|
||||
width: 300px;
|
||||
height: 44px;
|
||||
background: rgba(90, 210, 255, 0.25);
|
||||
border: 2px solid rgba(86, 209, 255, 0.5);
|
||||
font-size: 16px;
|
||||
font-family: Microsoft YaHei;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.vrcode-model .vrcode-input-seltime .seltime .el-input__prefix {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.vrcode-model .vrcode-input-seltime .seltime input {
|
||||
width: 300px;
|
||||
height: 40px;
|
||||
font-size: 16px;
|
||||
padding-left: 15px;
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
background: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.vrcode-model .vrcode-input-seltime .seltime input::placeholder {
|
||||
color: #92B1D0;
|
||||
}
|
||||
|
||||
.vrcode-model .vrcode-input-seltime .seltime .seltime-icon {
|
||||
width: 38px;
|
||||
height: 24px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-left: 1px solid #fff;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.vrcode-model .vrcode-input-seltime .seltime .seltime-icon > img {
|
||||
width: 16px;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.vrcode-model .vrcode-radio {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
|
@ -3460,29 +3522,6 @@ textarea {
|
|||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.vrcode-model .vrcode-title {
|
||||
width: 100%;
|
||||
margin-bottom: 15px;
|
||||
font-size: 20px;
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: bold;
|
||||
color: #FFFFFF;
|
||||
position: relative;
|
||||
padding-left: 13px;
|
||||
}
|
||||
|
||||
.vrcode-model .vrcode-title::after {
|
||||
content: ' ';
|
||||
width: 3px;
|
||||
height: 21px;
|
||||
background: #0294E2;
|
||||
border-radius: 2px;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.vrcode-model.confirm-psw .el-dialog__body {
|
||||
min-height: unset;
|
||||
}
|
||||
|
@ -3502,7 +3541,14 @@ textarea {
|
|||
padding: 0 30px;
|
||||
}
|
||||
|
||||
.vrcode-model .el-dialog__body .vrcode-content .vrcode-view {
|
||||
.vrcode-model .el-dialog {
|
||||
background: rgba(0, 76, 147, 0.9);
|
||||
border: 2px solid rgba(0, 186, 255, 0.6);
|
||||
max-height: 90vh;
|
||||
min-height: 30vh;
|
||||
}
|
||||
|
||||
.vrcode-view {
|
||||
width: 100%;
|
||||
padding: 20px 0 15px 0;
|
||||
border-bottom: 1px solid rgba(0, 180, 255, 0.35);
|
||||
|
@ -3511,23 +3557,24 @@ textarea {
|
|||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.vrcode-model .el-dialog__body .vrcode-content .vrcode-view > div {
|
||||
.vrcode-view > div {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.vrcode-model .el-dialog {
|
||||
background: rgba(0, 76, 147, 0.9);
|
||||
border: 2px solid rgba(0, 186, 255, 0.6);
|
||||
max-height: 90vh;
|
||||
min-height: 30vh;
|
||||
}
|
||||
|
||||
.vrcode-input {
|
||||
width: 300px;
|
||||
margin-right: 30px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.vrcode-input.w-100 {
|
||||
width: calc(100% - 30px);
|
||||
}
|
||||
|
||||
.vrcode-input.w-50 {
|
||||
width: calc(50% - 30px);
|
||||
}
|
||||
|
||||
.vrcode-input .input-title {
|
||||
font-size: 16px;
|
||||
font-family: Microsoft YaHei;
|
||||
|
@ -3537,7 +3584,7 @@ textarea {
|
|||
}
|
||||
|
||||
.vrcode-input input {
|
||||
width: 300px;
|
||||
width: 100%;
|
||||
height: 44px;
|
||||
background: rgba(90, 210, 255, 0.25);
|
||||
border: 2px solid rgba(86, 209, 255, 0.5);
|
||||
|
@ -3560,6 +3607,11 @@ textarea {
|
|||
margin-bottom: 7px;
|
||||
}
|
||||
|
||||
.vrcode-selimage .tips {
|
||||
font-size: 16px;
|
||||
color: #FF9999;
|
||||
}
|
||||
|
||||
.vrcode-selimage .sel-image-view {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
@ -3573,7 +3625,7 @@ textarea {
|
|||
.vrcode-selimage .sel-image-view .sel-div {
|
||||
width: 130px;
|
||||
height: 130px;
|
||||
margin-right: 30px;
|
||||
margin-right: 10px;
|
||||
background: rgba(86, 209, 255, 0.25);
|
||||
border: 1px dashed #56D1FF;
|
||||
cursor: pointer;
|
||||
|
|
|
@ -3101,7 +3101,12 @@ textarea{
|
|||
align-items: center;
|
||||
|
||||
}
|
||||
.flex-start {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
|
||||
}
|
||||
.vrcode .el-menu,
|
||||
.el-submenu__title:hover,
|
||||
.el-menu-item:hover,
|
||||
|
@ -3188,7 +3193,7 @@ textarea{
|
|||
}
|
||||
|
||||
textarea {
|
||||
width: 680px;
|
||||
width: calc(100% - 30px);
|
||||
height: 160px;
|
||||
background: rgba(90, 210, 255, 0.25);
|
||||
border: 2px solid rgba(86, 209, 255, 0.5);
|
||||
|
@ -3431,6 +3436,161 @@ textarea{
|
|||
}
|
||||
}
|
||||
|
||||
.vrcode-input-sel {
|
||||
margin-right: 30px;
|
||||
margin-bottom: 15px;
|
||||
&.w-100{
|
||||
width: calc(100% - 30px);
|
||||
.el-dropdown{
|
||||
width: 100%;
|
||||
}
|
||||
.el-dropdown-link{
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
>.title {
|
||||
margin-bottom: 7px;
|
||||
}
|
||||
|
||||
.el-dropdown-link {
|
||||
width: 300px;
|
||||
height: 44px;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
|
||||
input {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
background: rgba(90, 210, 255, 0.25);
|
||||
border: 2px solid rgba(86, 209, 255, 0.5);
|
||||
font-size: 16px;
|
||||
padding-left: 15px;
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
|
||||
&::placeholder {
|
||||
color: #92B1D0;
|
||||
}
|
||||
}
|
||||
|
||||
.arrow {
|
||||
width: 33px;
|
||||
height: 24px;
|
||||
border-left: 1px solid #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
|
||||
>img {
|
||||
width: 6px;
|
||||
height: 4px;
|
||||
&.search{
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.vrcode-input-seltime {
|
||||
margin-right: 30px;
|
||||
margin-bottom: 15px;
|
||||
|
||||
>.title {
|
||||
margin-bottom: 7px;
|
||||
}
|
||||
|
||||
.seltime {
|
||||
width: 300px;
|
||||
height: 44px;
|
||||
background: rgba(90, 210, 255, 0.25);
|
||||
border: 2px solid rgba(86, 209, 255, 0.5);
|
||||
font-size: 16px;
|
||||
font-family: Microsoft YaHei;
|
||||
position: relative;
|
||||
|
||||
.el-input__prefix {
|
||||
display: none;
|
||||
}
|
||||
|
||||
input {
|
||||
width: 300px;
|
||||
height: 40px;
|
||||
font-size: 16px;
|
||||
padding-left: 15px;
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
background: transparent;
|
||||
border: none;
|
||||
|
||||
&::placeholder {
|
||||
color: #92B1D0;
|
||||
}
|
||||
}
|
||||
|
||||
.seltime-icon {
|
||||
width: 38px;
|
||||
height: 24px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-left: 1px solid #fff;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
|
||||
>img {
|
||||
width: 16px;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.flex-view{
|
||||
.vrcode-input-sel .el-dropdown-link{
|
||||
height: 40px;
|
||||
}
|
||||
.vrcode-input-sel{
|
||||
margin-right: 10px;
|
||||
}
|
||||
.vrcode-input{
|
||||
margin-right: 10px;
|
||||
}
|
||||
.vrcode-selimage{
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
.vrcode-title {
|
||||
width: 100%;
|
||||
margin-bottom: 15px;
|
||||
font-size: 20px;
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: bold;
|
||||
color: #FFFFFF;
|
||||
position: relative;
|
||||
padding-left: 13px;
|
||||
|
||||
&::after {
|
||||
content: ' ';
|
||||
width: 3px;
|
||||
height: 21px;
|
||||
background: #0294E2;
|
||||
border-radius: 2px;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
}
|
||||
.vrcode-model {
|
||||
&.manage-model {
|
||||
.el-dialog {
|
||||
|
@ -3564,113 +3724,7 @@ textarea{
|
|||
|
||||
|
||||
|
||||
.vrcode-input-sel {
|
||||
margin-right: 30px;
|
||||
margin-bottom: 15px;
|
||||
|
||||
>.title {
|
||||
margin-bottom: 7px;
|
||||
}
|
||||
|
||||
.el-dropdown-link {
|
||||
width: 300px;
|
||||
height: 44px;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
|
||||
input {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
background: rgba(90, 210, 255, 0.25);
|
||||
border: 2px solid rgba(86, 209, 255, 0.5);
|
||||
font-size: 16px;
|
||||
padding-left: 15px;
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
|
||||
&::placeholder {
|
||||
color: #92B1D0;
|
||||
}
|
||||
}
|
||||
|
||||
.arrow {
|
||||
width: 33px;
|
||||
height: 24px;
|
||||
border-left: 1px solid #fff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
|
||||
>img {
|
||||
width: 6px;
|
||||
height: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.vrcode-input-seltime {
|
||||
margin-right: 30px;
|
||||
margin-bottom: 15px;
|
||||
|
||||
>.title {
|
||||
margin-bottom: 7px;
|
||||
}
|
||||
|
||||
.seltime {
|
||||
width: 300px;
|
||||
height: 44px;
|
||||
background: rgba(90, 210, 255, 0.25);
|
||||
border: 2px solid rgba(86, 209, 255, 0.5);
|
||||
font-size: 16px;
|
||||
font-family: Microsoft YaHei;
|
||||
position: relative;
|
||||
|
||||
.el-input__prefix {
|
||||
display: none;
|
||||
}
|
||||
|
||||
input {
|
||||
width: 300px;
|
||||
height: 40px;
|
||||
font-size: 16px;
|
||||
padding-left: 15px;
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: 400;
|
||||
color: #FFFFFF;
|
||||
background: transparent;
|
||||
border: none;
|
||||
|
||||
&::placeholder {
|
||||
color: #92B1D0;
|
||||
}
|
||||
}
|
||||
|
||||
.seltime-icon {
|
||||
width: 38px;
|
||||
height: 24px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-left: 1px solid #fff;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
|
||||
>img {
|
||||
width: 16px;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.vrcode-radio {
|
||||
width: 100%;
|
||||
|
@ -3690,28 +3744,7 @@ textarea{
|
|||
}
|
||||
}
|
||||
|
||||
.vrcode-title {
|
||||
width: 100%;
|
||||
margin-bottom: 15px;
|
||||
font-size: 20px;
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: bold;
|
||||
color: #FFFFFF;
|
||||
position: relative;
|
||||
padding-left: 13px;
|
||||
|
||||
&::after {
|
||||
content: ' ';
|
||||
width: 3px;
|
||||
height: 21px;
|
||||
background: #0294E2;
|
||||
border-radius: 2px;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
}
|
||||
|
||||
&.confirm-psw {
|
||||
.el-dialog__body {
|
||||
|
@ -3732,18 +3765,7 @@ textarea{
|
|||
height: calc(100% - 43px);
|
||||
padding: 0 30px;
|
||||
|
||||
.vrcode-view {
|
||||
width: 100%;
|
||||
padding: 20px 0 15px 0;
|
||||
border-bottom: 1px solid rgba(0, 180, 255, .35);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
|
||||
>div {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3756,12 +3778,28 @@ textarea{
|
|||
}
|
||||
|
||||
}
|
||||
.vrcode-view {
|
||||
width: 100%;
|
||||
padding: 20px 0 15px 0;
|
||||
border-bottom: 1px solid rgba(0, 180, 255, .35);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
|
||||
>div {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
}
|
||||
.vrcode-input {
|
||||
width: 300px;
|
||||
margin-right: 30px;
|
||||
margin-bottom: 15px;
|
||||
|
||||
&.w-100{
|
||||
width: calc(100% - 30px);
|
||||
}
|
||||
&.w-50{
|
||||
width: calc(50% - 30px);
|
||||
}
|
||||
.input-title {
|
||||
font-size: 16px;
|
||||
font-family: Microsoft YaHei;
|
||||
|
@ -3771,7 +3809,7 @@ textarea{
|
|||
}
|
||||
|
||||
input {
|
||||
width: 300px;
|
||||
width:100%;
|
||||
height: 44px;
|
||||
background: rgba(90, 210, 255, 0.25);
|
||||
border: 2px solid rgba(86, 209, 255, 0.5);
|
||||
|
@ -3793,7 +3831,10 @@ textarea{
|
|||
>.title {
|
||||
margin-bottom: 7px;
|
||||
}
|
||||
|
||||
.tips{
|
||||
font-size: 16px;
|
||||
color: #FF9999;
|
||||
}
|
||||
.sel-image-view {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
@ -3806,7 +3847,7 @@ textarea{
|
|||
.sel-div {
|
||||
width: 130px;
|
||||
height: 130px;
|
||||
margin-right: 30px;
|
||||
margin-right: 10px;
|
||||
background: rgba(86, 209, 255, 0.25);
|
||||
border: 1px dashed #56D1FF;
|
||||
cursor: pointer;
|
||||
|
@ -4500,6 +4541,7 @@ textarea{
|
|||
>img {
|
||||
width: 6px;
|
||||
height: 4px;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 6.4 KiB |
|
@ -332,7 +332,61 @@ const routes = [
|
|||
path: '/setsuyuan',
|
||||
name: 'setsuyuan',
|
||||
component: () => import('../views/vrcode/setsuyuan.vue')
|
||||
}]
|
||||
},{
|
||||
path: '/clearReport',
|
||||
name: 'clearReport',
|
||||
component: () => import('../views/vrcode/clearReport.vue')
|
||||
},{
|
||||
path: '/pestManagement',
|
||||
name: 'pestManagement',
|
||||
component: () => import('../views/vrcode/pestManagement.vue')
|
||||
},{
|
||||
path: '/suyuanBatch',
|
||||
name: 'suyuanBatch',
|
||||
component: () => import('../views/vrcode/suyuanBatch.vue')
|
||||
},{
|
||||
path: '/reportLibrary',
|
||||
name: 'reportLibrary',
|
||||
component: () => import('../views/vrcode/reportLibrary.vue')
|
||||
},{
|
||||
path: '/cropVarieties',
|
||||
name: 'cropVarieties',
|
||||
component: () => import('../views/vrcode/cropVarieties.vue')
|
||||
},{
|
||||
path: '/croppingPattern',
|
||||
name: 'croppingPattern',
|
||||
component: () => import('../views/vrcode/croppingPattern.vue')
|
||||
},{
|
||||
path: '/agriculturalProcess',
|
||||
name: 'agriculturalProcess',
|
||||
component: () => import('../views/vrcode/agriculturalProcess.vue')
|
||||
},{
|
||||
path: '/staffManagement',
|
||||
name: 'staffManagement',
|
||||
component: () => import('../views/vrcode/staffManagement.vue')
|
||||
},{
|
||||
path: '/supplierManage',
|
||||
name: 'supplierManage',
|
||||
component: () => import('../views/vrcode/supplierManage.vue')
|
||||
},{
|
||||
path: '/informationManage',
|
||||
name: 'informationManage',
|
||||
component: () => import('../views/vrcode/informationManage.vue')
|
||||
},{
|
||||
path: '/machineManagement',
|
||||
name: 'machineManagement',
|
||||
component: () => import('../views/vrcode/machineManagement.vue')
|
||||
},{
|
||||
path: '/cropManagement',
|
||||
name: 'cropManagement',
|
||||
component: () => import('../views/vrcode/cropManagement.vue')
|
||||
},{
|
||||
path: '/farmManage',
|
||||
name: 'farmManage',
|
||||
component: () => import('../views/vrcode/farmManage.vue')
|
||||
},
|
||||
|
||||
]
|
||||
},
|
||||
]
|
||||
|
||||
|
|
|
@ -44,17 +44,9 @@
|
|||
<div class="weather">
|
||||
<div>
|
||||
<marquee behavior="" direction="" scrollamount="3">
|
||||
<div
|
||||
class="item"
|
||||
v-for="(item, index) in weatherDataList"
|
||||
:key="index"
|
||||
>
|
||||
<img
|
||||
:src="
|
||||
require(`../../assets/image/real-time-${item.formula}.png`)
|
||||
"
|
||||
alt=""
|
||||
/>
|
||||
<div class="item" v-for="(item, index) in weatherDataList" :key="index">
|
||||
<img :src="require(`../../assets/image/real-time-${item.formula}.png`)
|
||||
" alt="" />
|
||||
<span>{{ item.environmentDataId }} : </span>
|
||||
<span>{{
|
||||
item.environmentData + getTypeList(item.formula)
|
||||
|
@ -70,11 +62,7 @@
|
|||
<div class="e_title">温室环境数据</div>
|
||||
<div class="detail">
|
||||
<!-- <div class="title_child">一号温室</div> -->
|
||||
<vue-seamless
|
||||
class="e_content"
|
||||
:data="list"
|
||||
:class-option="defaultOption"
|
||||
>
|
||||
<vue-seamless class="e_content" :data="list" :class-option="defaultOption">
|
||||
<div class="item" v-for="(el, index) in list" :key="index">
|
||||
<!-- <img :src="el.formula" alt=""> -->
|
||||
<img :src="el.img" alt="" />
|
||||
|
@ -98,21 +86,14 @@
|
|||
|
||||
<div class="thisWeekTemperature">
|
||||
<div class="e_title">本周温度统计</div>
|
||||
<div
|
||||
class="thisWeekTemperature_echart"
|
||||
id="thisWeekTemperature_echart"
|
||||
></div>
|
||||
<div class="thisWeekTemperature_echart" id="thisWeekTemperature_echart"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="left" v-show="limitUserId == 5" style="height: calc(100% - 0.9rem);">
|
||||
<div class="environmentData" style="height: 100%;overflow: hidden;">
|
||||
<div class="e_title">温室环境数据</div>
|
||||
<div class="detail" style="height: 100%;">
|
||||
<vue-seamless
|
||||
class="e_content e_content1"
|
||||
:data="list"
|
||||
:class-option="defaultOption"
|
||||
>
|
||||
<vue-seamless class="e_content e_content1" :data="list" :class-option="defaultOption">
|
||||
<div class="item" v-for="(el, index) in list" :key="index">
|
||||
<img :src="el.img" alt="" />
|
||||
<div class="item_child">
|
||||
|
@ -130,69 +111,22 @@
|
|||
<!-- 丽水 -->
|
||||
<div class="drag_box" ref="drag_box" v-show="limitUserId == 1">
|
||||
<img class="drag_img" src="../../assets/img/map.png" alt="" />
|
||||
<img
|
||||
class="axis_1"
|
||||
src="../../assets/img/axis1.png"
|
||||
alt=""
|
||||
@click="handlerAxis_1"
|
||||
/>
|
||||
<img
|
||||
class="axis_2"
|
||||
src="../../assets/img/axis1.png"
|
||||
alt=""
|
||||
@click="handlerAxis_1"
|
||||
/>
|
||||
<img
|
||||
class="axis_3"
|
||||
src="../../assets/img/axis1.png"
|
||||
alt=""
|
||||
@click="handlerAxis_1"
|
||||
/>
|
||||
<img
|
||||
class="axis_4"
|
||||
src="../../assets/img/axis1.png"
|
||||
alt=""
|
||||
@click="handlerAxis_1"
|
||||
/>
|
||||
<img
|
||||
class="axis_5"
|
||||
src="../../assets/img/axis1.png"
|
||||
alt=""
|
||||
@click="handlerAxis_1"
|
||||
/>
|
||||
<img
|
||||
class="axis_6"
|
||||
src="../../assets/img/axis1.png"
|
||||
alt=""
|
||||
@click="handlerAxis_1"
|
||||
/>
|
||||
<img
|
||||
class="axis_7"
|
||||
src="../../assets/img/axis2.png"
|
||||
alt=""
|
||||
@click="handlerAxis_1"
|
||||
/>
|
||||
<img class="axis_1" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_1" />
|
||||
<img class="axis_2" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_1" />
|
||||
<img class="axis_3" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_1" />
|
||||
<img class="axis_4" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_1" />
|
||||
<img class="axis_5" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_1" />
|
||||
<img class="axis_6" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_1" />
|
||||
<img class="axis_7" src="../../assets/img/axis2.png" alt="" @click="handlerAxis_1" />
|
||||
</div>
|
||||
<!-- 东北 -->
|
||||
<div class="drag_box1" ref="drag_box1" v-show="limitUserId == 2">
|
||||
<img class="drag_img" src="../../assets/img/map1.png" alt="" />
|
||||
<img
|
||||
class="axis_init"
|
||||
:class="'axis_' + (index + 8)"
|
||||
src="../../assets/img/axis1.png"
|
||||
:style="'left:' + (44.5 + index * 4.1) + '%'"
|
||||
alt=""
|
||||
@click="handlerAxis_2"
|
||||
v-for="(i, index) in 10"
|
||||
:key="index + '_1'"
|
||||
/>
|
||||
<img class="axis_init" :class="'axis_' + (index + 8)" src="../../assets/img/axis1.png"
|
||||
:style="'left:' + (44.5 + index * 4.1) + '%'" alt="" @click="handlerAxis_2" v-for="(i, index) in 10"
|
||||
:key="index + '_1'" />
|
||||
|
||||
<img
|
||||
class="axis_init1"
|
||||
:class="'axis_' + (index1 + 17)"
|
||||
src="../../assets/img/axis1.png"
|
||||
:style="
|
||||
'top:' +
|
||||
<img class="axis_init1" :class="'axis_' + (index1 + 17)" src="../../assets/img/axis1.png" :style="'top:' +
|
||||
(22 + index1 * 0.105) +
|
||||
'%' +
|
||||
';' +
|
||||
|
@ -200,86 +134,26 @@
|
|||
(8.25 + index1 * 3.3) +
|
||||
'%' +
|
||||
';'
|
||||
"
|
||||
alt=""
|
||||
@click="handlerAxis_2"
|
||||
v-for="(i, index1) in 24"
|
||||
:key="index1 + '_2'"
|
||||
/>
|
||||
" alt="" @click="handlerAxis_2" v-for="(i, index1) in 24" :key="index1 + '_2'" />
|
||||
</div>
|
||||
<!-- 石门 -->
|
||||
<div class="drag_box5" ref="drag_box5" v-show="limitUserId == 5">
|
||||
<img class="drag_img" src="../../assets/img/map2.png" alt="" />
|
||||
<img
|
||||
class="axis_shimen"
|
||||
src="../../assets/img/axis2.png"
|
||||
alt=""
|
||||
@click="handlerAxis_5"
|
||||
/>
|
||||
<img
|
||||
class="axis_shimen1"
|
||||
src="../../assets/img/axis1.png"
|
||||
alt=""
|
||||
@click="handlerAxis_5"
|
||||
/>
|
||||
<img
|
||||
class="axis_shimen2"
|
||||
src="../../assets/img/axis1.png"
|
||||
alt=""
|
||||
@click="handlerAxis_5"
|
||||
/>
|
||||
<img
|
||||
class="axis_shimen3"
|
||||
src="../../assets/img/axis1.png"
|
||||
alt=""
|
||||
@click="handlerAxis_5"
|
||||
/>
|
||||
<img
|
||||
class="axis_shimen4"
|
||||
src="../../assets/img/axis1.png"
|
||||
alt=""
|
||||
@click="handlerAxis_5"
|
||||
/>
|
||||
<img class="axis_shimen" src="../../assets/img/axis2.png" alt="" @click="handlerAxis_5" />
|
||||
<img class="axis_shimen1" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" />
|
||||
<img class="axis_shimen2" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" />
|
||||
<img class="axis_shimen3" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" />
|
||||
<img class="axis_shimen4" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" />
|
||||
</div>
|
||||
<!-- 大冶鑫 -->
|
||||
<div class="drag_box7" ref="drag_box7" v-show="limitUserId == 7">
|
||||
<img class="drag_img" src="../../assets/img/map3.jpg" alt="" />
|
||||
<img
|
||||
class="axis_shimen"
|
||||
src="../../assets/img/axis1.png"
|
||||
alt=""
|
||||
@click="handlerAxis_5"
|
||||
/>
|
||||
<img
|
||||
class="axis_shimen1"
|
||||
src="../../assets/img/axis1.png"
|
||||
alt=""
|
||||
@click="handlerAxis_5"
|
||||
/>
|
||||
<img
|
||||
class="axis_shimen2"
|
||||
src="../../assets/img/axis1.png"
|
||||
alt=""
|
||||
@click="handlerAxis_5"
|
||||
/>
|
||||
<img
|
||||
class="axis_shimen3"
|
||||
src="../../assets/img/axis1.png"
|
||||
alt=""
|
||||
@click="handlerAxis_5"
|
||||
/>
|
||||
<img
|
||||
class="axis_shimen4"
|
||||
src="../../assets/img/axis1.png"
|
||||
alt=""
|
||||
@click="handlerAxis_5"
|
||||
/>
|
||||
<img
|
||||
class="axis_shimen5"
|
||||
src="../../assets/img/axis1.png"
|
||||
alt=""
|
||||
@click="handlerAxis_5"
|
||||
/>
|
||||
<img class="axis_shimen" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" />
|
||||
<img class="axis_shimen1" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" />
|
||||
<img class="axis_shimen2" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" />
|
||||
<img class="axis_shimen3" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" />
|
||||
<img class="axis_shimen4" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" />
|
||||
<img class="axis_shimen5" src="../../assets/img/axis1.png" alt="" @click="handlerAxis_5" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -290,17 +164,9 @@
|
|||
<div class="liveVideo_content">
|
||||
<div class="swiper-container mySwiper_video">
|
||||
<div class="swiper-wrapper">
|
||||
<div
|
||||
class="swiper-slide swiper-slide_video"
|
||||
v-for="(item, index) in get_sel_eqbyid_list"
|
||||
:key="index"
|
||||
>
|
||||
<div class="swiper-slide swiper-slide_video" v-for="(item, index) in get_sel_eqbyid_list" :key="index">
|
||||
<div class="monitor" :id="'monitor' + item.number">
|
||||
<div
|
||||
ref="videoPlayer"
|
||||
class="video-js"
|
||||
:id="'video-js' + item.number"
|
||||
></div>
|
||||
<div ref="videoPlayer" class="video-js" :id="'video-js' + item.number"></div>
|
||||
</div>
|
||||
<div class="c_bottom">{{ item.deviceTypeName }}</div>
|
||||
</div>
|
||||
|
@ -319,22 +185,13 @@
|
|||
<div class="device_detail">
|
||||
<div class="swiper_timer">
|
||||
<div>
|
||||
<div
|
||||
class="swiper-container middle_disasterWarningAnalysis"
|
||||
:style="styleContainer"
|
||||
>
|
||||
<div class="swiper-container middle_disasterWarningAnalysis" :style="styleContainer">
|
||||
<div class="swiper-wrapper">
|
||||
<div
|
||||
:class="
|
||||
(limitUserId == 1 ? current : current1) == index
|
||||
<div :class="(limitUserId == 1 ? current : current1) == index
|
||||
? 'swiper-slide swiper-slide2'
|
||||
: 'swiper-slide swiper-slide1'
|
||||
"
|
||||
v-for="(item, index) in dataList"
|
||||
:key="index"
|
||||
:style="styleItem"
|
||||
@click="getCurrent(index, item)"
|
||||
>
|
||||
" v-for="(item, index) in dataList" :key="index" :style="styleItem"
|
||||
@click="getCurrent(index, item)">
|
||||
{{
|
||||
item.greenhouseName
|
||||
}}
|
||||
|
@ -373,47 +230,32 @@
|
|||
<div class="i_content">
|
||||
<div class="i_content_item">
|
||||
<span>1#风机</span>
|
||||
<span
|
||||
:style="fanStatus.status[0] == 1 ? '' : 'color:#86C2FF;'"
|
||||
>{{ fanStatus.status[0] == 1 ? "打开" : "关闭" }}</span
|
||||
>
|
||||
<span :style="fanStatus.status[0] == 1 ? '' : 'color:#86C2FF;'">{{ fanStatus.status[0] == 1 ? "打开" :
|
||||
"关闭" }}</span>
|
||||
<span class="line"></span>
|
||||
<span>2#风机</span>
|
||||
<span
|
||||
:style="fanStatus.status[1] == 1 ? '' : 'color:#86C2FF;'"
|
||||
>{{ fanStatus.status[1] == 1 ? "打开" : "关闭" }}</span
|
||||
>
|
||||
<span :style="fanStatus.status[1] == 1 ? '' : 'color:#86C2FF;'">{{ fanStatus.status[1] == 1 ? "打开" :
|
||||
"关闭" }}</span>
|
||||
</div>
|
||||
<div class="line1"></div>
|
||||
<div class="i_content_item">
|
||||
<span>3#风机</span>
|
||||
<span
|
||||
:style="fanStatus.status[2] == 1 ? '' : 'color:#86C2FF;'"
|
||||
>{{ fanStatus.status[2] == 1 ? "打开" : "关闭" }}</span
|
||||
>
|
||||
<span :style="fanStatus.status[2] == 1 ? '' : 'color:#86C2FF;'">{{ fanStatus.status[2] == 1 ? "打开" :
|
||||
"关闭" }}</span>
|
||||
<span class="line"></span>
|
||||
<span>4#风机</span>
|
||||
<span
|
||||
:style="fanStatus.status[3] == 1 ? '' : 'color:#86C2FF;'"
|
||||
>{{ fanStatus.status[3] == 1 ? "打开" : "关闭" }}</span
|
||||
>
|
||||
<span :style="fanStatus.status[3] == 1 ? '' : 'color:#86C2FF;'">{{ fanStatus.status[3] == 1 ? "打开" :
|
||||
"关闭" }}</span>
|
||||
</div>
|
||||
<div class="line1"></div>
|
||||
<div class="i_content_item" style="width: 50%">
|
||||
<span>5#风机</span>
|
||||
<span
|
||||
:style="fanStatus.status[4] == 1 ? '' : 'color:#86C2FF;'"
|
||||
>{{ fanStatus.status[4] == 1 ? "打开" : "关闭" }}</span
|
||||
>
|
||||
<span :style="fanStatus.status[4] == 1 ? '' : 'color:#86C2FF;'">{{ fanStatus.status[4] == 1 ? "打开" :
|
||||
"关闭" }}</span>
|
||||
<span class="line"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="i_title_"
|
||||
style="margin-top: 0.2rem"
|
||||
v-for="(item, index) in statusList"
|
||||
:key="index"
|
||||
>
|
||||
<div class="i_title_" style="margin-top: 0.2rem" v-for="(item, index) in statusList" :key="index">
|
||||
<template v-if="item.open != 0">
|
||||
<img src="../../assets/img/i_title_img.png" alt="" />
|
||||
<span>{{ item.name }}</span>
|
||||
|
@ -446,9 +288,7 @@
|
|||
item.controlState == 1 ? "自动控制" : "手机控制"
|
||||
}}</span>
|
||||
<span class="line"></span>
|
||||
<i class="progress" v-if="Number(item.progress) == ''"
|
||||
>进度{{ item.progress }}%</i
|
||||
>
|
||||
<i class="progress" v-if="Number(item.progress) == ''">进度{{ item.progress }}%</i>
|
||||
<span>菜单</span>
|
||||
</div>
|
||||
<div class="i_title" v-else>
|
||||
|
@ -473,9 +313,7 @@
|
|||
item.controlState == 1 ? "自动控制" : "手机控制"
|
||||
}}</span>
|
||||
<span class="line"></span>
|
||||
<i class="progress" v-if="Number(item.progress) == ''"
|
||||
>进度{{ item.progress }}%</i
|
||||
>
|
||||
<i class="progress" v-if="Number(item.progress) == ''">进度{{ item.progress }}%</i>
|
||||
<span>菜单</span>
|
||||
</div>
|
||||
<div class="i_title" v-else>
|
||||
|
@ -499,9 +337,7 @@
|
|||
item.controlState == 1 ? "自动控制" : "手机控制"
|
||||
}}</span>
|
||||
<span class="line"></span>
|
||||
<i class="progress" v-if="Number(item.progress) == ''"
|
||||
>进度{{ item.progress }}%</i
|
||||
>
|
||||
<i class="progress" v-if="Number(item.progress) == ''">进度{{ item.progress }}%</i>
|
||||
<span>菜单</span>
|
||||
</div>
|
||||
<div class="i_title" v-else>
|
||||
|
@ -1038,7 +874,14 @@ export default {
|
|||
handlerOther() {
|
||||
this.other_show = !this.other_show
|
||||
},
|
||||
|
||||
//排序
|
||||
compare(property) {
|
||||
return function (a, b) {
|
||||
let value1 = a[property];
|
||||
let value2 = b[property];
|
||||
return value1 - value2;
|
||||
};
|
||||
},
|
||||
// 根据用户id查询对应的设备大数据信息
|
||||
dataInit(userid, limitUserId) {
|
||||
this.api.Bigdata_getAllControl(userid).then((res) => {
|
||||
|
@ -1063,12 +906,22 @@ export default {
|
|||
// this.get_readControl_getState(el.deviceId)
|
||||
});
|
||||
if (limitUserId == 1) {
|
||||
// 获取控制器第一个Id
|
||||
const list = []
|
||||
this.$store.state.equipmentList.forEach((el, index) => {
|
||||
if (el.deviceName == 10) {
|
||||
list.push(el)
|
||||
}
|
||||
})
|
||||
list.sort(this.compare('equipmentStatu'))
|
||||
console.log(list, 123);
|
||||
|
||||
// 丽水
|
||||
this.get_weather_echart_data(2023042214250027);
|
||||
this.get_thisWeekTemperature_echart_data(2023042214250027);
|
||||
this.get_environmentData(2023042214250027);
|
||||
this.get_readControl_getState(2023042214250027);
|
||||
this.getWeatherData(2023042214250027);
|
||||
this.get_weather_echart_data(list[0].deviceId);
|
||||
this.get_thisWeekTemperature_echart_data(list[0].deviceId);
|
||||
this.get_environmentData(list[0].deviceId);
|
||||
this.get_readControl_getState(list[0].deviceId);
|
||||
this.getWeatherData(list[0].deviceId);
|
||||
} else if (limitUserId == 2) {
|
||||
// 东北
|
||||
this.get_weather_echart_data(2023072517320001);
|
||||
|
@ -1722,6 +1575,7 @@ export default {
|
|||
|
||||
.e_content1 {
|
||||
height: 100%;
|
||||
|
||||
>div {
|
||||
width: 100% !important;
|
||||
height: 100%;
|
||||
|
@ -1792,12 +1646,10 @@ export default {
|
|||
opacity: 0.9;
|
||||
text-shadow: 0.01 0.1rem 0.2rem rgba(0, 51, 103, 0.25);
|
||||
|
||||
background: linear-gradient(
|
||||
to bottom,
|
||||
background: linear-gradient(to bottom,
|
||||
#ffffff 45%,
|
||||
#e9f8ff 90%,
|
||||
#77baff 100%
|
||||
);
|
||||
#77baff 100%);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
text-align: center;
|
||||
|
@ -1828,12 +1680,10 @@ export default {
|
|||
}
|
||||
|
||||
.act {
|
||||
background: linear-gradient(
|
||||
-35deg,
|
||||
background: linear-gradient(-35deg,
|
||||
#56a8d5 0%,
|
||||
rgba(0, 55, 110, 0.75) 50%,
|
||||
#56a8d5 100%
|
||||
);
|
||||
#56a8d5 100%);
|
||||
border: 1px solid rgba(122, 225, 255, 0.75);
|
||||
font-size: 0.18rem;
|
||||
font-family: MicrosoftYaHei;
|
||||
|
@ -1974,8 +1824,7 @@ export default {
|
|||
.weatherStation {
|
||||
width: 4rem;
|
||||
height: 0.43rem;
|
||||
background: url("../../assets/img/weatherStation.png") center
|
||||
no-repeat;
|
||||
background: url("../../assets/img/weatherStation.png") center no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
|
@ -2040,8 +1889,7 @@ export default {
|
|||
.e_title {
|
||||
width: 3.98rem;
|
||||
height: 0.19rem;
|
||||
background: url("../../assets/img/environmentData_bg.png") center
|
||||
no-repeat;
|
||||
background: url("../../assets/img/environmentData_bg.png") center no-repeat;
|
||||
background-size: 100% 100%;
|
||||
font-size: 0.18rem;
|
||||
font-family: AlibabaPuHuiTiM;
|
||||
|
@ -2135,15 +1983,13 @@ export default {
|
|||
top: 0;
|
||||
left: 0;
|
||||
z-index: 99;
|
||||
-webkit-mask-image: linear-gradient(
|
||||
90deg,
|
||||
-webkit-mask-image: linear-gradient(90deg,
|
||||
transparent 22%,
|
||||
transparent 10%,
|
||||
blue 30%,
|
||||
blue 70%,
|
||||
transparent 75%,
|
||||
transparent 100%
|
||||
);
|
||||
transparent 100%);
|
||||
|
||||
.map1 {
|
||||
width: 60%;
|
||||
|
@ -2156,12 +2002,10 @@ export default {
|
|||
// blue 80%,
|
||||
// transparent 100%,
|
||||
// transparent 100%);
|
||||
-webkit-mask-image: linear-gradient(
|
||||
transparent 0%,
|
||||
-webkit-mask-image: linear-gradient(transparent 0%,
|
||||
blue 8%,
|
||||
blue 85%,
|
||||
transparent 100%
|
||||
);
|
||||
transparent 100%);
|
||||
// transform: scale(0.6);
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
|
@ -2176,23 +2020,19 @@ export default {
|
|||
// top: 0.3rem;
|
||||
// left: 0.5rem;
|
||||
z-index: 10;
|
||||
-webkit-mask-image: linear-gradient(
|
||||
90deg,
|
||||
-webkit-mask-image: linear-gradient(90deg,
|
||||
transparent 0%,
|
||||
blue 5%,
|
||||
blue 93%,
|
||||
transparent 99%
|
||||
);
|
||||
transparent 99%);
|
||||
|
||||
.drag_img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
-webkit-mask-image: linear-gradient(
|
||||
transparent 0%,
|
||||
-webkit-mask-image: linear-gradient(transparent 0%,
|
||||
blue 13%,
|
||||
blue 73%,
|
||||
transparent 97%
|
||||
);
|
||||
transparent 97%);
|
||||
}
|
||||
|
||||
.axis_init {
|
||||
|
@ -2218,23 +2058,19 @@ export default {
|
|||
// top: 0.3rem;
|
||||
// left: 0.5rem;
|
||||
z-index: 10;
|
||||
-webkit-mask-image: linear-gradient(
|
||||
90deg,
|
||||
-webkit-mask-image: linear-gradient(90deg,
|
||||
transparent 0%,
|
||||
blue 5%,
|
||||
blue 93%,
|
||||
transparent 99%
|
||||
);
|
||||
transparent 99%);
|
||||
|
||||
.drag_img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
-webkit-mask-image: linear-gradient(
|
||||
transparent 0%,
|
||||
-webkit-mask-image: linear-gradient(transparent 0%,
|
||||
blue 13%,
|
||||
blue 73%,
|
||||
transparent 97%
|
||||
);
|
||||
transparent 97%);
|
||||
}
|
||||
|
||||
.axis_shimen {
|
||||
|
@ -2263,6 +2099,7 @@ export default {
|
|||
left: 18%;
|
||||
z-index: 99;
|
||||
}
|
||||
|
||||
.axis_shimen3 {
|
||||
width: 0.3rem;
|
||||
height: 0.4rem;
|
||||
|
@ -2271,6 +2108,7 @@ export default {
|
|||
left: 20%;
|
||||
z-index: 99;
|
||||
}
|
||||
|
||||
.axis_shimen4 {
|
||||
width: 0.3rem;
|
||||
height: 0.4rem;
|
||||
|
@ -2280,6 +2118,7 @@ export default {
|
|||
z-index: 99;
|
||||
}
|
||||
}
|
||||
|
||||
.drag_box7 {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
|
@ -2288,23 +2127,19 @@ export default {
|
|||
// left: 0.5rem;
|
||||
z-index: 10;
|
||||
top: -64px;
|
||||
-webkit-mask-image: linear-gradient(
|
||||
90deg,
|
||||
-webkit-mask-image: linear-gradient(90deg,
|
||||
transparent 0%,
|
||||
blue 5%,
|
||||
blue 93%,
|
||||
transparent 99%
|
||||
);
|
||||
transparent 99%);
|
||||
|
||||
.drag_img {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
-webkit-mask-image: linear-gradient(
|
||||
transparent 0%,
|
||||
-webkit-mask-image: linear-gradient(transparent 0%,
|
||||
blue 13%,
|
||||
blue 73%,
|
||||
transparent 97%
|
||||
);
|
||||
transparent 97%);
|
||||
}
|
||||
|
||||
.axis_shimen {
|
||||
|
@ -2336,6 +2171,7 @@ export default {
|
|||
cursor: pointer;
|
||||
z-index: 99;
|
||||
}
|
||||
|
||||
.axis_shimen3 {
|
||||
width: 0.4rem;
|
||||
height: auto;
|
||||
|
@ -2345,6 +2181,7 @@ export default {
|
|||
z-index: 99;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.axis_shimen4 {
|
||||
width: 0.4rem;
|
||||
height: auto;
|
||||
|
@ -2354,6 +2191,7 @@ export default {
|
|||
z-index: 99;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.axis_shimen5 {
|
||||
width: 0.4rem;
|
||||
height: auto;
|
||||
|
@ -2364,6 +2202,7 @@ export default {
|
|||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.drag_box {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
@ -2371,23 +2210,19 @@ export default {
|
|||
// top: 0.3rem;
|
||||
// left: 0.5rem;
|
||||
z-index: 10;
|
||||
-webkit-mask-image: linear-gradient(
|
||||
90deg,
|
||||
-webkit-mask-image: linear-gradient(90deg,
|
||||
transparent 4%,
|
||||
blue 18%,
|
||||
blue 88%,
|
||||
transparent 100%
|
||||
);
|
||||
transparent 100%);
|
||||
|
||||
.drag_img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
-webkit-mask-image: linear-gradient(
|
||||
transparent 0%,
|
||||
-webkit-mask-image: linear-gradient(transparent 0%,
|
||||
blue 13%,
|
||||
blue 73%,
|
||||
transparent 97%
|
||||
);
|
||||
transparent 97%);
|
||||
}
|
||||
|
||||
.axis_1 {
|
||||
|
@ -2579,17 +2414,14 @@ export default {
|
|||
width: 0.84rem !important;
|
||||
}
|
||||
|
||||
.swiper-slide1 {
|
||||
}
|
||||
.swiper-slide1 {}
|
||||
|
||||
::v-deep .swiper-slide2 {
|
||||
color: #ffffff !important;
|
||||
background: linear-gradient(
|
||||
-35deg,
|
||||
background: linear-gradient(-35deg,
|
||||
#56a8d5 0%,
|
||||
rgba(0, 55, 110, 0.75) 50%,
|
||||
#56a8d5 100%
|
||||
) !important;
|
||||
#56a8d5 100%) !important;
|
||||
border: 1px solid rgba(122, 225, 255, 0.75) !important;
|
||||
}
|
||||
|
||||
|
@ -2673,8 +2505,7 @@ export default {
|
|||
.i_title {
|
||||
// width: 4rem;
|
||||
height: 0.5rem;
|
||||
background: url("../../assets/img/i_title_bg.png") center
|
||||
no-repeat;
|
||||
background: url("../../assets/img/i_title_bg.png") center no-repeat;
|
||||
background-size: 100% 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
@ -2730,11 +2561,9 @@ export default {
|
|||
>span:nth-child(7) {
|
||||
width: 0.66rem;
|
||||
height: 0.3rem;
|
||||
background: linear-gradient(
|
||||
-35deg,
|
||||
background: linear-gradient(-35deg,
|
||||
rgba(122, 225, 255, 0.49) 1%,
|
||||
rgba(122, 225, 255, 0.5) 100%
|
||||
);
|
||||
rgba(122, 225, 255, 0.5) 100%);
|
||||
border: 0.01rem solid rgba(122, 225, 255, 0.5);
|
||||
border-radius: 0.15rem;
|
||||
font-size: 0.14rem;
|
||||
|
@ -2749,8 +2578,7 @@ export default {
|
|||
.i_title_ {
|
||||
// width: 4rem;
|
||||
height: 0.5rem;
|
||||
background: url("../../assets/img/i_title_bg.png") center
|
||||
no-repeat;
|
||||
background: url("../../assets/img/i_title_bg.png") center no-repeat;
|
||||
background-size: 100% 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
@ -2799,11 +2627,9 @@ export default {
|
|||
>span:nth-child(7) {
|
||||
width: 0.66rem;
|
||||
height: 0.3rem;
|
||||
background: linear-gradient(
|
||||
-35deg,
|
||||
background: linear-gradient(-35deg,
|
||||
rgba(122, 225, 255, 0.49) 1%,
|
||||
rgba(122, 225, 255, 0.5) 100%
|
||||
);
|
||||
rgba(122, 225, 255, 0.5) 100%);
|
||||
border: 0.01rem solid rgba(122, 225, 255, 0.5);
|
||||
border-radius: 0.15rem;
|
||||
font-size: 0.14rem;
|
||||
|
|
|
@ -28,7 +28,8 @@
|
|||
</template>
|
||||
<el-menu-item-group>
|
||||
<el-menu-item :disabled="item1.router ? false : true" @click="toRouter1(item1)"
|
||||
:index="item1.router" v-for="item1, index1 in item.list">{{ item1.name }}</el-menu-item>
|
||||
:index="item1.router" v-for="item1, index1 in item.list">{{ item1.name
|
||||
}}</el-menu-item>
|
||||
</el-menu-item-group>
|
||||
</el-submenu>
|
||||
<el-menu-item @click="toRouter1(item)" :index="item.router" v-else>
|
||||
|
@ -64,35 +65,46 @@ export default {
|
|||
},
|
||||
{
|
||||
name: '生产环节', router: 'productionProcess',
|
||||
routerList: ['agricultural', 'sprayInsecticide', 'spreadManure', 'pickingRecords'],
|
||||
routerList: ['agricultural', 'sprayInsecticide', 'spreadManure', 'pickingRecords', 'clearReport', "pestManagement"],
|
||||
img: require('../assets/image/vrcode-icon1.png'),
|
||||
list: [{ name: '农事管理', router: '' },//agricultural
|
||||
{ name: '施肥记录', router: '' },//spreadManure
|
||||
{ name: '打药记录', router: '' },//sprayInsecticide
|
||||
{ name: '采摘记录', router: '' },//pickingRecords
|
||||
{ name: '清洁记录', router: '' },
|
||||
{ name: '病虫害管理', router: '' },]
|
||||
{ name: '清洁记录', router: '' },//clearReport
|
||||
{ name: '病虫害管理', router: '' },//pestManagement
|
||||
]
|
||||
},
|
||||
{
|
||||
name: '产品追溯', router: 'productTraceability',
|
||||
routerList: ['setsuyuan'],
|
||||
routerList: ['setsuyuan', 'suyuanBatch', 'reportLibrary'],
|
||||
img: require('../assets/image/vrcode-icon2.png'),
|
||||
list: [{ name: '溯源批次', router: '' },
|
||||
list: [{ name: '溯源批次', router: '' },//suyuanBatch
|
||||
{ name: '配置溯源版面', router: 'setsuyuan' },
|
||||
{ name: '各种报告库', router: '' }]
|
||||
{ name: '各种报告库', router: '' }//reportLibrary
|
||||
]
|
||||
},
|
||||
{
|
||||
name: '基础信息设置', router: 'setting', routerList: [],
|
||||
name: '基础信息设置', router: 'setting', routerList: ['cropVarieties',
|
||||
'croppingPattern',
|
||||
'agriculturalProcess',
|
||||
'staffManagement',
|
||||
'farmManage',
|
||||
'supplierManage',
|
||||
'informationManage',
|
||||
'machineManagement',
|
||||
'cropManagement',],
|
||||
img: require('../assets/image/vrcode-icon3.png'),
|
||||
list: [{ name: '作物品种', router: '' },
|
||||
{ name: '种植栽培模式', router: '' },
|
||||
{ name: '农事作业工序', router: '' },
|
||||
{ name: '人员管理', router: '' },
|
||||
{ name: '农场信息管理', router: '' },
|
||||
{ name: '供应商管理', router: '' },
|
||||
{ name: '生产资料管理', router: '' },
|
||||
{ name: '农机工具管理', router: '' },
|
||||
{ name: '作物外观图片库', router: '' },]
|
||||
list: [{ name: '作物品种', router: '' },//cropVarieties
|
||||
{ name: '种植栽培模式', router: '' },//croppingPattern
|
||||
{ name: '农事作业工序', router: '' },//agriculturalProcess
|
||||
{ name: '人员管理', router: '' },//staffManagement
|
||||
{ name: '农场信息管理', router: '' },//farmManage
|
||||
{ name: '供应商管理', router: '' },//supplierManage
|
||||
{ name: '生产资料管理', router: '' },//informationManage
|
||||
{ name: '农机工具管理', router: '' },//machineManagement
|
||||
{ name: '作物外观图片库', router: '' },//cropManagement
|
||||
]
|
||||
},],
|
||||
routerNow: 'plantingPlan',
|
||||
deviceName: 1,
|
||||
|
@ -212,4 +224,3 @@ export default {
|
|||
}
|
||||
</script>
|
||||
<style lang="scss"></style>
|
||||
|
|
@ -201,11 +201,22 @@ export default {
|
|||
TypeSel: '',
|
||||
value1: '',
|
||||
modelisTrue:false,
|
||||
imgList: ['https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg']
|
||||
imgList: ['https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg'],
|
||||
userInfo:null
|
||||
}
|
||||
},
|
||||
mounted() { },
|
||||
mounted() {
|
||||
this.userInfo = JSON.parse(localStorage.getItem("userInfo"));
|
||||
this.dataInit()
|
||||
},
|
||||
methods: {
|
||||
dataInit(){
|
||||
var data={userId:this.userInfo.userid}
|
||||
this.api.code_getplant(data).then(res=>{
|
||||
console.log(res,111);
|
||||
|
||||
})
|
||||
},
|
||||
handleCommand() {
|
||||
|
||||
},
|
||||
|
|
|
@ -0,0 +1,145 @@
|
|||
<template>
|
||||
<div class="plantingPlan ">
|
||||
<div class="page-content">
|
||||
<div class="table-title">
|
||||
<img src="../../assets/vrcodeImg/agriculturalProcess.png" alt="" />
|
||||
农事作业工序
|
||||
</div>
|
||||
<div class="flex-view">
|
||||
|
||||
<div class="vrcode-input-sel">
|
||||
<div class="el-dropdown-link">
|
||||
<input v-model="TypeSel" type="text" class="input-input" placeholder="请输入种植模式名称">
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-btn save-btn" @click="addModel = true">
|
||||
<img src="../../assets/img/add.png" alt="">添加
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-table">
|
||||
<div class="vrcode-table-view table-view">
|
||||
<el-table :data="tableData" :row-class-name="tableRowClassName" height="520" style="width: 100%">
|
||||
<el-table-column prop="id" label="序号"></el-table-column>
|
||||
<el-table-column prop="data0" label="名称"></el-table-column>
|
||||
<el-table-column prop="data1" label="温室清洁时间"></el-table-column>
|
||||
<el-table-column prop="data3" label="消毒杀菌时间"></el-table-column>
|
||||
<el-table-column prop="data2" label="清洁方式"></el-table-column>
|
||||
<el-table-column prop="data5" label="使用药剂">
|
||||
<template slot-scope="scope">
|
||||
<div class="table-flex">
|
||||
<div class="isOpen" :class="scope.row.data5 ? 'open-green' : 'open-red'">
|
||||
{{ scope.row.data5 ? '已公开' : '未公开' }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="200">
|
||||
<template slot-scope="scope">
|
||||
|
||||
<div class="vrcode-table-btn">
|
||||
<div class="vrcode-btn blue-btn" @click="addModel = true">
|
||||
编辑
|
||||
</div>
|
||||
<div class="vrcode-btn red-btn">
|
||||
删除
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-dialog title="提示" top="5vh" :visible.sync="addModel" width="380px" class="vrcode-model"
|
||||
:append-to-body="true">
|
||||
<div class="vrcode-model-title">
|
||||
编辑名称
|
||||
</div>
|
||||
<div class="vrcode-content">
|
||||
<div class="vrcode-view">
|
||||
<div class="vrcode-input w-100">
|
||||
<div class="input-title">名称</div>
|
||||
<input type="text" placeholder="请输入名称">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
|
||||
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
edit: false,
|
||||
addModel: false,
|
||||
tableData: [{
|
||||
id: '13', data0: '西红柿种植',
|
||||
data1: '施肥',
|
||||
data2: '刘永强',
|
||||
data3: '',
|
||||
data4: '2023-04-05 21:00',
|
||||
data5: true,
|
||||
}, {}, {}, {}, {}, {}, {}, {},],
|
||||
typeSelList: [{ name: '1#平均空气温度', value: 1, },
|
||||
{ name: '2#平均空气温度', value: 2, },
|
||||
{ name: '1#空气温度', value: 3, },
|
||||
{ name: '2#空气温度', value: 4, },
|
||||
{ name: '3#空气温度', value: 5, },
|
||||
{ name: '4#空气温度', value: 6, },
|
||||
{ name: '5#空气温度', value: 7, },
|
||||
{ name: '6#空气温度', value: 8, },
|
||||
{ name: '7#空气温度', value: 9, },
|
||||
{ name: '8#空气温度', value: 10, },],
|
||||
TypeSel: '',
|
||||
value1: '',
|
||||
modelisTrue: false,
|
||||
imgList: ['https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg']
|
||||
}
|
||||
},
|
||||
mounted() { },
|
||||
methods: {
|
||||
handleCommand() {
|
||||
|
||||
},
|
||||
tableRowClassName({ row, rowIndex }) {
|
||||
if (rowIndex % 2 == 1) {
|
||||
return 'warning-row';
|
||||
} else if (rowIndex % 2 == 0) {
|
||||
return 'success-row';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
delImage(index) {
|
||||
console.log('删除图片', index);
|
||||
this.imgList.splice(index, 1);
|
||||
},
|
||||
handleImageChange(event) {
|
||||
const files = event.target.files;
|
||||
if (files.length > 0) {
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
const reader = new FileReader();
|
||||
|
||||
reader.onload = (e) => {
|
||||
this.imgList.push(e.target.result);
|
||||
};
|
||||
|
||||
reader.readAsDataURL(files[i]);
|
||||
}
|
||||
this.$refs.fileInput.value = '';
|
||||
} else {
|
||||
console.log(null);
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
<style lang="scss"></style>
|
|
@ -0,0 +1,181 @@
|
|||
<template>
|
||||
<div class="plantingPlan ">
|
||||
<div class="page-content">
|
||||
<div class="table-title">
|
||||
<img src="../../assets/vrcodeImg/clearReport.png" alt="" />
|
||||
清洁记录
|
||||
</div>
|
||||
<div class="flex-view">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = true">
|
||||
<img src="../../assets/img/add.png" alt="">新增清洁信息
|
||||
</div>
|
||||
<div class="vrcode-input-sel">
|
||||
<el-dropdown @command="handleCommand">
|
||||
<div class="el-dropdown-link">
|
||||
<input v-model="TypeSel" type="text" class="input-input" placeholder="请选择操作员">
|
||||
<div class="arrow"><img src="../../assets/image/arrow.png" alt=""></div>
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-for="item, index in typeSelList" :key="index" :command="index">{{
|
||||
item.name
|
||||
}}</el-dropdown-item>
|
||||
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-table">
|
||||
<div class="vrcode-table-view table-view">
|
||||
<el-table :data="tableData" :row-class-name="tableRowClassName" height="520" style="width: 100%">
|
||||
<el-table-column prop="id" label="序号"></el-table-column>
|
||||
<el-table-column prop="data0" label="名称"></el-table-column>
|
||||
<el-table-column prop="data1" label="温室清洁时间"></el-table-column>
|
||||
<el-table-column prop="data3" label="消毒杀菌时间"></el-table-column>
|
||||
<el-table-column prop="data2" label="清洁方式"></el-table-column>
|
||||
<el-table-column prop="data5" label="使用药剂">
|
||||
<template slot-scope="scope">
|
||||
<div class="table-flex">
|
||||
<div class="isOpen" :class="scope.row.data5 ? 'open-green' : 'open-red'">
|
||||
{{ scope.row.data5 ? '已公开' : '未公开' }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="200">
|
||||
<template slot-scope="scope">
|
||||
|
||||
<div class="vrcode-table-btn">
|
||||
<div class="vrcode-btn blue-btn" @click="addModel = true">
|
||||
编辑
|
||||
</div>
|
||||
<div class="vrcode-btn red-btn">
|
||||
删除
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-dialog title="提示" top="5vh" :visible.sync="addModel" width="740px" class="vrcode-model" :append-to-body="true">
|
||||
<div class="vrcode-model-title">
|
||||
新增采摘信息
|
||||
</div>
|
||||
<div class="vrcode-content">
|
||||
<div class="vrcode-view">
|
||||
<div class="vrcode-input-seltime">
|
||||
<div class="title">温室清洁时间</div>
|
||||
<div class="seltime">
|
||||
<el-date-picker v-model="value1" type="date" placeholder="请选择开始时间">
|
||||
</el-date-picker>
|
||||
<div class="seltime-icon">
|
||||
<img src="../../assets/img/vrcode-time.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-input-seltime">
|
||||
<div class="title">消毒杀菌时间</div>
|
||||
<div class="seltime">
|
||||
<el-date-picker v-model="value1" type="date" placeholder="请选择结束时间">
|
||||
</el-date-picker>
|
||||
<div class="seltime-icon">
|
||||
<img src="../../assets/img/vrcode-time.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-input w-100">
|
||||
<div class="input-title">消毒次数</div>
|
||||
<input type="text" placeholder="请输入消毒次数">
|
||||
</div>
|
||||
<div class="vrcode-input w-100">
|
||||
<div class="input-title">清洁方式</div>
|
||||
<input type="text" placeholder="请输入清洁方式">
|
||||
</div>
|
||||
<div class="vrcode-input w-100">
|
||||
<div class="input-title">使用药剂</div>
|
||||
<input type="text" placeholder="请输入使用药剂">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
|
||||
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
edit: false,
|
||||
addModel: false,
|
||||
tableData: [{
|
||||
id: '13', data0: '西红柿种植',
|
||||
data1: '施肥',
|
||||
data2: '刘永强',
|
||||
data3: '',
|
||||
data4: '2023-04-05 21:00',
|
||||
data5: true,
|
||||
}, {}, {}, {}, {}, {}, {}, {},],
|
||||
typeSelList: [{ name: '1#平均空气温度', value: 1, },
|
||||
{ name: '2#平均空气温度', value: 2, },
|
||||
{ name: '1#空气温度', value: 3, },
|
||||
{ name: '2#空气温度', value: 4, },
|
||||
{ name: '3#空气温度', value: 5, },
|
||||
{ name: '4#空气温度', value: 6, },
|
||||
{ name: '5#空气温度', value: 7, },
|
||||
{ name: '6#空气温度', value: 8, },
|
||||
{ name: '7#空气温度', value: 9, },
|
||||
{ name: '8#空气温度', value: 10, },],
|
||||
TypeSel: '',
|
||||
value1: '',
|
||||
modelisTrue:false,
|
||||
imgList: ['https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg']
|
||||
}
|
||||
},
|
||||
mounted() { },
|
||||
methods: {
|
||||
handleCommand() {
|
||||
|
||||
},
|
||||
tableRowClassName({ row, rowIndex }) {
|
||||
if (rowIndex % 2 == 1) {
|
||||
return 'warning-row';
|
||||
} else if (rowIndex % 2 == 0) {
|
||||
return 'success-row';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
delImage(index) {
|
||||
console.log('删除图片', index);
|
||||
this.imgList.splice(index, 1);
|
||||
},
|
||||
handleImageChange(event) {
|
||||
const files = event.target.files;
|
||||
if (files.length > 0) {
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
const reader = new FileReader();
|
||||
|
||||
reader.onload = (e) => {
|
||||
this.imgList.push(e.target.result);
|
||||
};
|
||||
|
||||
reader.readAsDataURL(files[i]);
|
||||
}
|
||||
this.$refs.fileInput.value = '';
|
||||
} else {
|
||||
console.log(null);
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
<style lang="scss"></style>
|
||||
|
||||
|
|
@ -0,0 +1,162 @@
|
|||
<template>
|
||||
<div class="plantingPlan ">
|
||||
<div class="page-content">
|
||||
<div class="table-title">
|
||||
<img src="../../assets/vrcodeImg/cropManagement.png" alt="" />
|
||||
作物外观图片库
|
||||
</div>
|
||||
<div class="flex-view">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = true">
|
||||
<img src="../../assets/img/add.png" alt="">添加
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-table">
|
||||
<div class="vrcode-table-view table-view">
|
||||
<el-table :data="tableData" :row-class-name="tableRowClassName" height="520" style="width: 100%">
|
||||
<el-table-column prop="id" label="ID"></el-table-column>
|
||||
<el-table-column prop="data0" label="种植计划"></el-table-column>
|
||||
<el-table-column prop="data1" label="操作类型"></el-table-column>
|
||||
<el-table-column prop="data3" label="放置位置"></el-table-column>
|
||||
<el-table-column prop="data2" label="操作员"></el-table-column>
|
||||
|
||||
<el-table-column prop="data4" show-overflow-tooltip label="操作时间"></el-table-column>
|
||||
<el-table-column prop="data5" label="是否公开">
|
||||
<template slot-scope="scope">
|
||||
<div class="table-flex">
|
||||
<div class="isOpen" :class="scope.row.data5 ? 'open-green' : 'open-red'">
|
||||
{{ scope.row.data5 ? '已公开' : '未公开' }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="200">
|
||||
<template slot-scope="scope">
|
||||
|
||||
<div class="vrcode-table-btn">
|
||||
<div class="vrcode-btn blue-btn" @click="addModel = true">
|
||||
编辑
|
||||
</div>
|
||||
<div class="vrcode-btn red-btn">
|
||||
删除
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-dialog title="提示" top="5vh" :visible.sync="addModel" width="380px" class="vrcode-model" :append-to-body="true">
|
||||
<div class="vrcode-model-title">
|
||||
添加报告库
|
||||
</div>
|
||||
<div class="vrcode-content">
|
||||
<div class="vrcode-view">
|
||||
|
||||
<div class="vrcode-input w-100">
|
||||
<div class="input-title">放置位置</div>
|
||||
<input type="text" placeholder="请输入放置位置">
|
||||
</div>
|
||||
<div class="vrcode-selimage">
|
||||
<div class="title">图片</div>
|
||||
<div class="sel-image-view">
|
||||
<div class="sel-img sel-div" v-for="item, index in imgList" :key="index">
|
||||
<el-image :src="item"></el-image>
|
||||
<div class="del-img" @click="delImage(index)">
|
||||
<img src="../../assets/img/del-image.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<label for="sel-img">
|
||||
<div class="sel-image-sel sel-div" v-if="imgList.length < 6">
|
||||
<img src="../../assets/img/add-image.png" alt="">
|
||||
</div>
|
||||
</label>
|
||||
<input ref="fileInput" type="file" multiple id="sel-img" accept="image/*"
|
||||
@change="handleImageChange" />
|
||||
</div>
|
||||
<div class="tips">*上传图片大小应小于2M,建议尺寸为80×60</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
|
||||
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
edit: false,
|
||||
addModel: false,
|
||||
tableData: [{
|
||||
id: '13', data0: '西红柿种植',
|
||||
data1: '施肥',
|
||||
data2: '刘永强',
|
||||
data3: '',
|
||||
data4: '2023-04-05 21:00',
|
||||
data5: true,
|
||||
}, {}, {}, {}, {}, {}, {}, {},],
|
||||
typeSelList: [{ name: '1#平均空气温度', value: 1, },
|
||||
{ name: '2#平均空气温度', value: 2, },
|
||||
{ name: '1#空气温度', value: 3, },
|
||||
{ name: '2#空气温度', value: 4, },
|
||||
{ name: '3#空气温度', value: 5, },
|
||||
{ name: '4#空气温度', value: 6, },
|
||||
{ name: '5#空气温度', value: 7, },
|
||||
{ name: '6#空气温度', value: 8, },
|
||||
{ name: '7#空气温度', value: 9, },
|
||||
{ name: '8#空气温度', value: 10, },],
|
||||
TypeSel: '',
|
||||
value1: '',
|
||||
modelisTrue:false,
|
||||
imgList: ['https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg']
|
||||
}
|
||||
},
|
||||
mounted() { },
|
||||
methods: {
|
||||
handleCommand() {
|
||||
|
||||
},
|
||||
tableRowClassName({ row, rowIndex }) {
|
||||
if (rowIndex % 2 == 1) {
|
||||
return 'warning-row';
|
||||
} else if (rowIndex % 2 == 0) {
|
||||
return 'success-row';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
delImage(index) {
|
||||
console.log('删除图片', index);
|
||||
this.imgList.splice(index, 1);
|
||||
},
|
||||
handleImageChange(event) {
|
||||
const files = event.target.files;
|
||||
if (files.length > 0) {
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
const reader = new FileReader();
|
||||
|
||||
reader.onload = (e) => {
|
||||
this.imgList.push(e.target.result);
|
||||
};
|
||||
|
||||
reader.readAsDataURL(files[i]);
|
||||
}
|
||||
this.$refs.fileInput.value = '';
|
||||
} else {
|
||||
console.log(null);
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
<style lang="scss"></style>
|
||||
|
||||
|
|
@ -0,0 +1,189 @@
|
|||
<template>
|
||||
<div class="plantingPlan ">
|
||||
<div class="page-content">
|
||||
<div class="table-title">
|
||||
<img src="../../assets/vrcodeImg/cropVarieties.png" alt="" />
|
||||
作物品种
|
||||
</div>
|
||||
<div class="flex-view">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = true">
|
||||
<img src="../../assets/img/add.png" alt="">添加
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-table">
|
||||
<div class="vrcode-table-view table-view">
|
||||
<el-table :data="tableData" :row-class-name="tableRowClassName" height="520" style="width: 100%">
|
||||
<el-table-column prop="id" label="ID"></el-table-column>
|
||||
<el-table-column prop="data0" label="种植计划"></el-table-column>
|
||||
<el-table-column prop="data1" label="操作类型"></el-table-column>
|
||||
<el-table-column prop="data3" label="放置位置"></el-table-column>
|
||||
<el-table-column prop="data2" label="操作员"></el-table-column>
|
||||
|
||||
<el-table-column prop="data4" show-overflow-tooltip label="操作时间"></el-table-column>
|
||||
<el-table-column prop="data5" label="是否公开">
|
||||
<template slot-scope="scope">
|
||||
<div class="table-flex">
|
||||
<div class="isOpen" :class="scope.row.data5 ? 'open-green' : 'open-red'">
|
||||
{{ scope.row.data5 ? '已公开' : '未公开' }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="200">
|
||||
<template slot-scope="scope">
|
||||
|
||||
<div class="vrcode-table-btn">
|
||||
<div class="vrcode-btn blue-btn" @click="addModel = true">
|
||||
编辑
|
||||
</div>
|
||||
<div class="vrcode-btn red-btn">
|
||||
删除
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-dialog title="提示" top="5vh" :visible.sync="addModel" width="740px" class="vrcode-model" :append-to-body="true">
|
||||
<div class="vrcode-model-title">
|
||||
添加报告库
|
||||
</div>
|
||||
<div class="vrcode-content">
|
||||
<div class="vrcode-view">
|
||||
<div class="vrcode-input-sel">
|
||||
<div class="title">操作员</div>
|
||||
<el-dropdown @command="handleCommand">
|
||||
<div class="el-dropdown-link">
|
||||
<input v-model="TypeSel" type="text" class="input-input" placeholder="请选择操作员">
|
||||
<div class="arrow"><img src="../../assets/image/arrow.png" alt=""></div>
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-for="item, index in typeSelList" :key="index" :command="index">{{
|
||||
item.name
|
||||
}}</el-dropdown-item>
|
||||
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
<div class="vrcode-input-sel">
|
||||
<div class="title">操作员</div>
|
||||
<el-dropdown @command="handleCommand">
|
||||
<div class="el-dropdown-link">
|
||||
<input v-model="TypeSel" type="text" class="input-input" placeholder="请选择操作员">
|
||||
<div class="arrow"><img src="../../assets/image/arrow.png" alt=""></div>
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-for="item, index in typeSelList" :key="index" :command="index">{{
|
||||
item.name
|
||||
}}</el-dropdown-item>
|
||||
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
<div class="vrcode-input w-100">
|
||||
<div class="input-title">放置位置</div>
|
||||
<input type="text" placeholder="请输入放置位置">
|
||||
</div>
|
||||
<div class="vrcode-selimage">
|
||||
<div class="sel-image-view">
|
||||
<div class="sel-img sel-div" v-for="item, index in imgList" :key="index">
|
||||
<el-image :src="item"></el-image>
|
||||
<div class="del-img" @click="delImage(index)">
|
||||
<img src="../../assets/img/del-image.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<label for="sel-img">
|
||||
<div class="sel-image-sel sel-div" v-if="imgList.length < 6">
|
||||
<img src="../../assets/img/add-image.png" alt="">
|
||||
</div>
|
||||
</label>
|
||||
<input ref="fileInput" type="file" multiple id="sel-img" accept="image/*"
|
||||
@change="handleImageChange" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
|
||||
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
edit: false,
|
||||
addModel: false,
|
||||
tableData: [{
|
||||
id: '13', data0: '西红柿种植',
|
||||
data1: '施肥',
|
||||
data2: '刘永强',
|
||||
data3: '',
|
||||
data4: '2023-04-05 21:00',
|
||||
data5: true,
|
||||
}, {}, {}, {}, {}, {}, {}, {},],
|
||||
typeSelList: [{ name: '1#平均空气温度', value: 1, },
|
||||
{ name: '2#平均空气温度', value: 2, },
|
||||
{ name: '1#空气温度', value: 3, },
|
||||
{ name: '2#空气温度', value: 4, },
|
||||
{ name: '3#空气温度', value: 5, },
|
||||
{ name: '4#空气温度', value: 6, },
|
||||
{ name: '5#空气温度', value: 7, },
|
||||
{ name: '6#空气温度', value: 8, },
|
||||
{ name: '7#空气温度', value: 9, },
|
||||
{ name: '8#空气温度', value: 10, },],
|
||||
TypeSel: '',
|
||||
value1: '',
|
||||
modelisTrue:false,
|
||||
imgList: ['https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg']
|
||||
}
|
||||
},
|
||||
mounted() { },
|
||||
methods: {
|
||||
handleCommand() {
|
||||
|
||||
},
|
||||
tableRowClassName({ row, rowIndex }) {
|
||||
if (rowIndex % 2 == 1) {
|
||||
return 'warning-row';
|
||||
} else if (rowIndex % 2 == 0) {
|
||||
return 'success-row';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
delImage(index) {
|
||||
console.log('删除图片', index);
|
||||
this.imgList.splice(index, 1);
|
||||
},
|
||||
handleImageChange(event) {
|
||||
const files = event.target.files;
|
||||
if (files.length > 0) {
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
const reader = new FileReader();
|
||||
|
||||
reader.onload = (e) => {
|
||||
this.imgList.push(e.target.result);
|
||||
};
|
||||
|
||||
reader.readAsDataURL(files[i]);
|
||||
}
|
||||
this.$refs.fileInput.value = '';
|
||||
} else {
|
||||
console.log(null);
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
<style lang="scss"></style>
|
||||
|
||||
|
|
@ -0,0 +1,143 @@
|
|||
<template>
|
||||
<div class="plantingPlan ">
|
||||
<div class="page-content">
|
||||
<div class="table-title">
|
||||
<img src="../../assets/vrcodeImg/croppingPattern.png" alt="" />
|
||||
种植栽培模式
|
||||
</div>
|
||||
<div class="flex-view">
|
||||
|
||||
<div class="vrcode-input-sel">
|
||||
<div class="el-dropdown-link">
|
||||
<input v-model="TypeSel" type="text" class="input-input" placeholder="请输入种植模式名称">
|
||||
<div class="arrow"><img class="search" src="../../assets/vrcodeImg/search.png" alt=""></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-table">
|
||||
<div class="vrcode-table-view table-view">
|
||||
<el-table :data="tableData" :row-class-name="tableRowClassName" height="520" style="width: 100%">
|
||||
<el-table-column prop="id" label="序号"></el-table-column>
|
||||
<el-table-column prop="data0" label="名称"></el-table-column>
|
||||
<el-table-column prop="data1" label="温室清洁时间"></el-table-column>
|
||||
<el-table-column prop="data3" label="消毒杀菌时间"></el-table-column>
|
||||
<el-table-column prop="data2" label="清洁方式"></el-table-column>
|
||||
<el-table-column prop="data5" label="使用药剂">
|
||||
<template slot-scope="scope">
|
||||
<div class="table-flex">
|
||||
<div class="isOpen" :class="scope.row.data5 ? 'open-green' : 'open-red'">
|
||||
{{ scope.row.data5 ? '已公开' : '未公开' }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="200">
|
||||
<template slot-scope="scope">
|
||||
|
||||
<div class="vrcode-table-btn">
|
||||
<div class="vrcode-btn blue-btn" @click="addModel = true">
|
||||
编辑
|
||||
</div>
|
||||
<div class="vrcode-btn red-btn">
|
||||
删除
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-dialog title="提示" top="5vh" :visible.sync="addModel" width="380px" class="vrcode-model"
|
||||
:append-to-body="true">
|
||||
<div class="vrcode-model-title">
|
||||
编辑名称
|
||||
</div>
|
||||
<div class="vrcode-content">
|
||||
<div class="vrcode-view">
|
||||
<div class="vrcode-input w-100">
|
||||
<div class="input-title">名称</div>
|
||||
<input type="text" placeholder="请输入名称">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
|
||||
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
edit: false,
|
||||
addModel: false,
|
||||
tableData: [{
|
||||
id: '13', data0: '西红柿种植',
|
||||
data1: '施肥',
|
||||
data2: '刘永强',
|
||||
data3: '',
|
||||
data4: '2023-04-05 21:00',
|
||||
data5: true,
|
||||
}, {}, {}, {}, {}, {}, {}, {},],
|
||||
typeSelList: [{ name: '1#平均空气温度', value: 1, },
|
||||
{ name: '2#平均空气温度', value: 2, },
|
||||
{ name: '1#空气温度', value: 3, },
|
||||
{ name: '2#空气温度', value: 4, },
|
||||
{ name: '3#空气温度', value: 5, },
|
||||
{ name: '4#空气温度', value: 6, },
|
||||
{ name: '5#空气温度', value: 7, },
|
||||
{ name: '6#空气温度', value: 8, },
|
||||
{ name: '7#空气温度', value: 9, },
|
||||
{ name: '8#空气温度', value: 10, },],
|
||||
TypeSel: '',
|
||||
value1: '',
|
||||
modelisTrue: false,
|
||||
imgList: ['https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg']
|
||||
}
|
||||
},
|
||||
mounted() { },
|
||||
methods: {
|
||||
handleCommand() {
|
||||
|
||||
},
|
||||
tableRowClassName({ row, rowIndex }) {
|
||||
if (rowIndex % 2 == 1) {
|
||||
return 'warning-row';
|
||||
} else if (rowIndex % 2 == 0) {
|
||||
return 'success-row';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
delImage(index) {
|
||||
console.log('删除图片', index);
|
||||
this.imgList.splice(index, 1);
|
||||
},
|
||||
handleImageChange(event) {
|
||||
const files = event.target.files;
|
||||
if (files.length > 0) {
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
const reader = new FileReader();
|
||||
|
||||
reader.onload = (e) => {
|
||||
this.imgList.push(e.target.result);
|
||||
};
|
||||
|
||||
reader.readAsDataURL(files[i]);
|
||||
}
|
||||
this.$refs.fileInput.value = '';
|
||||
} else {
|
||||
console.log(null);
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
<style lang="scss"></style>
|
|
@ -0,0 +1,304 @@
|
|||
<template>
|
||||
<div class="plantingPlan ">
|
||||
<div class="page-content">
|
||||
<div class="table-title">
|
||||
<img src="../../assets/vrcodeImg/farmManage.png" alt="" />
|
||||
农场信息管理
|
||||
</div>
|
||||
<div class="flex-view border-none padding-none">
|
||||
<div class="vrcode-title">种植信息</div>
|
||||
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">品种介绍</div>
|
||||
<input type="text" placeholder="请输入品种介绍">
|
||||
</div>
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">种植规模(亩)</div>
|
||||
<input type="text" placeholder="请输入种植规模">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-view ">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = true">
|
||||
保存
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-view border-none padding-none">
|
||||
<div class="vrcode-title">联系人信息</div>
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">品种介绍</div>
|
||||
<input type="text" placeholder="请输入品种介绍">
|
||||
</div>
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">品种介绍</div>
|
||||
<input type="text" placeholder="请输入品种介绍">
|
||||
</div>
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">品种介绍</div>
|
||||
<input type="text" placeholder="请输入品种介绍">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-view border-none padding-none">
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">品种介绍</div>
|
||||
<input type="text" placeholder="请输入品种介绍">
|
||||
</div>
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">品种介绍</div>
|
||||
<input type="text" placeholder="请输入品种介绍">
|
||||
</div>
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">品种介绍</div>
|
||||
<input type="text" placeholder="请输入品种介绍">
|
||||
</div>
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">品种介绍</div>
|
||||
<input type="text" placeholder="请输入品种介绍">
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-view border-none">
|
||||
<div class="vrcode-selimage">
|
||||
<div class="title">二维码logo</div>
|
||||
<div class="sel-image-view">
|
||||
<div class="sel-img sel-div" v-for="item, index in imgList" :key="index">
|
||||
<el-image :src="item"></el-image>
|
||||
<div class="del-img" @click="delImage(index)">
|
||||
<img src="../../assets/img/del-image.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<label for="sel-img">
|
||||
<div class="sel-image-sel sel-div" v-if="imgList.length < 6">
|
||||
<img src="../../assets/img/add-image.png" alt="">
|
||||
</div>
|
||||
</label>
|
||||
<input ref="fileInput" type="file" multiple id="sel-img" accept="image/*"
|
||||
@change="handleImageChange" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-selimage">
|
||||
<div class="title">系统logo</div>
|
||||
<div class="sel-image-view">
|
||||
<div class="sel-img sel-div" v-for="item, index in imgList" :key="index">
|
||||
<el-image :src="item"></el-image>
|
||||
<div class="del-img" @click="delImage(index)">
|
||||
<img src="../../assets/img/del-image.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<label for="sel-img">
|
||||
<div class="sel-image-sel sel-div" v-if="imgList.length < 6">
|
||||
<img src="../../assets/img/add-image.png" alt="">
|
||||
</div>
|
||||
</label>
|
||||
<input ref="fileInput" type="file" multiple id="sel-img" accept="image/*"
|
||||
@change="handleImageChange" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-view padding-none border-none">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = true">
|
||||
保存
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-dialog title="提示" top="5vh" :visible.sync="addModel" width="740px" class="vrcode-model"
|
||||
:append-to-body="true">
|
||||
<div class="vrcode-model-title">
|
||||
新增农事信息
|
||||
</div>
|
||||
<div class="vrcode-content">
|
||||
<div class="vrcode-view">
|
||||
<div class="vrcode-input-sel">
|
||||
<div class="title">种植计划</div>
|
||||
<el-dropdown @command="handleCommand">
|
||||
<div class="el-dropdown-link">
|
||||
<input v-model="TypeSel" type="text" class="input-input" placeholder="请选择种植计划">
|
||||
<div class="arrow"><img src="../../assets/image/arrow.png" alt=""></div>
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-for="item, index in typeSelList" :key="index" :command="index">{{
|
||||
item.name
|
||||
}}</el-dropdown-item>
|
||||
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
<div class="vrcode-input-sel">
|
||||
<div class="title">操作类型</div>
|
||||
<el-dropdown @command="handleCommand">
|
||||
<div class="el-dropdown-link">
|
||||
<input v-model="TypeSel" type="text" class="input-input" placeholder="请选择操作类型">
|
||||
<div class="arrow"><img src="../../assets/image/arrow.png" alt=""></div>
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-for="item, index in typeSelList" :key="index" :command="index">{{
|
||||
item.name
|
||||
}}</el-dropdown-item>
|
||||
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">放置位置</div>
|
||||
<input type="text" placeholder="请输入放置位置">
|
||||
</div>
|
||||
<div class="vrcode-input-seltime">
|
||||
<div class="title">开始时间</div>
|
||||
<div class="seltime">
|
||||
<el-date-picker v-model="value1" type="date" placeholder="请选择开始时间">
|
||||
</el-date-picker>
|
||||
<div class="seltime-icon">
|
||||
<img src="../../assets/img/vrcode-time.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-input-seltime">
|
||||
<div class="title">结束时间</div>
|
||||
<div class="seltime">
|
||||
<el-date-picker v-model="value1" type="date" placeholder="请选择结束时间">
|
||||
</el-date-picker>
|
||||
<div class="seltime-icon">
|
||||
<img src="../../assets/img/vrcode-time.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-input-sel">
|
||||
<div class="title">操作员</div>
|
||||
<el-dropdown @command="handleCommand">
|
||||
<div class="el-dropdown-link">
|
||||
<input v-model="TypeSel" type="text" class="input-input" placeholder="请选择操作员">
|
||||
<div class="arrow"><img src="../../assets/image/arrow.png" alt=""></div>
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-for="item, index in typeSelList" :key="index" :command="index">{{
|
||||
item.name
|
||||
}}</el-dropdown-item>
|
||||
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
<div class="vrcode-textarea">
|
||||
<div class="title">备注</div>
|
||||
<textarea placeholder="输入您的备注信息" name="" id="" cols="30" rows="10"></textarea>
|
||||
</div>
|
||||
<div class="vrcode-selimage">
|
||||
<div class="title">工作图片</div>
|
||||
<div class="sel-image-view">
|
||||
<div class="sel-img sel-div" v-for="item, index in imgList" :key="index">
|
||||
<el-image :src="item"></el-image>
|
||||
<div class="del-img" @click="delImage(index)">
|
||||
<img src="../../assets/img/del-image.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<label for="sel-img">
|
||||
<div class="sel-image-sel sel-div" v-if="imgList.length < 6">
|
||||
<img src="../../assets/img/add-image.png" alt="">
|
||||
</div>
|
||||
</label>
|
||||
<input ref="fileInput" type="file" multiple id="sel-img" accept="image/*"
|
||||
@change="handleImageChange" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-radio">
|
||||
<div class="radio-name">是否追溯</div>
|
||||
<div class="radio-sel">
|
||||
<img v-if="modelisTrue" class="sel" src="../../assets/image/radio.png" alt="">
|
||||
<div v-else @click="modelisTrue = true" class="no-sel"></div>
|
||||
<span>是</span>
|
||||
</div>
|
||||
<div class="radio-sel">
|
||||
<img v-if="!modelisTrue" class="sel" src="../../assets/image/radio.png" alt="">
|
||||
<div v-else @click="modelisTrue = false" class="no-sel"></div>
|
||||
<span>否</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
|
||||
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
edit: false,
|
||||
addModel: false,
|
||||
tableData: [{
|
||||
id: '13', data0: '西红柿种植',
|
||||
data1: '施肥',
|
||||
data2: '刘永强',
|
||||
data3: '2023-04-05 21:00',
|
||||
data4: '2023-04-05 21:00',
|
||||
data5: true,
|
||||
}, {}, {}, {}, {}, {}, {}, {},],
|
||||
typeSelList: [{ name: '1#平均空气温度', value: 1, },
|
||||
{ name: '2#平均空气温度', value: 2, },
|
||||
{ name: '1#空气温度', value: 3, },
|
||||
{ name: '2#空气温度', value: 4, },
|
||||
{ name: '3#空气温度', value: 5, },
|
||||
{ name: '4#空气温度', value: 6, },
|
||||
{ name: '5#空气温度', value: 7, },
|
||||
{ name: '6#空气温度', value: 8, },
|
||||
{ name: '7#空气温度', value: 9, },
|
||||
{ name: '8#空气温度', value: 10, },],
|
||||
TypeSel: '',
|
||||
value1: '',
|
||||
modelisTrue: false,
|
||||
imgList: ['https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg'],
|
||||
userInfo: null
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.userInfo = JSON.parse(localStorage.getItem("userInfo"));
|
||||
this.dataInit()
|
||||
},
|
||||
methods: {
|
||||
dataInit() {
|
||||
var data = { userId: this.userInfo.userid }
|
||||
this.api.code_getplant(data).then(res => {
|
||||
console.log(res, 111);
|
||||
|
||||
})
|
||||
},
|
||||
handleCommand() {
|
||||
|
||||
},
|
||||
tableRowClassName({ row, rowIndex }) {
|
||||
if (rowIndex % 2 == 1) {
|
||||
return 'warning-row';
|
||||
} else if (rowIndex % 2 == 0) {
|
||||
return 'success-row';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
delImage(index) {
|
||||
console.log('删除图片', index);
|
||||
this.imgList.splice(index, 1);
|
||||
},
|
||||
handleImageChange(event) {
|
||||
const files = event.target.files;
|
||||
if (files.length > 0) {
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
const reader = new FileReader();
|
||||
|
||||
reader.onload = (e) => {
|
||||
this.imgList.push(e.target.result);
|
||||
};
|
||||
|
||||
reader.readAsDataURL(files[i]);
|
||||
}
|
||||
this.$refs.fileInput.value = '';
|
||||
} else {
|
||||
console.log(null);
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
<style lang="scss"></style>
|
|
@ -0,0 +1,165 @@
|
|||
<template>
|
||||
<div class="plantingPlan ">
|
||||
<div class="page-content">
|
||||
<div class="table-title">
|
||||
<img src="../../assets/vrcodeImg/informationManage.png" alt="" />
|
||||
生产资料管理
|
||||
</div>
|
||||
<div class="flex-view">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = true">
|
||||
<img src="../../assets/img/add.png" alt="">添加
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-table">
|
||||
<div class="vrcode-table-view table-view">
|
||||
<el-table :data="tableData" :row-class-name="tableRowClassName" height="520" style="width: 100%">
|
||||
<el-table-column prop="id" label="ID"></el-table-column>
|
||||
<el-table-column prop="data0" label="种植计划"></el-table-column>
|
||||
<el-table-column prop="data1" label="操作类型"></el-table-column>
|
||||
<el-table-column prop="data3" label="放置位置"></el-table-column>
|
||||
<el-table-column prop="data2" label="操作员"></el-table-column>
|
||||
|
||||
<el-table-column prop="data4" show-overflow-tooltip label="操作时间"></el-table-column>
|
||||
<el-table-column prop="data5" label="是否公开">
|
||||
<template slot-scope="scope">
|
||||
<div class="table-flex">
|
||||
<div class="isOpen" :class="scope.row.data5 ? 'open-green' : 'open-red'">
|
||||
{{ scope.row.data5 ? '已公开' : '未公开' }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="200">
|
||||
<template slot-scope="scope">
|
||||
|
||||
<div class="vrcode-table-btn">
|
||||
<div class="vrcode-btn blue-btn" @click="addModel = true">
|
||||
编辑
|
||||
</div>
|
||||
<div class="vrcode-btn red-btn">
|
||||
删除
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-dialog title="提示" top="5vh" :visible.sync="addModel" width="740px" class="vrcode-model" :append-to-body="true">
|
||||
<div class="vrcode-model-title">
|
||||
添加报告库
|
||||
</div>
|
||||
<div class="vrcode-content">
|
||||
<div class="vrcode-view">
|
||||
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">放置位置</div>
|
||||
<input type="text" placeholder="请输入放置位置">
|
||||
</div>
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">放置位置</div>
|
||||
<input type="text" placeholder="请输入放置位置">
|
||||
</div>
|
||||
<div class="vrcode-selimage">
|
||||
<div class="title">图片</div>
|
||||
<div class="sel-image-view">
|
||||
<div class="sel-img sel-div" v-for="item, index in imgList" :key="index">
|
||||
<el-image :src="item"></el-image>
|
||||
<div class="del-img" @click="delImage(index)">
|
||||
<img src="../../assets/img/del-image.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<label for="sel-img">
|
||||
<div class="sel-image-sel sel-div" v-if="imgList.length < 6">
|
||||
<img src="../../assets/img/add-image.png" alt="">
|
||||
</div>
|
||||
</label>
|
||||
<input ref="fileInput" type="file" multiple id="sel-img" accept="image/*"
|
||||
@change="handleImageChange" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
|
||||
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
edit: false,
|
||||
addModel: false,
|
||||
tableData: [{
|
||||
id: '13', data0: '西红柿种植',
|
||||
data1: '施肥',
|
||||
data2: '刘永强',
|
||||
data3: '',
|
||||
data4: '2023-04-05 21:00',
|
||||
data5: true,
|
||||
}, {}, {}, {}, {}, {}, {}, {},],
|
||||
typeSelList: [{ name: '1#平均空气温度', value: 1, },
|
||||
{ name: '2#平均空气温度', value: 2, },
|
||||
{ name: '1#空气温度', value: 3, },
|
||||
{ name: '2#空气温度', value: 4, },
|
||||
{ name: '3#空气温度', value: 5, },
|
||||
{ name: '4#空气温度', value: 6, },
|
||||
{ name: '5#空气温度', value: 7, },
|
||||
{ name: '6#空气温度', value: 8, },
|
||||
{ name: '7#空气温度', value: 9, },
|
||||
{ name: '8#空气温度', value: 10, },],
|
||||
TypeSel: '',
|
||||
value1: '',
|
||||
modelisTrue:false,
|
||||
imgList: ['https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg']
|
||||
}
|
||||
},
|
||||
mounted() { },
|
||||
methods: {
|
||||
handleCommand() {
|
||||
|
||||
},
|
||||
tableRowClassName({ row, rowIndex }) {
|
||||
if (rowIndex % 2 == 1) {
|
||||
return 'warning-row';
|
||||
} else if (rowIndex % 2 == 0) {
|
||||
return 'success-row';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
delImage(index) {
|
||||
console.log('删除图片', index);
|
||||
this.imgList.splice(index, 1);
|
||||
},
|
||||
handleImageChange(event) {
|
||||
const files = event.target.files;
|
||||
if (files.length > 0) {
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
const reader = new FileReader();
|
||||
|
||||
reader.onload = (e) => {
|
||||
this.imgList.push(e.target.result);
|
||||
};
|
||||
|
||||
reader.readAsDataURL(files[i]);
|
||||
}
|
||||
this.$refs.fileInput.value = '';
|
||||
} else {
|
||||
console.log(null);
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
<style lang="scss"></style>
|
||||
|
||||
|
|
@ -0,0 +1,165 @@
|
|||
<template>
|
||||
<div class="plantingPlan ">
|
||||
<div class="page-content">
|
||||
<div class="table-title">
|
||||
<img src="../../assets/vrcodeImg/machineManagement.png" alt="" />
|
||||
农机工具管理
|
||||
</div>
|
||||
<div class="flex-view">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = true">
|
||||
<img src="../../assets/img/add.png" alt="">添加
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-table">
|
||||
<div class="vrcode-table-view table-view">
|
||||
<el-table :data="tableData" :row-class-name="tableRowClassName" height="520" style="width: 100%">
|
||||
<el-table-column prop="id" label="ID"></el-table-column>
|
||||
<el-table-column prop="data0" label="种植计划"></el-table-column>
|
||||
<el-table-column prop="data1" label="操作类型"></el-table-column>
|
||||
<el-table-column prop="data3" label="放置位置"></el-table-column>
|
||||
<el-table-column prop="data2" label="操作员"></el-table-column>
|
||||
|
||||
<el-table-column prop="data4" show-overflow-tooltip label="操作时间"></el-table-column>
|
||||
<el-table-column prop="data5" label="是否公开">
|
||||
<template slot-scope="scope">
|
||||
<div class="table-flex">
|
||||
<div class="isOpen" :class="scope.row.data5 ? 'open-green' : 'open-red'">
|
||||
{{ scope.row.data5 ? '已公开' : '未公开' }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="200">
|
||||
<template slot-scope="scope">
|
||||
|
||||
<div class="vrcode-table-btn">
|
||||
<div class="vrcode-btn blue-btn" @click="addModel = true">
|
||||
编辑
|
||||
</div>
|
||||
<div class="vrcode-btn red-btn">
|
||||
删除
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-dialog title="提示" top="5vh" :visible.sync="addModel" width="740px" class="vrcode-model" :append-to-body="true">
|
||||
<div class="vrcode-model-title">
|
||||
添加报告库
|
||||
</div>
|
||||
<div class="vrcode-content">
|
||||
<div class="vrcode-view">
|
||||
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">放置位置</div>
|
||||
<input type="text" placeholder="请输入放置位置">
|
||||
</div>
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">放置位置</div>
|
||||
<input type="text" placeholder="请输入放置位置">
|
||||
</div>
|
||||
<div class="vrcode-selimage">
|
||||
<div class="title">图片</div>
|
||||
<div class="sel-image-view">
|
||||
<div class="sel-img sel-div" v-for="item, index in imgList" :key="index">
|
||||
<el-image :src="item"></el-image>
|
||||
<div class="del-img" @click="delImage(index)">
|
||||
<img src="../../assets/img/del-image.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<label for="sel-img">
|
||||
<div class="sel-image-sel sel-div" v-if="imgList.length < 6">
|
||||
<img src="../../assets/img/add-image.png" alt="">
|
||||
</div>
|
||||
</label>
|
||||
<input ref="fileInput" type="file" multiple id="sel-img" accept="image/*"
|
||||
@change="handleImageChange" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
|
||||
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
edit: false,
|
||||
addModel: false,
|
||||
tableData: [{
|
||||
id: '13', data0: '西红柿种植',
|
||||
data1: '施肥',
|
||||
data2: '刘永强',
|
||||
data3: '',
|
||||
data4: '2023-04-05 21:00',
|
||||
data5: true,
|
||||
}, {}, {}, {}, {}, {}, {}, {},],
|
||||
typeSelList: [{ name: '1#平均空气温度', value: 1, },
|
||||
{ name: '2#平均空气温度', value: 2, },
|
||||
{ name: '1#空气温度', value: 3, },
|
||||
{ name: '2#空气温度', value: 4, },
|
||||
{ name: '3#空气温度', value: 5, },
|
||||
{ name: '4#空气温度', value: 6, },
|
||||
{ name: '5#空气温度', value: 7, },
|
||||
{ name: '6#空气温度', value: 8, },
|
||||
{ name: '7#空气温度', value: 9, },
|
||||
{ name: '8#空气温度', value: 10, },],
|
||||
TypeSel: '',
|
||||
value1: '',
|
||||
modelisTrue:false,
|
||||
imgList: ['https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg']
|
||||
}
|
||||
},
|
||||
mounted() { },
|
||||
methods: {
|
||||
handleCommand() {
|
||||
|
||||
},
|
||||
tableRowClassName({ row, rowIndex }) {
|
||||
if (rowIndex % 2 == 1) {
|
||||
return 'warning-row';
|
||||
} else if (rowIndex % 2 == 0) {
|
||||
return 'success-row';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
delImage(index) {
|
||||
console.log('删除图片', index);
|
||||
this.imgList.splice(index, 1);
|
||||
},
|
||||
handleImageChange(event) {
|
||||
const files = event.target.files;
|
||||
if (files.length > 0) {
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
const reader = new FileReader();
|
||||
|
||||
reader.onload = (e) => {
|
||||
this.imgList.push(e.target.result);
|
||||
};
|
||||
|
||||
reader.readAsDataURL(files[i]);
|
||||
}
|
||||
this.$refs.fileInput.value = '';
|
||||
} else {
|
||||
console.log(null);
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
<style lang="scss"></style>
|
||||
|
||||
|
|
@ -0,0 +1,173 @@
|
|||
<template>
|
||||
<div class="plantingPlan ">
|
||||
<div class="page-content">
|
||||
<div class="table-title">
|
||||
<img src="../../assets/vrcodeImg/pestManagement.png" alt="" />
|
||||
病虫害管理
|
||||
</div>
|
||||
<div class="flex-view">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = true">
|
||||
<img src="../../assets/img/add.png" alt="">新增虫害记录
|
||||
</div>
|
||||
<div class="vrcode-input-sel">
|
||||
<el-dropdown @command="handleCommand">
|
||||
<div class="el-dropdown-link">
|
||||
<input v-model="TypeSel" type="text" class="input-input" placeholder="请选择操作员">
|
||||
<div class="arrow"><img src="../../assets/image/arrow.png" alt=""></div>
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-for="item, index in typeSelList" :key="index" :command="index">{{
|
||||
item.name
|
||||
}}</el-dropdown-item>
|
||||
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-table">
|
||||
<div class="vrcode-table-view table-view">
|
||||
<el-table :data="tableData" :row-class-name="tableRowClassName" height="520" style="width: 100%">
|
||||
<el-table-column prop="id" label="序号"></el-table-column>
|
||||
<el-table-column prop="data0" label="名称"></el-table-column>
|
||||
<el-table-column prop="data1" label="温室清洁时间"></el-table-column>
|
||||
<el-table-column prop="data3" label="消毒杀菌时间"></el-table-column>
|
||||
<el-table-column prop="data2" label="清洁方式"></el-table-column>
|
||||
<el-table-column prop="data5" label="使用药剂">
|
||||
<template slot-scope="scope">
|
||||
<div class="table-flex">
|
||||
<div class="isOpen" :class="scope.row.data5 ? 'open-green' : 'open-red'">
|
||||
{{ scope.row.data5 ? '已公开' : '未公开' }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="200">
|
||||
<template slot-scope="scope">
|
||||
|
||||
<div class="vrcode-table-btn">
|
||||
<div class="vrcode-btn blue-btn" @click="addModel = true">
|
||||
编辑
|
||||
</div>
|
||||
<div class="vrcode-btn red-btn">
|
||||
删除
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-dialog title="提示" top="5vh" :visible.sync="addModel" width="740px" class="vrcode-model" :append-to-body="true">
|
||||
<div class="vrcode-model-title">
|
||||
新增病虫害记录
|
||||
</div>
|
||||
<div class="vrcode-content">
|
||||
<div class="vrcode-view">
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">观察记录</div>
|
||||
<input type="text" placeholder="请输入观察记录">
|
||||
</div>
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">用药记录</div>
|
||||
<input type="text" placeholder="请输入用药记录">
|
||||
</div>
|
||||
<div class="vrcode-input w-100">
|
||||
<div class="input-title">鉴定方式</div>
|
||||
<input type="text" placeholder="请输入鉴定方式">
|
||||
</div>
|
||||
<div class="vrcode-input w-100">
|
||||
<div class="input-title">负责鉴定人员</div>
|
||||
<input type="text" placeholder="请输入负责鉴定人员">
|
||||
</div>
|
||||
<div class="vrcode-input w-100">
|
||||
<div class="input-title">决定施药人员</div>
|
||||
<input type="text" placeholder="请输入决定施药人员">
|
||||
</div>
|
||||
<div class="vrcode-input w-100">
|
||||
<div class="input-title">协助鉴定的单位</div>
|
||||
<input type="text" placeholder="请输入协助鉴定的单位">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
|
||||
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
edit: false,
|
||||
addModel: false,
|
||||
tableData: [{
|
||||
id: '13', data0: '西红柿种植',
|
||||
data1: '施肥',
|
||||
data2: '刘永强',
|
||||
data3: '',
|
||||
data4: '2023-04-05 21:00',
|
||||
data5: true,
|
||||
}, {}, {}, {}, {}, {}, {}, {},],
|
||||
typeSelList: [{ name: '1#平均空气温度', value: 1, },
|
||||
{ name: '2#平均空气温度', value: 2, },
|
||||
{ name: '1#空气温度', value: 3, },
|
||||
{ name: '2#空气温度', value: 4, },
|
||||
{ name: '3#空气温度', value: 5, },
|
||||
{ name: '4#空气温度', value: 6, },
|
||||
{ name: '5#空气温度', value: 7, },
|
||||
{ name: '6#空气温度', value: 8, },
|
||||
{ name: '7#空气温度', value: 9, },
|
||||
{ name: '8#空气温度', value: 10, },],
|
||||
TypeSel: '',
|
||||
value1: '',
|
||||
modelisTrue:false,
|
||||
imgList: ['https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg']
|
||||
}
|
||||
},
|
||||
mounted() { },
|
||||
methods: {
|
||||
handleCommand() {
|
||||
|
||||
},
|
||||
tableRowClassName({ row, rowIndex }) {
|
||||
if (rowIndex % 2 == 1) {
|
||||
return 'warning-row';
|
||||
} else if (rowIndex % 2 == 0) {
|
||||
return 'success-row';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
delImage(index) {
|
||||
console.log('删除图片', index);
|
||||
this.imgList.splice(index, 1);
|
||||
},
|
||||
handleImageChange(event) {
|
||||
const files = event.target.files;
|
||||
if (files.length > 0) {
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
const reader = new FileReader();
|
||||
|
||||
reader.onload = (e) => {
|
||||
this.imgList.push(e.target.result);
|
||||
};
|
||||
|
||||
reader.readAsDataURL(files[i]);
|
||||
}
|
||||
this.$refs.fileInput.value = '';
|
||||
} else {
|
||||
console.log(null);
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
<style lang="scss"></style>
|
||||
|
||||
|
|
@ -0,0 +1,161 @@
|
|||
<template>
|
||||
<div class="plantingPlan ">
|
||||
<div class="page-content">
|
||||
<div class="table-title">
|
||||
<img src="../../assets/vrcodeImg/reportLibrary.png" alt="" />
|
||||
各种报告库
|
||||
</div>
|
||||
<div class="flex-view">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = true">
|
||||
<img src="../../assets/img/add.png" alt="">添加
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-table">
|
||||
<div class="vrcode-table-view table-view">
|
||||
<el-table :data="tableData" :row-class-name="tableRowClassName" height="520" style="width: 100%">
|
||||
<el-table-column prop="id" label="ID"></el-table-column>
|
||||
<el-table-column prop="data0" label="种植计划"></el-table-column>
|
||||
<el-table-column prop="data1" label="操作类型"></el-table-column>
|
||||
<el-table-column prop="data3" label="放置位置"></el-table-column>
|
||||
<el-table-column prop="data2" label="操作员"></el-table-column>
|
||||
|
||||
<el-table-column prop="data4" show-overflow-tooltip label="操作时间"></el-table-column>
|
||||
<el-table-column prop="data5" label="是否公开">
|
||||
<template slot-scope="scope">
|
||||
<div class="table-flex">
|
||||
<div class="isOpen" :class="scope.row.data5 ? 'open-green' : 'open-red'">
|
||||
{{ scope.row.data5 ? '已公开' : '未公开' }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="200">
|
||||
<template slot-scope="scope">
|
||||
|
||||
<div class="vrcode-table-btn">
|
||||
<div class="vrcode-btn blue-btn" @click="addModel = true">
|
||||
编辑
|
||||
</div>
|
||||
<div class="vrcode-btn red-btn">
|
||||
删除
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-dialog title="提示" top="5vh" :visible.sync="addModel" width="380px" class="vrcode-model" :append-to-body="true">
|
||||
<div class="vrcode-model-title">
|
||||
添加报告库
|
||||
</div>
|
||||
<div class="vrcode-content">
|
||||
<div class="vrcode-view">
|
||||
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">放置位置</div>
|
||||
<input type="text" placeholder="请输入放置位置">
|
||||
</div>
|
||||
<div class="vrcode-selimage">
|
||||
<div class="title">实物图片</div>
|
||||
<div class="sel-image-view">
|
||||
<div class="sel-img sel-div" v-for="item, index in imgList" :key="index">
|
||||
<el-image :src="item"></el-image>
|
||||
<div class="del-img" @click="delImage(index)">
|
||||
<img src="../../assets/img/del-image.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
<label for="sel-img">
|
||||
<div class="sel-image-sel sel-div" v-if="imgList.length < 6">
|
||||
<img src="../../assets/img/add-image.png" alt="">
|
||||
</div>
|
||||
</label>
|
||||
<input ref="fileInput" type="file" multiple id="sel-img" accept="image/*"
|
||||
@change="handleImageChange" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
|
||||
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
edit: false,
|
||||
addModel: false,
|
||||
tableData: [{
|
||||
id: '13', data0: '西红柿种植',
|
||||
data1: '施肥',
|
||||
data2: '刘永强',
|
||||
data3: '',
|
||||
data4: '2023-04-05 21:00',
|
||||
data5: true,
|
||||
}, {}, {}, {}, {}, {}, {}, {},],
|
||||
typeSelList: [{ name: '1#平均空气温度', value: 1, },
|
||||
{ name: '2#平均空气温度', value: 2, },
|
||||
{ name: '1#空气温度', value: 3, },
|
||||
{ name: '2#空气温度', value: 4, },
|
||||
{ name: '3#空气温度', value: 5, },
|
||||
{ name: '4#空气温度', value: 6, },
|
||||
{ name: '5#空气温度', value: 7, },
|
||||
{ name: '6#空气温度', value: 8, },
|
||||
{ name: '7#空气温度', value: 9, },
|
||||
{ name: '8#空气温度', value: 10, },],
|
||||
TypeSel: '',
|
||||
value1: '',
|
||||
modelisTrue:false,
|
||||
imgList: ['https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg']
|
||||
}
|
||||
},
|
||||
mounted() { },
|
||||
methods: {
|
||||
handleCommand() {
|
||||
|
||||
},
|
||||
tableRowClassName({ row, rowIndex }) {
|
||||
if (rowIndex % 2 == 1) {
|
||||
return 'warning-row';
|
||||
} else if (rowIndex % 2 == 0) {
|
||||
return 'success-row';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
delImage(index) {
|
||||
console.log('删除图片', index);
|
||||
this.imgList.splice(index, 1);
|
||||
},
|
||||
handleImageChange(event) {
|
||||
const files = event.target.files;
|
||||
if (files.length > 0) {
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
const reader = new FileReader();
|
||||
|
||||
reader.onload = (e) => {
|
||||
this.imgList.push(e.target.result);
|
||||
};
|
||||
|
||||
reader.readAsDataURL(files[i]);
|
||||
}
|
||||
this.$refs.fileInput.value = '';
|
||||
} else {
|
||||
console.log(null);
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
<style lang="scss"></style>
|
||||
|
||||
|
|
@ -0,0 +1,215 @@
|
|||
<template>
|
||||
<div class="plantingPlan ">
|
||||
<div class="page-content">
|
||||
<div class="table-title">
|
||||
<img src="../../assets/vrcodeImg/reportLibrary.png" alt="" />
|
||||
人员管理
|
||||
</div>
|
||||
<div class="flex-view">
|
||||
<div class="vrcode-btn blue-btn">
|
||||
在岗人员
|
||||
</div>
|
||||
<div class="vrcode-btn cancle-btn">
|
||||
非在岗人员
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="vrcode-table">
|
||||
<div class="flex-start">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = true">
|
||||
<img src="../../assets/img/add.png" alt="">添加
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-table-view table-view">
|
||||
<el-table :data="tableData" :row-class-name="tableRowClassName" height="520" style="width: 100%">
|
||||
<el-table-column prop="id" label="ID"></el-table-column>
|
||||
<el-table-column prop="data0" label="种植计划"></el-table-column>
|
||||
<el-table-column prop="data1" label="操作类型"></el-table-column>
|
||||
<el-table-column prop="data2" label="操作员"></el-table-column>
|
||||
<el-table-column prop="data3" show-overflow-tooltip label="开始时间"></el-table-column>
|
||||
<el-table-column prop="data4" show-overflow-tooltip label="结束时间"></el-table-column>
|
||||
<el-table-column prop="data5" label="是否公开">
|
||||
<template slot-scope="scope">
|
||||
<div class="table-flex">
|
||||
<div class="isOpen" :class="scope.row.data5 ? 'open-green' : 'open-red'">
|
||||
{{ scope.row.data5 ? '已公开' : '未公开' }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="400">
|
||||
<template slot-scope="scope">
|
||||
|
||||
<div class="vrcode-table-btn">
|
||||
<div class="vrcode-btn blue-btn" @click="addModel = true">
|
||||
编辑
|
||||
</div>
|
||||
<div class="vrcode-btn save-btn" @click="addModel = true">
|
||||
薪资设置
|
||||
</div>
|
||||
<div class="vrcode-btn cancle-btn" @click="addModel = true">
|
||||
停止
|
||||
</div>
|
||||
<div class="vrcode-btn red-btn">
|
||||
删除
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-dialog title="提示" top="5vh" :visible.sync="addModel" width="740px" class="vrcode-model" :append-to-body="true">
|
||||
<div class="vrcode-model-title">
|
||||
新增农事信息
|
||||
</div>
|
||||
<div class="vrcode-content">
|
||||
<div class="vrcode-view">
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">放置位置</div>
|
||||
<input type="text" placeholder="请输入放置位置">
|
||||
</div>
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">放置位置</div>
|
||||
<input type="text" placeholder="请输入放置位置">
|
||||
</div>
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">放置位置</div>
|
||||
<input type="text" placeholder="请输入放置位置">
|
||||
</div>
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">放置位置</div>
|
||||
<input type="text" placeholder="请输入放置位置">
|
||||
</div>
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">放置位置</div>
|
||||
<input type="text" placeholder="请输入放置位置">
|
||||
</div>
|
||||
<div class="vrcode-input-sel">
|
||||
<div class="title">种植计划</div>
|
||||
<el-dropdown @command="handleCommand">
|
||||
<div class="el-dropdown-link">
|
||||
<input v-model="TypeSel" type="text" class="input-input" placeholder="请选择种植计划">
|
||||
<div class="arrow"><img src="../../assets/image/arrow.png" alt=""></div>
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-for="item, index in typeSelList" :key="index" :command="index">{{
|
||||
item.name
|
||||
}}</el-dropdown-item>
|
||||
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
<div class="vrcode-input-sel w-100">
|
||||
<div class="title">操作类型</div>
|
||||
<el-dropdown @command="handleCommand">
|
||||
<div class="el-dropdown-link ">
|
||||
<input v-model="TypeSel" type="text" class="input-input" placeholder="请选择操作类型">
|
||||
<div class="arrow"><img src="../../assets/image/arrow.png" alt=""></div>
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown" style="width: 646px;">
|
||||
<el-dropdown-item v-for="item, index in typeSelList" :key="index" :command="index">{{
|
||||
item.name
|
||||
}}</el-dropdown-item>
|
||||
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
|
||||
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
edit: false,
|
||||
addModel: false,
|
||||
tableData: [{
|
||||
id: '13', data0: '西红柿种植',
|
||||
data1: '施肥',
|
||||
data2: '刘永强',
|
||||
data3: '2023-04-05 21:00',
|
||||
data4: '2023-04-05 21:00',
|
||||
data5: true,
|
||||
}, {}, {}, {}, {}, {}, {}, {},],
|
||||
typeSelList: [{ name: '1#平均空气温度', value: 1, },
|
||||
{ name: '2#平均空气温度', value: 2, },
|
||||
{ name: '1#空气温度', value: 3, },
|
||||
{ name: '2#空气温度', value: 4, },
|
||||
{ name: '3#空气温度', value: 5, },
|
||||
{ name: '4#空气温度', value: 6, },
|
||||
{ name: '5#空气温度', value: 7, },
|
||||
{ name: '6#空气温度', value: 8, },
|
||||
{ name: '7#空气温度', value: 9, },
|
||||
{ name: '8#空气温度', value: 10, },],
|
||||
TypeSel: '',
|
||||
value1: '',
|
||||
modelisTrue:false,
|
||||
imgList: ['https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg'],
|
||||
userInfo:null
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.userInfo = JSON.parse(localStorage.getItem("userInfo"));
|
||||
this.dataInit()
|
||||
},
|
||||
methods: {
|
||||
dataInit(){
|
||||
var data={userId:this.userInfo.userid}
|
||||
this.api.code_getplant(data).then(res=>{
|
||||
console.log(res,111);
|
||||
|
||||
})
|
||||
},
|
||||
handleCommand() {
|
||||
|
||||
},
|
||||
tableRowClassName({ row, rowIndex }) {
|
||||
if (rowIndex % 2 == 1) {
|
||||
return 'warning-row';
|
||||
} else if (rowIndex % 2 == 0) {
|
||||
return 'success-row';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
delImage(index) {
|
||||
console.log('删除图片', index);
|
||||
this.imgList.splice(index, 1);
|
||||
},
|
||||
handleImageChange(event) {
|
||||
const files = event.target.files;
|
||||
if (files.length > 0) {
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
const reader = new FileReader();
|
||||
|
||||
reader.onload = (e) => {
|
||||
this.imgList.push(e.target.result);
|
||||
};
|
||||
|
||||
reader.readAsDataURL(files[i]);
|
||||
}
|
||||
this.$refs.fileInput.value = '';
|
||||
} else {
|
||||
console.log(null);
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
<style lang="scss"></style>
|
||||
|
||||
|
|
@ -0,0 +1,161 @@
|
|||
<template>
|
||||
<div class="plantingPlan ">
|
||||
<div class="page-content">
|
||||
<div class="table-title">
|
||||
<img src="../../assets/vrcodeImg/supplierManage.png" alt="" />
|
||||
供应商管理
|
||||
</div>
|
||||
|
||||
<div class="flex-view">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = true">
|
||||
<img src="../../assets/img/add.png" alt="">添加
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-table">
|
||||
|
||||
<div class="vrcode-table-view table-view">
|
||||
<el-table :data="tableData" :row-class-name="tableRowClassName" height="520" style="width: 100%">
|
||||
<el-table-column prop="id" label="ID"></el-table-column>
|
||||
<el-table-column prop="data0" label="种植计划"></el-table-column>
|
||||
<el-table-column prop="data1" label="操作类型"></el-table-column>
|
||||
<el-table-column prop="data2" label="操作员"></el-table-column>
|
||||
<el-table-column prop="data3" show-overflow-tooltip label="开始时间"></el-table-column>
|
||||
<el-table-column prop="data4" show-overflow-tooltip label="结束时间"></el-table-column>
|
||||
<el-table-column prop="data5" label="是否公开">
|
||||
<template slot-scope="scope">
|
||||
<div class="table-flex">
|
||||
<div class="isOpen" :class="scope.row.data5 ? 'open-green' : 'open-red'">
|
||||
{{ scope.row.data5 ? '已公开' : '未公开' }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="200">
|
||||
<template slot-scope="scope">
|
||||
|
||||
<div class="vrcode-table-btn">
|
||||
<div class="vrcode-btn blue-btn" @click="addModel = true">
|
||||
编辑
|
||||
</div>
|
||||
<div class="vrcode-btn red-btn">
|
||||
删除
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-dialog title="提示" top="5vh" :visible.sync="addModel" width="740px" class="vrcode-model" :append-to-body="true">
|
||||
<div class="vrcode-model-title">
|
||||
新增农事信息
|
||||
</div>
|
||||
<div class="vrcode-content">
|
||||
<div class="vrcode-view">
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">放置位置</div>
|
||||
<input type="text" placeholder="请输入放置位置">
|
||||
</div>
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">放置位置</div>
|
||||
<input type="text" placeholder="请输入放置位置">
|
||||
</div>
|
||||
<div class="vrcode-input">
|
||||
<div class="input-title">放置位置</div>
|
||||
<input type="text" placeholder="请输入放置位置">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
|
||||
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
edit: false,
|
||||
addModel: false,
|
||||
tableData: [{
|
||||
id: '13', data0: '西红柿种植',
|
||||
data1: '施肥',
|
||||
data2: '刘永强',
|
||||
data3: '2023-04-05 21:00',
|
||||
data4: '2023-04-05 21:00',
|
||||
data5: true,
|
||||
}, {}, {}, {}, {}, {}, {}, {},],
|
||||
typeSelList: [{ name: '1#平均空气温度', value: 1, },
|
||||
{ name: '2#平均空气温度', value: 2, },
|
||||
{ name: '1#空气温度', value: 3, },
|
||||
{ name: '2#空气温度', value: 4, },
|
||||
{ name: '3#空气温度', value: 5, },
|
||||
{ name: '4#空气温度', value: 6, },
|
||||
{ name: '5#空气温度', value: 7, },
|
||||
{ name: '6#空气温度', value: 8, },
|
||||
{ name: '7#空气温度', value: 9, },
|
||||
{ name: '8#空气温度', value: 10, },],
|
||||
TypeSel: '',
|
||||
value1: '',
|
||||
modelisTrue:false,
|
||||
imgList: ['https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg'],
|
||||
userInfo:null
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.userInfo = JSON.parse(localStorage.getItem("userInfo"));
|
||||
this.dataInit()
|
||||
},
|
||||
methods: {
|
||||
dataInit(){
|
||||
var data={userId:this.userInfo.userid}
|
||||
this.api.code_getplant(data).then(res=>{
|
||||
console.log(res,111);
|
||||
|
||||
})
|
||||
},
|
||||
handleCommand() {
|
||||
|
||||
},
|
||||
tableRowClassName({ row, rowIndex }) {
|
||||
if (rowIndex % 2 == 1) {
|
||||
return 'warning-row';
|
||||
} else if (rowIndex % 2 == 0) {
|
||||
return 'success-row';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
delImage(index) {
|
||||
console.log('删除图片', index);
|
||||
this.imgList.splice(index, 1);
|
||||
},
|
||||
handleImageChange(event) {
|
||||
const files = event.target.files;
|
||||
if (files.length > 0) {
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
const reader = new FileReader();
|
||||
|
||||
reader.onload = (e) => {
|
||||
this.imgList.push(e.target.result);
|
||||
};
|
||||
|
||||
reader.readAsDataURL(files[i]);
|
||||
}
|
||||
this.$refs.fileInput.value = '';
|
||||
} else {
|
||||
console.log(null);
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
<style lang="scss"></style>
|
||||
|
||||
|
|
@ -0,0 +1,259 @@
|
|||
<template>
|
||||
<div class="plantingPlan ">
|
||||
<div class="page-content">
|
||||
<div class="table-title">
|
||||
<img src="../../assets/vrcodeImg/suyuanBatch.png" alt="" />
|
||||
溯源批次
|
||||
</div>
|
||||
<div class="flex-view">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = true">
|
||||
<img src="../../assets/img/add.png" alt="">新增溯源批次
|
||||
</div>
|
||||
<div class="vrcode-input-sel">
|
||||
<el-dropdown @command="handleCommand">
|
||||
<div class="el-dropdown-link">
|
||||
<input v-model="TypeSel" type="text" class="input-input" placeholder="请选择操作员">
|
||||
<div class="arrow"><img src="../../assets/image/arrow.png" alt=""></div>
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-for="item, index in typeSelList" :key="index" :command="index">{{
|
||||
item.name
|
||||
}}</el-dropdown-item>
|
||||
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-table">
|
||||
<div class="vrcode-table-view table-view">
|
||||
<el-table :data="tableData" :row-class-name="tableRowClassName" height="520" style="width: 100%">
|
||||
<el-table-column prop="id" label="序号"></el-table-column>
|
||||
<el-table-column prop="data0" label="名称"></el-table-column>
|
||||
<el-table-column prop="data1" label="温室清洁时间"></el-table-column>
|
||||
<el-table-column prop="data3" label="消毒杀菌时间"></el-table-column>
|
||||
<el-table-column prop="data2" label="清洁方式"></el-table-column>
|
||||
<el-table-column prop="data5" label="使用药剂">
|
||||
<template slot-scope="scope">
|
||||
<div class="table-flex">
|
||||
<div class="isOpen" :class="scope.row.data5 ? 'open-green' : 'open-red'">
|
||||
{{ scope.row.data5 ? '已公开' : '未公开' }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="530">
|
||||
<template slot-scope="scope">
|
||||
|
||||
<div class="vrcode-table-btn">
|
||||
<div class="vrcode-btn blue-btn" @click="addModel = true">
|
||||
编辑
|
||||
</div>
|
||||
<div class="vrcode-btn save-btn" @click="addModel = true">
|
||||
二维码
|
||||
</div>
|
||||
<div class="vrcode-btn cancle-btn" @click="addModel = true">
|
||||
合格证二维码
|
||||
</div>
|
||||
<div class="vrcode-btn blue-btn" @click="addModel = true">
|
||||
预览
|
||||
</div>
|
||||
<div class="vrcode-btn red-btn">
|
||||
删除
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-dialog title="提示" top="5vh" :visible.sync="addModel" width="80%" class="vrcode-model"
|
||||
:append-to-body="true">
|
||||
<div class="vrcode-model-title">
|
||||
{{ edit ? '查看' : '新增' }}新增溯源批次
|
||||
</div>
|
||||
<div class="vrcode-content">
|
||||
|
||||
<div class="vrcode-view">
|
||||
<div class="vrcode-title">种植信息</div>
|
||||
<div class="vrcode-input-sel">
|
||||
<div class="title">温室名称</div>
|
||||
<el-dropdown @command="handleCommand">
|
||||
<div class="el-dropdown-link">
|
||||
<input v-model="TypeSel" type="text" class="input-input" placeholder="请选择温室号">
|
||||
<div class="arrow"><img src="../../assets/image/arrow.png" alt=""></div>
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-for="item, index in typeSelList" :key="index" :command="index">{{
|
||||
item.name
|
||||
}}</el-dropdown-item>
|
||||
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
<div class="vrcode-input-seltime">
|
||||
<div class="title">播种日期</div>
|
||||
<div class="seltime">
|
||||
<el-date-picker v-model="value1" type="date" placeholder="请选择播种日期">
|
||||
</el-date-picker>
|
||||
<div class="seltime-icon">
|
||||
<img src="../../assets/img/vrcode-time.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-input-seltime">
|
||||
<div class="title">播种日期</div>
|
||||
<div class="seltime">
|
||||
<el-date-picker v-model="value1" type="date" placeholder="请选择播种日期">
|
||||
</el-date-picker>
|
||||
<div class="seltime-icon">
|
||||
<img src="../../assets/img/vrcode-time.png" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-input-sel">
|
||||
<div class="title">作物名称</div>
|
||||
<el-dropdown @command="handleCommand">
|
||||
<div class="el-dropdown-link">
|
||||
<input v-model="TypeSel" type="text" class="input-input" placeholder="请选择作物名称">
|
||||
<div class="arrow"><img src="../../assets/image/arrow.png" alt=""></div>
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-for="item, index in typeSelList" :key="index" :command="index">{{
|
||||
item.name
|
||||
}}</el-dropdown-item>
|
||||
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
</div>
|
||||
<div class="vrcode-view">
|
||||
<div class="vrcode-title">播种信息</div>
|
||||
|
||||
<div class="vrcode-input-sel">
|
||||
<div class="title">操作员</div>
|
||||
<el-dropdown @command="handleCommand">
|
||||
<div class="el-dropdown-link">
|
||||
<input v-model="TypeSel" type="text" class="input-input" placeholder="请选择操作人员名称">
|
||||
<div class="arrow"><img src="../../assets/image/arrow.png" alt=""></div>
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-for="item, index in typeSelList" :key="index" :command="index">{{
|
||||
item.name
|
||||
}}</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="vrcode-view">
|
||||
<div class="vrcode-title">播种信息</div>
|
||||
<div class="vrcode-input w-50">
|
||||
<div class="input-title">灌溉水处理</div>
|
||||
<input type="text" placeholder="请输入灌溉水处理">
|
||||
</div>
|
||||
<div class="vrcode-input w-50">
|
||||
<div class="input-title">水草的处理</div>
|
||||
<input type="text" placeholder="请输入水草的处理">
|
||||
</div>
|
||||
<div class="vrcode-input w-50">
|
||||
<div class="input-title">水草的处理</div>
|
||||
<input type="text" placeholder="请输入水草的处理">
|
||||
</div>
|
||||
<div class="vrcode-input w-50">
|
||||
<div class="input-title">水草的处理</div>
|
||||
<input type="text" placeholder="请输入水草的处理">
|
||||
</div>
|
||||
<div class="vrcode-input w-50">
|
||||
<div class="input-title">水草的处理</div>
|
||||
<input type="text" placeholder="请输入水草的处理">
|
||||
</div>
|
||||
<div class="vrcode-input w-50">
|
||||
<div class="input-title">水草的处理</div>
|
||||
<input type="text" placeholder="请输入水草的处理">
|
||||
</div>
|
||||
<div class="vrcode-input w-100">
|
||||
<div class="input-title">水草的处理</div>
|
||||
<input type="text" placeholder="请输入水草的处理">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<div class="vrcode-btn save-btn" @click="addModel = false">保存</div>
|
||||
<div class="vrcode-btn cancle-btn" @click="addModel = false">取消</div>
|
||||
</span>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
edit: false,
|
||||
addModel: false,
|
||||
tableData: [{
|
||||
id: '13', data0: '西红柿种植',
|
||||
data1: '施肥',
|
||||
data2: '刘永强',
|
||||
data3: '',
|
||||
data4: '2023-04-05 21:00',
|
||||
data5: true,
|
||||
}, {}, {}, {}, {}, {}, {}, {},],
|
||||
typeSelList: [{ name: '1#平均空气温度', value: 1, },
|
||||
{ name: '2#平均空气温度', value: 2, },
|
||||
{ name: '1#空气温度', value: 3, },
|
||||
{ name: '2#空气温度', value: 4, },
|
||||
{ name: '3#空气温度', value: 5, },
|
||||
{ name: '4#空气温度', value: 6, },
|
||||
{ name: '5#空气温度', value: 7, },
|
||||
{ name: '6#空气温度', value: 8, },
|
||||
{ name: '7#空气温度', value: 9, },
|
||||
{ name: '8#空气温度', value: 10, },],
|
||||
TypeSel: '',
|
||||
value1: '',
|
||||
modelisTrue: false,
|
||||
imgList: ['https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg']
|
||||
}
|
||||
},
|
||||
mounted() { },
|
||||
methods: {
|
||||
handleCommand() {
|
||||
|
||||
},
|
||||
tableRowClassName({ row, rowIndex }) {
|
||||
if (rowIndex % 2 == 1) {
|
||||
return 'warning-row';
|
||||
} else if (rowIndex % 2 == 0) {
|
||||
return 'success-row';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
delImage(index) {
|
||||
console.log('删除图片', index);
|
||||
this.imgList.splice(index, 1);
|
||||
},
|
||||
handleImageChange(event) {
|
||||
const files = event.target.files;
|
||||
if (files.length > 0) {
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
const reader = new FileReader();
|
||||
|
||||
reader.onload = (e) => {
|
||||
this.imgList.push(e.target.result);
|
||||
};
|
||||
|
||||
reader.readAsDataURL(files[i]);
|
||||
}
|
||||
this.$refs.fileInput.value = '';
|
||||
} else {
|
||||
console.log(null);
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
<style lang="scss"></style>
|