From 4bb5b47acbe07a47120b6454483ce411295e0716 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期四, 06 六月 2024 15:27:37 +0800
Subject: [PATCH] ..

---
 admin/src/views/task/index.vue |  177 +++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 129 insertions(+), 48 deletions(-)

diff --git a/admin/src/views/task/index.vue b/admin/src/views/task/index.vue
index 0e66235..fd6b9ad 100644
--- a/admin/src/views/task/index.vue
+++ b/admin/src/views/task/index.vue
@@ -7,12 +7,13 @@
       @clear="clear"
     />
     <!--  -->
-    <el-tabs v-model="filters.queryType">
+    <el-tabs v-model="filters.queryType" @tab-click="(e) => getList(1)">
       <el-tab-pane label="寰呭鐞�" name="0">
         <template #label>
           <span
             >寰呭鐞�
             <el-badge
+              v-if="headData.noticeWaitNum"
               :value="headData.noticeWaitNum"
               class="item"
               type="danger"
@@ -21,21 +22,48 @@
           </span>
         </template>
       </el-tab-pane>
-      <el-tab-pane
-        :value="headData.noticeDealNum"
-        label="宸插鐞�"
-        name="1"
-      ></el-tab-pane>
-      <el-tab-pane
-        :value="headData.noticeCreateNum"
-        label="鎴戝彂璧风殑"
-        name="2"
-      ></el-tab-pane>
-      <el-tab-pane
-        :value="headData.noticeCopyNum"
-        label="鎶勯�佹垜鐨�"
-        name="3"
-      ></el-tab-pane>
+      <el-tab-pane :value="headData.noticeDealNum" label="宸插鐞�" name="1">
+        <template #label>
+          <span
+            >宸插鐞�
+            <el-badge
+              v-if="headData.noticeDealNum"
+              :value="headData.noticeDealNum"
+              class="item"
+              type="danger"
+            >
+            </el-badge>
+          </span>
+        </template>
+      </el-tab-pane>
+      <el-tab-pane :value="headData.noticeCreateNum" label="鎴戝彂璧风殑" name="2">
+        <template #label>
+          <span
+            >鎴戝彂璧风殑
+            <el-badge
+              v-if="headData.noticeCreateNum"
+              :value="headData.noticeCreateNum"
+              class="item"
+              type="danger"
+            >
+            </el-badge>
+          </span>
+        </template>
+      </el-tab-pane>
+      <el-tab-pane :value="headData.noticeCopyNum" label="鎶勯�佹垜鐨�" name="3">
+        <template #label>
+          <span
+            >鎶勯�佹垜鐨�
+            <el-badge
+              v-if="headData.noticeCopyNum"
+              :value="headData.noticeCopyNum"
+              class="item"
+              type="danger"
+            >
+            </el-badge>
+          </span>
+        </template>
+      </el-tab-pane>
     </el-tabs>
     <el-table
       v-loading="loading"
@@ -46,19 +74,24 @@
     >
       <el-table-column prop="name" label="浠诲姟绫诲瀷" min-width="100">
         <template v-slot="scope">
-          <span>{{ cateList[scope.row.objType].name }}</span>
+          <span
+            v-if="
+              (scope.row.objType || scope.row.objType == 0) &&
+              cateList[scope.row.objType].name
+            "
+            >{{ cateList[scope.row.objType].name }}</span
+          >
         </template>
       </el-table-column>
