k94314517
2024-10-16 17efddc6a667670dca682bf36b51a43e99615e6d
admin/src/views/business/reportRecord.vue
@@ -6,6 +6,10 @@
      @handleQuery="getList(1)"
      @clear="clear"
    />
    <div class="query_btns" style="margin: 16px 0 0" v-permissions="['business:visits:create', 'business:visits:exportExcel']">
      <el-button type="primary" @click="handleEdit()" icon="el-icon-plus" v-permissions="['business:visits:create']">新建</el-button>
      <el-button type="primary" :loading="exLoading" @click="exportExcel" v-permissions="['business:visits:exportExcel']">导出</el-button>
    </div>
    <el-table
      v-loading="loading"
      :data="dataList"
@@ -13,6 +17,7 @@
      row-key="id"
      default-expand-all
    >
      <el-table-column type="selection" width="55" align="center"></el-table-column>
      <el-table-column
        prop="carNos"
        label="入园车辆"
@@ -38,7 +43,7 @@
        label="被访人"
        min-width="100px"
      ></el-table-column>
      <el-table-column label="拜访时间" min-width="170px">
      <el-table-column label="拜访时间" min-width="160px">
        <template slot-scope="{ row }">
          <span>起:{{ row.starttime }}</span
          ><br />
@@ -48,34 +53,35 @@
      <el-table-column
        prop="reason"
        label="拜访事由"
        min-width="100px"
        min-width="100"
      ></el-table-column>
      <el-table-column
        prop="status"
        fixed="right"
        label="状态"
        min-width="100px"
        align="center"
        min-width="100"
      >
        <template slot-scope="{ row }">
          <span style="color: rgba(245, 154, 35, 0.996)" v-if="row.status === 0"
            >待提交审批</span
          >
          <span v-if="row.status === 1" style="color: rgba(245, 154, 35, 0.996)"
            >审批中</span
            >处理中</span
          >
          <span v-if="row.status === 2" style="color: rgba(245, 154, 35, 0.996)"
            >审核通过</span
            >已同意</span
          >
          <span style="color: gray" v-if="row.status === 3">审核不通过</span>
          <span style="color: gray" v-if="row.status === 3">已拒绝</span>
          <span v-if="row.status === 4" style="color: gray">取消</span>
          <span v-if="row.status === 5" style="color: green">预约成功</span>
          <span v-if="row.status === 6" style="color: gray">预约失败</span>
          <span v-if="row.status === 5" style="color: green">下发成功</span>
          <span v-if="row.status === 6" style="color: gray">下发失败</span>
          <span v-if="row.status === 7" style="color: green">拜访中</span>
          <span v-if="row.status === 8" style="color: red">已签离</span>
          <span v-if="row.status === 9" style="color: gray">已失效</span>
        </template>
      </el-table-column>
      <el-table-column label="操作" width="230" fixed="right">
      <el-table-column label="操作" align="center" width="100" fixed="right">
        <template slot-scope="{ row }">
          <el-button
            type="text"
@@ -92,6 +98,7 @@
      :pagination="pagination"
    />
    <ReportDetail v-if="isShowReport" ref="VisReportDetailRef" />
    <OperaVisitsReportWindow @close="isShowEdit = false" @success="getList"  v-if="isShowEdit" ref="operaVisitsWindowRef" />
  </div>
</template>
@@ -100,18 +107,25 @@
import QueryForm from '@/components/common/QueryForm'
// import ReportDetail from './page-components/ReportDetail.vue'
import ReportDetail from '@/views/task/visReportDetail.vue'
import { fetchList } from '@/api/business/visits'
import OperaVisitsReportWindow from '@/components/business/operaVisitsReportWindow.vue'
import { fetchList, exportExcel } from '@/api/business/visits'
export default {
  components: {
    ReportDetail,
    QueryForm,
    Pagination
    Pagination,
    OperaVisitsReportWindow
  },
  data () {
    return {
      isShowEdit: false,
      exLoading: false,
      isShowReport: false,
      activeTab: '0',
      filters: {},
      filters: {
        type: 2
      },
      dataList: [],
      queryFormConfig: {
        formItems: [
@@ -144,6 +158,32 @@
    this.getList()
  },
  methods: {
    exportExcel () {
      this.$dialog.exportConfirm('确认导出吗?')
        .then(() => {
          this.exLoading = true
          exportExcel({
            page: this.pagination.page,
            capacity: 1000000,
            model: this.filters
          })
            .then(response => {
              this.download(response)
            })
            .catch(e => {
              this.$tip.apiFailed(e)
            })
            .finally(() => {
              this.exLoading = false
            })
        })
    },
    handleEdit () {
      this.isShowEdit = true
      this.$nextTick(() => {
        this.$refs.operaVisitsWindowRef.isShowModal = true
      })
    },
    handleDetail (row) {
      this.isShowReport = true
      this.$nextTick(() => {
@@ -159,14 +199,16 @@
      const { pagination, filters } = this
      pagination.page = page || pagination.page
      fetchList({
        model: { ...filters, type: 2 },
        model: { ...filters },
        ...pagination
      }).then(res => {
        this.dataList = res.records || []
      })
    },
    clear () {
      this.filters = {}
      this.filters = {
        type: 2
      }
      this.getList(0)
    },
    handleSizeChange (capacity) {