duanxiaoduan преди 1 година
родител
ревизия
6a1d1b5163

BIN
src/assets/images/index/l1.png


BIN
src/assets/images/index/l2.png


BIN
src/assets/images/index/l3.png


BIN
src/assets/images/index/l4.png


BIN
src/assets/images/index/row-bg3.png


BIN
src/assets/images/index/row-r2.png


BIN
src/assets/images/index/row-r5.png


BIN
src/assets/images/index/row-r6.png


BIN
src/assets/images/index/t1.png


BIN
src/assets/images/index/t2.png


BIN
src/assets/images/index/t3.png


BIN
src/assets/images/index/t4.png


BIN
src/assets/images/index/topBg.png


BIN
src/assets/images/logo.png


BIN
src/assets/images/logo1.png


BIN
src/assets/images/logo_u3.png


BIN
src/assets/images/sanjiao.png


+ 198 - 198
src/styles/index.scss

@@ -1,194 +1,194 @@
-@import './variables.scss';
-@import './mixin.scss';
-@import './transition.scss';
-@import './element-ui.scss';
-@import './sidebar.scss';
-@import './btn.scss';
-
-body {
-  height: 100%;
-  -moz-osx-font-smoothing: grayscale;
-  -webkit-font-smoothing: antialiased;
-  text-rendering: optimizeLegibility;
-  font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
-}
-
-label {
-  font-weight: 700;
-}
-
-html {
-  height: 100%;
-  box-sizing: border-box;
-}
-
-#app {
-  height: 100%;
-}
-
-*,
-*:before,
-*:after {
-  box-sizing: inherit;
-}
-
-.no-padding {
-  padding: 0px !important;
-}
-
-.padding-content {
-  padding: 4px 0;
-}
-
-a:focus,
-a:active {
-  outline: none;
-}
-
-a,
-a:focus,
-a:hover {
-  cursor: pointer;
-  color: inherit;
-  text-decoration: none;
-}
-
-div:focus {
-  outline: none;
-}
-
-.fr {
-  float: right;
-}
-
-.fl {
-  float: left;
-}
-
-.pr-5 {
-  padding-right: 5px;
-}
-
-.pl-5 {
-  padding-left: 5px;
-}
-
-.block {
-  display: block;
-}
-
-.pointer {
-  cursor: pointer;
-}
-
-.inlineBlock {
-  display: block;
-}
-
-.clearfix {
-  &:after {
-    visibility: hidden;
-    display: block;
-    font-size: 0;
-    content: " ";
-    clear: both;
-    height: 0;
-  }
-}
-
-aside {
-  background: #eef1f6;
-  padding: 8px 24px;
-  margin-bottom: 20px;
-  border-radius: 2px;
-  display: block;
-  line-height: 32px;
-  font-size: 16px;
-  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
-  color: #2c3e50;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-
-  a {
-    color: #337ab7;
-    cursor: pointer;
-
-    &:hover {
-      color: rgb(32, 160, 255);
-    }
-  }
-}
-
-//main-container全局样式
-.app-container {
+@import './variables.scss';
+@import './mixin.scss';
+@import './transition.scss';
+@import './element-ui.scss';
+@import './sidebar.scss';
+@import './btn.scss';
+
+body {
+  height: 100%;
+  -moz-osx-font-smoothing: grayscale;
+  -webkit-font-smoothing: antialiased;
+  text-rendering: optimizeLegibility;
+  font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
+}
+
+label {
+  font-weight: 700;
+}
+
+html {
+  height: 100%;
+  box-sizing: border-box;
+}
+
+#app {
+  height: 100%;
+}
+
+*,
+*:before,
+*:after {
+  box-sizing: inherit;
+}
+
+.no-padding {
+  padding: 0px !important;
+}
+
+.padding-content {
+  padding: 4px 0;
+}
+
+a:focus,
+a:active {
+  outline: none;
+}
+
+a,
+a:focus,
+a:hover {
+  cursor: pointer;
+  color: inherit;
+  text-decoration: none;
+}
+
+div:focus {
+  outline: none;
+}
+
+.fr {
+  float: right;
+}
+
+.fl {
+  float: left;
+}
+
+.pr-5 {
+  padding-right: 5px;
+}
+
+.pl-5 {
+  padding-left: 5px;
+}
+
+.block {
+  display: block;
+}
+
+.pointer {
+  cursor: pointer;
+}
+
+.inlineBlock {
+  display: block;
+}
+
+.clearfix {
+  &:after {
+    visibility: hidden;
+    display: block;
+    font-size: 0;
+    content: " ";
+    clear: both;
+    height: 0;
+  }
+}
+
+aside {
+  background: #eef1f6;
+  padding: 8px 24px;
+  margin-bottom: 20px;
+  border-radius: 2px;
+  display: block;
+  line-height: 32px;
+  font-size: 16px;
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
+  color: #2c3e50;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+
+  a {
+    color: #337ab7;
+    cursor: pointer;
+
+    &:hover {
+      color: rgb(32, 160, 255);
+    }
+  }
+}
+
+//main-container全局样式
+.app-container {
   padding: 10px;
-  background: #fff;
-}
-
-.components-container {
-  margin: 30px 50px;
-  position: relative;
-}
-
-.pagination-container {
-  margin-top: 0px;
-}
-
-.text-center {
-  text-align: center
-}
-
-.sub-navbar {
-  height: 50px;
-  line-height: 50px;
-  position: relative;
-  width: 100%;
-  text-align: right;
-  padding-right: 20px;
-  transition: 600ms ease position;
-  background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%);
-
-  .subtitle {
-    font-size: 20px;
-    color: #fff;
-  }
-
-  &.draft {
-    background: #d0d0d0;
-  }
-
-  &.deleted {
-    background: #d0d0d0;
-  }
-}
-
-.link-type,
-.link-type:focus {
-  color: #337ab7;
-  cursor: pointer;
-
-  &:hover {
-    color: rgb(32, 160, 255);
-  }
-}
-
-.filter-container {
-  padding-bottom: 10px;
-
-  .filter-item {
-    display: inline-block;
-    vertical-align: middle;
-    margin-bottom: 10px;
-  }
-}
-
-//refine vue-multiselect plugin
-.multiselect {
-  line-height: 16px;
-}
-
-.multiselect--active {
-  z-index: 1000 !important;
+  background: #fff;
+}
+
+.components-container {
+  margin: 30px 50px;
+  position: relative;
+}
+
+.pagination-container {
+  margin-top: 0px;
+}
+
+.text-center {
+  text-align: center
+}
+
+.sub-navbar {
+  height: 50px;
+  line-height: 50px;
+  position: relative;
+  width: 100%;
+  text-align: right;
+  padding-right: 20px;
+  transition: 600ms ease position;
+  background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%);
+
+  .subtitle {
+    font-size: 20px;
+    color: #fff;
+  }
+
+  &.draft {
+    background: #d0d0d0;
+  }
+
+  &.deleted {
+    background: #d0d0d0;
+  }
+}
+
+.link-type,
+.link-type:focus {
+  color: #337ab7;
+  cursor: pointer;
+
+  &:hover {
+    color: rgb(32, 160, 255);
+  }
+}
+
+.filter-container {
+  padding-bottom: 10px;
+
+  .filter-item {
+    display: inline-block;
+    vertical-align: middle;
+    margin-bottom: 10px;
+  }
+}
+
+//refine vue-multiselect plugin
+.multiselect {
+  line-height: 16px;
+}
+
+.multiselect--active {
+  z-index: 1000 !important;
 }
 
 /* firefox */
@@ -202,23 +202,23 @@ input {
       float: right;margin-right: 5px;height:30px;width:80px;border:1px solid #d4d4d4;line-height:30px;border-radius:3px;text-align:center;font-size:12px;color:#6b6b6b;
     }
   }
-  $color1:#009C69;
+  $color1:#c88d42;
   $color2:#FC2323;
   $color3:#fff;
   $color4:#F7BA2A;
   $color5:#e5f6f0;
   $color6:#FEF4DC;
   $color7:#333;
-  $color8:#009A69;
-  $color9:#4DB894;
+  $color8:#c88d42;
+  $color9:#e7c279;
   $color10:#D4D4D4;
   $color11:#6B6B6B;
   $color12:#CCCCCC;
   $color13:#666666;
-  $color14:#EDF7F4;
-  $color15:#19B6B1;
+  $color14:#e7c279;
+  $color15:#c88d42;
   $color16:#F4F4F5;
-  $color17:#01BE80;
+  $color17:#e7c279;
   $color18:#F65242;
   // .el-dialog__body{padding: 30px 0!important;}
   .el-dialog__header{border-bottom: 1px solid $color1;}
