liukangdong
2024-06-05 86f1c66a999c26536c66e97363e41674e6a7141c
admin/src/views/task/index.vue
@@ -7,38 +7,55 @@
      @clear="clear"
    />
    <!--  -->
    <el-tabs v-model="activeTab">
    <el-tabs v-model="filters.queryType">
      <el-tab-pane label="待处理" name="0">
        <template #label>
          <span
            >待处理
            <el-badge :value="11" class="item" type="danger"> </el-badge>
            <el-badge
              :value="headData.noticeWaitNum"
              class="item"
              type="danger"
            >
            </el-badge>
          </span>
        </template>
      </el-tab-pane>
      <el-tab-pane label="已处理" name="1"></el-tab-pane>
      <el-tab-pane label="我发起的" name="2"></el-tab-pane>
      <el-tab-pane label="抄送我的" name="3"></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-tabs>
    <el-table
      v-loading="loading"
      :data="list"
      :data="dataList"
      stripe
      row-key="id"
      default-expand-all
    >
      <el-table-column
        prop="name"
        label="任务类型"
        min-width="100"
      ></el-table-column>
      <el-table-column prop="name" label="任务类型" min-width="100">
        <template v-slot="scope">
          <span>{{ 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="companyNamePath"
        prop="createDate"
        label="提交时间"
        min-width="100"
      ></el-table-column>
@@ -66,6 +83,10 @@
import Pagination from '@/components/common/Pagination'
import QueryForm from '@/components/common/QueryForm'
import TaskDetail from './taskDetail.vue'
import {
  taskCenterHead,
  taskCenterPage
} from '@/api'
export default {
  components: {
    TaskDetail,
@@ -75,18 +96,25 @@
  data () {
    return {
      isShowDetail: false,
      activeTab: '0',
      filters: {},
      filters: {
        queryType: 0
      },
      queryFormConfig: {
        formItems: [
          {
            filed: 'taskType',
            filed: 'type',
            type: 'select',
            label: '任务类型',
            options: []
            options: [
              { label: '访客申请', value: 0 },
              { label: '访客报备', value: 1 },
              { label: '用车申请', value: 2 },
              { label: '隐患随手拍', value: 3 },
              { label: '物流车申请', value: 4 }
            ]
          },
          {
            filed: 'status',
            filed: 'selDate',
            type: 'daterange',
            label: ''
          }
@@ -102,9 +130,22 @@
        capacity: 10,
        page: 1
      },
      list: [{}],
      total: 0
      dataList: [],
      headData: {},
      total: 0,
      cateList: [
        { name: '访客申请', id: 0 },
        { name: '访客报备', id: 1 },
        { name: '用车申请', id: 2 },
        { name: '隐患随手拍', id: 3 },
        { name: '物流车申请', id: 4 }
      ]
    }
  },
  created () {
    this.getHeadData()
    this.getList()
  },
  methods: {
    handleDetail () {
@@ -113,7 +154,33 @@
        this.$refs.DetailRef.isShowModal = true
      })
    },
    getList (page) { },
    getList (page) {
      const { filters, pagination } = this
      if (filters.selDate && filters.length > 0) {
        filters.startDate = filters.selDate[0]
        filters.endDate = filters.selDate[1]
      } else {
        filters.startDate = null
        filters.endDate = null
      }
      taskCenterPage({
        model: { ...filters },
        ...pagination
      }).then(res => {
        console.log('res', res)
        this.dataList = res.records || []
        this.dataList.forEach(i => {
          i.param1 = JSON.parse(i.param1)
        })
      })
    },
    getHeadData () {
      taskCenterHead({
        isDetail: '1'
      }).then(res => {
        this.headData = res
      })
    },
    clear () { },
    handleSizeChange (capacity) {
      this.pagination.capacity = capacity