fix : 修复移动端详情排版

This commit is contained in:
2024-08-03 18:21:13 +08:00
parent a55031ed70
commit eaed989525
7 changed files with 236 additions and 128 deletions

View File

@@ -16,10 +16,10 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button @click="handleSearch" color="#DED0B2">搜索</el-button>
<el-button @click="handleSearchImplementationFileList" color="#DED0B2">搜索</el-button>
</el-form-item>
</el-form>
<fvTable style="width: 100%;min-height:162px;max-height: 162px" v-if="showAttachmentTable" height="162" :tableConfig="tableConfig"
<fvTable style="width: 100%;min-height:162px;max-height: 162px" v-if="showAttachmentTable" height="162" :tableConfig="executeTableConfig"
:data="otherAttachmentList" :isSettingCol="false" :pagination="false">
<template #empty>
<el-empty :image-size="55" description="暂无数据" style="padding: 0"/>
@@ -80,7 +80,19 @@ import {searchImplementationFileList} from "@/api/project-manage/attachment";
import {getTags} from "@/api/project-manage";
const tableConfig = reactive({
const filePreviewParam = ref({
fileUrl: '',
fileName: '',
fileType: 'pdf'
})
const filePreviewShow = ref(false)
const attachmentParam = reactive({
tag: ''
})
const tagsOption = ref([])
const executeTableConfig = reactive({
columns: [
{
prop: 'index',
@@ -121,17 +133,6 @@ const tableConfig = reactive({
}
]
})
const filePreviewParam = ref({
fileUrl: '',
fileName: '',
fileType: 'pdf'
})
const filePreviewShow = ref(false)
const attachmentParam = reactive({
tag: ''
})
const tagsOption = ref([])
const changeDiagram = ref(false)
const showAttachmentTable = ref(true)
const props = defineProps({
@@ -238,6 +239,25 @@ const editSingleTableConfig = reactive({
}
]
})
let preProcess = {
label: '前置流程',
prop: 'preProcess',
colProps: {
span: 24
},
labelWidth: 'left',
component: () => (
<div>
{
props.formData.preProcess ? props.formData.preProcess.map((item, index) => {
return <span><a target="_blank" style={{color: '#409EFF', cursor: 'pointer'}}
href={props.formData.preProcessBaseUrl + item.requestId}>{item.requestName} {index != (props.formData.preProcess.length - 1) ?
<span></span> : ''}</a></span>
}) : <span>{'--'}</span>
}
</div>
)
}
const schema = computed(() => {
let arr
if (props.type == 'approval') {
@@ -277,75 +297,111 @@ const schema = computed(() => {
)
},
{
label: '部门分管领导',
prop: 'optionalChargeLeadership',
colProps: {
span: 24
},
labelWidth: 'left',
component: () => (
<div>
{
props.formData.optionalChargeLeadership ? props.formData.optionalChargeLeadership.map(item => {
return <span>{item.name} </span>
}) : <span>{'--'}</span>
}
</div>
)
}
]
if (props.preProcessShow == 'EDIT') {
preProcess = {
label: '前置流程',
prop: 'preProcess',
colProps: {
span: 24
},
labelWidth:'left',
labelWidth: 'left',
component: () => (
<div>
{
props.formData.preProcess ? props.formData.preProcess.map(item => {
return <span><a target="_blank" style={{color: '#409EFF', cursor: 'pointer'}}
href={props.formData.preProcessBaseUrl + item.requestId}>{item.requestName}</a> </span>
}) : <span>{'--'}</span>
<select-pre-process formData={props.formData}/>
}
</div>
)
}
}
arr.push(preProcess)
arr.push({
label: '项目立项附件',
prop: 'singleFile',
colProps: {
span: 24
},
{
label: '项目立项附件',
prop: 'singleFile',
colProps: {
span: 24
},
labelWidth:'left',
component: () => {
let singleFileArray = [props.formData.singleFile]
return <fvTable style="width: 100%;max-height: 80px;" height="80"
tableConfig={editSingleTableConfig}
data={singleFileArray} isSettingCol={false} pagination={false}>
</fvTable>
}
},
]
labelWidth: 'left',
component: () => {
let singleFileArray = [props.formData.singleFile]
return props.formData.singleFile ? <fvTable style="width: 100%;max-height: 80px;" height="80"
tableConfig={editSingleTableConfig}
data={singleFileArray} isSettingCol={false} pagination={false}>
</fvTable>
: <span>--</span>
}
})
} else if (props.type == 'execute') {
arr = [
{
arr = []
if (props.preProcessShow == 'EDIT') {
preProcess = {
label: '前置流程',
prop: 'preProcess',
colProps: {
span: 24
},
labelWidth:'left',
labelWidth: 'left',
component: () => (
<div>
{
props.formData.preProcess ? props.formData.preProcess.map(item => {
return <span><a target="_blank" style={{color: '#409EFF', cursor: 'pointer'}}
href={props.formData.preProcessBaseUrl + item.requestId}>{item.requestName}</a> </span>
}) : <span>{'--'}</span>
<select-pre-process formData={props.formData}/>
}
</div>
)
},
{
label: '项目验收附件',
prop: 'singleFile',
colProps: {
span: 24
}
}
arr.push(preProcess)
arr.push(
{
label: '部门分管领导',
prop: 'optionalChargeLeadership',
colProps: {
span: 24
},
labelWidth: 'left',
component: () => (
<div>
{
props.formData.optionalChargeLeadership ? props.formData.optionalChargeLeadership.map(item => {
return <span>{item.name} </span>
}) : <span>{'--'}</span>
}
</div>
)
},
labelWidth:'left',
component: () => {
let singleFileArray = [props.formData.singleFile]
return <fvTable style="width: 100%;max-height: 80px;" height="80"
tableConfig={editSingleTableConfig}
data={singleFileArray} isSettingCol={false} pagination={false}>
</fvTable>
}
},
]
{
label: '项目验收附件',
prop: 'singleFile',
colProps: {
span: 24
},
labelWidth: 'left',
component: () => {
let singleFileArray = [props.formData.singleFile]
return props.formData.singleFile ? <fvTable style="width: 100%;max-height: 80px;" height="80"
tableConfig={editSingleTableConfig}
data={singleFileArray} isSettingCol={false} pagination={false}>
</fvTable>
: <span>--</span>
}
})
} else if (props.type == 'archivist') {
arr = [
{
@@ -354,13 +410,14 @@ const schema = computed(() => {
colProps: {
span: 24
},
labelWidth:'left',
labelWidth: 'left',
component: () => {
let singleFileArray = [props.formData.singleFile]
return <fvTable style="width: 100%;max-height: 80px;" height="80"
tableConfig={editSingleTableConfig}
data={singleFileArray} isSettingCol={false} pagination={false}>
</fvTable>
return props.formData.singleFile ? <fvTable style="width: 100%;max-height: 80px;" height="80"
tableConfig={editSingleTableConfig}
data={singleFileArray} isSettingCol={false} pagination={false}>
</fvTable>
: <span>--</span>
}
},
]
@@ -421,7 +478,7 @@ const getTagsOption = () => {
}
})
}
const handleSearch = () => {
const handleSearchImplementationFileList = () => {
let params = {
targetId: route.query.projectId,
targetState: "40"
@@ -473,14 +530,14 @@ const handleDownload = (row) => {
loading.close()
})
}
if(props.type&&props.type==='execute'){
handleSearch()
getTagsOption()
}
watchEffect(() => {
Object.keys(props.formData).length && (form.value?.setValues(props.formData))
})
if (props.formData.mode == 'view' && props.type == 'execute') {
handleSearchImplementationFileList()
getTagsOption()
}
watch(() => props.loading, (newVal) => {
props.loading = newVal
}, {deep: true})