diff --git a/src/components/AttachmentUpload.vue b/src/components/AttachmentUpload.vue index 8b8b53f..9742001 100644 --- a/src/components/AttachmentUpload.vue +++ b/src/components/AttachmentUpload.vue @@ -1,5 +1,5 @@ - - - - - + + + + + @@ -81,7 +81,7 @@ const props = defineProps({ }, labelPosition: { type: String, - default:'' + default: '' } }) const emit = defineEmits(["getAttachment", "getOtherFile"]) @@ -209,6 +209,7 @@ const singleTableConfig = reactive({ } ] }) +const fileUploadRef=ref() const rules = reactive({ attachment: [{required: true, message: '请上传附件', trigger: ['blur', 'change']}], }) @@ -216,8 +217,9 @@ const applyForm = ref() const singleFile = ref(props.formData.singleFile) const isSingleFile = ref(false) const allFileList = ref([]) +const deleteFileVal = ref({}) const singleFileList = ref([]) -if(props.formData.fileList !== null && props.formData.fileList?.length > 0){ +if (props.formData.fileList !== null && props.formData.fileList?.length > 0) { allFileList.value = props.formData.fileList } watch(() => props.showTable, (newVal) => { @@ -259,7 +261,7 @@ watch(() => props.formData.singleFile, (newVal) => { watch(() => isSingleFile.value, (newVal) => { isSingleFile.value = newVal }, {deep: true}) -const handleDelete = (row,type) => { +const handleDelete = (row, type) => { deleteFile(row.fileId).then(res => { ElNotification({ title: '提示', @@ -267,21 +269,24 @@ const handleDelete = (row,type) => { type: res.code === 1000 ? 'success' : 'error' }) if (res.code === 1000) { - if(type==='single'){ + if (type === 'single') { singleFileList.value.splice(singleFileList.value.findIndex((item) => item.id === row.fileId), 1); isSingleFile.value = false - }else { + } else { allFileList.value.splice(allFileList.value.findIndex((item) => item.id === row.fileId), 1); } } }); } const handleSingleDelete = (row) => { - handleDelete(row,'single') + console.log('row',row) + // fileUploadRef.value.handleRemove(deleteFileVal.value.id) + handleDelete(row, 'single') } const getAttachment = (val) => { - console.log('getAttachment',val) + console.log('getAttachment', val) isSingleFile.value = true + // deleteFileVal.value=val emit('getAttachment', val) } const getOtherFile = (val) => { diff --git a/src/components/DetailComponent/CompanyPicker.vue b/src/components/DetailComponent/CompanyPicker.vue index 2b97236..e54ed84 100644 --- a/src/components/DetailComponent/CompanyPicker.vue +++ b/src/components/DetailComponent/CompanyPicker.vue @@ -168,26 +168,26 @@ const show = () => { getList() }; -const updateTreeCheck = (item, flag) => { - // list.forEach(item => { - tree.value.setChecked(item, flag) - if (item.children !== undefined) { - updateTreeCheck(item.children, flag) +const updateTreeCheck = (list, flag) => { + list.forEach(item => { + if (item.value !== -1) { + tree.value.setChecked(item, flag) + if (item.children !== undefined) { + updateTreeCheck(item.children, flag) + } } - // }) + }) } const handleChange = (data, checked) => { if (data.value == -1) { if(checked){ - for (const item of dataList.value) { - if (item.value !== -1) { - console.log('item',item) - updateTreeCheck(item, false) - } - } + updateTreeCheck(dataList.value, false) tree.value.setChecked(data,true); } } + if(tree.value.getCheckedKeys().length>1&&tree.value.getCheckedKeys().indexOf(-1)!==-1){ + tree.value.setChecked(-1,false); + } // 左侧有选择框 + 多选 if (props.multiple) { //不添加重复的数据到右边 diff --git a/src/components/FileUpload.vue b/src/components/FileUpload.vue index 2a6a16d..52df26b 100644 --- a/src/components/FileUpload.vue +++ b/src/components/FileUpload.vue @@ -44,10 +44,12 @@ const props = defineProps({ showFileList: { type: Boolean, default: false - }, disabled: { + }, + disabled: { type: Boolean, default: false - }, multiple: { + }, + multiple: { type: Boolean, default: true } @@ -98,7 +100,9 @@ const uploadError = () => { type: 'error' }) } - +defineExpose({ + handleRemove +})