-- 附件

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)
function init() {
if (props.value && props.value !== files.value.map(e => e.url).join(',')) {
files.value = props.value.split(',').map(e => ({name: e, url: e}))
if (props.value !== files.value.map(e => e.url).join(',')) {
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>
</div>
<div class="item_inp">
<a-upload
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>
<FJUpload v-model:value="attach"></FJUpload>
</div>
</div>
</div>
@@ -415,17 +370,20 @@ import * as api1 from "../../api/index1";
import "@wangeditor/editor/dist/css/style.css";
import {Editor, Toolbar} from "@wangeditor/editor-for-vue";
import ProjectManager from "@/components/project/ProjectManagerNew";
import FJUpload from "@/components/common/FJUpload";
import * as moment from "moment";
export default defineComponent({
components: {
Editor,
Toolbar,
FJUpload,
ProjectManager,
},
setup(props, {expose, emit}) {
const state = reactive({
hideshow: true,
attach: '',
ft_hs: false,
addLoading: false,
statusJuJue: 0,
@@ -484,6 +442,7 @@ export default defineComponent({
state.tags_val = [];
state.qdms_inputV6 = "";
state.imgList = [];
state.attach = '';
valueHtml.value = "";
};
@@ -534,45 +493,6 @@ export default defineComponent({
});
// 富文本 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 options2 = ref([]);
@@ -672,7 +592,7 @@ export default defineComponent({
teacherId: state.member.value,
teacher: state.member.name,
intro: state.qdms_inputV6,
attach: files,
attach: state.attach,
outline: valueHtml.value,
};
console.log("postData");
@@ -729,20 +649,8 @@ export default defineComponent({
state.tags_val = item.tips ? item.tips.split(",") : [];
state.qdms_inputV6 = item.intro;
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;
state.attach = item.attach;
state.ft_hs = true;
};
@@ -794,12 +702,9 @@ export default defineComponent({
handleTagChange,
handleTagClose,
handleCreated,
beforeUpload2,
handleDel,
handlePush,
submitReview,
reviewClick,
editorRef,
valueHtml,
mode: "simple", // 或 'simple'