瀏覽代碼

滚动条\人员\默认

Guoxiaohuan 5 年之前
父節點
當前提交
d27d42ac55

+ 5 - 0
src/api/appeal/appeal.js

@@ -11,4 +11,9 @@ export function queryWorkflow({ postParams }) {
 // 查询冷站指令执行情况
 export function queryChillerExecuteInfo({ postParams }) {
     return httputils.postJson(`/duoduo-service/transfer/chiller/command/queryChillerExecuteInfo?projectId=Pj4419000005`, postParams)
+}
+
+// 查询人员id
+export function querySimpleInfo(id, { getParams }) {
+    return httputils.getJson(`/server/user/getSimpleInfo?id=` + id, getParams)
 }

+ 4 - 0
src/views/appeal/appealDetail.vue

@@ -2,6 +2,7 @@
   <div>
     <Head :headText="headText"></Head>
     <div class="nav-right">
+      <el-button type="info" plain size="mini" @click="back">返回</el-button>
       <el-button type="primary" @click="submission" size="mini">提交</el-button>
     </div>
     <div class="detailContainer">
@@ -79,6 +80,9 @@ export default {
     UploadImg
   },
   methods: {
+    back() {
+      this.$router.push("/appeal");
+    },
     queryDetail(commandId) {
       let params = {
         postParams: {

+ 383 - 341
src/views/appeal/index.vue

@@ -1,78 +1,86 @@
 <template>
-  <div>
-    <Head :headText="headText"></Head>
-    <div class="appealBox">
-      <div class="left">
-        <div class="title">
-          <span class="Micbold">可申诉的未执行策略</span>
-          <span v-if="appealsArr.length>0">{{appealsArr.length}}</span>
-        </div>
-        <div class="execute">
+  <div class="appealBoxContainer">
+    <div class="top">
+      <Head :headText="headText"></Head>
+    </div>
+    <div class="bottom">
+      <div class="appealBox">
+        <div class="appealBoxLeft">
+          <div class="title">
+            <span class="Micbold">可申诉的未执行策略</span>
+            <span v-if="appealsArr.length>0">{{appealsArr.length}}</span>
+          </div>
           <p class="date MicrYaHei">{{appealsDate?formatterStr(appealsDate):'--'}}</p>
-          <div class="card-box">
-            <div class="card" v-for="(item,index) in appealsArr" :key="index+'i'">
-              <div class="time">执行时间:{{item.recommend?formatterStr2(item.recommend.time):'--'}}</div>
-              <div class="advice MicrYaHei">
-                <span>策略建议</span>
-                <span>冷机台数</span>
-                <span>{{item.recommend.chillerNumSetL||'--'}}大{{item.recommend.chillerNumSetS||'--'}}小</span>
-                <span>冷机出水温度</span>
-                <span>{{item.real?item.real.chillWaterOutTempSet:'--'}}°C</span>
-              </div>
-              <div class="advice">
-                <span>实际执行</span>
-                <span>冷机台数</span>
-                <span>{{item.real?item.real.chillerNumSetLOrg:'--'}}大{{item.real?item.real.chillerNumSetSOrg:'--'}}小</span>
-                <span>冷机出水温度</span>
-                <span>{{item.real?item.real.chillWaterOutTempSetOrg:'--'}}°C</span>
-              </div>
-              <div class="remark">备注:{{item.remarks||'--'}}</div>
-              <div class="btn">
-                <el-button size="mini" @click="viewSnapshots = true">查看快照</el-button>
-                <el-button size="mini" type="primary" @click="menu(item)">申诉</el-button>
+          <div class="left">
+            <div class="execute">
+              <div class="card" v-for="(item,index) in appealsArr" :key="index+'i'">
+                <div class="time">执行时间:{{item.recommend?formatterStr2(item.recommend.time):'--'}}</div>
+                <div class="advice MicrYaHei">
+                  <span>策略建议</span>
+                  <span>冷机台数</span>
+                  <span>{{item.recommend.chillerNumSetL||'--'}}大{{item.recommend.chillerNumSetS||'--'}}小</span>
+                  <span>冷机出水温度</span>
+                  <span>{{item.real?item.real.chillWaterOutTempSet:'--'}}°C</span>
+                </div>
+                <div class="advice">
+                  <span>实际执行</span>
+                  <span>冷机台数</span>
+                  <span>{{item.real?item.real.chillerNumSetLOrg:'--'}}大{{item.real?item.real.chillerNumSetSOrg:'--'}}小</span>
+                  <span>冷机出水温度</span>
+                  <span>{{item.real?item.real.chillWaterOutTempSetOrg:'--'}}°C</span>
+                </div>
+                <div class="remark">备注:{{item.remarks||'--'}}</div>
+                <div class="btn">
+                  <el-button size="mini" @click="viewSnapshots = true">查看快照</el-button>
+                  <el-button size="mini" type="primary" @click="menu(item)">申诉</el-button>
+                </div>
               </div>
             </div>
           </div>
         </div>
-      </div>
-      <div class="center">
-        <div class="title">
-          <span class="Micbold">审核中</span>
-          <span v-if="InAuditArr.length>0">{{InAuditArr.length}}</span>
-        </div>
-        <div class="card" v-for="(item,index) in InAuditArr" :key="index">
-          <div class="time">
-            <span class="time-box">
-              <span>{{item.pushTime?formatter(item.pushTime):'--'}}</span>
-              <span>{{item.title||'--'}}</span>
-            </span>
-            <span class="backout" @click="backoutClick(item,'revoke')">
-              <img src="../../assets/backout.png" />撤销申请
-            </span>
+        <div class="appealBoxCenter">
+          <div class="title">
+            <span class="Micbold">审核中</span>
+            <span v-if="InAuditArr.length>0">{{InAuditArr.length}}</span>
           </div>
-          <div class="remark">申请原因:{{item.reasonType||'--'}}</div>
-          <div class="remark">{{item.reason||'--'}}</div>
-        </div>
-      </div>
-      <div class="right">
-        <div class="title Micbold">审核完成/超时未申诉</div>
-        <div class="card" v-for="(item,index) in auditCompletedArr" :key="index">
-          <div class="remark">
-            <div class="remark-left">审批时间:{{item.updateTime?formatter1(item.updateTime):'--'}}</div>
-            <div class="remark-right Micbold">
-              <span
-                :class="item.status=='303'?'backout':(item.status=='306'?'backout1':'backout2')"
-              >
-                <img
-                  :src="item.status=='303'?require('../../assets/completed.png'):(item.status=='306'?require('../../assets/gray.png'):require('../../assets/error.png'))"
-                />
-                {{item.status=='303'?'申诉成功':(item.status=='306'?'未申诉':'申诉失败')}}
-              </span>
+          <div class="center">
+            <div class="card" v-for="(item,index) in InAuditArr" :key="index">
+              <div class="time">
+                <span class="time-box">
+                  <span>{{item.pushTime?formatter(item.pushTime):'--'}}</span>
+                  <span>{{item.title||'--'}}</span>
+                </span>
+                <span class="backout" @click="backoutClick(item,'revoke')">
+                  <img src="../../assets/backout.png" />撤销申请
+                </span>
+              </div>
+              <div class="remark">申请原因:{{item.reasonType||'--'}}</div>
+              <div class="remark">{{item.reason||'--'}}</div>
             </div>
           </div>
-          <div class="time">
-            <span>{{item.pushTime?formatter(item.pushTime):'--'}}</span>
-            <span>{{item.title||'--'}}</span>
+        </div>
+        <div class="appealBoxRight">
+          <div class="title Micbold">审核完成/超时未申诉</div>
+          <div class="right">
+            <div class="card" v-for="(item,index) in auditCompletedArr" :key="index">
+              <div class="remark">
+                <div class="remark-left">审批时间:{{item.updateTime?formatter1(item.updateTime):'--'}}</div>
+                <div class="remark-right Micbold">
+                  <span
+                    :class="item.status=='303'?'backout':(item.status=='306'?'backout1':'backout2')"
+                  >
+                    <img
+                      :src="item.status=='303'?require('../../assets/completed.png'):(item.status=='306'?require('../../assets/gray.png'):require('../../assets/error.png'))"
+                    />
+                    {{item.status=='303'?'申诉成功':(item.status=='306'?'未申诉':'申诉失败')}}
+                  </span>
+                </div>
+              </div>
+              <div class="time">
+                <span>{{item.pushTime?formatter(item.pushTime):'--'}}</span>
+                <span>{{item.title||'--'}}</span>
+              </div>
+            </div>
           </div>
         </div>
       </div>
@@ -91,7 +99,11 @@
 </template>
 <script>
 import Head from "../main/index";
-import { queryWorkflow, queryChillerExecuteInfo } from "@/api/appeal/appeal.js";
+import {
+  queryWorkflow,
+  queryChillerExecuteInfo,
+  querySimpleInfo
+} from "@/api/appeal/appeal.js";
 import EvSnapshotsDialog from "../evaluate/evSnapshotsDialog";
 import { updateWorkflow } from "@/api/audit/audit.js";
 
@@ -249,304 +261,334 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-.appealBox {
-  background: #fff;
+.appealBoxContainer {
+  height: 100%;
   display: flex;
-  justify-content: space-between;
-  padding: 20px;
-  .left {
+  .top {
+    height: 100px;
+  }
+  .bottom {
     flex: 1;
-    min-width: 480px;
-    .title {
+    .appealBox {
+      height: 100%;
+      background: #fff;
       display: flex;
-      align-items: center;
-      span:nth-of-type(1) {
-        height: 24px;
-        font-size: 16px;
-        color: rgba(31, 36, 41, 1);
-        line-height: 21px;
-        margin-right: 8px;
-      }
-      span:nth-of-type(2) {
-        width: 18px;
-        height: 18px;
-        background: rgba(245, 74, 69, 1);
-        border-radius: 9px;
-        border: 1px solid rgba(255, 255, 255, 1);
-        font-size: 12px;
-        font-family: ArialMT;
-        color: rgba(255, 255, 255, 1);
-        line-height: 18px;
-        text-align: center;
-      }
-    }
-    .execute {
-      .date {
-        height: 18px;
-        font-size: 12px;
-        color: rgba(141, 147, 153, 1);
-        line-height: 16px;
-        margin: 0;
-        text-align: center;
-      }
-      .card-box {
-        height: 500px;
-        overflow: scroll;
-        margin-bottom: 24px;
-        .card {
-          background: rgba(255, 255, 255, 1);
-          border-radius: 4px;
-          border: 1px solid rgba(228, 230, 231, 1);
-          margin-top: 8px;
-          padding: 16px 20px;
-          cursor: pointer;
-          .time {
+      justify-content: space-between;
+      padding: 0 24px;
+      .appealBoxLeft {
+        flex: 1;
+        height: 100%;
+        display: flex;
+        flex-direction: column;
+        // overflow: scroll;
+        .title {
+          display: flex;
+          align-items: center;
+          padding-top: 116px;
+          span:nth-of-type(1) {
             height: 24px;
             font-size: 16px;
-            font-family: PingFangSC-Regular, PingFang SC;
-            font-weight: 400;
             color: rgba(31, 36, 41, 1);
-            line-height: 22px;
-            margin-bottom: 8px;
+            line-height: 21px;
+            margin-right: 8px;
           }
-          .advice {
-            margin-top: 4px;
-            height: 40px;
-            background: rgba(245, 246, 247, 1);
-            border-radius: 1px;
-            display: flex;
-            justify-content: space-between;
-            padding-left: 16px;
-            padding-right: 20px;
-            align-items: center;
-            span:nth-of-type(1),
-            span:nth-of-type(3),
-            span:nth-of-type(5) {
-              height: 22px;
-              font-size: 14px;
-              color: rgba(31, 36, 41, 1);
-            }
-            span:nth-of-type(3) {
-              width: 115px;
-            }
-            span:nth-of-type(2),
-            span:nth-of-type(4) {
-              height: 18px;
-              font-size: 12px;
-              color: rgba(141, 147, 153, 1);
-            }
-            span:nth-of-type(1) {
-              width: 56px;
-              margin-right: 36px;
-            }
-            span:nth-of-type(2) {
-              margin-right: 8px;
-            }
-            span:nth-of-type(3) {
-              margin-right: 24px;
-            }
-            span:nth-of-type(4) {
-              margin-right: 8px;
-            }
-          }
-          .remark {
-            height: 22px;
-            font-size: 14px;
-            font-family: PingFangSC-Regular, PingFang SC;
-            font-weight: 400;
-            color: rgba(100, 108, 115, 1);
-            line-height: 20px;
-            margin-top: 16px;
-            margin-bottom: 24px;
+          span:nth-of-type(2) {
+            width: 18px;
+            height: 18px;
+            background: rgba(245, 74, 69, 1);
+            border-radius: 9px;
+            border: 1px solid rgba(255, 255, 255, 1);
+            font-size: 12px;
+            font-family: ArialMT;
+            color: rgba(255, 255, 255, 1);
+            line-height: 18px;
+            text-align: center;
           }
-          .btn {
-            display: flex;
-            justify-content: flex-end;
-            .el-button {
-              width: 80px;
-              height: 28px;
+        }
+        .date {
+          height: 18px;
+          font-size: 12px;
+          color: rgba(141, 147, 153, 1);
+          line-height: 16px;
+          margin: 0;
+          text-align: center;
+        }
+        .left {
+          flex: 1;
+          overflow: scroll;
+          .execute {
+            .card {
+              min-width: 445px;
+              background: rgba(255, 255, 255, 1);
+              border-radius: 4px;
+              border: 1px solid rgba(228, 230, 231, 1);
+              margin-top: 8px;
+              padding: 16px 20px;
+              cursor: pointer;
+              .time {
+                height: 24px;
+                font-size: 16px;
+                font-family: PingFangSC-Regular, PingFang SC;
+                font-weight: 400;
+                color: rgba(31, 36, 41, 1);
+                line-height: 22px;
+                margin-bottom: 8px;
+              }
+              .advice {
+                margin-top: 4px;
+                height: 40px;
+                background: rgba(245, 246, 247, 1);
+                border-radius: 1px;
+                display: flex;
+                justify-content: space-between;
+                padding-left: 16px;
+                padding-right: 20px;
+                align-items: center;
+                span:nth-of-type(1),
+                span:nth-of-type(3),
+                span:nth-of-type(5) {
+                  height: 22px;
+                  font-size: 14px;
+                  color: rgba(31, 36, 41, 1);
+                }
+                span:nth-of-type(3) {
+                  width: 115px;
+                }
+                span:nth-of-type(2),
+                span:nth-of-type(4) {
+                  height: 18px;
+                  font-size: 12px;
+                  color: rgba(141, 147, 153, 1);
+                }
+                span:nth-of-type(1) {
+                  width: 56px;
+                  margin-right: 36px;
+                }
+                span:nth-of-type(2) {
+                  margin-right: 8px;
+                }
+                span:nth-of-type(3) {
+                  margin-right: 24px;
+                }
+                span:nth-of-type(4) {
+                  margin-right: 8px;
+                }
+              }
+              .remark {
+                height: 22px;
+                font-size: 14px;
+                font-family: PingFangSC-Regular, PingFang SC;
+                font-weight: 400;
+                color: rgba(100, 108, 115, 1);
+                line-height: 20px;
+                margin-top: 16px;
+                margin-bottom: 24px;
+              }
+              .btn {
+                display: flex;
+                justify-content: flex-end;
+                .el-button {
+                  width: 80px;
+                  height: 28px;
+                }
+              }
             }
           }
-        }
-      }
-
-      .card:after {
-        display: block;
-        clear: both;
-        content: "";
-        visibility: hidden;
-        height: 0;
-      }
-    }
-  }
-  .center {
-    flex: 1;
-    margin: 0 18px;
-    min-width: 410px;
 
-    .title {
-      display: flex;
-      margin-bottom: 16px;
-      span:nth-of-type(1) {
-        height: 24px;
-        font-size: 16px;
-        color: rgba(31, 36, 41, 1);
-        line-height: 21px;
-        margin-right: 8px;
-      }
-      span:nth-of-type(2) {
-        text-align: center;
-        line-height: 18px;
-        width: 18px;
-        height: 18px;
-        background: rgba(245, 74, 69, 1);
-        border-radius: 9px;
-        border: 1px solid rgba(255, 255, 255, 1);
-        font-size: 12px;
-        font-family: ArialMT;
-        color: rgba(255, 255, 255, 1);
+          .card:after {
+            display: block;
+            clear: both;
+            content: "";
+            visibility: hidden;
+            height: 0;
+          }
+        }
       }
-    }
-    .card {
-      margin-top: 8px;
-      cursor: pointer;
-      background: rgba(255, 255, 255, 1);
-      border-radius: 4px;
-      border: 1px solid rgba(228, 230, 231, 1);
-      padding: 16px 20px;
-
-      .time {
-        margin-bottom: 6px;
-        height: 24px;
-        font-size: 16px;
-        font-family: PingFangSC-Regular, PingFang SC;
-        font-weight: 400;
-        color: rgba(31, 36, 41, 1);
-        line-height: 22px;
-        .time-box {
+      .appealBoxCenter {
+        flex: 1;
+        height: 100%;
+        margin: 0 24px;
+        // overflow: scroll;
+        //  height: 100%;
+        display: flex;
+        flex-direction: column;
+        .title {
           display: flex;
-          align-items: center;
+          margin-bottom: 16px;
+          padding-top: 116px;
           span:nth-of-type(1) {
-            width: 140px;
+            height: 24px;
+            font-size: 16px;
+            color: rgba(31, 36, 41, 1);
+            line-height: 21px;
+            margin-right: 8px;
           }
-        }
-        .backout {
-          display: flex;
-          align-items: center;
-          font-size: 14px;
-          font-family: MicrosoftYaHei;
-          color: rgba(0, 145, 255, 1);
-          float: right;
-          margin-right: 20px;
-          display: none;
-          img {
-            height: 15px;
+          span:nth-of-type(2) {
+            text-align: center;
+            line-height: 18px;
             width: 18px;
+            height: 18px;
+            background: rgba(245, 74, 69, 1);
+            border-radius: 9px;
+            border: 1px solid rgba(255, 255, 255, 1);
+            font-size: 12px;
+            font-family: ArialMT;
+            color: rgba(255, 255, 255, 1);
           }
         }
-      }
-      .remark {
-        margin-top: 4px;
-        height: 22px;
-        font-size: 14px;
-        font-family: PingFangSC-Regular, PingFang SC;
-        font-weight: 400;
-        color: rgba(100, 108, 115, 1);
-        line-height: 20px;
-      }
-    }
-    .card:hover {
-      border: 1px solid rgba(0, 145, 255, 1);
-    }
-    .card:hover .backout {
-      display: block;
-    }
-  }
+        .center {
+          margin: 0 18px;
+          min-width: 410px;
+          flex: 1;
+          overflow: scroll;
+          .card {
+            margin-top: 8px;
+            cursor: pointer;
+            background: rgba(255, 255, 255, 1);
+            border-radius: 4px;
+            border: 1px solid rgba(228, 230, 231, 1);
+            padding: 16px 20px;
 
-  .right {
-    flex: 1;
-    min-width: 310px;
-    max-height: 900px;
-    overflow: scroll;
-    .title {
-      margin-bottom: 16px;
-    }
-    .card {
-      margin-bottom: 8px;
-      background: rgba(255, 255, 255, 1);
-      border-radius: 4px;
-      border: 1px solid rgba(228, 230, 231, 1);
-      padding: 16px 20px;
-      cursor: pointer;
-      .remark {
-        margin-bottom: 14px;
-        display: flex;
-        justify-content: space-between;
-        align-items: center;
-        .remark-left {
-          height: 22px;
-          font-size: 14px;
-          font-family: PingFangSC-Regular, PingFang SC;
-          font-weight: 400;
-          color: rgba(100, 108, 115, 1);
-          line-height: 20px;
-        }
-        .remark-right {
-          height: 24px;
-          height: 22px;
-          font-size: 14px;
-          line-height: 22px;
-
-          img {
-            width: 14px;
-            height: 14px;
-            margin-right: 4px;
-          }
-          .backout {
-            display: flex;
-            justify-content: space-between;
-            align-items: center;
-            padding-left: 12px;
-            padding-right: 14px;
-            background: rgba(217, 245, 214, 1);
-            color: rgba(52, 199, 36, 1);
-            border-radius: 12px;
+            .time {
+              margin-bottom: 6px;
+              height: 24px;
+              font-size: 16px;
+              font-family: PingFangSC-Regular, PingFang SC;
+              font-weight: 400;
+              color: rgba(31, 36, 41, 1);
+              line-height: 22px;
+              .time-box {
+                display: flex;
+                align-items: center;
+                span:nth-of-type(1) {
+                  width: 140px;
+                }
+              }
+              .backout {
+                display: flex;
+                align-items: center;
+                font-size: 14px;
+                font-family: MicrosoftYaHei;
+                color: rgba(0, 145, 255, 1);
+                float: right;
+                margin-right: 20px;
+                display: none;
+                img {
+                  height: 15px;
+                  width: 18px;
+                }
+              }
+            }
+            .remark {
+              margin-top: 4px;
+              height: 22px;
+              font-size: 14px;
+              font-family: PingFangSC-Regular, PingFang SC;
+              font-weight: 400;
+              color: rgba(100, 108, 115, 1);
+              line-height: 20px;
+            }
           }
-          .backout1 {
-            display: flex;
-            justify-content: space-between;
-            align-items: center;
-            padding-left: 12px;
-            padding-right: 14px;
-            background: rgba(239, 240, 241, 1);
-            color: rgba(141, 147, 153, 1);
-            border-radius: 12px;
+          .card:hover {
+            border: 1px solid rgba(0, 145, 255, 1);
           }
-          .backout2 {
-            display: flex;
-            justify-content: space-between;
-            align-items: center;
-            padding-left: 12px;
-            padding-right: 14px;
-            background: rgba(253, 227, 226, 1);
-            color: rgba(245, 78, 69, 1);
-            border-radius: 12px;
+          .card:hover .backout {
+            display: block;
           }
         }
       }
-      .time {
-        padding: 8px 12px;
-        background: rgba(248, 249, 250, 1);
-        border-radius: 1px;
-        height: 22px;
-        font-size: 14px;
-        font-family: PingFangSC-Regular, PingFang SC;
-        font-weight: 400;
-        color: rgba(31, 36, 41, 1);
-        line-height: 20px;
-        span:nth-of-type(2) {
-          margin-left: 10px;
-          margin-right: 5px;
+      .appealBoxRight {
+        flex: 1;
+        height: 100%;
+        display: flex;
+        flex-direction: column;
+        .title {
+          padding-top: 116px;
+          margin-bottom: 16px;
+        }
+        .right {
+          flex: 1;
+          overflow: scroll;
+          min-width: 310px;
+          .card {
+            margin-bottom: 8px;
+            background: rgba(255, 255, 255, 1);
+            border-radius: 4px;
+            border: 1px solid rgba(228, 230, 231, 1);
+            padding: 16px 20px;
+            cursor: pointer;
+            .remark {
+              margin-bottom: 14px;
+              display: flex;
+              justify-content: space-between;
+              align-items: center;
+              .remark-left {
+                height: 22px;
+                font-size: 14px;
+                font-family: PingFangSC-Regular, PingFang SC;
+                font-weight: 400;
+                color: rgba(100, 108, 115, 1);
+                line-height: 20px;
+              }
+              .remark-right {
+                height: 24px;
+                height: 22px;
+                font-size: 14px;
+                line-height: 22px;
+
+                img {
+                  width: 14px;
+                  height: 14px;
+                  margin-right: 4px;
+                }
+                .backout {
+                  display: flex;
+                  justify-content: space-between;
+                  align-items: center;
+                  padding-left: 12px;
+                  padding-right: 14px;
+                  background: rgba(217, 245, 214, 1);
+                  color: rgba(52, 199, 36, 1);
+                  border-radius: 12px;
+                }
+                .backout1 {
+                  display: flex;
+                  justify-content: space-between;
+                  align-items: center;
+                  padding-left: 12px;
+                  padding-right: 14px;
+                  background: rgba(239, 240, 241, 1);
+                  color: rgba(141, 147, 153, 1);
+                  border-radius: 12px;
+                }
+                .backout2 {
+                  display: flex;
+                  justify-content: space-between;
+                  align-items: center;
+                  padding-left: 12px;
+                  padding-right: 14px;
+                  background: rgba(253, 227, 226, 1);
+                  color: rgba(245, 78, 69, 1);
+                  border-radius: 12px;
+                }
+              }
+            }
+            .time {
+              padding: 8px 12px;
+              background: rgba(248, 249, 250, 1);
+              border-radius: 1px;
+              height: 22px;
+              font-size: 14px;
+              font-family: PingFangSC-Regular, PingFang SC;
+              font-weight: 400;
+              color: rgba(31, 36, 41, 1);
+              line-height: 20px;
+              span:nth-of-type(2) {
+                margin-left: 10px;
+                margin-right: 5px;
+              }
+            }
+          }
         }
       }
     }

+ 282 - 260
src/views/audit/index.vue

@@ -1,22 +1,24 @@
 <template>
-  <div>
-    <Head :headText="headText"></Head>
-    <div class="appealContainer">
-      <div class="appeal-left">
-        <div class="appeal-left-top">
-          <span class="appeal-left-top-span Micbold">待审核</span>
-          <el-select v-model="value" placeholder="请选择">
-            <el-option
-              v-for="item in appealOptions"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            ></el-option>
-          </el-select>
-        </div>
-        <div class="appeal-left-box">
-          <p class="date MicrYaHei">{{'--'}}</p>
-          <div class="appeal-card">
+  <div class="appealBox">
+    <div class="top">
+      <Head :headText="headText"></Head>
+    </div>
+    <div class="bottom">
+      <div class="appealContainer">
+        <div class="appeal-left">
+          <div class="appeal-left-top">
+            <span class="appeal-left-top-span Micbold">待审核</span>
+            <el-select v-model="value" placeholder="请选择">
+              <el-option
+                v-for="item in appealOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              ></el-option>
+            </el-select>
+          </div>
+          <div class="appeal-left-box">
+            <p class="date MicrYaHei">{{'--'}}</p>
             <div
               class="appeal-left-div"
               v-for="(item,index) in auditArr"
@@ -39,49 +41,49 @@
             </div>
           </div>
         </div>
-      </div>
-      <div class="appeal-right">
-        <div class="detailContainer">
+        <div class="appeal-right">
           <div class="title Micbold">未执行申诉单</div>
-          <div class="nav MicrYaHei">
-            <span>项目名称:{{'--'}}</span>
-            <span>申请人:{{auditObj.applyUser||'--'}}</span>
-            <span>申请时间:{{'--'}}</span>
-          </div>
-          <div class="cont1 MicrYaHei">申诉未执行指令:{{auditObj.title||'--'}}</div>
-          <div class="cont2">
-            <audit-table></audit-table>
-          </div>
-          <div class="cont3">
-            <span class="Micbold">策略评价</span>
-            <span class="MicrYaHei">{{auditObj.judgement||'--'}}</span>
-          </div>
-          <div class="cont4">
-            <span class="Micbold">申请原因</span>
-            <span>
-              <el-select size="mini" v-model="auditObj.reasonType" placeholder="请选择">
-                <el-option
-                  v-for="item in options"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                ></el-option>
-              </el-select>
-            </span>
-            <span>
-              <textarea placeholder="填写申请原因" v-model="auditObj.reason"></textarea>
-            </span>
-          </div>
-          <div class="foot">
-            <upload-img :souseArr="auditObj.pics"></upload-img>
+          <div class="detailContainer">
+            <div class="nav MicrYaHei">
+              <span>项目名称:{{'--'}}</span>
+              <span>申请人:{{auditObj.applyUser||'--'}}</span>
+              <span>申请时间:{{'--'}}</span>
+            </div>
+            <div class="cont1 MicrYaHei">申诉未执行指令:{{auditObj.title||'--'}}</div>
+            <div class="cont2">
+              <audit-table></audit-table>
+            </div>
+            <div class="cont3">
+              <span class="Micbold">策略评价</span>
+              <span class="MicrYaHei">{{auditObj.judgement||'--'}}</span>
+            </div>
+            <div class="cont4">
+              <span class="Micbold">申请原因</span>
+              <span>
+                <el-select size="mini" v-model="auditObj.reasonType" placeholder="请选择">
+                  <el-option
+                    v-for="item in options"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                  ></el-option>
+                </el-select>
+              </span>
+              <span>
+                <textarea placeholder="填写申请原因" v-model="auditObj.reason"></textarea>
+              </span>
+            </div>
+            <div>
+              <upload-img :souseArr="auditObj.pics"></upload-img>
+            </div>
           </div>
-        </div>
-        <div class="opinion">
-          <span class="opinion-title Micbold">审批意见</span>
-          <div class="opinion-bottom MicrYaHei">
-            <input type="text" v-model="comment" />
-            <span @click="approvalOpinion(auditObj,'reject')">不同意</span>
-            <span @click="approvalOpinion(auditObj,'approve')">同意</span>
+          <div class="opinion">
+            <span class="opinion-title Micbold">审批意见</span>
+            <div class="opinion-bottom MicrYaHei">
+              <input type="text" v-model="comment" />
+              <span @click="approvalOpinion(auditObj,'reject')">不同意</span>
+              <span @click="approvalOpinion(auditObj,'approve')">同意</span>
+            </div>
           </div>
         </div>
       </div>
@@ -94,6 +96,7 @@ import AuditTable from "./auditTable";
 import uploadImg from "../../components/uploadImg";
 import { queryWorkflow, queryChillerExecuteInfo } from "@/api/appeal/appeal.js";
 import { updateWorkflow } from "@/api/audit/audit.js";
+import { querySimpleInfo } from "@/api/appeal/appeal.js";
 
 var moment = require("moment");
 import "moment/locale/zh-cn";
@@ -134,7 +137,6 @@ export default {
       auditObj: {},
       value: "0",
       comment: "",
-
       souseArr: []
     };
   },
@@ -147,6 +149,11 @@ export default {
     this.query();
   },
   methods: {
+    quertName(id) {
+      querySimpleInfo(id, {}).then(res => {
+        this.auditObj.applyUser = res.realname;
+      });
+    },
     approvalOpinion(item, type) {
       let params = {
         postParams: {
@@ -170,8 +177,8 @@ export default {
       return moment.unix(date / 1000).format("YYYY.MM.DD hh:mm");
     },
     appealClick(item, index) {
-      console.log(item)
       this.auditObj = item;
+      this.quertName(item.applyUser);
       this.isactive = index;
       let params = {
         postParams: {
@@ -195,236 +202,251 @@ export default {
       };
       queryWorkflow(params).then(res => {
         this.auditArr = res.content ? res.content : [];
-        this.auditObj = this.auditArr[0]
-        console.log(this.auditObj)
-        this.appealClick(this.auditObj,0)
+        if (this.auditArr.length > 0) {
+          this.auditObj = this.auditArr[0];
+          this.quertName(this.auditObj.applyUser);
+        }
       });
     }
   }
 };
 </script>
 <style lang="scss" scoped>
-.appealContainer {
+.appealBox {
+  height: 100%;
   display: flex;
-  background: rgba(247, 249, 250, 1);
-  border-top: 1px solid #e4e5e7;
-  margin-top: 5px;
-  .appeal-left {
-    max-width: 460px;
-    min-width: 350px;
-    padding: 16px 24px;
-    overflow: auto;
-    height: 670px;
-    .appeal-left-top {
+  .top {
+    height: 100px;
+  }
+  .bottom {
+    flex: 1;
+    .appealContainer {
+      height: 100%;
       display: flex;
-      justify-content: space-between;
-      align-items: center;
-      margin-bottom: 12px;
-      .appeal-left-top-span {
-        height: 24px;
-        font-size: 16px;
-        color: rgba(31, 36, 41, 1);
-        line-height: 21px;
-      }
-    }
-    .appeal-left-box {
-      margin-bottom: 24px;
-      .date {
-        height: 18px;
-        font-size: 12px;
-        color: rgba(141, 147, 153, 1);
-        line-height: 16px;
-        text-align: center;
+      background: rgba(247, 249, 250, 1);
+      border-top: 1px solid #e4e5e7;
+      margin-top: 5px;
+      .appeal-left {
+        // flex: 1;
+        height: 100%;
+        display: flex;
+        flex-direction: column;
+        max-width: 460px;
+        min-width: 350px;
+        padding-left: 24px;
+        .appeal-left-top {
+          display: flex;
+          justify-content: space-between;
+          align-items: center;
+          margin-bottom: 12px;
+          padding-top: 112px;
+          .appeal-left-top-span {
+            height: 24px;
+            font-size: 16px;
+            color: rgba(31, 36, 41, 1);
+            line-height: 21px;
+          }
+        }
+        .appeal-left-box {
+          flex: 1;
+          overflow: scroll;
+          margin-bottom: 24px;
+          .date {
+            height: 18px;
+            font-size: 12px;
+            color: rgba(141, 147, 153, 1);
+            line-height: 16px;
+            text-align: center;
+          }
+
+          .appeal-left-div {
+            margin-bottom: 8px;
+            padding: 16px 20px;
+            background: rgba(255, 255, 255, 1);
+            border-radius: 4px;
+            border: 1px solid rgba(228, 230, 231, 1);
+            .time {
+              display: flex;
+              justify-content: space-between;
+              margin-bottom: 12px;
+              span:nth-of-type(1) {
+                height: 24px;
+                font-size: 16px;
+                font-family: PingFangSC-Regular, PingFang SC;
+                font-weight: 400;
+                color: rgba(31, 36, 41, 1);
+                line-height: 22px;
+              }
+              span:nth-of-type(2) {
+                display: flex;
+                align-items: center;
+                height: 22px;
+                font-size: 14px;
+                font-family: ArialMT;
+                color: rgba(31, 36, 41, 1);
+                line-height: 16px;
+                img {
+                  width: 16px;
+                  height: 16px;
+                  margin-right: 6px;
+                }
+              }
+              .content {
+                span {
+                  display: block;
+                  height: 22px;
+                  font-size: 14px;
+                  font-family: PingFangSC-Regular, PingFang SC;
+                  font-weight: 400;
+                  color: rgba(100, 108, 115, 1);
+                  line-height: 20px;
+                }
+                span:nth-of-type(2) {
+                  margin: 4px 0;
+                }
+              }
+            }
+          }
+          .border {
+            border: 1px solid rgba(0, 145, 255, 1);
+          }
+        }
       }
-      .appeal-card {
-        height: 300px;
-        overflow: scroll;
-        .appeal-left-div {
-          margin-bottom: 8px;
-          padding: 16px 20px;
+      .appeal-right {
+        flex: 1;
+        margin-left: 28px;
+        height: 100%;
+        display: flex;
+        flex-direction: column;
+        background: #fff;
+        .title {
+          height: 32px;
+          font-size: 24px;
+          color: rgba(31, 36, 41, 1);
+          line-height: 32px;
+          padding-top: 148px;
+          text-align: center;
+        }
+        .detailContainer {
+          flex: 1;
+          overflow: scroll;
+          min-width: 762px;
+          padding: 0 100px;
+          margin: 0 auto;
+          padding-bottom: 24px;
           background: rgba(255, 255, 255, 1);
-          border-radius: 4px;
-          border: 1px solid rgba(228, 230, 231, 1);
-          .time {
+          margin-bottom: 100px;
+
+          .nav {
             display: flex;
             justify-content: space-between;
+            margin-top: 40px;
             margin-bottom: 12px;
+            span {
+              height: 22px;
+              font-size: 14px;
+              color: rgba(31, 36, 41, 1);
+              line-height: 19px;
+            }
+          }
+          .cont1 {
+            height: 22px;
+            font-size: 14px;
+            color: rgba(31, 36, 41, 1);
+            line-height: 19px;
+            margin-bottom: 16px;
+          }
+          .cont2 {
+            margin-bottom: 24px;
+            height: 180px;
+          }
+          .cont3 {
+            margin-bottom: 24px;
+            span {
+              display: block;
+            }
             span:nth-of-type(1) {
               height: 24px;
               font-size: 16px;
-              font-family: PingFangSC-Regular, PingFang SC;
-              font-weight: 400;
               color: rgba(31, 36, 41, 1);
-              line-height: 22px;
+              line-height: 21px;
+              margin-bottom: 8px;
             }
             span:nth-of-type(2) {
-              display: flex;
-              align-items: center;
               height: 22px;
               font-size: 14px;
-              font-family: ArialMT;
-              color: rgba(31, 36, 41, 1);
-              line-height: 16px;
-              img {
-                width: 16px;
-                height: 16px;
-                margin-right: 6px;
-              }
+              color: rgba(100, 108, 115, 1);
+              line-height: 19px;
             }
           }
-          .content {
+          .cont4 {
+            margin-bottom: 8px;
             span {
               display: block;
-              height: 22px;
-              font-size: 14px;
-              font-family: PingFangSC-Regular, PingFang SC;
-              font-weight: 400;
-              color: rgba(100, 108, 115, 1);
-              line-height: 20px;
+            }
+            span:nth-of-type(1) {
+              height: 24px;
+              font-size: 16px;
+              color: rgba(31, 36, 41, 1);
+              line-height: 21px;
             }
             span:nth-of-type(2) {
-              margin: 4px 0;
+              margin: 8px 0;
+            }
+            span:nth-of-type(3) {
+              textarea {
+                width: 762px;
+                height: 64px;
+                border-radius: 4px;
+                border: 1px solid rgba(195, 199, 203, 1);
+                color: rgba(195, 199, 203, 1);
+              }
             }
           }
         }
-        .border {
-          border: 1px solid rgba(0, 145, 255, 1);
-        }
-      }
-    }
-  }
-  .appeal-right {
-    flex: 1;
-    position: relative;
-    .detailContainer {
-      min-width: 762px;
-      padding: 0 100px;
-      margin: 0 auto;
-      padding-top: 36px;
-      padding-bottom: 24px;
-      background: rgba(255, 255, 255, 1);
-      margin-bottom: 100px;
-      .title {
-        height: 32px;
-        font-size: 24px;
-        color: rgba(31, 36, 41, 1);
-        line-height: 32px;
-        text-align: center;
-      }
-      .nav {
-        display: flex;
-        justify-content: space-between;
-        margin-top: 40px;
-        margin-bottom: 12px;
-        span {
-          height: 22px;
-          font-size: 14px;
-          color: rgba(31, 36, 41, 1);
-          line-height: 19px;
-        }
-      }
-      .cont1 {
-        height: 22px;
-        font-size: 14px;
-        color: rgba(31, 36, 41, 1);
-        line-height: 19px;
-        margin-bottom: 16px;
-      }
-      .cont2 {
-        margin-bottom: 24px;
-        height: 180px;
-      }
-      .cont3 {
-        margin-bottom: 24px;
-        span {
-          display: block;
-        }
-        span:nth-of-type(1) {
-          height: 24px;
-          font-size: 16px;
-          color: rgba(31, 36, 41, 1);
-          line-height: 21px;
-          margin-bottom: 8px;
-        }
-        span:nth-of-type(2) {
-          height: 22px;
-          font-size: 14px;
-          color: rgba(100, 108, 115, 1);
-          line-height: 19px;
-        }
-      }
-      .cont4 {
-        margin-bottom: 8px;
-        span {
-          display: block;
-        }
-        span:nth-of-type(1) {
-          height: 24px;
-          font-size: 16px;
-          color: rgba(31, 36, 41, 1);
-          line-height: 21px;
-        }
-        span:nth-of-type(2) {
-          margin: 8px 0;
-        }
-        span:nth-of-type(3) {
-          textarea {
-            width: 762px;
-            height: 64px;
-            border-radius: 4px;
-            border: 1px solid rgba(195, 199, 203, 1);
-            color: rgba(195, 199, 203, 1);
+        .opinion {
+          box-sizing: border-box;
+          background: rgba(247, 249, 250, 1);
+          box-shadow: 0px -1px 8px 0px rgba(0, 0, 0, 0.08);
+          position: absolute;
+          bottom: 0px;
+          padding: 16px 32px;
+          .opinion-title {
+            height: 24px;
+            font-size: 16px;
+            color: rgba(31, 36, 41, 1);
+            line-height: 21px;
+            margin-bottom: 8px;
+            display: block;
+          }
+          .opinion-bottom {
+            display: flex;
+            align-items: center;
+            input {
+              width: 697px;
+              height: 32px;
+              background: rgba(255, 255, 255, 1);
+              border-radius: 4px;
+              border: 1px solid rgba(195, 199, 203, 1);
+              margin-right: 32px;
+            }
+            span {
+              display: inline-block;
+              width: 80px;
+              height: 32px;
+              background: rgba(255, 255, 255, 1);
+              border-radius: 4px;
+              border: 1px solid rgba(195, 199, 203, 1);
+              font-size: 14px;
+              color: rgba(31, 35, 41, 1);
+              line-height: 32px;
+              text-align: center;
+              cursor: pointer;
+            }
+            span:nth-of-type(1) {
+              margin-right: 12px;
+            }
           }
-        }
-      }
-      .foot {
-        // width: 112px;
-        // height: 112px;
-        // background: rgba(248, 249, 250, 1);
-      }
-    }
-    .opinion {
-      box-sizing: border-box;
-      width: 100%;
-      background: rgba(247, 249, 250, 1);
-      box-shadow: 0px -1px 8px 0px rgba(0, 0, 0, 0.08);
-      position: absolute;
-      bottom: 0px;
-      padding: 16px 32px;
-      .opinion-title {
-        height: 24px;
-        font-size: 16px;
-        color: rgba(31, 36, 41, 1);
-        line-height: 21px;
-        margin-bottom: 8px;
-        display: block;
-      }
-      .opinion-bottom {
-        display: flex;
-        align-items: center;
-        input {
-          width: 697px;
-          height: 32px;
-          background: rgba(255, 255, 255, 1);
-          border-radius: 4px;
-          border: 1px solid rgba(195, 199, 203, 1);
-          margin-right: 32px;
-        }
-        span {
-          display: inline-block;
-          width: 80px;
-          height: 32px;
-          background: rgba(255, 255, 255, 1);
-          border-radius: 4px;
-          border: 1px solid rgba(195, 199, 203, 1);
-          font-size: 14px;
-          color: rgba(31, 35, 41, 1);
-          line-height: 32px;
-          text-align: center;
-          cursor: pointer;
-        }
-        span:nth-of-type(1) {
-          margin-right: 12px;
         }
       }
     }

+ 24 - 8
src/views/evaluate/evCard.vue

@@ -1,27 +1,36 @@
 <template>
   <div class="count-card-box">
     <div class="count-card" v-for="(item,index) in cardList" :key="index">
-      <div class="card-div1">执行时间:{{item.a}}</div>
+      <div class="card-div1">执行时间:{{item.recommend?formatterStr2(item.recommend.time):'--'}}</div>
       <div class="card-div2 MicrYaHei">
         <span>策略建议</span>
         <span>冷机台数</span>
-        <span>{{item.b}}大{{item.c}}小</span>
+        <span>{{item.recommend?item.recommend.chillerNumSetL:'--'}}大{{item.recommend?item.recommend.chillerNumSetS:'--'}}小</span>
         <span>冷机出水温度</span>
-        <span>{{item.d}}°C</span>
+        <span>{{item.recommend?item.recommend.chillWaterOutTempSet:'--'}}°C</span>
       </div>
       <div class="card-div3 MicrYaHei">
         <span>实际执行</span>
         <span>冷机台数</span>
-        <span>{{item.e}}大{{item.f}}小</span>
+        <span>{{item.real?item.real.chillerNumSetLOrg:'--'}}大{{item.real?item.real.chillerNumSetSOrg:'--'}}小</span>
         <span>冷机出水温度</span>
-        <span>{{item.g}}°C</span>
+        <span>{{item.real?item.real.chillWaterOutTempSetOrg:'--'}}°C</span>
       </div>
       <div class="card-div4">备注:{{item.h||'--'}}</div>
       <div class="card-div5">
-        <span :class="item.g>5?'card-div6':(item.g>2?'card-div8':'card-div7')">
-          <img :src="item.i" alt />
-          {{item.k}}
+        <span class="card-div7" v-if="item.recommend.isExecuted==true">
+          <img src="../../assets/completed.png" alt />
+          已按策略执行
         </span>
+        <span class="card-div6" v-else>
+          <img src="../../assets/error.png" alt />
+          未按策略执行
+        </span>
+        <!-- <span class="card-div8">
+          <img src="../../assets/processing.png" alt />
+          申诉中
+        </span>-->
+
         <span class="MicrYaHei" @click="viewSnapshots = true">查看快照</span>
       </div>
     </div>
@@ -48,6 +57,13 @@ export default {
   props: ["cardList"],
   components: {
     EvSnapshotsDialog
+  },
+  methods: {
+    formatterStr2(str) {
+      if (str) {
+        return str.substring(0, 2) + ":" + str.substring(2, 4);
+      }
+    }
   }
 };
 </script>

+ 6 - 49
src/views/evaluate/evTwoLevelMenu.vue

@@ -91,54 +91,7 @@ export default {
       tindoorOverrunDegree: "", //超限程度
       tindoorFillRate: "", //室内温度满足率
       energySavingRate: "", //节能率
-      cardList: [
-        {
-          a: "08:30",
-          b: "1",
-          c: "2",
-          d: "8.0",
-          e: "1",
-          f: "2",
-          g: "7.0",
-          h: "这是备注",
-          i: require("../../assets/error.png"),
-          k: "未按策略执行"
-        },
-        {
-          a: "08:30",
-          b: "1",
-          c: "2",
-          d: "8.0",
-          e: "1",
-          f: "2",
-          g: "5.0",
-          i: require("../../assets/processing.png"),
-          k: "申诉中"
-        },
-        {
-          a: "08:30",
-          b: "1",
-          c: "2",
-          d: "8.0",
-          e: "1",
-          f: "2",
-          g: "5.0",
-          i: require("../../assets/processing.png"),
-          k: "申诉中"
-        },
-        {
-          a: "08:30",
-          b: "1",
-          c: "2",
-          d: "8.0",
-          e: "1",
-          f: "2",
-          g: "2.0",
-          h: "这是备注",
-          i: require("../../assets/completed.png"),
-          k: "已按策略执行"
-        }
-      ]
+      cardList: []
     };
   },
   components: {
@@ -185,8 +138,12 @@ export default {
       this.start();
     },
     start() {
-      if (this.num == 2) {
+      if (this.num == 1) {
+        this.queryRunDataQury();
+      } else if (this.num == 2) {
         this.queryEnergyDayQuery();
+      } else if (this.num == 3) {
+        this.queryimplement();
       }
     },
     pickerVal(val) {},