From 6ded2ee6a9d9097d45f8f79a7e6429cf55ed7cc3 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 07 三月 2025 16:59:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
admin/src/views/task/index.vue | 250 +++++++++++++++++++++++---------------------------
1 files changed, 115 insertions(+), 135 deletions(-)
diff --git a/admin/src/views/task/index.vue b/admin/src/views/task/index.vue
index 8ff5809..6597ea4 100644
--- a/admin/src/views/task/index.vue
+++ b/admin/src/views/task/index.vue
@@ -1,18 +1,9 @@
<template>
<div class="main_app">
- <QueryForm
- v-model="filters"
- :query-form-config="queryFormConfig"
- @handleQuery="getList(1)"
- @clear="clear"
- @changeForm='changeForm'
- >
+ <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getHeadData(1)" @clear="clear"
+ @changeForm='changeForm'>
<template #fastdate>
- <el-radio-group
- v-model="filters.fastdate"
- size="small"
- @input="changeRadio"
- >
+ <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>
@@ -20,114 +11,55 @@
</template>
</QueryForm>
<!-- -->
- <el-tabs v-model="filters.queryType" @tab-click="(e) => getList(1)">
+ <el-tabs v-model="filters.queryType" @tab-click="(e) => getHeadData(1)">
<el-tab-pane label="寰呭鐞�" name="0">
<template #label>
- <span
- >寰呭鐞�
- <el-badge
- v-if="headData.noticeWaitNum"
- :value="headData.noticeWaitNum"
- class="item"
- type="danger"
- >
+ <span>寰呭鐞�
+ <el-badge v-if="headData.noticeWaitNum" :value="headData.noticeWaitNum" class="item" type="danger">
</el-badge>
</span>
</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>
- <span
- >鎶勯�佹垜鐨�
- <el-badge
- v-if="headData.noticeCopyNum"
- :value="headData.noticeCopyNum"
- class="item"
- type="danger"
- >
+ <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"
- :data="dataList"
- stripe
- row-key="id"
- default-expand-all
- >
-<!-- <el-table-column prop="name" label="浠诲姟绫诲瀷" min-width="100">
- <template v-slot="scope">
- <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 label="澶勭悊浜嬮」" min-width="200">
- <template slot-scope="{ row }"> {{ row.title}}
-<!-- <span v-if="row.title">{{
- row.title.split("-")[1]
- }}</span>-->
+ <el-table v-loading="loading" :data="dataList" stripe row-key="id" class="mb40" default-expand-all>
+ <el-table-column label="澶勭悊浜嬮」" min-width="160">
+ <template slot-scope="{ row }"> {{ row.title }}
</template>
</el-table-column>
+ <el-table-column prop="info" label="褰撳墠闃舵" min-width="100"></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
- type="text"
- @click="handleDetail(row)"
- v-permissions="['business:company:update']"
- >鏌ョ湅璇︽儏</el-button
- >
+ <el-button type="text" @click="handleDetail(row)">鏌ョ湅璇︽儏</el-button>
</template>
</el-table-column>
</el-table>
- <pagination
- @size-change="handleSizeChange"
- @current-change="getList"
- :pagination="pagination"
- />
- <TaskDetail v-if="isShowDetail" ref="DetailRef" />
- <VisReportDetail v-if="isShowReport" ref="VisReportDetailRef" />
- <DangetDetail v-if="isShowDanger" ref="DangetDetailRef" />
+ <pagination @size-change="handleSizeChange" @current-change="getHeadData" :pagination="pagination" />
+ <TaskDetail v-if="isShowDetail" ref="DetailRef" @close="isShowDetail = false"
+ @success="SubSuccess('isShowDetail')" />
+ <VisReportDetail v-if="isShowReport" ref="VisReportDetailRef" @close="isShowReport = false"
+ @success="SubSuccess('isShowReport')" />
+ <DangetDetail v-if="isShowDanger" ref="DangetDetailRef" @close="isShowDanger = false"
+ @success="SubSuccess('isShowDanger')" />
+ <DriverDetail v-if="isShowDriver" ref="DriverDetailRef" @close="isShowDriver = false"
+ @success="SubSuccess('isShowDriver')" />
<!-- 鐢ㄨ溅鐢宠 -->
- <OperaCarUseBookWindow ref="OperaDetailsWindow" @success="getList" />
+ <OperaCarUseBookWindow ref="OperaDetailsWindow" @success="getHeadData" />
<!-- 闅愭偅 -->
- <OperaHiddenDangerWindow ref="OperaHiddenDangerWindow" @success="getList" />
+ <OperaHiddenDangerWindow ref="OperaHiddenDangerWindow" @success="getHeadData" />
<!-- 棰勭害璇︽儏 -->
<OperaVisitsDesWindow ref="OperaVisitsDesWindow" />
</div>
@@ -139,13 +71,16 @@
import TaskDetail from './visSubDetail.vue'
import VisReportDetail from './visReportDetail.vue'
import DangetDetail from './dangetDetail.vue'
+import DriverDetail from './driverDetail.vue'
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
+ getAppHeaderNav,
+ taskCenterHeadPC,
+ taskCenterPage,
+ taskSignRead
} from '@/api'
export default {
components: {
@@ -153,19 +88,23 @@
VisReportDetail,
DangetDetail,
QueryForm,
+ DriverDetail,
Pagination,
OperaCarUseBookWindow,
OperaHiddenDangerWindow,
OperaVisitsDesWindow
},
- data () {
+ data() {
return {
isShowDetail: false,
isShowReport: false,
isShowDanger: false,
+ isShowDriver: false,
filters: {
queryType: '0',
- fastdate: 0
+ startDate: '',
+ endDate: '',
+ fastdate: '0'
},
queryFormConfig: {
formItems: [
@@ -173,19 +112,19 @@
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: '6' }
]
},
{
- filed: 'selDate',
- type: 'daterange',
- label: '璧峰鏃ユ湡'
+ filed1: 'startDate',
+ filed2: 'endDate',
+ type: 'datetime',
+ label: '璧锋鏃堕棿'
},
{
type: 'slot',
@@ -197,36 +136,64 @@
},
pagination: {
capacity: 10,
- page: 1
+ page: 1,
+ total: 0,
},
loading: false,
dataList: [],
headData: {},
- total: 0,
cateList: [
{ name: '璁垮鐢宠', id: 0 },
{ name: '璁垮鎶ュ', id: 1 },
{ name: '鐢ㄨ溅鐢宠', id: 2 },
{ name: '闅愭偅闅忔墜鎷�', id: 3 },
- { name: '鐗╂祦杞︾敵璇�', id: 4 }
+ { name: '鐗╂祦杞︾敵璇�', id: 6 }
]
}
},
- created () {
+ created() {
// this.getHeadData()
this.changeRadio('0')
- this.getList()
+ // this.getHeadData()
},
methods: {
- changeRadio (day) {
- const arr = [dayjs().subtract(day, 'day').format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')]
- this.$set(this.filters, 'selDate', arr)
- this.getList()
+ changeRadio(day) {
+ const arr = [dayjs().subtract(day, 'day').format('YYYY-MM-DD') + ' 00:00:00', dayjs().format('YYYY-MM-DD') + ' 23:59:59']
+ this.filters.startDate = arr[0]
+ this.filters.endDate = arr[1]
+ this.getHeadData()
},
- handleDetail (row) {
+ SubSuccess(str) {
+ this[str] = false
+ this.getHeadData()
+ },
+ handleTest(row) {
+ getAppHeaderNav(5).then(res => {
+ if (res === undefined || res == null) {
+ return
+ }
+ const myWindow = window.open(res)
+ setTimeout(() => {
+ myWindow.postMessage('{"method":"goToApp","argument":' + row.param5 + '}', '*')
+ }, 3000)
+ })
+ },
+ handleDetail(row) {
+ if (row.type === 7) {
+ this.handleTest(row)
+ return
+ }
+ if (this.filters.queryType == 3) {
+ taskSignRead({
+ noticesId: row.id,
+ signType: 0
+ }).then(res => {
+ this.getHeadData()
+ })
+ }
if (row.objType === 2) {
- this.$refs.OperaDetailsWindow.open('鍏姟杞︾敵璇疯鎯�', row)
+ this.$refs.OperaDetailsWindow.open('鍏姟杞︾敵璇疯鎯�', { ...row, id: row.objId })
return
}
if (row.objType === 1) {
@@ -244,6 +211,17 @@
this.$refs.OperaHiddenDangerWindow.open('闅愭偅闅忔墜鎷嶈鎯�', obj)
return
}
+ if (row.objType === 6) {
+ const obj = { ...row, id: row.objId }
+ this.isShowDriver = true
+ this.$nextTick(() => {
+ this.$refs.DriverDetailRef.id = row.objId
+ this.$refs.DriverDetailRef.type = row.objType
+ this.$refs.DriverDetailRef.getDetail()
+ this.$refs.DriverDetailRef.isShowModal = true
+ })
+ return
+ }
if (row.objType === 0) {
this.isShowDetail = true
this.$nextTick(() => {
@@ -254,50 +232,52 @@
})
}
},
- changeForm (str) {
- if (str === 'selDate') {
- this.$set(this.filters, 'fastdate', null)
- this.getList()
- }
- },
- getList (page) {
+ changeForm(str) {
+ this.$set(this.filters, 'fastdate', null)
this.getHeadData()
- console.log(this.filters)
+ },
+ getList(page) {
const { filters, pagination } = this
- 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, queryType: Number(filters.queryType) },
...pagination
}).then(res => {
console.log('res', res)
+ this.loading = false
this.dataList = res.records || []
+ this.pagination.total = res.total || 0
this.dataList.forEach(i => {
i.param1 = JSON.parse(i.param1)
+ }, () => {
+ this.loading = false
})
})
},
- getHeadData () {
- taskCenterHead({
- isDetail: '1'
- }).then(res => {
+ getHeadData(page) {
+ 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
+ // }
+ this.loading = true
+ taskCenterHeadPC({ ...filters, queryType: Number(filters.queryType), isDetail: '1' }).then(res => {
this.headData = res
+ this.getList(1)
+ }, () => {
+ this.loading = false
})
},
- clear () {
+ clear() {
this.filters = {
queryType: '0',
- fastdate: 0
}
- this.getList(0)
+ this.getHeadData(0)
},
- handleSizeChange (capacity) {
+ handleSizeChange(capacity) {
this.pagination.capacity = capacity
}
}
--
Gitblit v1.9.3