Browse Source

Merge remote-tracking branch 'origin/master'

master
parent
commit
1840275e5f
  1. 5
      src/api/system/taskinfo/index.ts
  2. 8
      src/views/enterprises/index.vue
  3. 25
      src/views/system/menu/MenuForm.vue
  4. 51
      src/views/task/create.vue
  5. 48
      src/views/task/detail.vue
  6. 54
      src/views/task/index.vue

5
src/api/system/taskinfo/index.ts

@ -53,4 +53,9 @@ export const TaskInfoApi = {
taskExec: async (data) => {
return await request.put({ url: `/system/task-info/taskExec`, data })
},
// 任务审核
audit: async (id : number) => {
return await request.put({ url: `/system/task-info/audit?id=` + id })
},
}

8
src/views/enterprises/index.vue

@ -46,9 +46,9 @@
/>
</el-select>
</el-form-item>
<el-form-item label="" prop="registrationNumber">
<el-form-item label="" prop="userId">
<el-select
v-model="queryParams.registrationNumber"
v-model="queryParams.userId"
placeholder="请选择执法人员"
filterable
clearable
@ -64,9 +64,9 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="" prop="establishmentDate">
<el-form-item label="" prop="createTime">
<el-date-picker
v-model="queryParams.establishmentDate"
v-model="queryParams.createTime"
value-format="YYYY-MM-DD HH:mm:ss"
type="daterange"
format="YYYY年M月D日"

25
src/views/system/menu/MenuForm.vue

@ -6,6 +6,7 @@
:model="formData"
:rules="formRules"
label-width="100px"
class="h-60vh overflow-y-auto form-wrapper"
>
<el-form-item label="上级菜单">
<el-tree-select
@ -254,3 +255,27 @@ const isExternal = (path: string) => {
return /^(https?:|mailto:|tel:)/.test(path)
}
</script>
<style lang="scss" scoped>
.form-wrapper{
/* 滚动条整体样式 */
&::-webkit-scrollbar {
width: 6px;
height: 8px;
}
/* 滚动条轨道 */
&::-webkit-scrollbar-track {
background-color: transparent;
border-radius: 4px;
}
/* 滚动条滑块 */
&::-webkit-scrollbar-thumb {
background-color: #ccc;
border-radius: 4px;
}
/* 滚动条滑块悬停状态 */
&::-webkit-scrollbar-thumb:hover {
background-color: #555;
}
}
</style>

51
src/views/task/create.vue

