|
@@ -7,10 +7,10 @@
|
|
|
@cancel="handleUploadCancel"
|
|
@cancel="handleUploadCancel"
|
|
|
width="600px"
|
|
width="600px"
|
|
|
>
|
|
>
|
|
|
- <a-form :model="formState">
|
|
|
|
|
- <a-form-item label="院系" :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }">
|
|
|
|
|
|
|
+ <a-form :model="formState" :rules="rules" ref="formRef">
|
|
|
|
|
+ <a-form-item label="院系" name="collegeId" :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }">
|
|
|
<a-cascader
|
|
<a-cascader
|
|
|
- v-model:value="formState.majorIdName"
|
|
|
|
|
|
|
+ v-model:value="majorIdName"
|
|
|
:options="collegeMajorOptions"
|
|
:options="collegeMajorOptions"
|
|
|
:fieldNames="{ label: 'name', value: 'id', children: 'children' }"
|
|
:fieldNames="{ label: 'name', value: 'id', children: 'children' }"
|
|
|
placeholder="请选择院系"
|
|
placeholder="请选择院系"
|
|
@@ -19,7 +19,7 @@
|
|
|
@change="changeCollegeMajor"
|
|
@change="changeCollegeMajor"
|
|
|
/>
|
|
/>
|
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
- <a-form-item label="专业" :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }">
|
|
|
|
|
|
|
+ <a-form-item label="专业" name="majorId" :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }">
|
|
|
<a-select
|
|
<a-select
|
|
|
v-model:value="formState.majorId"
|
|
v-model:value="formState.majorId"
|
|
|
style="width: 200px"
|
|
style="width: 200px"
|
|
@@ -37,7 +37,7 @@
|
|
|
placeholder="请选择课程"
|
|
placeholder="请选择课程"
|
|
|
/>
|
|
/>
|
|
|
</a-form-item> -->
|
|
</a-form-item> -->
|
|
|
- <a-form-item label="资源类型" :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }">
|
|
|
|
|
|
|
+ <a-form-item label="资源类型" name="courseType" :label-col="{ span: 6 }" :wrapper-col="{ span: 18 }">
|
|
|
<a-select
|
|
<a-select
|
|
|
v-model:value="formState.courseType"
|
|
v-model:value="formState.courseType"
|
|
|
style="width: 200px"
|
|
style="width: 200px"
|
|
@@ -45,7 +45,12 @@
|
|
|
placeholder="请选择资源类型"
|
|
placeholder="请选择资源类型"
|
|
|
/>
|
|
/>
|
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
- <a-form-item label="关键词(需添加2-5个关键词)" :label-col="{ span: 8 }" :wrapper-col="{ span: 10 }">
|
|
|
|
|
|
|
+ <a-form-item
|
|
|
|
|
+ label="关键词(需添加2-5个关键词)"
|
|
|
|
|
+ name="keywordValue"
|
|
|
|
|
+ :label-col="{ span: 8 }"
|
|
|
|
|
+ :wrapper-col="{ span: 10 }"
|
|
|
|
|
+ >
|
|
|
<div v-if="!formState.keywordValue.length" style="color: #ccc">请选择下方热门关键词</div>
|
|
<div v-if="!formState.keywordValue.length" style="color: #ccc">请选择下方热门关键词</div>
|
|
|
<div v-if="formState.keywordValue.length">
|
|
<div v-if="formState.keywordValue.length">
|
|
|
<a-tag
|
|
<a-tag
|
|
@@ -113,7 +118,7 @@
|
|
|
></userSelection>
|
|
></userSelection>
|
|
|
</a-form>
|
|
</a-form>
|
|
|
<template v-if="isState == 0">
|
|
<template v-if="isState == 0">
|
|
|
- <a-upload
|
|
|
|
|
|
|
+ <!-- <a-upload
|
|
|
:multiple="true"
|
|
:multiple="true"
|
|
|
:before-upload="beforeUpload"
|
|
:before-upload="beforeUpload"
|
|
|
:headers="headers"
|
|
:headers="headers"
|
|
@@ -129,7 +134,6 @@
|
|
|
<p>按住Ctrl可同时多选,支持上传PPT/word/excel/pdf/mp4/zip/rar,单个文件不能超过2G</p>
|
|
<p>按住Ctrl可同时多选,支持上传PPT/word/excel/pdf/mp4/zip/rar,单个文件不能超过2G</p>
|
|
|
</div>
|
|
</div>
|
|
|
</a-upload>
|
|
</a-upload>
|
|
|
- <!-- 文件上传状态展示 -->
|
|
|
|
|
<ul v-if="fileList.length">
|
|
<ul v-if="fileList.length">
|
|
|
<li v-for="(file, index) in fileList" :key="index" class="file-item">
|
|
<li v-for="(file, index) in fileList" :key="index" class="file-item">
|
|
|
<span>{{ file.name }}</span>
|
|
<span>{{ file.name }}</span>
|
|
@@ -138,7 +142,19 @@
|
|
|
<span v-if="file.response?.code == '500'">上传失败</span>
|
|
<span v-if="file.response?.code == '500'">上传失败</span>
|
|
|
<span v-if="file.status === 'uploading'">上传中...</span>
|
|
<span v-if="file.status === 'uploading'">上传中...</span>
|
|
|
</li>
|
|
</li>
|
|
|
- </ul>
|
|
|
|
|
|
|
+ </ul> -->
|
|
|
|
|
+ <div
|
|
|
|
|
+ class="upload-area"
|
|
|
|
|
+ @click="handleUploadFileBtnClick(1)"
|
|
|
|
|
+ @dragover.prevent="handleDragOver"
|
|
|
|
|
+ @dragleave.prevent="handleDragLeave"
|
|
|
|
|
+ @drop.prevent="handleDrop"
|
|
|
|
|
+ >
|
|
|
|
|
+ <a-icon type="cloud-upload" style="font-size: 60px; color: #3ca9f5" />
|
|
|
|
|
+ <p>点击上传</p>
|
|
|
|
|
+ <p>按住Ctrl可同时多选,支持上传PPT/word/excel/pdf/mp4/zip/rar,单个文件不能超过2G</p>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <uploadFile></uploadFile>
|
|
|
</template>
|
|
</template>
|
|
|
</a-modal>
|
|
</a-modal>
|
|
|
</template>
|
|
</template>
|
|
@@ -149,6 +165,78 @@
|
|
|
import resourceAuditApi from '@/api/resourceAudit.js'
|
|
import resourceAuditApi from '@/api/resourceAudit.js'
|
|
|
import userSelection from './userSelection.vue'
|
|
import userSelection from './userSelection.vue'
|
|
|
import coverUpload from './coverUpload/index.vue'
|
|
import coverUpload from './coverUpload/index.vue'
|
|
|
|
|
+ import { useMyResourceStore } from '@/store/myResource'
|
|
|
|
|
+ import uploadFile from '@/views/myResource/file/box/uploadFile/Box.vue'
|
|
|
|
|
+ const myResourceStore = useMyResourceStore()
|
|
|
|
|
+ const { proxy } = getCurrentInstance()
|
|
|
|
|
+ import {
|
|
|
|
|
+ getFileListByPath,
|
|
|
|
|
+ getFileListByType,
|
|
|
|
|
+ getRecoveryFile,
|
|
|
|
|
+ getMyShareFileList,
|
|
|
|
|
+ searchFile
|
|
|
|
|
+ } from '@/api/myResource/file'
|
|
|
|
|
+ // 分页数据
|
|
|
|
|
+ const pageData = ref({
|
|
|
|
|
+ currentPage: 1,
|
|
|
|
|
+ pageCount: 50,
|
|
|
|
|
+ total: 0
|
|
|
|
|
+ })
|
|
|
|
|
+ const fileType = ref(0)
|
|
|
|
|
+ // 当前所在路径
|
|
|
|
|
+ const filePath = computed(() => {
|
|
|
|
|
+ // return route.query.filePath ? route.query.filePath : '/'
|
|
|
|
|
+ return myResourceStore.getQuery.filePath ? myResourceStore.getQuery.filePath : '/'
|
|
|
|
|
+ })
|
|
|
|
|
+ // 上传文件组件参数
|
|
|
|
|
+ const uploadFileParams = computed(() => {
|
|
|
|
|
+ return {
|
|
|
|
|
+ filePath: myResourceStore.getQuery.filePath ? myResourceStore.getQuery.filePath : '/',
|
|
|
|
|
+ isDir: 0,
|
|
|
|
|
+ funcType: 0
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ // 拖拽相关方法
|
|
|
|
|
+ const handleDragOver = (e) => {
|
|
|
|
|
+ e.preventDefault()
|
|
|
|
|
+ e.currentTarget.style.borderColor = '#1890ff' // 拖拽进入时高亮边框
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ const handleDragLeave = (e) => {
|
|
|
|
|
+ e.preventDefault()
|
|
|
|
|
+ e.currentTarget.style.borderColor = '#3ca9f5' // 拖拽离开时恢复边框
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ const handleDrop = (e) => {
|
|
|
|
|
+ e.preventDefault()
|
|
|
|
|
+ e.currentTarget.style.borderColor = '#3ca9f5' // 恢复边框颜色
|
|
|
|
|
+ const files = e.dataTransfer.files
|
|
|
|
|
+ if (files.length > 0) {
|
|
|
|
|
+ // 触发上传逻辑(与点击事件相同)
|
|
|
|
|
+ handleUploadFileBtnClick(1)
|
|
|
|
|
+ // 如果需要直接处理文件,可以在这里添加逻辑
|
|
|
|
|
+ console.log('拖拽的文件列表:', files)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ const handleUploadFileBtnClick = async (uploadWay) => {
|
|
|
|
|
+ proxy.$openDialog.authWeChat().then((res) => {
|
|
|
|
|
+ switch (res) {
|
|
|
|
|
+ case 'confirm': {
|
|
|
|
|
+ // window.$common.goAccount('/settings/account')
|
|
|
|
|
+ break
|
|
|
|
|
+ }
|
|
|
|
|
+ case 'go': {
|
|
|
|
|
+ proxy.$openBox.uploadFile({
|
|
|
|
|
+ params: uploadFileParams.value,
|
|
|
|
|
+ uploadWay,
|
|
|
|
|
+ serviceEl: proxy, // 使用proxy替代this
|
|
|
|
|
+ callType: 1 // callType 调用此服务的方式:1 - 顶部栏,2 - 右键菜单
|
|
|
|
|
+ })
|
|
|
|
|
+ break
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
const props = defineProps({
|
|
const props = defineProps({
|
|
|
isState: {
|
|
isState: {
|
|
|
type: Number,
|
|
type: Number,
|
|
@@ -170,23 +258,24 @@
|
|
|
const courseTypeOptions = tool.dictList('COURSE_TYPE')
|
|
const courseTypeOptions = tool.dictList('COURSE_TYPE')
|
|
|
const action = ref('http://192.168.31.80:9003/api/webapp/dev/file/uploadMinioReturnId')
|
|
const action = ref('http://192.168.31.80:9003/api/webapp/dev/file/uploadMinioReturnId')
|
|
|
const formState = reactive({
|
|
const formState = reactive({
|
|
|
- userfileIds: null, //资源文件id
|
|
|
|
|
|
|
+ userfileIds: '1234567', //资源文件id
|
|
|
coverImage: null, //封面id
|
|
coverImage: null, //封面id
|
|
|
// courseId: null, //课程
|
|
// courseId: null, //课程
|
|
|
- majorType: null, //专业
|
|
|
|
|
- courseType: null, //课程类型
|
|
|
|
|
|
|
+ // majorType: null, //专业
|
|
|
|
|
+ courseType: null, //资源类型
|
|
|
collegeId: null, //院校一级id
|
|
collegeId: null, //院校一级id
|
|
|
collegeTwoId: null, //院校二级id
|
|
collegeTwoId: null, //院校二级id
|
|
|
collegeThreeId: null, //院校三级id
|
|
collegeThreeId: null, //院校三级id
|
|
|
resourceDesc: null, //资源介绍
|
|
resourceDesc: null, //资源介绍
|
|
|
majorId: null, //专业id
|
|
majorId: null, //专业id
|
|
|
- courseTypeName: [], // 资源类型
|
|
|
|
|
|
|
+ // courseTypeName: [], // 资源类型
|
|
|
keywordValue: [], // 添加关键词
|
|
keywordValue: [], // 添加关键词
|
|
|
keyword: [], // 热门关键词
|
|
keyword: [], // 热门关键词
|
|
|
- publicStatus: 'public', // 资源是否公开
|
|
|
|
|
|
|
+ publicStatus: '0', // 资源是否公开
|
|
|
isRecommend: 0, // 资源是否推荐
|
|
isRecommend: 0, // 资源是否推荐
|
|
|
isHot: 0 // 资源是否热门
|
|
isHot: 0 // 资源是否热门
|
|
|
})
|
|
})
|
|
|
|
|
+ const formRef = ref() // 添加表单引用
|
|
|
const collegeMajorOptions = ref([]) //院系
|
|
const collegeMajorOptions = ref([]) //院系
|
|
|
const HotKeywordsOptions = ref([]) //热门关键词列表
|
|
const HotKeywordsOptions = ref([]) //热门关键词列表
|
|
|
const majorIdName = ref([]) //院系回显
|
|
const majorIdName = ref([]) //院系回显
|
|
@@ -205,11 +294,30 @@
|
|
|
emit('close')
|
|
emit('close')
|
|
|
fileList.value = []
|
|
fileList.value = []
|
|
|
}
|
|
}
|
|
|
|
|
+ // 自定义校验函数示例
|
|
|
|
|
+ const validateKeywords = (rule, value, callback) => {
|
|
|
|
|
+ if (value.length < 2) {
|
|
|
|
|
+ callback(new Error('至少需要添加2个关键词'))
|
|
|
|
|
+ } else if (value.length > 5) {
|
|
|
|
|
+ callback(new Error('最多只能添加5个关键词'))
|
|
|
|
|
+ } else {
|
|
|
|
|
+ callback()
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
const rules = {
|
|
const rules = {
|
|
|
courseTypeName: [{ required: true, message: '请选择资源类型', trigger: 'change' }],
|
|
courseTypeName: [{ required: true, message: '请选择资源类型', trigger: 'change' }],
|
|
|
- keywordValue: [{ required: true, message: '请添加关键词', trigger: 'blur' }]
|
|
|
|
|
|
|
+ collegeId: [{ required: true, message: '请选择院系', trigger: 'blur' }],
|
|
|
|
|
+ keywordValue: [
|
|
|
|
|
+ { required: true, message: '请选择关键词', trigger: 'blur' },
|
|
|
|
|
+ { validator: validateKeywords, trigger: 'blur' }
|
|
|
|
|
+ ],
|
|
|
|
|
+ majorId: [{ required: true, message: '请选择专业', trigger: 'change' }],
|
|
|
|
|
+ courseType: [{ required: true, message: '请选择资源类型', trigger: 'change' }],
|
|
|
|
|
+ resourceDesc: [
|
|
|
|
|
+ { required: true, message: '请输入资源描述', trigger: 'blur' },
|
|
|
|
|
+ { pattern: /^[\s\S]{10,500}$/, message: '描述长度应在10-500字符之间', trigger: 'blur' }
|
|
|
|
|
+ ]
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
const newKeyword = ref('') //关键词
|
|
const newKeyword = ref('') //关键词
|
|
|
const handleAddKeyword = (e) => {
|
|
const handleAddKeyword = (e) => {
|
|
|
const newKeywords = newKeyword.value.trim()
|
|
const newKeywords = newKeyword.value.trim()
|
|
@@ -286,6 +394,7 @@
|
|
|
}
|
|
}
|
|
|
const changeCollegeMajor = (value, selectedOptions) => {
|
|
const changeCollegeMajor = (value, selectedOptions) => {
|
|
|
console.log('Selected:', value, selectedOptions)
|
|
console.log('Selected:', value, selectedOptions)
|
|
|
|
|
+ majorIdName.value = selectedOptions.map((it) => it.name).join('/')
|
|
|
formState.collegeId = value[0] || null
|
|
formState.collegeId = value[0] || null
|
|
|
formState.collegeTwoId = value[1] || null
|
|
formState.collegeTwoId = value[1] || null
|
|
|
formState.collegeThreeId = value[2] || null
|
|
formState.collegeThreeId = value[2] || null
|
|
@@ -298,53 +407,66 @@
|
|
|
// fullPath: selectedOptions.map((opt) => opt.name).join(' / ')
|
|
// fullPath: selectedOptions.map((opt) => opt.name).join(' / ')
|
|
|
// }
|
|
// }
|
|
|
console.log(lastSelected, '最后一级id')
|
|
console.log(lastSelected, '最后一级id')
|
|
|
- resourceAuditApi
|
|
|
|
|
- .zyselect({ id: lastSelected.id })
|
|
|
|
|
- .then((res) => {
|
|
|
|
|
- console.log(res.data, '专业下拉数据')
|
|
|
|
|
- majorOptions.value = res.data
|
|
|
|
|
- })
|
|
|
|
|
- .catch((err) => {
|
|
|
|
|
- console.log(err)
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ getCollegeMajor(lastSelected.id)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- // 确认上传
|
|
|
|
|
- const handleUploadOk = () => {
|
|
|
|
|
- if (!formState.userfileIds) {
|
|
|
|
|
- Modal.error({ content: '请先上传文件!' })
|
|
|
|
|
- return
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- const formData = {
|
|
|
|
|
- userfileIds: formState.userfileIds,
|
|
|
|
|
- courseTypeName: formState.courseTypeName,
|
|
|
|
|
- keywordValue: formState.keywordValue
|
|
|
|
|
- .split(',')
|
|
|
|
|
- .map((keyword) => keyword.trim())
|
|
|
|
|
- .filter((keyword) => keyword),
|
|
|
|
|
- keyword: formState.keyword,
|
|
|
|
|
- publicStatus: formState.publicStatus
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
|
|
+ const getCollegeMajor = (id) => {
|
|
|
resourceAuditApi
|
|
resourceAuditApi
|
|
|
- .add(formData)
|
|
|
|
|
|
|
+ .zyselect({ collegeId: id })
|
|
|
.then((res) => {
|
|
.then((res) => {
|
|
|
- emit('getList')
|
|
|
|
|
- Modal.success({ content: '资源上传成功' })
|
|
|
|
|
|
|
+ console.log(res.data, '专业下拉数据')
|
|
|
|
|
+ majorOptions.value = res.data
|
|
|
})
|
|
})
|
|
|
.catch((err) => {
|
|
.catch((err) => {
|
|
|
- Modal.error({ content: '资源上传失败' })
|
|
|
|
|
console.log(err)
|
|
console.log(err)
|
|
|
})
|
|
})
|
|
|
- .finally(() => {
|
|
|
|
|
- fileList.value = []
|
|
|
|
|
- formState.userfileIds = null
|
|
|
|
|
- formState.courseTypeName = ''
|
|
|
|
|
- formState.keywordValue = ''
|
|
|
|
|
- formState.hotKeywords = []
|
|
|
|
|
- formState.publicStatus = 'public'
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ // 确认上传
|
|
|
|
|
+ const handleUploadOk = async () => {
|
|
|
|
|
+ try {
|
|
|
|
|
+ await formRef.value.validate()
|
|
|
|
|
+
|
|
|
|
|
+ if (!formState.userfileIds) {
|
|
|
|
|
+ Modal.error({ content: '请先上传文件!' })
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ const formData = {
|
|
|
|
|
+ id: props.resourcesId,
|
|
|
|
|
+ userfileIds: formState.userfileIds,
|
|
|
|
|
+ courseType: formState.courseType,
|
|
|
|
|
+ collegeId: formState.collegeId,
|
|
|
|
|
+ collegeTwoId: formState.collegeTwoId,
|
|
|
|
|
+ collegeThreeId: formState.collegeThreeId,
|
|
|
|
|
+ keywordValue: formState.keywordValue.join(', '),
|
|
|
|
|
+ keyword: formState.keyword.join(', '),
|
|
|
|
|
+ resourceDesc: formState.resourceDesc,
|
|
|
|
|
+ majorId: formState.majorId,
|
|
|
|
|
+ isHot: formState.isHot,
|
|
|
|
|
+ isRecommend: formState.isRecommend,
|
|
|
|
|
+ coverImage: formState.coverImage,
|
|
|
|
|
+ publicStatus: formState.publicStatus
|
|
|
|
|
+ }
|
|
|
|
|
+ resourceAuditApi
|
|
|
|
|
+ .add(formData)
|
|
|
|
|
+ .then((res) => {
|
|
|
|
|
+ emit('getList')
|
|
|
|
|
+ Modal.success({ content: '资源上传成功' })
|
|
|
|
|
+ })
|
|
|
|
|
+ .catch((err) => {
|
|
|
|
|
+ Modal.error({ content: '资源上传失败' })
|
|
|
|
|
+ console.log(err)
|
|
|
|
|
+ })
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ if (error.errorFields) {
|
|
|
|
|
+ // 表单验证错误
|
|
|
|
|
+ Modal.error({ content: '请检查表单填写是否正确' })
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // API错误
|
|
|
|
|
+ Modal.error({ content: '资源上传失败' })
|
|
|
|
|
+ console.error(error)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
// 获取资源详情
|
|
// 获取资源详情
|
|
|
const getDetail = () => {
|
|
const getDetail = () => {
|
|
@@ -354,7 +476,8 @@
|
|
|
formState.collegeId = res.data.collegeId
|
|
formState.collegeId = res.data.collegeId
|
|
|
formState.collegeTwoId = res.data.collegeTwoId
|
|
formState.collegeTwoId = res.data.collegeTwoId
|
|
|
formState.collegeThreeId = res.data.collegeThreeId
|
|
formState.collegeThreeId = res.data.collegeThreeId
|
|
|
- majorIdName.value = [res.data.collegeId, res.data.collegeTwoId, res.data.collegeThreeId]
|
|
|
|
|
|
|
+ majorIdName.value = res.data.collegeAllId.split(',')
|
|
|
|
|
+ getCollegeMajor(majorIdName.value[majorIdName.value.length - 1])
|
|
|
formState.resourceDesc = res.data.resourceDesc
|
|
formState.resourceDesc = res.data.resourceDesc
|
|
|
formState.majorId = res.data.majorId
|
|
formState.majorId = res.data.majorId
|
|
|
})
|
|
})
|
|
@@ -461,4 +584,15 @@
|
|
|
color: #fff;
|
|
color: #fff;
|
|
|
border-color: #40a9ff;
|
|
border-color: #40a9ff;
|
|
|
}
|
|
}
|
|
|
|
|
+ .upload-area {
|
|
|
|
|
+ border: 2px dashed #3ca9f5;
|
|
|
|
|
+ padding: 40px;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+ transition: border-color 0.3s; /* 平滑过渡效果 */
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .upload-area.drag-over {
|
|
|
|
|
+ border-color: #1890ff;
|
|
|
|
|
+ background-color: rgba(24, 144, 255, 0.05);
|
|
|
|
|
+ }
|
|
|
</style>
|
|
</style>
|