''
liukangdong
2024-07-04 5a85dcab83e969d6b21c599b512a15117e9b8651
admin/src/views/task/index.vue
@@ -5,7 +5,20 @@
      :query-form-config="queryFormConfig"
      @handleQuery="getList(1)"
      @clear="clear"
    />
      @changeForm='changeForm'
    >
      <template #fastdate>
        <el-radio-group
          v-model="filters.fastdate"
          size="small"
          @input="changeRadio"
        >
          <el-radio-button label="0">当天</el-radio-button>
          <el-radio-button label="6">近7天</el-radio-button>
          <el-radio-button label="29">近30天</el-radio-button>
        </el-radio-group>
      </template>
    </QueryForm>
    <!--  -->
    <el-tabs v-model="filters.queryType" @tab-click="(e) => getList(1)">
      <el-tab-pane label="待处理" name="0">
@@ -23,32 +36,8 @@
        </template>
      </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>
@@ -112,11 +101,11 @@
    <VisReportDetail v-if="isShowReport" ref="VisReportDetailRef" />
    <DangetDetail v-if="isShowDanger" ref="DangetDetailRef" />
    <!-- 用车申请 -->
    <OperaCarUseBookWindow ref="OperaDetailsWindow" @success="getList"/>
    <OperaCarUseBookWindow ref="OperaDetailsWindow" @success="getList" />
    <!-- 隐患 -->
    <OperaHiddenDangerWindow ref="OperaHiddenDangerWindow" @success="getList"/>
    <OperaHiddenDangerWindow ref="OperaHiddenDangerWindow" @success="getList" />
    <!-- 预约详情 -->
     <OperaVisitsDesWindow ref="OperaVisitsDesWindow" />
    <OperaVisitsDesWindow ref="OperaVisitsDesWindow" />
  </div>
</template>
@@ -129,9 +118,11 @@
import OperaCarUseBookWindow from '@/components/business/OperaCarUseBookWindow'
import OperaHiddenDangerWindow from '@/components/business/OperaHiddenDangerWindow'
import OperaVisitsDesWindow from '@/components/business/OperaVisitsDesWindow'
import dayjs from 'dayjs'
import {
  taskCenterHead,
  taskCenterPage
  taskCenterHeadPC,
  taskCenterPage,
  taskSignRead
} from '@/api'
export default {
  components: {
@@ -150,7 +141,8 @@
      isShowReport: false,
      isShowDanger: false,
      filters: {
        queryType: '0'
        queryType: '0',
        fastdate: 0
      },
      queryFormConfig: {
        formItems: [
@@ -158,7 +150,6 @@
            filed: 'type',
            type: 'select',
            label: '任务类型',
            clearable: false,
            options: [
              { label: '访客申请', value: '0' },
              { label: '访客报备', value: '1' },
@@ -168,8 +159,14 @@
            ]
          },
          {
            filed: 'selDate',
            type: 'daterange',
            filed: 'selTime',
            type: 'datetimerange',
            label: '起止时间',
            pickerOptions: {}
          },
          {
            type: 'slot',
            filed: 'fastdate',
            label: ''
          }
        ],
@@ -194,10 +191,25 @@
    }
  },
  created () {
    // this.getHeadData()
    this.changeRadio('0')
    this.getList()
  },
  methods: {
    changeRadio (day) {
      const arr = [dayjs().subtract(day, 'day').format('YYYY-MM-DD') + ' 00:00:00', dayjs().format('YYYY-MM-DD') + ' 23:59:59']
      this.$set(this.filters, 'selTime', arr)
      this.getList()
    },
    handleDetail (row) {
      if (this.filters.queryType == 3) {
        taskSignRead({
          noticesId: row.id,
          signType: 0
        }).then(res => {
          this.getHeadData()
        })
      }
      if (row.objType === 2) {
        this.$refs.OperaDetailsWindow.open('公务车申请详情', row)
        return
@@ -227,13 +239,19 @@
        })
      }
    },
    changeForm (str) {
      if (str === 'selTime') {
        this.$set(this.filters, 'fastdate', null)
        this.getList()
      }
    },
    getList (page) {
      this.getHeadData()
      console.log(this.filters)
      const { filters, pagination } = this
      if (filters.selDate && filters.selDate.length > 0) {
        filters.startDate = filters.selDate[0]
        filters.endDate = filters.selDate[1]
      if (filters.selTime && filters.selTime.length > 0) {
        filters.startDate = filters.selTime[0]
        filters.endDate = filters.selTime[1]
      } else {
        filters.startDate = null
        filters.endDate = null
@@ -251,15 +269,22 @@
      })
    },
    getHeadData () {
      taskCenterHead({
        isDetail: '1'
      }).then(res => {
      const { filters } = this
      if (filters.selTime && filters.selTime.length > 0) {
        filters.startDate = filters.selTime[0]
        filters.endDate = filters.selTime[1]
      } else {
        filters.startDate = null
        filters.endDate = null
      }
      taskCenterHeadPC({ ...filters, queryType: Number(filters.queryType), isDetail: '1' }).then(res => {
        this.headData = res
      })
    },
    clear () {
      this.filters = {
        queryType: '0'
        queryType: '0',
        fastdate: 0
      }
      this.getList(0)
    },