@ -223,19 +223,8 @@
</div>
</div>
<div class="footer">
<el-button type="primary" @click="submitForm(false)" size="large" v-if="!formData.status || formData.status == 0 || formData.status == 1" >{{btnTitle}}</el-button>
<el-button
type="primary"
v-if="formData.status == 0"
@click="submitForm(true)"
size="large"
v-hasPermi="['system:enterprise-inspections:audit']"
>审核通过</el-button
>
<el-button type="danger" link v-if="formData.status == 0" @click="handleDeleteTask('delete')">删除任务?</el-button>
<el-button type="warning" link v-if="formData.status == 2" @click="handleDeleteTask('end')">结束任务?</el-button>
<el-button type="primary" @click="submitForm" size="large" v-if="!formData.status || formData.status == 0 || formData.status == 1" >{{btnTitle}}</el-button>
<el-button type="danger" link v-if="formData.status == 0" @click="handleDeleteTask">删除任务?</el-button>
<el-button @click="goBack" size="large">返回列表</el-button>
</div>
@ -321,22 +310,15 @@ const goBack = () => {
router.go(-1); // router.back()
};
const handleDeleteTask = async (type: string) => {
const handleDeleteTask = async () => {
try {
if (type == 'delete') {
await message.delConfirm("是否确定删除任务!", "删除任务")
await TaskInfoApi.deleteTaskInfo(formData.value.id)
} else {
await message.delConfirm("是否确定结束任务", "结束任务")
formData.value.status = 3
await TaskInfoApi.updateTaskInfo(formData.value)
}
await message.delConfirm("是否确定删除任务!", "删除任务")
await TaskInfoApi.deleteTaskInfo(formData.value.id)
} finally {
message.success('操作成功')
tagView.delView(route)
router.go(-1)
}
@ -539,19 +521,14 @@ function uniqueFunc(arr, uniId) {
/**
* 提交表单
*/
async function submitForm(isAudit) {
async function submitForm() {
let title:any = ''
let content:any = ''
if (formData.value.id) {
if (isAudit) {
title = '审核任务'
content = '是否确定审核任务?'
} else{
title = '修改任务'
content = '是否确定修改任务?'
}
title = '修改任务'
content = '是否确定修改任务?'
} else {
title = '发布任务'
content = '是否确定发布新的任务?'
@ -579,9 +556,6 @@ async function submitForm(isAudit) {
data.enterpriseIds = enterprise.value.list.map(i=>i.id)
if (data.id) {
if (isAudit) {
data.status = 1
}
TaskInfoApi.updateTaskInfo(data).then(() => {
message.success('操作成功')
tagView.delView(route)
@ -736,13 +710,14 @@ onMounted(() => {
.box {
display: flex;
gap: 20px;
gap: 40px;
div {
// background-color: rgb(206, 175, 175);
flex: 1;
display: flex;
flex-direction: column;
gap: 20px;
column-gap: 7px;
justify-items: center;
.btn {
display: flex;

48
src/views/task/detail.vue

@ -77,7 +77,7 @@
<el-button type="primary" plain size="large" @click="handleQuery">
<Icon icon="ep:search" class="mr-5px" /> 查询
</el-button>
<el-button @click="resetQuery" class="mr-10px" type="primary" plain size="large">
<el-button @click="resetQuery" type="primary" plain size="large">
<Icon icon="ep:refresh" class="mr-5px" /> 重置
</el-button>
</div>
@ -164,6 +164,19 @@
</div>
</div>
<div class="footer">
<el-button
type="primary"
v-if="formData.status == 0"
@click="auditForm"
size="large"
v-hasPermi="['system:enterprise-inspections:audit']"
>审核通过</el-button
>
<el-button type="warning" link v-if="formData.status == 2" @click="handleDeleteTask">结束任务?</el-button>
<el-button @click="goBack" size="large">返回列表</el-button>
</div>
</div>
</div>
@ -177,6 +190,7 @@ import { TaskInfoApi } from '@/api/system/taskinfo'
import CreateEnterprise from './createEnterprise.vue'
import { cloneDeep } from 'lodash-es';
import { getSimpleUserZGList } from '@/api/system/user'
import { useTagsViewStore } from '@/store/modules/tagsView'
defineOptions({ name: 'CreateTask'})
const formData:any = ref({
@ -201,7 +215,12 @@ const formData:any = ref({
enterprises: [] as any
})
const tagView = useTagsViewStore()
const formCreateRef = ref()
const message = useMessage()
const router = useRouter()
const route = useRoute()
const { query } = useRoute()
const enterprise:any = ref({
list: [] as any,
@ -220,6 +239,30 @@ const enterprise:any = ref({
total: ref(0) as any
})
const handleDeleteTask = async (type: string) => {
try {
await message.delConfirm("是否确定结束任务", "结束任务")
formData.value.status = 3
await TaskInfoApi.updateTaskInfo(formData.value)
} finally {
message.success('操作成功')
tagView.delView(route)
router.go(-1)
}
}
const auditForm = () => {
TaskInfoApi.audit(query.id).then(() => {
message.success('操作成功')
tagView.delView(route)
router.go(-1)
})
}
const goBack = () => {
router.go(-1); // router.back()
}
//
@ -518,13 +561,14 @@ onMounted(() => {
.box {
display: flex;
gap: 20px;
gap: 40px;
div {
// background-color: rgb(206, 175, 175);
flex: 1;
display: flex;
flex-direction: column;
gap: 20px;
column-gap: 7px;
justify-items: center;
.btn {
display: flex;

54
src/views/task/index.vue

@ -66,7 +66,7 @@
<Icon icon="ep:circle-plus" class="mr-5px" /> 新增
</el-button>
<el-button
type="success"
type="primary"
plain
@click="handleExport"
:loading="exportLoading"
@ -82,25 +82,25 @@
:show-overflow-tooltip="true"
>
<el-table-column label="任务名称" align="left" prop="title" width="200" />
<el-table-column label="任务类型" align="left" prop="taskType">
<el-table-column label="任务名称" align="left" prop="title" width="300" />
<el-table-column label="任务类型" align="left" prop="taskType" width="150">
<template #default="scope">
{{ scope.row.taskTypeName }}
</template>
</el-table-column>
<el-table-column label="发布部门" align="left" prop="deptName" />
<el-table-column label="任务状态" align="left" prop="status">
<el-table-column label="发布部门" align="left" prop="deptName" width="150"/>
<el-table-column label="任务状态" align="left" prop="status" width="150">
<template #default="scope">
<dict-tag :type="DICT_TYPE.TASK_STATE" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column label="执法对象" align="left" min-width="100px">
<el-table-column label="执法对象" align="left" min-width="180">
<template #default="scope">
{{ new Set(scope.row.enterpriseIdes?.map((e) => e.type)).size }}个区域 ,
{{ scope.row.enterpriseIdes.length }}家企业
</template>
</el-table-column>
<el-table-column label="执行时间" align="left" prop="startDate">
<el-table-column label="执行时间" align="left" prop="startDate" width="200">
<template #default="scope">
{{ scope.row.startDate }}
{{ getDictLabel(DICT_TYPE.TASK_NOTICE_TIME, scope.row.execCycle) }}
@ -112,30 +112,7 @@
<el-button
link
type="primary"
@click="
push({
path: 'create',
query: {
id: scope.row.id
}
})
"
v-hasPermi="['system:task-info:update']"
>
修改
</el-button>
<el-button
link
type="primary"
@click="
push({
path: 'detail',
query: {
id: scope.row.id
}
})
"
v-hasPermi="['system:task-info:update']"
@click="pushUrl(scope.row)"
>
详情
</el-button>
@ -169,7 +146,9 @@ import { TaskInfoApi, TaskInfoVO } from '@/api/system/taskinfo'
import TaskInfoForm from './TaskInfoForm.vue'
import { TagLibraryApi } from '@/api/system/taglibrary'
import { deptByMenu } from '@/api/system/user'
import { useUserStore } from '@/store/modules/user'
// Pinia Vuex
const userStore = useUserStore()
/** 任务表,用于存储所有的任务信息,任务可由不同用户创建并管理。 列表 */
defineOptions({ name: 'TaskList' })
@ -225,6 +204,17 @@ const getList = async () => {
}
}
const pushUrl = (row: any) => {
console.log(row)
if ((row.status == 1 || row.status == 0) && row.creator == userStore.user.id) {
push({ path: `/task/create`, query: { id: row.id} })
} else {
push({ path: `/task/detail`, query: { id: row.id} })
}
}
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.pageNo = 1

Loading…
Cancel
Save