Преглед на файлове

资源管理问题修改

zhangsq преди 7 месеца
родител
ревизия
a5a2c14ab5
променени са 3 файла, в които са добавени 54 реда и са изтрити 18 реда
  1. 23 2
      src/views/myResources/coverUpload/index.vue
  2. 26 14
      src/views/myResources/myResources.vue
  3. 5 2
      src/views/myResources/resourceUpload.vue

+ 23 - 2
src/views/myResources/coverUpload/index.vue

@@ -35,30 +35,50 @@
 </template>
 
 <script setup>
-	import { ref, reactive, toRefs } from 'vue'
+	import { ref, reactive, watch } from 'vue'
 	import { Modal, Upload, message } from 'ant-design-vue'
 	import tool from '@/utils/tool'
 	const emit = defineEmits(['handleRemoveCover', 'handleChangeCover'])
 	const headers = ref({
 		token: tool.data.get('TOKEN')
 	})
+	import sysConfig from '@/config/index'
 	const props = defineProps({
 		coverImageId: {
 			type: Number,
 			required: true,
 			default: null
 		},
+		imageUrl: {
+			type: String,
+			required: true,
+			default: null
+		},
 		isedit: {
 			type: Boolean,
 			required: true,
 			default: false
 		}
 	})
+
 	const action = ref('/api/webapp/dev/file/uploadMinioReturnId')
 	// 封面文件列表
 	const coverFileList = ref([])
 	const previewImageUrl = ref('')
 	const coverImageId = ref(null)
+	watch(
+		() => props.imageUrl,
+		(newVal) => {
+			if (newVal) {
+				previewImageUrl.value = sysConfig.FILE_URL + newVal
+				coverImageId.value = props.coverImageId
+			} else {
+				previewImageUrl.value = ''
+				coverImageId.value = null
+			}
+		},
+		{ immediate: true } // 立即执行一次
+	)
 	// 上传封面前的钩子函数
 	const beforeUploadCover = (file) => {
 		// 允许的文件扩展名
@@ -129,4 +149,5 @@
 	}
 </script>
 
-<style lang="scss"></style>
+<style lang="less">
+</style>

+ 26 - 14
src/views/myResources/myResources.vue

@@ -2,7 +2,7 @@
 	<a-card>
 		<!-- 标签页 -->
 		<a-tabs v-model:activeKey="formState.verifyStatus" @change="tabChange">
-			<a-tab-pane key="0" tab="未发布"></a-tab-pane>
+			<a-tab-pane key="0,3" tab="未发布" v-if="!pageType"></a-tab-pane>
 			<a-tab-pane key="1" tab="待审核"></a-tab-pane>
 			<a-tab-pane key="2" tab="已发布"></a-tab-pane>
 			<!-- <a-tab-pane key="3" tab="已审核" v-if="pageType == 'economize'"></a-tab-pane> -->
@@ -51,12 +51,15 @@
 					:fieldNames="{ label: 'fileExtendName', value: 'fileExtendName', children: 'children' }"
 					placeholder="请选择资源格式"
 				/>
-				<!-- <a-select v-model:value="formState.suffix" placeholder="请选择资源格式" style="width: 150px; margin-left: 8px">
-					<a-select-option value="mp4">mp4</a-select-option>
-					<a-select-option value="ppt">ppt</a-select-option>
-					<a-select-option value="word">word</a-select-option>
-					<a-select-option value="pdf">pdf</a-select-option>
-				</a-select> -->
+				<a-select
+					v-if="['0,3', '0', '3'].includes(formState.verifyStatus)"
+					v-model:value="isVerifyStatus"
+					placeholder="请选择资源状态"
+					style="width: 150px; margin-left: 8px"
+				>
+					<a-select-option value="0">未发布</a-select-option>
+					<a-select-option value="3">未通过</a-select-option>
+				</a-select>
 				<!-- <a-select
 					v-model:value="formState.suffix"
 					style="width: 200px; margin-left: 8px"
@@ -70,7 +73,7 @@
 				<a-button
 					type="primary"
 					style="margin-right: 8px"
-					v-if="formState.verifyStatus === '0' && !pageType"
+					v-if="formState.verifyStatus === '0,3' && !pageType"
 					@click="batchPublish"
 					:disabled="selectedRowKeys.length === 0"
 				>
@@ -106,6 +109,7 @@
 					<span v-if="record.verifyStatus === '0'">
 						<a-badge status="processing" text="未发布" />
 					</span>
+
 					<span v-else-if="record.verifyStatus === 'uploaded'">
 						<a-badge status="success" text="已上传" />
 					</span>
