提交 07bf4753 authored 作者: lidongxu's avatar lidongxu

Merge branch 'zhengzhao_upload' into dev

...@@ -4,14 +4,28 @@ ...@@ -4,14 +4,28 @@
<!-- 查询表单 --> <!-- 查询表单 -->
<el-form :model="queryParams" <el-form :model="queryParams"
inline inline
label-width="110px"
label-position="left"> label-position="left">
<el-form-item label="输入厂家名称" <el-form-item label="厂家名称"
prop="manufacturersNameLike"> prop="manufacturersNameLike">
<el-input v-model="queryParams.manufacturersNameLike" <el-input v-model="queryParams.manufacturersNameLike"
placeholder="请输入厂家名称" placeholder="请输入厂家名称"
@input="getList" clearable
/> @input="getList" />
</el-form-item>
<el-form-item label="商品料号/名称"
prop="prdCN">
<el-input v-model="queryParams.prdCN"
placeholder="请输入商品料号/名称"
clearable
@input="getList" />
</el-form-item>
<el-form-item label="发货日期"
prop="shipDate">
<el-date-picker v-model="queryParams.shipDate"
placeholder="请选择发货日期"
clearable
type="date"
@change="getList" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<!-- 功能按钮 --> <!-- 功能按钮 -->
...@@ -85,11 +99,11 @@ ...@@ -85,11 +99,11 @@
<el-input v-model="formData.manufactureBatchNo" <el-input v-model="formData.manufactureBatchNo"
placeholder="请输入批号" /> placeholder="请输入批号" />
</el-form-item> </el-form-item>
<el-form-item label="厂家" <!-- <el-form-item label="厂家"
prop="manufacturersName"> prop="manufacturersName">
<el-input v-model="formData.manufacturersName" <el-input v-model="formData.manufacturersName"
placeholder="请输入厂家" /> placeholder="请输入厂家" />
</el-form-item> </el-form-item> -->
<el-form-item label="发货时间" <el-form-item label="发货时间"
prop="shipDate"> prop="shipDate">
<el-date-picker v-model="formData.shipDate" <el-date-picker v-model="formData.shipDate"
...@@ -99,7 +113,7 @@ ...@@ -99,7 +113,7 @@
</el-form-item> </el-form-item>
<!-- 上传 PDF / 图片 --> <!-- 上传 PDF / 图片 -->
<el-form-item label="上传 PDF / 图片" <el-form-item label="上传 PDF / 图片"
prop="file"> prop="fileList">
<el-upload v-model:file-list="formData.fileList" <el-upload v-model:file-list="formData.fileList"
class="upload-demo" class="upload-demo"
action="#" action="#"
...@@ -114,6 +128,9 @@ ...@@ -114,6 +128,9 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<template #footer> <template #footer>
<el-button @click="cancelForm">
取消
</el-button>
<el-button type="primary" <el-button type="primary"
@click="submitForm"> @click="submitForm">
确定 确定
...@@ -150,6 +167,9 @@ const queryParams = reactive({ ...@@ -150,6 +167,9 @@ const queryParams = reactive({
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
}) })
// 根据料号获取品名 // 根据料号获取品名
const getPrdName = async () => { const getPrdName = async () => {
const { data } = await getProductNameByCode(formData.prdCode) const { data } = await getProductNameByCode(formData.prdCode)
...@@ -159,6 +179,10 @@ const getPrdName = async () => { ...@@ -159,6 +179,10 @@ const getPrdName = async () => {
const tableList = ref([]) const tableList = ref([])
const total = ref(0) const total = ref(0)
const getList = async () => { const getList = async () => {
// 日期格式化
if (queryParams.shipDate) {
queryParams.shipDate = parseTime(queryParams.shipDate, `{y}/{m}/{d}`)
}
const { data } = await getQualityInsPageList(queryParams) const { data } = await getQualityInsPageList(queryParams)
// 格式化发货时间 // 格式化发货时间
tableList.value = data?.rows?.map(item => ({ tableList.value = data?.rows?.map(item => ({
...@@ -169,15 +193,28 @@ const getList = async () => { ...@@ -169,15 +193,28 @@ const getList = async () => {
} }
getList() getList()
const rules = reactive({
prdCode: [
{ required: true, message: '请输入料号', trigger: 'blur' },
],
prdName: [
{ required: true, message: '请输入料号查询品名', trigger: 'blur' },
],
manufactureBatchNo: [
{ required: true, message: '请输入批号', trigger: 'blur' },
],
shipDate: [
{ required: true, message: '请选择发货时间', trigger: 'blur' },
],
fileList: [
{ required: true, message: '请上传质量检测报告', trigger: 'change' },
],
})
const dialogVisible = ref(false) const dialogVisible = ref(false)
const formData = reactive({ const formData = reactive({
fileList: [], fileList: [],
}) })
const rules = reactive({
activityDate: [
{ required: true, message: '请选择活动日期', trigger: 'blur' },
],
})
// 图片预览相关状态 // 图片预览相关状态
const imagePreviewVisible = ref(false) const imagePreviewVisible = ref(false)
const previewImageUrl = ref('') const previewImageUrl = ref('')
...@@ -229,6 +266,14 @@ const previewImage = (url) => { ...@@ -229,6 +266,14 @@ const previewImage = (url) => {
imagePreviewVisible.value = true imagePreviewVisible.value = true
} }
// 取消
const cancelForm = () => {
dialogVisible.value = false
// 清空表单
formData.fileList = []
proxy.$refs.formRef.resetFields()
}
// 提交
const submitForm = async () => { const submitForm = async () => {
proxy.$refs.formRef.validate(async (valid) => { proxy.$refs.formRef.validate(async (valid) => {
if (valid) { if (valid) {
...@@ -236,7 +281,7 @@ const submitForm = async () => { ...@@ -236,7 +281,7 @@ const submitForm = async () => {
// 提交表单 // 提交表单
const formDataToSubmit = { const formDataToSubmit = {
...formData, ...formData,
qualityUrl: formData.fileList[0].url, qualityUrl: formData.fileList[0]?.url,
} }
await postQualityIns(formDataToSubmit) await postQualityIns(formDataToSubmit)
proxy.$message({ proxy.$message({
...@@ -254,10 +299,13 @@ const submitForm = async () => { ...@@ -254,10 +299,13 @@ const submitForm = async () => {
} }
const httpRequestFn = async (file) => { const httpRequestFn = async (file) => {
console.log('zoulema?')
const date = new Date() const date = new Date()
const month = date.getMonth() + 1 const month = date.getMonth() + 1
const url = await uploadFileToOSSAPI(`licenses/qualityIns/${date.getFullYear()}-${month}/${useUserStore().empInfo.empNo}/${uuidv4()}.${getFileTypeExt(file.file.name)}`, file.file) const url = await uploadFileToOSSAPI(`licenses/qualityIns/${date.getFullYear()}-${month}/${useUserStore().empInfo.empNo}/${uuidv4()}.${getFileTypeExt(file.file.name)}`, file.file)
formData.fileList[0].url = url formData.fileList[0].url = url
// 重新校验表单
proxy.$refs.formRef.validateField('fileList')
} }
</script> </script>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论