From bb036407bcc0f26a9a0f246aca100d87db2f6e76 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期四, 20 十月 2022 14:54:30 +0800
Subject: [PATCH] 优化

---
 src/components/process/index.vue |  350 ++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 206 insertions(+), 144 deletions(-)

diff --git a/src/components/process/index.vue b/src/components/process/index.vue
index 20f092a..0f18d78 100644
--- a/src/components/process/index.vue
+++ b/src/components/process/index.vue
@@ -1,165 +1,227 @@
 <template>
-    <div class="my-process">
-        <div class="my-pro-header">
-            <div class="pro-step" v-for="(item,index) in list" :key="item.name">
-                <div class="pro-step-top">
-                    <div
-                        :class="['circle',active === index ? 'in-process__circle' : active > index ? 'finish' : 'wait' ]">
-                    </div>
-                    <div :class="['line',active> index ? 'finish-line' :'']"
-                        v-if="index<list.length-1 ? true:false"></div>
-                </div>
-                <div
-                    :class="['pro-step-name',active === index ? 'in-process' : active > index ? 'finish-name' : 'wait' ]">
-                    {{item.name}}</div>
-            </div>
+  <div class="my-process">
+    <div class="my-pro-header">
+      <div class="pro-step" v-for="(item, index) in list" :key="item.name">
+        <div class="pro-step-top">
+          <div
+            :class="[
+              'circle',
+              active === index
+                ? 'in-process__circle'
+                : active > index
+                ? 'finish'
+                : 'wait',
+            ]"
+          ></div>
+          <div
+            :class="['line', active > index ? 'finish-line' : '']"
+            v-if="index < list.length - 1 ? true : false"
+          ></div>
         </div>
-        <div class="my-pro-main">
-            <div class="pro-step-ver" v-for="(item,index) in list" :key="item.title">
-                <div
-                    :class="['pro-step-name',active === index ? 'in-process' : active > index ? 'finish-name' : 'wait' ]">
-                    {{item.name}}</div>
-                <div class="pro-step-top">
-                    <div
-                        :class="['circle',active === index ? 'in-process__circle' : active > index ? 'finish' : 'wait' ]">
-                    </div>
-                    <div :class="['line',active > index ? 'finish-line' :'']"
-                        v-if="index<list.length-1 ? true:false"></div>
-                </div>
-                <div :class="['desc',active === index ? 'in-process' : active > index ? 'finish-name' : 'wait' ]"> 
-                    <div class="desc-title">鐜妭鐢ㄦ椂:{{item.disposeRecords.length !==0 ? item.disposeRecords[0].linkTime : ''}}</div>
-                    <div class="desc-content" v-if="active > index">
-                        <div class="desc-content-message">1111111</div>
-                        <div class="desc-content-endtime">{{item.disposeRecords.length !==0 ? filterTime(item.disposeRecords[0].endTime):''}}</div>
-                    </div>
-                </div>
-            </div>
+        <div
+          :class="[
+            'pro-step-name',
+            active === index
+              ? 'in-process'
+              : active > index
+              ? 'finish-name'
+              : 'wait',
+          ]"
+        >
+          {{ item.name }}
         </div>
+      </div>
     </div>
+    <div class="my-pro-main">
+      <div class="pro-step-ver" v-for="(item, index) in list" :key="item.title">
+        <div
+          :class="[
+            'pro-step-name',
+            active === index
+              ? 'in-process'
+              : active > index
+              ? 'finish-name'
+              : 'wait',
+          ]"
+        >
+          {{ item.name }}
+        </div>
+        <div class="pro-step-top">
+          <div
+            :class="[
+              'circle',
+              active === index
+                ? 'in-process__circle'
+                : active > index
+                ? 'finish'
+                : 'wait',
+            ]"
+          ></div>
+          <div
+            :class="['line', active > index ? 'finish-line' : '']"
+            v-if="index < list.length - 1 ? true : false"
+          ></div>
+        </div>
+        <div
+          :class="[
+            'desc',
+            active === index
+              ? 'in-process'
+              : active > index
+              ? 'finish-name'
+              : 'wait',
+          ]"
+        >
+          <div class="desc-title">
+            鐜妭鐢ㄦ椂:{{
+              item.disposeRecords.length !== 0
+                ? item.disposeRecords[0].linkTime
+                : ""
+            }}
+          </div>
+          <div class="desc-content" v-if="active > index">
+            <div class="desc-content-message">
+              {{ item.disposeRecords[0].result || "" }}
+            </div>
+            <div class="desc-content-endtime">
+              {{
+                item.disposeRecords.length !== 0
+                  ? filterTime(item.disposeRecords[0].endTime)
+                  : ""
+              }}
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
 </template>
 <script>
