|
@@ -36,24 +36,33 @@
|
|
<!-- 相册列表 -->
|
|
<!-- 相册列表 -->
|
|
<HcTable v-else :column="imageListColumn" :datas="imageListData" :loading="imageLoading" is-new :index-style="{ width: 60 }">
|
|
<HcTable v-else :column="imageListColumn" :datas="imageListData" :loading="imageLoading" is-new :index-style="{ width: 60 }">
|
|
<template #groupNumber="{ row }">
|
|
<template #groupNumber="{ row }">
|
|
- <span v-if="!row.isEditing">{{ row.groupNumber }}</span>
|
|
|
|
|
|
+ <span v-if="!row?.isEditing">{{ row.groupNumber }}</span>
|
|
|
|
|
|
<el-input v-else v-model="row.groupNumber" style="width: 100%;" />
|
|
<el-input v-else v-model="row.groupNumber" style="width: 100%;" />
|
|
</template>
|
|
</template>
|
|
|
|
+ <template #codes="{ row }">
|
|
|
|
+ <span v-if="!row?.isEditing">{{ row.codes }}</span>
|
|
|
|
+ <el-input
|
|
|
|
+ v-else
|
|
|
|
+ v-model="row.codes"
|
|
|
|
+ placeholder="请输入单个数字或用~连接的两个数字"
|
|
|
|
+ @blur="validateCodesBlur(row)"
|
|
|
|
+ />
|
|
|
|
+ </template>
|
|
<template #photographer="{ row }">
|
|
<template #photographer="{ row }">
|
|
- <span v-if="!row.isEditing">{{ row.photographer }}</span>
|
|
|
|
|
|
+ <span v-if="!row?.isEditing">{{ row.photographer }}</span>
|
|
<el-input v-else v-model="row.photographer" placeholder="请输入" />
|
|
<el-input v-else v-model="row.photographer" placeholder="请输入" />
|
|
</template>
|
|
</template>
|
|
<template #date="{ row }">
|
|
<template #date="{ row }">
|
|
- <span v-if="!row.isEditing">{{ row.dateValue }}</span>
|
|
|
|
|
|
+ <span v-if="!row?.isEditing">{{ row.dateValue }}</span>
|
|
<hc-date-picker v-else :dates="betweenTime" clearable @change="betweenTimeUpdate($event, row)" />
|
|
<hc-date-picker v-else :dates="betweenTime" clearable @change="betweenTimeUpdate($event, row)" />
|
|
</template>
|
|
</template>
|
|
<template #imagesName="{ row }">
|
|
<template #imagesName="{ row }">
|
|
- <span v-if="!row.isEditing" class="cursor-pointer" @click="viewPdf(row)">{{ row.imagesName }}</span>
|
|
|
|
|
|
+ <span v-if="!row?.isEditing" class="cursor-pointer" @click="viewPdf(row)">{{ row.imagesName }}</span>
|
|
<el-input v-else v-model="row.imagesName" placeholder="请输入" />
|
|
<el-input v-else v-model="row.imagesName" placeholder="请输入" />
|
|
</template>
|
|
</template>
|
|
<template #action="{ row }">
|
|
<template #action="{ row }">
|
|
- <el-link v-if="!row.isEditing" type="primary" @click="startEditing(row)">编辑</el-link>
|
|
|
|
|
|
+ <el-link v-if="!row?.isEditing" type="primary" @click="startEditing(row)">编辑</el-link>
|
|
<el-link v-else v-loading="row.load" type="success" @click="saveEditing(row)">保存</el-link>
|
|
<el-link v-else v-loading="row.load" type="success" @click="saveEditing(row)">保存</el-link>
|
|
<el-link v-del-com:[handleDelete]="row" type="danger">删除</el-link>
|
|
<el-link v-del-com:[handleDelete]="row" type="danger">删除</el-link>
|
|
</template>
|
|
</template>
|
|
@@ -214,6 +223,7 @@ const goBackList = () => {
|
|
const imageListColumn = ref([
|
|
const imageListColumn = ref([
|
|
{ key: 'classifyName', name: '分类名称' },
|
|
{ key: 'classifyName', name: '分类名称' },
|
|
{ key: 'groupNumber', name: '分组号', width:100 },
|
|
{ key: 'groupNumber', name: '分组号', width:100 },
|
|
|
|
+ { key: 'codes', name: '照片起止编号' },
|
|
{ key: 'photographer', name: '主要拍摄者', width: 100 },
|
|
{ key: 'photographer', name: '主要拍摄者', width: 100 },
|
|
{ key: 'date', name: '拍摄起止日期' },
|
|
{ key: 'date', name: '拍摄起止日期' },
|
|
{ key: 'imagesName', name: '文件题名' },
|
|
{ key: 'imagesName', name: '文件题名' },
|
|
@@ -222,6 +232,27 @@ const imageListColumn = ref([
|
|
const imageListData = ref([
|
|
const imageListData = ref([
|
|
|
|
|
|
])
|
|
])
|
|
|
|
+const validateCodesBlur = (row) => {
|
|
|
|
+ if (!row.codes) return
|
|
|
|
+
|
|
|
|
+ // 验证格式:单个数字 或 两个数字用~连接
|
|
|
|
+ const pattern = /^\d+$|^\d+~\d+$/
|
|
|
|
+ if (!pattern.test(row.codes)) {
|
|
|
|
+ window.$message.warning('请输入正确的格式:单个数字或用~连接的两个数字')
|
|
|
|
+ row.codes = ''
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 如果是范围格式,确保第二个数字大于第一个
|
|
|
|
+ if (row.codes.includes('~')) {
|
|
|
|
+ const [start, end] = row.codes.split('~').map(Number)
|
|
|
|
+ if (start >= end) {
|
|
|
|
+ window.$message.warning('结束编号必须大于起始编号')
|
|
|
|
+ row.codes = ''
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
|
|
const getImageListData = async () => {
|
|
const getImageListData = async () => {
|
|
tableLoading.value = true
|
|
tableLoading.value = true
|
|
@@ -288,6 +319,7 @@ const saveEditing = async (row) => {
|
|
|
|
|
|
},
|
|
},
|
|
)
|
|
)
|
|
|
|
+ row.load = false
|
|
//判断状态
|
|
//判断状态
|
|
if (!error && code === 200) {
|
|
if (!error && code === 200) {
|
|
window.$message?.success(msg)
|
|
window.$message?.success(msg)
|