Commit afd9ed00 authored by wangjiancheng's avatar wangjiancheng

feat:项目管理

parent 8473aed1
......@@ -53,7 +53,7 @@ export function listDraft(query) {
}
// 新增草稿箱
export function addDraft(data) {
data.darft = '0'
//data.darft = '0'
return request({
url: '/system/project/draft',
method: 'post',
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<template>
<div class="app-container">
<el-form :model="form" label-width="auto">
<el-form-item label="项目编号" prop="projectNumber" >
<el-input v-model="form.projectNumber" placeholder="请输入项目编号" disabled></el-input>
<div class="contentA">
<div style="padding-left: 10px">
<span class="bold-text" style="border-bottom: 2px solid blue;">项目详情</span>
</div>
<div style="padding-top: 20px">
<el-form ref="formRef" :model="form" :rules="rules" label-width="auto">
<el-row :gutter="150">
<el-col :span="10">
<el-form-item label="项目编号">
<el-input
v-model="form.projectNumber"
disabled
size="large"
style="width: 100%"
readonly
/>
</el-form-item>
<el-form-item label="项目名称" prop="projectName" >
<el-input v-model="form.projectName" placeholder="请输入项目名称" readonly></el-input>
<el-form-item label="项目名称">
<el-input
v-model="form.projectName"
size="large"
style="width: 100%"
readonly
/>
</el-form-item>
<el-form-item label="项目类型" prop="projectType" >
<el-form-item label="项目类型">
<el-select
v-model="form.projectType"
placeholder="请选择项目类型"
readonly>
style="width: 100%"
size="large"
disabled
>
<el-option
v-for="dict in project_type"
:key="dict.value"
......@@ -20,34 +40,41 @@
/>
</el-select>
</el-form-item>
<el-form-item label="开始时间">
<el-form-item label="预计结束时间">
<el-date-picker
v-model="form.startDate"
format="YYYY/MM/DD"
type="date"
placeholder="选择日期"
style="width: 100%"
size="large"
readonly
></el-date-picker>
/>
</el-form-item>
<el-form-item label="结束时间">
<el-form-item label="预计开始时间">
<el-date-picker
v-model="form.endDate"
format="YYYY/MM/DD"
type="date"
placeholder="选择日期"
style="width: 100%"
size="large"
readonly
></el-date-picker>
/>
</el-form-item>
<el-form-item label="部门负责人">
<el-form-item label="事业部门负责人">
<el-input
v-model="form.departmentLeaderName"
placeholder="请输入部门负责人名称"
disabled
></el-input>
style="width: 100%"
size="large"
/>
</el-form-item>
<el-form-item label="项目经理">
<el-select
v-model="form.projectManagerId"
placeholder="请选择项目经理"
readonly>
disabled
style="width: 100%"
size="large"
>
<el-option
v-for="dict in managerOptions"
:key="dict.value"
......@@ -59,9 +86,12 @@
<el-form-item label="项目成员">
<el-select
v-model="form.projectMemberIds"
size="large"
multiple
placeholder="请选择项目成员"
readonly>
filterable
disabled
style="width: 100%;"
>
<el-option
v-for="dict in membersOptions"
:key="dict.value"
......@@ -73,22 +103,25 @@
<el-form-item label="项目成本(元)">
<el-input
v-model="form.projectCost"
placeholder="请输入项目成本"
size="large"
style="width: 100%"
readonly
></el-input>
/>
</el-form-item>
<el-form-item label="项目描述">
<el-input
v-model="form.projectDescribe"
type="textarea"
placeholder="请输入项目描述"
:autosize="{ minRows: 5, maxRows: 7 }"
size="large"
style="width: 100%"
readonly
></el-input>
/>
</el-form-item>
<el-form-item label="项目状态">
<el-select
v-model="form.projectStatus"
placeholder="请选择项目状态"
disabled
>
<el-option
v-for="dict in project_status"
......@@ -99,37 +132,73 @@
</el-select>
</el-form-item>
<el-form-item label="项目附件">
<!-- 展示已上传的附件 -->
<ul>
<li v-for="(file, index) in fileList" :key="index">
<a :href="file.url" target="_blank">{{ file.name }}</a>
</li>
</ul>
<el-upload
list-type="text"
v-model:file-list="form.fileList"
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-preview="handlePreview"
:on-exceed="handleExceed"
>
</el-upload>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="项目回款笔数">
<el-input v-model="form.repaymentCount" readonly></el-input>
<el-select
v-model="form.repaymentCount"
@change="updateRepaymentInputs"
size="large"
disabled
>
<el-option
v-for="num in 10"
:key="num"
:label="num"
:value="num"
></el-option>
</el-select>
</el-form-item>
<el-form :model="form" label-width="120px">
<el-form :model="form" label-width="80px">
<div v-for="(item, index) in form.repaymentDetails" :key="index">
<el-row>
<el-col :span="5">
<el-col :span="12">
<!-- 回款比例 -->
<el-form-item :label="'第 ' + (index + 1) + ' 笔'">
<el-input v-model="item.repaymentPercentage" suffix="%" readonly></el-input>
<el-input
v-model="item.repaymentPercentage"
width="100%"
readonly
>
<template #suffix>
%
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="5">
<el-col :span="12">
<!-- 回款条件 -->
<el-form-item>
<el-input v-model="item.repaymentCondition" readonly></el-input>
<el-form-item label="回款前置条件">
<el-input
v-model="item.repaymentCondition"
width="100%"
readonly
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</el-col>
</el-row>
<el-form-item>
<div style=" margin-left: auto;margin-right: 25px">
<el-button size="large" class="btn-B" @click="reset">返回</el-button>
</div>
</el-form-item>
</el-form>
<div>
<el-button @click="reset">取消</el-button>
</div>
</div>
</div>
</template>
......@@ -158,7 +227,7 @@ const form = ref({
repaymentCount: '',
repaymentDetails: [],
})
const repaymentDetails = ref([])
const headOptions = ref([])
const managerOptions = ref([])
const membersOptions = ref([])
......@@ -205,5 +274,23 @@ onMounted(() => {
</script>
<style scoped lang="scss">
.contentA{
height: auto;
padding: 20px;
margin-bottom: 10px;
background: #FFFFFF;
box-shadow: 0 2px 2px 0 #b3b3b380;
border-radius: 2px;
overflow: hidden;
}
.bold-text {
width: 72px;
height: 15px;
font-family: PingFangSC-Medium;
font-weight: 900;
font-size: 18px;
color: #0D162A;
letter-spacing: 0;
line-height: 15px;
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment