From c7b33db117fd2893d7d1c93bf5d46e87d33e44d0 Mon Sep 17 00:00:00 2001
From: lkk <364857242@qq.com>
Date: 星期一, 16 十二月 2024 16:08:51 +0800
Subject: [PATCH] 初审结果查询

---
 src/views/hosp/order/index.vue |  437 +++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 366 insertions(+), 71 deletions(-)

diff --git a/src/views/hosp/order/index.vue b/src/views/hosp/order/index.vue
index a2d0947..940c2db 100644
--- a/src/views/hosp/order/index.vue
+++ b/src/views/hosp/order/index.vue
@@ -13,7 +13,7 @@
           ref="inputName"
           v-model="queryParams.name"
           placeholder="璇疯緭鍏ュ鍚�"
-          style="width: 120px"
+          style="width: 150px"
           clearable
           @keyup.enter.native="handleQuery"
         />
@@ -23,7 +23,7 @@
           ref="inputName"
           v-model="queryParams.tjNum"
           placeholder="璇疯緭鍏ヤ綋妫�鍙�"
-          style="width: 170px"
+          style="width: 150px"
           clearable
           @keyup.enter.native="handleQuery"
           @blur="hb"
@@ -34,12 +34,60 @@
           ref="inputName"
           v-model="queryParams.xmmc"
           placeholder="璇疯緭鍏ヤ綋妫�椤圭洰"
-          style="width: 120px"
+          style="width: 150px"
           clearable
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="鐧昏鏃堕棿" prop="createTimeList">
+      <el-form-item
+        label="鍗曚綅鍚嶇О"
+        prop="tjCompName"
+        style="margin-left: 20px;margin-right: 500px;"
+      >
+        <el-select
+          :remote-method="getRemoteData"
+          v-model="queryParams.tjCompName"
+          value-key="drugManufacturerId"
+          style="width: 200px"
+          remote
+          filterable
+          placeholder="璇烽�夋嫨鍗曚綅鍚嶇О"
+          clearable
+          @change="searchSelect"
+          
+        >
+          <el-option
+            v-for="dict in CompanyList"
+            :key="dict.drugManufacturerId"
+            :label="dict.cnName"
+            :value="dict"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item
+        label="鐘舵��"
+        prop="zt"
+      >
+        <el-select
+          :remote-method="getRemoteData"
+          v-model="queryParams.zt"
+          style="width: 150px"
+          remote
+          filterable
+          placeholder="璇烽�夋嫨鐘舵��"
+          clearable
+          @change="searchSelect"
+          
+        >
+          <el-option
+            v-for="item in ztList"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="鐧昏鏃堕棿" prop="createTimeList" style="margin-right: 107px;" >
         <el-date-picker
           v-model="createTimeList"
           type="datetimerange"
@@ -94,7 +142,20 @@
         >
       </el-form-item>
     </el-form>
-
+    <!-- <div class="timeline-wrapper">
+    <el-timeline :reverse="false" class="horizontal-timeline">
+      <el-timeline-item
+        v-for="(item, index) in timelineData"
+        :key="index"
+        :timestamp="item.timestamp"
+        :position="index % 2 === 0 ? 'left' : 'right'">
+        <el-card :body-style="{ padding: '20px' }">
+          <h3>{{ item.title }}</h3>
+          <p>{{ item.description }}</p>
+        </el-card>
+      </el-timeline-item>
+    </el-timeline>
+  </div> -->
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
         <el-button
@@ -246,7 +307,10 @@
           :show-overflow-tooltip="true"
         >
           <template slot-scope="scope">
-            <dict-tag :options="dict.type.dict_team" :value="scope.row.tjType" />
+            <dict-tag
+              :options="dict.type.dict_team"
+              :value="scope.row.tjType"
+            />
             <!-- <span v-if="scope.row.tjType == '2'">涓汉</span>
             <span v-if="scope.row.tjType == '1'">鍥㈤槦</span> -->
           </template>
@@ -265,6 +329,18 @@
           :show-overflow-tooltip="true"
           width="160px"
         />
