fix: 增加字段,功能完善修复。

This commit is contained in:
tianyongbao
2026-02-22 16:57:09 +08:00
parent f0c57b6a59
commit cb99177633
2 changed files with 123 additions and 30 deletions

View File

@@ -215,4 +215,25 @@ function listToString(list, separator) {
:deep(.hide .el-upload--picture-card) {
display: none;
}
// 让图片在一行显示多个
.component-upload-image {
:deep(.el-upload-list) {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
:deep(.el-upload--picture-card) {
width: 148px;
height: 148px;
line-height: 148px;
}
:deep(.el-upload-list__item) {
width: 148px;
height: 148px;
margin: 0 !important;
}
}
</style>

View File

@@ -3,38 +3,30 @@
<div class="search-con">
<div class="title">查询条件</div>
<el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="类型" prop="type">
<!-- <el-form-item label="类型" prop="type">
<el-select v-model="queryParams.type" placeholder="请选择类型" clearable>
<el-option v-for="dict in commemorative_coin_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="queryParams.name" placeholder="请输入名称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="全称" prop="fullName">
<el-input v-model="queryParams.fullName" placeholder="请输入全称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="简称" prop="shortName">
<el-input v-model="queryParams.shortName" placeholder="请输入简称" clearable @keyup.enter="handleQuery" />
</el-form-item>
<el-form-item label="发行时间" prop="issueDate">
<el-input v-model="queryParams.issueDate" placeholder="请输入发行时间" clearable @keyup.enter="handleQuery" />
<el-form-item label="发行时间" prop="time">
<el-date-picker v-model="queryParams.time" type="daterange" range-separator="至" start-placeholder="开始时间" end-placeholder="结束时间" />
</el-form-item>
<el-form-item label="发行年份" prop="issueYear">
<el-input v-model="queryParams.issueYear" placeholder="请输入发行年份" clearable @keyup.enter="handleQuery" />
<el-date-picker v-model="queryParams.issueYear" type="year" placeholder="请选择发行年份" value-format="YYYY" clearable />
</el-form-item>
<el-form-item label="系列" prop="series">
<el-select v-model="queryParams.series" placeholder="请选择系列" clearable>
<el-option v-for="dict in commemorative_coin_series" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="版别" prop="blockType">
<el-select v-model="queryParams.blockType" placeholder="请选择版别" clearable>
<el-option v-for="dict in commemorative_coin_block_type" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="形状" prop="shape">
<!-- <el-form-item label="形状" prop="shape">
<el-select v-model="queryParams.shape" placeholder="请选择形状" clearable>
<el-option v-for="dict in collect_shape" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
</el-form-item> -->
</el-form>
<div class="search-btn-con">
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
@@ -65,14 +57,20 @@
<span v-else style="color: #999">暂无图片</span>
</template>
</el-table-column>
<el-table-column label="类型" align="center" prop="type">
<!-- <el-table-column label="类型" align="center" prop="type">
<template #default="scope">
<dict-tag :options="commemorative_coin_type" :value="scope.row.type" />
</template>
</el-table-column>
<el-table-column label="全称" align="center" prop="fullName" />
</el-table-column> -->
<el-table-column label="全称" align="center" prop="fullName" width="300" />
<el-table-column label="简称" align="center" prop="shortName" />
<el-table-column label="面值" align="center" prop="faceValue" />
<el-table-column label="发行量" align="center" prop="mintage" />
<el-table-column label="材质" align="center" prop="composition">
<template #default="scope">
<dict-tag :options="commemorative_coin_composition" :value="scope.row.composition" />
</template>
</el-table-column>
<el-table-column label="发行时间" align="center" prop="issueDate" />
<el-table-column label="系列" align="center" prop="series">
<template #default="scope">
@@ -109,11 +107,20 @@
<el-form-item label="面值" prop="faceValue">
<el-input v-model="form.faceValue" placeholder="请输入面值" />
</el-form-item>
<el-form-item label="材质" prop="composition">
<el-select v-model="form.composition" placeholder="请选择材质">
<el-option v-for="dict in commemorative_coin_composition" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="发行量" prop="mintage">
<el-input v-model="form.mintage" placeholder="请输入发行量" />
</el-form-item>
<el-form-item label="发行时间" prop="issueDate">
<el-input v-model="form.issueDate" placeholder="请输入发行时间" />
<el-date-picker v-model="form.issueDate" type="date" placeholder="请选择发行时间" value-format="YYYY-MM-DD" />
</el-form-item>
<el-form-item label="发行年份" prop="issueYear">
<el-input v-model="form.issueYear" placeholder="请输入发行年份" />
<el-date-picker v-model="form.issueYear" type="year" placeholder="请选择发行年份" value-format="YYYY" />
</el-form-item>
<el-form-item label="系列" prop="series">
<el-select v-model="form.series" placeholder="请选择系列">
@@ -133,10 +140,24 @@
<el-option v-for="dict in collect_shape" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="发行说明" style="width: 792px" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
<el-form-item label="重量" prop="weight">
<el-input v-model="form.weight" placeholder="请输入重量" />
</el-form-item>
<el-form-item label="图片上传" prop="imageUpload">
<el-form-item label="规格尺寸" prop="dimension">
<el-input v-model="form.dimension" placeholder="请输入规格尺寸" />
</el-form-item>
<el-form-item label="厚度" prop="thickness">
<el-input v-model="form.thickness" placeholder="请输入厚度" />
</el-form-item>
<el-form-item label="币齿" prop="coinTeeth">
<el-select v-model="form.coinTeeth" placeholder="请选择币齿">
<el-option v-for="dict in commemorative_coin_teeth" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="发行说明" style="width: 792px" prop="remark">
<el-input v-model="form.remark" type="textarea" :rows="4" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="图片上传" style="width: 792px" prop="imageUpload">
<image-upload uploadUrl="/collect/collectFile/uploadFile" v-model:modelValue="form.collectFileList" v-model:isToString="isToString" />
</el-form-item>
</el-form>
@@ -172,14 +193,24 @@ import {
addCommemorativeCoin,
updateCommemorativeCoin
} from '@/api/collect/commemorativeCoin'
import dayjs from 'dayjs'
// eslint-disable-next-line no-unused-vars
import { require } from '@/utils/require'
const { proxy } = getCurrentInstance()
const { commemorative_coin_type, commemorative_coin_series, commemorative_coin_block_type, collect_shape } = proxy.useDict(
const {
commemorative_coin_type,
commemorative_coin_series,
commemorative_coin_block_type,
collect_shape,
commemorative_coin_composition,
commemorative_coin_teeth
} = proxy.useDict(
'commemorative_coin_type',
'commemorative_coin_series',
'commemorative_coin_block_type',
'collect_shape'
'collect_shape',
'commemorative_coin_composition',
'commemorative_coin_teeth'
)
const commemorativeCoinList = ref([])
@@ -203,10 +234,11 @@ const data = reactive({
pageSize: 10,
type: null,
fullName: null,
shortName: null,
name: null,
issueDate: null,
issueYear: null,
series: null,
time: '',
blockType: null,
shape: null
},
@@ -219,6 +251,8 @@ const data = reactive({
issueDate: [{ required: true, message: '发行时间不能为空', trigger: 'blur' }],
issueYear: [{ required: true, message: '发行年份不能为空', trigger: 'blur' }],
series: [{ required: true, message: '系列不能为空', trigger: 'change' }],
composition: [{ required: true, message: '材质不能为空', trigger: 'change' }],
mintage: [{ required: true, message: '发行量不能为空', trigger: 'change' }],
shape: [{ required: true, message: '形状不能为空', trigger: 'change' }]
}
})
@@ -250,9 +284,30 @@ const handleOperate = (operate, row) => {
const { queryParams, form, rules } = toRefs(data)
// 监听发行时间变化,自动设置发行年份
watch(
() => form.value.issueDate,
(newDate) => {
if (newDate) {
// 从 YYYY-MM-DD 中提取年份
const year = newDate.split('-')[0]
form.value.issueYear = year
}
}
)
/** 查询流通纪念币列表 */
function getList() {
loading.value = true
const timeRange = queryParams.value.time
let st = ''
let et = ''
if (timeRange && timeRange.length === 2) {
st = dayjs(timeRange[0]).format('YYYY-MM-DD')
et = dayjs(timeRange[1]).format('YYYY-MM-DD')
}
queryParams.value.startTime = st
queryParams.value.endTime = et
listCommemorativeCoin(queryParams.value).then((response) => {
commemorativeCoinList.value = response.rows
total.value = response.total
@@ -270,16 +325,22 @@ function cancel() {
function reset() {
form.value = {
id: null,
type: null,
type: '1',
fullName: null,
shortName: null,
faceValue: null,
issueDate: null,
issueYear: null,
series: null,
mintage: null,
composition: null,
weight: null,
dimension: null,
thickness: null,
coinTeeth: null,
setNumber: null,
blockType: null,
shape: null,
shape: '1',
createBy: null,
createTime: null,
updateBy: null,
@@ -396,6 +457,17 @@ getList()
z-index: 9999 !important;
}
/* 图片上传组件样式优化 */
:deep(.el-upload-list) {
display: flex !important;
flex-wrap: wrap !important;
gap: 8px !important;
}
:deep(.el-upload-list__item) {
margin: 0 !important;
}
/* 图片预览容器样式 */
.image-preview-container {
position: relative;