Merge pull request 'fix : 修复需求征集新增功能' (#179) from dj into master

Reviewed-on: http://git.feashow.cn/clay/mosr-web/pulls/179
This commit is contained in:
2024-05-15 01:49:01 +00:00
2 changed files with 30 additions and 42 deletions

View File

@@ -80,7 +80,7 @@ const handleUploadSuccess = (res, file) => {
showTable.value = true showTable.value = true
let data = res.data let data = res.data
fileList.value.push(data) fileList.value.push(data)
emit("getFile", fileList.value) emit("getFile", res.data)
} }
const uploadError=(err)=>{ const uploadError=(err)=>{
loading.value = false loading.value = false

View File

@@ -36,7 +36,7 @@
<Tinymce image-url="/notice/file" file-url="/notice/file" v-model:value="formData.collectExplain" height="300" <Tinymce image-url="/notice/file" file-url="/notice/file" v-model:value="formData.collectExplain" height="300"
v-if="showTinymce"/> v-if="showTinymce"/>
<baseTitle title="申请文件"></baseTitle> <baseTitle title="申请文件"></baseTitle>
<file-upload @getFile="getFile"/> <file-upload ref="uploadFile" @getFile="getFile"/>
<fvTable style="width: 100%;max-height: 200px" v-if="showTable" :tableConfig="tableConfig" :data="formData.fileList" <fvTable style="width: 100%;max-height: 200px" v-if="showTable" :tableConfig="tableConfig" :data="formData.fileList"
:isSettingCol="false" :pagination="false"> :isSettingCol="false" :pagination="false">
<template #empty> <template #empty>
@@ -80,7 +80,8 @@ const formData = ref({
companyIds: '', companyIds: '',
collectType: '', collectType: '',
deadline: '', deadline: '',
collectExplain: '' collectExplain: '',
fileList: []
}) })
const showTinymce = ref(true) const showTinymce = ref(true)
const processDiagramViewer = ref(false) const processDiagramViewer = ref(false)
@@ -92,9 +93,9 @@ const typeOption = ref([
]) ])
const companyOption = ref([]) const companyOption = ref([])
const form = ref(null) const form = ref(null)
const fileList = ref(null) const fileList = ref([])
const loading = ref(false) const loading = ref(false)
const showTable = ref(false) const showTable = ref(true)
const processStore = useProcessStore() const processStore = useProcessStore()
const processInstanceData = ref() const processInstanceData = ref()
const rules = reactive({ const rules = reactive({
@@ -146,6 +147,10 @@ const tableConfig = reactive({
] ]
}) })
const compositeParam = (item) => { const compositeParam = (item) => {
let tag=''
if(!formData.value.collectType&&router.currentRoute.value.name==='Collection/add'){
tag='需求征集'
}
return { return {
fileId: item.id, fileId: item.id,
size: item.size, size: item.size,
@@ -153,34 +158,18 @@ const compositeParam = (item) => {
fileType: item.fileType, fileType: item.fileType,
url: item.url, url: item.url,
processNodeTag: null, processNodeTag: null,
tag: formData.value.collectType, tag: tag,
userId: authStore.userinfo.userId userId: authStore.userinfo.userId
} }
} }
const getFile = (val) => { const getFile = (val) => {
console.log('上传文件', val) console.log('上传文件', val)
showTable.value = false showTable.value = false
let fileObj = compositeParam(val)
formData.value.fileList.push(fileObj)
nextTick(() => { nextTick(() => {
showTable.value = true showTable.value = true
}) })
let fileObj = {}
let newFileArray = []
if (route.query.isAdd === undefined) {
val.forEach(item => {
fileObj = compositeParam(item)
newFileArray.push(fileObj)
formData.value.fileList.push(fileObj)
})
fileList.value = formData.value.fileList
} else {
val.forEach(item => {
fileObj = compositeParam(item)
newFileArray.push(fileObj)
})
formData.value.fileList = newFileArray
fileList.value = newFileArray
}
} }
const init = async () => { const init = async () => {
@@ -200,18 +189,23 @@ const init = async () => {
}) })
}) })
} }
const submitParam=()=>{
return {
collectExplain: formData.value.collectExplain,
collectType: formData.value.collectType,
companyIds: formData.value.companyIds,
deadline: formData.value.deadline,
requirementId: formData.value.requirementId?formData.value.requirementId:0,
requirementName: formData.value.requirementName,
files: formData.value.fileList,
deploymentId: processInstanceData.value.deploymentId
}
}
const handleSubmit = async (instance) => { const handleSubmit = async (instance) => {
if (!instance) return if (!instance) return
instance.validate(async (valid) => { instance.validate(async (valid) => {
if (!valid) return if (!valid) return
let params = { let res = await addRequirement(submitParam())
...formData.value,
requirementId: 0,
files: fileList.value,
deploymentId: processInstanceData.value.deploymentId
}
let res = await addRequirement(params)
if (res.code === 1000) { if (res.code === 1000) {
ElMessage.success(res.msg) ElMessage.success(res.msg)
tagsViewStore.delVisitedViews(router.currentRoute.value.path) tagsViewStore.delVisitedViews(router.currentRoute.value.path)
@@ -224,11 +218,7 @@ const handleSubmit = async (instance) => {
}) })
} }
const handleResubmit = () => { const handleResubmit = () => {
resubmit({ resubmit(submitParam()).then(res => {
...formData.value,
files: fileList.value,
deploymentId: processInstanceData.value.deploymentId
}).then(res => {
if (res.code === 1000) { if (res.code === 1000) {
ElMessage.success(res.msg) ElMessage.success(res.msg)
tagsViewStore.delVisitedViews(router.currentRoute.value.path) tagsViewStore.delVisitedViews(router.currentRoute.value.path)
@@ -246,8 +236,10 @@ const getDetailInfo = async () => {
ElMessage.success(res.msg) ElMessage.success(res.msg)
formData.value = res.data formData.value = res.data
showTinymce.value = false showTinymce.value = false
showTable.value = false
nextTick(() => { nextTick(() => {
showTinymce.value = true showTinymce.value = true
showTable.value = true
}) })
} else { } else {
ElMessage.error(res.msg) ElMessage.error(res.msg)
@@ -267,7 +259,7 @@ const handleDelete = (row) => {
deleteFile(row.fileId).then(res => { deleteFile(row.fileId).then(res => {
if (res.code === 1000) { if (res.code === 1000) {
ElMessage.success("删除成功"); ElMessage.success("删除成功");
fileList.value.splice(fileList.value.findIndex((item) => item.id === row.id), 1); formData.value.fileList.splice(formData.value.fileList.findIndex((item) => item.id === row.fileId), 1);
} }
}); });
}).catch(() => { }).catch(() => {
@@ -281,12 +273,8 @@ onMounted(async () => {
if (route.query.id) { if (route.query.id) {
await getDetailInfo() await getDetailInfo()
} }
nextTick(() => {
showTable.value = true
})
loading.value = false loading.value = false
}) })
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>