提交遗漏文件 #92

Merged
root merged 1 commits from sjy-two into master 2024-10-29 13:16:09 +08:00

View File

@ -0,0 +1,134 @@
<template>
<Dialog :title="dialogTitle" v-model="dialogVisible">
<el-form
ref="forRef"
:model="formData"
:rules="formRules"
label-width="100px"
v-loading="formLoading"
>
<!-- <el-form-item label="配置编号" prop="configId">
<el-input v-model="formData.configId" placeholder="请输入配置编号" />
</el-form-item> -->
<el-form-item label="图片类型" prop="picType">
<el-select v-model="picType" placeholder="请选择图片类型">
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.INFRA_FILE_TYPE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="文件名" prop="name">
<el-input v-model="formData.name" placeholder="请输入文件名" />
</el-form-item>
<el-form-item label="文件路径" prop="path">
<el-input v-model="formData.path" placeholder="请输入文件路径" />
</el-form-item>
<el-form-item label="文件 URL" prop="url">
<el-input v-model="formData.url" placeholder="请输入文件 URL" />
</el-form-item>
<el-form-item label="文件类型" prop="type">
<el-select v-model="formData.type" placeholder="请选择文件类型">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="文件大小" prop="size">
<el-input v-model="formData.size" placeholder="请输入文件大小" />
</el-form-item> -->
</el-form>
<template #footer>
<el-button @click="submitForm" type="primary" :disabled="formLoading"> </el-button>
<el-button @click="dialogVisible = false"> </el-button>
</template>
</Dialog>
</template>
<script setup lang="ts">
import { getIntDictOptions, DICT_TYPE } from '@/utils/dict'
import * as FileApi from '@/api/infra/file'
import { number } from 'echarts';
import { NumberFormat } from 'vue-i18n';
/** 文件 表单 */
defineOptions({ name: 'FileForm' })
const { t } = useI18n() //
const message = useMessage() //
const dialogVisible = ref(false) //
const dialogTitle = ref('') //
const formLoading = ref(false) // 12
const formType = ref('') // create - update -
const formData = ref({
id: undefined,
configId: undefined,
picType: undefined,
name: undefined,
path: undefined,
url: undefined,
type: undefined,
size: undefined
})
const id = ref(0)
const picType = ref(0)
const formRules = reactive({
path: [{ required: true, message: '文件路径不能为空', trigger: 'blur' }],
url: [{ required: true, message: '文件 URL不能为空', trigger: 'blur' }],
size: [{ required: true, message: '文件大小不能为空', trigger: 'blur' }]
})
const forRef = ref() // Ref
/** 打开弹窗 */
const open = async (type: string, ids: number, picTypes: number) => {
dialogVisible.value = true
dialogTitle.value = t('action.' + type)
formType.value = type
id.value = 0
picType.value = 0
//
if (id) {
formLoading.value = true
id.value = ids
picType.value = picTypes
console.log('11111',ids)
console.log('2222',picType.value)
formLoading.value = false
}
}
defineExpose({ open }) // open
/** 提交表单 */
const emit = defineEmits(['success']) // success
const submitForm = async () => {
//
await forRef.value.validate()
//
formLoading.value = true
try {
await FileApi.updatePicType(id.value,picType.value)
message.success(t('common.updateSuccess'))
dialogVisible.value = false
//
emit('success')
} finally {
formLoading.value = false
}
}
/** 重置表单 */
const resetForm = () => {
formData.value = {
id: undefined,
configId: undefined,
picType: undefined,
name: undefined,
path: undefined,
url: undefined,
type: undefined,
size: undefined
}
forRef.value?.resetFields()
}
</script>