-import helper from '@/utils/mydate'
+import helper from "@/utils/mydate";
 export default {
-    data() {
-        return {
-            active: 0,
-            list: [
-            ],
-        }
-    },
-    props:['handlePassVo','baseCase'],
-    created(){
-        const {handlePassVo:{workflowConfigSteps:mylist},baseCase:{state:mystate}} = this;
-        // console.log(this.handlePassVo.workflowConfigSteps[0].name); 
-        // console.log(mylist);
-        console.log(mystate);
-        if(mystate ===6){
-            this.active = 1;
-        }else if(mystate===7){
-            this.active = 2;
-        }else if(mystate ===8){
-            this.active = 3;
-        }else if(mystate ===9){
-            this.active = 4;
-        }else{
-            this.active = -1;
-        }
-        this.list =  mylist;
-    },
-    methods:{
-        filterTime(time){
-            if(time){
-                return helper(time)
-            }
-            return;
-        }
+  data() {
+    return {
+      active: 0,
+      list: [],
+    };
+  },
+  props: ["handlePassVo", "baseCase"],
+  created() {
+    const {
+      handlePassVo: { workflowConfigSteps: mylist },
+      baseCase: { state: mystate },
+    } = this;
+    // console.log(this.handlePassVo.workflowConfigSteps[0].name);
+    // console.log(mylist);
+    console.log(mystate);
+    if (mystate === 6) {
+      this.active = 1;
+    } else if (mystate === 7) {
+      this.active = 2;
+    } else if (mystate === 8) {
+      this.active = 3;
+    } else if (mystate === 9) {
+      this.active = 4;
+    } else {
+      this.active = -1;
     }
-}
+    this.list = mylist;
+  },
+  methods: {
+    filterTime(time) {
+      if (time) {
+        return helper(time);
+      }
+      return;
+    },
+  },
+};
 </script>
 <style lang="scss" scoped>
 .my-process {
-    padding-top: 50px;
-    .my-pro-header {
+  padding-top: 50px;
+  .my-pro-header {
+    display: flex;
+
+    .pro-step {
+      flex: 1;
+
+      .pro-step-top {
         display: flex;
+        align-items: center;
 
-        .pro-step {
-            flex: 1;
-
-            .pro-step-top {
-                display: flex;
-                align-items: center;
-
-                .line {
-                    flex: 1;
-                    height: 2px;
-                }
-            }
-
-            .pro-step-name {
-                line-height: 20px;
-            }
+        .line {
+          flex: 1;
+          height: 2px;
         }
-    }
+      }
 
-    .my-pro-main {
-        margin-top: 30px;
-        margin-left: -50px;
-        .pro-step-ver {
-            display: flex;
-            align-items: flex-start;
-            .line {
-                width: 2px;
-                height: 100px;
-            }
-        }
-        .pro-step-top{
-            display: flex;
-            flex-direction: column;
-            align-items: center;
-        }
-        .pro-step-name {
-            width: 120px;
-            line-height: 24px;
-            margin-right: 10px;
-            text-align: right;
-        }
-        .desc{
-            flex: 1;
-            line-height: 24px;
-            margin-left: 10px;
-            // color: #4b9bb7;
-            .desc-content-endtime{
-                display: flex;
-                justify-content: flex-end;
-            }
-        }
+      .pro-step-name {
+        line-height: 20px;
+      }
     }
+  }
 
-    .circle {
-        width: 24px;
-        height: 24px;
-        border-radius: 50%;
-        background-color: #fff;
-        border: 2px solid #808080;
+  .my-pro-main {
+    margin-top: 30px;
+    margin-left: -50px;
+    .pro-step-ver {
+      display: flex;
+      align-items: flex-start;
+      .line {
+        width: 2px;
+        height: 100px;
+      }
     }
+    .pro-step-top {
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+    }
+    .pro-step-name {
+      width: 120px;
+      line-height: 24px;
+      margin-right: 10px;
+      text-align: right;
+    }
+    .desc {
+      flex: 1;
+      line-height: 24px;
+      margin-left: 10px;
+      // color: #4b9bb7;
+      .desc-content-endtime {
+        display: flex;
+        justify-content: flex-end;
+        padding-right: 50px;
+      }
+    }
+  }
 
-    .line {
-        background-color: #c0c4cc;
-    }
-    .in-process{
-        color: #0079fe;
-    }
-    .in-process__circle{
-        border: 2px solid #0079fe;
-    }
-    .finish-line {
-        background-color: #0079fe;
-    }
-    .finish{
-        border: 2px solid #4b9bb7;
-    }
-    .finish-name{
-        color: #4b9bb7;
-    }
+  .circle {
+    width: 24px;
+    height: 24px;
+    border-radius: 50%;
+    background-color: #fff;
+    border: 2px solid #808080;
+  }
+
+  .line {
+    background-color: #c0c4cc;
+  }
+  .in-process {
+    color: #0079fe;
+  }
+  .in-process__circle {
+    border: 2px solid #0079fe;
+  }
+  .finish-line {
+    background-color: #0079fe;
+  }
+  .finish {
+    border: 2px solid #4b9bb7;
+  }
+  .finish-name {
+    color: #4b9bb7;
+  }
 }
 </style>
\ No newline at end of file

--
Gitblit v1.8.0