完成新增子模块

This commit is contained in:
“XCYH” 2024-04-20 21:10:04 +08:00
parent 15f6980876
commit 5410c3adf0
5 changed files with 123 additions and 21 deletions

View File

@ -198,6 +198,29 @@ export const editProject = (body ,id,token) => {
})
}
/**
*
* 新增子模块
* @param {Object} body 包含项目更新信息的对象
* @param {string} token 访问令牌
* @returns {Promise<AxiosResponse<any>>}
*
*/
export const addModule = (body,token) => {
return axios({
url: api +"/project/module/add" ,
method: "post",
headers: {
'Authorization': 'Bearer ' + token,
'Timestamp': getCurrentTimestamp()
},
data:body
})
}

View File

@ -108,6 +108,7 @@ const initialTableData = ref<User[]>([]);
// projectid
const route = useRoute();
const projectId = route.query.id;
console.log(projectId);
//
const parseData = (data)=>{
@ -129,7 +130,7 @@ const initialTableData = ref<User[]>([]);
const fetchData = () => {
const project = getProjectSysList( projectId ? Number(projectId) - 1 : 0,getToken());
const project = getProjectSysList( projectId ,getToken());
//
project.then(res=>{

View File

@ -49,18 +49,44 @@
<el-pagination larger background layout="prev, pager, next" :total="50" class="mt-4"
style="display: flex;flex-direction: row;justify-content: center;margin-top:5vh" />
</el-card>
<!-- 编辑弹窗 -->
<el-dialog title="编辑信息" :visible.sync="dialogVisible" @click="dialogVisible = true">
<el-form ref="editForm" :model="editForm" label-width="100px">
<!-- 新增弹窗 -->
<el-dialog title="新增子模块信息" v-model="dialogVisible" style="width: 27%" >
<el-form :model="editForm" label-width="100px">
<!-- <el-form-item label="序号">
<el-input v-model="editForm.id" placeholder="请输入id" />
</el-form-item> -->
<el-form-item label="名称">
<el-input v-model="editForm.name" placeholder="请输入名称" />
</el-form-item>
<el-form-item label="状态">
<el-input v-model="editForm.status" placeholder="请输入状态" />
</el-form-item>
<el-form-item label="工作量">
<el-input v-model="editForm.workLoad" placeholder="请输入工作量" />
</el-form-item>
<el-form-item label="周期">
<el-input v-model="editForm.cycle" placeholder="请输入周期" />
</el-form-item>
<!-- <el-form-item label="负责人">
<el-input v-model="editForm.principalUser" placeholder="请输入负责人" />
</el-form-item> -->
<el-form-item label="子系统">
<el-input :placeholder="`子系统 ${editForm.projectChildId}`" disabled />
</el-form-item>
<el-form-item label="截止时间">
<el-date-picker v-model="editForm.deadLine" type="date" placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label="子模块简介">
<el-input v-model="editForm.description" placeholder="请输入子模块简介" />
</el-form-item>
<!-- 添加其他需要编辑的表单项 -->
</el-form>
<span slot="footer" class="dialog-footer">
<span slot="footer" class="dialog-footer" style="display: flex;flex-direction: row;justify-content: center;">
<el-button @click="handleCloseDialog">取消</el-button>
<el-button type="primary" @click="submitEditInfo">确认</el-button>
</span>
@ -72,24 +98,81 @@
<script lang="ts" setup>
import { ref } from 'vue';
import { ElTable ,ElDialog, ElForm, ElFormItem, ElInput, ElButton } from 'element-plus';
import { getProjectModList } from '@/api/manage';
import { getProjectModList ,addModule } from '@/api/manage';
import { useRouter, useRoute } from 'vue-router';
import { getToken } from '@/utils/auth';
//
const route = useRoute();
const sysId = route.query.id;
const router = useRouter();
const dialogVisible = ref(true);
const dialogVisible = ref(false);
//
const editForm = ref({
name: '',
name: 'name',
status: '',
//
workLoad: '',
cycle: '',
projectChildId: sysId,
deadLine: '',
description: '',
});
//
//
const openEditDialog = () => {
dialogVisible.value = true;
// console.log(dialogVisible.value);
};
//
const handleCloseDialog = ()=>{
dialogVisible.value = false;
}
const submitEditInfo = ()=>{
//
const formattedDate = editForm.value.deadLine instanceof Date ? editForm.value.deadLine.toISOString() : editForm.value.deadLine;
const body={
name: editForm.value.name,
status: editForm.value.status,
workLoad: editForm.value.workLoad,
cycle: editForm.value.cycle,
projectChildId: sysId,
deadLine: formattedDate,
description: editForm.value.description,
principalId: 1,
}
console.log(body);
const promise = addModule(body,getToken());
console.log(promise);
promise.then(res => {
if (res.data.code === 200) {
console.log(res.data);
dialogVisible.value = false;
fetchData();
ElMessage.success('新增成功');
} else {
ElMessage.error("新增失败" +res.message);
console.log(res.message);
}
}).catch(err => {
console.log(err);
})
}
//
const toDetail = (id) => {
@ -125,9 +208,7 @@ const tableData = ref<User[]>([
//
const route = useRoute();
const sysId = route.query.id;
//

View File

@ -23,10 +23,7 @@
}}</div>
<el-select v-if="item.label === '05.状态'" v-model="selectedStatus" placeholder="请选择状态"
style="width: 150px ;margin-top: 10%">
<el-option label="未开始" value="未开始"></el-option>
<el-option label="进行中" value="进行中"></el-option>
<el-option label="已完成" value="已完成"></el-option>
<el-option label="异常暂停" value="异常暂停"></el-option>
</el-select>
<textarea style="resize: none;margin-top: 10%;width: 150px;" v-if="item.label === '07.简介'"
v-model="item.value" rows="4" cols="50"></textarea>
@ -82,13 +79,13 @@ projectItems.value.forEach(item => {
if (item.label === '01.模块名称') {
item.value = data.name;
} else if (item.label === '02.模块周期') {
item.value = data.cycle ? data.cycle : '未知';
item.value = data.workLoad;
} else if (item.label === '03.工作量') {
item.value = data.workLoad + "人/天";
} else if (item.label === '04.负责人') {
item.value = data.principalUser;
} else if (item.label === '05.状态') {
item.value = data.status ? data.status : '未知';
item.value = data.workLoad ? data.workLoad : '未知';
} else if (item.label === '06.时间') {
item.value = new Date(data.deadLine).toLocaleDateString();
} else if (item.label === '07.简介') {

View File

@ -291,7 +291,7 @@ const reset = () => {
//
const toChildSystem = (id) => {
router.push({ name: 'ChildSysManage', query: { id: 4 } });//4
router.push({ name: 'ChildSysManage', query: { id: id } });//4
};
//