-- 附件

This commit is contained in:
yuping
2022-12-08 00:53:10 +08:00
parent 806cb101b9
commit 90304e4e01
2 changed files with 155 additions and 250 deletions

View File

@@ -88,8 +88,8 @@ watch(files, () => {
watch(props, init) watch(props, init)
function init() { function init() {
if (props.value && props.value !== files.value.map(e => e.url).join(',')) { if (props.value !== files.value.map(e => e.url).join(',')) {
files.value = props.value.split(',').map(e => ({name: e, url: e})) files.value = props.value ? props.value.split(',').map(e => ({name: e, url: e})) : []
} }
} }

View File

@@ -310,52 +310,7 @@
<span style="margin-right: 10px">附件</span> <span style="margin-right: 10px">附件</span>
</div> </div>
<div class="item_inp"> <div class="item_inp">
<a-upload <FJUpload v-model:value="attach"></FJUpload>
multiple
:show-upload-list="false"
:before-upload="beforeUpload2"
>
<div class="accessory" style="cursor: pointer">
<div class="accessory_icon">
<img
src="@/assets/images/coursewareManage/enclosure.png"
alt="enclosure"
/>
</div>
<span style="color: #4ea6ff">添加附件</span>
</div>
</a-upload>
<span>
支持.pdf,.ppt,.pptx,.doc,.docx,.xls,.xlsx,.jpg,.jpeg,.png,.gif,.zip
</span>
</div>
</div>
<div class="mbl_items12">
<div
class="i12_box1"
v-for="(item, index) in imgList"
:key="index"
>
<div class="file_img"></div>
<div class="file_detail">
<div class="file_updata">
<div class="updatabox">
<div class="updatacolor"></div>
<div class="updataxq">上传完成</div>
</div>
<div class="upjd">
<span style="margin: auto 5px">100%</span>
</div>
</div>
<!-- 条件渲染 e -->
</div>
<div class="file_operation">
<div class="fobox">
<span style="color: #4ea6ff" @click="handleDel(index)">
删除
</span>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -415,17 +370,20 @@ import * as api1 from "../../api/index1";
import "@wangeditor/editor/dist/css/style.css"; import "@wangeditor/editor/dist/css/style.css";
import {Editor, Toolbar} from "@wangeditor/editor-for-vue"; import {Editor, Toolbar} from "@wangeditor/editor-for-vue";
import ProjectManager from "@/components/project/ProjectManagerNew"; import ProjectManager from "@/components/project/ProjectManagerNew";
import FJUpload from "@/components/common/FJUpload";
import * as moment from "moment"; import * as moment from "moment";
export default defineComponent({ export default defineComponent({
components: { components: {
Editor, Editor,
Toolbar, Toolbar,
FJUpload,
ProjectManager, ProjectManager,
}, },
setup(props, {expose, emit}) { setup(props, {expose, emit}) {
const state = reactive({ const state = reactive({
hideshow: true, hideshow: true,
attach: '',
ft_hs: false, ft_hs: false,
addLoading: false, addLoading: false,
statusJuJue: 0, statusJuJue: 0,
@@ -484,6 +442,7 @@ export default defineComponent({
state.tags_val = []; state.tags_val = [];
state.qdms_inputV6 = ""; state.qdms_inputV6 = "";
state.imgList = []; state.imgList = [];
state.attach = '';
valueHtml.value = ""; valueHtml.value = "";
}; };
@@ -534,45 +493,6 @@ export default defineComponent({
}); });
// 富文本 eeeeeeeeeeeeee // 富文本 eeeeeeeeeeeeee
const beforeUpload2 = (file) => {
const fileType = [
"jpg",
"jpeg",
"png",
"gif",
"pdf",
"ppt",
"pptx",
"doc",
"docx",
"xls",
"xlsx",
"zip",
];
if (!fileType.includes(file.name.split(".")[1])) {
message.error(
"仅支持.pdf,.ppt,.pptx,.doc,.docx,.xls,.xlsx,.jpg,.jpeg,.png,.gif,.zip格式!"
);
return false;
}
const formData = new FormData();
formData.append("file", file);
fileUp(formData).then((res) => {
if (res.data.code === 200) {
state.imgList.push({
img: res.data.data,
name: file.name,
size: file.size,
});
}
});
return false;
};
const handleDel = (index) => {
state.imgList.splice(index, 1);
};
//获取分类、场景、封面图、-----------字典配置------------------------------- //获取分类、场景、封面图、-----------字典配置-------------------------------
const optionsUrl = ref([]); const optionsUrl = ref([]);
const options2 = ref([]); const options2 = ref([]);
@@ -672,7 +592,7 @@ export default defineComponent({
teacherId: state.member.value, teacherId: state.member.value,
teacher: state.member.name, teacher: state.member.name,
intro: state.qdms_inputV6, intro: state.qdms_inputV6,
attach: files, attach: state.attach,
outline: valueHtml.value, outline: valueHtml.value,
}; };
console.log("postData"); console.log("postData");
@@ -729,20 +649,8 @@ export default defineComponent({
state.tags_val = item.tips ? item.tips.split(",") : []; state.tags_val = item.tips ? item.tips.split(",") : [];
state.qdms_inputV6 = item.intro; state.qdms_inputV6 = item.intro;
state.member = {value: item.teacherId, name: item.teacher}; state.member = {value: item.teacherId, name: item.teacher};
if (item.attach === "") {
state.imgList = [];
} else {
if (item.attach.indexOf(",")) {
const arr = item.attach.split(",");
arr.forEach((item) => {
state.imgList.push({ img: item });
});
} else {
state.imgList = [{ img: item.attach }];
}
}
valueHtml.value = item.outline; valueHtml.value = item.outline;
state.attach = item.attach;
state.ft_hs = true; state.ft_hs = true;
}; };
@@ -794,12 +702,9 @@ export default defineComponent({
handleTagChange, handleTagChange,
handleTagClose, handleTagClose,
handleCreated, handleCreated,
beforeUpload2,
handleDel,
handlePush, handlePush,
submitReview, submitReview,
reviewClick, reviewClick,
editorRef, editorRef,
valueHtml, valueHtml,
mode: "simple", // 或 'simple' mode: "simple", // 或 'simple'