+        <el-table-column
+          label="鍗曚綅鍚嶇О"
+          align="center"
+          prop="dictCompName"
+          :show-overflow-tooltip="true"
+        />
+        <el-table-column
+          label="鐘舵��"
+          align="center"
+          prop="zt"
+          :show-overflow-tooltip="true"
+        />
         <!-- <el-table-column label="娴佹按鍙�" align="center" prop="tjSerialNumber" /> -->
         <el-table-column
           label="鎵�閫夊椁�"
@@ -273,6 +349,18 @@
           :formatter="driver"
           :show-overflow-tooltip="true"
         />
+        <el-table-column
+          label="瀵艰瘖鎵撳嵃娆℃暟"
+          align="center"
+          prop="dycs"
+          width="110px"
+          :formatter="driver"
+          :show-overflow-tooltip="true"
+        >
+          <template slot-scope="scope">
+            {{ scope.row.dycs === null ? 0 : scope.row.dycs }}
+          </template>
+        </el-table-column>
         <el-table-column
           label="鐧昏鏃堕棿"
           align="center"
@@ -314,19 +402,14 @@
         </el-table-column>
         <!-- <el-table-column label="鍒涘缓浜�" align="center" prop="createBy" /> -->
         <!-- <el-table-column label="鏇存柊浜�" align="center" prop="updateBy" /> -->
-        <el-table-column
+       <!--  <el-table-column
           label="鍗曚綅宸ュ彿"
           align="center"
           prop="firmWorkId"
           width="100px"
           :show-overflow-tooltip="true"
-        />
-        <el-table-column
-          label="鍗曚綅鍚嶇О"
-          align="center"
-          prop="dictCompName"
-          :show-overflow-tooltip="true"
-        />
+        /> -->
+        
         <!-- <el-table-column label="閮ㄩ棬鍚�" align="center" prop="firmDeptName" /> -->
 
         <!-- <el-table-column label="瀹㈡埛鐓х墖" align="center" prop="photo" /> -->
@@ -707,10 +790,14 @@
                 <template>
                   <el-form :model="form">
                     <el-form-item label="浣撴绫诲瀷" prop="tjType">
-                      <el-radio-group v-model="form.tjType">
+                      <div class="type">
+                        {{ { 1: "鍥㈤槦", 2: "涓汉", 3: "鍥綋绁�" }[form.tjType] }}
+                      </div>
+
+                      <!-- <el-radio-group v-model="form.tjType">
                         <el-radio :label="1">鍥㈤槦</el-radio>
                         <el-radio :label="2">涓汉</el-radio>
-                      </el-radio-group>
+                      </el-radio-group> -->
                     </el-form-item>
                   </el-form>
                 </template>
@@ -745,6 +832,7 @@
                         style="width: 120px"
                         v-model="payType"
                         placeholder="璇烽�夋嫨浠樻绫诲瀷"
+                        @change="onPayTypeChange"
                       >
                         <el-option
                           v-for="dict in dict.type.dict_pay_type"
@@ -857,9 +945,9 @@
             </el-tab-pane>
             <el-tab-pane label="鍗曢」" name="third">
               <div class="tab8">
-              <el-row type="flex" class="row-bg" justify="space-around">
-                <el-col :span="22">
-                  <!-- <div
+                <el-row type="flex" class="row-bg" justify="space-around">
+                  <el-col :span="22">
+                    <!-- <div
                   style="
                     text-align: center;
                     margin-bottom: 10px;
@@ -868,29 +956,29 @@
                 >
                   椤圭洰鍒楄〃
                 </div> -->
-                  <el-input
-                    placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
-                    v-model="filterText"
-                  >
-                  </el-input>
-                  <div class="tab3">
-                    <el-tree
-                      class="filter-tree"
-                      v-loading="loading"
-                      :data="Treedata"
-                      :props="defaultProps"
-                      show-checkbox
-                      node-key="proId"
-                      @check="handleCurrentChecked"
-                      :default-checked-keys="checkedkey"
-                      :filter-node-method="filterNode"
-                      ref="tree"
-                      :render-content="renderContent"
+                    <el-input
+                      placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
+                      v-model="filterText"
                     >