@@ -115,6 +119,9 @@
 					<span v-else-if="record.verifyStatus === '2'">
 						<a-badge status="success" text="已发布" />
 					</span>
+					<span v-if="record.verifyStatus === '3'">
+						<a-badge status="error" text="未通过" />
+					</span>
 					<span v-else-if="record.verifyStatus === '4'">
 						<a-badge status="error" text="已删除" />
 					</span>
@@ -131,7 +138,7 @@
 				<!-- 个人资源操作列 -->
 				<template v-if="column.key === 'action' && !pageType">
 					<div class="editable-cell">
-						<a v-if="formState.verifyStatus === '0'" @click="handlePublish(record)">发布</a>
+						<a v-if="formState.verifyStatus === '0,3'" @click="handlePublish(record)">发布</a>
 						<a v-if="formState.verifyStatus === '4'" @click="handleRestore(record)">恢复</a>
 						<a-divider type="vertical" />
 						<a-dropdown>
@@ -315,6 +322,7 @@
 	const isPublishBulk = ref(false) //是否批量发布
 	const loading = ref(false) // 列表loading
 	const isState = ref(0) //是否是编辑  0:新增 1:编辑
+	const isVerifyStatus = ref(null) //未发布状态 0未发布 3已驳回
 	const editResourcesId = ref(null) //资源id
 	// 搜索值
 	const searchValue = ref('')
@@ -328,7 +336,7 @@
 	})
 	const formState = reactive({
 		fileName: null,
-		verifyStatus: '0',
+		verifyStatus: '0,3',
 		resourcesId: null,
 		// majorId: null, //专业
 		collegeId: null, //院校一级id
@@ -522,7 +530,7 @@
 		let params = {
 			current: pagination.pageNum,
 			size: pagination.pageSize,
-			verifyStatus: formState.verifyStatus,
+			verifyStatus: isVerifyStatus.value ? isVerifyStatus.value : formState.verifyStatus,
 			fileName: formState.fileName,
 			resourceType: formState.resourceType,
 			resourceTwoType: formState.resourceTwoType,
@@ -640,6 +648,10 @@
 		searchValue.value = null
 		majorIdName.value = null
 		resourceName.value = null
+		isVerifyStatus.value = null
+		if (formState.verifyStatus == '3' || formState.verifyStatus == '0') {
+			formState.verifyStatus = '0,3'
+		}
 		formState.fileName = null
 		formState.resourceType = null
 		formState.resourceTwoType = null
@@ -877,9 +889,9 @@
 	}
 
 	onMounted(() => {
-		// if (pageType == 'economize') {
-		// 	formState.verifyStatus = '1'
-		// }
+		if (pageType == 'economize') {
+			formState.verifyStatus = '1'
+		}
 		getOrgTreeSelector()
 		getFileformat()
 		getResourceTypeTree()

+ 5 - 2
src/views/myResources/resourceUpload.vue

@@ -102,13 +102,14 @@
 					<a-radio :value="1">是</a-radio>
 				</a-radio-group>
 			</a-form-item>
-			<a-form-item v-if="isState == 1 && isVerifyStatus != 0" label="资源描述" name="resourceDesc">
+			<a-form-item v-if="isState == 1 && isVerifyStatus != '0,3'" label="资源描述" name="resourceDesc">
 				<a-textarea v-model:value="formState.resourceDesc" placeholder="请输入资源描述" :rows="4" />
 			</a-form-item>
-			<a-form-item v-if="isState == 1 && isVerifyStatus != 0" label="上传封面" name="coverImage">
+			<a-form-item v-if="isState == 1 && isVerifyStatus != '0,3'" label="上传封面" name="coverImage">
 				<coverUpload
 					:isedit="true"
 					:coverImageId="formState.coverImage"
+					:imageUrl="coverImagePath"
 					@handleChangeCover="handleChangeCover"
 					@handleRemoveCover="handleRemoveCover"
 				></coverUpload>
@@ -181,6 +182,7 @@
 		isRecommend: 0, // 资源是否推荐
 		isHot: 0 // 资源是否热门
 	})
+	const coverImagePath = ref() // 预览回显
 	const formRef = ref() // 添加表单引用
 	const collegeMajorOptions = ref([]) //院系
 	const resourceTypeOptions = ref([]) //资源类型下拉数据
@@ -472,6 +474,7 @@
 			formState.resourceTwoType = res.data.resourceTwoType
 			formState.collegeId = res.data.collegeId
 			formState.coverImage = res.data.coverImage
+			coverImagePath.value = res.data.coverImagePath
 			formState.collegeTwoId = res.data.collegeTwoId
 			formState.collegeThreeId = res.data.collegeThreeId
 			majorIdName.value = res.data.collegeAllId.split(',')