@@ -402,7 +402,7 @@ input {
   .el-button--text{color: $color1!important;}
   // 仪表盘添加筛选条件
   .save.is-disabled, .save.is-disabled:focus, .save.is-disabled:hover{background:  $color1!important;color:$color3 ; }
-  .visualize-card div i{ color: #009A69 !important; }
+  .visualize-card div i{ color: $color1 !important; }
   // 间隔线
   .centerSpan{padding: 0 5px 0 8px;color: $color12;}
   // 时间快捷键左右
@@ -457,7 +457,7 @@ input {
 
   .el-menu-item.is-active{
     color:$menuActiveBg !important;
-  }
+  }
 
 .el-dialog__header {
   padding: 15px 20px 15px;

+ 3 - 3
src/styles/variables.scss

@@ -11,15 +11,15 @@ $panGreen: #30B08F;
 // sidebar
 $menuText:#333333;
 $menuActiveText:#fff;
-$menuActiveBg:#009C69;
+$menuActiveBg:#c88d42;
 $subMenuActiveText:#f4f4f5; // https://github.com/ElemeFE/element/issues/12951
 
 $menuBg:#fff;
 $menuHover:#fff;
 
 $subMenuBg:#ededed;
-$subMenuBgHover:#009C69;
-$subMenuHover:#009C69;
+$subMenuBgHover:#c88d42;
+$subMenuHover:#c88d42;
 
 $sideBarWidth: 210px;
 

+ 1829 - 1829
src/views/dashboard/pasture/index.vue

@@ -1,1829 +1,1829 @@
-<template>
-  <div ref="dashboardEditor" class="dashboard-editor-container">
-    <div class="dashboard" style="margin-bottom: 10px;">
-      <div class="dashboard-l">
-        <div class="row1">
-          <div class="row1-t">
-            <div class="row1-t-l">
-              <div class="img-l" />
-              <span class="content">暂无消息通知</span>
-              <!-- <div class="img-r" /> -->
-            </div>
-            <div class="row1-t-r">{{ date }}</div>
-          </div>
-          <div class="row1-c">
-            <div class="row1-c-l">
-              <div class="title1">
-                <div class="img-title">
-                  <img src="../../../assets/images/index/l1.png">
-                </div>
-                <span class="content">混料准确率</span>
-              </div>
-              <div class="row1-c-l-c">
-                <span>
-                  <b>{{ row1.list.yesRateHL }}</b>
-                  <br>昨日
-                </span>
-              </div>
-              <div class="row1-c-l-b">
-                <div><span>近30天混料准确率:</span><b>{{ row1.list.monRateHL }}</b></div>
-              </div>
-            </div>
-            <div class="row1-c-r">
-              <div class="title1">
-                <div class="img-title">
-                  <img src="../../../assets/images/index/l4.png">
-                </div>
-                <span class="content">撒料准确率</span>
-              </div>
-              <div class="row1-c-l-c">
-                <span>
-                  <b>{{ row1.list.yesRateSL }}</b>
-                  <br>昨日
-                </span>
-              </div>
-              <div class="row1-c-l-b">
-                <div><span>近30天撒料准确率:</span><b>{{ row1.list.monRateSL }}</b></div>
-              </div>
-            </div>
-          </div>
-          <div class="row1-b">
-            <div class="row1-b-l">
-              <div class="title1">
-                <div class="img-title">
-                  <img src="../../../assets/images/index/l3.png">
-                </div>
-                <span class="content">撒料正确率</span>
-              </div>
-              <div class="row1-c-l-c">
-                <span>
-                  <b>{{ row1.list.yesRateSLR }}</b>
-                  <br>昨日
-                </span>
-              </div>
-              <div class="row1-c-l-b">
-                <div><span>近30天撒料正确率:</span><b>{{ row1.list.monRateSLR }}</b></div>
-              </div>
-            </div>
-            <div class="row1-b-r">
-              <div class="title1">
-                <div class="img-title">
-                  <img src="../../../assets/images/index/l2.png">
-                </div>
-                <span class="content">撒料偏差</span>
-              </div>
-              <div class="row1-c-l-c">
-                <span>
-                  <b>{{ row1.list.temtime }}</b>
-                  <br>昨日
-                </span>
-              </div>
-              <div class="row1-c-l-b">
-                <div><span>近30天撒料偏差:</span><b>{{ row1.list.montime }}</b>分钟</div>
-              </div>
-            </div>
-          </div>
-        </div>
-        <div class="row2">
-          <div class="title">
-            <div class="img-title" />
-            <span class="content">今日计划统计</span>
-          </div>
-          <div class="todayPlan">
-            <div>
-              <div id="row2chartLine1" style="height: 185px;" />
-              <div class="bottom">
-                <div class="bottom-l">
-                  <div class="bottom-l-t">
-                    <b>{{ row2.chart1.chartLine_data.data1 }}</b>次
-                  </div>
-                  <div class="bottom-l-b">
-                    完成车次
-                  </div>
-                </div>
-                <div class="bottom-r">
-                  <div class="bottom-r-t">
-                    <b>{{ row2.chart1.chartLine_data.data2 }}</b>次
-                  </div>
-                  <div class="bottom-r-b">
-                    计划车次
-                  </div>
-                </div>
-              </div>
-            </div>
-            <div>
-              <div id="row2chartLine2" style="height: 185px;" />
-              <div class="bottom">
-                <div class="bottom-l">
-                  <div class="bottom-l-t">
-                    <b>{{ row2.chart2.chartLine_data.data1 }}</b>kg
-                  </div>
-                  <div class="bottom-l-b">
-                    完成重量
-                  </div>
-                </div>
-                <div class="bottom-r">
-                  <div class="bottom-r-t">
-                    <b>{{ row2.chart2.chartLine_data.data2 }}</b>kg
-                  </div>
-                  <div class="bottom-r-b">
-                    计划重量
-                  </div>
-                </div>
-              </div>
-            </div>
-          </div>
-        </div>
-
-        <div class="row3" style="position: relative;">
-          <div class="title">
-            <div class="img-title" />
-            <span class="content">成本统计</span>
-          </div>
-          <div v-if="row4.chart1.isChart" class="button">
-            <div class="exportTable" @click="handleExport('row4chartLine1')">导出</div>
-            <div class="exportTable" @click="handleTable('row4chartLine1')">切换表格</div>
-          </div>
-          <div v-if="row4.chart1.isChart" id="row4chartLine1" v-loading="row4.chart1.listLoading" style="background: #fff;height:310px;" />
-          <div v-if="row4.chart1.isTable" class="table" style="position: absolute;width: 100%;">
-            <div class="button">
-              <div class="exportTable" @click="handleExport('row4chartLine1')">导出</div>
-              <div class="exportTable" @click="handleChart('row4chartLine1')">切换图表</div>
-            </div>
-            <el-table
-              :key="row4.chart1.table.tableKey"
-              v-loading="row4.chart1.table.listLoading"
-              element-loading-text="给我一点时间"
-              :data="row4.chart1.table.list"
-              border
-              fit
-              highlight-current-row
-              style="width: 100%;margin-top: 10px;"
-              height="300"
-              :row-style="rowStyle"
-              :cell-style="cellStyle"
-              class="elTable table-fixed"
-            >
-              <el-table-column label="日期" sortable min-width="110px" align="center" prop="日期" />
-              <el-table-column label="单头牛饲料成本" sortable min-width="110px" align="center" prop="field2" />
-              <el-table-column label="公斤奶饲料成本(元)" sortable min-width="120px" align="center" prop="field1" />
-            </el-table>
-          </div>
-        </div>
-      </div>
-      <div class="dashboard-r">
-        <div class="row1">
-          <div class="title">
-            <div class="img-title" />
-            <span class="content">实时监控</span>
-          </div>
-          <div v-if="carLength>0" id="row2chartLine3" ref="row2chartLine3" style="height: 260px;" />
-          <div v-else style="height: 260px;text-align: center;line-height: 260px;">当前无正在进行中车次 </div>
-          <div class="carsLength">当前车辆:<span>{{ carLength }}</span></div>
-          <div id="car" ref="car" v-loading="row2.chart3.listLoading2" class="car">
-            <div ref="iconLeft" class="iconLeft" @click="handleLeft">
-              <img v-if="row2.chart3.isLeft" src="../../../assets/images/index/row-r3.png" class="img-title">
-              <img v-if="row2.chart3.isLeftA" src="../../../assets/images/index/row-r2.png" class="img-title">
-            </div>
-            <div id="carList" ref="carList" class="carList">
-              <div v-for="(item,index) in list" ref="listW" :key="index" class="listW">
-                <div ref="list" class="list" :style="{'background': item.background,'color':item.color,'borderColor':item.borderColor}" @click="handleList(index,item)">
-                  <div class="list-t">
-                    <div class="list-t-t">
-                      <el-tooltip :content="item.tname" placement="top">
-                        <span>车辆:{{ item.tname }}</span>
-                      </el-tooltip>
-                    </div>
-                    <div class="list-t-t">
-                      <el-tooltip :content="item.fname" placement="top">
-                        <span v-if="item.inorout == 0">饲料:{{ item.fname }}</span>
-                        <span v-if="item.inorout == 1">栏舍:{{ item.fname }}</span>
-                      </el-tooltip>
-                    </div>
-                    <div class="list-t-t">
-                      <el-tooltip :content="item.remark" placement="top">
-                        <span>描述:{{ item.remark }}</span>
-                      </el-tooltip>
-                    </div>
-                  </div>
-
-                  <div class="list-b">
-                    <div class="list-b-l">
-                      <div class="left">
-                        <div class="num"><b>{{ item.doneweight }}</b>Kg</div>
-                        <div class="weight">完成重量</div>
-                      </div>
-                      <div class="right" />
-                    </div>
-                    <div class="list-b-l">
-                      <div class="left">
-                        <div class="num"><b>{{ item.leftweight }}</b>Kg</div>
-                        <div class="weight">剩余重量</div>
-                      </div>
-                      <div class="right" />
-                    </div>
-                    <div class="list-b-l">
-                      <div class="left">
-                        <div class="num"><b>{{ item.nowweight }}</b>Kg</div>
-                        <div class="weight">车辆当前载重</div>
-                      </div>
-                      <div class="right" />
-                    </div>
-                    <div class="list-b-l">
-                      <div class="left">
-                        <div class="num"><b>{{ item.lweight }}</b>Kg</div>
-                        <div class="weight">计划重量</div>
-                      </div>
-                      <div class="right" />
-                    </div>
-                    <div class="list-b-l">
-                      <div class="left">
-                        <div class="num"><b>{{ item.donerate }}</b></div>
-                        <div class="weight">完成度</div>
-                      </div>
-                    </div>
-                  </div>
-                </div>
-                <div v-if="item.isChecked" ref="checked" class="img-checked" />
-              </div>
-            </div>
-            <div ref="iconRight" class="iconRight" @click="handleRight">
-              <img v-if="row2.chart3.isRightA" src="../../../assets/images/index/row-r5.png" class="img-title">
-              <img v-if="row2.chart3.isRight" src="../../../assets/images/index/row-r4.png" class="img-title">
-            </div>
-          </div>
-
-        </div>
-        <div class="row2">
-          <div class="row2-l" style="position: relative;">
-            <div class="title">
-              <div class="img-title" />
-              <span class="content">计划统计</span>
-            </div>
-            <div v-if="row3.chart1.isChart" class="button">
-              <div class="exportTable" @click="handleExport('row3chartLine1')">导出</div>
-              <div class="exportTable" @click="handleTable('row3chartLine1')">切换表格</div>
-            </div>
-            <div v-if="row3.chart1.isChart" id="row3chartLine1" v-loading="row3.chart1.listLoading" style="background: #fff;height:310px;" />
-            <div v-if="row3.chart1.isTable" class="table" style="position: absolute;width: 100%;">
-              <div class="button">
-                <div class="exportTable" @click="handleExport('row3chartLine1')">导出</div>
-                <div class="exportTable" @click="handleChart('row3chartLine1')">切换图表</div>
-              </div>
-              <el-table
-                :key="row3.chart1.table.tableKey"
-                v-loading="row3.chart1.table.listLoading"
-                element-loading-text="给我一点时间"
-                :data="row3.chart1.table.list"
-                border
-                fit
-                highlight-current-row
-                style="width: 100%;margin-top: 10px;"
-                height="300"
-                :row-style="rowStyle"
-                :cell-style="cellStyle"
-                class="elTable table-fixed"
-              >
-                <el-table-column label="日期" sortable min-width="85px" align="center" prop="日期" />
-                <el-table-column label="计划执行重量(kg)" sortable min-width="90px" align="center" prop="实际量" />
-                <el-table-column label="配方理论重量(kg)" sortable min-width="90px" align="center" prop="理论量" />
-                <el-table-column label="计划准确率" sortable min-width="85px" align="center" prop="field1" />
-                <el-table-column label="计划取消重量(kg)" sortable min-width="90px" align="center" prop="计划取消重量" />
-                <el-table-column label="计划准确率(去除取消重量)" sortable min-width="100px" align="center" prop="field3" />
-                <el-table-column label="计划正确数" sortable min-width="85px" align="center" prop="正确数" />
-                <el-table-column label="计划数" sortable min-width="85px" align="center" prop="计划数" />
-                <el-table-column label="计划正确率" sortable min-width="75px" align="center" prop="field2" />
-              </el-table>
-            </div>
-          </div>
-          <div class="row2-r" style="position: relative;">
-
-            <div class="title">
-              <div class="img-title" />
-              <span class="content">混料实际重量统计</span>
-            </div>
-            <div v-if="row4.chart2.isChart" class="button">
-              <div class="exportTable" @click="handleExport('row4chartLine2')">导出</div>
-              <div class="exportTable" @click="handleTable('row4chartLine2')">切换表格</div>
-            </div>
-            <div v-if="row4.chart2.isChart" id="row4chartLine2" v-loading="row4.chart2.listLoading" style="background: #fff;height:310px;" />
-            <div v-if="row4.chart2.isTable" class="table" style="position: absolute;width:100%;">
-              <div class="button">
-                <div class="exportTable" @click="handleExport('row4chartLine2')">导出</div>
-                <div class="exportTable" @click="handleChart('row4chartLine2')">切换图表</div>
-              </div>
-              <el-table
-                :key="row4.chart2.table.tableKey"
-                v-loading="row4.chart2.table.listLoading"
-                element-loading-text="给我一点时间"
-                :data="row4.chart2.table.list"
-                border
-                fit
-                highlight-current-row
-                style="width: 100%;margin-top: 10px;"
-                height="300"
-                :row-style="rowStyle"
-                :cell-style="cellStyle"
-                class="elTable table-fixed"
-              >
-                <el-table-column label="日期" sortable min-width="110px" align="center" prop="日期" />
-                <el-table-column label="重量" sortable min-width="110px" align="center" prop="field1" />
-              </el-table>
-            </div>
-
-
-
-          </div>
-
-        </div>
-        <div class="row3">
-          <div class="row3-l" style="position: relative;">
-
-            <div class="title">
-              <div class="img-title" />
-              <span class="content">泌乳牛干物质采食量</span>
-            </div>
-            <div v-if="row3.chart2.isChart" class="button">
-              <div class="exportTable" @click="handleExport('row3chartLine2')">导出</div>
-              <div class="exportTable" @click="handleTable('row3chartLine2')">切换表格</div>
-            </div>
-            <div v-if="row3.chart2.isChart" id="row3chartLine2" v-loading="row3.chart2.listLoading" style="background: #fff;height:310px;" />
-            <div v-if="row3.chart2.isTable" class="table" style="position: absolute;width: 100%;">
-              <div class="button">
-                <div class="exportTable" @click="handleExport('row3chartLine2')">导出</div>
-                <div class="exportTable" @click="handleChart('row3chartLine2')">切换图表</div>
-              </div>
-              <el-table
-                :key="row3.chart2.table.tableKey"
-                v-loading="row3.chart2.table.listLoading"
-                element-loading-text="给我一点时间"
-                :data="row3.chart2.table.list"
-                border
-                fit
-                highlight-current-row
-                style="width: 100%;margin-top: 10px;"
-                height="300"
-                :row-style="rowStyle"
-                :cell-style="cellStyle"
-                class="elTable table-fixed"
-              >
-                <el-table-column label="日期" sortable min-width="110px" align="center" prop="日期" />
-                <el-table-column label="泌乳牛采食量(kg)" sortable min-width="110px" align="center" prop="field1" />
-                <el-table-column label="泌乳牛产奶量(kg)" sortable min-width="110px" align="center" prop="field2" />
-              </el-table>
-            </div>
-
-          </div>
-          <div class="row3-r">
-            <div class="title">
-              <div class="img-title" />
-              <span class="content">库存预警</span>
-              <a style="float: right;color: #009C69;font-size: 12px;margin-right: 10px;" @click="handleMore">查看更多 &nbsp;>></a>
-            </div>
-            <div id="table" style="height: 330px;background: #fff;">
-              <el-table
-                :key="row4.table.tableKey"
-                v-loading="row4.table.listLoading"
-                element-loading-text="给我一点时间"
-                :data="row4.table.list"
-                border
-                fit
-                highlight-current-row
-                style="width: 98%;background: #fff;margin-top: 10px;"
-                height="320"
-                :row-style="rowStyle"
-                :cell-style="cellStyle"
-                class="elTable table-fixed"
-              >
-                <el-table-column label="序号" type="index" min-width="80px" align="center" />
-                <el-table-column label="饲料名称" min-width="80px" align="center" prop="feedname" />
-                <el-table-column label="库存量(kg)" min-width="70px" align="center" prop="stockweight" />
-                <el-table-column label="剩余使用天数" min-width="80px" align="center" prop="ldays" />
-              </el-table>
-            </div>
-          </div>
-        </div>
-      </div>
-    </div>
-  </div>
-</template>
-
-<script>
-import { GetDataByName, GetReportform } from '@/api/common'
-import Cookies from 'js-cookie'
-import { parseTime } from '@/utils/index.js'
-import echarts from 'echarts'
-import { json2excel } from '@/utils/index.js'
-
-require('echarts/theme/macarons')
-// var myKey = 0
-var that = this
-var carIndex = 0 // 判断是否大于当前车辆数
-var index = 0 // 判断当前跳到第几个车辆
-var timer = null
-export default {
-  name: 'PastureDashboard',
-  inject: ['reload'],
-  data() {
-    return {
-      val: '这是值1',
-      date: parseTime(new Date(), '{y}-{m}-{d}'),
-      list: [],
-      news: 1,
-      carLength: 0, // 车辆
-      myKey: 0, // 轮播Key值
-      row1: {
-        getdataListParm: {
-          name: 'getHomepageStr',
-          page: 1,
-          offset: 1,
-          pagecount: 10,
-          returntype: 'Map',
-          parammaps: {
-            pastureid: Cookies.get('pastureid')
-          }
-        },
-        listLoading: true,
-        list: ''
-      },
-      row2: {
-        chart1: {
-          chartLine: null,
-          chartLine_data: {}
-        },
-        chart2: {
-          chartLine: null,
-          chartLine_data: {}
-        },
-        chart3: {
-          isLeft: true,
-          isRight: true,
-          chartLine: null,
-          chartLine_data: {},
-          getdataListParm: {
-            name: 'getHomeprocessAnalysis',
-            page: 1,
-            offset: 1,
-            pagecount: 2,
-            returntype: 'Map',
-            parammaps: {
-              pastureid: Cookies.get('pastureid'),
-              id: '',
-              pid: ''
-            }
-          },
-          list: [],
-          total: 0,
-          listLoading: true,
-          pageNum: '',
-          pages: '',
-          getdataListParmList: {
-            name: 'getHomepageLBList',
-            page: 1,
-            offset: 1,
-            pagecount: 2,
-            returntype: 'Map',
-            parammaps: {
-              pastureid: Cookies.get('pastureid')
-            }
-          },
-          list2: [],
-          total2: 0,
-          listLoading2: true,
-          pageNum2: '',
-          pages2: ''
-        }
-      },
-      row3: {
-        chartDate: [],
-        chart1: {
-          chartLine: null,
-          chartLine_data: {},
-          getdataListParm: {
-            name: 'getAccuracyAllJH',
-            page: 1,
-            offset: 1,
-            pagecount: 10,
-            returntype: 'Map',
-            parammaps: {
-              pastureid: Cookies.get('pastureid'),
-              startTime: parseTime(new Date(), '{y}-{m}-{d}'),
-              stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
-              inputDatetime: [new Date(), new Date()]
-            }
-          },
-          list: [],
-          total: 0,
-          listLoading: true,
-          isChart: true,
-          isTable: false,
-          table: {
-            tableKey: 1,
-            list: [],
-            total: 0,
-            listLoading: false
-          }
-        },
-        chart2: {
-          chartLine: null,
-          chartLine_data: {},
-          getdataListParm: {
-            name: 'getFeedEffMR',
-            page: 1,
-            offset: 1,
-            pagecount: 10,
-            returntype: 'Map',
-            parammaps: {
-              pastureid: Cookies.get('pastureid'),
-              startTime: parseTime(new Date(), '{y}-{m}-{d}'),
-              stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
-              inputDatetime: [new Date(), new Date()]
-            }
-          },
-          list: [],
-          total: 0,
-          listLoading: true,
-          isChart: true,
-          isTable: false,
-          table: {
-            tableKey: 1,
-            list: [],
-            total: 0,
-            listLoading: false
-          }
-        }
-      },
-      row4: {
-        chartDate: [],
-        chart1: {
-          chartLine: null,
-          chartLine_data: {},
-          getdataListParm: {
-            name: 'getHomepageCB',
-            page: 1,
-            offset: 1,
-            pagecount: 10,
-            returntype: 'Map',
-            parammaps: {
-              pastureid: Cookies.get('pastureid'),
-              startTime: parseTime(new Date(), '{y}-{m}-{d}'),
-              stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
-              inputDatetime: [new Date(), new Date()]
-            }
-          },
-          list: [],
-          total: 0,
-          listLoading: true,
-          isChart: true,
-          isTable: false,
-          table: {
-            tableKey: 1,
-            list: [],
-            total: 0,
-            listLoading: false
-          }
-        },
-        chart2: {
-          chartLine: null,
-          chartLine_data: {},
-          getdataListParm: {
-            name: 'getAccuraaActHL',
-            page: 1,
-            offset: 1,
-            pagecount: 10,
-            returntype: 'Map',
-            parammaps: {
-              pastureid: Cookies.get('pastureid'),
-              startTime: parseTime(new Date(), '{y}-{m}-{d}'),
-              stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
-              inputDatetime: [new Date(), new Date()]
-            }
-          },
-          list: [],
-          total: 0,
-          listLoading: true,
-          isChart: true,
-          isTable: false,
-          table: {
-            tableKey: 1,
-            list: [],
-            total: 0,
-            listLoading: false
-          }
-        },
-        table: {
-          getdataListParm: {
-            name: 'getFsWarnList',
-            page: 1,
-            offset: 1,
-            pagecount: 5,
-            returntype: 'Map',
-            parammaps: {
-              pastureid: Cookies.get('pastureid')
-            }
-          },
-          tableKey: 1,
-          list: [],
-          total: 0,
-          listLoading: true,
-          temp: {}
-        }
-      },
-      rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' },
-      cellStyle: { padding: 0 + 'px' },
-      timer: null,
-      clickKey: 0,
-      isClick: false
-    }
-  },
-  watch: {
-    isClick: {
-      handler(newName, oldName) {
-        if (newName == true) {
-          setTimeout(() => {
-            this.timer = setInterval(this.autoPlay, 15000)
-          }, 20000)
-        }
-      },
-      immediate: true
-    }
-  },
-  created() {
-    // this.reload()
-    this.getCarLength()
-    this.getChart3List()
-    this.getTimeFn()
-    this.getList()
-
-    this.getChart4()
-    this.getChart5()
-    this.getChart6()
-    this.getChart7()
-    this.getTable8()
-  },
-  mounted() {
-    this.timer = null
-    this.timer = setInterval(this.autoPlay, 15000)
-  },
-  destroyed() {
-    clearInterval(this.timer)
-  },
-  methods: {
-    getTimeFn() {
-      // this.reload()
-      const that = this
-      const end = new Date()
-      const start = new Date()
-      start.setTime(start.getTime() - 3600 * 1000 * 24 * 20)
-      that.row3.chartDate[0] = parseTime(start, '{y}-{m}-{d}')
-      that.row3.chartDate[1] = parseTime(end, '{y}-{m}-{d}')
-      that.row3.chart1.getdataListParm.parammaps.inputDatetime[0] = parseTime(start, '{y}-{m}-{d}')
-      that.row3.chart1.getdataListParm.parammaps.inputDatetime[1] = parseTime(end, '{y}-{m}-{d}')
-      that.row3.chart1.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}')
-      that.row3.chart1.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}')
-
-      that.row3.chart2.getdataListParm.parammaps.inputDatetime[0] = parseTime(start, '{y}-{m}-{d}')
-      that.row3.chart2.getdataListParm.parammaps.inputDatetime[1] = parseTime(end, '{y}-{m}-{d}')
-      that.row3.chart2.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}')
-      that.row3.chart2.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}')
-
-      that.row4.chartDate[0] = parseTime(start, '{y}-{m}-{d}')
-      that.row4.chartDate[1] = parseTime(end, '{y}-{m}-{d}')
-      that.row4.chart1.getdataListParm.parammaps.inputDatetime[0] = parseTime(start, '{y}-{m}-{d}')
-      that.row4.chart1.getdataListParm.parammaps.inputDatetime[1] = parseTime(end, '{y}-{m}-{d}')
-      that.row4.chart1.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}')
-      that.row4.chart1.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}')
-
-      that.row4.chart2.getdataListParm.parammaps.inputDatetime[0] = parseTime(start, '{y}-{m}-{d}')
-      that.row4.chart2.getdataListParm.parammaps.inputDatetime[1] = parseTime(end, '{y}-{m}-{d}')
-      that.row4.chart2.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}')
-      that.row4.chart2.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}')
-    },
-    getList() {
-      this.row1.listLoading = true
-      GetDataByName(this.row1.getdataListParm).then(response => {
-        if (response.data !== null && response.data.list !== null) {
-          console.log('row1数据', response.data.list)
-          if (response.data.list[0].monRateHL == undefined) { response.data.list[0].monRateHL = '' }
-          if (response.data.list[0].monRateSL == undefined) { response.data.list[0].monRateSL = '' }
-          if (response.data.list[0].monRateSLR == undefined) { response.data.list[0].monRateSLR = '' }
-          if (response.data.list[0].yesRateHL == undefined) { response.data.list[0].yesRateHL = '' }
-          if (response.data.list[0].yesRateHL == undefined) { response.data.list[0].yesRateHL = '' }
-          if (response.data.list[0].yesRateSL == undefined) { response.data.list[0].yesRateSL = '' }
-          if (response.data.list[0].yesRateSLR == undefined) { response.data.list[0].yesRateSLR = '' }
-          if (response.data.list[0].temtime == undefined) { response.data.list[0].temtime = '' }
-          if (response.data.list[0].montime == undefined) { response.data.list[0].montime = '' }
-          this.row1.list = response.data.list[0]
-          this.row2.chart1.chartLine_data.data1 = parseFloat(response.data.list[0].doneTimes)
-          this.row2.chart1.chartLine_data.data2 = parseFloat(response.data.list[0].planTimes)
-          this.row2.chart2.chartLine_data.data1 = parseFloat(response.data.list[0].doneWeight)
-          this.row2.chart2.chartLine_data.data2 = parseFloat(response.data.list[0].planWeight)
-
-          this.roadChartLine1(this.row2.chart1.chartLine_data)
-          this.roadChartLine2(this.row2.chart2.chartLine_data)
-        } else {
-          this.row1.list.data1.monRateHL = ''
-          this.row1.list.data1.monRateSL = ''
-          this.row1.list.data1.monRateSLR = ''
-          this.row1.list.data1.yesRateHL = ''
-          this.row1.list.data1.yesRateSL = ''
-          this.row1.list.data1.yesRateSLR = ''
-          this.row1.list.data1.temtime = ''
-          this.row1.list.data1.montime = ''
-          this.row2.chart1.chartLine_data.data1 = ''
-          this.row2.chart1.chartLine_data.data2 = ''
-          this.row2.chart2.chartLine_data.data1 = ''
-          this.row2.chart2.chartLine_data.data2 = ''
-        }
-        setTimeout(() => {
-          this.row1.listLoading = false
-        }, 100)
-      })
-    },
-    // 今日计划统计-完成车次
-    roadChartLine1(chartLine_data) {
-      console.log('chartLine_data', chartLine_data)
-      if (this.row2.chart1.chartLine != null) {
-        this.row2.chart1.chartLine.dispose()
-      }
-      this.row2.chart1.chartLine = echarts.init(document.getElementById('row2chartLine1'))
-      if (chartLine_data.data2 == 0 || chartLine_data.data1 == 0) {
-        chartLine_data.data1 = 0
-        chartLine_data.data2 = 100
-      }
-      var option = {
-        title: { show: true, x: 'center', textStyle: { fontSize: '15', color: 'green', fontWeight: 'bold' }},
-        tooltip: { show: false, trigger: 'item', formatter: '{a} <br/>{b}: {c} ({d}%)' },
-        color: ['#1bbe89', '#e4e7ec'],
-        series: [{
-          name: '任务进度', type: 'pie', radius: ['80%', '70%'], avoidLabelOverlap: false, hoverAnimation: false, labelLine: { normal: { show: false }},
-          data: [{
-            value: chartLine_data.data1, name: '车次完成率', selected: false, // 单个扇区的标签配置
-            label: { normal: { show: true, position: 'center', fontSize: 20, formatter: '{b}\n{d}%' }}
-          }, {
-            value: chartLine_data.data2 - chartLine_data.data1,
-            label: { normal: { show: false }
-            }
-          }]
-        }]
-      }
-      this.row2.chart1.chartLine.setOption(option)
-      if (this.row2.chart1.chartLine != null) {
-        window.onresize = function() {
-          this.row2.chart1.chartLine.resize()
-        }
-      }
-      var that = this
-      that.row2.chart1.chartLine.on('mouseover', e => {
-        const op = that.row2.chart1.chartLine.getOption()
-        that.row2.chart1.chartLine.dispatchAction({
-          type: 'downplay',
-          seriesIndex: 0,
-          dataIndex: e.dataIndex,
-          color: e.color
-        })
-        that.row2.chart1.chartLine.setOption(op, true)
-      })
-    },
-    // 今日计划统计-完成重量
-    roadChartLine2(chartLine_data) {
-      if (this.row2.chart2.chartLine != null) {
-        this.row2.chart2.chartLine.dispose()
-      }
-      this.row2.chart2.chartLine = echarts.init(document.getElementById('row2chartLine2'))
-      if (chartLine_data.data2 == 0 || chartLine_data.data1 == 0) {
-        chartLine_data.data1 = 0
-        chartLine_data.data2 = 100
-      }
-      var option = {
-        title: { show: true, x: 'center', textStyle: { fontSize: '15', color: 'green', fontWeight: 'bold' }},
-        tooltip: { show: false, trigger: 'item', formatter: '{a} <br/>{b}: {c} ({d}%)' },
-        series: [{
-          name: '任务进度', type: 'pie', radius: ['80%', '70%'], avoidLabelOverlap: false, hoverAnimation: false,
-          labelLine: { normal: { show: false }},
-          data: [{
-            value: chartLine_data.data1, name: '重量完成率', selected: false, label: { normal: { show: true, position: 'center', fontSize: 20, formatter: '{b}\n{d}%' }}
-          }, {
-            value: chartLine_data.data2 - chartLine_data.data1, label: { normal: { show: false }}
-          }]
-        }],
-        color: ['#529ae4', '#e4e7ec']
-      }
-      this.row2.chart2.chartLine.setOption(option)
-      if (this.row2.chart2.chartLine != null) {
-        window.onresize = function() {
-          this.row2.chart2.chartLine.resize()
-        }
-      }
-      var that = this
-      that.row2.chart2.chartLine.on('mouseover', e => {
-        const op = that.row2.chart2.chartLine.getOption()
-        that.row2.chart2.chartLine.dispatchAction({
-          type: 'downplay',
-          seriesIndex: 0,
-          dataIndex: e.dataIndex,
-          color: e.color
-        })
-        that.row2.chart2.chartLine.setOption(op, true)
-      })
-    },
-
-    // 实时监控
-    getChart3() {
-      this.row2.chart3.listLoading = true
-      GetReportform(this.row2.chart3.getdataListParm).then(response => {
-        console.log('实时监控数据', response.data.list)
-        if (response.data !== null && response.data.list !== null) {
-          var evenNumbers = []// 偶数
-          var oddNumbers = []// 奇数
-          for (let i = 0; i < response.data.list.data4.length; i++) {
-            if (i == 0) {
-              oddNumbers.push(response.data.list.data4[i])
-            } else {
-              if (i % 2 == 0) {
-                evenNumbers.push(response.data.list.data4[i])
-              } else {
-                oddNumbers.push(response.data.list.data4[i])
-              }
-            }
-          }
-          response.data.list.data4 = oddNumbers
-          response.data.list.data5 = evenNumbers
-          this.row2.chart3.chartLine_data = response.data.list
-          this.row2.chart3.total = response.data.total
-          this.row2.chart3.pageNum = response.data.pageNum
-          this.row2.chart3.pages = response.data.pages
-          this.roadChartLine3(this.row2.chart3.chartLine_data)
-        } else {
-          this.row2.chart3.list = []
-          this.row2.chart3.chartLine_data = []
-          this.roadChartLine3(this.row2.chart3.chartLine_data)
-        }
-        setTimeout(() => {
-          this.row2.chart3.listLoading = false
-        }, 100)
-      })
-    },
-    roadChartLine3(chartLine_data) {
-      console.log(chartLine_data, 'chartLine_data666')
-      if (this.row2.chart3.chartLine != null) {
-        this.row2.chart3.chartLine.dispose()
-      }
-      this.row2.chart3.chartLine = echarts.init(document.getElementById('row2chartLine3'))
-      var option = {
-        title: {
-          text: '',
-          subtext: ''
-        },
-        color: ['#ff0000', '#5199e5', '#fdb06a', '#fb8b73'], // 关键加上这句话,legend的颜色和折线的自定义颜色就一致了
-        grid: {
-          bottom: '10%'
-        },
-        legend: [{
-          itemWidth: 15, itemHeight: 7, right: '25%', textStyle: { fontSize: 12 },
-          data: [{ name: '设计重量' }, { name: '实际重量' }]
-        }, {
-          itemWidth: 15, itemHeight: 15, right: '0', textStyle: { fontSize: 12 },
-          data: [{ name: '开始重量', icon: 'image://https://kptyun.cn:8081/file/pic/3.png' }, { name: '结束重量', icon: 'image://https://kptyun.cn:8081/file/pic/4.png' }]
-        }],
-        tooltip: {
-          trigger: 'axis'
-        },
-        calculable: true,
-        yAxis: [
-          { type: 'value', name: '重量(kg)', splitLine: { show: false }, axisLabel: { show: true, textStyle: { color: '#666' }}}
-        ],
-        xAxis: [
-          { type: 'category', splitLine: { show: false }, name: '时间', data: chartLine_data.data1, axisLabel: { show: true, textStyle: { color: '#666' }}}
-        ],
-        toolbox: {
-          show: false,
-          feature: {
-            dataZoom: { realtime: false, yAxisIndex: 'none', },
-            restore: {},
-          }
-        },
-        dataZoom:  [
-          {type: 'inside'},        //用于添加滚轮缩放
-          {type:'slider' },  //用于添加滑动条缩放,
-        ],
-        series: [
-          { symbol: 'none', name: '实际重量', type: 'line', data: chartLine_data.data3, itemStyle: { normal: { lineStyle: { color: '#ff0000' ,width:2}}}},
-          { symbol: 'none', name: '设计重量', type: 'line',  data: chartLine_data.data2, itemStyle: { normal: { lineStyle: {  width:2}}}},
-          { name: '开始重量', symbol: 'image://https://kptyun.cn:8081/file/pic/3.png', symbolSize: 6, type: 'scatter', data: chartLine_data.data4 },
-          { name: '结束重量', symbol: 'image://https://kptyun.cn:8081/file/pic/4.png', symbolSize: 6, type: 'scatter', data: chartLine_data.data5 }
-        ]
-      }
-      this.row2.chart3.chartLine.setOption(option)
-      if (this.row2.chart3.chartLine != null) {
-        window.onresize = function() {
-          this.row2.chart3.chartLine.resize()
-        }
-      }
-    },
-    getCarLength() {
-      this.row2.chart3.listLoading2 = true
-      this.row2.chart3.getdataListParmList.pagecount = 0
-      GetDataByName(this.row2.chart3.getdataListParmList).then(response => {
-        if (response.data.list !== null) {
-          this.carLength = response.data.total
-        } else {
-          this.carLength = 0
-        }
-        setTimeout(() => {
-          this.row2.chart3.listLoading2 = false
-        }, 100)
-      })
-    },
-    // 图三轮询列表
-    getChart3List() {
-      this.row2.chart3.listLoading2 = true
-      this.row2.chart3.getdataListParmList.pagecount = 2
-      GetDataByName(this.row2.chart3.getdataListParmList).then(response => {
-        if (response.data.list !== null) {
-          this.$set(response.data.list[0], 'background', '#f3f9f7')
-          this.$set(response.data.list[0], 'borderColor', '#009d6a')
-          this.$set(response.data.list[0], 'isChecked', true)
-          if (response.data.list.length > 1) {
-            this.$set(response.data.list[1], 'background', '#f9f9f9')
-            this.$set(response.data.list[1], 'borderColor', '#f9f9f9')
-            this.$set(response.data.list[1], 'isChecked', false)
-          }
-          this.list = response.data.list
-          this.row2.chart3.getdataListParm.parammaps.pid = this.list[this.myKey].pid
-          this.row2.chart3.getdataListParm.parammaps.id = this.list[this.myKey].id
-          this.getChart3()
-          this.row2.chart3.pageNum2 = response.data.pageNum
-          this.row2.chart3.pages2 = response.data.pages
-        } else {
-          this.row2.chart3.list2 = []
-        }
-        if (response.data.pageNum == 1) {
-          if (response.data.total > 2) {
-            this.row2.chart3.isLeftA = false
-            this.row2.chart3.isLeft = true
-            this.row2.chart3.isRightA = true
-            this.row2.chart3.isRight = false
-          } else {
-            this.row2.chart3.isLeftA = false
-            this.row2.chart3.isLeft = true
-            this.row2.chart3.isRightA = true
-            this.row2.chart3.isRight = false
-          }
-        } else {
-          if (response.data.pageNum * response.data.pageSize > response.data.total || response.data.pageNum * response.data.pageSize == response.data.total) {
-            this.row2.chart3.isLeftA = true
-            this.row2.chart3.isLeft = false
-            this.row2.chart3.isRightA = false
-            this.row2.chart3.isRight = true
-          } else {
-            this.row2.chart3.isLeftA = true
-            this.row2.chart3.isLeft = false
-            this.row2.chart3.isRightA = true
-            this.row2.chart3.isRight = false
-          }
-        }
-        setTimeout(() => {
-          this.row2.chart3.listLoading2 = false
-        }, 100)
-      })
-    },
-    // 向左切换
-    handleLeft() {
-      console.log('左')
-      if (this.row2.chart3.isLeftA == false) {
-        console.log('前边没有啦')
-      } else {
-        console.log(this.row2.chart3.getdataListParmList.offset)
-        this.row2.chart3.getdataListParmList.offset = this.row2.chart3.getdataListParmList.offset - 1
-        this.getChart3List()
-      }
-    },
-    // 向右切换
-    handleRight() {
-      if (this.row2.chart3.isRightA == false) {
-        console.log('后边没有啦')
-      } else {
-        this.row2.chart3.getdataListParmList.offset = this.row2.chart3.getdataListParmList.offset + 1
-        console.log(this.row2.chart3.getdataListParmList.offset)
-        this.getChart3List()
-      }
-    },
-    handleList(key, item) {
-      console.log(item, key)
-      this.isClick = true
-      this.clickKey = key
-      clearInterval(this.timer)
-      for (let i = 0; i < this.list.length; i++) {
-        if (key == i) {
-          this.$set(this.list[i], 'background', '#f3f9f7')
-          this.$set(this.list[i], 'borderColor', '#009d6a')
-          this.$set(this.list[i], 'isChecked', true)
-        } else {
-          this.$set(this.list[i], 'background', '#f9f9f9')
-          this.$set(this.list[i], 'borderColor', '#f9f9f9')
-          this.$set(this.list[i], 'isChecked', false)
-        }
-      }
-      this.row2.chart3.getdataListParm.parammaps.pid = this.list[key].pid
-      this.row2.chart3.getdataListParm.parammaps.id = this.list[key].id
-      this.getChart3()
-      // this.timer = null
-      // clearInterval(this.timer)
-      // setTimeout(() => {
-      //   this.timer = null
-      //   this.timer = setInterval(this.autoPlay, 15000)
-      // }, 20000)
-    },
-    autoPlay() {
-      if (this.list[0].isChecked == true) {
-        if (this.list.length > 1) {
-          this.$set(this.list[1], 'background', '#f3f9f7')
-          this.$set(this.list[1], 'borderColor', '#009d6a')
-          this.$set(this.list[1], 'isChecked', true)
-          this.$set(this.list[0], 'background', '#f9f9f9')
-          this.$set(this.list[0], 'borderColor', '#f9f9f9')
-          this.$set(this.list[0], 'isChecked', false)
-          this.row2.chart3.getdataListParm.parammaps.pid = this.list[1].pid
-          this.row2.chart3.getdataListParm.parammaps.id = this.list[1].id
-          this.getChart3()
-        } else {
-          if (this.row2.chart3.isRightA == false && this.row2.chart3.isLeftA == true) {
-            this.row2.chart3.getdataListParmList.offset = this.row2.chart3.getdataListParmList.offset - 1
-            this.getChart3List()
-          }
-        }
-      } else {
-        if (this.row2.chart3.isRightA == true) {
-          this.row2.chart3.getdataListParmList.offset = this.row2.chart3.getdataListParmList.offset + 1
-          console.log(this.row2.chart3.getdataListParmList.offset)
-          this.getChart3List()
-        } else {
-          if (this.row2.chart3.isLeftA == true) {
-            this.row2.chart3.getdataListParmList.offset = this.row2.chart3.getdataListParmList.offset - 1
-            console.log(this.row2.chart3.getdataListParmList.offset)
-            this.getChart3List()
-          } else {
-            this.$set(this.list[0], 'background', '#f3f9f7')
-            this.$set(this.list[0], 'borderColor', '#009d6a')
-            this.$set(this.list[0], 'isChecked', true)
-            this.$set(this.list[1], 'background', '#f9f9f9')
-            this.$set(this.list[1], 'borderColor', '#f9f9f9')
-            this.$set(this.list[1], 'isChecked', false)
-            this.row2.chart3.getdataListParm.parammaps.pid = this.list[0].pid
-            this.row2.chart3.getdataListParm.parammaps.id = this.list[0].id
-            this.getChart3()
-          }
-        }
-      }
-    },
-
-    // 计划统计
-    getChart4() {
-      this.row3.chart1.listLoading = true
-      GetReportform(this.row3.chart1.getdataListParm).then(response => {
-        if (response.data !== null && response.data.list !== null) {
-          console.log('计划统计数据', response.data.list)
-          for (let i = 0; i < response.data.data.length; i++) {
-            if (response.data.data[i].实际量 !== '' && response.data.data[i].实际量 !== undefined) {
-              response.data.data[i].实际量 = parseFloat(response.data.data[i].实际量)
-            }
-            if (response.data.data[i].理论量 !== '' && response.data.data[i].理论量 !== undefined) {
-              response.data.data[i].理论量 = parseFloat(response.data.data[i].理论量)
-            }
-            if (response.data.data[i].field1 !== '' && response.data.data[i].field1 !== undefined) {
-              response.data.data[i].field1 = parseFloat(response.data.data[i].field1)
-            }
-            if (response.data.data[i].计划取消重量 !== '' && response.data.data[i].计划取消重量 !== undefined) {
-              response.data.data[i].计划取消重量 = parseFloat(response.data.data[i].计划取消重量)
-            }
-            if (response.data.data[i].field3 !== '' && response.data.data[i].field3 !== undefined) {
-              response.data.data[i].field3 = parseFloat(response.data.data[i].field3)
-            }
-            if (response.data.data[i].正确数 !== '' && response.data.data[i].正确数 !== undefined) {
-              response.data.data[i].正确数 = parseFloat(response.data.data[i].正确数)
-            }
-            if (response.data.data[i].计划数 !== '' && response.data.data[i].计划数 !== undefined) {
-              response.data.data[i].计划数 = parseFloat(response.data.data[i].计划数)
-            }
-            if (response.data.data[i].field2 !== '' && response.data.data[i].field2 !== undefined) {
-              response.data.data[i].field2 = parseFloat(response.data.data[i].field2)
-            }
-          }
-          this.row3.chart1.table.list = response.data.data
-          console.log(this.row3.chart1.table.list, '123')
-          this.row3.chart1.chartLine_data = response.data.list
-          this.row3.chart1.total = response.data.total
-        } else {
-          this.row3.chart1.list = []
-          this.row3.chart1.chartLine_data = []
-          this.row3.chart1.chartLine_data.data1 = []
-        }
-        if (this.row3.chart1.chartLine_data.data1.length == 0) {
-          this.row3.chart1.chartLine_data.title = '暂无数据'
-        } else {
-          this.row3.chart1.chartLine_data.title = ''
-        }
-        this.roadChartLine4(this.row3.chart1.chartLine_data)
-        setTimeout(() => {
-          this.row3.chart1.listLoading = false
-        }, 100)
-      })
-    },
-    roadChartLine4(chartLine_data) {
-      if (this.row3.chart1.chartLine != null) {
-        this.row3.chart1.chartLine.dispose()
-      }
-      this.row3.chart1.chartLine = echarts.init(document.getElementById('row3chartLine1'))
-      var option = {
-        title: { text: chartLine_data.title, x: 'center', y: 'center', textStyle: { color: '#909399', fontWeight: 'normal', fontSize: 12 }},
-        tooltip: { trigger: 'axis' },
-        color: ['#1abd88', '#549be9', '#fd8d75'],
-        legend: {
-          data: ['计划准确率', '计划正确率', '计划准确率(去除取消重量)'],
-          top: 10, itemHeight: 7, itemWidth: 15, textStyle: { fontSize: 12 }
-        },
-        grid: {
-          top: '20%',
-          left: '10%',
-          right: '10%',
-          bottom: '10%',
-          containLabel: true
-        },
-        toolbox: {
-          show: true,
-          right: '2%',
-          feature: {}
-        },
-        xAxis: { type: 'category', boundaryGap: false, data: chartLine_data.data1, name: '日期' },
-        yAxis: {
-          type: 'value', name: '百分比', axisLabel: { formatter: '{value} %' }
-        },
-        series: [
-          { name: '计划准确率', type: 'line', symbol: 'none', smooth: true, itemStyle: { normal: { lineStyle: { color: '#1abd88' }}}, data: chartLine_data.data2 },
-          { name: '计划正确率', type: 'line', symbol: 'none', smooth: true, itemStyle: { normal: { lineStyle: { color: '#549be9' }}}, data: chartLine_data.data3 },
-          { name: '计划准确率(去除取消重量)', type: 'line', symbol: 'none', smooth: true, itemStyle: { normal: { lineStyle: { color: '#fd8d75' }}}, data: chartLine_data.data4 }
-        ]
-      }
-      this.row3.chart1.chartLine.setOption(option)
-      if (this.row3.chart1.chartLine != null) {
-        window.onresize = function() {
-          this.row3.chart1.chartLine.resize()
-        }
-      }
-    },
-    // 泌乳牛干物质采食量
-    getChart5() {
-      this.row3.chart2.listLoading = true
-      GetReportform(this.row3.chart2.getdataListParm).then(response => {
-        console.log('泌乳牛干物质采食量数据', response)
-        if (response.data !== null && response.data.list !== null && response.data.data !== null) {
-          for (let i = 0; i < response.data.data.length; i++) {
-            if (response.data.data[i].field1 !== '' && response.data.data[i].field1 !== undefined) {
-              response.data.data[i].field1 = parseFloat(response.data.data[i].field1)
-            }
-            if (response.data.data[i].field2 !== '' && response.data.data[i].field2 !== undefined) {
-              response.data.data[i].field2 = parseFloat(response.data.data[i].field2)
-            }
-          }
-          this.row3.chart2.table.list = response.data.data
-          this.row3.chart2.chartLine_data = response.data.list
-          this.row3.chart2.total = response.data.total
-        } else {
-          this.row3.chart2.list = []
-          this.row3.chart2.chartLine_data = []
-          this.row3.chart2.chartLine_data.data1 = []
-        }
-        if (this.row3.chart2.chartLine_data.data1.length == 0) {
-          this.row3.chart2.chartLine_data.title = '暂无数据'
-        } else {
-          this.row3.chart2.chartLine_data.title = ''
-        }
-        this.roadChartLine5(this.row3.chart2.chartLine_data)
-        setTimeout(() => {
-          this.row3.chart2.listLoading = false
-        }, 100)
-      })
-    },
-    roadChartLine5(chartLine_data) {
-      if (this.row3.chart2.chartLine != null) {
-        this.row3.chart2.chartLine.dispose()
-      }
-      this.row3.chart2.chartLine = echarts.init(document.getElementById('row3chartLine2'))
-      var option = {
-        title: { text: chartLine_data.title, x: 'center', y: 'center', textStyle: { color: '#909399', fontWeight: 'normal', fontSize: 12 }},
-        tooltip: { trigger: 'axis', axisPointer: { type: 'cross', crossStyle: { color: '#999' }}},
-        grid: { top: '20%', left: '8%', right: '10%', bottom: '10%', containLabel: true },
-        legend: { data: ['泌乳牛干物质采食量', '泌乳牛产奶量'], right: 10, itemHeight: 7, itemWidth: 15 },
-        xAxis: [{ type: 'category', data: chartLine_data.data1 }],
-        yAxis: [{
-          splitLine: { show: false }, type: 'value', name: '泌乳牛干\n物质采食量', axisLabel: { formatter: '{value} ' }
-        }, {
-          splitLine: { show: false }, type: 'value', name: '泌乳牛产奶量', axisLabel: { formatter: '{value} ' }
-        }],
-        series: [{
-          name: '泌乳牛干物质采食量', type: 'bar', barWidth: 5, itemStyle: { barBorderRadius: [18, 18, 0, 0], normal: { color: '#5199e5' }}, data: chartLine_data.data2
-        }, {
-          name: '泌乳牛产奶量', type: 'line', barWidth: 5,
-          itemStyle: { barBorderRadius: [18, 18, 0, 0], normal: { color: '#36c293' }}, yAxisIndex: 1, data: chartLine_data.data3
-        }]
-      }
-      this.row3.chart2.chartLine.setOption(option)
-      if (this.row3.chart2.chartLine != null) {
-        window.onresize = function() {
-          this.row3.chart2.chartLine.resize()
-        }
-      }
-    },
-
-    // 成本统计
-    getChart6() {
-      this.row4.chart1.table.listLoading = true
-      this.row4.chart1.listLoading = true
-      GetReportform(this.row4.chart1.getdataListParm).then(response => {
-        if (response.data !== null && response.data.list !== null && response.data.data !== null && response.data.data !== '') {
-          console.log('成本统计数据', response.data.data)
-          console.log('成本统计数据', response.data.list)
-          for (let i = 0; i < response.data.data.length; i++) {
-            if (response.data.data[i].field1 !== '' && response.data.data[i].field1 !== undefined) {
-              response.data.data[i].field1 = parseFloat(response.data.data[i].field1)
-            }
-            if (response.data.data[i].field2 !== '' && response.data.data[i].field2 !== undefined) {
-              response.data.data[i].field2 = parseFloat(response.data.data[i].field2)
-            }
-          }
-          this.row4.chart1.table.list = response.data.data
-          this.row4.chart1.chartLine_data = response.data.list
-          this.row4.chart1.total = response.data.total
-        } else {
-          this.row4.chart1.list = []
-          this.row4.chart1.chartLine_data = []
-          this.row4.chart1.chartLine_data.data1 = []
-        }
-        if (this.row4.chart1.chartLine_data.data1.length == 0) {
-          this.row4.chart1.chartLine_data.title = '暂无数据'
-        } else {
-          this.row4.chart1.chartLine_data.title = ''
-        }
-        this.roadChartLine6(this.row4.chart1.chartLine_data)
-        setTimeout(() => {
-          this.row4.chart1.listLoading = false
-          this.row4.chart1.table.listLoading = false
-        }, 100)
-      })
-    },
-    roadChartLine6(chartLine_data) {
-      if (this.row4.chart1.chartLine != null) {
-        this.row4.chart1.chartLine.dispose()
-      }
-      console.log(chartLine_data, '===666')
-      this.row4.chart1.chartLine = echarts.init(document.getElementById('row4chartLine1'))
-      var option = {
-        title: { text: chartLine_data.title, x: 'center', y: 'center', textStyle: { color: '#909399', fontWeight: 'normal', fontSize: 12 }},
-        grid: { left: '10%', right: '12%', bottom: '3%', containLabel: true },
-        tooltip: { trigger: 'axis', axisPointer: { type: 'cross', crossStyle: { color: '#999' }}},
-        legend: { data: ['公斤奶饲料成本', '单头牛饲料成本'], itemHeight: 7, itemWidth: 15 },
-        xAxis: [{ type: 'category', data: chartLine_data.data1, axisPointer: { type: 'shadow' }, name: '日期' }],
-        yAxis: [{
-          splitLine: { show: false }, type: 'value', name: '公斤奶\n饲料成本(元)', axisLabel: { formatter: '{value}' }
-        }, {
-          splitLine: { show: false }, type: 'value', name: '单头牛\n饲料成本(元)', axisLabel: { formatter: '{value}' }
-        }
-        ],
-        series: [{
-          name: '公斤奶饲料成本', type: 'bar', itemStyle: { normal: { color: '#1abd88' }}, data: chartLine_data.data2
-        }, {
-          name: '单头牛饲料成本', type: 'line', yAxisIndex: 1, itemStyle: { normal: { color: '#ff8d78' }}, data: chartLine_data.data3
-        }]
-      }
-      this.row4.chart1.chartLine.setOption(option)
-      if (this.row4.chart1.chartLine != null) {
-        window.onresize = function() {
-          this.row4.chart1.chartLine.resize()
-        }
-      }
-    },
-
-    // 混料实际重量统计
-    getChart7() {
-      this.row4.chart2.listLoading = true
-      GetReportform(this.row4.chart2.getdataListParm).then(response => {
-        if (response.data !== null && response.data.list !== null) {
-          console.log('混料实际重量统计数据', response.data.list)
-          for (let i = 0; i < response.data.data.length; i++) {
-            if (response.data.data[i].field1 !== '' && response.data.data[i].field1 !== undefined) {
-              response.data.data[i].field1 = parseFloat(response.data.data[i].field1)
-            }
-          }
-          this.row4.chart2.table.list = response.data.data
-          this.row4.chart2.chartLine_data = response.data.list
-          this.row4.chart2.total = response.data.total
-        } else {
-          this.row4.chart2.list = []
-          this.row4.chart2.chartLine_data = []
-          this.row4.chart2.chartLine_data.data1 = []
-        }
-        if (this.row4.chart2.chartLine_data.data1.length == 0) {
-          this.row4.chart2.chartLine_data.title = '暂无数据'
-        } else {
-          this.row4.chart2.chartLine_data.title = ''
-        }
-        this.roadChartLine7(this.row4.chart2.chartLine_data)
-        setTimeout(() => {
-          this.row4.chart2.listLoading = false
-        }, 100)
-      })
-    },
-    roadChartLine7(chartLine_data) {
-      if (this.row4.chart2.chartLine != null) {
-        this.row4.chart2.chartLine.dispose()
-      }
-      this.row4.chart2.chartLine = echarts.init(document.getElementById('row4chartLine2'))
-      var option = {
-        title: { text: chartLine_data.title, x: 'center', y: 'center', textStyle: { color: '#909399', fontWeight: 'normal', fontSize: 12 }},
-        grid: { left: '10%', right: '10%', bottom: '3%', containLabel: true },
-        tooltip: { trigger: 'axis' },
-        legend: { data: [''] },
-        xAxis: [{ type: 'category', data: chartLine_data.data1, name: '日期' }],
-        yAxis: [
-          { type: 'value', name: '重量(kg)', axisLabel: { formatter: '{value}' }}
-        ],
-        series: [{
-          name: '重量', type: 'bar', stack: '广告', itemStyle: { normal: { color: '#36C293' }}, data: chartLine_data.data2
-        }]
-      }
-      this.row4.chart2.chartLine.setOption(option)
-      if (this.row4.chart2.chartLine != null) {
-        window.onresize = function() {
-          this.row4.chart2.chartLine.resize()
-        }
-      }
-    },
-
-    getTable8() {
-      this.row4.table.listLoading = true
-      GetDataByName(this.row4.table.getdataListParm).then(response => {
-        console.log('库存预警table数据', response.data.list)
-        if (response.data.list !== null) {
-          this.row4.table.list = response.data.list
-          this.row4.table.total = response.data.total
-        } else {
-          this.row4.table.list = []
-        }
-        setTimeout(() => {
-          this.row4.table.listLoading = false
-        }, 100)
-      })
-    },
-    // 更多
-    handleMore() {
-      // this.$router.push({ path: '/inventoryManagement/Warning' })
-      this.$router.push({ name: 'Warning', params: { jmp: 'jmp' }})
-    },
-    // 导出
-    handleExport(item) {
-      console.log(item)
-      // 计划统计
-      if (item == 'row3chartLine1') {
-        console.log(this.row3.chart1.table.list)
-        var excelDatasTabChart1 = [
-          {
-            tHeader: ['日期', '计划执行重量(kg)', '配方理论重量(kg)', '计划准确率', '计划取消重量(kg)', '计划准确率(去除取消重量)', '计划正确数', '计划数', '计划正确率'],
-            filterVal: ['日期', '实际量', '理论量', 'field1', '计划取消重量', 'field3', '正确数', '计划数', 'field2'],
-            tableDatas: this.row3.chart1.table.list,
-            sheetName: '计划统计'
-          }
-        ]
-        json2excel(excelDatasTabChart1, '计划统计', true, 'xlsx')
-      } else if (item == 'row3chartLine2') {
-        // 泌乳牛采食量
-        var excelDatasTabChart2 = [
-          {
-            tHeader: ['日期', '泌乳牛采食量(kg)', '泌乳牛产奶量(kg)'],
-            filterVal: ['日期', 'field1', 'field2'],
-            tableDatas: this.row3.chart2.table.list,
-            sheetName: '泌乳牛采食量'
-          }
-        ]
-        json2excel(excelDatasTabChart2, '泌乳牛采食量', true, 'xlsx')
-      } else if (item == 'row4chartLine1') {
-        // 成本统计
-        console.log('成本统计')
-        var excelDatasTabChart2 = [
-          {
-            tHeader: ['日期', '单头牛饲料成本', '公斤奶饲料成本(元)'],
-            filterVal: ['日期', 'field1', 'field2'],
-            tableDatas: this.row4.chart1.table.list,
-            sheetName: '成本统计'
-          }
-        ]
-        json2excel(excelDatasTabChart2, '成本统计', true, 'xlsx')
-      } else if (item == 'row4chartLine2') {
-        console.log('混料实际重量统计')
-        var excelDatasTabChart4 = [
-          {
-            tHeader: ['日期', '重量'],
-            filterVal: ['日期', 'field1'],
-            tableDatas: this.row4.chart2.table.list,
-            sheetName: '混料实际重量统计'
-          }
-        ]
-        json2excel(excelDatasTabChart4, '混料实际重量统计', true, 'xlsx')
-      }
-    },
-
-    handleTable(item) {
-      console.log(item)
-      if (item == 'row3chartLine1') {
-        console.log('计划统计表格')
-        this.row3.chart1.isTable = true
-        this.row3.chart1.isChart = false
-      } else if (item == 'row3chartLine2') {
-        console.log('泌乳牛采食量表格')
-        this.row3.chart2.isTable = true
-        this.row3.chart2.isChart = false
-      } else if (item == 'row4chartLine1') {
-        console.log('成本统计表格')
-        this.row4.chart1.isTable = true
-        this.row4.chart1.isChart = false
-      } else if (item == 'row4chartLine2') {
-        console.log('混料实际重量统计表格')
-        this.row4.chart2.isTable = true
-        this.row4.chart2.isChart = false
-      }
-    },
-    handleChart(item) {
-      console.log(item)
-      // 显示切换图表
-      if (item == 'row3chartLine1') {
-        console.log('计划统计图表')
-        this.row3.chart1.isTable = false
-        this.row3.chart1.isChart = true
-        this.getChart4()
-      } else if (item == 'row3chartLine2') {
-        console.log('泌乳牛采食量图表')
-        this.row3.chart2.isTable = false
-        this.row3.chart2.isChart = true
-        this.getChart5()
-      } else if (item == 'row4chartLine1') {
-        console.log('成本统计图表')
-        this.row4.chart1.isTable = false
-        this.row4.chart1.isChart = true
-        this.getChart6()
-      } else if (item == 'row4chartLine2') {
-        console.log('混料实际重量统计图表')
-        this.row4.chart2.isTable = false
-        this.row4.chart2.isChart = true
-        this.getChart7()
-      }
-    }
-
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-  .Title{
-    padding-left: 10px;border-radius: 10px;margin-top: 20px;background: #fff;height:40px;font-size:20px;line-height:40px;text-align: left;font-weight: 600;color:#333333;
-  }
-  .dashboard-editor-container {
-    background-color: #F4F4F4;
-    min-height: 100vh;
-    .news{
-      width: 70%;
-      height: 30px;
-      background: #fff;
-      margin: 0 auto;
-      border-radius: 10px;
-      text-align: center;
-      line-height: 30px;
-      color: red;
-      b{color: #000;}
-    }
-
-    .bottom{
-      padding:0 30px;
-      h4{text-align: right;}
-      .grid-content{
-        background: #fff;height: 90px;
-        border-radius: 10px;
-      }
-      .one{
-        border: 1px solid #82CBB3;height: 90px;
-        .Left{
-          float: left;
-          width: 65px;
-          text-align: center;
-          i{font-size: 36px;color:#82CBB3;line-height: 90px;}
-        }
-        .Right{
-          float: left;
-          margin-top:15px;
-          height: 60px;
-          font-weight: 600;
-          font-size: 14px;
-          line-height: 30px;
-          span{
-            display: inline-block;
-            width: 130px;
-            text-align: right;
-          }
-        }
-      }
-      .two{
-        border: 1px solid #FF9900;
-        .Left{
-          float: left;
-          width: 65px;
-          text-align: center;
-          i{font-size: 36px;color:#FF9900;line-height: 90px;}
-        }
-        .Right{
-          float: left;
-          margin-top:15px;
-          height: 60px;
-          font-weight: 600;
-          font-size: 14px;
-          line-height: 30px;
-          span{
-            display: inline-block;
-            width: 130px;
-            text-align: right;
-          }
-        }
-      }
-      .three{
-        border: 1px solid #0099FF;
-        .Left{
-          float: left;
-          width: 65px;
-          text-align: center;
-          i{font-size: 36px;color:#0099FF;line-height: 90px;}
-        }
-        .Right{
-          float: left;
-          height: 60px;
-          font-weight: 600;
-          font-size: 14px;
-          line-height: 30px;
-          margin-top:15px;
-          span{
-            display: inline-block;
-            width: 130px;
-            text-align: right;
-          }
-        }
-      }
-      .four{
-        border: 1px solid #FF5C5C;
-        .Left{
-          float: left;
-          width: 55px;
-          text-align: center;
-          i{font-size: 36px;color:#FF5C5C;line-height: 90px;}
-        }
-        .Right{
-          float: left;
-          flex: 1;
-          height: 60px;
-          font-weight: 600;
-          font-size: 14px;
-          line-height: 30px;
-          margin-top:15px;
-          span{
-            display: inline-block;
-            width: 150px;
-            text-align: right;
-          }
-        }
-      }
-
-      .car{
-        width:100%;height:150px;
-         display:flex;
-        display: -webkit-flex;
-        -webkit-flex-direction:row;
-        i{font-size: 50px;width:50px;display: block;line-height: 150px;}
-        .carList{
-          flex:1;height: 130px;
-          .list{
-            height: 130px;color: #fff;
-            // box-shadow: #000 0px 0px 10px;
-            // border-radius: 10px;
-            .list-l{
-              p{
-                padding-left:10px;font-size:13px;line-height: 16px; text-overflow: ellipsis;white-space:nowrap; overflow:hidden;
-              }
-            }
-            .list-r{
-              p{
-                font-size:13px;line-height: 16px;text-overflow: ellipsis;white-space:nowrap; overflow:hidden;
-              }
-            }
-          }
-        }
-      }
-    }
-  }
-</style>
-
-<style>
-  .app-main{background:#f5f5f5;}
-</style>
-<style lang="scss" scoped>
-
-  .dashboard-editor-container{padding-left: 10px;background: #f5f5f5;padding-bottom: 10px;}
-  // 公共
-  .img-t{position: absolute;left: 0;right: 0;margin: 30px auto;width: 31%;height: 31%;background-size: 100% 100%;}
-  .row1-c-l-c{
-    margin: 30px auto;border: 1px solid #eee;height: 40%;width: 50%;border-radius: 50%;text-align: center;display:table;
-    span{
-      height:100%;display:table-cell;vertical-align: middle;font-size:14px;color: #009C69;
-      b{padding-bottom: 10px;font-size: 16px;}
-    }
-  }
-  .row1-c-l-b{
-    width: 100%;text-align: center;display:table;font-size: 12px;
-    // div{
-    //   font-size: 12px;height:100%;display:table-cell;vertical-align: middle;color: #323232;padding: 0 10px;width: 100%;
-    //   span{text-align: right;width: 75%;display: block;float: left;}
-    //   b{float: left;display: block;width: 25%;}
-    // }
-  }
-  .title{
-    height: 36px;padding-top: 7px;line-height: 36px;position: relative;
-    .img-title{
-      position: absolute;top: 10px; right:10px;bottom:0;left:20px;width: 30px;height: 30px;background: url(../../../assets/images/index/row-bg3.png) no-repeat;
-    }
-    .content{font-size: 18px;position: absolute;top: 7px;left: 55px;}
-  }
-  .title1{
-    height: 36px;padding-top: 7px;line-height: 36px;position: relative;
-
-    .img-title{
-      position: absolute;top: 10px; right:10px;bottom:0;left:10px;
-      width: 25px;height: 25px;
-      img{width: 25px;height: 25px;}
-    }
-    .content{font-size: 16px;position: absolute;top: 7px;left: 40px;}
-  }
-  .button{
-    height: 30px;
-    .exportTable{float: right;margin-right: 5px;}
-  }
-  .dashboard{
-    display: flex;margin-top: 10px;
-    .dashboard-l{
-      // width: 540px;
-      width: 30%;
-      .row1{
-        height: 520px;
-        .row1-t{
-          background: #fff; height: 50px; color: #f28b46;
-          .row1-t-l{
-            .img-l{float:left;padding: 16px 10px 16px 20px;width: 18px;height: 18px;background: url(../../../assets/images/index/row-bg2.png) no-repeat;background-position: 0 8px;}
-            .content{float:left;width: 54%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;font-size: 14px;line-height: 50px;padding-left: 3px;}
-            .img-r{float:left;padding: 16px 0 16px 17px;width: 30px;height: 15px;background: url(../../../assets/images/index/row-bg2.png) no-repeat;background-position: 0 -24px;}
-          }
-          .row1-t-r{padding-right: 20px;text-align: right;line-height: 50px;}
-        }
-
-        .row1-c{
-          display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between;margin-top: 10px;
-          .row1-c-l{
-            background: #fff;width:49%;height:225px;border-radius:3px;margin-right: 1%;position: relative;
-            .img-t{width:49%;height:38%;background: url(../../../assets/images/index/t1.png) no-repeat; background-size: 100% 100%;}
-          }
-          .row1-c-r{
-            background: #fff;width:49%;height:225px;border-radius:3px;position: relative;
-            .img-t{width:49%;height:38%;background: url(../../../assets/images/index/t2.png) no-repeat; background-size: 100% 100%;}
-          }
-        }
-        .row1-b{
-          display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between;margin-top: 10px;
-          .row1-b-l{
-            background: #fff;width:49%;height:225px;border-radius:3px;margin-right:1%;position: relative;
-            .img-t{width:49%;height:38%;background: url(../../../assets/images/index/t4.png) no-repeat; background-size: 100% 100%;}
-          }
-          .row1-b-r{
-            background: #fff;width:49%;height:225px;border-radius:3px;position: relative;
-            .img-t{width:49%;height:38%;background: url(../../../assets/images/index/t3.png) no-repeat; background-size: 100% 100%;}
-          }
-        }
-      }
-
-      .row2{
-        margin-top:10px;height: 375px;background: #fff;
-        .img-title{background-position: 0 0;}
-        .todayPlan{
-          display: flex; flex-direction: row;margin-top: 10px;
-          div{
-            flex: 1;position: relative;
-            .bottom{
-              width: 99%;height: 70px;background: #f9f9f9;margin: 30px auto 5px;display: flex; flex-direction: row;text-align: center;
-              div{
-                flex: 1;height: 42px;color: #333333;
-              }
-              .bottom-l{
-                border-right: 1px solid #e0e0e0;margin-top: 15px;width: 100%;
-                .bottom-l-t{
-                  height: 30px;
-                  b{font-size: 18px;}
-                }
-                .bottom-l-b{font-size: 12px;}
-              }
-              .bottom-r{
-                margin-top: 15px;width: 100%;
-                .bottom-r-t{height: 30px;padding-left: 10px;}
-                .bottom-r-b{padding-left: 10px;font-size: 12px;}
-              }
-            }
-          }
-        }
-      }
-      .row3{
-        margin-top:10px;height: 375px;background: #fff;
-        .img-title{background-position: 0 -90px;}
-      }
-    }
-    .dashboard-r{
-      margin-left: 10px;flex:1;
-      .row1{
-        height: 520px;background: #fff;
-        .img-title{background-position: 0 -240px;}
-        #row2chartLine3{height: 270px;margin-top: 10px;}
-        .carsLength{
-          padding: 13px 0 0 22px;line-height: 38px;font-size: 18px;font-weight: 700;
-        }
-        .car{
-          height: 140px;position: relative;
-          .iconLeft{width:32px;height:32px;position:absolute;top:46px;left:15px; z-index:1;}
-          .iconRight{width:32px;height:32px;position:absolute;top:46px;right: 20px ;z-index:1;}
-          .carList{
-            padding:0 30px;height: 120px;overflow: hidden;display: flex;
-            .listW{
-              background: #f3f9f7;
-              float: left;
-              // flex: 1 1;
-              margin: 0 5px;position: relative;width: 50%;
-              .list{
-                width: 100%;height: 100%;border-radius: 5px;border:1px solid #000;
-                .list-t{
-                  display: flex;border-bottom: 1px solid #f1f1f1;
-                  .list-t-t{
-                    flex: 1 1;width: 0;font-size: 12px;line-height: 22px;padding: 25px 5px 15px;text-align: center;
-                    span{ display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
-                  }
-                }
-                .list-b{
-                  display: flex; text-align: center;margin-top: 14px;color: #323232;
-                  .list-b-l{
-                    flex: 1;width: 0; height: 40px; position: relative;
-                    .left{
-                      .num{
-                        font-size: 12px;
-                        b{font-size: 12px;}
-                      }
-                      .weight{font-size: 12px;}
-                    }
-                    .right{
-                      height: 30px;width: 1px;background: #e0e0e0;position: absolute;right: 0;top: 0;bottom: 0;margin-top:auto;margin-bottom:auto
-                    }
-                  }
-                }
-              }
-              .img-checked{width: 30px;height: 28px;position: absolute;top: 0;right: 0;background: url(../../../assets/images/index/row-r6.png);}
-            }
-          }
-        }
-      }
-
-      .row2{
-        margin-top:10px;height: 375px;
-        display: flex; flex-direction: row;
-        .row2-l{
-          margin-right: 10px; background: #fff;height:375px;border-radius:3px;flex: 1;
-          .img-title{background-position: 0 -30px;}
-        }
-        .row2-r{
-           background: #fff;height:375px;border-radius:3px;flex: 1;
-          .img-title{background-position: 0 -60px;}
-        }
-      }
-
-      .row3{
-        margin-top:10px;height: 375px;
-        display: flex; flex-direction: row;
-        .row3-l{
-          margin-right: 10px; background: #fff;height:375px;border-radius:3px;flex: 1;
-          .img-title{background-position: 0 -120px;}
-        }
-        .row3-r{
-           background: #fff;height:375px;border-radius:3px;flex: 1;
-          .img-title{background-position: 0 -150px;}
-        }
-      }
-
-    }
-  }
-</style>
+<template>
+  <div ref="dashboardEditor" class="dashboard-editor-container">
+    <div class="dashboard" style="margin-bottom: 10px;">
+      <div class="dashboard-l">
+        <div class="row1">
+          <div class="row1-t">
+            <div class="row1-t-l">
+              <div class="img-l" />
+              <span class="content">暂无消息通知</span>
+              <!-- <div class="img-r" /> -->
+            </div>
+            <div class="row1-t-r">{{ date }}</div>
+          </div>
+          <div class="row1-c">
+            <div class="row1-c-l">
+              <div class="title1">
+                <div class="img-title">
+                  <img src="../../../assets/images/index/l1.png">
+                </div>
+                <span class="content">混料准确率</span>
+              </div>
+              <div class="row1-c-l-c">
+                <span>
+                  <b>{{ row1.list.yesRateHL }}</b>
+                  <br>昨日
+                </span>
+              </div>
+              <div class="row1-c-l-b">
+                <div><span>近30天混料准确率:</span><b>{{ row1.list.monRateHL }}</b></div>
+              </div>
+            </div>
+            <div class="row1-c-r">
+              <div class="title1">
+                <div class="img-title">
+                  <img src="../../../assets/images/index/l4.png">
+                </div>
+                <span class="content">撒料准确率</span>
+              </div>
+              <div class="row1-c-l-c">
+                <span>
+                  <b>{{ row1.list.yesRateSL }}</b>
+                  <br>昨日
+                </span>
+              </div>
+              <div class="row1-c-l-b">
+                <div><span>近30天撒料准确率:</span><b>{{ row1.list.monRateSL }}</b></div>
+              </div>
+            </div>
+          </div>
+          <div class="row1-b">
+            <div class="row1-b-l">
+              <div class="title1">
+                <div class="img-title">
+                  <img src="../../../assets/images/index/l3.png">
+                </div>
+                <span class="content">撒料正确率</span>
+              </div>
+              <div class="row1-c-l-c">
+                <span>
+                  <b>{{ row1.list.yesRateSLR }}</b>
+                  <br>昨日
+                </span>
+              </div>
+              <div class="row1-c-l-b">
+                <div><span>近30天撒料正确率:</span><b>{{ row1.list.monRateSLR }}</b></div>
+              </div>
+            </div>
+            <div class="row1-b-r">
+              <div class="title1">
+                <div class="img-title">
+                  <img src="../../../assets/images/index/l2.png">
+                </div>
+                <span class="content">撒料偏差</span>
+              </div>
+              <div class="row1-c-l-c">
+                <span>
+                  <b>{{ row1.list.temtime }}</b>
+                  <br>昨日
+                </span>
+              </div>
+              <div class="row1-c-l-b">
+                <div><span>近30天撒料偏差:</span><b>{{ row1.list.montime }}</b>分钟</div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="row2">
+          <div class="title">
+            <div class="img-title" />
+            <span class="content">今日计划统计</span>
+          </div>
+          <div class="todayPlan">
+            <div>
+              <div id="row2chartLine1" style="height: 185px;" />
+              <div class="bottom">
+                <div class="bottom-l">
+                  <div class="bottom-l-t">
+                    <b>{{ row2.chart1.chartLine_data.data1 }}</b>次
+                  </div>
+                  <div class="bottom-l-b">
+                    完成车次
+                  </div>
+                </div>
+                <div class="bottom-r">
+                  <div class="bottom-r-t">
+                    <b>{{ row2.chart1.chartLine_data.data2 }}</b>次
+                  </div>
+                  <div class="bottom-r-b">
+                    计划车次
+                  </div>
+                </div>
+              </div>
+            </div>
+            <div>
+              <div id="row2chartLine2" style="height: 185px;" />
+              <div class="bottom">
+                <div class="bottom-l">
+                  <div class="bottom-l-t">
+                    <b>{{ row2.chart2.chartLine_data.data1 }}</b>kg
+                  </div>
+                  <div class="bottom-l-b">
+                    完成重量
+                  </div>
+                </div>
+                <div class="bottom-r">
+                  <div class="bottom-r-t">
+                    <b>{{ row2.chart2.chartLine_data.data2 }}</b>kg
+                  </div>
+                  <div class="bottom-r-b">
+                    计划重量
+                  </div>
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+
+        <div class="row3" style="position: relative;">
+          <div class="title">
+            <div class="img-title" />
+            <span class="content">成本统计</span>
+          </div>
+          <div v-if="row4.chart1.isChart" class="button">
+            <div class="exportTable" @click="handleExport('row4chartLine1')">导出</div>
+            <div class="exportTable" @click="handleTable('row4chartLine1')">切换表格</div>
+          </div>
+          <div v-if="row4.chart1.isChart" id="row4chartLine1" v-loading="row4.chart1.listLoading" style="background: #fff;height:310px;" />
+          <div v-if="row4.chart1.isTable" class="table" style="position: absolute;width: 100%;">
+            <div class="button">
+              <div class="exportTable" @click="handleExport('row4chartLine1')">导出</div>
+              <div class="exportTable" @click="handleChart('row4chartLine1')">切换图表</div>
+            </div>
+            <el-table
+              :key="row4.chart1.table.tableKey"
+              v-loading="row4.chart1.table.listLoading"
+              element-loading-text="给我一点时间"
+              :data="row4.chart1.table.list"
+              border
+              fit
+              highlight-current-row
+              style="width: 100%;margin-top: 10px;"
+              height="300"
+              :row-style="rowStyle"
+              :cell-style="cellStyle"
+              class="elTable table-fixed"
+            >
+              <el-table-column label="日期" sortable min-width="110px" align="center" prop="日期" />
+              <el-table-column label="单头牛饲料成本" sortable min-width="110px" align="center" prop="field2" />
+              <el-table-column label="公斤奶饲料成本(元)" sortable min-width="120px" align="center" prop="field1" />
+            </el-table>
+          </div>
+        </div>
+      </div>
+      <div class="dashboard-r">
+        <div class="row1">
+          <div class="title">
+            <div class="img-title" />
+            <span class="content">实时监控</span>
+          </div>
+          <div v-if="carLength>0" id="row2chartLine3" ref="row2chartLine3" style="height: 260px;" />
+          <div v-else style="height: 260px;text-align: center;line-height: 260px;">当前无正在进行中车次 </div>
+          <div class="carsLength">当前车辆:<span>{{ carLength }}</span></div>
+          <div id="car" ref="car" v-loading="row2.chart3.listLoading2" class="car">
+            <div ref="iconLeft" class="iconLeft" @click="handleLeft">
+              <img v-if="row2.chart3.isLeft" src="../../../assets/images/index/row-r3.png" class="img-title">
+              <img v-if="row2.chart3.isLeftA" src="../../../assets/images/index/row-r2.png" class="img-title">
+            </div>
+            <div id="carList" ref="carList" class="carList">
+              <div v-for="(item,index) in list" ref="listW" :key="index" class="listW">
+                <div ref="list" class="list" :style="{'background': item.background,'color':item.color,'borderColor':item.borderColor}" @click="handleList(index,item)">
+                  <div class="list-t">
+                    <div class="list-t-t">
+                      <el-tooltip :content="item.tname" placement="top">
+                        <span>车辆:{{ item.tname }}</span>
+                      </el-tooltip>
+                    </div>
+                    <div class="list-t-t">
+                      <el-tooltip :content="item.fname" placement="top">
+                        <span v-if="item.inorout == 0">饲料:{{ item.fname }}</span>
+                        <span v-if="item.inorout == 1">栏舍:{{ item.fname }}</span>
+                      </el-tooltip>
+                    </div>
+                    <div class="list-t-t">
+                      <el-tooltip :content="item.remark" placement="top">
+                        <span>描述:{{ item.remark }}</span>
+                      </el-tooltip>
+                    </div>
+                  </div>
+
+                  <div class="list-b">
+                    <div class="list-b-l">
+                      <div class="left">
+                        <div class="num"><b>{{ item.doneweight }}</b>Kg</div>
+                        <div class="weight">完成重量</div>
+                      </div>
+                      <div class="right" />
+                    </div>
+                    <div class="list-b-l">
+                      <div class="left">
+                        <div class="num"><b>{{ item.leftweight }}</b>Kg</div>
+                        <div class="weight">剩余重量</div>
+                      </div>
+                      <div class="right" />
+                    </div>
+                    <div class="list-b-l">
+                      <div class="left">
+                        <div class="num"><b>{{ item.nowweight }}</b>Kg</div>
+                        <div class="weight">车辆当前载重</div>
+                      </div>
+                      <div class="right" />
+                    </div>
+                    <div class="list-b-l">
+                      <div class="left">
+                        <div class="num"><b>{{ item.lweight }}</b>Kg</div>
+                        <div class="weight">计划重量</div>
+                      </div>
+                      <div class="right" />
+                    </div>
+                    <div class="list-b-l">
+                      <div class="left">
+                        <div class="num"><b>{{ item.donerate }}</b></div>
+                        <div class="weight">完成度</div>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+                <div v-if="item.isChecked" ref="checked" class="img-checked" />
+              </div>
+            </div>
+            <div ref="iconRight" class="iconRight" @click="handleRight">
+              <img v-if="row2.chart3.isRightA" src="../../../assets/images/index/row-r5.png" class="img-title">
+              <img v-if="row2.chart3.isRight" src="../../../assets/images/index/row-r4.png" class="img-title">
+            </div>
+          </div>
+
+        </div>
+        <div class="row2">
+          <div class="row2-l" style="position: relative;">
+            <div class="title">
+              <div class="img-title" />
+              <span class="content">计划统计</span>
+            </div>
+            <div v-if="row3.chart1.isChart" class="button">
+              <div class="exportTable" @click="handleExport('row3chartLine1')">导出</div>
+              <div class="exportTable" @click="handleTable('row3chartLine1')">切换表格</div>
+            </div>
+            <div v-if="row3.chart1.isChart" id="row3chartLine1" v-loading="row3.chart1.listLoading" style="background: #fff;height:310px;" />
+            <div v-if="row3.chart1.isTable" class="table" style="position: absolute;width: 100%;">
+              <div class="button">
+                <div class="exportTable" @click="handleExport('row3chartLine1')">导出</div>
+                <div class="exportTable" @click="handleChart('row3chartLine1')">切换图表</div>
+              </div>
+              <el-table
+                :key="row3.chart1.table.tableKey"
+                v-loading="row3.chart1.table.listLoading"
+                element-loading-text="给我一点时间"
+                :data="row3.chart1.table.list"
+                border
+                fit
+                highlight-current-row
+                style="width: 100%;margin-top: 10px;"
+                height="300"
+                :row-style="rowStyle"
+                :cell-style="cellStyle"
+                class="elTable table-fixed"
+              >
+                <el-table-column label="日期" sortable min-width="85px" align="center" prop="日期" />
+                <el-table-column label="计划执行重量(kg)" sortable min-width="90px" align="center" prop="实际量" />
+                <el-table-column label="配方理论重量(kg)" sortable min-width="90px" align="center" prop="理论量" />
+                <el-table-column label="计划准确率" sortable min-width="85px" align="center" prop="field1" />
+                <el-table-column label="计划取消重量(kg)" sortable min-width="90px" align="center" prop="计划取消重量" />
+                <el-table-column label="计划准确率(去除取消重量)" sortable min-width="100px" align="center" prop="field3" />
+                <el-table-column label="计划正确数" sortable min-width="85px" align="center" prop="正确数" />
+                <el-table-column label="计划数" sortable min-width="85px" align="center" prop="计划数" />
+                <el-table-column label="计划正确率" sortable min-width="75px" align="center" prop="field2" />
+              </el-table>
+            </div>
+          </div>
+          <div class="row2-r" style="position: relative;">
+
+            <div class="title">
+              <div class="img-title" />
+              <span class="content">混料实际重量统计</span>
+            </div>
+            <div v-if="row4.chart2.isChart" class="button">
+              <div class="exportTable" @click="handleExport('row4chartLine2')">导出</div>
+              <div class="exportTable" @click="handleTable('row4chartLine2')">切换表格</div>
+            </div>
+            <div v-if="row4.chart2.isChart" id="row4chartLine2" v-loading="row4.chart2.listLoading" style="background: #fff;height:310px;" />
+            <div v-if="row4.chart2.isTable" class="table" style="position: absolute;width:100%;">
+              <div class="button">
+                <div class="exportTable" @click="handleExport('row4chartLine2')">导出</div>
+                <div class="exportTable" @click="handleChart('row4chartLine2')">切换图表</div>
+              </div>
+              <el-table
+                :key="row4.chart2.table.tableKey"
+                v-loading="row4.chart2.table.listLoading"
+                element-loading-text="给我一点时间"
+                :data="row4.chart2.table.list"
+                border
+                fit
+                highlight-current-row
+                style="width: 100%;margin-top: 10px;"
+                height="300"
+                :row-style="rowStyle"
+                :cell-style="cellStyle"
+                class="elTable table-fixed"
+              >
+                <el-table-column label="日期" sortable min-width="110px" align="center" prop="日期" />
+                <el-table-column label="重量" sortable min-width="110px" align="center" prop="field1" />
+              </el-table>
+            </div>
+
+
+
+          </div>
+
+        </div>
+        <div class="row3">
+          <div class="row3-l" style="position: relative;">
+
+            <div class="title">
+              <div class="img-title" />
+              <span class="content">泌乳牛干物质采食量</span>
+            </div>
+            <div v-if="row3.chart2.isChart" class="button">
+              <div class="exportTable" @click="handleExport('row3chartLine2')">导出</div>
+              <div class="exportTable" @click="handleTable('row3chartLine2')">切换表格</div>
+            </div>
+            <div v-if="row3.chart2.isChart" id="row3chartLine2" v-loading="row3.chart2.listLoading" style="background: #fff;height:310px;" />
+            <div v-if="row3.chart2.isTable" class="table" style="position: absolute;width: 100%;">
+              <div class="button">
+                <div class="exportTable" @click="handleExport('row3chartLine2')">导出</div>
+                <div class="exportTable" @click="handleChart('row3chartLine2')">切换图表</div>
+              </div>
+              <el-table
+                :key="row3.chart2.table.tableKey"
+                v-loading="row3.chart2.table.listLoading"
+                element-loading-text="给我一点时间"
+                :data="row3.chart2.table.list"
+                border
+                fit
+                highlight-current-row
+                style="width: 100%;margin-top: 10px;"
+                height="300"
+                :row-style="rowStyle"
+                :cell-style="cellStyle"
+                class="elTable table-fixed"
+              >
+                <el-table-column label="日期" sortable min-width="110px" align="center" prop="日期" />
+                <el-table-column label="泌乳牛采食量(kg)" sortable min-width="110px" align="center" prop="field1" />
+                <el-table-column label="泌乳牛产奶量(kg)" sortable min-width="110px" align="center" prop="field2" />
+              </el-table>
+            </div>
+
+          </div>
+          <div class="row3-r">
+            <div class="title">
+              <div class="img-title" />
+              <span class="content">库存预警</span>
+              <a style="float: right;color: #c88d42;font-size: 12px;margin-right: 10px;" @click="handleMore">查看更多 &nbsp;>></a>
+            </div>
+            <div id="table" style="height: 330px;background: #fff;">
+              <el-table
+                :key="row4.table.tableKey"
+                v-loading="row4.table.listLoading"
+                element-loading-text="给我一点时间"
+                :data="row4.table.list"
+                border
+                fit
+                highlight-current-row
+                style="width: 98%;background: #fff;margin-top: 10px;"
+                height="320"
+                :row-style="rowStyle"
+                :cell-style="cellStyle"
+                class="elTable table-fixed"
+              >
+                <el-table-column label="序号" type="index" min-width="80px" align="center" />
+                <el-table-column label="饲料名称" min-width="80px" align="center" prop="feedname" />
+                <el-table-column label="库存量(kg)" min-width="70px" align="center" prop="stockweight" />
+                <el-table-column label="剩余使用天数" min-width="80px" align="center" prop="ldays" />
+              </el-table>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { GetDataByName, GetReportform } from '@/api/common'
+import Cookies from 'js-cookie'
+import { parseTime } from '@/utils/index.js'
+import echarts from 'echarts'
+import { json2excel } from '@/utils/index.js'
+
+require('echarts/theme/macarons')
+// var myKey = 0
+var that = this
+var carIndex = 0 // 判断是否大于当前车辆数
+var index = 0 // 判断当前跳到第几个车辆
+var timer = null
+export default {
+  name: 'PastureDashboard',
+  inject: ['reload'],
+  data() {
+    return {
+      val: '这是值1',
+      date: parseTime(new Date(), '{y}-{m}-{d}'),
+      list: [],
+      news: 1,
+      carLength: 0, // 车辆
+      myKey: 0, // 轮播Key值
+      row1: {
+        getdataListParm: {
+          name: 'getHomepageStr',
+          page: 1,
+          offset: 1,
+          pagecount: 10,
+          returntype: 'Map',
+          parammaps: {
+            pastureid: Cookies.get('pastureid')
+          }
+        },
+        listLoading: true,
+        list: ''
+      },
+      row2: {
+        chart1: {
+          chartLine: null,
+          chartLine_data: {}
+        },
+        chart2: {
+          chartLine: null,
+          chartLine_data: {}
+        },
+        chart3: {
+          isLeft: true,
+          isRight: true,
+          chartLine: null,
+          chartLine_data: {},
+          getdataListParm: {
+            name: 'getHomeprocessAnalysis',
+            page: 1,
+            offset: 1,
+            pagecount: 2,
+            returntype: 'Map',
+            parammaps: {
+              pastureid: Cookies.get('pastureid'),
+              id: '',
+              pid: ''
+            }
+          },
+          list: [],
+          total: 0,
+          listLoading: true,
+          pageNum: '',
+          pages: '',
+          getdataListParmList: {
+            name: 'getHomepageLBList',
+            page: 1,
+            offset: 1,
+            pagecount: 2,
+            returntype: 'Map',
+            parammaps: {
+              pastureid: Cookies.get('pastureid')
+            }
+          },
+          list2: [],
+          total2: 0,
+          listLoading2: true,
+          pageNum2: '',
+          pages2: ''
+        }
+      },
+      row3: {
+        chartDate: [],
+        chart1: {
+          chartLine: null,
+          chartLine_data: {},
+          getdataListParm: {
+            name: 'getAccuracyAllJH',
+            page: 1,
+            offset: 1,
+            pagecount: 10,
+            returntype: 'Map',
+            parammaps: {
+              pastureid: Cookies.get('pastureid'),
+              startTime: parseTime(new Date(), '{y}-{m}-{d}'),
+              stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
+              inputDatetime: [new Date(), new Date()]
+            }
+          },
+          list: [],
+          total: 0,
+          listLoading: true,
+          isChart: true,
+          isTable: false,
+          table: {
+            tableKey: 1,
+            list: [],
+            total: 0,
+            listLoading: false
+          }
+        },
+        chart2: {
+          chartLine: null,
+          chartLine_data: {},
+          getdataListParm: {
+            name: 'getFeedEffMR',
+            page: 1,
+            offset: 1,
+            pagecount: 10,
+            returntype: 'Map',
+            parammaps: {
+              pastureid: Cookies.get('pastureid'),
+              startTime: parseTime(new Date(), '{y}-{m}-{d}'),
+              stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
+              inputDatetime: [new Date(), new Date()]
+            }
+          },
+          list: [],
+          total: 0,
+          listLoading: true,
+          isChart: true,
+          isTable: false,
+          table: {
+            tableKey: 1,
+            list: [],
+            total: 0,
+            listLoading: false
+          }
+        }
+      },
+      row4: {
+        chartDate: [],
+        chart1: {
+          chartLine: null,
+          chartLine_data: {},
+          getdataListParm: {
+            name: 'getHomepageCB',
+            page: 1,
+            offset: 1,
+            pagecount: 10,
+            returntype: 'Map',
+            parammaps: {
+              pastureid: Cookies.get('pastureid'),
+              startTime: parseTime(new Date(), '{y}-{m}-{d}'),
+              stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
+              inputDatetime: [new Date(), new Date()]
+            }
+          },
+          list: [],
+          total: 0,
+          listLoading: true,
+          isChart: true,
+          isTable: false,
+          table: {
+            tableKey: 1,
+            list: [],
+            total: 0,
+            listLoading: false
+          }
+        },
+        chart2: {
+          chartLine: null,
+          chartLine_data: {},
+          getdataListParm: {
+            name: 'getAccuraaActHL',
+            page: 1,
+            offset: 1,
+            pagecount: 10,
+            returntype: 'Map',
+            parammaps: {
+              pastureid: Cookies.get('pastureid'),
+              startTime: parseTime(new Date(), '{y}-{m}-{d}'),
+              stopTime: parseTime(new Date(), '{y}-{m}-{d}'),
+              inputDatetime: [new Date(), new Date()]
+            }
+          },
+          list: [],
+          total: 0,
+          listLoading: true,
+          isChart: true,
+          isTable: false,
+          table: {
+            tableKey: 1,
+            list: [],
+            total: 0,
+            listLoading: false
+          }
+        },
+        table: {
+          getdataListParm: {
+            name: 'getFsWarnList',
+            page: 1,
+            offset: 1,
+            pagecount: 5,
+            returntype: 'Map',
+            parammaps: {
+              pastureid: Cookies.get('pastureid')
+            }
+          },
+          tableKey: 1,
+          list: [],
+          total: 0,
+          listLoading: true,
+          temp: {}
+        }
+      },
+      rowStyle: { maxHeight: 30 + 'px', height: 30 + 'px' },
+      cellStyle: { padding: 0 + 'px' },
+      timer: null,
+      clickKey: 0,
+      isClick: false
+    }
+  },
+  watch: {
+    isClick: {
+      handler(newName, oldName) {
+        if (newName == true) {
+          setTimeout(() => {
+            this.timer = setInterval(this.autoPlay, 15000)
+          }, 20000)
+        }
+      },
+      immediate: true
+    }
+  },
+  created() {
+    // this.reload()
+    this.getCarLength()
+    this.getChart3List()
+    this.getTimeFn()
+    this.getList()
+
+    this.getChart4()
+    this.getChart5()
+    this.getChart6()
+    this.getChart7()
+    this.getTable8()
+  },
+  mounted() {
+    this.timer = null
+    this.timer = setInterval(this.autoPlay, 15000)
+  },
+  destroyed() {
+    clearInterval(this.timer)
+  },
+  methods: {
+    getTimeFn() {
+      // this.reload()
+      const that = this
+      const end = new Date()
+      const start = new Date()
+      start.setTime(start.getTime() - 3600 * 1000 * 24 * 20)
+      that.row3.chartDate[0] = parseTime(start, '{y}-{m}-{d}')
+      that.row3.chartDate[1] = parseTime(end, '{y}-{m}-{d}')
+      that.row3.chart1.getdataListParm.parammaps.inputDatetime[0] = parseTime(start, '{y}-{m}-{d}')
+      that.row3.chart1.getdataListParm.parammaps.inputDatetime[1] = parseTime(end, '{y}-{m}-{d}')
+      that.row3.chart1.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}')
+      that.row3.chart1.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}')
+
+      that.row3.chart2.getdataListParm.parammaps.inputDatetime[0] = parseTime(start, '{y}-{m}-{d}')
+      that.row3.chart2.getdataListParm.parammaps.inputDatetime[1] = parseTime(end, '{y}-{m}-{d}')
+      that.row3.chart2.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}')
+      that.row3.chart2.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}')
+
+      that.row4.chartDate[0] = parseTime(start, '{y}-{m}-{d}')
+      that.row4.chartDate[1] = parseTime(end, '{y}-{m}-{d}')
+      that.row4.chart1.getdataListParm.parammaps.inputDatetime[0] = parseTime(start, '{y}-{m}-{d}')
+      that.row4.chart1.getdataListParm.parammaps.inputDatetime[1] = parseTime(end, '{y}-{m}-{d}')
+      that.row4.chart1.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}')
+      that.row4.chart1.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}')
+
+      that.row4.chart2.getdataListParm.parammaps.inputDatetime[0] = parseTime(start, '{y}-{m}-{d}')
+      that.row4.chart2.getdataListParm.parammaps.inputDatetime[1] = parseTime(end, '{y}-{m}-{d}')
+      that.row4.chart2.getdataListParm.parammaps.startTime = parseTime(start, '{y}-{m}-{d}')
+      that.row4.chart2.getdataListParm.parammaps.stopTime = parseTime(end, '{y}-{m}-{d}')
+    },
+    getList() {
+      this.row1.listLoading = true
+      GetDataByName(this.row1.getdataListParm).then(response => {
+        if (response.data !== null && response.data.list !== null) {
+          console.log('row1数据', response.data.list)
+          if (response.data.list[0].monRateHL == undefined) { response.data.list[0].monRateHL = '' }
+          if (response.data.list[0].monRateSL == undefined) { response.data.list[0].monRateSL = '' }
+          if (response.data.list[0].monRateSLR == undefined) { response.data.list[0].monRateSLR = '' }
+          if (response.data.list[0].yesRateHL == undefined) { response.data.list[0].yesRateHL = '' }
+          if (response.data.list[0].yesRateHL == undefined) { response.data.list[0].yesRateHL = '' }
+          if (response.data.list[0].yesRateSL == undefined) { response.data.list[0].yesRateSL = '' }
+          if (response.data.list[0].yesRateSLR == undefined) { response.data.list[0].yesRateSLR = '' }
+          if (response.data.list[0].temtime == undefined) { response.data.list[0].temtime = '' }
+          if (response.data.list[0].montime == undefined) { response.data.list[0].montime = '' }
+          this.row1.list = response.data.list[0]
+          this.row2.chart1.chartLine_data.data1 = parseFloat(response.data.list[0].doneTimes)
+          this.row2.chart1.chartLine_data.data2 = parseFloat(response.data.list[0].planTimes)
+          this.row2.chart2.chartLine_data.data1 = parseFloat(response.data.list[0].doneWeight)
+          this.row2.chart2.chartLine_data.data2 = parseFloat(response.data.list[0].planWeight)
+
+          this.roadChartLine1(this.row2.chart1.chartLine_data)
+          this.roadChartLine2(this.row2.chart2.chartLine_data)
+        } else {
+          this.row1.list.data1.monRateHL = ''
+          this.row1.list.data1.monRateSL = ''
+          this.row1.list.data1.monRateSLR = ''
+          this.row1.list.data1.yesRateHL = ''
+          this.row1.list.data1.yesRateSL = ''
+          this.row1.list.data1.yesRateSLR = ''
+          this.row1.list.data1.temtime = ''
+          this.row1.list.data1.montime = ''
+          this.row2.chart1.chartLine_data.data1 = ''
+          this.row2.chart1.chartLine_data.data2 = ''
+          this.row2.chart2.chartLine_data.data1 = ''
+          this.row2.chart2.chartLine_data.data2 = ''
+        }
+        setTimeout(() => {
+          this.row1.listLoading = false
+        }, 100)
+      })
+    },
+    // 今日计划统计-完成车次
+    roadChartLine1(chartLine_data) {
+      console.log('chartLine_data', chartLine_data)
+      if (this.row2.chart1.chartLine != null) {
+        this.row2.chart1.chartLine.dispose()
+      }
+      this.row2.chart1.chartLine = echarts.init(document.getElementById('row2chartLine1'))
+      if (chartLine_data.data2 == 0 || chartLine_data.data1 == 0) {
+        chartLine_data.data1 = 0
+        chartLine_data.data2 = 100
+      }
+      var option = {
+        title: { show: true, x: 'center', textStyle: { fontSize: '15', color: 'green', fontWeight: 'bold' }},
+        tooltip: { show: false, trigger: 'item', formatter: '{a} <br/>{b}: {c} ({d}%)' },
+        color: ['#1bbe89', '#e4e7ec'],
+        series: [{
+          name: '任务进度', type: 'pie', radius: ['80%', '70%'], avoidLabelOverlap: false, hoverAnimation: false, labelLine: { normal: { show: false }},
+          data: [{
+            value: chartLine_data.data1, name: '车次完成率', selected: false, // 单个扇区的标签配置
+            label: { normal: { show: true, position: 'center', fontSize: 20, formatter: '{b}\n{d}%' }}
+          }, {
+            value: chartLine_data.data2 - chartLine_data.data1,
+            label: { normal: { show: false }
+            }
+          }]
+        }]
+      }
+      this.row2.chart1.chartLine.setOption(option)
+      if (this.row2.chart1.chartLine != null) {
+        window.onresize = function() {
+          this.row2.chart1.chartLine.resize()
+        }
+      }
+      var that = this
+      that.row2.chart1.chartLine.on('mouseover', e => {
+        const op = that.row2.chart1.chartLine.getOption()
+        that.row2.chart1.chartLine.dispatchAction({
+          type: 'downplay',
+          seriesIndex: 0,
+          dataIndex: e.dataIndex,
+          color: e.color
+        })
+        that.row2.chart1.chartLine.setOption(op, true)
+      })
+    },
+    // 今日计划统计-完成重量
+    roadChartLine2(chartLine_data) {
+      if (this.row2.chart2.chartLine != null) {
+        this.row2.chart2.chartLine.dispose()
+      }
+      this.row2.chart2.chartLine = echarts.init(document.getElementById('row2chartLine2'))
+      if (chartLine_data.data2 == 0 || chartLine_data.data1 == 0) {
+        chartLine_data.data1 = 0
+        chartLine_data.data2 = 100
+      }
+      var option = {
+        title: { show: true, x: 'center', textStyle: { fontSize: '15', color: 'green', fontWeight: 'bold' }},
+        tooltip: { show: false, trigger: 'item', formatter: '{a} <br/>{b}: {c} ({d}%)' },
+        series: [{
+          name: '任务进度', type: 'pie', radius: ['80%', '70%'], avoidLabelOverlap: false, hoverAnimation: false,
+          labelLine: { normal: { show: false }},
+          data: [{
+            value: chartLine_data.data1, name: '重量完成率', selected: false, label: { normal: { show: true, position: 'center', fontSize: 20, formatter: '{b}\n{d}%' }}
+          }, {
+            value: chartLine_data.data2 - chartLine_data.data1, label: { normal: { show: false }}
+          }]
+        }],
+        color: ['#529ae4', '#e4e7ec']
+      }
+      this.row2.chart2.chartLine.setOption(option)
+      if (this.row2.chart2.chartLine != null) {
+        window.onresize = function() {
+          this.row2.chart2.chartLine.resize()
+        }
+      }
+      var that = this
+      that.row2.chart2.chartLine.on('mouseover', e => {
+        const op = that.row2.chart2.chartLine.getOption()
+        that.row2.chart2.chartLine.dispatchAction({
+          type: 'downplay',
+          seriesIndex: 0,
+          dataIndex: e.dataIndex,
+          color: e.color
+        })
+        that.row2.chart2.chartLine.setOption(op, true)
+      })
+    },
+
+    // 实时监控
+    getChart3() {
+      this.row2.chart3.listLoading = true
+      GetReportform(this.row2.chart3.getdataListParm).then(response => {
+        console.log('实时监控数据', response.data.list)
+        if (response.data !== null && response.data.list !== null) {
+          var evenNumbers = []// 偶数
+          var oddNumbers = []// 奇数
+          for (let i = 0; i < response.data.list.data4.length; i++) {
+            if (i == 0) {
+              oddNumbers.push(response.data.list.data4[i])
+            } else {
+              if (i % 2 == 0) {
+                evenNumbers.push(response.data.list.data4[i])
+              } else {
+                oddNumbers.push(response.data.list.data4[i])
+              }
+            }
+          }
+          response.data.list.data4 = oddNumbers
+          response.data.list.data5 = evenNumbers
+          this.row2.chart3.chartLine_data = response.data.list
+          this.row2.chart3.total = response.data.total
+          this.row2.chart3.pageNum = response.data.pageNum
+          this.row2.chart3.pages = response.data.pages
+          this.roadChartLine3(this.row2.chart3.chartLine_data)
+        } else {
+          this.row2.chart3.list = []
+          this.row2.chart3.chartLine_data = []
+          this.roadChartLine3(this.row2.chart3.chartLine_data)
+        }
+        setTimeout(() => {
+          this.row2.chart3.listLoading = false
+        }, 100)
+      })
+    },
+    roadChartLine3(chartLine_data) {
+      console.log(chartLine_data, 'chartLine_data666')
+      if (this.row2.chart3.chartLine != null) {
+        this.row2.chart3.chartLine.dispose()
+      }
+      this.row2.chart3.chartLine = echarts.init(document.getElementById('row2chartLine3'))
+      var option = {
+        title: {
+          text: '',
+          subtext: ''
+        },
+        color: ['#ff0000', '#5199e5', '#fdb06a', '#fb8b73'], // 关键加上这句话,legend的颜色和折线的自定义颜色就一致了
+        grid: {
+          bottom: '10%'
+        },
+        legend: [{
+          itemWidth: 15, itemHeight: 7, right: '25%', textStyle: { fontSize: 12 },
+          data: [{ name: '设计重量' }, { name: '实际重量' }]
+        }, {
+          itemWidth: 15, itemHeight: 15, right: '0', textStyle: { fontSize: 12 },
+          data: [{ name: '开始重量', icon: 'image://https://kptyun.cn:8081/file/pic/3.png' }, { name: '结束重量', icon: 'image://https://kptyun.cn:8081/file/pic/4.png' }]
+        }],
+        tooltip: {
+          trigger: 'axis'
+        },
+        calculable: true,
+        yAxis: [
+          { type: 'value', name: '重量(kg)', splitLine: { show: false }, axisLabel: { show: true, textStyle: { color: '#666' }}}
+        ],
+        xAxis: [
+          { type: 'category', splitLine: { show: false }, name: '时间', data: chartLine_data.data1, axisLabel: { show: true, textStyle: { color: '#666' }}}
+        ],
+        toolbox: {
+          show: false,
+          feature: {
+            dataZoom: { realtime: false, yAxisIndex: 'none', },
+            restore: {},
+          }
+        },
+        dataZoom:  [
+          {type: 'inside'},        //用于添加滚轮缩放
+          {type:'slider' },  //用于添加滑动条缩放,
+        ],
+        series: [
+          { symbol: 'none', name: '实际重量', type: 'line', data: chartLine_data.data3, itemStyle: { normal: { lineStyle: { color: '#ff0000' ,width:2}}}},
+          { symbol: 'none', name: '设计重量', type: 'line',  data: chartLine_data.data2, itemStyle: { normal: { lineStyle: {  width:2}}}},
+          { name: '开始重量', symbol: 'image://https://kptyun.cn:8081/file/pic/3.png', symbolSize: 6, type: 'scatter', data: chartLine_data.data4 },
+          { name: '结束重量', symbol: 'image://https://kptyun.cn:8081/file/pic/4.png', symbolSize: 6, type: 'scatter', data: chartLine_data.data5 }
+        ]
+      }
+      this.row2.chart3.chartLine.setOption(option)
+      if (this.row2.chart3.chartLine != null) {
+        window.onresize = function() {
+          this.row2.chart3.chartLine.resize()
+        }
+      }
+    },
+    getCarLength() {
+      this.row2.chart3.listLoading2 = true
+      this.row2.chart3.getdataListParmList.pagecount = 0
+      GetDataByName(this.row2.chart3.getdataListParmList).then(response => {
+        if (response.data.list !== null) {
+          this.carLength = response.data.total
+        } else {
+          this.carLength = 0
+        }
+        setTimeout(() => {
+          this.row2.chart3.listLoading2 = false
+        }, 100)
+      })
+    },
+    // 图三轮询列表
+    getChart3List() {
+      this.row2.chart3.listLoading2 = true
+      this.row2.chart3.getdataListParmList.pagecount = 2
+      GetDataByName(this.row2.chart3.getdataListParmList).then(response => {
+        if (response.data.list !== null) {
+          this.$set(response.data.list[0], 'background', '#f3f9f7')
+          this.$set(response.data.list[0], 'borderColor', '#009d6a')
+          this.$set(response.data.list[0], 'isChecked', true)
+          if (response.data.list.length > 1) {
+            this.$set(response.data.list[1], 'background', '#f9f9f9')
+            this.$set(response.data.list[1], 'borderColor', '#f9f9f9')
+            this.$set(response.data.list[1], 'isChecked', false)
+          }
+          this.list = response.data.list
+          this.row2.chart3.getdataListParm.parammaps.pid = this.list[this.myKey].pid
+          this.row2.chart3.getdataListParm.parammaps.id = this.list[this.myKey].id
+          this.getChart3()
+          this.row2.chart3.pageNum2 = response.data.pageNum
+          this.row2.chart3.pages2 = response.data.pages
+        } else {
+          this.row2.chart3.list2 = []
+        }
+        if (response.data.pageNum == 1) {
+          if (response.data.total > 2) {
+            this.row2.chart3.isLeftA = false
+            this.row2.chart3.isLeft = true
+            this.row2.chart3.isRightA = true
+            this.row2.chart3.isRight = false
+          } else {
+            this.row2.chart3.isLeftA = false
+            this.row2.chart3.isLeft = true
+            this.row2.chart3.isRightA = true
+            this.row2.chart3.isRight = false
+          }
+        } else {
+          if (response.data.pageNum * response.data.pageSize > response.data.total || response.data.pageNum * response.data.pageSize == response.data.total) {
+            this.row2.chart3.isLeftA = true
+            this.row2.chart3.isLeft = false
+            this.row2.chart3.isRightA = false
+            this.row2.chart3.isRight = true
+          } else {
+            this.row2.chart3.isLeftA = true
+            this.row2.chart3.isLeft = false
+            this.row2.chart3.isRightA = true
+            this.row2.chart3.isRight = false
+          }
+        }
+        setTimeout(() => {
+          this.row2.chart3.listLoading2 = false
+        }, 100)
+      })
+    },
+    // 向左切换
+    handleLeft() {
+      console.log('左')
+      if (this.row2.chart3.isLeftA == false) {
+        console.log('前边没有啦')
+      } else {
+        console.log(this.row2.chart3.getdataListParmList.offset)
+        this.row2.chart3.getdataListParmList.offset = this.row2.chart3.getdataListParmList.offset - 1
+        this.getChart3List()
+      }
+    },
+    // 向右切换
+    handleRight() {
+      if (this.row2.chart3.isRightA == false) {
+        console.log('后边没有啦')
+      } else {
+        this.row2.chart3.getdataListParmList.offset = this.row2.chart3.getdataListParmList.offset + 1
+        console.log(this.row2.chart3.getdataListParmList.offset)
+        this.getChart3List()
+      }
+    },
+    handleList(key, item) {
+      console.log(item, key)
+      this.isClick = true
+      this.clickKey = key
+      clearInterval(this.timer)
+      for (let i = 0; i < this.list.length; i++) {
+        if (key == i) {
+          this.$set(this.list[i], 'background', '#f3f9f7')
+          this.$set(this.list[i], 'borderColor', '#009d6a')
+          this.$set(this.list[i], 'isChecked', true)
+        } else {
+          this.$set(this.list[i], 'background', '#f9f9f9')
+          this.$set(this.list[i], 'borderColor', '#f9f9f9')
+          this.$set(this.list[i], 'isChecked', false)
+        }
+      }
+      this.row2.chart3.getdataListParm.parammaps.pid = this.list[key].pid
+      this.row2.chart3.getdataListParm.parammaps.id = this.list[key].id
+      this.getChart3()
+      // this.timer = null
+      // clearInterval(this.timer)
+      // setTimeout(() => {
+      //   this.timer = null
+      //   this.timer = setInterval(this.autoPlay, 15000)
+      // }, 20000)
+    },
+    autoPlay() {
+      if (this.list[0].isChecked == true) {
+        if (this.list.length > 1) {
+          this.$set(this.list[1], 'background', '#f3f9f7')
+          this.$set(this.list[1], 'borderColor', '#009d6a')
+          this.$set(this.list[1], 'isChecked', true)
+          this.$set(this.list[0], 'background', '#f9f9f9')
+          this.$set(this.list[0], 'borderColor', '#f9f9f9')
+          this.$set(this.list[0], 'isChecked', false)
+          this.row2.chart3.getdataListParm.parammaps.pid = this.list[1].pid
+          this.row2.chart3.getdataListParm.parammaps.id = this.list[1].id
+          this.getChart3()
+        } else {
+          if (this.row2.chart3.isRightA == false && this.row2.chart3.isLeftA == true) {
+            this.row2.chart3.getdataListParmList.offset = this.row2.chart3.getdataListParmList.offset - 1
+            this.getChart3List()
+          }
+        }
+      } else {
+        if (this.row2.chart3.isRightA == true) {
+          this.row2.chart3.getdataListParmList.offset = this.row2.chart3.getdataListParmList.offset + 1
+          console.log(this.row2.chart3.getdataListParmList.offset)
+          this.getChart3List()
+        } else {
+          if (this.row2.chart3.isLeftA == true) {
+            this.row2.chart3.getdataListParmList.offset = this.row2.chart3.getdataListParmList.offset - 1
+            console.log(this.row2.chart3.getdataListParmList.offset)
+            this.getChart3List()
+          } else {
+            this.$set(this.list[0], 'background', '#f3f9f7')
+            this.$set(this.list[0], 'borderColor', '#009d6a')
+            this.$set(this.list[0], 'isChecked', true)
+            this.$set(this.list[1], 'background', '#f9f9f9')
+            this.$set(this.list[1], 'borderColor', '#f9f9f9')
+            this.$set(this.list[1], 'isChecked', false)
+            this.row2.chart3.getdataListParm.parammaps.pid = this.list[0].pid
+            this.row2.chart3.getdataListParm.parammaps.id = this.list[0].id
+            this.getChart3()
+          }
+        }
+      }
+    },
+
+    // 计划统计
+    getChart4() {
+      this.row3.chart1.listLoading = true
+      GetReportform(this.row3.chart1.getdataListParm).then(response => {
+        if (response.data !== null && response.data.list !== null) {
+          console.log('计划统计数据', response.data.list)
+          for (let i = 0; i < response.data.data.length; i++) {
+            if (response.data.data[i].实际量 !== '' && response.data.data[i].实际量 !== undefined) {
+              response.data.data[i].实际量 = parseFloat(response.data.data[i].实际量)
+            }
+            if (response.data.data[i].理论量 !== '' && response.data.data[i].理论量 !== undefined) {
+              response.data.data[i].理论量 = parseFloat(response.data.data[i].理论量)
+            }
+            if (response.data.data[i].field1 !== '' && response.data.data[i].field1 !== undefined) {
+              response.data.data[i].field1 = parseFloat(response.data.data[i].field1)
+            }
+            if (response.data.data[i].计划取消重量 !== '' && response.data.data[i].计划取消重量 !== undefined) {
+              response.data.data[i].计划取消重量 = parseFloat(response.data.data[i].计划取消重量)
+            }
+            if (response.data.data[i].field3 !== '' && response.data.data[i].field3 !== undefined) {
+              response.data.data[i].field3 = parseFloat(response.data.data[i].field3)
+            }
+            if (response.data.data[i].正确数 !== '' && response.data.data[i].正确数 !== undefined) {
+              response.data.data[i].正确数 = parseFloat(response.data.data[i].正确数)
+            }
+            if (response.data.data[i].计划数 !== '' && response.data.data[i].计划数 !== undefined) {
+              response.data.data[i].计划数 = parseFloat(response.data.data[i].计划数)
+            }
+            if (response.data.data[i].field2 !== '' && response.data.data[i].field2 !== undefined) {
+              response.data.data[i].field2 = parseFloat(response.data.data[i].field2)
+            }
+          }
+          this.row3.chart1.table.list = response.data.data
+          console.log(this.row3.chart1.table.list, '123')
+          this.row3.chart1.chartLine_data = response.data.list
+          this.row3.chart1.total = response.data.total
+        } else {
+          this.row3.chart1.list = []
+          this.row3.chart1.chartLine_data = []
+          this.row3.chart1.chartLine_data.data1 = []
+        }
+        if (this.row3.chart1.chartLine_data.data1.length == 0) {
+          this.row3.chart1.chartLine_data.title = '暂无数据'
+        } else {
+          this.row3.chart1.chartLine_data.title = ''
+        }
+        this.roadChartLine4(this.row3.chart1.chartLine_data)
+        setTimeout(() => {
+          this.row3.chart1.listLoading = false
+        }, 100)
+      })
+    },
+    roadChartLine4(chartLine_data) {
+      if (this.row3.chart1.chartLine != null) {
+        this.row3.chart1.chartLine.dispose()
+      }
+      this.row3.chart1.chartLine = echarts.init(document.getElementById('row3chartLine1'))
+      var option = {
+        title: { text: chartLine_data.title, x: 'center', y: 'center', textStyle: { color: '#909399', fontWeight: 'normal', fontSize: 12 }},
+        tooltip: { trigger: 'axis' },
+        color: ['#1abd88', '#549be9', '#fd8d75'],
+        legend: {
+          data: ['计划准确率', '计划正确率', '计划准确率(去除取消重量)'],
+          top: 10, itemHeight: 7, itemWidth: 15, textStyle: { fontSize: 12 }
+        },
+        grid: {
+          top: '20%',
+          left: '10%',
+          right: '10%',
+          bottom: '10%',
+          containLabel: true
+        },
+        toolbox: {
+          show: true,
+          right: '2%',
+          feature: {}
+        },
+        xAxis: { type: 'category', boundaryGap: false, data: chartLine_data.data1, name: '日期' },
+        yAxis: {
+          type: 'value', name: '百分比', axisLabel: { formatter: '{value} %' }
+        },
+        series: [
+          { name: '计划准确率', type: 'line', symbol: 'none', smooth: true, itemStyle: { normal: { lineStyle: { color: '#1abd88' }}}, data: chartLine_data.data2 },
+          { name: '计划正确率', type: 'line', symbol: 'none', smooth: true, itemStyle: { normal: { lineStyle: { color: '#549be9' }}}, data: chartLine_data.data3 },
+          { name: '计划准确率(去除取消重量)', type: 'line', symbol: 'none', smooth: true, itemStyle: { normal: { lineStyle: { color: '#fd8d75' }}}, data: chartLine_data.data4 }
+        ]
+      }
+      this.row3.chart1.chartLine.setOption(option)
+      if (this.row3.chart1.chartLine != null) {
+        window.onresize = function() {
+          this.row3.chart1.chartLine.resize()
+        }
+      }
+    },
+    // 泌乳牛干物质采食量
+    getChart5() {
+      this.row3.chart2.listLoading = true
+      GetReportform(this.row3.chart2.getdataListParm).then(response => {
+        console.log('泌乳牛干物质采食量数据', response)
+        if (response.data !== null && response.data.list !== null && response.data.data !== null) {
+          for (let i = 0; i < response.data.data.length; i++) {
+            if (response.data.data[i].field1 !== '' && response.data.data[i].field1 !== undefined) {
+              response.data.data[i].field1 = parseFloat(response.data.data[i].field1)
+            }
+            if (response.data.data[i].field2 !== '' && response.data.data[i].field2 !== undefined) {
+              response.data.data[i].field2 = parseFloat(response.data.data[i].field2)
+            }
+          }
+          this.row3.chart2.table.list = response.data.data
+          this.row3.chart2.chartLine_data = response.data.list
+          this.row3.chart2.total = response.data.total
+        } else {
+          this.row3.chart2.list = []
+          this.row3.chart2.chartLine_data = []
+          this.row3.chart2.chartLine_data.data1 = []
+        }
+        if (this.row3.chart2.chartLine_data.data1.length == 0) {
+          this.row3.chart2.chartLine_data.title = '暂无数据'
+        } else {
+          this.row3.chart2.chartLine_data.title = ''
+        }
+        this.roadChartLine5(this.row3.chart2.chartLine_data)
+        setTimeout(() => {
+          this.row3.chart2.listLoading = false
+        }, 100)
+      })
+    },
+    roadChartLine5(chartLine_data) {
+      if (this.row3.chart2.chartLine != null) {
+        this.row3.chart2.chartLine.dispose()
+      }
+      this.row3.chart2.chartLine = echarts.init(document.getElementById('row3chartLine2'))
+      var option = {
+        title: { text: chartLine_data.title, x: 'center', y: 'center', textStyle: { color: '#909399', fontWeight: 'normal', fontSize: 12 }},
+        tooltip: { trigger: 'axis', axisPointer: { type: 'cross', crossStyle: { color: '#999' }}},
+        grid: { top: '20%', left: '8%', right: '10%', bottom: '10%', containLabel: true },
+        legend: { data: ['泌乳牛干物质采食量', '泌乳牛产奶量'], right: 10, itemHeight: 7, itemWidth: 15 },
+        xAxis: [{ type: 'category', data: chartLine_data.data1 }],
+        yAxis: [{
+          splitLine: { show: false }, type: 'value', name: '泌乳牛干\n物质采食量', axisLabel: { formatter: '{value} ' }
+        }, {
+          splitLine: { show: false }, type: 'value', name: '泌乳牛产奶量', axisLabel: { formatter: '{value} ' }
+        }],
+        series: [{
+          name: '泌乳牛干物质采食量', type: 'bar', barWidth: 5, itemStyle: { barBorderRadius: [18, 18, 0, 0], normal: { color: '#5199e5' }}, data: chartLine_data.data2
+        }, {
+          name: '泌乳牛产奶量', type: 'line', barWidth: 5,
+          itemStyle: { barBorderRadius: [18, 18, 0, 0], normal: { color: '#36c293' }}, yAxisIndex: 1, data: chartLine_data.data3
+        }]
+      }
+      this.row3.chart2.chartLine.setOption(option)
+      if (this.row3.chart2.chartLine != null) {
+        window.onresize = function() {
+          this.row3.chart2.chartLine.resize()
+        }
+      }
+    },
+
+    // 成本统计
+    getChart6() {
+      this.row4.chart1.table.listLoading = true
+      this.row4.chart1.listLoading = true
+      GetReportform(this.row4.chart1.getdataListParm).then(response => {
+        if (response.data !== null && response.data.list !== null && response.data.data !== null && response.data.data !== '') {
+          console.log('成本统计数据', response.data.data)
+          console.log('成本统计数据', response.data.list)
+          for (let i = 0; i < response.data.data.length; i++) {
+            if (response.data.data[i].field1 !== '' && response.data.data[i].field1 !== undefined) {
+              response.data.data[i].field1 = parseFloat(response.data.data[i].field1)
+            }
+            if (response.data.data[i].field2 !== '' && response.data.data[i].field2 !== undefined) {
+              response.data.data[i].field2 = parseFloat(response.data.data[i].field2)
+            }
+          }
+          this.row4.chart1.table.list = response.data.data
+          this.row4.chart1.chartLine_data = response.data.list
+          this.row4.chart1.total = response.data.total
+        } else {
+          this.row4.chart1.list = []
+          this.row4.chart1.chartLine_data = []
+          this.row4.chart1.chartLine_data.data1 = []
+        }
+        if (this.row4.chart1.chartLine_data.data1.length == 0) {
+          this.row4.chart1.chartLine_data.title = '暂无数据'
+        } else {
+          this.row4.chart1.chartLine_data.title = ''
+        }
+        this.roadChartLine6(this.row4.chart1.chartLine_data)
+        setTimeout(() => {
+          this.row4.chart1.listLoading = false
+          this.row4.chart1.table.listLoading = false
+        }, 100)
+      })
+    },
+    roadChartLine6(chartLine_data) {
+      if (this.row4.chart1.chartLine != null) {
+        this.row4.chart1.chartLine.dispose()
+      }
+      console.log(chartLine_data, '===666')
+      this.row4.chart1.chartLine = echarts.init(document.getElementById('row4chartLine1'))
+      var option = {
+        title: { text: chartLine_data.title, x: 'center', y: 'center', textStyle: { color: '#909399', fontWeight: 'normal', fontSize: 12 }},
+        grid: { left: '10%', right: '12%', bottom: '3%', containLabel: true },
+        tooltip: { trigger: 'axis', axisPointer: { type: 'cross', crossStyle: { color: '#999' }}},
+        legend: { data: ['公斤奶饲料成本', '单头牛饲料成本'], itemHeight: 7, itemWidth: 15 },
+        xAxis: [{ type: 'category', data: chartLine_data.data1, axisPointer: { type: 'shadow' }, name: '日期' }],
+        yAxis: [{
+          splitLine: { show: false }, type: 'value', name: '公斤奶\n饲料成本(元)', axisLabel: { formatter: '{value}' }
+        }, {
+          splitLine: { show: false }, type: 'value', name: '单头牛\n饲料成本(元)', axisLabel: { formatter: '{value}' }
+        }
+        ],
+        series: [{
+          name: '公斤奶饲料成本', type: 'bar', itemStyle: { normal: { color: '#1abd88' }}, data: chartLine_data.data2
+        }, {
+          name: '单头牛饲料成本', type: 'line', yAxisIndex: 1, itemStyle: { normal: { color: '#ff8d78' }}, data: chartLine_data.data3
+        }]
+      }
+      this.row4.chart1.chartLine.setOption(option)
+      if (this.row4.chart1.chartLine != null) {
+        window.onresize = function() {
+          this.row4.chart1.chartLine.resize()
+        }
+      }
+    },
+
+    // 混料实际重量统计
+    getChart7() {
+      this.row4.chart2.listLoading = true
+      GetReportform(this.row4.chart2.getdataListParm).then(response => {
+        if (response.data !== null && response.data.list !== null) {
+          console.log('混料实际重量统计数据', response.data.list)
+          for (let i = 0; i < response.data.data.length; i++) {
+            if (response.data.data[i].field1 !== '' && response.data.data[i].field1 !== undefined) {
+              response.data.data[i].field1 = parseFloat(response.data.data[i].field1)
+            }
+          }
+          this.row4.chart2.table.list = response.data.data
+          this.row4.chart2.chartLine_data = response.data.list
+          this.row4.chart2.total = response.data.total
+        } else {
+          this.row4.chart2.list = []
+          this.row4.chart2.chartLine_data = []
+          this.row4.chart2.chartLine_data.data1 = []
+        }
+        if (this.row4.chart2.chartLine_data.data1.length == 0) {
+          this.row4.chart2.chartLine_data.title = '暂无数据'
+        } else {
+          this.row4.chart2.chartLine_data.title = ''
+        }
+        this.roadChartLine7(this.row4.chart2.chartLine_data)
+        setTimeout(() => {
+          this.row4.chart2.listLoading = false
+        }, 100)
+      })
+    },
+    roadChartLine7(chartLine_data) {
+      if (this.row4.chart2.chartLine != null) {
+        this.row4.chart2.chartLine.dispose()
+      }
+      this.row4.chart2.chartLine = echarts.init(document.getElementById('row4chartLine2'))
+      var option = {
+        title: { text: chartLine_data.title, x: 'center', y: 'center', textStyle: { color: '#909399', fontWeight: 'normal', fontSize: 12 }},
+        grid: { left: '10%', right: '10%', bottom: '3%', containLabel: true },
+        tooltip: { trigger: 'axis' },
+        legend: { data: [''] },
+        xAxis: [{ type: 'category', data: chartLine_data.data1, name: '日期' }],
+        yAxis: [
+          { type: 'value', name: '重量(kg)', axisLabel: { formatter: '{value}' }}
+        ],
+        series: [{
+          name: '重量', type: 'bar', stack: '广告', itemStyle: { normal: { color: '#36C293' }}, data: chartLine_data.data2
+        }]
+      }
+      this.row4.chart2.chartLine.setOption(option)
+      if (this.row4.chart2.chartLine != null) {
+        window.onresize = function() {
+          this.row4.chart2.chartLine.resize()
+        }
+      }
+    },
+
+    getTable8() {
+      this.row4.table.listLoading = true
+      GetDataByName(this.row4.table.getdataListParm).then(response => {
+        console.log('库存预警table数据', response.data.list)
+        if (response.data.list !== null) {
+          this.row4.table.list = response.data.list
+          this.row4.table.total = response.data.total
+        } else {
+          this.row4.table.list = []
+        }
+        setTimeout(() => {
+          this.row4.table.listLoading = false
+        }, 100)
+      })
+    },
+    // 更多
+    handleMore() {
+      // this.$router.push({ path: '/inventoryManagement/Warning' })
+      this.$router.push({ name: 'Warning', params: { jmp: 'jmp' }})
+    },
+    // 导出
+    handleExport(item) {
+      console.log(item)
+      // 计划统计
+      if (item == 'row3chartLine1') {
+        console.log(this.row3.chart1.table.list)
+        var excelDatasTabChart1 = [
+          {
+            tHeader: ['日期', '计划执行重量(kg)', '配方理论重量(kg)', '计划准确率', '计划取消重量(kg)', '计划准确率(去除取消重量)', '计划正确数', '计划数', '计划正确率'],
+            filterVal: ['日期', '实际量', '理论量', 'field1', '计划取消重量', 'field3', '正确数', '计划数', 'field2'],
+            tableDatas: this.row3.chart1.table.list,
+            sheetName: '计划统计'
+          }
+        ]
+        json2excel(excelDatasTabChart1, '计划统计', true, 'xlsx')
+      } else if (item == 'row3chartLine2') {
+        // 泌乳牛采食量
+        var excelDatasTabChart2 = [
+          {
+            tHeader: ['日期', '泌乳牛采食量(kg)', '泌乳牛产奶量(kg)'],
+            filterVal: ['日期', 'field1', 'field2'],
+            tableDatas: this.row3.chart2.table.list,
+            sheetName: '泌乳牛采食量'
+          }
+        ]
+        json2excel(excelDatasTabChart2, '泌乳牛采食量', true, 'xlsx')
+      } else if (item == 'row4chartLine1') {
+        // 成本统计
+        console.log('成本统计')
+        var excelDatasTabChart2 = [
+          {
+            tHeader: ['日期', '单头牛饲料成本', '公斤奶饲料成本(元)'],
+            filterVal: ['日期', 'field1', 'field2'],
+            tableDatas: this.row4.chart1.table.list,
+            sheetName: '成本统计'
+          }
+        ]
+        json2excel(excelDatasTabChart2, '成本统计', true, 'xlsx')
+      } else if (item == 'row4chartLine2') {
+        console.log('混料实际重量统计')
+        var excelDatasTabChart4 = [
+          {
+            tHeader: ['日期', '重量'],
+            filterVal: ['日期', 'field1'],
+            tableDatas: this.row4.chart2.table.list,
+            sheetName: '混料实际重量统计'
+          }
+        ]
+        json2excel(excelDatasTabChart4, '混料实际重量统计', true, 'xlsx')
+      }
+    },
+
+    handleTable(item) {
+      console.log(item)
+      if (item == 'row3chartLine1') {
+        console.log('计划统计表格')
+        this.row3.chart1.isTable = true
+        this.row3.chart1.isChart = false
+      } else if (item == 'row3chartLine2') {
+        console.log('泌乳牛采食量表格')
+        this.row3.chart2.isTable = true
+        this.row3.chart2.isChart = false
+      } else if (item == 'row4chartLine1') {
+        console.log('成本统计表格')
+        this.row4.chart1.isTable = true
+        this.row4.chart1.isChart = false
+      } else if (item == 'row4chartLine2') {
+        console.log('混料实际重量统计表格')
+        this.row4.chart2.isTable = true
+        this.row4.chart2.isChart = false
+      }
+    },
+    handleChart(item) {
+      console.log(item)
+      // 显示切换图表
+      if (item == 'row3chartLine1') {
+        console.log('计划统计图表')
+        this.row3.chart1.isTable = false
+        this.row3.chart1.isChart = true
+        this.getChart4()
+      } else if (item == 'row3chartLine2') {
+        console.log('泌乳牛采食量图表')
+        this.row3.chart2.isTable = false
+        this.row3.chart2.isChart = true
+        this.getChart5()
+      } else if (item == 'row4chartLine1') {
+        console.log('成本统计图表')
+        this.row4.chart1.isTable = false
+        this.row4.chart1.isChart = true
+        this.getChart6()
+      } else if (item == 'row4chartLine2') {
+        console.log('混料实际重量统计图表')
+        this.row4.chart2.isTable = false
+        this.row4.chart2.isChart = true
+        this.getChart7()
+      }
+    }
+
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+  .Title{
+    padding-left: 10px;border-radius: 10px;margin-top: 20px;background: #fff;height:40px;font-size:20px;line-height:40px;text-align: left;font-weight: 600;color:#333333;
+  }
+  .dashboard-editor-container {
+    background-color: #F4F4F4;
+    min-height: 100vh;
+    .news{
+      width: 70%;
+      height: 30px;
+      background: #fff;
+      margin: 0 auto;
+      border-radius: 10px;
+      text-align: center;
+      line-height: 30px;
+      color: red;
+      b{color: #000;}
+    }
+
+    .bottom{
+      padding:0 30px;
+      h4{text-align: right;}
+      .grid-content{
+        background: #fff;height: 90px;
+        border-radius: 10px;
+      }
+      .one{
+        border: 1px solid #82CBB3;height: 90px;
+        .Left{
+          float: left;
+          width: 65px;
+          text-align: center;
+          i{font-size: 36px;color:#82CBB3;line-height: 90px;}
+        }
+        .Right{
+          float: left;
+          margin-top:15px;
+          height: 60px;
+          font-weight: 600;
+          font-size: 14px;
+          line-height: 30px;
+          span{
+            display: inline-block;
+            width: 130px;
+            text-align: right;
+          }
+        }
+      }
+      .two{
+        border: 1px solid #FF9900;
+        .Left{
+          float: left;
+          width: 65px;
+          text-align: center;
+          i{font-size: 36px;color:#FF9900;line-height: 90px;}
+        }
+        .Right{
+          float: left;
+          margin-top:15px;
+          height: 60px;
+          font-weight: 600;
+          font-size: 14px;
+          line-height: 30px;
+          span{
+            display: inline-block;
+            width: 130px;
+            text-align: right;
+          }
+        }
+      }
+      .three{
+        border: 1px solid #0099FF;
+        .Left{
+          float: left;
+          width: 65px;
+          text-align: center;
+          i{font-size: 36px;color:#0099FF;line-height: 90px;}
+        }
+        .Right{
+          float: left;
+          height: 60px;
+          font-weight: 600;
+          font-size: 14px;
+          line-height: 30px;
+          margin-top:15px;
+          span{
+            display: inline-block;
+            width: 130px;
+            text-align: right;
+          }
+        }
+      }
+      .four{
+        border: 1px solid #FF5C5C;
+        .Left{
+          float: left;
+          width: 55px;
+          text-align: center;
+          i{font-size: 36px;color:#FF5C5C;line-height: 90px;}
+        }
+        .Right{
+          float: left;
+          flex: 1;
+          height: 60px;
+          font-weight: 600;
+          font-size: 14px;
+          line-height: 30px;
+          margin-top:15px;
+          span{
+            display: inline-block;
+            width: 150px;
+            text-align: right;
+          }
+        }
+      }
+
+      .car{
+        width:100%;height:150px;
+         display:flex;
+        display: -webkit-flex;
+        -webkit-flex-direction:row;
+        i{font-size: 50px;width:50px;display: block;line-height: 150px;}
+        .carList{
+          flex:1;height: 130px;
+          .list{
+            height: 130px;color: #fff;
+            // box-shadow: #000 0px 0px 10px;
+            // border-radius: 10px;
+            .list-l{
+              p{
+                padding-left:10px;font-size:13px;line-height: 16px; text-overflow: ellipsis;white-space:nowrap; overflow:hidden;
+              }
+            }
+            .list-r{
+              p{
+                font-size:13px;line-height: 16px;text-overflow: ellipsis;white-space:nowrap; overflow:hidden;
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+</style>
+
+<style>
+  .app-main{background:#f5f5f5;}
+</style>
+<style lang="scss" scoped>
+
+  .dashboard-editor-container{padding-left: 10px;background: #f5f5f5;padding-bottom: 10px;}
+  // 公共
+  .img-t{position: absolute;left: 0;right: 0;margin: 30px auto;width: 31%;height: 31%;background-size: 100% 100%;}
+  .row1-c-l-c{
+    margin: 30px auto;border: 1px solid #eee;height: 40%;width: 50%;border-radius: 50%;text-align: center;display:table;
+    span{
+      height:100%;display:table-cell;vertical-align: middle;font-size:14px;color: #c88d42;
+      b{padding-bottom: 10px;font-size: 16px;}
+    }
+  }
+  .row1-c-l-b{
+    width: 100%;text-align: center;display:table;font-size: 12px;
+    // div{
+    //   font-size: 12px;height:100%;display:table-cell;vertical-align: middle;color: #323232;padding: 0 10px;width: 100%;
+    //   span{text-align: right;width: 75%;display: block;float: left;}
+    //   b{float: left;display: block;width: 25%;}
+    // }
+  }
+  .title{
+    height: 36px;padding-top: 7px;line-height: 36px;position: relative;
+    .img-title{
+      position: absolute;top: 10px; right:10px;bottom:0;left:20px;width: 30px;height: 30px;background: url(../../../assets/images/index/row-bg3.png) no-repeat;
+    }
+    .content{font-size: 18px;position: absolute;top: 7px;left: 55px;}
+  }
+  .title1{
+    height: 36px;padding-top: 7px;line-height: 36px;position: relative;
+
+    .img-title{
+      position: absolute;top: 10px; right:10px;bottom:0;left:10px;
+      width: 25px;height: 25px;
+      img{width: 25px;height: 25px;}
+    }
+    .content{font-size: 16px;position: absolute;top: 7px;left: 40px;}
+  }
+  .button{
+    height: 30px;
+    .exportTable{float: right;margin-right: 5px;}
+  }
+  .dashboard{
+    display: flex;margin-top: 10px;
+    .dashboard-l{
+      // width: 540px;
+      width: 30%;
+      .row1{
+        height: 520px;
+        .row1-t{
+          background: #fff; height: 50px; color: #f28b46;
+          .row1-t-l{
+            .img-l{float:left;padding: 16px 10px 16px 20px;width: 18px;height: 18px;background: url(../../../assets/images/index/row-bg2.png) no-repeat;background-position: 0 8px;}
+            .content{float:left;width: 54%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;font-size: 14px;line-height: 50px;padding-left: 3px;}
+            .img-r{float:left;padding: 16px 0 16px 17px;width: 30px;height: 15px;background: url(../../../assets/images/index/row-bg2.png) no-repeat;background-position: 0 -24px;}
+          }
+          .row1-t-r{padding-right: 20px;text-align: right;line-height: 50px;}
+        }
+
+        .row1-c{
+          display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between;margin-top: 10px;
+          .row1-c-l{
+            background: #fff;width:49%;height:225px;border-radius:3px;margin-right: 1%;position: relative;
+            .img-t{width:49%;height:38%;background: url(../../../assets/images/index/t1.png) no-repeat; background-size: 100% 100%;}
+          }
+          .row1-c-r{
+            background: #fff;width:49%;height:225px;border-radius:3px;position: relative;
+            .img-t{width:49%;height:38%;background: url(../../../assets/images/index/t2.png) no-repeat; background-size: 100% 100%;}
+          }
+        }
+        .row1-b{
+          display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between;margin-top: 10px;
+          .row1-b-l{
+            background: #fff;width:49%;height:225px;border-radius:3px;margin-right:1%;position: relative;
+            .img-t{width:49%;height:38%;background: url(../../../assets/images/index/t4.png) no-repeat; background-size: 100% 100%;}
+          }
+          .row1-b-r{
+            background: #fff;width:49%;height:225px;border-radius:3px;position: relative;
+            .img-t{width:49%;height:38%;background: url(../../../assets/images/index/t3.png) no-repeat; background-size: 100% 100%;}
+          }
+        }
+      }
+
+      .row2{
+        margin-top:10px;height: 375px;background: #fff;
+        .img-title{background-position: 0 0;}
+        .todayPlan{
+          display: flex; flex-direction: row;margin-top: 10px;
+          div{
+            flex: 1;position: relative;
+            .bottom{
+              width: 99%;height: 70px;background: #f9f9f9;margin: 30px auto 5px;display: flex; flex-direction: row;text-align: center;
+              div{
+                flex: 1;height: 42px;color: #333333;
+              }
+              .bottom-l{
+                border-right: 1px solid #e0e0e0;margin-top: 15px;width: 100%;
+                .bottom-l-t{
+                  height: 30px;
+                  b{font-size: 18px;}
+                }
+                .bottom-l-b{font-size: 12px;}
+              }
+              .bottom-r{
+                margin-top: 15px;width: 100%;
+                .bottom-r-t{height: 30px;padding-left: 10px;}
+                .bottom-r-b{padding-left: 10px;font-size: 12px;}
+              }
+            }
+          }
+        }
+      }
+      .row3{
+        margin-top:10px;height: 375px;background: #fff;
+        .img-title{background-position: 0 -90px;}
+      }
+    }
+    .dashboard-r{
+      margin-left: 10px;flex:1;
+      .row1{
+        height: 520px;background: #fff;
+        .img-title{background-position: 0 -240px;}
+        #row2chartLine3{height: 270px;margin-top: 10px;}
+        .carsLength{
+          padding: 13px 0 0 22px;line-height: 38px;font-size: 18px;font-weight: 700;
+        }
+        .car{
+          height: 140px;position: relative;
+          .iconLeft{width:32px;height:32px;position:absolute;top:46px;left:15px; z-index:1;}
+          .iconRight{width:32px;height:32px;position:absolute;top:46px;right: 20px ;z-index:1;}
+          .carList{
+            padding:0 30px;height: 120px;overflow: hidden;display: flex;
+            .listW{
+              background: #f3f9f7;
+              float: left;
+              // flex: 1 1;
+              margin: 0 5px;position: relative;width: 50%;
+              .list{
+                width: 100%;height: 100%;border-radius: 5px;border:1px solid #000;
+                .list-t{
+                  display: flex;border-bottom: 1px solid #f1f1f1;
+                  .list-t-t{
+                    flex: 1 1;width: 0;font-size: 12px;line-height: 22px;padding: 25px 5px 15px;text-align: center;
+                    span{ display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
+                  }
+                }
+                .list-b{
+                  display: flex; text-align: center;margin-top: 14px;color: #323232;
+                  .list-b-l{
+                    flex: 1;width: 0; height: 40px; position: relative;
+                    .left{
+                      .num{
+                        font-size: 12px;
+                        b{font-size: 12px;}
+                      }
+                      .weight{font-size: 12px;}
+                    }
+                    .right{
+                      height: 30px;width: 1px;background: #e0e0e0;position: absolute;right: 0;top: 0;bottom: 0;margin-top:auto;margin-bottom:auto
+                    }
+                  }
+                }
+              }
+              .img-checked{width: 30px;height: 28px;position: absolute;top: 0;right: 0;background: url(../../../assets/images/index/row-r6.png);}
+            }
+          }
+        }
+      }
+
+      .row2{
+        margin-top:10px;height: 375px;
+        display: flex; flex-direction: row;
+        .row2-l{
+          margin-right: 10px; background: #fff;height:375px;border-radius:3px;flex: 1;
+          .img-title{background-position: 0 -30px;}
+        }
+        .row2-r{
+           background: #fff;height:375px;border-radius:3px;flex: 1;
+          .img-title{background-position: 0 -60px;}
+        }
+      }
+
+      .row3{
+        margin-top:10px;height: 375px;
+        display: flex; flex-direction: row;
+        .row3-l{
+          margin-right: 10px; background: #fff;height:375px;border-radius:3px;flex: 1;
+          .img-title{background-position: 0 -120px;}
+        }
+        .row3-r{
+           background: #fff;height:375px;border-radius:3px;flex: 1;
+          .img-title{background-position: 0 -150px;}
+        }
+      }
+
+    }
+  }
+</style>

+ 313 - 385
src/views/login/index.vue

@@ -1,130 +1,131 @@
-<template>
-  <div class="login-container">
-    <div class="new-login">
-      <div class="new-login-l">
-        <img src="@/assets/images/logo.png" alt="">
+<template>
+  <div class="login">
+    <div class="container">
+      <div class="header">
+        <div class="logo"></div>
+        <div class="propaganda">澎湃科技力量 牧业腾飞伙伴</div>
       </div>
-      <div class="new-login-r">
-        <div class="title">用户登录</div>
-        <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" auto-complete="on" label-position="left">
-          <el-form-item prop="username">
-            <span class="svg-container">
-              <svg-icon icon-class="user" />
-            </span>
-            <el-input ref="username" v-model="loginForm.username" placeholder="用户名" name="username" type="text" tabindex="1" auto-complete="on" />
-          </el-form-item>
+      <div class="content">
+        <div class="login-c-r">
+          <div class="title">
+            肉牛精准饲喂管理系统
+          </div>
+          <div class="form">
+            <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" auto-complete="on" label-position="left">
+              <el-form-item prop="username">
+                <el-input ref="username" v-model="loginForm.username" placeholder="用户名" name="username" type="text" tabindex="1" auto-complete="on" />
+              </el-form-item>
 
-          <el-form-item prop="password" class="password">
-            <span class="svg-container">
-              <svg-icon icon-class="password" />
-            </span>
-            <el-input :key="passwordType" ref="password" v-model="loginForm.password" :type="passwordType" placeholder="密码" name="password" tabindex="2" auto-complete="on" @keyup.enter.native="handleLogin" />
-            <span class="show-pwd" @click="showPwd">
-              <svg-icon :icon-class="passwordType === 'password' ? 'eye' : 'eye-open'" />
-            </span>
-          </el-form-item>
-          <el-form-item prop="password" class="rememberPassword">
-            <input id="remember-password-checkbox" v-model="rememberPassword" type="checkbox" value="remember-me" @click="doRememberPassword($event)">
-            <span for="remember-password-checkbox">
-              记住密码
-            </span>
-            </input>
-          </el-form-item>
-        </el-form>
-        <el-button type="text" :loading="loading" class="btn" @click.native.prevent="handleLogin">登录</el-button>
+              <el-form-item prop="password" class="password">
+                <el-input :key="passwordType" ref="password" v-model="loginForm.password" :type="passwordType" placeholder="密码" name="password" tabindex="2" auto-complete="on" @keyup.enter.native="handleLogin" />
+                <span class="show-pwd" @click="showPwd">
+                  <svg-icon :icon-class="passwordType === 'password' ? 'eye' : 'eye-open'" />
+                </span>
+              </el-form-item>
+              <el-form-item prop="password" class="rememberPassword">
+                <input id="remember-password-checkbox" v-model="rememberPassword" type="checkbox" value="remember-me" @click="doRememberPassword($event)">
+                <span for="remember-password-checkbox" style="position: absolute;top: -1px; margin-left: 5px;">
+                  记住密码
+                </span>
+                </input>
+              </el-form-item>
+            </el-form>
+          </div>
+          <div class="btn">
+            <el-button type="text" :loading="loading" @click.native.prevent="handleLogin">登录</el-button>
+          </div>
+        </div>
+      </div>
+      <div class="footer">
+        <p>版权所有 <a href="http://www.dairyinfo.com.cn" target="_blank">上海科湃腾信息科技有限公司</a>
+        <a style="margin-left: 20px;" href="https://beian.miit.gov.cn/" target="_blank">沪ICP备11008303号-3 </a></p>
       </div>
     </div>
-    <div style="position: absolute;bottom: 0;left: 0;right:0;color: #000;background: #fee; opacity: .7; font-size: 14px;">
-      <p style="text-align:center;line-height:16px;">
-        版权所有
-        <a href="http://www.dairyinfo.com.cn" target="_blank">上海科湃腾信息科技有限公司</a>
-        <a style="margin-left: 20px;" href="https://beian.miit.gov.cn/" target="_blank">沪ICP备11008303号-3 </a>
-      </p>
+  </div>
+</template>
 
-    </div>
-  </div>
-</template>
-
-<script>
-import { validUsername } from '@/utils/validate'
+<script>
+import { validUsername } from '@/utils/validate'
 import Cookies from 'js-cookie'
-import { getToken } from '@/utils/auth'
-export default {
-  name: 'Login',
-  data() {
-    const validateUsername = (rule, value, callback) => {
-      if (!validUsername(value)) {
-        callback(new Error('请输入正确的用户名'))
-      } else {
-        callback()
-      }
-    }
-    const validatePassword = (rule, value, callback) => {
-      if (value.length < 6) {
-        callback(new Error('密码不能少于6个字符'))
-      } else {
-        callback()
-      }
-    }
-    return {
-      loginForm: {
-        username: '',
-        password: ''
-      },
-      loginRules: {
-        username: [
-          { required: true, trigger: 'blur', validator: validateUsername }
-        ],
-        password: [
-          { required: true, trigger: 'blur', validator: validatePassword }
-        ]
-      },
-      loading: false,
-      passwordType: 'password',
+import { getToken } from '@/utils/auth'
+export default {
+  name: 'Login',
+  data() {
+    const validateUsername = (rule, value, callback) => {
+      if (!validUsername(value)) {
+        callback(new Error('请输入正确的用户名'))
+      } else {
+        callback()
+      }
+    }
+    const validatePassword = (rule, value, callback) => {
+      if (value.length < 6) {
+        callback(new Error('密码不能少于6个字符'))
+      } else {
+        callback()
+      }
+    }
+    return {
+      loginForm: {
+        username: '',
+        password: ''
+      },
+      loginRules: {
+        username: [
+          { required: true, trigger: 'blur', validator: validateUsername }
+        ],
+        password: [
+          { required: true, trigger: 'blur', validator: validatePassword }
+        ]
+      },
+      loading: false,
+      passwordType: 'password',
       redirect: undefined,
-      rememberPassword: ''
-    }
-  },
-  watch: {
-    $route: {
-      handler: function(route) {
-        this.redirect = route.query && route.query.redirect
-      },
-      immediate: true
-    }
-  },
-  created() {
-    var that = this
-    document.onkeydown = function(e) {
-      e = window.event || e
-      // eslint-disable-next-line eqeqeq
-      if (that.$route.path == '/login' && (e.code == 'Enter' || e.code == 'Num Enter')) { // 验证在登录界面和按得键是回车键enter
-        that.handleLogin('ruleForm2') // 登录函数 (handleSubmit2('ruleForm2')-登录按钮的点击事件)
-      }
-    }
+      rememberPassword: ''
+    }
+  },
+  watch: {
+    $route: {
+      handler: function(route) {
+        this.redirect = route.query && route.query.redirect
+      },
+      immediate: true
+    }
+  },
+  created() {
+    console.log(window.screen.width)
+    console.log(window.screen.height)
+    var that = this
+    document.onkeydown = function(e) {
+      e = window.event || e
+      // eslint-disable-next-line eqeqeq
+      if (that.$route.path == '/login' && (e.code == 'Enter' || e.code == 'Num Enter')) { // 验证在登录界面和按得键是回车键enter
+        that.handleLogin('ruleForm2') // 登录函数 (handleSubmit2('ruleForm2')-登录按钮的点击事件)
+      }
+    }
   },
   mounted: function() {
     // 读取cookie中的账号信息,如果有accountInfo的话,则说明该用户之前勾选了记住密码的功能,则需要自动填上账号密码
     this.loadAccountInfo()
-  },
-  methods: {
-    showPwd() {
-      if (this.passwordType === 'password') {
-        this.passwordType = ''
-      } else {
-        this.passwordType = 'password'
-      }
-      this.$nextTick(() => {
-        this.$refs.password.focus()
-      })
-    },
+  },
+  methods: {
+    showPwd() {
+      if (this.passwordType === 'password') {
+        this.passwordType = ''
+      } else {
+        this.passwordType = 'password'
+      }
+      this.$nextTick(() => {
+        this.$refs.password.focus()
+      })
+    },
     handleLogin() {
       var rememberStatus = this.rememberPassword
-      var accountInfo = this.loginForm.username + '&' + this.loginForm.password
-      this.$refs.loginForm.validate(valid => {
-        if (valid) {
-          this.loading = true
-          this.$store
+      var accountInfo = this.loginForm.username + '&' + this.loginForm.password
+      this.$refs.loginForm.validate(valid => {
+        if (valid) {
+          this.loading = true
+          this.$store
             .dispatch('user/login', this.loginForm).then(() => {
               if (rememberStatus) {
                 console.log('勾选了记住密码,现在开始写入cookie')
@@ -137,18 +138,18 @@ export default {
               // 若为本地环境 则手写cookie
               if (window.location.href.indexOf('localhost') != -1) {
                 Cookies.set('token', getToken(), 1440)
-              }
-              this.$router.push({ path: this.redirect || '/' })
-              this.loading = false
-            })
-            .catch(() => {
-              this.loading = false
-            })
-        } else {
-          console.log('error submit!!')
-          return false
-        }
-      })
+              }
+              this.$router.push({ path: this.redirect || '/' })
+              this.loading = false
+            })
+            .catch(() => {
+              this.loading = false
+            })
+        } else {
+          console.log('error submit!!')
+          return false
+        }
+      })
     },
     doRememberPassword() {
       const rememberStatus = this.rememberPassword
@@ -176,271 +177,198 @@ export default {
         _this.loginForm.password = passWord
         _this.rememberPassword = true
       }
-    }
-  }
-}
-</script>
-
-<style lang="scss">
-/* 修复input 背景不协调 和光标变色 */
-/* Detail see https://github.com/PanJiaChen/vue-element-admin/pull/927 */
-
-// $bg: #283443;
-// $light_gray: #fff;
-// $cursor: #fff;
-// 更改
-// $bg: #ccc;
-// $light_gray: #ccc;
-// $cursor: #000;
-// @supports (-webkit-mask: none) and (not (cater-color: $cursor)) {
-//   .login-container .el-input input {
-//     color: $cursor;
-//   }
-// }
-// .login-container {
-//   min-height: 232px;
-//   .el-input {
-//     display: inline-block;
-//     height: 38px;
-//     width: 80%;
-
-//     input {
-//       background: #fff;
-//       border: 0px;
-//       -webkit-appearance: none;
-//       border-radius: 0px;
-//       padding: 5px 5px 5px 15px;
-//       color: #000;
-//       height: 16.7%;
-//       caret-color: $cursor;
-
-//       &:-webkit-autofill {
-//         box-shadow: 0 0 0px 1000px $bg inset !important;
-//         -webkit-text-fill-color: $cursor !important;
-//       }
-//     }
-//   }
-//   .el-form-item {
-//       border: 1px solid rgba(255, 255, 255, 0.1);
-//       background: #fff;
-//       border-radius: 5px;
-//       color: #999;
-//       width: 73%;
-//       margin: 10px auto;
-//       .el-form-item__content {
-//         line-height: 16%;
-//         border-bottom: 1px solid #e7e7e7;
-//       }
-
-//     }
-//     .rememberPassword{
-//       .el-form-item__content {
-//         line-height:16%;
-//         border: none;
-//         span{padding-left: 5px;}
-//       }
-
-//     }
-//     .password{
-//       margin-top: 20px;margin-bottom: 15px;
-//     }
-//     .btn{
-//       position: relative;
-//       width: 520px;
-//       max-width: 100%;
-//       overflow: hidden;
-//     }
-//     .btn  span{width:72%;background:#01996a;border: #01996a;border-radius: 5px;line-height: 40px; text-align: center;color:#fff; margin: 0 auto;display: block;}
-
-//   }
-
-</style>
-
-/* <style>
-
-.login-container .el-input input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill {
-    -webkit-box-shadow: 0 0 0px 1000px #fff inset !important;
-    box-shadow: 0 0 0px 1000px #fff inset !important;
-    -webkit-text-fill-color: #000 !important;
+    }
+  }
 }
+</script>
 
-</style> */
-// <style lang="scss" scoped>
-// $bg: #2d3a4b;
-// $dark_gray: #999;
-// $light_gray: #000;
-
-// .login-container {
-//   min-height: 100%;
-//   width: 100%;
-//   height: 100%;
-//   position: relative;
-//   background: url("../../assets/images/nlogin-bg.png") no-repeat;
-//   background-size:100%;
-//   overflow: hidden;
-//   .login {
-//     border-radius: 5%;
-//     padding: 30px;
-//     background: rgba(0,0,0,0.4);
-//     width: 380px;
-//     height: 340px;
-//     position: relative;
-//     top: 50%;
-//     left: 50%;
-//     margin-left: -190px;
-//     margin-top: -270px;
-//     box-shadow:0px 0px 10px #fff;
-//     .login-form {
-//       margin-top: 60px;
-//       position: relative;
-//       width: 520px;
-//       max-width: 100%;
-//       overflow: hidden;
-//     }
-
-//     .tips {
-//       font-size: 14px;
-//       color: #fff;
-//       margin-bottom: 10px;
-
-//       span {
-//         &:first-of-type {
-//           margin-right: 16px;
-//         }
-//       }
-//     }
-
-//     .svg-container {
-//       padding: 6px 5px 6px 15px;
-//       color: $dark_gray;
-//       vertical-align: middle;
-//       width: 30px;
-//       display: inline-block;
-//     }
-
-//       .title {
-//         font-size: 26px;
-//         color: $light_gray;
-//         margin: 0px auto 0 auto;
-//         text-align: center;
-//         font-weight: bold;
-//       }
-//       b {
-//         text-align: center;
-//         font: 14px/2 "";
-//       }
-
-//     .show-pwd {
-//       position: absolute;
-//       right: 10px;
-//       top: 7px;
-//       font-size: 16px;
-//       color: $dark_gray;
-//       cursor: pointer;
-//       user-select: none;
-//     }
-
-//     .kpt{text-align: center;color: #fff;display: inline-block;width: 100%;font:12px/18px '';}
-//   }
-// }
-// </style>
-// <style lang="scss" scoped>
-//   .login-container {
-//     width: 100vw;
-//     height: 100vh;
-//     display: flex;
-//     justify-content: center;
-//     align-items: center;
-//     .new-login{
-//       width: 57%;
-//       height: 43%;
-//       display: flex;
-//       .new-login-l{
-//         flex: 1 1;
-//         width: 50%;
-//         background:  url("../../assets/images/nlogin-bg2.png") no-repeat;
-//         position: relative;
-//         .new-login-l-t{
-//           width: 34%;
-//           height: 13%;
-//           position: absolute;
-//           top: 36%;
-//           left: 32%;
-//           right: 0;
-//           bottom: 0;
-//         }
-//         .new-login-l-b{
-//           position: absolute;
-//           // 138,263
-//           width: 40%;
-//           // height: 5%;
-//           top: 56%;
-//           left: 30%;
-//           // right: 0;
-//           // bottom: 0;
-//         }
-//       }
-//       .new-login-r{
-//         flex: 1 1;
-//         width: 50%;
-//         background:  url("../../assets/images/nlogin-bg3.png") no-repeat;
-//         position: relative;
-//         .title{
-//           text-align: center;
-//           font-size: 26px;
-//           font-weight: 700;
-//           color: #01996a;
-//           padding-top: 10%;
-//           padding-bottom: 3%;
-//         }
-//         .btn {position: absolute;bottom: 10%;}
-//       }
-//     }
-//   }
-// </style>
 <style lang="scss" scoped>
-$bg: #2d3a4b;
-$dark_gray: #999;
-$light_gray: #000;
-$bg: #ccc;
-$light_gray: #ccc;
-$cursor: #000;
-.login-container{
-  position: relative;height: 100%;width: 100%;background:  url("../../assets/images/nlogin-bg1.jpg") no-repeat;
-    .new-login{
-      width: 50%;height: 42%;position: absolute;left: 0;right: 0;bottom: 0;top: 0;margin: auto;
-      .new-login-l{
-        background: red;float:left;height:100%;width:50%;background:  url("../../assets/images/nlogin-bg2.png") no-repeat;position: relative;
-        img{position: absolute;left: 0;right: 0;bottom: 0;top: 0;margin: auto;width: 50%;height:23%;}
-      }
-      .new-login-r{
-        background: #fff;float:left;height:100%;width:50%;position: relative;
-        .title{margin-top: 10%;font-size: 20px;font-weight: 600;color: #019969;text-align: center;}
-        .login-form{
-          position: relative;width: 520px;max-width: 100%;overflow: hidden;height: 48%;
-          .svg-container{padding: 6px 5px 6px 15px; color: $dark_gray; vertical-align: middle; width: 30px; display: inline-block;}
-          .el-input {
-            display: inline-block; width: 80%;
-          }
+  .login{
+    // background: url(../../assets/images/loginImages/login_bg1.png) center center no-repeat;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    overflow: hidden;
+  }
+  .container{
+    width: 55%;
+    height: 100%;
+    position: relative;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    overflow: hidden;
+  }
+  .header {
+    width: 100%;
+    color: #fff;
+    position: absolute;
+    top: 20%;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    .propaganda{
+      background-image: linear-gradient(to right, #BE8A2F, #E59379);
+      -webkit-background-clip: text;
+      -webkit-text-fill-color: transparent;
+    }
+  }
+  .content{
+    position: absolute;
+    top: 30%;
+  }
+  .login-c-r{
+    position: absolute;
+    left: 50%;
+    top: 14%;
+    width: 30%;
+  }
+  .footer {
+    width: 100%;
+    text-align: center;
+    position: absolute;
+    font-size: 14px;
+    bottom: 10%;
+    color:#666666;
+  }
+
+  @media (min-width: 500px) {
+    .login{
+      height: 100%;
+      width: 100%;
+      background: url(../../assets/images/loginImages/login_bg1.png) center center no-repeat;
+      background-size:cover;
+    }
+    .container {
+      // background: red;
+      .header {
+        height: 35px;
+        line-height:35px;
+        .logo{
+          width: 110px;
+          height: 100%;
+          margin-right: 26px;
+          background: url(../../assets/images/loginImages/logo1.png) center center no-repeat;
         }
-        .el-form-item {
-          border: none; background: #fff; border-radius: 5px; color: #999;width: 73%; margin: 10px auto;height: 30%;
-          /deep/.el-form-item__content {
-            line-height: 16%; border-bottom: 1px solid #e7e7e7;
-          }
-          .el-form-item__content .el-input{
-            /deep/.el-input__inner{border: none !important;}
-          }
+        .propaganda{
+          font-size: 21px;
         }
-        .rememberPassword{
-          /deep/.el-form-item__content { line-height:16%; border: none;padding-bottom: 10px; span{padding-left: 5px;} }
+      }
+      .content{
+        width: 538px;
+        height: 266px;
+        background: url(../../assets/images/loginImages/center_bg1.png) center center no-repeat;
+      }
+    }
+    .title{
+      font-size: 16px;
+      background-image: linear-gradient(to right, #BE8A2F, #E59379);
+      -webkit-background-clip: text;
+      -webkit-text-fill-color: transparent;
+    }
+    /deep/ .el-input__inner{
+      height: 25px;
+      line-height: 25px;
+    }
+    /deep/ .el-form-item{
+      margin-bottom: 0;
+    }
+    /deep/ .el-form-item__content{
+      font-size: 12px;
+    }
+    .show-pwd {
+      position: absolute;
+      right: 15px;
+      top: 3px;
+      font-size: 16px;
+      color: #999;
+      cursor: pointer;
+      user-select: none;
+    }
+    .btn{
+      width: 170px;
+      height: 40px;
+      color: #fff !important;
+      background: url(../../assets/images/loginImages/btn1.png) center center no-repeat;
+      position: absolute;
+      bottom: -20%;
+      left: 0;
+      line-height: 32px;
+      font-size: 14px;
+      text-align: center;
+      .el-button--text{
+        color: #fff !important;
+      }
+    }
+  }
+  @media (min-width: 1920px) {
+    .login{
+      height: 100%;
+      width: 100%;
+      background: url(../../assets/images/loginImages/login_bg2.png) center center no-repeat;
+      background-size:cover;
+    }
+    .container {
+      // background:blue;
+      .header {
+        height: 70px;
+        line-height:70px;
+        .logo{
+          width: 220px;
+          height: 100%;
+          margin-right: 52px;
+          background: url(../../assets/images/loginImages/logo2.png) center center no-repeat;
         }
-        .password{margin-top: 10px;margin-bottom: 20px;}
-        .btn{
-          position: absolute; overflow: hidden; width: 75%;left: 0;right: 0;bottom: 10%;margin: 0 auto;
-          /deep/span{background:#01996a;border: #01996a;border-radius: 5px;line-height: 40px; text-align: center;color:#fff; display: block;}
+        .propaganda{
+          font-size: 42px;
+        }
+      }
+      .content{
+        width: 1075px;
+        height: 531px;
+        background: url(../../assets/images/loginImages/center_bg2.png) center center no-repeat;
+      }
+      .title{
+        font-size: 32px;
+        background-image: linear-gradient(to right, #BE8A2F, #E59379);
+        -webkit-background-clip: text;
+        -webkit-text-fill-color: transparent;
+      }
+      /deep/ .el-input__inner{
+        height: 50px;
+        line-height: 50px;
+      }
+      /deep/ .el-form-item{
+        margin-bottom: 30px;
+      }
+      /deep/ .el-form-item__content{
+        font-size: 16px;
+      }
+      .show-pwd {
+        position: absolute;
+        right: 15px;
+        top: 6px;
+        font-size: 16px;
+        color: #999;
+        cursor: pointer;
+        user-select: none;
+      }
+      .btn{
+        width: 340px;
+        height: 80px;
+        color: #fff !important;
+        background: url(../../assets/images/loginImages/btn2.png) center center no-repeat;
+        position: absolute;
+        bottom: -20%;
+        left: 0;
+        // line-height: 80px;
+        font-size: 28px;
+        text-align: center;
+        .el-button--text{
+          color: #fff !important;
+          line-height: 60px;
         }
       }
     }
-}
-</style>
+  }
+</style>