pull/480/head
liting 2024-04-14 17:02:27 +08:00
parent f742e12dd4
commit 9a7638b2c5
7 changed files with 193 additions and 138 deletions

View File

@ -86,7 +86,7 @@
"source.fixAll.eslint": "explicit" "source.fixAll.eslint": "explicit"
}, },
"[vue]": { "[vue]": {
"editor.defaultFormatter": "rvest.vs-code-prettier-eslint" "editor.defaultFormatter": "Vue.volar"
}, },
"i18n-ally.localesPaths": ["src/locales"], "i18n-ally.localesPaths": ["src/locales"],
"i18n-ally.keystyle": "nested", "i18n-ally.keystyle": "nested",

View File

@ -33,3 +33,31 @@
border-left-color: var(--el-color-primary); border-left-color: var(--el-color-primary);
} }
} }
fieldset{
padding: 5px 20px 5px 5px;
background: #f5f8fe;
margin-bottom: 5px;
position: relative;
border: 1px solid rgba(75, 141, 241, .35);
}
legend {
margin-left: 10px;
background: #fff;
border-radius: 3px;
padding: 2px 5px;
color: #2d8cf0;
border: 1px solid #2d8cf0;
}
.el-table th.el-table__cell,
.el-table .el-table__cell.is-center,
.el-table.is-scrolling-none th.el-table-fixed-column--right{
background-color: #fafafc;
color:#1f2225;
font-weight: normal;
}
// .el-table.is-scrolling-left .el-table-fixed-column--right.is-first-column::before{
// box-shadow: none;
// }
.el-form-item__label{
color:#1f2225;
}

View File