-                    </el-tree>
-                  </div>
-                </el-col>
-                <!-- <el-col :span="11">
+                    </el-input>
+                    <div class="tab3">
+                      <el-tree
+                        class="filter-tree"
+                        v-loading="loading"
+                        :data="Treedata"
+                        :props="defaultProps"
+                        show-checkbox
+                        node-key="proId"
+                        @check="handleCurrentChecked"
+                        :default-checked-keys="checkedkey"
+                        :filter-node-method="filterNode"
+                        ref="tree"
+                        :render-content="renderContent"
+                      >
+                      </el-tree>
+                    </div>
+                  </el-col>
+                  <!-- <el-col :span="11">
                 <div
                   style="
                     text-align: center;
@@ -918,7 +1006,7 @@
                   </div>
                 </div>
               </el-col> -->
-                <!-- <el-col :span="11">
+                  <!-- <el-col :span="11">
               <div class="grid-content bg-purple">
                 <div
                   style="
@@ -966,7 +1054,7 @@
                     </template>
                   </el-table-column>
                 </el-table> -->
-                <!-- <el-collapse v-model="activeName" accordion v-if="list1">
+                  <!-- <el-collapse v-model="activeName" accordion v-if="list1">
                   <div>
                     <el-collapse-item title="璇烽�夋嫨椤圭洰">
                       <el-table
@@ -988,16 +1076,16 @@
                     </el-collapse-item>
                   </div>
                 </el-collapse> -->
-                <!-- </div>
+                  <!-- </div>
             </el-col> -->
-              </el-row>
+                </el-row>
               </div>
             </el-tab-pane>
           </el-tabs>
         </div>
 
         <div class="grid-content bg-purple">
-          <div style="text-align: center; margin-bottom: 10px;margin-top:9px">
+          <div style="text-align: center; margin-bottom: 10px; margin-top: 9px">
             宸查�夐」鐩垪琛�
           </div>
           <el-table
@@ -1037,16 +1125,19 @@
       </div>
 
       <div class="heji">
-        <template>
-          <el-form :model="form" :inline="true">
+        <div class="o">
+          <el-form
+            :model="form"
+            :inline="true"
+            style="display: flex; align-items: center"
+          >
             <el-form-item label="浣撴绫诲瀷" prop="tjType">
-              <el-radio-group v-model="form.tjType">
-                <el-radio :label="1">鍥㈤槦</el-radio>
-                <el-radio :label="2">涓汉</el-radio>
-              </el-radio-group>
+              <div class="type">
+                {{ { 1: "鍥㈤槦", 2: "涓汉", 3: "鍥綋绁�" }[form.tjType] }}
+              </div>
             </el-form-item>
           </el-form>
-        </template>
+        </div>
 
         <div class="outsides">
           <el-form :inline="true" class="outside2" label-width="80px">
@@ -1078,6 +1169,7 @@
                 style="width: 120px"
                 v-model="payType"
                 placeholder="璇烽�夋嫨浠樻绫诲瀷"
+                @change="onPayTypeChange"
               >
                 <el-option
                   v-for="dict in dict.type.dict_pay_type"
@@ -1414,22 +1506,41 @@
 import moment from "moment";
 import { getZhList, getlistByZhId } from "@/api/system/package";
 import { getwater } from "@/api/hosp/customer";
+import { getInfo } from "@/api/login";
 import ViewPdf from "@/components/ViewPdf";
 import {
-  projectGetList,
+  shijianzhou,
   getaddtTransition,
   getProParentIdDxList,
   getProSonDxList,
 } from "@/api/system/tijian";
