|
|
@@ -7,7 +7,7 @@
|
|
|
>
|
|
|
<ElForm ref="formRef" :model="formData" :rules="rules" label-width="auto">
|
|
|
<ElFormItem :label="selectLabelArr[0]" prop="first_id">
|
|
|
- <ElSelect v-model="formData.first_id">
|
|
|
+ <ElSelect v-model="formData.first_id" :empty-values="[0]">
|
|
|
<ElOption
|
|
|
v-for="item in selectList"
|
|
|
:key="item.id"
|
|
|
@@ -73,16 +73,25 @@
|
|
|
import {computed, ref} from 'vue'
|
|
|
import { useUserStore } from '@/store/modules/user'
|
|
|
import { Plus } from '@element-plus/icons-vue'
|
|
|
- import {ElMessage, ElMessageBox, UploadProps, UploadUserFile} from 'element-plus'
|
|
|
+ import {
|
|
|
+ ElMessage,
|
|
|
+ ElMessageBox,
|
|
|
+ UploadFile,
|
|
|
+ UploadFiles,
|
|
|
+ UploadProps,
|
|
|
+ UploadRawFile,
|
|
|
+ UploadUserFile
|
|
|
+ } from 'element-plus'
|
|
|
import type { FormInstance, FormRules } from 'element-plus'
|
|
|
import {commonApi} from "@/api/commonApi";
|
|
|
+ import {followApi} from "@/api/followApi";
|
|
|
|
|
|
interface Props {
|
|
|
visible: boolean
|
|
|
type:Api.FollowTye
|
|
|
userData?: any
|
|
|
- first_id?: number
|
|
|
- second_id?: number
|
|
|
+ first_id: number
|
|
|
+ second_id: number
|
|
|
selectList: Api.Common.SelectRelationInfo[]
|
|
|
}
|
|
|
|
|
|
@@ -118,8 +127,8 @@
|
|
|
const formRef = ref<FormInstance>()
|
|
|
|
|
|
let defalutValue = {
|
|
|
- first_id: null,
|
|
|
- second_id: null,
|
|
|
+ first_id: 0,
|
|
|
+ second_id: 0,
|
|
|
chat_imgs: [],
|
|
|
detail: '',
|
|
|
type: props.type
|
|
|
@@ -140,8 +149,9 @@
|
|
|
],
|
|
|
}
|
|
|
|
|
|
- const handleRemove: UploadProps['onRemove'] = (uploadFile) => {
|
|
|
- let upName = uploadFile.response ? uploadFile.response.data.name : uploadFile.name
|
|
|
+ const handleRemove: UploadProps['onRemove'] = (uploadFile: UploadFile) => {
|
|
|
+ const response = uploadFile.response as {data:any}
|
|
|
+ let upName = response.data.name ? response.data.name : uploadFile.name
|
|
|
commonApi.delImg(upName)
|
|
|
for (let i = 0; i < formData.chat_imgs.length; i++) {
|
|
|
if (formData.chat_imgs[i] === upName) {
|
|
|
@@ -153,19 +163,19 @@
|
|
|
}
|
|
|
const maxFileSizeMB = 3
|
|
|
|
|
|
- const beforeUpload: UploadProps['onChange'] = (uploadFile) => {
|
|
|
- if (uploadFile.size && uploadFile.size > 1024 * 1024 * maxFileSizeMB) {
|
|
|
- ElMessage.error('上传图片大小不能超过2M')
|
|
|
+ const beforeUpload: UploadProps['beforeUpload'] = (rawFile: UploadRawFile):boolean => {
|
|
|
+ if (rawFile.size && rawFile.size > 1024 * 1024 * maxFileSizeMB) {
|
|
|
+ ElMessage.error(`上传图片大小不能超过${maxFileSizeMB}M`)
|
|
|
return false
|
|
|
}
|
|
|
- if (!uploadFile.type.startsWith('image/')) {
|
|
|
+ if (!rawFile.type.startsWith('image/')) {
|
|
|
ElMessage.error('只能上传图片文件')
|
|
|
return false
|
|
|
}
|
|
|
return true
|
|
|
}
|
|
|
|
|
|
- const handleSuccess = (response:any, uploadFile: UploadFile) => {
|
|
|
+ const handleSuccess: UploadProps['onSuccess'] = (response, uploadFile) => {
|
|
|
if (response.code === 200) {
|
|
|
formData.chat_imgs.push(response.data.name)
|
|
|
ElMessage.success('上传成功!')
|
|
|
@@ -185,12 +195,12 @@
|
|
|
let tmp = props.selectList.find(item => item.id === formData.first_id)
|
|
|
if (tmp && tmp.children) {
|
|
|
if (!tmp.children.find(item => item.id === formData.second_id)) {
|
|
|
- formData.second_id = null
|
|
|
+ formData.second_id = 0
|
|
|
}
|
|
|
return tmp.children
|
|
|
}
|
|
|
}
|
|
|
- formData.second_id = null
|
|
|
+ formData.second_id = 0
|
|
|
return []
|
|
|
})
|
|
|
|
|
|
@@ -199,8 +209,8 @@
|
|
|
() => [props.visible, props.type, props.userData],
|
|
|
([visible]) => {
|
|
|
if (visible) {
|
|
|
- formData.first_id = props.first_id || null
|
|
|
- formData.second_id = props.second_id || null
|
|
|
+ formData.first_id = props.first_id || 0
|
|
|
+ formData.second_id = props.second_id || 0
|
|
|
}
|
|
|
},
|
|
|
{ immediate: true }
|
|
|
@@ -211,7 +221,7 @@
|
|
|
if (!formRef.value) return
|
|
|
await formRef.value.validate((valid) => {
|
|
|
if (valid) {
|
|
|
- commonApi.follow(formData).then(() => {
|
|
|
+ followApi.follow(formData).then(() => {
|
|
|
ElMessage.success('提交成功')
|
|
|
Object.assign(formData, defalutValue)
|
|
|
formData.chat_imgs = [];
|