提交本地修改代码
This commit is contained in:
parent
21f87755cd
commit
85480e07a3
|
|
@ -16,6 +16,7 @@ const useUserStore = defineStore(
|
||||||
userName: '',
|
userName: '',
|
||||||
avatar: '',
|
avatar: '',
|
||||||
phoneNumber: '',
|
phoneNumber: '',
|
||||||
|
dataScopeDeptId: '',
|
||||||
roles: [],
|
roles: [],
|
||||||
permissions: []
|
permissions: []
|
||||||
}),
|
}),
|
||||||
|
|
@ -50,13 +51,14 @@ const useUserStore = defineStore(
|
||||||
this.permissions = res.permissions
|
this.permissions = res.permissions
|
||||||
} else {
|
} else {
|
||||||
this.roles = ['ROLE_DEFAULT']
|
this.roles = ['ROLE_DEFAULT']
|
||||||
}
|
}
|
||||||
this.id = user.userId
|
this.id = user.userId
|
||||||
this.name = user.realName
|
this.name = user.realName
|
||||||
// this.nickName = user.nickName
|
// this.nickName = user.nickName
|
||||||
this.userName = user.userName
|
this.userName = user.userName
|
||||||
this.avatar = avatar
|
this.avatar = avatar
|
||||||
this.phoneNumber = user.phonenumber
|
this.phoneNumber = user.phonenumber
|
||||||
|
this.dataScopeDeptId = user.deptId
|
||||||
/* 初始密码提示 */
|
/* 初始密码提示 */
|
||||||
if(res.isDefaultModifyPwd) {
|
if(res.isDefaultModifyPwd) {
|
||||||
ElMessageBox.confirm('您的密码还是初始密码,请修改密码!', '安全提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => {
|
ElMessageBox.confirm('您的密码还是初始密码,请修改密码!', '安全提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' }).then(() => {
|
||||||
|
|
|
||||||
|
|
@ -1314,6 +1314,7 @@ const ckdxPriceFild = ref([
|
||||||
// 导出提交信息
|
// 导出提交信息
|
||||||
const exportForm = ref({
|
const exportForm = ref({
|
||||||
ids: undefined,
|
ids: undefined,
|
||||||
|
dataScopeDeptId: undefined,
|
||||||
exportBaseFields: undefined,
|
exportBaseFields: undefined,
|
||||||
mediaTypeExport: [],
|
mediaTypeExport: [],
|
||||||
hasFiles: false
|
hasFiles: false
|
||||||
|
|
@ -1711,6 +1712,12 @@ const initExportExcel = (_mediaIds, _curDeptIds) => {
|
||||||
exportForm.value.ids = _mediaIds
|
exportForm.value.ids = _mediaIds
|
||||||
curDeptIds.value = _curDeptIds
|
curDeptIds.value = _curDeptIds
|
||||||
|
|
||||||
|
if (_curDeptIds && _curDeptIds.length == 2) exportForm.value.dataScopeDeptId = undefined
|
||||||
|
else {
|
||||||
|
console.log('走了这里?', _curDeptIds)
|
||||||
|
exportForm.value.dataScopeDeptId = _curDeptIds[0]
|
||||||
|
}
|
||||||
|
|
||||||
exportOpen.value = true
|
exportOpen.value = true
|
||||||
getMediaExcelBaseField()
|
getMediaExcelBaseField()
|
||||||
getMediaExcelPriceField()
|
getMediaExcelPriceField()
|
||||||
|
|
|
||||||
|
|
@ -180,8 +180,8 @@
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
<el-table-column label="媒体名称" align="left" prop="mediaName" width="320">
|
<el-table-column label="媒体名称" align="left" prop="mediaName" width="320">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-popover popper-class="myImg_popover" placement="right-start"
|
<el-popover popper-class="myImg_popover" placement="right-start" :open-delay="300"
|
||||||
:open-delay="300" @show="loadMediaImage(scope.row)" @hide="clearMediaImage(scope.row)">
|
@show="loadMediaImage(scope.row)" @hide="clearMediaImage(scope.row)">
|
||||||
<div v-if="scope.row.imageLoading" class="img-loading">加载中...</div>
|
<div v-if="scope.row.imageLoading" class="img-loading">加载中...</div>
|
||||||
<img v-else-if="scope.row.imageUrl" :src="scope.row.imageUrl" class="media-preview-img"
|
<img v-else-if="scope.row.imageUrl" :src="scope.row.imageUrl" class="media-preview-img"
|
||||||
@error="scope.row.imageUrl = ''" />
|
@error="scope.row.imageUrl = ''" />
|
||||||
|
|
@ -190,7 +190,7 @@
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<span class="mediaNameLabel" @click="handleOpenDetail(scope.row)">{{
|
<span class="mediaNameLabel" @click="handleOpenDetail(scope.row)">{{
|
||||||
scope.row.mediaName
|
scope.row.mediaName
|
||||||
}}</span>
|
}}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -300,6 +300,7 @@ import { mediaPageList, deleteMedia } from "@/api/mediaLibrary"
|
||||||
import { listDept } from "@/api/system/dept"
|
import { listDept } from "@/api/system/dept"
|
||||||
import { pptTemplatePage } from "@/api/system/pptTemplate"
|
import { pptTemplatePage } from "@/api/system/pptTemplate"
|
||||||
import { busDownloadRecordPage } from "@/api/mediaDownRecord"
|
import { busDownloadRecordPage } from "@/api/mediaDownRecord"
|
||||||
|
import useUserStore from '@/store/modules/user'
|
||||||
// 注入组件
|
// 注入组件
|
||||||
import mediaForm from "./mediaForm.vue";
|
import mediaForm from "./mediaForm.vue";
|
||||||
import mediaDetail from "./mediaDetail.vue";
|
import mediaDetail from "./mediaDetail.vue";
|
||||||
|
|
@ -313,7 +314,7 @@ import exportPPTDialog from './exportPPTDialog.vue';
|
||||||
import importPrice from './importPrice.vue';
|
import importPrice from './importPrice.vue';
|
||||||
import downRecords from './downRecords.vue';
|
import downRecords from './downRecords.vue';
|
||||||
import { useBackgroundStore } from '@/store/modules/background'
|
import { useBackgroundStore } from '@/store/modules/background'
|
||||||
|
const userStore = useUserStore()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const bgStore = useBackgroundStore()
|
const bgStore = useBackgroundStore()
|
||||||
const { proxy } = getCurrentInstance()
|
const { proxy } = getCurrentInstance()
|
||||||
|
|
@ -416,6 +417,8 @@ const tableRef = ref(null)
|
||||||
// 添加一个标志位来区分是用户操作还是程序设置
|
// 添加一个标志位来区分是用户操作还是程序设置
|
||||||
const isSettingSelection = ref(false)
|
const isSettingSelection = ref(false)
|
||||||
|
|
||||||
|
const uniqueDeptIds = ref([])
|
||||||
|
|
||||||
// 加载图片(异步+并发控制)
|
// 加载图片(异步+并发控制)
|
||||||
const loadMediaImage = (row) => {
|
const loadMediaImage = (row) => {
|
||||||
// 已加载/正在加载,直接返回
|
// 已加载/正在加载,直接返回
|
||||||
|
|
@ -794,9 +797,10 @@ const handleExportExcel = () => {
|
||||||
// proxy.$modal.msgWarning("请选择要导出的媒体!!!")
|
// proxy.$modal.msgWarning("请选择要导出的媒体!!!")
|
||||||
// return false
|
// return false
|
||||||
// }
|
// }
|
||||||
const mediaIds = multipleChoseArr.value.map(item => item.id);
|
const mediaIds = multipleChoseArr.value.map(item => item.id);
|
||||||
const uniqueDeptIds = [...new Set(multipleChoseArr.value.map(item => item.dataScopeDeptId))];
|
if (multipleChoseArr.value.length == 0) uniqueDeptIds.value = [userStore.dataScopeDeptId]
|
||||||
exportDialogRef.value.initExportExcel(mediaIds, uniqueDeptIds)
|
else uniqueDeptIds.value = [...new Set(multipleChoseArr.value.map(item => item.dataScopeDeptId))];
|
||||||
|
exportDialogRef.value.initExportExcel(mediaIds, uniqueDeptIds.value)
|
||||||
}
|
}
|
||||||
/** 导出PPT按钮操作 */
|
/** 导出PPT按钮操作 */
|
||||||
const handleExportPPT = (tempId) => {
|
const handleExportPPT = (tempId) => {
|
||||||
|
|
@ -827,7 +831,7 @@ onMounted(() => {
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
// 新增图片预览相关样式
|
// 新增图片预览相关样式
|
||||||
.myImg_popover {
|
.myImg_popover {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
|
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
|
||||||
|
|
|
||||||
|
|
@ -436,6 +436,9 @@ const handleQuery = () => {
|
||||||
// 获取媒体详情
|
// 获取媒体详情
|
||||||
const handleViewMedia = (_mediaId) => {
|
const handleViewMedia = (_mediaId) => {
|
||||||
mediaDetail({ mediaId: _mediaId }).then(res => {
|
mediaDetail({ mediaId: _mediaId }).then(res => {
|
||||||
|
// 先清空预览图片集合
|
||||||
|
fileList.value = []
|
||||||
|
previewImg.value = []
|
||||||
detailForm.value = res.data
|
detailForm.value = res.data
|
||||||
if (detailForm.value.mediaFile && detailForm.value.mediaFile.length > 0) {
|
if (detailForm.value.mediaFile && detailForm.value.mediaFile.length > 0) {
|
||||||
fileList.value = detailForm.value.mediaFile.filter(item => item.fileType == 6)
|
fileList.value = detailForm.value.mediaFile.filter(item => item.fileType == 6)
|
||||||
|
|
|
||||||
|
|
@ -123,7 +123,7 @@
|
||||||
@click="handleViewMedia(scope.row.id)" />
|
@click="handleViewMedia(scope.row.id)" />
|
||||||
<!-- 加载失败占位 -->
|
<!-- 加载失败占位 -->
|
||||||
<div v-else class="img-error" @click="reloadImg(scope.row)">
|
<div v-else class="img-error" @click="reloadImg(scope.row)">
|
||||||
<span class="error-text">加载失败,点击重试</span>
|
<span class="error-text">加载失败/无图片,点击重试</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
@ -488,27 +488,31 @@ const initImgStatus = (list) => {
|
||||||
|
|
||||||
// 异步加载图片核心函数
|
// 异步加载图片核心函数
|
||||||
const loadImgAsync = (row) => {
|
const loadImgAsync = (row) => {
|
||||||
// 构建优化后的图片 URL(结合之前的格式/缩略图优化)
|
if (row.mediaFileList && row.mediaFileList.length > 0) {
|
||||||
const imgUrl = baseUrl + row.mediaFileList[0].fileName;
|
// 构建优化后的图片 URL(结合之前的格式/缩略图优化)
|
||||||
|
const imgUrl = baseUrl + row.mediaFileList[0].fileName;
|
||||||
|
|
||||||
// 创建新的图片对象(异步加载)
|
// 创建新的图片对象(异步加载)
|
||||||
const img = new Image();
|
const img = new Image();
|
||||||
img.crossOrigin = 'anonymous'; // 处理跨域
|
img.crossOrigin = 'anonymous'; // 处理跨域
|
||||||
img.src = imgUrl;
|
img.src = imgUrl;
|
||||||
|
|
||||||
// 加载成功回调
|
// 加载成功回调
|
||||||
img.onload = () => {
|
img.onload = () => {
|
||||||
row.imgUrl = imgUrl;
|
row.imgUrl = imgUrl;
|
||||||
row.imgLoaded = true;
|
row.imgLoaded = true;
|
||||||
row.imgError = false;
|
row.imgError = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
// 加载失败回调
|
// 加载失败回调
|
||||||
img.onerror = () => {
|
img.onerror = () => {
|
||||||
console.warn('图片异步加载失败:', imgUrl);
|
console.warn('图片异步加载失败:', imgUrl);
|
||||||
row.imgError = true;
|
row.imgError = true;
|
||||||
row.imgLoaded = false;
|
row.imgLoaded = false;
|
||||||
};
|
};
|
||||||
|
} else {
|
||||||
|
row.imgError = true; // 无图片时标记为失败(显示无图占位)
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// 重试加载图片
|
// 重试加载图片
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user