Merge pull request 'master' (#681) from master into prod
Reviewed-on: http://git.feashow.cn/clay/mosr-web/pulls/681
This commit is contained in:
@@ -588,3 +588,23 @@ html, body, #app, .el-container, .el-aside, .el-main {
|
|||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//绘制下拉选择框远程搜索时右侧的箭头
|
||||||
|
.el-select {
|
||||||
|
.el-select__wrapper {
|
||||||
|
.el-select__suffix::before {
|
||||||
|
content: "";
|
||||||
|
width: 6px;
|
||||||
|
height: 6px;
|
||||||
|
border: solid #a8abb2;
|
||||||
|
border-width: 0 0 1px 1px;
|
||||||
|
transform: translate(-50%, -50%) rotate(-45deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.is-focused {
|
||||||
|
.el-select__suffix::before {
|
||||||
|
margin-top: 10px;
|
||||||
|
transform: translate(-50%, -50%) rotate(-225deg) !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-form :model="formData" ref="applyForm" :rules="rules" :label-position="labelPosition">
|
<el-form :model="formData" ref="applyForm" :rules="rules" :label-position="labelPosition" style="margin-left: 5px">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item :label="label" prop="attachment" >
|
<el-form-item :label="label" prop="attachment" >
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
<div v-loading="loading">
|
<div v-loading="loading">
|
||||||
<el-row v-if="type==='execute'">
|
<el-row v-if="type==='execute'">
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<baseTitle :title="'附件信息'"></baseTitle>
|
<baseTitle :title="'附件信息'" style="margin-bottom: 5px"></baseTitle>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-form :model="attachmentParam" inline style="margin-top: 15px">
|
<el-form :model="attachmentParam" inline style="margin-top: 15px;margin-left: 15px">
|
||||||
<el-form-item label="标签" prop="tag">
|
<el-form-item label="标签" prop="tag">
|
||||||
<el-select v-model="attachmentParam.tag" placeholder="请选择标签" clearable filterable style="width: 300px">
|
<el-select v-model="attachmentParam.tag" placeholder="请选择标签" clearable filterable remote style="width: 300px">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in tagsOption"
|
v-for="item in tagsOption"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<fvTable style="width: 100%;min-height:162px;max-height: 162px" v-if="showAttachmentTable" height="162"
|
<fvTable style="width: 100%;min-height:162px;max-height: 162px" v-if="showAttachmentTable" height="162"
|
||||||
:tableConfig="executeTableConfig"
|
:tableConfig="executeTableConfig" class="execute-table"
|
||||||
:data="otherAttachmentList" :isSettingCol="false" :pagination="false">
|
:data="otherAttachmentList" :isSettingCol="false" :pagination="false">
|
||||||
<template #empty>
|
<template #empty>
|
||||||
<el-empty :image-size="55" description="暂无数据" style="padding: 0"/>
|
<el-empty :image-size="55" description="暂无数据" style="padding: 0"/>
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
</fvTable>
|
</fvTable>
|
||||||
</el-row>
|
</el-row>
|
||||||
<baseTitle v-if="type!='phase'" :title="getTagName(type)+getTitleInfo(data.taskId)"></baseTitle>
|
<baseTitle v-if="type!='phase'" :title="getTagName(type)+getTitleInfo(data.taskId)"></baseTitle>
|
||||||
<fvForm :schema="schema" @getInstance="(e)=>form = e"></fvForm>
|
<fvForm :schema="schema" @getInstance="(e)=>form = e" style="margin-left: 15px"></fvForm>
|
||||||
<el-form :model="formData" label-width="auto" style="margin-top: -15px">
|
<el-form :model="formData" label-width="auto" style="margin-top: -15px">
|
||||||
<file-component :title="getTagName(type)+'附件'" :tag="getTagName(type)"
|
<file-component :title="getTagName(type)+'附件'" :tag="getTagName(type)"
|
||||||
v-model:value="formData.fileList" :processViewer="processViewer"
|
v-model:value="formData.fileList" :processViewer="processViewer"
|
||||||
@@ -92,24 +92,26 @@ const executeTableConfig = reactive({
|
|||||||
type: 'index',
|
type: 'index',
|
||||||
label: '序号',
|
label: '序号',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: '80',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'originalFileName',
|
prop: 'originalFileName',
|
||||||
label: '文件名',
|
label: '文件名',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
width: 700,
|
||||||
currentRender: ({row, index}) => (
|
currentRender: ({row, index}) => (
|
||||||
<div style="color: #2a99ff;cursor: pointer;" onClick={() => clickToPreview(row)}>{row.originalFileName}</div>)
|
<div style="color: #2a99ff;cursor: pointer;" onClick={() => clickToPreview(row)}>{row.originalFileName}</div>)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'tag',
|
prop: 'tag',
|
||||||
label: '标签',
|
label: '标签',
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
width: 200,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'size',
|
prop: 'size',
|
||||||
label: '文件大小',
|
label: '文件大小',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
width: 450,
|
||||||
currentRender: ({row, index}) => (parseInt(row.size / 1024) + 'KB')
|
currentRender: ({row, index}) => (parseInt(row.size / 1024) + 'KB')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -264,7 +266,7 @@ const schema = computed(() => {
|
|||||||
label: '项目负责人',
|
label: '项目负责人',
|
||||||
prop: 'projectChargePerson',
|
prop: 'projectChargePerson',
|
||||||
colProps: {
|
colProps: {
|
||||||
span: 24
|
span: 6
|
||||||
},
|
},
|
||||||
labelWidth: 'left',
|
labelWidth: 'left',
|
||||||
component: () => (
|
component: () => (
|
||||||
@@ -281,14 +283,15 @@ const schema = computed(() => {
|
|||||||
label: '项目成员',
|
label: '项目成员',
|
||||||
prop: 'projectPersonList',
|
prop: 'projectPersonList',
|
||||||
colProps: {
|
colProps: {
|
||||||
span: 24
|
span: 6
|
||||||
},
|
},
|
||||||
labelWidth: 'left',
|
labelWidth: 'left',
|
||||||
component: () => (
|
component: () => (
|
||||||
<div>
|
<div>
|
||||||
{
|
{
|
||||||
props.formData.projectPersonList ? props.formData.projectPersonList.map(item => {
|
props.formData.projectPersonList ? props.formData.projectPersonList.map((item, index) => {
|
||||||
return <span>{item.name} </span>
|
return <span>{item.name}
|
||||||
|
<span>{index != props.formData.projectPersonList?.length - 1 ? ',' : ''}</span></span>
|
||||||
}) : <span>{'--'}</span>
|
}) : <span>{'--'}</span>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
@@ -298,13 +301,13 @@ const schema = computed(() => {
|
|||||||
label: '部门分管领导',
|
label: '部门分管领导',
|
||||||
prop: 'optionalChargeLeadership',
|
prop: 'optionalChargeLeadership',
|
||||||
colProps: {
|
colProps: {
|
||||||
span: 24
|
span: 6
|
||||||
},
|
},
|
||||||
labelWidth: 'left',
|
labelWidth: 'left',
|
||||||
component: () => (
|
component: () => (
|
||||||
<div>
|
<div>
|
||||||
{
|
{
|
||||||
props.formData.optionalChargeLeadership?.length>0 ? props.formData.optionalChargeLeadership.map(item => {
|
props.formData.optionalChargeLeadership?.length > 0 ? props.formData.optionalChargeLeadership.map(item => {
|
||||||
return <span>{item.name} </span>
|
return <span>{item.name} </span>
|
||||||
}) : <span>{'--'}</span>
|
}) : <span>{'--'}</span>
|
||||||
}
|
}
|
||||||
@@ -377,7 +380,7 @@ const schema = computed(() => {
|
|||||||
component: () => (
|
component: () => (
|
||||||
<div>
|
<div>
|
||||||
{
|
{
|
||||||
props.formData.optionalChargeLeadership?.length>0 ? props.formData.optionalChargeLeadership.map(item => {
|
props.formData.optionalChargeLeadership?.length > 0 ? props.formData.optionalChargeLeadership.map(item => {
|
||||||
return <span>{item.name} </span>
|
return <span>{item.name} </span>
|
||||||
}) : <span>{'--'}</span>
|
}) : <span>{'--'}</span>
|
||||||
}
|
}
|
||||||
@@ -557,7 +560,41 @@ watch(() => props.loading, (newVal) => {
|
|||||||
props.loading = newVal
|
props.loading = newVal
|
||||||
}, {deep: true})
|
}, {deep: true})
|
||||||
</script>
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
.execute-table {
|
||||||
|
.el-table__header {
|
||||||
|
.el-table__cell:last-child {
|
||||||
|
.cell {
|
||||||
|
margin-left: -160px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.el-table__body {
|
||||||
|
.el-table__cell:last-child{
|
||||||
|
.cell {
|
||||||
|
margin-left: -160px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
||||||
|
:deep(.el-table__header) {
|
||||||
|
.is-leaf:first-child {
|
||||||
|
.cell {
|
||||||
|
margin-left: 10px !important;
|
||||||
|
white-space: nowrap;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//:deep(.el-table__body) {
|
||||||
|
// .el-table__cell:first-child {
|
||||||
|
// .cell {
|
||||||
|
// margin-left: -13px !important;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-form :label-position="labelAlign">
|
<el-form :label-position="labelAlign">
|
||||||
<el-form-item :label="title?'其他文件':''" v-if="fileListShow === 'READ' || fileListShow === 'EDIT'" :label-position="labelAlign" :label-width="title?95:''" style="margin-top: 10px">
|
<el-form-item :label="title?'其他文件':''" v-if="fileListShow === 'READ' || fileListShow === 'EDIT'" :label-position="labelAlign" :label-width="title?95:''" :style="{marginTop: '10px',marginLeft: tag!=='需求上报'?'15px':'0'}">
|
||||||
<file-upload @getFile="getOtherFile" v-if="fileListShow === 'EDIT'"/>
|
<file-upload @getFile="getOtherFile" v-if="fileListShow === 'EDIT'"/>
|
||||||
<fvTable style="width: 100%;max-height: 162px;" v-if="processViewer" height="162" :tableConfig="tableConfig"
|
<fvTable style="width: 100%;max-height: 162px;" v-if="processViewer" height="162" :tableConfig="tableConfig"
|
||||||
:data="_value" :isSettingCol="false" :pagination="false">
|
:data="_value" :isSettingCol="false" :pagination="false">
|
||||||
@@ -196,19 +196,5 @@ watch(() => props.processViewer, (newVal) => {
|
|||||||
:deep(.el-table--fit ) {
|
:deep(.el-table--fit ) {
|
||||||
height: 162px !important;
|
height: 162px !important;
|
||||||
}
|
}
|
||||||
:deep(.el-table__header) {
|
|
||||||
.is-leaf:first-child {
|
|
||||||
.cell {
|
|
||||||
margin-left: -25px !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
:deep(.el-table__body) {
|
|
||||||
.el-table__cell:first-child {
|
|
||||||
.cell {
|
|
||||||
margin-left: -13px !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<baseTitle :title="'附件信息'"></baseTitle>
|
<baseTitle :title="'附件信息'"></baseTitle>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-form :model="attachmentParam" inline >
|
<el-form :model="attachmentParam" inline style="margin-left: 15px">
|
||||||
<el-form-item label="标签" prop="tag">
|
<el-form-item label="标签" prop="tag">
|
||||||
<el-select v-model="attachmentParam.tag" placeholder="请选择标签" clearable filterable style="width: 300px">
|
<el-select v-model="attachmentParam.tag" placeholder="请选择标签" clearable filterable style="width: 300px">
|
||||||
<el-option
|
<el-option
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<fvTable style="width: 100%;min-height:162px;max-height: 162px" v-if="showAttachmentTable" height="162"
|
<fvTable style="width: 100%;min-height:162px;max-height: 162px" v-if="showAttachmentTable" height="162"
|
||||||
:tableConfig="tableConfig"
|
:tableConfig="executeTableConfig" class="execute-apply-table"
|
||||||
:data="otherAttachmentList" :isSettingCol="false" :pagination="false">
|
:data="otherAttachmentList" :isSettingCol="false" :pagination="false">
|
||||||
<template #empty>
|
<template #empty>
|
||||||
<el-empty :image-size="55" description="暂无数据" style="padding: 0"/>
|
<el-empty :image-size="55" description="暂无数据" style="padding: 0"/>
|
||||||
@@ -31,9 +31,10 @@
|
|||||||
<baseTitle :title="getTitleName(title)+'信息'"></baseTitle>
|
<baseTitle :title="getTitleName(title)+'信息'"></baseTitle>
|
||||||
<el-form :model="localFormData" ref="formRef" label-width="auto" v-if="step!=='50'">
|
<el-form :model="localFormData" ref="formRef" label-width="auto" v-if="step!=='50'">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24" v-if="title==='apply'">
|
<el-col :span="6" v-if="title==='apply'">
|
||||||
<el-form-item label="项目负责人" :required="true" prop=""
|
<!-- label-width="106"-->
|
||||||
label-width="106">
|
<el-form-item label="项目负责人" :required="true" prop="" label-width="111"
|
||||||
|
>
|
||||||
<el-button style="margin-right: 10px" color="#DED0B2" @click="handleShowProjectChargePersonTable">
|
<el-button style="margin-right: 10px" color="#DED0B2" @click="handleShowProjectChargePersonTable">
|
||||||
{{ projectChargePersonUserList?.length !== 0 ? '更改' : '请选择' }}
|
{{ projectChargePersonUserList?.length !== 0 ? '更改' : '请选择' }}
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -44,9 +45,9 @@
|
|||||||
v-model:value="projectChargePersonUserList" @ok="projectChargePersonUserPickerOk"/>
|
v-model:value="projectChargePersonUserList" @ok="projectChargePersonUserPickerOk"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24" v-if="title==='apply'">
|
<el-col :span="6" v-if="title==='apply'">
|
||||||
<el-form-item label="项目成员" :required="true" prop=""
|
<el-form-item label="项目成员" :required="true" prop="" label-width="85"
|
||||||
label-width="106">
|
>
|
||||||
<el-button color="#DED0B2" style="margin-right: 10px" @click="handleShowProjectPersonTable">
|
<el-button color="#DED0B2" style="margin-right: 10px" @click="handleShowProjectPersonTable">
|
||||||
{{ projectPersonUserList?.length !== 0 ? '更改' : getProjectPerson(projectPersonUserList) ? '更改' : '请选择' }}
|
{{ projectPersonUserList?.length !== 0 ? '更改' : getProjectPerson(projectPersonUserList) ? '更改' : '请选择' }}
|
||||||
</el-button>
|
</el-button>
|
||||||
@@ -57,13 +58,16 @@
|
|||||||
v-model:value="projectPersonUserList" @ok="projectPersonUserPickerOk"/>
|
v-model:value="projectPersonUserList" @ok="projectPersonUserPickerOk"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24" v-if="title==='apply'||title==='check'">
|
<el-col :span="6" v-if="title==='apply'||title==='check'">
|
||||||
<el-form-item label="部门分管领导"
|
<el-form-item label="部门分管领导" label-width="115"
|
||||||
label-width="106">
|
>
|
||||||
<el-button color="#DED0B2" style="margin-right: 10px" @click="handleShowOptionalChargeLeadershipPicker">
|
<el-button color="#DED0B2" style="margin-right: 10px" @click="handleShowOptionalChargeLeadershipPicker">
|
||||||
{{ optionalChargeLeadershipList?.length !== 0 ? '更改' : getOptionalChargeLeadershipList(optionalChargeLeadershipList) ? '更改' : '请选择' }}
|
{{
|
||||||
|
optionalChargeLeadershipList?.length !== 0 ? '更改' : getOptionalChargeLeadershipList(optionalChargeLeadershipList) ? '更改' : '请选择'
|
||||||
|
}}
|
||||||
</el-button>
|
</el-button>
|
||||||
<div v-for="item in getOptionalChargeLeadershipList(optionalChargeLeadershipList)" :key="item.id" style="margin-right: 5px">
|
<div v-for="item in getOptionalChargeLeadershipList(optionalChargeLeadershipList)" :key="item.id"
|
||||||
|
style="margin-right: 5px">
|
||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</div>
|
</div>
|
||||||
<user-picker :multiple="true" ref="optionalChargeLeadershipPickerRef" title="请选择部门分管领导"
|
<user-picker :multiple="true" ref="optionalChargeLeadershipPickerRef" title="请选择部门分管领导"
|
||||||
@@ -79,7 +83,8 @@
|
|||||||
</el-button>
|
</el-button>
|
||||||
<div v-for="(item,index) in getRequestName(localFormData.preProcess)" :key="item.requestId">
|
<div v-for="(item,index) in getRequestName(localFormData.preProcess)" :key="item.requestId">
|
||||||
<a :href="item.baseUrl" target="_blank"
|
<a :href="item.baseUrl" target="_blank"
|
||||||
style="color: #2a99ff;cursor: pointer">{{ item.requestName }}<span v-if="index != localFormData.preProcess?.length -1">,</span>
|
style="color: #2a99ff;cursor: pointer">{{ item.requestName }}<span
|
||||||
|
v-if="index != localFormData.preProcess?.length -1">,</span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -95,8 +100,8 @@
|
|||||||
<div>
|
<div>
|
||||||
<div class="approval-record">
|
<div class="approval-record">
|
||||||
<div class="approval-title" style="margin-top: -15px">
|
<div class="approval-title" style="margin-top: -15px">
|
||||||
<!-- <baseTitle title="审批记录" v-if="mode === 'resubmit'"></baseTitle>-->
|
<!-- <baseTitle title="审批记录" v-if="mode === 'resubmit'"></baseTitle>-->
|
||||||
<!-- <div v-else></div>-->
|
<!-- <div v-else></div>-->
|
||||||
<baseTitle title="审批记录"></baseTitle>
|
<baseTitle title="审批记录"></baseTitle>
|
||||||
<div class="diagram">
|
<div class="diagram">
|
||||||
<div class="base-title">流程图</div>
|
<div class="base-title">流程图</div>
|
||||||
@@ -106,10 +111,12 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<el-empty :image-size="100" description="暂无审批记录" v-if="!data?.operationList&&!changeDiagram"/>
|
<el-empty :image-size="100" description="暂无审批记录" v-if="!data?.operationList&&!changeDiagram"/>
|
||||||
<div class="process">
|
<div class="process">
|
||||||
<operation-render v-if="mode === 'resubmit'&&processDiagramViewer&& data?.operationList && data?.operationList.length > 0&&!changeDiagram" :operation-list="data.operationList"
|
<operation-render
|
||||||
:state="data.state"/>
|
v-if="mode === 'resubmit'&&processDiagramViewer&& data?.operationList && data?.operationList.length > 0&&!changeDiagram"
|
||||||
|
:operation-list="data.operationList"
|
||||||
|
:state="data.state"/>
|
||||||
<process-diagram-viewer mode="view" :idName="title" v-if="processDiagramViewer&&changeDiagram"/>
|
<process-diagram-viewer mode="view" :idName="title" v-if="processDiagramViewer&&changeDiagram"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -120,7 +127,8 @@
|
|||||||
<el-button @click="handleBack">返回</el-button>
|
<el-button @click="handleBack">返回</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<file-preview ref="filePreviewRef" v-if="filePreviewShow" :fileName="filePreviewParam.fileName" :fileUrl="filePreviewParam.fileUrl"
|
<file-preview ref="filePreviewRef" v-if="filePreviewShow" :fileName="filePreviewParam.fileName"
|
||||||
|
:fileUrl="filePreviewParam.fileUrl"
|
||||||
:fileType="filePreviewParam.fileType"/>
|
:fileType="filePreviewParam.fileType"/>
|
||||||
<el-dialog v-if="showPreTable" title="前置流程" v-model="showPreTable" width="80%">
|
<el-dialog v-if="showPreTable" title="前置流程" v-model="showPreTable" width="80%">
|
||||||
<el-form :model="preProcessForm" inline @submit.prevent="searchPreProcess">
|
<el-form :model="preProcessForm" inline @submit.prevent="searchPreProcess">
|
||||||
@@ -201,7 +209,7 @@ const otherAttachmentList = ref([])
|
|||||||
const attachmentParam = reactive({
|
const attachmentParam = reactive({
|
||||||
tag: ''
|
tag: ''
|
||||||
})
|
})
|
||||||
const tableConfig = reactive({
|
const executeTableConfig = reactive({
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
prop: 'index',
|
prop: 'index',
|
||||||
@@ -214,17 +222,21 @@ const tableConfig = reactive({
|
|||||||
prop: 'originalFileName',
|
prop: 'originalFileName',
|
||||||
label: '文件名',
|
label: '文件名',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
currentRender: ({row, index}) => (<div style="color: #2a99ff;cursor: pointer;" onClick={()=>clickToPreview(row)}>{row.originalFileName}</div>)
|
width: 620,
|
||||||
|
currentRender: ({row, index}) => (
|
||||||
|
<div style="color: #2a99ff;cursor: pointer;" onClick={() => clickToPreview(row)}>{row.originalFileName}</div>)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'tag',
|
prop: 'tag',
|
||||||
label: '标签',
|
label: '标签',
|
||||||
align: 'center'
|
align: 'center',
|
||||||
|
width: 160,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'size',
|
prop: 'size',
|
||||||
label: '文件大小',
|
label: '文件大小',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
width: 600,
|
||||||
currentRender: ({row, index}) => (parseInt(row.size / 1024) + 'KB')
|
currentRender: ({row, index}) => (parseInt(row.size / 1024) + 'KB')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -333,14 +345,14 @@ const optionalChargeLeaderPickerOk = (userList) => {
|
|||||||
localStorage.setItem('optionalChargeLeadershipList', JSON.stringify(optionalChargeLeadershipList.value))
|
localStorage.setItem('optionalChargeLeadershipList', JSON.stringify(optionalChargeLeadershipList.value))
|
||||||
}
|
}
|
||||||
|
|
||||||
const clickToPreview=(row)=>{
|
const clickToPreview = (row) => {
|
||||||
filePreviewShow.value = false
|
filePreviewShow.value = false
|
||||||
filePreviewParam.value = {
|
filePreviewParam.value = {
|
||||||
fileUrl: row.url,
|
fileUrl: row.url,
|
||||||
fileName: row.originalFileName,
|
fileName: row.originalFileName,
|
||||||
fileType: row.fileType
|
fileType: row.fileType
|
||||||
}
|
}
|
||||||
nextTick(()=>{
|
nextTick(() => {
|
||||||
filePreviewShow.value = true
|
filePreviewShow.value = true
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -732,14 +744,14 @@ const init = async () => {
|
|||||||
|
|
||||||
watchEffect(() => {
|
watchEffect(() => {
|
||||||
if (props.formData.projectChargePerson == null) {
|
if (props.formData.projectChargePerson == null) {
|
||||||
projectChargePersonUserList.value = []
|
projectChargePersonUserList.value = []
|
||||||
} else {
|
} else {
|
||||||
projectChargePersonUserList.value = [props.formData.projectChargePerson]
|
projectChargePersonUserList.value = [props.formData.projectChargePerson]
|
||||||
}
|
}
|
||||||
if (props.formData.optionalChargeLeadership == null) {
|
if (props.formData.optionalChargeLeadership == null) {
|
||||||
optionalChargeLeadershipList.value = []
|
optionalChargeLeadershipList.value = []
|
||||||
} else {
|
} else {
|
||||||
optionalChargeLeadershipList.value=props.formData.optionalChargeLeadership
|
optionalChargeLeadershipList.value = props.formData.optionalChargeLeadership
|
||||||
}
|
}
|
||||||
projectPersonUserList.value = props.formData.projectPersonList ? props.formData.projectPersonList : []
|
projectPersonUserList.value = props.formData.projectPersonList ? props.formData.projectPersonList : []
|
||||||
let flag = Object.keys(props.formData).length && (localFormData.value = props.formData)
|
let flag = Object.keys(props.formData).length && (localFormData.value = props.formData)
|
||||||
@@ -801,11 +813,30 @@ onMounted(async () => {
|
|||||||
await init()
|
await init()
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
<style lang="scss">
|
||||||
|
.execute-apply-table {
|
||||||
|
.el-table__header {
|
||||||
|
.el-table__cell:last-child {
|
||||||
|
.cell {
|
||||||
|
margin-left: -108px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
<style scoped>
|
.el-table__body {
|
||||||
|
.el-table__cell:last-child {
|
||||||
|
.cell {
|
||||||
|
margin-left: -108px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<style scoped lang="scss">
|
||||||
.oper {
|
.oper {
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -46,12 +46,12 @@
|
|||||||
<el-row gutter="20" style="margin-left: 5px;margin-bottom: -18px;">
|
<el-row gutter="20" style="margin-left: 5px;margin-bottom: -18px;">
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="现有业务描述" prop="serviceDescription">
|
<el-form-item label="现有业务描述" prop="serviceDescription">
|
||||||
<span>{{ localFormData.serviceDescription }}</span>
|
<span style="white-space: pre-wrap">{{ localFormData.serviceDescription }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="研发项目关键内容描述" prop="contentDescription">
|
<el-form-item label="研发项目关键内容描述" prop="contentDescription">
|
||||||
<span>{{ localFormData.contentDescription }}</span>
|
<span style="white-space: pre-wrap">{{ localFormData.contentDescription }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@@ -322,4 +322,19 @@ getFundOptions()
|
|||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
padding-bottom: 0 !important;
|
padding-bottom: 0 !important;
|
||||||
}
|
}
|
||||||
|
:deep(.el-table__header) {
|
||||||
|
.is-leaf:first-child {
|
||||||
|
.cell {
|
||||||
|
margin-left: -25px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(.el-table__body) {
|
||||||
|
.el-table__cell:first-child {
|
||||||
|
.cell {
|
||||||
|
margin-left: -13px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<el-input v-model="attachment.fileName" placeholder="请输入附件名称查询" clearable filterable style="width: 300px"/>
|
<el-input v-model="attachment.fileName" placeholder="请输入附件名称查询" clearable filterable style="width: 300px"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="标签" prop="tag" v-if="type==='40'">
|
<el-form-item label="标签" prop="tag" v-if="type==='40'">
|
||||||
<el-select v-model="attachment.tag" placeholder="请选择标签" clearable filterable style="width: 300px">
|
<el-select v-model="attachment.tag" placeholder="请选择标签" clearable remote filterable style="width: 300px">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in tagsOption"
|
v-for="item in tagsOption"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
|
|||||||
@@ -44,9 +44,9 @@ export const useTagsView = defineStore('tagsView',()=>{
|
|||||||
}
|
}
|
||||||
|
|
||||||
//删除其他标签页
|
//删除其他标签页
|
||||||
const delOtherVisitedViews = ({path,meta}) => {
|
const delOtherVisitedViews = ({path,meta,query}) => {
|
||||||
visitedViews.value = []
|
visitedViews.value = []
|
||||||
visitedViews.value.push({path,meta})
|
visitedViews.value.push({path,meta,query})
|
||||||
toLastTagView(visitedViews)
|
toLastTagView(visitedViews)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,8 @@ const searchConfig = ref([
|
|||||||
clearable: true,
|
clearable: true,
|
||||||
data: [],
|
data: [],
|
||||||
filterable: true,
|
filterable: true,
|
||||||
checkStrictly: true
|
checkStrictly: true,
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -60,6 +61,7 @@ const searchConfig = ref([
|
|||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
cacheKey: 'project_cost',
|
cacheKey: 'project_cost',
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -72,6 +74,7 @@ const searchConfig = ref([
|
|||||||
filterable: true,
|
filterable: true,
|
||||||
checkStrictly: true,
|
checkStrictly: true,
|
||||||
cacheKey: 'fee_stage',
|
cacheKey: 'fee_stage',
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ const formData = ref({
|
|||||||
deadline: '',
|
deadline: '',
|
||||||
collectExplain: '',
|
collectExplain: '',
|
||||||
fileList: [],
|
fileList: [],
|
||||||
isSpecialFund: true
|
isSpecialFund: false
|
||||||
})
|
})
|
||||||
const routerName = ref(router.currentRoute.value.name)
|
const routerName = ref(router.currentRoute.value.name)
|
||||||
const processDiagramViewer = ref(false)
|
const processDiagramViewer = ref(false)
|
||||||
|
|||||||
@@ -39,7 +39,6 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
<!-- <fvSearchForm :searchConfig="searchConfig" @search="search"></fvSearchForm>-->
|
|
||||||
|
|
||||||
<fvTable ref="tableIns" :tableConfig="tableConfig" @headBtnClick="headBtnClick">
|
<fvTable ref="tableIns" :tableConfig="tableConfig" @headBtnClick="headBtnClick">
|
||||||
<template #empty>
|
<template #empty>
|
||||||
@@ -60,41 +59,6 @@ import {getRequirementStatePerm} from "@/api/project-demand";
|
|||||||
const cacheStore = useCacheStore()
|
const cacheStore = useCacheStore()
|
||||||
const authStore = useAuthStore()
|
const authStore = useAuthStore()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const collectTypeSelectRef=ref()
|
|
||||||
const searchConfig = reactive([
|
|
||||||
{
|
|
||||||
label: '征集名称',
|
|
||||||
prop: 'requirementName',
|
|
||||||
component: 'el-input',
|
|
||||||
props: {
|
|
||||||
placeholder: '请输入征集名称查询',
|
|
||||||
clearable: true,
|
|
||||||
filterable: true,
|
|
||||||
checkStrictly: true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '征集类型',
|
|
||||||
prop: 'collectType',
|
|
||||||
component: shallowRef(fvSelect),
|
|
||||||
props: {
|
|
||||||
placeholder: '请选择征集类型',
|
|
||||||
clearable: true,
|
|
||||||
filterable: true,
|
|
||||||
cacheKey: 'collect_type'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '状态',
|
|
||||||
prop: 'state',
|
|
||||||
component: shallowRef(fvSelect),
|
|
||||||
props: {
|
|
||||||
placeholder: '请选择状态',
|
|
||||||
clearable: true,
|
|
||||||
cacheKey: 'demand_collection'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
])
|
|
||||||
const selectForm = ref({})
|
const selectForm = ref({})
|
||||||
const tableIns = ref()
|
const tableIns = ref()
|
||||||
const formRef = ref()
|
const formRef = ref()
|
||||||
|
|||||||
@@ -348,9 +348,9 @@ const showSingleTable = ref(false)
|
|||||||
const otherFileList = ref([])
|
const otherFileList = ref([])
|
||||||
const singleList = ref([])
|
const singleList = ref([])
|
||||||
const formData = ref({
|
const formData = ref({
|
||||||
isSpecialFund: true,
|
isSpecialFund: false,
|
||||||
industryUniversityResearch: '0',
|
industryUniversityResearch: '1',
|
||||||
governmentDeclaration: '0',
|
governmentDeclaration: '1',
|
||||||
resultForm: []
|
resultForm: []
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -61,6 +61,7 @@ const searchConfig = reactive([
|
|||||||
cacheKey: 'project_type',
|
cacheKey: 'project_type',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
|
remote: true
|
||||||
},
|
},
|
||||||
colProps: {}
|
colProps: {}
|
||||||
},
|
},
|
||||||
@@ -73,6 +74,7 @@ const searchConfig = reactive([
|
|||||||
placeholder: '请选择项目影响',
|
placeholder: '请选择项目影响',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
|
remote: true
|
||||||
},
|
},
|
||||||
colProps: {}
|
colProps: {}
|
||||||
},
|
},
|
||||||
@@ -85,6 +87,7 @@ const searchConfig = reactive([
|
|||||||
cacheKey: 'rd_subject',
|
cacheKey: 'rd_subject',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -107,7 +110,9 @@ const searchConfig = reactive([
|
|||||||
props: {
|
props: {
|
||||||
placeholder: '请选择状态',
|
placeholder: '请选择状态',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
cacheKey: 'demand_summary'
|
filterable:true,
|
||||||
|
cacheKey: 'demand_summary',
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
|
|||||||
@@ -54,7 +54,8 @@ const searchConfig = ref([
|
|||||||
clearable: true,
|
clearable: true,
|
||||||
data: [],
|
data: [],
|
||||||
filterable: true,
|
filterable: true,
|
||||||
checkStrictly: true
|
checkStrictly: true,
|
||||||
|
remote:true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -76,6 +77,7 @@ const searchConfig = ref([
|
|||||||
cacheKey: 'project_type',
|
cacheKey: 'project_type',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -87,6 +89,7 @@ const searchConfig = ref([
|
|||||||
placeholder: '请选择项目影响',
|
placeholder: '请选择项目影响',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
|
remote: true
|
||||||
},
|
},
|
||||||
colProps: {}
|
colProps: {}
|
||||||
},
|
},
|
||||||
@@ -99,6 +102,7 @@ const searchConfig = ref([
|
|||||||
cacheKey: 'rd_subject',
|
cacheKey: 'rd_subject',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -121,7 +125,9 @@ const searchConfig = ref([
|
|||||||
props: {
|
props: {
|
||||||
placeholder: '请选择状态',
|
placeholder: '请选择状态',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
cacheKey: 'project_filing'
|
cacheKey: 'project_filing',
|
||||||
|
filterable: true,
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
|
|||||||
@@ -324,6 +324,7 @@ const searchConfig = reactive([
|
|||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
cacheKey: 'project_cost',
|
cacheKey: 'project_cost',
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -336,6 +337,7 @@ const searchConfig = reactive([
|
|||||||
filterable: true,
|
filterable: true,
|
||||||
checkStrictly: true,
|
checkStrictly: true,
|
||||||
cacheKey: 'fee_stage',
|
cacheKey: 'fee_stage',
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<fvForm :schema="schema" @getInstance="(e)=>baseForm = e" label-position="left" label-width="left"></fvForm>
|
<fvForm :schema="schema" @getInstance="(e)=>baseForm = e" label-position="left" label-width="left"></fvForm>
|
||||||
<el-form :model="attachment" inline style="margin-top: 15px">
|
<el-form :model="attachment" inline style="margin-top: 15px">
|
||||||
<el-form-item label="标签" prop="tag">
|
<el-form-item label="标签" prop="tag">
|
||||||
<el-select v-model="attachment.tag" placeholder="请选择标签" clearable filterable style="width: 300px">
|
<el-select v-model="attachment.tag" placeholder="请选择标签" clearable filterable remote style="width: 300px">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in tagsOption"
|
v-for="item in tagsOption"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
|
|||||||
@@ -52,7 +52,8 @@ const searchConfig = ref([
|
|||||||
clearable: true,
|
clearable: true,
|
||||||
data: [],
|
data: [],
|
||||||
filterable: true,
|
filterable: true,
|
||||||
checkStrictly: true
|
checkStrictly: true,
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -75,6 +76,7 @@ const searchConfig = ref([
|
|||||||
cacheKey: 'project_type',
|
cacheKey: 'project_type',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -86,6 +88,7 @@ const searchConfig = ref([
|
|||||||
cacheKey: 'project_impact',
|
cacheKey: 'project_impact',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
|
remote: true
|
||||||
},
|
},
|
||||||
colProps: {}
|
colProps: {}
|
||||||
},
|
},
|
||||||
@@ -98,6 +101,7 @@ const searchConfig = ref([
|
|||||||
cacheKey: 'rd_subject',
|
cacheKey: 'rd_subject',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -120,7 +124,9 @@ const searchConfig = ref([
|
|||||||
props: {
|
props: {
|
||||||
placeholder: '请选择状态',
|
placeholder: '请选择状态',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
cacheKey: 'project_implementation'
|
filterable: true,
|
||||||
|
cacheKey: 'project_implementation',
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
|
|||||||
@@ -51,7 +51,8 @@ const searchConfig = ref([
|
|||||||
clearable: true,
|
clearable: true,
|
||||||
data: [],
|
data: [],
|
||||||
filterable: true,
|
filterable: true,
|
||||||
checkStrictly: true
|
checkStrictly: true,
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -73,6 +74,7 @@ const searchConfig = ref([
|
|||||||
cacheKey: 'project_type',
|
cacheKey: 'project_type',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -84,6 +86,7 @@ const searchConfig = ref([
|
|||||||
placeholder: '请选择项目影响',
|
placeholder: '请选择项目影响',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
|
remote: true
|
||||||
},
|
},
|
||||||
colProps: {}
|
colProps: {}
|
||||||
},
|
},
|
||||||
@@ -96,6 +99,7 @@ const searchConfig = ref([
|
|||||||
cacheKey: 'rd_subject',
|
cacheKey: 'rd_subject',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
filterable: true,
|
filterable: true,
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -118,7 +122,9 @@ const searchConfig = ref([
|
|||||||
props: {
|
props: {
|
||||||
placeholder: '请选择状态',
|
placeholder: '请选择状态',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
cacheKey: 'project_initiation'
|
filterable: true,
|
||||||
|
remote: true,
|
||||||
|
cacheKey: 'project_initiation',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
<div v-loading="loading">
|
<div v-loading="loading">
|
||||||
<el-row v-if="type==='execute'">
|
<el-row v-if="type==='execute'">
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<baseTitle :title="'附件信息'"></baseTitle>
|
<baseTitle :title="'附件信息'" style="margin-bottom: 5px"></baseTitle>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-form :model="attachmentParam" inline style="margin-top: 15px" @submit.prevent>
|
<el-form :model="attachmentParam" inline style="margin-top: 15px;margin-left: 15px" @submit.prevent>
|
||||||
<el-form-item label="标签" prop="tag">
|
<el-form-item label="标签" prop="tag">
|
||||||
<el-select v-model="attachmentParam.tag" placeholder="请选择标签" clearable filterable style="width: 200px">
|
<el-select v-model="attachmentParam.tag" placeholder="请选择标签" clearable filterable style="width: 200px">
|
||||||
<el-option
|
<el-option
|
||||||
@@ -28,10 +28,11 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<baseTitle v-if="type!='phase'" :title="getTagName(type)+'信息'" ></baseTitle>
|
<baseTitle v-if="type!='phase'" :title="getTagName(type)+'信息'" ></baseTitle>
|
||||||
|
|
||||||
<fvForm :schema="schema" @getInstance="(e)=>form = e" ></fvForm>
|
<fvForm :schema="schema" @getInstance="(e)=>form = e" style="margin-left: 15px"></fvForm>
|
||||||
<el-form :model="formData" label-width="auto">
|
<el-form :model="formData" label-width="auto">
|
||||||
<file-component
|
<file-component
|
||||||
:title="getTagName(type)+'附件'"
|
:title="getTagName(type)+'附件'"
|
||||||
|
:fileNameTableWidth="300"
|
||||||
:tag="getTagName(type)"
|
:tag="getTagName(type)"
|
||||||
v-model:value="formData.fileList"
|
v-model:value="formData.fileList"
|
||||||
:processViewer="processViewer"
|
:processViewer="processViewer"
|
||||||
@@ -105,6 +106,7 @@ const executeTableConfig = reactive({
|
|||||||
prop: 'originalFileName',
|
prop: 'originalFileName',
|
||||||
label: '文件名',
|
label: '文件名',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
width: 300
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'tag',
|
prop: 'tag',
|
||||||
@@ -189,7 +191,7 @@ const editSingleTableConfig = reactive({
|
|||||||
prop: 'originalFileName',
|
prop: 'originalFileName',
|
||||||
label: '文件名',
|
label: '文件名',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 400,
|
width: 300,
|
||||||
currentRender: ({row, index}) => (<div style="color: #2a99ff;cursor: pointer;" onClick={()=>clickToPreview(row)}>{row.originalFileName}</div>)
|
currentRender: ({row, index}) => (<div style="color: #2a99ff;cursor: pointer;" onClick={()=>clickToPreview(row)}>{row.originalFileName}</div>)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -289,8 +291,8 @@ const schema = computed(() => {
|
|||||||
component: () => (
|
component: () => (
|
||||||
<div>
|
<div>
|
||||||
{
|
{
|
||||||
props.formData.projectPersonList ? props.formData.projectPersonList.map(item => {
|
props.formData.projectPersonList ? props.formData.projectPersonList.map((item, index) => {
|
||||||
return <span>{item.name} </span>
|
return <span>{item.name} <span>{index != props.formData.projectPersonList?.length - 1 ? ',' : ''}</span></span>
|
||||||
}) : <span>{'--'}</span>
|
}) : <span>{'--'}</span>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
@@ -306,7 +308,7 @@ const schema = computed(() => {
|
|||||||
component: () => (
|
component: () => (
|
||||||
<div>
|
<div>
|
||||||
{
|
{
|
||||||
props.formData.optionalChargeLeadership ? props.formData.optionalChargeLeadership.map(item => {
|
props.formData.optionalChargeLeadership?.length > 0 ? props.formData.optionalChargeLeadership.map(item => {
|
||||||
return <span>{item.name} </span>
|
return <span>{item.name} </span>
|
||||||
}) : <span>{'--'}</span>
|
}) : <span>{'--'}</span>
|
||||||
}
|
}
|
||||||
@@ -379,7 +381,7 @@ const schema = computed(() => {
|
|||||||
component: () => (
|
component: () => (
|
||||||
<div>
|
<div>
|
||||||
{
|
{
|
||||||
props.formData.optionalChargeLeadership ? props.formData.optionalChargeLeadership.map(item => {
|
props.formData.optionalChargeLeadership?.length > 0 ? props.formData.optionalChargeLeadership.map(item => {
|
||||||
return <span>{item.name} </span>
|
return <span>{item.name} </span>
|
||||||
}) : <span>{'--'}</span>
|
}) : <span>{'--'}</span>
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ const localSteps = ref([
|
|||||||
key: 'approve',
|
key: 'approve',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '项目实施',
|
title: '项目验收',
|
||||||
key: 'execute',
|
key: 'execute',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -47,19 +47,19 @@
|
|||||||
<el-row gutter="20" style="margin-bottom: -18px;margin-left: 5px;">
|
<el-row gutter="20" style="margin-bottom: -18px;margin-left: 5px;">
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="现有业务描述" prop="serviceDescription">
|
<el-form-item label="现有业务描述" prop="serviceDescription">
|
||||||
<span>{{ localFormData.serviceDescription }}</span>
|
<span style="white-space: pre-wrap">{{ localFormData.serviceDescription }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="研发项目关键内容描述" prop="contentDescription">
|
<el-form-item label="研发项目关键内容描述" prop="contentDescription">
|
||||||
<span>{{ localFormData.contentDescription }}</span>
|
<span style="white-space: pre-wrap">{{ localFormData.contentDescription }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<baseTitle title="需求上报申请书" style="margin-bottom: 10px">></baseTitle>
|
<baseTitle title="需求上报申请书" style="margin-bottom: 10px">></baseTitle>
|
||||||
<el-row gutter="20" style="margin-bottom: -15px;">
|
<el-row gutter="20" style="margin-bottom: -15px;">
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<single-file-component tag="需求上报" :fileNameTableWidth="200" :fullscreen="true"
|
<single-file-component tag="需求上报" :fileNameTableWidth="300" :fullscreen="true"
|
||||||
v-model:value="localFormData.singleFile" :processViewer="processViewer"
|
v-model:value="localFormData.singleFile" :processViewer="processViewer"
|
||||||
labelAlign="top"/>
|
labelAlign="top"/>
|
||||||
<!-- <el-form-item label="需求上报申请书" label-position="top" style="display:block;">-->
|
<!-- <el-form-item label="需求上报申请书" label-position="top" style="display:block;">-->
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<file-component
|
<file-component
|
||||||
tag="需求上报" :fileNameTableWidth="200" :fullscreen="true"
|
tag="需求上报" :fileNameTableWidth="300" :fullscreen="true"
|
||||||
v-model:value="localFormData.fileList"
|
v-model:value="localFormData.fileList"
|
||||||
:processViewer="processViewer"
|
:processViewer="processViewer"
|
||||||
:file-list-show="fileListShow"
|
:file-list-show="fileListShow"
|
||||||
|
|||||||
@@ -322,4 +322,8 @@ onMounted(async () => {
|
|||||||
:deep(.el-table--fit ) {
|
:deep(.el-table--fit ) {
|
||||||
height: 300px !important;
|
height: 300px !important;
|
||||||
}
|
}
|
||||||
|
.add-block{
|
||||||
|
|
||||||
|
padding: 0 30px 30px 15px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -31,7 +31,9 @@ const searchConfig = reactive([
|
|||||||
props: {
|
props: {
|
||||||
placeholder: '请选择状态',
|
placeholder: '请选择状态',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
cacheKey: 'special_fund'
|
filterable:true,
|
||||||
|
cacheKey: 'special_fund',
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -82,7 +82,8 @@ const searchConfig = ref([
|
|||||||
props: {
|
props: {
|
||||||
placeholder: '请选择',
|
placeholder: '请选择',
|
||||||
clearable: true,
|
clearable: true,
|
||||||
cacheKey: 'normal_disable'
|
cacheKey: 'normal_disable',
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -71,7 +71,8 @@ const searchConfig = ref([
|
|||||||
props: {
|
props: {
|
||||||
placeholder: '请输入',
|
placeholder: '请输入',
|
||||||
cacheKey: 'normal_disable',
|
cacheKey: 'normal_disable',
|
||||||
clearable: true
|
clearable: true,
|
||||||
|
remote: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<el-button v-print="print" color="#ded0b2" icon="Printer" style="margin-left: 15px"> 打印</el-button>
|
<el-button v-print="print" color="#ded0b2" icon="Printer"> 打印</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div style="margin: 10px" id="printBox">
|
<div style="margin: 10px" id="printBox">
|
||||||
<el-timeline>
|
<el-timeline>
|
||||||
|
|||||||
Reference in New Issue
Block a user