mirror of
https://github.com/FatttSnake/Pinnacle-OA.git
synced 2026-04-05 15:01:23 +08:00
Add affair management
This commit is contained in:
@@ -1,7 +1,12 @@
|
||||
package com.cfive.pinnacle.controller;
|
||||
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.cfive.pinnacle.entity.Affair;
|
||||
import com.cfive.pinnacle.entity.common.ResponseCode;
|
||||
import com.cfive.pinnacle.entity.common.ResponseResult;
|
||||
import com.cfive.pinnacle.service.IAffairService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -11,8 +16,57 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
* @author FatttSnake
|
||||
* @since 2023-04-30
|
||||
*/
|
||||
@CrossOrigin
|
||||
@RestController
|
||||
@RequestMapping("/affair")
|
||||
public class AffairController {
|
||||
@Autowired
|
||||
IAffairService affairService;
|
||||
|
||||
|
||||
|
||||
@PostMapping("/add")
|
||||
public ResponseResult addAffair(@RequestBody Affair affair){
|
||||
return ResponseResult.build(ResponseCode.DATABASE_SAVE_OK,"success",affairService.save(affair));
|
||||
}
|
||||
|
||||
@GetMapping("/NotApproved")
|
||||
public ResponseResult select_NotApproved(){
|
||||
LambdaQueryWrapper<Affair> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(Affair::getStatus, 0);
|
||||
return ResponseResult.build(ResponseCode.DATABASE_SELECT_OK, "success", affairService.list(wrapper));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@GetMapping("/Approved")
|
||||
public ResponseResult select_Approved(){
|
||||
LambdaQueryWrapper<Affair> wrapper2 =new LambdaQueryWrapper<>();
|
||||
wrapper2.ne(Affair::getStatus,0);
|
||||
return ResponseResult.build(ResponseCode.DATABASE_SELECT_OK,"success",affairService.list(wrapper2)) ;
|
||||
}
|
||||
|
||||
@PutMapping("/yes")
|
||||
public ResponseResult updateAffair_yes(@RequestBody Affair affair){
|
||||
System.out.println(affair);
|
||||
return ResponseResult.build(ResponseCode.DATABASE_UPDATE_OK,"success",affairService.updateAffair_Yes(affair));
|
||||
//审批同意
|
||||
}
|
||||
|
||||
@PutMapping("/no")
|
||||
public ResponseResult updateAffair_No(@RequestBody Affair affair){
|
||||
return ResponseResult.build(ResponseCode.DATABASE_UPDATE_OK,"success",affairService.updateAffair_No(affair));
|
||||
//审批驳回
|
||||
}
|
||||
|
||||
|
||||
@DeleteMapping("/{id}")
|
||||
public ResponseResult deleteAffair_Apprioved(@PathVariable Long id){
|
||||
System.out.println("affair");
|
||||
return ResponseResult.build(ResponseCode.DATABASE_DELETE_OK,"success",affairService.removeById(id));
|
||||
//删除已审批事务
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
@@ -72,6 +73,7 @@ public class Affair implements Serializable {
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField("create_time")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",timezone = "UTC")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,7 +2,9 @@ package com.cfive.pinnacle.mapper;
|
||||
|
||||
import com.cfive.pinnacle.entity.Affair;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -15,4 +17,31 @@ import org.apache.ibatis.annotations.Mapper;
|
||||
@Mapper
|
||||
public interface AffairMapper extends BaseMapper<Affair> {
|
||||
|
||||
@Insert("insert into t_affair(title,type_id,content,applicant_id,inspector_id,create_time) values(#{title},#{typeId},#{content},#{applicantId},#{inspectorId},#{createTime})")
|
||||
int insertAffair(Affair affair);
|
||||
//添加事务
|
||||
//不添加事务的状态(affairsStatus),当事务进行添加时,添加的状态默认为'未审批'
|
||||
|
||||
@Delete("delete from t_affair where id=#{id}")
|
||||
int deleteAffairs(Affair affair);
|
||||
//根据id,撤回新建的事务,在新建事务时,会再进行一次确定
|
||||
// (是否撤回,当用户撤回新建的事务时,根据新建的事务的id,删除该条事务在数据库中的信息)
|
||||
|
||||
@Update("update t_affair set status=1 where id=#{id}")
|
||||
int updateAffairs_Yes(Affair affair);
|
||||
//管理员权限--->修改事务的状态(AffairsStatus)--->达到审批的效果
|
||||
//同意
|
||||
|
||||
@Update("update t_affair set Status=2 where id=#{id}" )
|
||||
int updateAffairs_NO(Affair affair);
|
||||
//不同意
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Select("SELECT * from t_affair where status=0 ")
|
||||
@ResultType(Affair.class)
|
||||
List<Affair> selectAffairs_NotApproved();
|
||||
|
||||
}
|
||||
|
||||
@@ -13,4 +13,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
*/
|
||||
public interface IAffairService extends IService<Affair> {
|
||||
|
||||
int insertAffair(Affair affair);
|
||||
int updateAffair_Yes(Affair affair);
|
||||
int updateAffair_No(Affair affair);
|
||||
|
||||
|
||||
int deleteAffair_ApprovedByID(Affair affair);
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.cfive.pinnacle.entity.Affair;
|
||||
import com.cfive.pinnacle.mapper.AffairMapper;
|
||||
import com.cfive.pinnacle.service.IAffairService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
@@ -17,4 +18,26 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
public class AffairServiceImpl extends ServiceImpl<AffairMapper, Affair> implements IAffairService {
|
||||
|
||||
@Autowired
|
||||
private AffairMapper affairMapper;
|
||||
|
||||
@Override
|
||||
public int insertAffair(Affair affair) {
|
||||
return affairMapper.insertAffair(affair);
|
||||
}
|
||||
|
||||
public int updateAffair_Yes(Affair affair) {
|
||||
return affairMapper.updateAffairs_Yes(affair);
|
||||
}
|
||||
|
||||
public int updateAffair_No(Affair affair) {
|
||||
return affairMapper.updateAffairs_NO(affair);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteAffair_ApprovedByID(Affair affair) {
|
||||
return affairMapper.deleteAffairs(affair);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
144
ui/src/components/ApplicantsAddAffairs.vue
Normal file
144
ui/src/components/ApplicantsAddAffairs.vue
Normal file
@@ -0,0 +1,144 @@
|
||||
<template>
|
||||
<el-form :model="form" label-width="120px">
|
||||
<el-form-item label="事务名称:">
|
||||
<el-col :span="4">
|
||||
<el-input v-model="form.title" placeholder="请输入事务名称" class="longInput" />
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="申请者:">
|
||||
<el-col :span="3">
|
||||
<el-input v-model="form.applicantId" class="shortInput" />
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="审批者:">
|
||||
<el-col :span="4">
|
||||
<el-select v-model="form.inspectorId" placeholder="请选择审批者">
|
||||
<el-option value="1" label="ggb" />
|
||||
<el-option value="1652714496280469506" label="cyb" />
|
||||
</el-select>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="事务类型:">
|
||||
<el-col :span="8">
|
||||
<el-radio-group v-model="form.typeId">
|
||||
<el-radio :label="1" name="type">事假</el-radio>
|
||||
<el-radio :label="2" name="type">病假</el-radio>
|
||||
<el-radio :label="3" name="type">财务报销</el-radio>
|
||||
<el-radio :label="4" name="type">调休</el-radio>
|
||||
</el-radio-group>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="发送日期:">
|
||||
<el-col :span="1"><i class="el-icon-date"></i></el-col>
|
||||
<el-col :span="5">
|
||||
<el-date-picker
|
||||
v-model="form.createTime"
|
||||
type="date"
|
||||
placeholder="请选择要发送日期"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="具体内容:">
|
||||
<el-row :span="20">
|
||||
<el-col :span="40">
|
||||
<el-input
|
||||
v-model="form.content"
|
||||
type="textarea"
|
||||
class="textarea"
|
||||
rows="15"
|
||||
cols="20"
|
||||
/>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-col :span="6">
|
||||
<el-button type="primary" @click="onSubmit(form)">提交</el-button>
|
||||
<el-button type="danger" @click="getApproed()">重置</el-button>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import 'element-plus/theme-chalk/index.css'
|
||||
import request from '@/services'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
id: '',
|
||||
title: '',
|
||||
content: '',
|
||||
typeId: '',
|
||||
status: '',
|
||||
applicantId: '',
|
||||
inspectorId: '',
|
||||
createTime: '',
|
||||
inspectTime: '',
|
||||
priority: '',
|
||||
modifyTime: '',
|
||||
originId: '',
|
||||
old: '',
|
||||
deleted: '',
|
||||
version: ''
|
||||
}
|
||||
}
|
||||
},
|
||||
// created: {
|
||||
// // request(form) {
|
||||
// // post("localhost:8686/addAffairs",
|
||||
// // {
|
||||
// // affairsName: form.affairsName,
|
||||
// // Applicants: form.Applicants,
|
||||
// // Approver: form.Approver,
|
||||
// // affairsType: form.affairsType,
|
||||
// // Date: form.Date,
|
||||
// // Time: form.Time,
|
||||
// // affairsContent: form.affairsContent
|
||||
// // },
|
||||
// // )
|
||||
// // get("localhost:8686/addAffairs")
|
||||
// // }
|
||||
// },
|
||||
methods: {
|
||||
onSubmit(form) {
|
||||
console.log(form)
|
||||
request
|
||||
.post('http://localhost:8621/affair/add', form)
|
||||
.then((response) => {
|
||||
console.log(response.data)
|
||||
this.getApproed()
|
||||
})
|
||||
.catch((reportError) => {
|
||||
console.log(reportError)
|
||||
})
|
||||
},
|
||||
getApproed() {
|
||||
history.go(0)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
.longInput {
|
||||
width: 99%;
|
||||
}
|
||||
|
||||
.shortInput {
|
||||
width: 150px;
|
||||
}
|
||||
|
||||
.textarea {
|
||||
height: 70%;
|
||||
width: 70%;
|
||||
}
|
||||
</style>
|
||||
179
ui/src/components/ApproverApproved.vue
Normal file
179
ui/src/components/ApproverApproved.vue
Normal file
@@ -0,0 +1,179 @@
|
||||
<template>
|
||||
<el-row :span="24">
|
||||
<el-col :span="18">
|
||||
<div class="mt-4">
|
||||
<el-input v-model="input3" placeholder="查询事务" class="input-with-select">
|
||||
<template #prepend>
|
||||
<el-select v-model="select" placeholder="查询方式">
|
||||
<el-option label="事务编号" value="1" />
|
||||
<el-option label="事务名称" value="2" />
|
||||
<el-option label="日期" value="3" />
|
||||
</el-select>
|
||||
</template>
|
||||
<template #append>
|
||||
<el-button>查询</el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="4">
|
||||
<el-button type="warning" round>待审批</el-button>
|
||||
<el-button type="success" round>已审批</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-table :data="tableData" style="width: 100%">
|
||||
<el-table-column label="事务编号" prop="id" />
|
||||
|
||||
<el-table-column label="事务名称" prop="title" />
|
||||
|
||||
<el-table-column label="事务类型" prop="typeId" />
|
||||
|
||||
<el-table-column label="申请者" prop="applicantId" />
|
||||
|
||||
<el-table-column label="提交日期" prop="createTime">
|
||||
<template #default="scope">
|
||||
{{ format(scope.row.createTime) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="审批日期" prop="inspectTime">
|
||||
<template #default="scope">
|
||||
{{ format(scope.row.inspectTime) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="操作" key="slot" width="180">
|
||||
<template #default="scope">
|
||||
<el-button size="small" type="danger" @click="handleDelete(scope.row)">
|
||||
删除
|
||||
</el-button>
|
||||
<el-button size="small" type="text" @click="handleEdit(scope.$index, scope.row)"
|
||||
>具体内容
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="审批者" width="90" prop="inspectorId" />
|
||||
</el-table>
|
||||
|
||||
<el-divider :data="labelData">
|
||||
<div class="block">
|
||||
<el-pagination
|
||||
style="color: #888888"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
v-model:current-page="currentPage3"
|
||||
:page-size="100"
|
||||
layout="prev, pager, next, jumper"
|
||||
:total="1000"
|
||||
>
|
||||
</el-pagination>
|
||||
</div>
|
||||
</el-divider>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import request from '@/services'
|
||||
import 'element-plus/theme-chalk/index.css'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
tableData: [
|
||||
{
|
||||
id: '',
|
||||
title: '',
|
||||
content: '',
|
||||
type_id: '',
|
||||
status: '',
|
||||
applicant_id: '',
|
||||
inspector_id: '',
|
||||
create_time: '',
|
||||
inspect_time: '',
|
||||
priority: '',
|
||||
modify_time: '',
|
||||
origin_id: '',
|
||||
old: '',
|
||||
deleted: '',
|
||||
version: ''
|
||||
}
|
||||
],
|
||||
// }],
|
||||
|
||||
labelData: [
|
||||
{
|
||||
currentPage1: 5,
|
||||
currentPage2: 5,
|
||||
currentPage3: 5,
|
||||
currentPage4: 4
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleYes(row) {
|
||||
console.log(row)
|
||||
request
|
||||
.put('http://localhost:8621/affair/yes', row)
|
||||
.then((response) => {
|
||||
console.log(response.data)
|
||||
this.getApproed()
|
||||
})
|
||||
.catch((reportError) => {
|
||||
console.log(reportError)
|
||||
})
|
||||
},
|
||||
handleNo(row) {
|
||||
console.log(row)
|
||||
request
|
||||
.put('http://localhost:8621/affair/no', row)
|
||||
.then((response) => {
|
||||
console.log(response.data)
|
||||
this.getApproed()
|
||||
})
|
||||
.catch((reportError) => {
|
||||
console.log(reportError)
|
||||
})
|
||||
},
|
||||
handleDelete(row) {
|
||||
console.log(row.id)
|
||||
request
|
||||
.delete('http://localhost:8621/affair/' + row.id)
|
||||
.then((response) => {
|
||||
console.log(response.data)
|
||||
this.getApproed()
|
||||
})
|
||||
.catch((reportError) => {
|
||||
console.log(reportError)
|
||||
})
|
||||
},
|
||||
|
||||
handleSizeChange(val) {
|
||||
console.log(`每页 ${val} 条`)
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
console.log(`当前页: ${val}`)
|
||||
},
|
||||
getApproed() {
|
||||
request
|
||||
.get('http://localhost:8621/affair/Approved')
|
||||
.then((response) => {
|
||||
this.tableData = response.data.data
|
||||
console.log(this.tableData)
|
||||
})
|
||||
.catch((reportError) => {
|
||||
console.log(reportError)
|
||||
})
|
||||
},
|
||||
format(time) {
|
||||
return new Date(time).toLocaleString()
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getApproed()
|
||||
console.log(this.tableData)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style></style>
|
||||
165
ui/src/components/ApproverNotApproved.vue
Normal file
165
ui/src/components/ApproverNotApproved.vue
Normal file
@@ -0,0 +1,165 @@
|
||||
<template>
|
||||
<el-row :span="24">
|
||||
<el-col :span="18">
|
||||
<div class="mt-4">
|
||||
<el-input v-model="input3" placeholder="查询事务" class="input-with-select">
|
||||
<template #prepend>
|
||||
<el-select v-model="select" placeholder="查询方式">
|
||||
<el-option label="事务编号" value="1" />
|
||||
<el-option label="事务名称" value="2" />
|
||||
<el-option label="日期" value="3" />
|
||||
</el-select>
|
||||
</template>
|
||||
<template #append>
|
||||
<el-button>查询</el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="4">
|
||||
<el-button type="warning" round>待审批</el-button>
|
||||
<el-button type="success" round>已审批</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-table :data="tableData" style="width: 100%">
|
||||
<el-table-column label="事务编号" prop="id" />
|
||||
|
||||
<el-table-column label="事务名称" prop="title" />
|
||||
|
||||
<el-table-column label="事务类型" prop="typeId" />
|
||||
|
||||
<el-table-column label="申请者" prop="applicantId" />
|
||||
|
||||
<el-table-column label="日期" prop="createTime">
|
||||
<template #default="scope">
|
||||
{{ format(scope.row.createTime) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="操作" key="slot" width="240">
|
||||
<template #default="scope">
|
||||
<el-button size="small" type="text" @click="handleYes(scope.row)"
|
||||
>具体内容
|
||||
</el-button>
|
||||
|
||||
<el-button size="small" type="success" @click="handleYes(scope.row)"
|
||||
>同意
|
||||
</el-button>
|
||||
|
||||
<el-button size="small" type="danger" @click="handleNo(scope.row)">
|
||||
驳回
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<el-divider :data="labelData">
|
||||
<div class="block">
|
||||
<el-pagination
|
||||
style="color: #888888"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
v-model:current-page="currentPage3"
|
||||
:page-size="100"
|
||||
layout="prev, pager, next, jumper"
|
||||
:total="1000"
|
||||
>
|
||||
</el-pagination>
|
||||
</div>
|
||||
</el-divider>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import request from '@/services'
|
||||
import 'element-plus/theme-chalk/index.css'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
tableData: [
|
||||
{
|
||||
id: '',
|
||||
title: '',
|
||||
content: '',
|
||||
type_id: '',
|
||||
status: '',
|
||||
applicant_id: '',
|
||||
inspector_id: '',
|
||||
create_time: '',
|
||||
inspect_time: '',
|
||||
priority: '',
|
||||
modify_time: '',
|
||||
origin_id: '',
|
||||
old: '',
|
||||
deleted: '',
|
||||
version: ''
|
||||
}
|
||||
],
|
||||
// }],
|
||||
|
||||
labelData: [
|
||||
{
|
||||
currentPage1: 5,
|
||||
currentPage2: 5,
|
||||
currentPage3: 5,
|
||||
currentPage4: 4
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleYes(row) {
|
||||
console.log(row)
|
||||
request
|
||||
.put('http://localhost:8621/affair/yes', row)
|
||||
.then((response) => {
|
||||
console.log(response.data)
|
||||
this.getApproed()
|
||||
})
|
||||
.catch((reportError) => {
|
||||
console.log(reportError)
|
||||
})
|
||||
},
|
||||
handleNo(row) {
|
||||
console.log(row)
|
||||
request
|
||||
.put('http://localhost:8621/affair/no', row)
|
||||
.then((response) => {
|
||||
console.log(response.data)
|
||||
this.getApproed()
|
||||
})
|
||||
.catch((reportError) => {
|
||||
console.log(reportError)
|
||||
})
|
||||
},
|
||||
|
||||
handleSizeChange(val) {
|
||||
console.log(`每页 ${val} 条`)
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
console.log(`当前页: ${val}`)
|
||||
},
|
||||
getApproed() {
|
||||
request
|
||||
.get('http://localhost:8621/affair/NotApproved')
|
||||
.then((response) => {
|
||||
this.tableData = response.data.data
|
||||
console.log(this.tableData)
|
||||
})
|
||||
.catch((reportError) => {
|
||||
console.log(reportError)
|
||||
})
|
||||
},
|
||||
format(time) {
|
||||
return new Date(time).toLocaleString()
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getApproed()
|
||||
console.log(this.tableData)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style></style>
|
||||
9
ui/src/pages/affair/Affair.vue
Normal file
9
ui/src/pages/affair/Affair.vue
Normal file
@@ -0,0 +1,9 @@
|
||||
<template><approver-not-approved></approver-not-approved></template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'AffairPage'
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
11
ui/src/pages/affair/AffairAdd.vue
Normal file
11
ui/src/pages/affair/AffairAdd.vue
Normal file
@@ -0,0 +1,11 @@
|
||||
<template>
|
||||
<applicants-add-affairs></applicants-add-affairs>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'AffairAdd'
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
9
ui/src/pages/affair/AffairApproved.vue
Normal file
9
ui/src/pages/affair/AffairApproved.vue
Normal file
@@ -0,0 +1,9 @@
|
||||
<template><approver-approved></approver-approved></template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'AffairApproved'
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
@@ -103,6 +103,50 @@ const router = createRouter({
|
||||
requiresScrollbar: false,
|
||||
requiresPadding: true
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/affair',
|
||||
name: 'affair',
|
||||
redirect: 'manage',
|
||||
children: [
|
||||
{
|
||||
path: 'manage',
|
||||
name: 'affairManage',
|
||||
component: async () => await import('@/pages/affair/Affair.vue'),
|
||||
meta: {
|
||||
title: '事务管理',
|
||||
requiresScrollbar: true,
|
||||
requiresPadding: true
|
||||
}
|
||||
},
|
||||
{
|
||||
path: 'add',
|
||||
component: async () => await import('@/pages/affair/AffairAdd.vue'),
|
||||
name: 'affairAdd',
|
||||
meta: {
|
||||
title: '事务添加',
|
||||
requiresScrollbar: true,
|
||||
requiresPadding: true
|
||||
}
|
||||
},
|
||||
{
|
||||
path: 'approved',
|
||||
component: async () =>
|
||||
await import('@/pages/affair/AffairApproved.vue'),
|
||||
name: 'affairApproved',
|
||||
meta: {
|
||||
title: '已审批事务',
|
||||
requiresScrollbar: true,
|
||||
requiresPadding: true
|
||||
}
|
||||
}
|
||||
],
|
||||
meta: {
|
||||
title: '事务',
|
||||
icon: IconPinnacleHome,
|
||||
requiresScrollbar: false,
|
||||
requiresPadding: true
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user