Compare commits
3 Commits
c60377a294
...
d0c321c33d
Author | SHA1 | Date |
---|---|---|
xiaomeng | d0c321c33d | |
sunmeng | f97446f3ac | |
sunmeng | f861c09d2c |
|
@ -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')
|
||||
},
|
||||
|
||||
]
|
||||
},
|
||||
]
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
@ -179,7 +191,7 @@ export default {
|
|||
}
|
||||
})
|
||||
},
|
||||
returnBtn(){
|
||||
returnBtn() {
|
||||
this.$router.push({ name: 'realTime' })
|
||||
},
|
||||
toHome() {
|
||||
|
@ -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>
|