|
|
@@ -15,6 +15,17 @@
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="游戏端口">
|
|
|
+ <el-select v-model="searchInfo.game_port_id" placeholder="请选择" style="width:100%">
|
|
|
+ <el-option
|
|
|
+ v-for="item in GamePortOptions"
|
|
|
+ :key="item.id"
|
|
|
+ :label="`${item.name}`"
|
|
|
+ :value="item.id"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
<el-form-item label="状态">
|
|
|
<el-select v-model="searchInfo.is_complete" placeholder="是否完成" >
|
|
|
<el-option
|
|
|
@@ -26,24 +37,28 @@
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="日期" prop="create_date">
|
|
|
- <el-date-picker
|
|
|
- v-model="searchInfo.create_date"
|
|
|
- popper-class="picker-popovers"
|
|
|
- class="timefilter"
|
|
|
- type="datetime"
|
|
|
- placeholder="选择日期时间"
|
|
|
- value-format="YYYY-MM-DD"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
+ <el-form-item label="日期" prop="date">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="searchInfo.date"
|
|
|
+ size="default"
|
|
|
+ type="daterange"
|
|
|
+ unlink-panels
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ :disabled-date="disabledDate"
|
|
|
+ :shortcuts="shortcuts"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button size="small" type="primary" icon="search" @click="onSubmit">查询</el-button>
|
|
|
<el-button size="small" icon="refresh" @click="onReset">重置</el-button>
|
|
|
+ <el-button class="excel-btn" size="small" type="primary" icon="download" @click="handleExcelExport">导出</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<div class="gva-table-box">
|
|
|
+
|
|
|
<el-table :data="tableData" border @sort-change="sortChange" @selection-change="handleSelectionChange" style="width: 100%">
|
|
|
<el-table-column label="任务ID" width="70" prop="task_id" sortable="custom" />
|
|
|
<el-table-column label="任务日期" min-width="100" prop="create_date" />
|
|
|
@@ -275,6 +290,7 @@
|
|
|
getGameTaskTargetList,
|
|
|
taskResetFee,
|
|
|
getFeeAccountList,
|
|
|
+ taskTargetExport
|
|
|
} from '@/api/task'
|
|
|
import {
|
|
|
selectResponsiblePerson,
|
|
|
@@ -282,6 +298,7 @@
|
|
|
import { toSQLLine } from '@/utils/stringFun'
|
|
|
import warningBar from '@/components/warningBar/warningBar.vue'
|
|
|
import { ref } from 'vue'
|
|
|
+ import dayjs from "dayjs";
|
|
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
|
|
|
|
|
const statusFiletr = (value) => {
|
|
|
@@ -523,6 +540,14 @@ const deleteBtn = async(btns, index) => {
|
|
|
page.value = 1
|
|
|
pageSize.value = 10
|
|
|
searchInfo.value.task_id = Number(searchInfo.value.task_id)
|
|
|
+ if (typeof searchInfo.value.date != "undefined") {
|
|
|
+ searchInfo.value.date[0] = dayjs(searchInfo.value.date[0]).format(
|
|
|
+ "YYYY-MM-DD"
|
|
|
+ );
|
|
|
+ searchInfo.value.date[1] = dayjs(searchInfo.value.date[1]).format(
|
|
|
+ "YYYY-MM-DD"
|
|
|
+ );
|
|
|
+ }
|
|
|
getTableData()
|
|
|
}
|
|
|
|
|
|
@@ -574,6 +599,50 @@ const deleteBtn = async(btns, index) => {
|
|
|
const handleSelectionChange = (val) => {
|
|
|
apis.value = val
|
|
|
}
|
|
|
+
|
|
|
+ const handleExcelExport = async() => {
|
|
|
+ var fileName = Date.parse(new Date()) + "-task.xlsx"
|
|
|
+ if(searchInfo.value.create_date == null){
|
|
|
+ let dt = new Date()
|
|
|
+ var y = dt.getFullYear()
|
|
|
+ var mt = (dt.getMonth() + 1).toString().padStart(2,'0')
|
|
|
+ var day = dt.getDate().toString().padStart(2,'0')
|
|
|
+ var timeStr = y + "-" + mt + "-" + day
|
|
|
+ fileName = timeStr + "-task.xlsx"
|
|
|
+ }else{
|
|
|
+ fileName = searchInfo.value.create_date + "-task.xlsx"
|
|
|
+ }
|
|
|
+ taskTargetExport({ page: page.value, pageSize: pageSize.value, ...searchInfo.value },fileName)
|
|
|
+}
|
|
|
+
|
|
|
+ const shortcuts = [
|
|
|
+ {
|
|
|
+ text: "今日",
|
|
|
+ value: () => {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ return [start, end];
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: "最近一周",
|
|
|
+ value: () => {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
|
|
+ return [start, end];
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: "最近一月",
|
|
|
+ value: () => {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
|
|
+ return [start, end];
|
|
|
+ },
|
|
|
+ },
|
|
|
+];
|
|
|
|
|
|
const deleteVisible = ref(false)
|
|
|
|