+import {
+  SubmitCompany,
+  getCompany,
+  queryCompany,
+  addbatch,
+} from "@/api/team/tuanti";
 import { createLogger } from "vuex";
 export default {
   components: {
     ViewPdf,
   },
-  dicts: ["dict_pay_type","dict_team"],
+  dicts: ["dict_pay_type", "dict_team"],
   name: "Order",
   data() {
     return {
+      ztList: [
+        {name:'鏈',id: 0},{name:'鍦ㄦ',id: 1},{name:'宸插畬鎴�',id: 2},{name:'宸插鏍�',id: 3},{name:'鐢熸垚鎶ュ憡',id: 4},{name:'鎶ュ憡鏍告敹',id: 5},{name:'宸插嚭鎶ュ憡',id: 6},
+      ],
+      timelineData: [
+        { timestamp: '2024-01-01', title: '鏈', description: 'This is event 1 description' },
+        { timestamp: '2024-01-05', title: '鍦ㄦ', description: 'This is event 2 description' },
+        { timestamp: '2024-01-10', title: '宸插畬鎴�', description: 'This is event 3 description' },
+        { timestamp: '2024-01-15', title: '宸插鏍�', description: 'This is event 4 description' },
+        { timestamp: '2024-01-15', title: '鐢熸垚鎶ュ憡', description: 'This is event 4 description' },
+        { timestamp: '2024-01-15', title: '鎶ュ憡鏍告敹', description: 'This is event 4 description' },
+        { timestamp: '2024-01-15', title: '宸插嚭鎶ュ憡', description: 'This is event 4 description' },
+      ],
       DataList3: [],
       bldhid: "",
       budadaozhen: false,
@@ -1437,6 +1548,7 @@
       DataLists: [],
       infoList: [],
       bldhs: [],
+      CompanyList: [],
       filterage: "",
       activeName1: "second",
       filterText: "",
@@ -1484,6 +1596,7 @@
       TreedataList: [],
       discount: 10,
       DataList: [],
+      tjNUms: [],
       // 濂楅鎻愪氦鎸夐挳
       confirm: false,
       list1: true,
@@ -1494,6 +1607,7 @@
       TotalPrice7: 0,
       numberList: [],
       dialogVisible: false,
+      CheckBox: {},
       // 閬僵灞�
       loading: true,
       // 閫変腑鏁扮粍
@@ -1530,6 +1644,8 @@
         bgbeginTime: null,
         bgendTime: null,
         xmmc: null,
+        tjCompName:'',
+        dw:null
       },
       startTime: "",
       startTime1: "",
@@ -1572,6 +1688,7 @@
       },
     };
   },
