fix : 修复项目立项/验收前置流程展示及系统部分页面分页bug

This commit is contained in:
2024-06-11 18:47:35 +08:00
parent ab83724056
commit 3f7de153da
14 changed files with 135 additions and 64 deletions

View File

@@ -7,9 +7,9 @@
<el-button type="primary" link @click="handleDownload(singleFile)" style="font-size: 16px">
{{ singleFile ? singleFile?.originalFileName : formData.singleFile?.originalFileName }}
</el-button>
<el-button type="danger" link @click="deleteSingleFile(singleFile,1)">删除</el-button>
<el-button type="danger" link @click="deleteSingleFile(singleFile?singleFile:formData.singleFile,1)">删除</el-button>
</template>
<template v-else-if="!preview||JSON.stringify(singleFile) == '{}'||singleFile==null">
<template v-else-if="!preview||JSON.stringify(singleFile) == '{}'||singleFile==null||formData.singleFile==null">
<file-upload @getFile="getAttachment" :showFileList="showFileList" :multiple="false" :maxSize="1"
:disabled="isSingleFile" @delete="deleteAttachment"/>
</template>
@@ -130,7 +130,7 @@ const rules = reactive({
attachment: [{required: true, message: '请上传附件', trigger: ['blur', 'change']}],
})
const applyForm = ref()
const singleFile = ref()
const singleFile = ref(props.formData.singleFile)
const isSingleFile = ref(false)
const allFileList = ref([])
watch(() => props.showTable, (newVal) => {

View File

@@ -83,7 +83,16 @@ const schema = computed(() => {
prop: 'preProcess',
colProps: {
span: 24
}
},
component: () => (
<div>
{
props.formData.preProcess?
<span><a target="_blank" style={{color: '#409EFF', cursor: 'pointer'}} href={props.formData.preProcessBaseUrl + props.formData.preProcess.requestId}>{props.formData.preProcess.requestName}</a> </span> :
<span>{'--'}</span>
}
</div>
)
},
{
label: '项目立项附件',
@@ -115,7 +124,16 @@ const schema = computed(() => {
prop: 'preProcess',
colProps: {
span: 24
}
},
component: () => (
<div>
{
props.formData.preProcess?
<span><a target="_blank" style={{color: '#409EFF', cursor: 'pointer'}} href={props.formData.preProcessBaseUrl + props.formData.preProcess.requestId}>{props.formData.preProcess.requestName}</a> </span> :
<span>{'--'}</span>
}
</div>
)
},
{
label: '项目验收附件',

View File

@@ -3,12 +3,12 @@
<el-form :model="localFormData" ref="formRef" label-width="auto" :rules="rules" v-if="step!=='50'">
<el-row>
<el-col :span="12">
<el-form-item label="前置流程">
<div @click="handleShowPreTable">点击</div>
<!-- <el-select v-model="localFormData.preProcess" placeholder="请选择前置流程" clearable filterable>-->
<!-- <el-option v-for="item in preProcessList" :key="item.id" :label="item.label" :value="item.value">-->
<!-- </el-option>-->
<!-- </el-select>-->
<el-form-item label="前置流程" :required="true" prop="requestName">
<a :href="localFormData.preProcess?.baseUrl" target="_blank"
style="color: #2a99ff;margin-right: 10px;cursor: pointer">{{ localFormData.preProcess?.requestName }}</a>
<el-button color="#DED0B2" @click="handleShowPreTable">
{{ localFormData.preProcess?.requestName ? '更改' : '请选择' }}
</el-button>
</el-form-item>
</el-col>
</el-row>
@@ -34,13 +34,17 @@
<el-button @click="handleBack">返回</el-button>
</div>
<el-dialog title="前置流程" v-model="showPreTable" width="80%">
<el-form :model="searchPreProcess" label-width="auto">
<el-form :model="preProcessForm" inline>
<el-form-item label="请求名称">
<el-input v-model="searchPreProcess.requestName" placeholder="请输入请求名称" clearable>
<el-input v-model="preProcessForm.requestName" placeholder="请输入请求名称" clearable>
</el-input>
</el-form-item>
<el-form-item>
<el-button color="#DED0B2" @click="searchPreProcess">搜索</el-button>
<el-button @click="handleReset">重置</el-button>
</el-form-item>
</el-form>
<el-table :data="preProcessList" stripe v-loading="loading">
<el-table :data="preProcessList" stripe v-loading="loading">
<el-table-column prop="requestId" label="请求id"></el-table-column>
<el-table-column prop="requestName" label="请求名称"></el-table-column>
<el-table-column prop="lastOperatorName" label="最后操作人名称"></el-table-column>
@@ -50,12 +54,13 @@
<el-table-column prop="createTime" label="创建时间"></el-table-column>
<el-table-column label="操作" align="center">
<template #default="scope">
<a :href="scope.row.baseUrl" target="_blank" style="color: #2a99ff">查看详情</a>
<el-button @click="chooseProProcess(scope.row)">选择</el-button>
<a :href="scope.row.baseUrl" target="_blank" style="color: #2a99ff">查看详情</a>
</template>
</el-table-column>
</el-table>
<!-- <paging :current-page="pageInfo.pageNum" :page-size="pageInfo.pageSize" :page-sizes="[10, 20, 30, 40,50]"-->
<!-- :total="total" @changeSize="handleSizeChange" @goPage="handleCurrentChange"/>-->
<paging :current-page="pageInfo.pageNum" :page-size="pageInfo.pageSize" :page-sizes="[10, 20, 30, 40,50]"
:total="total" @changeSize="handleSizeChange" @goPage="handleCurrentChange"/>
</el-dialog>
</div>
</template>
@@ -66,18 +71,19 @@ import ProcessDiagramViewer from '@/views/workflow/common/ProcessDiagramViewer.v
import {ElNotification} from "element-plus";
import {
getApplyProcess,
projectApply,
resubmitApply,
getPreProcess,
getProjectCheckProcess,
getProjectConclusionProcess,
projectApply,
projectCheck,
resubmitCheck,
projectConclusion,
resubmitConclusion,
getProjectConclusionProcess
resubmitApply,
resubmitCheck,
resubmitConclusion
} from "@/api/project-manage";
import {useProcessStore} from '@/stores/processStore.js';
import {useTagsView} from '@/stores/tagsview.js'
import {getPreProcess} from "@/api/project-manage";
import Paging from "@/components/pagination/index.vue";
const router = useRouter()
const route = useRoute()
@@ -110,21 +116,28 @@ const props = defineProps({
})
const preProcessList = ref([])
//暂存数据
const currentList=ref([])
const searchPreProcess = ref({
requestName:''
const currentList = ref([])
const total = ref(0)
const preProcessForm = reactive({
requestName: ''
})
const pageInfo = reactive({
pageNum: 1,
pageSize: 10,
})
const rules = reactive({
// requirementName: [{required: true, message: '请选择前置流程', trigger: 'blur'}],
requestName: [{required: true, message: '请选择前置流程', trigger: 'blur'}],
})
const tagsViewStore = useTagsView()
const processStore = useProcessStore()
const otherFileList = ref([])
const localFormData = ref({})
const localFormData = ref({
preProcess: {
requestId: null,
requestName: '',
baseUrl: ''
}
})
const attachment = ref()
const showPreTable = ref(false)
const showTable = ref(true)
@@ -133,19 +146,55 @@ const processDiagramViewer = ref(false)
const name = ref(router.currentRoute.value.name)
const deploymentId = ref()
const projectId = ref(route.query.projectId)
const searchPreProcess = () => {
getPreProcessList()
}
const handleReset = () => {
preProcessForm.requestName = ''
getPreProcessList()
}
const handleShowPreTable = () => {
showPreTable.value = true
getPreProcessList()
}
const getPreProcessList = () => {
// loading.value=true
loading.value = true
getPreProcess().then(res => {
console.log('浅灰的', res)
// loading.value=false
// baseUrl.value=res.data.baseUrl
// currentList.value=res.data
preProcessList.value = res.data.slice(0,10)
loading.value = false
let searchArray = []
let regexPattern = ("%" + preProcessForm.requestName + "%").replace(/%/g, '.*').replace(/_/g, '.');
let regex = new RegExp('^' + regexPattern + '$');
res.data.filter((item) => {
if (regex.test(item.requestName)) {
searchArray.push(item)
}
})
total.value = searchArray.length
currentList.value = searchArray
preProcessList.value = currentList.value.slice(0, 10)
})
}
const chooseProProcess = (item) => {
localFormData.value.preProcess = {
requestId: item.requestId,
requestName: item.requestName,
baseUrl: item.baseUrl
}
showPreTable.value = false
}
//切换每页显示条数
const handleSizeChange = (val) => {
pageInfo.pageSize = val;
preProcessList.value = currentList.value.slice((pageInfo.pageNum - 1) * val, pageInfo.pageNum * val)
};
//点击页码进行分页功能
const handleCurrentChange = (val) => {
pageInfo.pageNum = val;
preProcessList.value = currentList.value.slice((val - 1) * pageInfo.pageSize, val * pageInfo.pageSize)
};
const getTitleName = (type) => {
switch (type) {
case 'apply':
@@ -190,9 +239,13 @@ const getFileParam = (item) => {
}
}
const handleSubmit = async () => {
// if (!formRef.value) return
// formRef.value.validate(async (valid) => {
// if (!valid) return
if (localFormData.value.preProcess === undefined) {
ElNotification({
title: '提示',
message: '请选择前置流程',
type: 'error'
})
}
let files = []
if (props.mode === 'resubmit') {
attachment.value.allFileList.forEach(item => {
@@ -207,9 +260,9 @@ const handleSubmit = async () => {
// localFormData.value.singleFile = getFileParam(localFormData.value.singleFile)
// }
console.log('attachment.value.singleFile', attachment.value, attachment.value.singleFile)
if (localFormData.value.singleFile) {
} else {
// if (localFormData.value.singleFile) {
//
// } else {
if (attachment.value.singleFile == null) {
attachment.value.validate()
ElNotification({
@@ -221,14 +274,15 @@ const handleSubmit = async () => {
} else {
attachment.value.clearValidate()
}
}
// }
let params = {
deploymentId: deploymentId.value,
requirementId: route.query.id,
fileList: files,
singleFile: localFormData.value.singleFile,
singleFile: attachment.value.singleFile,
projectId: projectId.value,
preProcess: JSON.stringify(localFormData.value.preProcess)
}
console.log('params', params)
let res
@@ -272,7 +326,6 @@ const handleSubmit = async () => {
})
}
}
// })
}
const init = async () => {
let id = projectId.value
@@ -311,7 +364,6 @@ watchEffect(() => {
return Object.keys(props.formData).length && (localFormData.value = props.formData)
})
getPreProcessList()
onMounted(async () => {
await init()
})

View File

@@ -82,6 +82,7 @@ const getAllInfo = async (state) => {
commonProvessViewer.value = false
const {data, code, msg} = await getMapProjectStateInfo(route.query.projectId, state)
if (code === 1000) {
data.formData.preProcess = data.formData.preProcess ? JSON.parse(data.formData.preProcess) : undefined
detailData.value = data
mode.value = data.formData.mode
processStore.setDesign(data)

View File

@@ -269,13 +269,13 @@ const handleSelect = async (selection, row) => {
//切换每页显示条数
const handleSizeChange = async (val) => {
pageInfo.value.pageSize = val
pageInfo.pageSize = val
await getList()
}
//点击页码进行分页功能
const handleCurrentChange = async (val) => {
pageInfo.value.pageNum = val
pageInfo.pageNum = val
await getList()
}
const handleMoreDelete=(regularId,regularNameList)=>{

View File

@@ -339,13 +339,13 @@ const handleSelect = async (selection) => {
//切换每页显示条数
const handleSizeChange = async (val) => {
pageInfo.value.pageSize = val
pageInfo.pageSize = val
await getList()
}
//点击页码进行分页功能
const handleCurrentChange = async (val) => {
pageInfo.value.pageNum = val
pageInfo.pageNum = val
await getList()
}
const handleMoreDelete = (dsId, sourceNameList) => {

View File

@@ -271,13 +271,13 @@ const handleSelect = async (selection) => {
//切换每页显示条数
const handleSizeChange = async (val) => {
pageInfo.value.pageSize = val
pageInfo.pageSize = val
await getList()
}
//点击页码进行分页功能
const handleCurrentChange = async (val) => {
pageInfo.value.pageNum = val
pageInfo.pageNum = val
await getList()
}
const handleMoreDelete = (configId, configName) => {

View File

@@ -129,13 +129,13 @@ const getList = async () => {
//切换每页显示条数
const handleSizeChange = async (val) => {
pageInfo.value.pageSize = val
pageInfo.pageSize = val
await getList()
}
//点击页码进行分页功能
const handleCurrentChange = async (val) => {
pageInfo.value.pageNum = val
pageInfo.pageNum = val
await getList()
}

View File

@@ -151,13 +151,13 @@ const getList = async () => {
}
//切换每页显示条数
const handleSizeChange = async (val) => {
pageInfo.value.pageSize = val
pageInfo.pageSize = val
await getList()
}
//点击页码进行分页功能
const handleCurrentChange = async (val) => {
pageInfo.value.pageNum = val
pageInfo.pageNum = val
await getList()
}

View File

@@ -131,13 +131,13 @@ const getList = async () => {
//切换每页显示条数
const handleSizeChange = async (val) => {
pageInfo.value.pageSize = val
pageInfo.pageSize = val
await getList()
}
//点击页码进行分页功能
const handleCurrentChange = async (val) => {
pageInfo.value.pageNum = val
pageInfo.pageNum = val
await getList()
}

View File

@@ -308,13 +308,13 @@ const handleSelect = async (selection) => {
//切换每页显示条数
const handleSizeChange = async (val) => {
pageInfo.value.pageSize = val
pageInfo.pageSize = val
await getList()
}
//点击页码进行分页功能
const handleCurrentChange = async (val) => {
pageInfo.value.pageNum = val
pageInfo.pageNum = val
await getList()
}
const handleMoreDelete=(listenId,listenNameList)=>{

View File

@@ -77,7 +77,7 @@ const timer = ref(null)
const validComponents = ref(['processSetting', 'processDesign'])
// const activeSelect = ref('formDesign')
// const activeSelect = ref('processSetting')
const activeSelect = ref('processDesign')
const activeSelect = ref('processSetting')
const validVisible = ref(false)
const validStep = ref(0)
const validResult = ref({})
@@ -88,7 +88,7 @@ const validOptions = ref([
// {title: '扩展设置', description: '', icon: '', status: ''}
])
onActivated(()=>{
activeSelect.value = 'processDesign'
activeSelect.value = 'processSetting'
init()
})

View File

@@ -255,13 +255,13 @@ const handleSelect = async (selection, row) => {
//切换每页显示条数
const handleSizeChange = async (val) => {
pageInfo.value.pageSize = val
pageInfo.pageSize = val
await getList()
}
//点击页码进行分页功能
const handleCurrentChange = async (val) => {
pageInfo.value.pageNum = val
pageInfo.pageNum = val
await getList()
}

View File

@@ -115,13 +115,13 @@ const getList = async () => {
//切换每页显示条数
const handleSizeChange = async (val) => {
pageInfo.value.pageSize = val
pageInfo.pageSize = val
await getList()
}
//点击页码进行分页功能
const handleCurrentChange = async (val) => {
pageInfo.value.pageNum = val
pageInfo.pageNum = val
await getList()
}