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: {},
})