|
@@ -12,25 +12,23 @@
|
|
<el-option v-for="item in PRIORITY" :key="item.value" :value="item.value" :label="item.label" />
|
|
<el-option v-for="item in PRIORITY" :key="item.value" :value="item.value" :label="item.label" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="客户名称:" label-width="7em" prop="customerName">
|
|
|
|
- <el-input v-model="searchForm.customerName" placeholder="请输入" />
|
|
|
|
|
|
+ <el-form-item label="客户名称:" label-width="7em" prop="customName">
|
|
|
|
+ <el-input v-model="searchForm.customName" placeholder="请输入" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="联系人:" label-width="7em" prop="tel">
|
|
|
|
- <el-input v-model="searchForm.tel" placeholder="请输入" />
|
|
|
|
|
|
+ <el-form-item label="联系人:" label-width="7em" prop="contactsName">
|
|
|
|
+ <el-input v-model="searchForm.contactsName" placeholder="请输入" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="执行人:" label-width="7em" prop="tel">
|
|
|
|
- <el-select v-model="searchForm.status" placeholder="请选择">
|
|
|
|
- <el-option v-for="item in STATUS" :key="item.value" :value="item.value" :label="item.label" />
|
|
|
|
- </el-select>
|
|
|
|
|
|
+ <el-form-item label="执行人:" label-width="7em" prop="executorName">
|
|
|
|
+ <el-input v-model="searchForm.executorName" placeholder="请输入" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="商机名称:" label-width="7em" prop="tel">
|
|
|
|
- <el-input v-model="searchForm.tel" placeholder="请输入" />
|
|
|
|
|
|
+ <el-form-item label="商机名称:" label-width="7em" prop="businessName">
|
|
|
|
+ <el-input v-model="searchForm.businessName" placeholder="请输入" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="销售订单:" label-width="7em" prop="tel">
|
|
|
|
- <el-input v-model="searchForm.tel" placeholder="请输入" />
|
|
|
|
|
|
+ <el-form-item label="销售订单:" label-width="7em" prop="orderName">
|
|
|
|
+ <el-input v-model="searchForm.orderName" placeholder="请输入" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="线索名称:" label-width="7em" prop="tel">
|
|
|
|
- <el-input v-model="searchForm.tel" placeholder="请输入" />
|
|
|
|
|
|
+ <el-form-item label="线索名称:" label-width="7em" prop="clueName">
|
|
|
|
+ <el-input v-model="searchForm.clueName" placeholder="请输入" />
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="任务状态:" label-width="7em" prop="status">
|
|
<el-form-item label="任务状态:" label-width="7em" prop="status">
|
|
<el-select v-model="searchForm.status" placeholder="请选择">
|
|
<el-select v-model="searchForm.status" placeholder="请选择">
|
|
@@ -51,7 +49,7 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="flex-1 p-5 overflow-auto" v-loading="loading">
|
|
|
|
|
|
+ <div class="flex-1 p-5 overflow-auto">
|
|
<div class="bg-white w-full h-full p-3 shadow-md rounded-md flex flex-col">
|
|
<div class="bg-white w-full h-full p-3 shadow-md rounded-md flex flex-col">
|
|
<div class="ml-auto p-3">
|
|
<div class="ml-auto p-3">
|
|
<el-button type="primary" @click="createTasks()">创建任务</el-Button>
|
|
<el-button type="primary" @click="createTasks()">创建任务</el-Button>
|
|
@@ -59,8 +57,8 @@
|
|
<el-button type="primary" @click="openImportModal()">导入</el-Button>
|
|
<el-button type="primary" @click="openImportModal()">导入</el-Button>
|
|
<el-button type="primary" :loading="btnLoading" @click="exportTasks()">导出</el-Button>
|
|
<el-button type="primary" :loading="btnLoading" @click="exportTasks()">导出</el-Button>
|
|
</div>
|
|
</div>
|
|
- <div class="flex-1">
|
|
|
|
- <el-table :data="tableData" style="width: 100%;height: 100%;" ref="tableRef">
|
|
|
|
|
|
+ <div class="flex-1 overflow-y-auto">
|
|
|
|
+ <el-table :data="tableData" style="width: 100%;height: 100%;" ref="tableRef" v-loading="loading">
|
|
<el-table-column type="selection" width="55" />
|
|
<el-table-column type="selection" width="55" />
|
|
<el-table-column prop="taskName" label="任务名称" header-align="center" align="center" show-overflow-tooltip
|
|
<el-table-column prop="taskName" label="任务名称" header-align="center" align="center" show-overflow-tooltip
|
|
width="200" />
|
|
width="200" />
|
|
@@ -71,39 +69,70 @@
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column prop="status" label="状态" width="100" header-align="center" align="center">
|
|
<el-table-column prop="status" label="状态" width="100" header-align="center" align="center">
|
|
-
|
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<el-text :type="STATUS[scope.row.status]?.type">
|
|
<el-text :type="STATUS[scope.row.status]?.type">
|
|
{{ STATUS[scope.row.status]?.label }}
|
|
{{ STATUS[scope.row.status]?.label }}
|
|
</el-text>
|
|
</el-text>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
- <el-table-column prop="customerName" label="执行人" width="120" header-align="center" align="center" />
|
|
|
|
- <el-table-column prop="startDate" label="开始时间" width="120" :sortable="true" header-align="center"
|
|
|
|
- align="center" />
|
|
|
|
- <el-table-column prop="endDate" label="截止时间" width="120" :sortable="true" header-align="center"
|
|
|
|
- align="center" />
|
|
|
|
- <el-table-column prop="contactsName" label="联系人" header-align="center" align="center" width="120" />
|
|
|
|
|
|
+ <el-table-column prop="customName" label="执行人" width="120" header-align="center" align="center" />
|
|
|
|
+ <el-table-column prop="startDate" label="开始时间" width="200" :sortable="true" header-align="center"
|
|
|
|
+ align="center" value-format="YYYY-MM-DD" />
|
|
|
|
+ <el-table-column prop="endDate" label="截止时间" width="200" :sortable="true" header-align="center"
|
|
|
|
+ align="center" value-format="YYYY-MM-DD" />
|
|
|
|
+ <el-table-column prop="contactsName" label="联系人" header-align="center" align="center" width="120">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-link :underline="false" type="primary" @click="goDetail(scope.row, 'contacts', 'contactsId')">
|
|
|
|
+ {{ scope.row.contactsName }}
|
|
|
|
+ </el-link>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
<el-table-column prop="contactsTel" label="联系人号码" header-align="center" align="center" width="140" />
|
|
<el-table-column prop="contactsTel" label="联系人号码" header-align="center" align="center" width="140" />
|
|
- <el-table-column prop="customerName" label="客户名称" header-align="center" align="center" width="120" />
|
|
|
|
- <el-table-column prop="businessName" label="商机名称" header-align="center" align="center" width="200" />
|
|
|
|
- <el-table-column prop="businessName" label="销售订单" header-align="center" align="center" width="200" />
|
|
|
|
- <el-table-column prop="businessName" label="线索名称" header-align="center" align="center" width="200" />
|
|
|
|
|
|
+ <el-table-column prop="customName" label="客户名称" header-align="center" align="center" width="120">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-link :underline="false" type="primary" @click="goDetail(scope.row, 'customer', 'customId')">
|
|
|
|
+ {{ scope.row.customName }}
|
|
|
|
+ </el-link>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column prop="businessName" label="商机名称" header-align="center" align="center" width="200">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-link :underline="false" type="primary"
|
|
|
|
+ @click="goDetail(scope.row, 'business', 'businessOpportunityId')">
|
|
|
|
+ {{ scope.row.businessName }}
|
|
|
|
+ </el-link>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column prop="orderName" label="销售订单" header-align="center" align="center" width="200">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-link :underline="false" type="primary" @click="goDetail(scope.row, 'order', 'orderId')">
|
|
|
|
+ {{ scope.row.orderName }}
|
|
|
|
+ </el-link>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column prop="clueName" label="线索名称" header-align="center" align="center" width="200">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-link :underline="false" type="primary" @click="goDetail(scope.row, 'thread', 'clueId')">
|
|
|
|
+ {{ scope.row.clueName }}
|
|
|
|
+ </el-link>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+
|
|
<el-table-column fixed="right" label="操作" header-align="center" align="center" width="150">
|
|
<el-table-column fixed="right" label="操作" header-align="center" align="center" width="150">
|
|
|
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<el-button link type="primary" size="small" @click.prevent="editRow(scope.row)">
|
|
<el-button link type="primary" size="small" @click.prevent="editRow(scope.row)">
|
|
编辑
|
|
编辑
|
|
</el-button>
|
|
</el-button>
|
|
- <el-button link type="primary" size="small" v-if="scope.row.status == '3'"
|
|
|
|
- @click.prevent="restart(scope.$index)">
|
|
|
|
|
|
+ <el-button link type="primary" size="small" v-if="scope.row.status == '2'"
|
|
|
|
+ @click.prevent="restart(scope.row)">
|
|
重启
|
|
重启
|
|
</el-button>
|
|
</el-button>
|
|
- <el-button link type="primary" size="small" v-else @click.prevent="finishRow(scope.$index, scope)">
|
|
|
|
|
|
+ <el-button link type="primary" size="small" v-else @click.prevent="finishRow(scope.row)">
|
|
完成
|
|
完成
|
|
</el-button>
|
|
</el-button>
|
|
|
|
|
|
- <el-button link type="danger" size="small" @click.prevent="deleteRow(scope.$index)">
|
|
|
|
|
|
+ <el-button link type="danger" size="small" @click.prevent="deleteRow(scope.row)">
|
|
删除
|
|
删除
|
|
</el-button>
|
|
</el-button>
|
|
</template>
|
|
</template>
|
|
@@ -112,13 +141,12 @@
|
|
</div>
|
|
</div>
|
|
<div class="ml-auto">
|
|
<div class="ml-auto">
|
|
<el-pagination layout="total, prev, pager, next, sizes" :total="totalCount"
|
|
<el-pagination layout="total, prev, pager, next, sizes" :total="totalCount"
|
|
- :current-page="searchForm.pageIndex" hide-on-single-page @size-change="sizeChage"
|
|
|
|
- @current-change="currentChange" />
|
|
|
|
|
|
+ :current-page="searchForm.pageIndex" @size-change="sizeChage" @current-change="currentChange" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <TaskModal :visible="taskModalVisible" :title="taskForm ? '编辑任务' : '新建任务'" :save-loading="taskLoading"
|
|
|
|
- :edit-form="taskForm" @close="closeTaskModal" @submit="submitForm" />
|
|
|
|
|
|
+ <TaskModal :visible="taskModalVisible" :title="isEdit ? '编辑任务' : '新建任务'" :save-loading="taskLoading"
|
|
|
|
+ :edit-form="taskForm" :show-log="isEdit" @close="closeTaskModal" @submit="submitForm" />
|
|
<ImportModal :visible="importVisible" :save-loading="importLoading" @close="closeImportModal"
|
|
<ImportModal :visible="importVisible" :save-loading="importLoading" @close="closeImportModal"
|
|
@submit="importExcel" />
|
|
@submit="importExcel" />
|
|
<ExportModal :visible="exportVisible" :save-loading="exportLoading" @close="closeExportModal"
|
|
<ExportModal :visible="exportVisible" :save-loading="exportLoading" @close="closeExportModal"
|
|
@@ -128,42 +156,59 @@
|
|
|
|
|
|
<script lang="ts" setup>
|
|
<script lang="ts" setup>
|
|
import { inject, onBeforeMount, onMounted, ref } from 'vue';
|
|
import { inject, onBeforeMount, onMounted, ref } from 'vue';
|
|
|
|
+import { useRouter } from 'vue-router';
|
|
import { useStore } from '@/store';
|
|
import { useStore } from '@/store';
|
|
-import { MOD, PRIORITY, STATUS, defaultSearchForm, PAGE_LIST } from './api';
|
|
|
|
-import { dayjs, ElTable } from 'element-plus';
|
|
|
|
|
|
+import { MOD, PRIORITY, STATUS, defaultSearchForm, PAGE_LIST, ADD_TASK, DELETE_TASKS, UPDATE_TASK, UPDATE_TASK_STATUS } from './api';
|
|
|
|
+import { ElTable, dayjs } from 'element-plus';
|
|
import TaskModal from '@/components/TaskModal/index.vue';
|
|
import TaskModal from '@/components/TaskModal/index.vue';
|
|
import ImportModal from './ImportModal.vue';
|
|
import ImportModal from './ImportModal.vue';
|
|
import ExportModal from './ExportModal.vue';
|
|
import ExportModal from './ExportModal.vue';
|
|
-import { post, uploadFile } from '@/utils/request';
|
|
|
|
-import { getFromValue } from '@/utils/tools';
|
|
|
|
|
|
+import { get, post, uploadFile } from '@/utils/request';
|
|
|
|
+import { getFromValue, confirmAction } from '@/utils/tools';
|
|
|
|
+import { pushMap } from './type';
|
|
|
|
+const router = useRouter()
|
|
const { getFunctionList } = useStore()
|
|
const { getFunctionList } = useStore()
|
|
const globalPopup = inject<GlobalPopup>('globalPopup')
|
|
const globalPopup = inject<GlobalPopup>('globalPopup')
|
|
const pagePermission = ref<any[]>();
|
|
const pagePermission = ref<any[]>();
|
|
const taskModalVisible = ref(false);
|
|
const taskModalVisible = ref(false);
|
|
const taskForm = ref<any>();
|
|
const taskForm = ref<any>();
|
|
|
|
+const isEdit = ref(false);
|
|
|
|
+
|
|
const taskLoading = ref<saveLoadingType>("1");
|
|
const taskLoading = ref<saveLoadingType>("1");
|
|
function closeTaskModal() {
|
|
function closeTaskModal() {
|
|
taskModalVisible.value = false;
|
|
taskModalVisible.value = false;
|
|
taskForm.value = null;
|
|
taskForm.value = null;
|
|
}
|
|
}
|
|
function submitForm(data: any, isClose: boolean) {
|
|
function submitForm(data: any, isClose: boolean) {
|
|
- const { executorId } = data;
|
|
|
|
- console.log("原有的数据", data, isClose);
|
|
|
|
|
|
+ const { executorId, startDate, endDate, repeatEndDate } = data;
|
|
let params = {
|
|
let params = {
|
|
- ...data
|
|
|
|
|
|
+ ...data,
|
|
|
|
+ startDate: startDate && dayjs(startDate).format('YYYY-MM-DD 00:00:00'),
|
|
|
|
+ endDate: endDate && dayjs(endDate).format('YYYY-MM-DD 23:59:59'),
|
|
|
|
+ repeatEndDate: repeatEndDate && dayjs(repeatEndDate).format('YYYY-MM-DD 23:59:59')
|
|
}
|
|
}
|
|
if (executorId) {
|
|
if (executorId) {
|
|
params = {
|
|
params = {
|
|
...params,
|
|
...params,
|
|
- executorId: executorId.join(',')
|
|
|
|
|
|
+ executorId: executorId.join(','),
|
|
|
|
+ taskLogs: []
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- console.log("提交的数据水水水水", params, isClose);
|
|
|
|
|
|
+ // console.log("提交的数据", getFromValue(params));
|
|
|
|
+ // return;
|
|
taskLoading.value = "2";
|
|
taskLoading.value = "2";
|
|
- setTimeout(() => {
|
|
|
|
|
|
+ let url = isEdit.value ? UPDATE_TASK : ADD_TASK
|
|
|
|
+ let msg = isEdit.value ? "修改成功" : "新建成功"
|
|
|
|
+ post(url, getFromValue(params)).then(() => {
|
|
taskLoading.value = "3";
|
|
taskLoading.value = "3";
|
|
taskModalVisible.value = isClose;
|
|
taskModalVisible.value = isClose;
|
|
- }, 2000)
|
|
|
|
|
|
+
|
|
|
|
+ globalPopup?.showSuccess(msg)
|
|
|
|
+ search();
|
|
|
|
+ }).catch(err => {
|
|
|
|
+ taskLoading.value = "4"
|
|
|
|
+ globalPopup?.showError(err.message)
|
|
|
|
+ })
|
|
|
|
|
|
}
|
|
}
|
|
const searchForm = ref<any>();
|
|
const searchForm = ref<any>();
|
|
@@ -174,13 +219,19 @@ const totalCount = ref<number>(0);
|
|
const tableData = ref<any[]>([])
|
|
const tableData = ref<any[]>([])
|
|
function search() {
|
|
function search() {
|
|
loading.value = true;
|
|
loading.value = true;
|
|
- post(PAGE_LIST, getFromValue(searchForm.value)).then(({ data }) => {
|
|
|
|
|
|
+ const { startDate, endDate } = searchForm.value;
|
|
|
|
+ let params = {
|
|
|
|
+ ...searchForm.value,
|
|
|
|
+ startDate: startDate && dayjs(startDate).format('YYYY-MM-DD 00:00:00'),
|
|
|
|
+ endDate: endDate && dayjs(endDate).format('YYYY-MM-DD 23:59:59')
|
|
|
|
+ }
|
|
|
|
+ post(PAGE_LIST, getFromValue(params)).then(({ data }) => {
|
|
loading.value = false;
|
|
loading.value = false;
|
|
const { total, record } = data;
|
|
const { total, record } = data;
|
|
totalCount.value = total;
|
|
totalCount.value = total;
|
|
tableData.value = record;
|
|
tableData.value = record;
|
|
}).catch(err => {
|
|
}).catch(err => {
|
|
- console.log("err", err);
|
|
|
|
|
|
+ globalPopup?.showError(err);
|
|
loading.value = false;
|
|
loading.value = false;
|
|
})
|
|
})
|
|
}
|
|
}
|
|
@@ -188,7 +239,6 @@ function reset() {
|
|
searchForm.value = { ...defaultSearchForm };
|
|
searchForm.value = { ...defaultSearchForm };
|
|
}
|
|
}
|
|
function sizeChage(currentSize: number): void {
|
|
function sizeChage(currentSize: number): void {
|
|
- console.log("object", currentSize);
|
|
|
|
searchForm.value = {
|
|
searchForm.value = {
|
|
...searchForm.value,
|
|
...searchForm.value,
|
|
pageSize: currentSize,
|
|
pageSize: currentSize,
|
|
@@ -198,7 +248,6 @@ function sizeChage(currentSize: number): void {
|
|
}
|
|
}
|
|
|
|
|
|
function currentChange(currentPage: number): void {
|
|
function currentChange(currentPage: number): void {
|
|
- console.log("object", currentPage);
|
|
|
|
searchForm.value = {
|
|
searchForm.value = {
|
|
...searchForm.value,
|
|
...searchForm.value,
|
|
pageIndex: currentPage
|
|
pageIndex: currentPage
|
|
@@ -209,10 +258,20 @@ function currentChange(currentPage: number): void {
|
|
function createTasks() {
|
|
function createTasks() {
|
|
taskModalVisible.value = true;
|
|
taskModalVisible.value = true;
|
|
taskForm.value = null;
|
|
taskForm.value = null;
|
|
|
|
+ isEdit.value = false;
|
|
}
|
|
}
|
|
function deleteTasks() {
|
|
function deleteTasks() {
|
|
- console.log("deleteTasks", searchForm.value);
|
|
|
|
- console.log(dayjs().format('YYYY-MM-DD'));
|
|
|
|
|
|
+ confirmAction("确定删除所选内容吗?").then(() => {
|
|
|
|
+ const taskIds = tableRef.value?.getSelectionRows()?.map((item: any) => item.id).join(",")
|
|
|
|
+ post(DELETE_TASKS, {
|
|
|
|
+ taskIds
|
|
|
|
+ }).then(() => {
|
|
|
|
+ search();
|
|
|
|
+ globalPopup?.showSuccess("删除成功")
|
|
|
|
+ }).catch(err => {
|
|
|
|
+ globalPopup?.showError(err)
|
|
|
|
+ })
|
|
|
|
+ });
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -267,17 +326,58 @@ function exportExcel(data: any) {
|
|
}, 2000)
|
|
}, 2000)
|
|
}
|
|
}
|
|
function editRow(row: any) {
|
|
function editRow(row: any) {
|
|
|
|
+ isEdit.value = true;
|
|
taskModalVisible.value = true;
|
|
taskModalVisible.value = true;
|
|
- taskForm.value = row;
|
|
|
|
|
|
+ let value = {
|
|
|
|
+ ...row
|
|
|
|
+ }
|
|
|
|
+ if (value.executorId) {
|
|
|
|
+ value.executorId = value.executorId.split(",")
|
|
|
|
+ }
|
|
|
|
+ taskForm.value = value;
|
|
}
|
|
}
|
|
-function finishRow(index: any, scope: any) {
|
|
|
|
- console.log("finishRow", index, scope);
|
|
|
|
|
|
+function finishRow(item: any) {
|
|
|
|
+ post(UPDATE_TASK_STATUS, {
|
|
|
|
+ id: item.id,
|
|
|
|
+ status: 2
|
|
|
|
+ }).then(() => {
|
|
|
|
+ search()
|
|
|
|
+ globalPopup?.showSuccess("操作成功")
|
|
|
|
+ }).catch(err => {
|
|
|
|
+ globalPopup?.showError(err)
|
|
|
|
+ })
|
|
|
|
+}
|
|
|
|
+function restart(item: any) {
|
|
|
|
+ post(UPDATE_TASK_STATUS, {
|
|
|
|
+ id: item.id,
|
|
|
|
+ status: 0
|
|
|
|
+ }).then(() => {
|
|
|
|
+ search()
|
|
|
|
+ globalPopup?.showSuccess("操作成功")
|
|
|
|
+ }).catch(err => {
|
|
|
|
+ globalPopup?.showError(err)
|
|
|
|
+ })
|
|
}
|
|
}
|
|
-function restart(index: any) {
|
|
|
|
- console.log("restart", index);
|
|
|
|
|
|
+function deleteRow(item: any) {
|
|
|
|
+ confirmAction("确定删除吗?").then(() => {
|
|
|
|
+ post(DELETE_TASKS, {
|
|
|
|
+ taskIds: item.id
|
|
|
|
+ }).then(() => {
|
|
|
|
+ search();
|
|
|
|
+ globalPopup?.showSuccess("删除成功")
|
|
|
|
+ }).catch(err => {
|
|
|
|
+ console.log("err", err);
|
|
|
|
+ globalPopup?.showError(err)
|
|
|
|
+ })
|
|
|
|
+ })
|
|
}
|
|
}
|
|
-function deleteRow(index: any) {
|
|
|
|
- console.log("deleteRow", index);
|
|
|
|
|
|
+function goDetail(item: any, path: keyof pushMap, typeId: pushMap[keyof pushMap]) {
|
|
|
|
+ router.push({
|
|
|
|
+ path: `/${path}/detail`,
|
|
|
|
+ query: {
|
|
|
|
+ id: item[typeId]
|
|
|
|
+ }
|
|
|
|
+ })
|
|
}
|
|
}
|
|
onBeforeMount(() => {
|
|
onBeforeMount(() => {
|
|
pagePermission.value = getFunctionList(MOD);
|
|
pagePermission.value = getFunctionList(MOD);
|