feat:修改共享文档下载

This commit is contained in:
lixg
2023-03-03 11:54:08 +08:00
parent 41b448abf2
commit 49fa5ae375
3 changed files with 551 additions and 478 deletions

View File

@@ -2790,7 +2790,12 @@ export default {
let urlNew = url.slice(1);
console.log(urlNew);
if (urlNew) {
window.open(process.env.VUE_APP_FILE_PATH + urlNew);
window.open(
window.location.protocol +
process.env.VUE_APP_BOE_API_URL +
process.env.VUE_APP_FILE_PATH +
urlNew
);
}
// if(url){
// const filename = '操作指南'

View File

@@ -34,14 +34,12 @@
</div>
</div>
<div class="line"></div> -->
<router-link to="/templatelibrary"
>
<router-link to="/templatelibrary">
<div style="display: flex">
<img class="img2" src="../../assets/images/leveladd/back.png" />
<div class="return">返回</div>
</div>
</router-link
>
</router-link>
</div>
</div>
<div class="split"></div>
@@ -60,7 +58,10 @@
<!-- <button class="btn" @click="showFaceIn">批量面授报名</button> -->
<router-link
class="edit"
:to="{ path: `/temTask`, query: { projectId: projectTemplateId } }"
:to="{
path: `/temTask`,
query: { projectId: projectTemplateId },
}"
>
<img
class="editimg"
@@ -422,84 +423,51 @@
><span>积分</span>
</div>
<div class="content">
<span>完成作业成绩不低于 </span
>
<span>完成作业成绩不低于 </span>
<a-input v-model:value="done2" :bordered="false" />
<span
>分获得</span
>
<span>分获得</span>
<a-input v-model:value="done3" :bordered="false" />
<span
>积分</span
>
<span>积分</span>
</div>
<div class="content">
<span></span
>
<span></span>
<a-input v-model:value="four1" :bordered="false" />
<span
>名学完在线课程获得</span
>
<span>名学完在线课程获得</span>
<a-input v-model:value="four2" :bordered="false" />
<span
style="margin-right: 50px"
>积分</span
>
<span></span
>
<span style="margin-right: 50px">积分</span>
<span></span>
<a-input v-model:value="four3" :bordered="false" />
<span
>名提交作业且成绩不低于</span
>
<span>名提交作业且成绩不低于</span>
<a-input v-model:value="four4" :bordered="false" />
<span
>分获得</span
>
<span>分获得</span>
<a-input v-model:value="four5" :bordered="false" />
<span
>积分</span
>
<span>积分</span>
</div>
<div class="content">
<span>考试成绩高于</span
>
<span>考试成绩高于</span>
<a-input v-model:value="five1" :bordered="false" />
<span
>分获得</span
>
<span>分获得</span>
<a-input v-model:value="five2" :bordered="false" />
<span
>积分</span
>
<span>积分</span>
</div>
<div class="content">
<span>考勤正常学员获得 </span
>
<span>考勤正常学员获得 </span>
<a-input v-model:value="six1" :bordered="false" />
<span
>积分</span
>
<span>积分</span>
</div>
<div class="content">
<span>成为小组长获得</span
>
<span>成为小组长获得</span>
<a-input v-model:value="seven1" :bordered="false" />
<span
style="margin-right: 50px"
>积分</span
>
<span style="margin-right: 50px">积分</span>
<span>优秀学员可获得</span>
<a-input v-model:value="seven2" :bordered="false" />
<span
>积分</span
>
<span>积分</span>
</div>
</div>
</div>
</div>
</a-tab-pane>
<a-tab-pane key="4" tab="设置">
<div class="split"></div>
<a-tabs>
@@ -556,26 +524,35 @@
<div class="setc_name"><span>资源归属</span></div>
<div class="setc_main">
<span style="color: #999999">{{
(projectInfo.sourceBelongFullName || '') + projectInfo.sourceBelongName
(projectInfo.sourceBelongFullName || "") +
projectInfo.sourceBelongName
}}</span>
</div>
</div>
<div class="set_content">
<div class="setc_name"><span>项目级别</span></div>
<div class="setc_main">
<ProjectLevel :value="projectInfo.level" :tag="true"></ProjectLevel>
<ProjectLevel
:value="projectInfo.level"
:tag="true"
></ProjectLevel>
</div>
</div>
<div class="set_content">
<div class="setc_name"><span>培训体系</span></div>
<div class="setc_main">
<TrainClass :value="projectInfo.systemId" :tag="true"></TrainClass>
<TrainClass
:value="projectInfo.systemId"
:tag="true"
></TrainClass>
</div>
</div>
<div class="set_content">
<div class="setc_name"><span>同步学习记录</span></div>
<div class="setc_main">
<a-radio v-model:checked="projectInfo.courseSyncFlag" :disabled="true"
<a-radio
v-model:checked="projectInfo.courseSyncFlag"
:disabled="true"
><span style="color: #333333"
>同步课程学习记录如学员在课程库中拥有课程的学习记录自动免修该课程</span
></a-radio
@@ -585,7 +562,9 @@
<div class="set_content">
<div class="setc_name"><span>是否BOEU实施</span></div>
<div class="setc_main">
<a-radio v-model:checked="projectInfo.boeFlag" :disabled="true"
<a-radio
v-model:checked="projectInfo.boeFlag"
:disabled="true"
><span style="color: #333333">BOEU实施</span></a-radio
>
</div>
@@ -633,7 +612,13 @@
>
<img
src="@/assets/images/basicinfo/cloud.png"
style="cursor: pointer; width: 24px; height: 24px; margin-left: 8px;margin-bottom: 3px;"
style="
cursor: pointer;
width: 24px;
height: 24px;
margin-left: 8px;
margin-bottom: 3px;
"
alt=""
/>
</a-upload>
@@ -649,7 +634,7 @@
<div
v-for="item in fileList"
:key="item.uid"
style="margin-bottom: 30px;"
style="margin-bottom: 30px"
class="docListStyle"
>
<!-- <img
@@ -662,35 +647,74 @@
"
alt=""
/> -->
<img v-if="
<img
v-if="
item.name.indexOf('jpg') !== -1 ||
item.name.indexOf('jpeg') !== -1 ||
item.name.indexOf('png') !== -1
"
style="width: 27px;height: 32px;margin-right: 40px;"
src="@/assets/images/coursewareManage/pngpic.png"/>
style="width: 27px; height: 32px; margin-right: 40px"
src="@/assets/images/coursewareManage/pngpic.png"
/>
<div v-else>
<img v-if="item.name.indexOf('doc') !== -1"
style="width: 27px;height: 32px;margin-right: 40px;"
src="@/assets/images/coursewareManage/docpic.png"/>
<img
v-if="item.name.indexOf('doc') !== -1"
style="
width: 27px;
height: 32px;
margin-right: 40px;
"
src="@/assets/images/coursewareManage/docpic.png"
/>
<div v-else>
<img v-if="item.name.indexOf('xls') !== -1"
style="width: 27px;height: 32px;margin-right: 40px;"
src="@/assets/images/coursewareManage/xlspic.png"/>
<img
v-if="item.name.indexOf('xls') !== -1"
style="
width: 27px;
height: 32px;
margin-right: 40px;
"
src="@/assets/images/coursewareManage/xlspic.png"
/>
<div v-else>
<img v-if="item.name.indexOf('ppt') !== -1"
style="width: 27px;height: 32px;margin-right: 40px;"
src="@/assets/images/coursewareManage/pptpic.png"/>
<img
v-if="item.name.indexOf('ppt') !== -1"
style="
width: 27px;
height: 32px;
margin-right: 40px;
"
src="@/assets/images/coursewareManage/pptpic.png"
/>
<div v-else>
<img v-if="item.name.indexOf('pdf') !== -1"
style="width: 27px;height: 32px;margin-right: 40px;"
src="@/assets/images/coursewareManage/pdfpic.png"/>
<img
v-if="item.name.indexOf('pdf') !== -1"
style="
width: 27px;
height: 32px;
margin-right: 40px;
"
src="@/assets/images/coursewareManage/pdfpic.png"
/>
<div v-else>
<img v-if="item.name.indexOf('zip') !== -1"
style="width: 27px;height: 32px;margin-right: 40px;"
src="@/assets/images/coursewareManage/zippic.png"/>
<img v-else style="width: 27px;height: 32px;margin-right: 40px;"
src="@/assets/images/coursewareManage/docpic.png"/>
<img
v-if="item.name.indexOf('zip') !== -1"
style="
width: 27px;
height: 32px;
margin-right: 40px;
"
src="@/assets/images/coursewareManage/zippic.png"
/>
<img
v-else
style="
width: 27px;
height: 32px;
margin-right: 40px;
"
src="@/assets/images/coursewareManage/docpic.png"
/>
</div>
</div>
</div>
@@ -698,13 +722,26 @@
</div>
<span
style="font: oblique bold 16px Sans-serif;width:300px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;">{{
item.name
}}</span>
style="
font: oblique bold 16px Sans-serif;
width: 300px;
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
"
>{{ item.name }}</span
>
<a
href="javascript:void(0);"
@click="downloadFile(item.response ? item.response.data : '')"
style="margin-left: 5px">下载</a>
@click="
downloadFile(
item.response ? item.response.data : ''
)
"
style="margin-left: 5px"
>下载</a
>
<span
style="color: #4ea6ff; cursor: pointer"
@click="deFile(item.uid)"
@@ -716,8 +753,6 @@
</div>
</div>
</a-tab-pane>
</a-tabs>
</a-tab-pane>
</a-tabs>
@@ -756,8 +791,7 @@
</div>
</div>
</div>
</a-modal
>
</a-modal>
</div>
</div>
</template>
@@ -944,7 +978,9 @@ export default defineComponent({
const value = ref("");
const textnum = "150";
const routered = useRouter();
const {query: {projectTemplateId}} = useRoute();
const {
query: { projectTemplateId },
} = useRoute();
const changeopclo = () => {
state.projectInfo.noticeFlag = state.checked ? 1 : 0;
api
@@ -1017,7 +1053,7 @@ export default defineComponent({
// 获取详情
const getDetail = () => {
api.templateEditDetail(projectTemplateId).then((res) => {
state.templateInfo = res.data.data
state.templateInfo = res.data.data;
state.taskSyllabus = [];
state.projectInfo = res.data.data.projectTemplateInfo;
state.noticeContent = state.projectInfo.notice;
@@ -1027,13 +1063,12 @@ export default defineComponent({
res.data.data.projectTemplateInfo
);
try {
state.fileList = JSON.parse(
res.data.data.projectTemplateInfo.attach
);
state.fileList = JSON.parse(res.data.data.projectTemplateInfo.attach);
} catch {
state.fileList = [];
}
state.attachSwitch = res.data.data.projectTemplateInfo.attachSwitch == 1;
state.attachSwitch =
res.data.data.projectTemplateInfo.attachSwitch == 1;
let data = res.data.data.stageList;
console.log("data=====", data);
for (let i in data) {
@@ -1060,7 +1095,7 @@ export default defineComponent({
});
}
}
})
});
};
// 发布公告
@@ -1148,7 +1183,7 @@ export default defineComponent({
projectTaskId: 0,
projectTemplateId: localStorage.getItem("projectTemplateId"),
stageId: 0,
type: 0
type: 0,
};
api
.editTask(obj)
@@ -1169,7 +1204,15 @@ export default defineComponent({
let result = res.data.data;
//Write operation failed: computed value is readonly 总积分
state.scoresum = Number(result[0].pointsCount) + Number(result[1].pointsCount) + Number(result[2].pointsCount) + Number(result[3].pointsCount) + Number(result[4].pointsCount) + Number(result[5].pointsCount) + Number(result[6].pointsCount) + Number(result[7].pointsCount)
state.scoresum =
Number(result[0].pointsCount) +
Number(result[1].pointsCount) +
Number(result[2].pointsCount) +
Number(result[3].pointsCount) +
Number(result[4].pointsCount) +
Number(result[5].pointsCount) +
Number(result[6].pointsCount) +
Number(result[7].pointsCount);
state.score1 = result[0].pointsCount;
@@ -1179,8 +1222,13 @@ export default defineComponent({
state.four1 = result[2].typeDescConfig;
state.four2 = result[2].pointsCount;
state.four3 = result[3].typeDescConfig.slice(0,result[3].typeDescConfig.indexOf(';'));
state.four4 = result[3].typeDescConfig.slice(result[3].typeDescConfig.indexOf(';')+1);
state.four3 = result[3].typeDescConfig.slice(
0,
result[3].typeDescConfig.indexOf(";")
);
state.four4 = result[3].typeDescConfig.slice(
result[3].typeDescConfig.indexOf(";") + 1
);
state.four5 = result[3].pointsCount;
state.five1 = result[4].typeDescConfig;
@@ -1191,7 +1239,6 @@ export default defineComponent({
state.seven1 = result[6].pointsCount;
state.seven2 = result[7].pointsCount;
})
.catch((err) => {
console.log("获取项目积分规则失败了", err);
@@ -1276,16 +1323,16 @@ export default defineComponent({
attach: str,
})
.then((res) => {
console.log(res)
console.log(res);
message.destroy();
message.success("删除成功");
return
return;
})
.catch((err) => {
console.log(err)
console.log(err);
message.destroy();
message.warning("删除失败");
return
return;
});
};
@@ -1293,7 +1340,9 @@ export default defineComponent({
const checkedClose = (data, a) => {
console.log(data, a);
console.log("模板id" + projectTemplateId);
console.log("开关数据:" + JSON.stringify(data) + "====" + JSON.stringify(a))
console.log(
"开关数据:" + JSON.stringify(data) + "====" + JSON.stringify(a)
);
state.attachSwitch = data;
// 更新开关状态
@@ -1317,54 +1366,54 @@ export default defineComponent({
projectId: projectTemplateId,
datas: [
{
"type": 1,
"pointsCount": Number(state.score1),
"typeDesc": "完成【必修/选修】获得%p积分",
"typeDescConfig": ""
type: 1,
pointsCount: Number(state.score1),
typeDesc: "完成【必修/选修】获得%p积分",
typeDescConfig: "",
},
{
"type": 2,
"pointsCount": Number(state.done3),
"typeDesc": "完成作业成绩不低于%d分获得%p积分",
"typeDescConfig": state.done2
type: 2,
pointsCount: Number(state.done3),
typeDesc: "完成作业成绩不低于%d分获得%p积分",
typeDescConfig: state.done2,
},
{
"type": 3,
"pointsCount": Number(state.four2),
"typeDesc": "前%d名学完在线课程获得%p积分",
"typeDescConfig": state.four1
type: 3,
pointsCount: Number(state.four2),
typeDesc: "前%d名学完在线课程获得%p积分",
typeDescConfig: state.four1,
},
{
"type": 4,
"pointsCount": Number(state.four5),
"typeDesc": "前%d名提交作业且成绩不低于%d分获得%p积分",
"typeDescConfig": state.four3 + ';' + state.four4
type: 4,
pointsCount: Number(state.four5),
typeDesc: "前%d名提交作业且成绩不低于%d分获得%p积分",
typeDescConfig: state.four3 + ";" + state.four4,
},
{
"type": 5,
"pointsCount": Number(state.five2),
"typeDesc": "考试成绩高于%d分获得%p积分",
"typeDescConfig": state.five1
type: 5,
pointsCount: Number(state.five2),
typeDesc: "考试成绩高于%d分获得%p积分",
typeDescConfig: state.five1,
},
{
"type": 6,
"pointsCount": Number(state.six1),
"typeDesc": "考勤正常学员获得%p积分",
"typeDescConfig": ""
type: 6,
pointsCount: Number(state.six1),
typeDesc: "考勤正常学员获得%p积分",
typeDescConfig: "",
},
{
"type": 7,
"pointsCount": Number(state.seven1),
"typeDesc": "成为小组长获得%p积分",
"typeDescConfig": ""
type: 7,
pointsCount: Number(state.seven1),
typeDesc: "成为小组长获得%p积分",
typeDescConfig: "",
},
{
"type": 8,
"pointsCount": Number(state.seven2),
"typeDesc": "优秀学员可获得%p积分",
"typeDescConfig": ""
}
]
type: 8,
pointsCount: Number(state.seven2),
typeDesc: "优秀学员可获得%p积分",
typeDescConfig: "",
},
],
};
console.log(obj);
setScoreRule(obj)
@@ -1387,11 +1436,20 @@ export default defineComponent({
// 共享文档文件下载
const downloadFile = (url) => {
console.log(url)
if (url) {
window.open(url)
console.log(url);
let urlNew = url.slice(1);
if (urlNew) {
window.open(
window.location.protocol +
process.env.VUE_APP_BOE_API_URL +
process.env.VUE_APP_FILE_PATH +
urlNew
);
}
// if (url) {
// window.open(url)
// }
// if(url){
// const filename = '操作指南'
// const x = new XMLHttpRequest()
// x.open('GET', url, true)
@@ -1406,7 +1464,7 @@ export default defineComponent({
// }
// x.send()
// }
}
};
return {
...toRefs(state),
@@ -1431,7 +1489,7 @@ export default defineComponent({
checkedClose,
editNotice,
deFile,
downloadFile
downloadFile,
};
},
});

View File

@@ -4678,7 +4678,17 @@ export default {
}
// 共享文档文件下载
const downloadFile = (url) => {
url && window.open(url);
console.log(url);
let urlNew = url.slice(1);
if (urlNew) {
window.open(
window.location.protocol +
process.env.VUE_APP_BOE_API_URL +
process.env.VUE_APP_FILE_PATH +
urlNew
);
}
// url && window.open(url);
};
function stageChange(item, index) {
state.choosedStageName = item.name;