+
   watch: {
     filterText(val) {
       this.$refs.tree.filter(val);
@@ -1591,6 +1708,34 @@
     });
   },
   methods: {
+    // 鎼滅储
+    getRemoteData(query) {
+      if (query) {
+        let compName = query;
+        queryCompany(compName).then((response) => {
+          this.CompanyList = response.data;
+          this.CompanyList.forEach((item) => {
+            this.queryParams = item;
+          });
+        });
+      }
+    },
+    // 閫夋鏁版嵁
+    searchSelect(val) {
+      this.CheckBox = val;
+      this.queryParams.dw = this.CheckBox.cnName;
+      console.log(this.CheckBox,9999);
+      
+    },
+    onPayTypeChange() {
+      if (this.payType === "6" && this.form.tjType !== 3) {
+        this.cannotSelectPayType = true;
+        this.$message.warning("璇ヤ粯娆剧被鍨嬪湪姝や綋妫�绫诲瀷涓嬩笉鍏佽閫夋嫨锛�");
+        this.payType = this.dict.type.dict_pay_type[0]?.value || null;
+      } else {
+        this.cannotSelectPayType = false;
+      }
+    },
     getdate() {
       getNewDateList().then((res) => {
         if (res.data) {
@@ -1650,6 +1795,47 @@
     },
     /** 鏌ヨ浣撴璁板綍鍒楄〃 */
     getList() {
+      this.queryParams.compId = this.CheckBox.drugManufacturerId;
+      if (this.startTime) {
+        this.queryParams.djbeginTime = this.startTime[0];
+        this.queryParams.djendTime = this.startTime[1];
+      } else if (this.createTimeList) {
+        this.queryParams.djbeginTime = this.createTimeList[0];
+        this.queryParams.djendTime = this.createTimeList[1];
+      } else if (this.createTimeList == null) {
+        this.queryParams.djbeginTime = null;
+        this.queryParams.djendTime = null;
+      }
+      if (this.startTime1) {
+        this.queryParams.bgbeginTime = this.startTime1[0];
+        this.queryParams.bgendTime = this.startTime1[1];
+      }
+
+      this.loading = true;
+      getOrderList(this.queryParams).then((response) => {
+        this.orderList = response.data.list;
+        if (this.orderList) {
+          this.orderList.forEach((item, index) => {
+            item.newID =
+              (this.queryParams.pageNum - 1) * this.queryParams.pageSize +
+              index +
+              1;
+          });
+        }
+        this.total = response.data.total;
+        this.loading = false;
+      });
+       // 鑾峰彇鍗曚綅淇℃伅闆嗗悎
+       getCompany(this.queryParams).then((response) => {
+        this.CompanyList = response.data;
+        console.log( this.CompanyList,555);
+        
+        this.loading = false;
+      });
+    },
+
+    sub() {
+      this.queryParams.compId = this.CheckBox.drugManufacturerId;
       if (this.startTime) {
         this.queryParams.djbeginTime = this.startTime[0];
         this.queryParams.djendTime = this.startTime[1];
@@ -1697,9 +1883,13 @@
       });
     },
     /** 鐐瑰嚮鏄剧ず瀵兼鍗曟姤琛�*/ //lige    寮�濮�
-    handleReport1(row) {
+    /* handleReport1(row) {
       const tjNumber = this.tjnumbers;
       const viewNum = "792931586196398080";
+      getInfo().then(((res)=>{
+        console.log(res,123);
+        
+      }))
       const params = { viewNum, tjNumber };
       hasReport(tjNumber).then((res) => {
         if (res == 1) {
@@ -1708,6 +1898,31 @@
           this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒");
         }
       });
+    }, */
+    handleReport1(row) {
+      const tjNumber = this.tjnumbers;
+      const viewNum = "792931586196398080";
+      // 鍏堣皟鐢� getInfo 鑾峰彇 userId
+      getInfo()
+        .then((res) => {
+          console.log(res, 1111);
+
+          const dqdlr = res.user.userId; // 鑾峰彇 userId
+          console.log("User ID:", dqdlr);
+          const params = { viewNum, tjNumber, dqdlr }; // 灏� userId 鍔犲叆 params
+
+          // 鍐嶈皟鐢� hasReport 妫�鏌ユ姤鍛婄姸鎬�
+          hasReport(tjNumber).then((reportRes) => {
+            if (reportRes === 1) {
+              this.$tab.openPage("瀵艰瘖鍗�", "/report/breDailyReport", params);
+            } else {
+              this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒");
+            }
+          });
+        })
+        .catch(() => {
+          this.$message.error("鏃犳硶鑾峰彇鐢ㄦ埛淇℃伅锛�");
+        });
     },
 
     handleRevoke() {
@@ -1718,7 +1933,7 @@
       })
         .then(() => {
           revokeTjOrderByTjNum(this.tjnumbers).then((res) => {
-            this.$modal.msgSuccess(res.msg);
+            this.$modal.msgSuccess("鎾ら攢鎴愬姛");
             this.getList();
           });
         })
@@ -1812,6 +2027,7 @@
         djendTime: null,
         bgbeginTime: null,
         bgendTime: null,
+        dw: null
       };
       this.resetForm("form");
     },
@@ -1823,7 +2039,8 @@
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
       this.queryParams.pageNum = 1;
-      this.getList();
+      // this.getList();
+      this.sub();
     },
     renderContents(h, { node, data, store }) {
       return (
@@ -1878,10 +2095,23 @@
       this.startTime1 = [];
       this.createTimeList = [];
       this.resetForm("queryForm");
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        djbeginTime: null,
+        djendTime: null,
+        tjNum: null,
+        bgbeginTime: null,
+        bgendTime: null,
+        xmmc: null,
+        tjCompName:'',
+        dw:null
+      }
       this.handleQuery();
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
+      this.tjNUms = selection.map(item => item.tjNumber);
       selection.forEach((item) => {
         this.orderIds = item.orderId;
         this.tjnumbers = item.tjNumber;
@@ -1893,10 +2123,15 @@
         this.cusSex = item.tjCustomerSex;
         this.form.tjType = parseInt(item.tjType);
       });
+
       this.ids = selection.map((item) => item.orderId);
-      // this.tjNumbers = selection.map((item) => item.tjNumber);
       this.single = selection.length !== 1;
       this.multiple = !selection.length;
+      shijianzhou({
+        tjNUms: this.tjNUms
+      }).then((res) => {
+        console.log(res)
+      })
     },
     /** 鏂板鎸夐挳鎿嶄綔 */
     // handleAdd() {
@@ -2016,16 +2251,30 @@
       const tjNumber = this.tjnumbers;
       const viewNum = "983185234038140928";
       const jxbz = this.bldhid;
