diff --git a/src/components/FileUpload.vue b/src/components/FileUpload.vue index 2992a8f..76a8939 100644 --- a/src/components/FileUpload.vue +++ b/src/components/FileUpload.vue @@ -6,10 +6,11 @@ with-credentials :multiple="maxSize > 0" :data="uploadParams" - :show-file-list="false" + :show-file-list="showFileList" :auto-upload="true" :before-upload="beforeUpload" :on-success="handleUploadSuccess" + :on-error="uploadError" > 上传文件 @@ -37,6 +38,10 @@ const props = defineProps({ maxSize: { type: Number, default: 30 + }, + showFileList: { + type: Boolean, + default: false } }) @@ -75,7 +80,11 @@ const handleUploadSuccess = (res, file) => { showTable.value = true let data = res.data fileList.value.push(data) - emit("getFile", fileList.value) + emit("getFile", res.data) +} +const uploadError=(err)=>{ + loading.value = false + ElMessage.error("上传失败,请稍后再试!") } diff --git a/src/views/project-demand/collection/add.vue b/src/views/project-demand/collection/add.vue index b73264d..faa33f5 100644 --- a/src/views/project-demand/collection/add.vue +++ b/src/views/project-demand/collection/add.vue @@ -33,10 +33,12 @@ - + - - + + @@ -78,7 +80,8 @@ const formData = ref({ companyIds: '', collectType: '', deadline: '', - collectExplain: '' + collectExplain: '', + fileList: [] }) const showTinymce = ref(true) const processDiagramViewer = ref(false) @@ -90,9 +93,9 @@ const typeOption = ref([ ]) const companyOption = ref([]) const form = ref(null) -const fileList = ref(null) +const fileList = ref([]) const loading = ref(false) -const showTable = ref(false) +const showTable = ref(true) const processStore = useProcessStore() const processInstanceData = ref() const rules = reactive({ @@ -136,49 +139,37 @@ const tableConfig = reactive({ return (
下载 - beforeRemove(row)}>删除 + handleDelete(row)}>删除
) } } ] }) -const compositeParam=(item)=>{ - return { - fileId: item.id, - size: item.size, - originalFileName: item.originalFilename, - fileType: item.fileType, - url: item.url, - processNodeTag: null, - tag: formData.value.collectType, - userId: authStore.userinfo.userId - } +const compositeParam = (item) => { + let tag='' + if(!formData.value.collectType&&router.currentRoute.value.name==='Collection/add'){ + tag='需求征集' + } + return { + fileId: item.id, + size: item.size, + originalFileName: item.originalFilename, + fileType: item.fileType, + url: item.url, + processNodeTag: null, + tag: tag, + userId: authStore.userinfo.userId + } } const getFile = (val) => { - console.log('上传文件',val) + console.log('上传文件', val) showTable.value = false + let fileObj = compositeParam(val) + formData.value.fileList.push(fileObj) nextTick(() => { 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 () => { @@ -198,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) => { if (!instance) return instance.validate(async (valid) => { if (!valid) return - let params = { - ...formData.value, - requirementId: 0, - files: fileList.value, - deploymentId: processInstanceData.value.deploymentId - } - let res = await addRequirement(params) + let res = await addRequirement(submitParam()) if (res.code === 1000) { ElMessage.success(res.msg) tagsViewStore.delVisitedViews(router.currentRoute.value.path) @@ -222,11 +218,7 @@ const handleSubmit = async (instance) => { }) } const handleResubmit = () => { - resubmit({ - ...formData.value, - files: fileList.value, - deploymentId: processInstanceData.value.deploymentId - }).then(res => { + resubmit(submitParam()).then(res => { if (res.code === 1000) { ElMessage.success(res.msg) tagsViewStore.delVisitedViews(router.currentRoute.value.path) @@ -241,12 +233,13 @@ const handleResubmit = () => { const getDetailInfo = async () => { getFormInfo(route.query.id).then(res => { if (res.code === 1000) { - console.log(res) ElMessage.success(res.msg) formData.value = res.data showTinymce.value = false + showTable.value = false nextTick(() => { showTinymce.value = true + showTable.value = true }) } else { ElMessage.error(res.msg) @@ -257,44 +250,38 @@ const getDetailInfo = async () => { const handleBack = () => { history.back() } -const beforeRemove = (row) => { +const handleDelete = (row) => { ElMessageBox.confirm(`确认删除名称为${row.originalFileName}的表格吗?`, '系统提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => { - handleRemove(row) + deleteFile(row.fileId).then(res => { + if (res.code === 1000) { + ElMessage.success("删除成功"); + formData.value.fileList.splice(formData.value.fileList.findIndex((item) => item.id === row.fileId), 1); + } + }); }).catch(() => { ElMessage.warning("用户取消删除! "); }) } -const handleRemove = (row) => { - deleteFile(row.fileId).then(res => { - if (res.code === 1000) { - ElMessage.success("删除成功"); - fileList.value.splice(fileList.value.findIndex((item) => item.id === row.id), 1); - } - }); -}; onMounted(async () => { loading.value = true await init() if (route.query.id) { await getDetailInfo() } - nextTick(() => { - showTable.value = true - }) loading.value = false }) - diff --git a/src/views/project-management/implementation/detail.vue b/src/views/project-management/implementation/detail.vue new file mode 100644 index 0000000..386dc31 --- /dev/null +++ b/src/views/project-management/implementation/detail.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/views/project-management/implementation/index.vue b/src/views/project-management/implementation/index.vue index 9c8ed39..433f00c 100644 --- a/src/views/project-management/implementation/index.vue +++ b/src/views/project-management/implementation/index.vue @@ -1,15 +1,195 @@ - - - diff --git a/src/views/project-management/initiation/apply.vue b/src/views/project-management/initiation/apply.vue index 1abd1a9..c0c9c01 100644 --- a/src/views/project-management/initiation/apply.vue +++ b/src/views/project-management/initiation/apply.vue @@ -1,23 +1,136 @@ diff --git a/src/views/project-management/initiation/edit.vue b/src/views/project-management/initiation/edit.vue deleted file mode 100644 index 94125ec..0000000 --- a/src/views/project-management/initiation/edit.vue +++ /dev/null @@ -1,12 +0,0 @@ - - - - - diff --git a/src/views/project-management/initiation/index.vue b/src/views/project-management/initiation/index.vue index c7c865f..c47dcbc 100644 --- a/src/views/project-management/initiation/index.vue +++ b/src/views/project-management/initiation/index.vue @@ -129,7 +129,7 @@ const tableConfig = reactive({ }, { prop: 'status', - label: '发布状态', + label: '状态', align: 'center', showOverflowTooltip: false, currentRender: ({row, index}) => () @@ -165,7 +165,7 @@ const tableConfig = reactive({ } } ], - api: '/workflow/mosr/requirement', + api: '', params: {}, })