@ -1,4 +1,6 @@
:root { :root {
--el-button-text-color:#1f2225;
--login-bg-color: #293146; --login-bg-color: #293146;
--left-menu-max-width: 200px; --left-menu-max-width: 200px;
@ -52,7 +54,7 @@
--app-footer-height: 50px; --app-footer-height: 50px;
--transition-time-02: 0.2s; --transition-time-02: 0.2s
} }
.dark { .dark {

View File

@ -1,104 +1,132 @@
<template> <template>
<Dialog :title="dialogTitle" v-model="dialogVisible"> <Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form
ref="formRef" <!-- 子表的表单 -->
:model="formData" <el-tabs v-model="subTabsName" type="border-card">
:rules="formRules" <el-tab-pane label="基本信息" name="basic">
label-width="100px" <fieldset>
v-loading="formLoading" <legend>基本信息</legend>
> <el-form ref="formRef" :model="formData" :rules="formRules" label-width="100px" v-loading="formLoading">
<el-row :gutter="20">
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="编号" prop="number"> <el-form-item label="编号" prop="number">
<el-input v-model="formData.number" placeholder="请输入编号" /> <el-input v-model="formData.number" placeholder="请输入编号" />
</el-form-item> </el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="项目名称" prop="name"> <el-form-item label="项目名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入项目名称" /> <el-input v-model="formData.name" placeholder="请输入项目名称" />
</el-form-item> </el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="所属技术领域" prop="technicalField"> <el-form-item label="所属技术领域" prop="technicalField">
<el-select v-model="formData.technicalField" placeholder="请选择所属技术领域"> <el-select v-model="formData.technicalField" placeholder="请选择所属技术领域">
<el-option <el-option v-for="dict in getStrDictOptions(DICT_TYPE.TECHNICAL_FIELD)" :key="dict.value"
v-for="dict in getStrDictOptions(DICT_TYPE.TECHNICAL_FIELD)" :label="dict.label" :value="dict.value" />
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="年度" prop="year"> <el-form-item label="年度" prop="year">
<el-input v-model="formData.year" placeholder="请输入年度" /> <el-input v-model="formData.year" placeholder="请输入年度" />
</el-form-item> </el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="开始时间" prop="beginDate"> <el-form-item label="开始时间" prop="beginDate">
<el-date-picker <el-date-picker v-model="formData.beginDate" type="date" value-format="x" placeholder="选择开始时间" />
v-model="formData.beginDate"
type="date"
value-format="x"
placeholder="选择开始时间"
/>
</el-form-item> </el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="结束时间" prop="endData"> <el-form-item label="结束时间" prop="endData">
<el-date-picker <el-date-picker v-model="formData.endData" type="date" value-format="x" placeholder="选择结束时间" />
v-model="formData.endData"
type="date"
value-format="x"
placeholder="选择结束时间"
/>
</el-form-item> </el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="负责人Id" prop="directorId"> <el-form-item label="负责人Id" prop="directorId">
<el-input v-model="formData.directorId" placeholder="请输入负责人Id" /> <el-input v-model="formData.directorId" placeholder="请输入负责人Id" />
</el-form-item> </el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="负责人姓名" prop="director"> <el-form-item label="负责人姓名" prop="director">
<el-input v-model="formData.director" placeholder="请输入负责人姓名" /> <el-input v-model="formData.director" placeholder="请输入负责人姓名" />
</el-form-item> </el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="负责人性别" prop="gender"> <el-form-item label="负责人性别" prop="gender">
<el-input v-model="formData.gender" placeholder="请输入负责人性别" /> <el-input v-model="formData.gender" placeholder="请输入负责人性别" />
</el-form-item> </el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="年龄" prop="age"> <el-form-item label="年龄" prop="age">
<el-input v-model="formData.age" placeholder="请输入年龄" /> <el-input v-model="formData.age" placeholder="请输入年龄" />
</el-form-item> </el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="学历" prop="education"> <el-form-item label="学历" prop="education">
<el-input v-model="formData.education" placeholder="请输入学历" /> <el-input v-model="formData.education" placeholder="请输入学历" />
</el-form-item> </el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="所学专业" prop="major"> <el-form-item label="所学专业" prop="major">
<el-input v-model="formData.major" placeholder="请输入所学专业" /> <el-input v-model="formData.major" placeholder="请输入所学专业" />
</el-form-item> </el-form-item> </el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="从事专业" prop="engagMajor"> <el-form-item label="从事专业" prop="engagMajor">
<el-input v-model="formData.engagMajor" placeholder="请输入从事专业" /> <el-input v-model="formData.engagMajor" placeholder="请输入从事专业" />
</el-form-item> </el-form-item> </el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="职务(职称)" prop="position"> <el-form-item label="职务(职称)" prop="position">
<el-input v-model="formData.position" placeholder="请输入职务(职称)" /> <el-input v-model="formData.position" placeholder="请输入职务(职称)" />
</el-form-item> </el-form-item> </el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="电话" prop="phoneNo"> <el-form-item label="电话" prop="phoneNo">
<el-input v-model="formData.phoneNo" placeholder="请输入电话" /> <el-input v-model="formData.phoneNo" placeholder="请输入电话" />
</el-form-item> </el-form-item> </el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="邮箱" prop="email"> <el-form-item label="邮箱" prop="email">
<el-input v-model="formData.email" placeholder="请输入邮箱" /> <el-input v-model="formData.email" placeholder="请输入邮箱" />
</el-form-item> </el-form-item> </el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="传真" prop="fax"> <el-form-item label="传真" prop="fax">
<el-input v-model="formData.fax" placeholder="请输入传真" /> <el-input v-model="formData.fax" placeholder="请输入传真" />
</el-form-item> </el-form-item> </el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="邮编" prop="postalCode"> <el-form-item label="邮编" prop="postalCode">
<el-input v-model="formData.postalCode" placeholder="请输入邮编" /> <el-input v-model="formData.postalCode" placeholder="请输入邮编" />
</el-form-item> </el-form-item> </el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="通讯地址" prop="address"> <el-form-item label="通讯地址" prop="address">
<el-input v-model="formData.address" placeholder="请输入通讯地址" /> <el-input v-model="formData.address" placeholder="请输入通讯地址" />
</el-form-item> </el-form-item> </el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="主要业绩" prop="achievement"> <el-form-item label="主要业绩" prop="achievement">
<el-input v-model="formData.achievement" type="textarea" placeholder="请输入主要业绩" /> <el-input v-model="formData.achievement" type="textarea" placeholder="请输入主要业绩" />
</el-form-item> </el-form-item> </el-col>
<!-- <el-form-item label="主管部门ID" prop="competentDeptId"> <!-- <el-form-item label="主管部门ID" prop="competentDeptId">
<el-input v-model="formData.competentDeptId" placeholder="请输入主管部门ID" /> <el-input v-model="formData.competentDeptId" placeholder="请输入主管部门ID" />
</el-form-item>--> </el-form-item>-->
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<el-form-item label="主管部门" prop="competentDeptName"> <el-form-item label="主管部门" prop="competentDeptName">
<el-input v-model="formData.competentDeptName" placeholder="请输入主管部门" /> <el-input v-model="formData.competentDeptName" placeholder="请输入主管部门" />
</el-form-item> </el-form-item>
</el-col>
<el-col :xs="24" :sm="24" :md="24" :lg="12">
<!-- <el-form-item label="主管工程师ID" prop="managerId"> <!-- <el-form-item label="主管工程师ID" prop="managerId">
<el-input v-model="formData.managerId" placeholder="请输入主管工程师ID" /> <el-input v-model="formData.managerId" placeholder="请输入主管工程师ID" />
</el-form-item>--> </el-form-item>-->
<el-form-item label="主管工程师" prop="managerName"> <el-form-item label="主管工程师" prop="managerName">
<el-input v-model="formData.managerName" placeholder="请输入主管工程师" /> <el-input v-model="formData.managerName" placeholder="请输入主管工程师" />
</el-form-item> </el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<!-- 子表的表单 --> </fieldset>
<el-tabs v-model="subTabsName"> </el-tab-pane>
<el-tab-pane label="立项详细信息" name="info"> <el-tab-pane label="立项详细信息" name="info">
<InfoForm ref="infoFormRef" :apply-id="formData.id" /> <InfoForm ref="infoFormRef" :apply-id="formData.id" />
</el-tab-pane> </el-tab-pane>
@ -172,7 +200,7 @@ const formRules = reactive({
const formRef = ref() // Ref const formRef = ref() // Ref
/** 子表的表单 */ /** 子表的表单 */
const subTabsName = ref('info') const subTabsName = ref('basic')
const infoFormRef = ref() const infoFormRef = ref()
const unitsFormRef = ref() const unitsFormRef = ref()
const participantFormRef = ref() const participantFormRef = ref()

View File

@ -1,11 +1,7 @@
<template> <template>
<el-form <el-form ref="formRef" :model="formData" :rules="formRules" label-width="180px" v-loading="formLoading">
ref="formRef" <fieldset>
:model="formData" <legend>项目信息</legend>
:rules="formRules"
label-width="150px"
v-loading="formLoading"
>
<el-form-item label="项目目的与意义" prop="purposeSignificance"> <el-form-item label="项目目的与意义" prop="purposeSignificance">
<el-input v-model="formData.purposeSignificance" type="textarea" placeholder="请输入项目目的与意义" /> <el-input v-model="formData.purposeSignificance" type="textarea" placeholder="请输入项目目的与意义" />
</el-form-item> </el-form-item>
@ -36,6 +32,7 @@
<el-form-item label="课题实施的风险分析" prop="riskAnalysis"> <el-form-item label="课题实施的风险分析" prop="riskAnalysis">
<el-input v-model="formData.riskAnalysis" type="textarea" placeholder="请输入课题实施的风险分析" /> <el-input v-model="formData.riskAnalysis" type="textarea" placeholder="请输入课题实施的风险分析" />
</el-form-item> </el-form-item>
</fieldset>
</el-form> </el-form>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">

View File

@ -86,7 +86,7 @@
</el-form-item> </el-form-item>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="标识1承担单位2联合承担单位3参加单位" min-width="150"> <el-table-column label="标识1承担单位2联合承担单位3参加单位" min-width="400">
<template #default="{ row, $index }"> <template #default="{ row, $index }">
<el-form-item :prop="`${$index}.sign`" :rules="formRules.sign" class="mb-0px!"> <el-form-item :prop="`${$index}.sign`" :rules="formRules.sign" class="mb-0px!">
<el-input v-model="row.sign" placeholder="请输入标识1承担单位2联合承担单位3参加单位" /> <el-input v-model="row.sign" placeholder="请输入标识1承担单位2联合承担单位3参加单位" />

View File

@ -118,8 +118,8 @@
<el-table-column label="电话" align="center" prop="phoneNo" /> <el-table-column label="电话" align="center" prop="phoneNo" />
<el-table-column label="邮箱" align="center" prop="email" /> <el-table-column label="邮箱" align="center" prop="email" />
<el-table-column label="主管部门" align="center" prop="competentDeptName" /> <el-table-column label="主管部门" align="center" prop="competentDeptName" />
<el-table-column label="主管工程师" align="center" prop="managerName" /> <el-table-column label="主管工程师" align="center" prop="managerName" width="150px"/>
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center" fixed="right">
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link