-      const params = { viewNum, tjNumber, jxbz };
-      console.log(params);
-      hasReport(tjNumber).then((res) => {
+      // const params = { viewNum, tjNumber, jxbz };
+      // console.log(params);
+      getInfo().then((res) => {
+        console.log(res, 1111);
+        const dqdlr = res.user.userId; // 鑾峰彇 userId
+        const params = { viewNum, tjNumber, jxbz, dqdlr };
+
+        hasReport(tjNumber).then((res) => {
+          if (res == 1) {
+            this.$tab.openPage("瀵艰瘖鍗�", "/report/budabreDailyReport", params);
+            this.budadaozhen = false;
+          } else {
+            this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒");
+          }
+        });
+      });
+      /* hasReport(tjNumber).then((res) => {
         if (res == 1) {
           this.$tab.openPage("瀵艰瘖鍗�", "/report/budabreDailyReport", params);
           this.budadaozhen = false;
         } else {
           this.$message.error("璇ョ敤鎴锋殏鏃犻」鐩紒");
         }
-      });
+      }); */
     },
 
     handleClick(tab, event) {
@@ -2104,6 +2353,7 @@
 
     // 琛ュ綍椤圭洰
     handleProject(row) {
+      this.payType = "0";
       this.loading = true;
       this.DataList = [];
       this.DataList3 = [];
@@ -2173,6 +2423,7 @@
     },
     // 琛ュ綍椤圭洰
     handleProject1() {
+      this.payType = "0";
       this.loading = true;
       this.DataList = [];
       this.DataList3 = [];
@@ -2319,9 +2570,9 @@
         }
       });
       this.TotalPrice1 = 0;
-      this.DataList3.forEach(item=>{
+      this.DataList3.forEach((item) => {
         this.TotalPrice1 += item.proPrice;
-      })
+      });
     },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
@@ -2423,9 +2674,9 @@
       getaddtTransition(data).then((response) => {
         if (response.code === 200) {
           this.DataList = [];
-      this.DataList3 = [];
-      this.DataLists = [];
-      this.TotalPrice1 = 0;
+          this.DataList3 = [];
+          this.DataLists = [];
+          this.TotalPrice1 = 0;
           let tjType = this.form.tjType;
           let copeWith = this.TotalPrice1;
           let paidIn = copeWith * (this.discount / 10);
@@ -2506,6 +2757,7 @@
     handleProjectssChange(selection) {
       this.DataListss = [];
       this.selection = [];
+
       this.bldhs = selection.map((item) => item.bldh);
       selection.forEach((item) => {
         item.projectList.forEach((item1) => {
@@ -2611,7 +2863,9 @@
 // .el-dialog__body {
 //   padding: 20px;
 // }
-
+.o {
+  margin-top: 8px;
+}
 .outside {
   width: 500px;
   display: flex;
@@ -2621,6 +2875,7 @@
   width: 500px;
   display: flex;
   // margin-top: 12px;
+  // margin-right: 40%;
 }
 
 .tab3 {
@@ -2647,13 +2902,53 @@
   margin-top: 10px;
 }
 .box {
-  
   display: flex;
   justify-content: space-between;
 }
-.box1{
+.box1 {
   width: 50%;
   display: flex;
   flex-direction: column;
 }
+.timeline-wrapper {
+  overflow-x: auto;
+  padding: 20px;
+  width: 100%;
+}
+
+.horizontal-timeline {
+  display: flex;
+  align-items: center;
+  justify-content: flex-start;
+  flex-wrap: nowrap;
+  padding: 20px 0;
+  width: 100%;
+}
+
+.el-timeline-item {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  margin: 0 20px;
+}
+
+.el-timeline-item .el-card {
+  width: 150px;
+  border-radius: 10px;
+}
+
+.el-timeline-item .el-timeline-item-tail {
+  display: none;
+}
+
+.el-timeline-item .el-timeline-item-dot {
+  position: absolute;
+  top: 10px;
+  left: 50%;
+  transform: translateX(-50%);
+  width: 12px;
+  height: 12px;
+  background-color: #409EFF;
+  border-radius: 50%;
+}
 </style>

--
Gitblit v1.8.0