-      <el-table-column
-        prop="name"
-        label="鎻愪氦浜�"
-        min-width="80"
-      ></el-table-column>
-      <el-table-column
-        prop="createDate"
-        label="鎻愪氦鏃堕棿"
-        min-width="100"
-      ></el-table-column>
+      <el-table-column label="鎻愪氦浜�" min-width="80">
+        <template v-slot="scope">
+          <span v-if="scope.row.title">{{
+            scope.row.title.split(" - ")[1]
+          }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column prop="createDate" label="鎻愪氦鏃堕棿" min-width="100">
+      </el-table-column>
       <el-table-column label="鎿嶄綔" width="230" fixed="right">
         <template slot-scope="{ row }">
           <el-button
@@ -76,13 +109,26 @@
       :pagination="pagination"
     />
     <TaskDetail v-if="isShowDetail" ref="DetailRef" />
+    <VisReportDetail v-if="isShowReport" ref="VisReportDetailRef" />
+    <DangetDetail v-if="isShowDanger" ref="DangetDetailRef" />
+    <!-- 鐢ㄨ溅鐢宠 -->
+    <OperaCarUseBookWindow ref="OperaDetailsWindow" @success="getList"/>
+    <!-- 闅愭偅 -->
+    <OperaHiddenDangerWindow ref="OperaHiddenDangerWindow" @success="getList"/>
+    <!-- 棰勭害璇︽儏 -->
+     <OperaVisitsDesWindow ref="OperaVisitsDesWindow" />
   </div>
 </template>
 
 <script>
 import Pagination from '@/components/common/Pagination'
 import QueryForm from '@/components/common/QueryForm'
-import TaskDetail from './taskDetail.vue'
+import TaskDetail from './visSubDetail.vue'
+import VisReportDetail from './visReportDetail.vue'
+import DangetDetail from './dangetDetail.vue'
+import OperaCarUseBookWindow from '@/components/business/OperaCarUseBookWindow'
+import OperaHiddenDangerWindow from '@/components/business/OperaHiddenDangerWindow'
+import OperaVisitsDesWindow from '@/components/business/OperaVisitsDesWindow'
 import {
   taskCenterHead,
   taskCenterPage
@@ -90,14 +136,21 @@
 export default {
   components: {
     TaskDetail,
+    VisReportDetail,
+    DangetDetail,
     QueryForm,
-    Pagination
+    Pagination,
+    OperaCarUseBookWindow,
+    OperaHiddenDangerWindow,
+    OperaVisitsDesWindow
   },
   data () {
     return {
       isShowDetail: false,
+      isShowReport: false,
+      isShowDanger: false,
       filters: {
-        queryType: 0
+        queryType: '0'
       },
       queryFormConfig: {
         formItems: [
@@ -105,12 +158,13 @@
             filed: 'type',
             type: 'select',
             label: '浠诲姟绫诲瀷',
+            clearable: false,
             options: [
-              { label: '璁垮鐢宠', value: 0 },
-              { label: '璁垮鎶ュ', value: 1 },
-              { label: '鐢ㄨ溅鐢宠', value: 2 },
-              { label: '闅愭偅闅忔墜鎷�', value: 3 },
-              { label: '鐗╂祦杞︾敵璇�', value: 4 }
+              { label: '璁垮鐢宠', value: '0' },
+              { label: '璁垮鎶ュ', value: '1' },
+              { label: '鐢ㄨ溅鐢宠', value: '2' },
+              { label: '闅愭偅闅忔墜鎷�', value: '3' },
+              { label: '鐗╂祦杞︾敵璇�', value: '4' }
             ]
           },
           {
@@ -121,15 +175,11 @@
         ],
         online: true
       },
-      loading: false,
-      sorting: false,
-      searchForm: {
-        // type: 1
-      },
       pagination: {
         capacity: 10,
         page: 1
       },
+      loading: false,
       dataList: [],
       headData: {},
       total: 0,
@@ -148,23 +198,49 @@
     this.getList()
   },
   methods: {
-    handleDetail () {
-      this.isShowDetail = true
-      this.$nextTick(() => {
-        this.$refs.DetailRef.isShowModal = true
-      })
+    handleDetail (row) {
+      if (row.objType === 2) {
+        this.$refs.OperaDetailsWindow.open('鍏姟杞︾敵璇疯鎯�', row)
+        return
+      }
+      if (row.objType === 1) {
+        this.isShowReport = true
+        this.$nextTick(() => {
+          this.$refs.VisReportDetailRef.id = row.objId
+          this.$refs.VisReportDetailRef.type = row.objType
+          this.$refs.VisReportDetailRef.getDetail()
+          this.$refs.VisReportDetailRef.isShowModal = true
+        })
+        return
+      }
+      if (row.objType === 3) {
+        const obj = { ...row, id: row.objId }
+        this.$refs.OperaHiddenDangerWindow.open('闅愭偅闅忔墜鎷嶈鎯�', obj)
+        return
+      }
+      if (row.objType === 0) {
+        this.isShowDetail = true
+        this.$nextTick(() => {
+          this.$refs.DetailRef.id = row.objId
+          this.$refs.DetailRef.type = row.objType
+          this.$refs.DetailRef.getDetail()
+          this.$refs.DetailRef.isShowModal = true
+        })
+      }
     },
     getList (page) {
+      console.log(this.filters)
       const { filters, pagination } = this
-      if (filters.selDate && filters.length > 0) {
+      if (filters.selDate && filters.selDate.length > 0) {
         filters.startDate = filters.selDate[0]
         filters.endDate = filters.selDate[1]
       } else {
         filters.startDate = null
         filters.endDate = null
       }
+      pagination.page = page || pagination.page
       taskCenterPage({
-        model: { ...filters },
+        model: { ...filters, queryType: Number(filters.queryType) },
         ...pagination
       }).then(res => {
         console.log('res', res)
@@ -181,7 +257,12 @@
         this.headData = res
       })
     },
-    clear () { },
+    clear () {
+      this.filters = {
+        queryType: '0'
+      }
+      this.getList(0)
+    },
     handleSizeChange (capacity) {
       this.pagination.capacity = capacity
     }

--
Gitblit v1.9.3