feat:合并

This commit is contained in:
李晓鸽
2022-11-02 19:50:10 +08:00
18 changed files with 6365 additions and 4992 deletions

View File

@@ -37,11 +37,8 @@ import http from "./config";
// 接口-请求
// 创建编辑单层项目
// 创建编辑单层项目type=3/ 多层项目type=1/ 多层子项目type=2
export const createProject = (obj) => http.post('/admin/project/edit', obj)
// 创建多层项目
export const createStoreyProject = (obj) => http.post('/admin/project/edit', obj)
// 获取项目列表
export const getProjectList = (obj) => http.post('/admin/project/list', obj)

View File

@@ -10,4 +10,4 @@ export const getDiscussDetail = (obj) => http.post('/discuss/getDiscussDetail',
export const deleteDiscuss = (obj) => http.post('/discuss/deleteDiscuss', { params: obj });
//修改讨论接口
export const updateDiscuss = (obj) => http.post('/discuss/updateDiscuss', { params: obj });
export const updateDiscuss = (obj) => http.post('/discuss/updateDiscuss', obj );

View File

@@ -1,5 +1,5 @@
import http from "./config";
// import qs from 'qs';
import qs from 'qs';
/**
@@ -33,15 +33,19 @@ import http from "./config";
* axios.post(`${this.$url}/test/testRequest`,data).then()
*
*/
// , {
// header: {
// 'token': '123',
// }
// }
// 接口-请求
//创建测评
export const createEvaluation = (obj) => http.post('/evaluation/createEvaluation', obj,);
export const createEvaluation = (obj) => http.post('/evaluation/createEvaluation', obj);
//上传组件
export const fileUp = (obj) => http.post('/file/upload', obj,);
export const fileUp = (obj) => http.post('/file/upload', obj, qs.stringify({ obj }));
//删除测评信息
export const deleteEvaluationById = (obj) => http.post('/evaluation/deleteEvaluationById', { params: obj })

View File

@@ -1,19 +1,39 @@
import http from "./config";
//创建外链接口
export const createExternalChain = (obj) => http.post('/link/createLinks', obj)
export const createExternalChain = (obj) => http.post('/link/createLinks', obj, {
headers: {
'token': '123'
}
})
//外链信息删除接口
export const deleteLink = (obj) => http.post('/link/deleteLink', { params: obj })
export const deleteLink = (obj) => http.post('/link/deleteLink', { params: obj }, {
headers: {
'token': '123'
}
})
//获取外链详细信息接口
export const getLink = (obj) => http.post('/link/getOne', { params: obj })
// 更新外链数据
export const updateLinks = (obj) => http.post('/link/updateLinks', obj)
export const updateLinks = (obj) => http.post('/link/updateLinks', obj, {
headers: {
'token': '123'
}
})
//修改为必修的接口
export const updateToCompulsory = (obj) => http.post('/link/updateToCompulsory', { params: obj })
export const updateToCompulsory = (obj) => http.post('/link/updateToCompulsory', { params: obj }, {
headers: {
'token': '123'
}
})
//修改为选修的接口
export const updateToElective = (obj) => http.post('/link/updateToElective', { params: obj })
export const updateToElective = (obj) => http.post('/link/updateToElective', { params: obj }, {
headers: {
'token': '123'
}
})

View File

@@ -1,8 +1,14 @@
import http from "./config";
//新建或编辑关卡
//新建关卡
export const editChapter = (obj) => http.post('/admin/router/editChapter', obj, {
headers: {
'token': '123'
}
});
//编辑关卡
export const updateChapter = (obj) => http.post('/admin/router/editChapter', obj, {
headers: {
'token': '123'
}
});

View File

@@ -4,10 +4,22 @@ import http from "./config";
export const getLiveBroadcastInfor = (obj) => http.get('/liveBroadcast', { params: obj })
//创建直播接口
export const createLiveBroadcast = (obj) => http.post('/liveBroadcast/createLiveBroadcast', obj)
export const createLiveBroadcast = (obj) => http.post('/liveBroadcast/createLiveBroadcast', obj, {
headers: {
'token': '123'
}
})
//直播信息删除接口
export const deleteLiveBroadcast = (obj) => http.post('/liveBroadcast/deleteLiveBroadcast', obj)
export const deleteLiveBroadcast = (obj) => http.post('/liveBroadcast/deleteLiveBroadcast', obj, {
headers: {
'token': '123'
}
})
//直播信息修改接口
export const updateLiveBroadcastMessage = (obj) => http.post('/liveBroadcast/updateLiveBroadcastMessage', obj)
export const updateLiveBroadcastMessage = (obj) => http.post('/liveBroadcast/updateLiveBroadcastMessage', obj, {
headers: {
'token': '123'
}
})

View File

@@ -0,0 +1,75 @@
import http from "./config";
import qs from 'qs';
/**
* 接口传参数方式get
* axios.get('/user', {
* params: {
* id: 12345
* name: user
* }
* }).then(res => console.log(res))
*
* 接口传参三种方式post/put/patch
*
* 1.'Content-Type'= 'multipart/form-data',传参格式为 formData。
* (全局请求头:'Content-Type'= 'application/x-www-form-urlencoded'
* request的Header:'Content-Type'= 'multipart/form-data'
* var formData=new FormData();
* formData.append('user',123456);formData.append('pass',12345678);
* axios.post("/notice",formData).then()
*
* 2.'Content-Type'= 'application/x-www-form-urlencoded',传参格式为 query 形式,使用$qs.stringify。
* (全局请求头:'Content-Type'= 'application/x-www-form-urlencoded'
* request的Header:'Content-Type'= 'application/x-www-form-urlencoded'
* let data = {"code":"1234","name":"yyyy"};
* axios.post(`${this.$url}/test/testRequest`,qs.stringify({data})).then()
*
* 3.'Content-Type'= 'application/json传参格式为 raw (JSON格式)。
* (全局请求头:'Content-Type'= 'application/x-www-form-urlencoded'
* request的Header:'Content-Type'= 'application/json;charset=UTF-8'
* let data = {"code":"1234","name":"yyyy"}
* axios.post(`${this.$url}/test/testRequest`,data).then()
*
*/
// , {
// header: {
// 'token': '123',
// }
// }
// 接口-请求
//基础票数上传接口
// export const baseVoteupload = (obj) => http.post('/vote/baseVoteupload', obj)
//创建题干信息接口
export const createOptionMessage = (obj) => http.post('/vote/createOptionMessage', obj)
//投票信息创建接口
export const createVote = (obj) => http.post('/vote/createVote', obj)
//删除投票信息
export const deleteVoteMessage = (obj) => http.post('/vote/deleteVoteMessage', { params: obj })
//修改投票信息接口
export const editVote = (obj) => http.post('/vote/editVote', obj)
//根据题干ID获取题干信息
export const queryStemByStemId = (obj) => http.post('/vote/queryStemByStemId', { params: obj })
//修改题干信息接口
export const updateStemMessage = (obj) => http.post('/vote/updateStemMessage', obj);
//上传组件
export const fileUp = (obj) => http.post('/file/upload', obj, qs.stringify({ obj }));
// 测试方法
// import * as api from '../../api/index'
// api.getLearnPath({}).then(res => {
// console.log(res)
// }).catch(err => {
// console.log(err)
// })

View File

@@ -71,6 +71,12 @@
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">活动时间</span>
</div>
<div class="btnbox">
@@ -284,8 +290,9 @@ export default {
//创建活动
const createActivity = () => {
if(!state.inputV1) return message.warning("请输入活动名称");
if(!state.inputV2) return message.warning("请输入活动时长");
if(!state.textV1) return message.warning("请输入活动公告");
if(!state.time) return message.warning("请输入活动时间");
if(!state.inputV2) return message.warning("请输入活动时长");
if(!state.inputV3) return message.warning("请输入活动地址");
let startTime = toDate(new Date(state.time[0].$d).getTime() / 1000, "Y-M-D");
let endTime = toDate(new Date(state.time[1].$d).getTime() / 1000, "Y-M-D");

View File

@@ -120,8 +120,8 @@ export default {
},
setup(props, ctx) {
const state = reactive({
inputV1: "",
inputV2: "",
inputV1: '',
inputV2: '',
time: undefined,
endTimes : "",
startTimes: "",
@@ -230,7 +230,7 @@ export default {
evaluationEndTime: state.endTimes,
evaluationFlag: "",
evaluationId: "",
evaluationPictureAddress: state.picUrl,
evaluationPictureAddress: "",
evaluationStartTime: state.startTimes,
evaluationTag: "",
evaluationTypeId: 0,

View File

@@ -18,70 +18,79 @@
</div>
<div class="contentMain">
<div class="box" @click="showDrawerCreVote">
<button class="cjtpbtn">创建</button>
<button class="cjtpbtn" @click="addQue()">创建题</button>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
<div class="queBox" v-for="(q, index) in questions" :key="index">
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">题干</span>
</div>
<span style="margin-right: 3px">题干</span>
</div>
<div class="btnbox">
<a-input
v-model:value="inputV1"
style="width: 424px; height: 32px"
placeholder="请输入题干"
/>
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
<div class="btnbox">
<a-input
v-model:value="q.inputV"
style="width: 424px; height: 32px"
placeholder="请输入题干"
/>
</div>
<span style="margin-right: 3px">选项1</span>
</div>
<div class="btnbox">
<a-input
v-model:value="inputV2"
style="width: 424px; height: 32px"
/>
<a-button type="link">+ 上传图片</a-button>
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img src="@/assets/images/coursewareManage/asterisk.png" alt="" />
<div class="option" v-for="(o, index) in q.options" :key="index">
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">{{ o.title }}</span>
</div>
<div class="btnbox">
<a-input
v-model:value="o.opvalue"
style="width: 424px; height: 32px"
/>
<a-button v-if="o.opvalue == ''" type="link"
>+ 上传图片</a-button
>
<a-button v-else type="link">删除</a-button>
</div>
</div>
<span style="margin-right: 3px">选项2</span>
</div>
<div class="btnbox">
<a-input
v-model:value="inputV3"
style="width: 424px; height: 32px"
/>
<a-button type="link">+ 上传图片</a-button>
<a-button type="link">删除</a-button>
</div>
</div>
<div class="main_item">
<div class="signbox"></div>
<div class="btnbox">
<div class="tjxxbtn"><div class="btntext">添加选项</div></div>
<div class="main_item">
<div class="signbox"></div>
<div class="btnbox" @click="addOpt(q.options)">
<div class="tjxxbtn"><div class="btntext">添加选项</div></div>
</div>
</div>
</div>
</div>
<div class="main_btns">
<button class="btn1">取消</button>
<button class="btn2">确定</button>
<button
class="btn2"
onclick="{()=> {
createVoteText()
}}"
>
确定
</button>
</div>
</div>
</a-drawer>
</template>
<script>
import { reactive, toRefs, ref } from "vue";
import { useRouter } from "vue-router";
import * as api from "../../api/indexVote";
import { message } from "ant-design-vue";
import { toDate } from "../../api/method";
const router = useRouter();
const rowSelection = ref({
checkStrictly: false,
onChange: (selectedRowKeys, selectedRows) => {
@@ -113,18 +122,109 @@ export default {
inputV1: "",
inputV2: "",
inputV3: "",
time: undefined,
endTimes: "",
startTimes: "",
questions: [
{
inputV: "",
options: [
{
title: "选项1",
opvalue: "",
},
{
title: "选项2",
opvalue: "",
},
],
},
],
});
const addQue = () => {
state.questions.push({
inputV: "",
options: [
{
title: "选项1",
opvalue: "",
},
{
title: "选项2",
opvalue: "",
},
],
});
};
const addOpt = (value) => {
console.log(value);
value.push({
title: "选项" + (value.length + 1 * 1),
opvalue: "",
});
};
const closeDrawer = () => {
ctx.emit("update:crevoteVisible", false);
};
const afterVisibleChange = (bool) => {
console.log("state", bool);
};
//创建投票信息
const createVoteText = () => {
if (!state.inputV1) return message.info("请输入投票名称");
if (state.time != undefined) {
state.endTimes = toDate(
new Date(state.time[0].$d).getTime() / 1000,
"Y-M-D"
);
state.startTimes = toDate(
new Date(state.time[1].$d).getTime() / 1000,
"Y-M-D"
);
}
let obj = {
baseVote: "",
createTime: "",
createUser: 0,
stem: "",
stemId: 0,
updateTime: "",
updateUser: 0,
voteEndTime: state.endTimes,
voteExplain: "",
voteFlag: "",
voteId: 0,
voteName: state.inputV1,
voteStartTime: state.startTimes,
voteTag: "",
};
api
.createVote(obj)
.then((res) => {
setTimeout(() => {
console.log("创建成功", res);
message.success("创建成功");
// state.createLoading = false;
router.push("/leveladd");
// getLearnPath();
}, 1000);
})
.catch((err) => {
console.log("创建失败", err);
// state.createLoading = false;
});
};
return {
...toRefs(state),
afterVisibleChange,
closeDrawer,
rowSelection,
createVoteText,
addQue,
addOpt,
};
},
};

View File

@@ -3,7 +3,7 @@
:visible="Provisible"
class="drawerStyle promess"
placement="right"
width="50%"
width="70%"
@after-visible-change="afterVisibleChange"
>
<div class="drawerMain">
@@ -75,7 +75,7 @@ export default {
}
}
.drawerMain {
min-width: 434px;
min-width: 600px;
margin: 0px 32px 0px 32px;
overflow-x: scroll;
display: flex;

View File

@@ -69,178 +69,74 @@
</div>
</div>
<div class="mainbox">
<div class="rowtitle" @click="changeDown">
<div class="titleimg">
<img
:src="
showDown
? require('../../assets/images/studentimg/open.png')
: require('../../assets/images/studentimg/close.png')
"
/>
</div>
<div class="titletext">阶段1 腾飞班阶段1</div>
</div>
<div :style="{ display: showDown ? 'block' : 'none' }">
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/zai.png" /></div>
<div class="text1">在线</div>
<div class="text2">如何成为一个产品经理</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/complete.png" />
<a-collapse v-model:activeKey="stageListActive" >
<template #expandIcon="{ isActive }">
<img style="margin-right: 20px"
:src="
isActive
? require('../../assets/images/studentimg/open.png')
: require('../../assets/images/studentimg/close.png')
" />
<div></div>
</template>
<a-collapse-panel v-for="(value, index) in stageList" :key="index" :header="value.text">
<div class="rowclass" v-for="(item, key) in value.children" :key="key">
<div class="leftclass">
<div><img :src="
item.course === '在线'
? require('../../assets/images/leveladd/zai.png')
: item.course === '面授'
? require('../../assets/images/leveladd/mian.png')
: item.course === '案例'
? require('../../assets/images/leveladd/an.png')
: item.course === '作业'
? require('../../assets/images/leveladd/zuo.png')
: item.course === '考试'
? require('../../assets/images/leveladd/kao.png')
: item.course === '直播'
? require('../../assets/images/leveladd/zhi.png')
: item.course === '外链'
? require('../../assets/images/leveladd/wai.png')
: item.course === '讨论'
? require('../../assets/images/leveladd/tao.png')
: item.course === '活动'
? require('../../assets/images/leveladd/huo.png')
: item.course === '测评'
? require('../../assets/images/leveladd/ce.png')
: item.course === '调研'
? require('../../assets/images/leveladd/diao.png')
: item.course === '投票'
? require('../../assets/images/leveladd/tou.png')
: null
" /></div>
<div class="text1">{{item.course}}</div>
<div class="text2">{{item.name}}</div>
</div>
<div class="altext">已完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/zhi.png" /></div>
<div class="text1">直播</div>
<div class="text2">管理者播课</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/complete.png" />
<div class="alreadyclass">
<div class="alimg">
<img :src="
item.complete === '已完成'
? require('../../assets/images/studentimg/complete.png')
: require('../../assets/images/studentimg/notice.png')
"/>
</div>
<div class="altext">{{item.complete}}</div>
</div>
<div class="altext">已完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/mian.png" /></div>
<div class="text1">面授</div>
<div class="text2">管理面授课</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/notice.png" />
</div>
<div class="altext">未完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/huo.png" /></div>
<div class="text1">活动</div>
<div class="text2">管理者活动</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/notice.png" />
</div>
<div class="altext">未完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/zuo.png" /></div>
<div class="text1">作业</div>
<div class="text2">管理者作业</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/notice.png" />
</div>
<div class="altext">未完成</div>
</div>
</div>
</div>
</div>
<div class="mainbox">
<div class="rowtitle" @click="changeDown1">
<div class="titleimg">
<img
:src="
showDown1
? require('../../assets/images/studentimg/open.png')
: require('../../assets/images/studentimg/close.png')
"
/>
</div>
<div class="titletext">阶段2 腾飞班阶段2</div>
</div>
<div :style="{ display: showDown1 ? 'block' : 'none' }">
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/zai.png" /></div>
<div class="text1">在线</div>
<div class="text2">如何成为一个产品经理</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/complete.png" />
</div>
<div class="altext">已完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/zhi.png" /></div>
<div class="text1">直播</div>
<div class="text2">管理者播课</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/complete.png" />
</div>
<div class="altext">已完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/mian.png" /></div>
<div class="text1">面授</div>
<div class="text2">管理面授课</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/notice.png" />
</div>
<div class="altext">未完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/huo.png" /></div>
<div class="text1">活动</div>
<div class="text2">管理者活动</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/notice.png" />
</div>
<div class="altext">未完成</div>
</div>
</div>
<div class="rowclass">
<div class="leftclass">
<div><img src="../../assets/images/leveladd/zuo.png" /></div>
<div class="text1">作业</div>
<div class="text2">管理者作业</div>
</div>
<div class="alreadyclass">
<div class="alimg">
<img src="../../assets/images/studentimg/notice.png" />
</div>
<div class="altext">未完成</div>
</div>
</div>
</div>
</div>
</a-collapse-panel>
</a-collapse>
</div>
</div>
<div class="btnn">
<button class="btn2" @click="closeDrawer">关闭</button>
</div>
</div>
</a-drawer>
<pro-mess v-model:Provisible="Provisible" />
</a-drawer>
</template>
<script>
import { reactive, toRefs } from "vue";
import { reactive, toRefs} from "vue";
import ProMess from "./ProMess.vue";
export default {
name: "SeeStu",
@@ -256,6 +152,69 @@ export default {
Provisible: false,
showDown: true,
showDown1: false,
stageList: [
{
text: "阶段1腾飞班阶段1",
children: [
{
course: "在线",
name: "如何成为一个产品经理",
complete: "已完成",
},
{
course: "直播",
name: "管理直播课",
complete: "已完成",
},
{
course: "面授",
name: "管理面授课",
complete: "未完成",
},
{
course: "活动",
name: "管理活动",
complete: "未完成",
},
{
course: "作业",
name: "管理者作业",
complete: "未完成",
},
],
},
{
text: "阶段2腾飞班阶段2",
children: [
{
course: "考试",
name: "如何成为一个产品经理",
complete: "已完成",
},
{
course: "案例",
name: "如何成为一个产品经理",
complete: "已完成",
},
{
course: "外链",
name: "如何成为一个产品经理",
complete: "已完成",
},
{
course: "讨论",
name: "如何成为一个产品经理",
complete: "未完成",
},
{
course: "测评",
name: "如何成为一个产品经理",
complete: "未完成",
},
],
},
],
stageListActive: 0,
});
const closeDrawer = () => {
ctx.emit("update:Seevisible", false);
@@ -286,7 +245,7 @@ export default {
};
</script>
<style scoped lang="scss" >
<style lang="scss" >
.seestu {
.ant-drawer-content-wrapper {
// max-width: 1000px;
@@ -399,24 +358,33 @@ export default {
// height: 463px;
margin-right: 37px;
margin-top: 32px;
border: 1px solid rgba(221, 238, 255, 1);
border-radius: 6px;
.rowtitle {
height: 56px;
background: rgba(240, 246, 252, 1);
//border: 1px solid rgba(221, 238, 255, 1);
//border-radius: 6px;
.ant-collapse {
background-color: #FFFFFF;
border: 0;
}
.ant-collapse-content > .ant-collapse-content-box {
padding: 0;
border: 0;
}
.ant-collapse > .ant-collapse-item {
border: 1px solid rgba(221, 238, 255, 1);
border-radius: 6px;
margin-bottom: 15px;
border-bottom: 0px;
}
.ant-collapse-content {
border-top: 0;
}
.ant-collapse-header {
display: flex;
align-items: center;
.titleimg {
width: 20px;
height: 20px;
margin-left: 23px;
}
.titletext {
color: rgba(51, 51, 51, 1);
font-size: 16px;
font-weight: 500;
margin-left: 16px;
}
height: 56px;
background-color: rgba(240, 246, 252, 1);
font-size: 16px;
color: rgba(51, 51, 51, 1);
font-weight: 500;
}
.rowclass {
height: 81px;

View File

@@ -60,6 +60,12 @@
<div class="main">
<div class="inma">
<div class="name">
<div class="d" style="margin-top: 2px;margin-right:2px">
<img
style="width: 10px; height: 10px"
src="../../assets/images/basicinfo/asterisk.png"
/>
</div>
<div class="fir">关卡名称</div>
<div class="input">
<a-input
@@ -72,6 +78,8 @@
<div class="co">{{ value1.length }}/20</div>
</div>
<div class="name">
<div class="d" style="width: 10px;height: 10px;margin-top: 2px;margin-right:2px">
</div>
<div class="fir">关卡说明</div>
<div class="input">
<a-textarea
@@ -809,9 +817,10 @@ export default {
isactive: -1,
isActive: false,
projectChecked: null, //项目单选框
updateChapterID: null, //修改关卡id
});
//新建或编辑关卡
//新建关卡
const editChapter = () => {
if(!state.value1) return message.warning("请输入关卡名称");
let obj = {
@@ -837,6 +846,25 @@ export default {
console.log("创建失败", err);
});
}
//编辑关卡
const updateChapter = () => {
let obj = {
chapterId: state.updateChapterID,
name: "",
remark:"",
routerId: 0,
};
api
.updateChapter(obj)
.then((res) => {
console.log("修改成功",res);
message.success("修改成功");
})
.catch((err) => {
console.log("修改失败",err);
})
};
const showDrawer = () => {
state.visible = true;
};
@@ -965,7 +993,9 @@ export default {
<span style="color:#4EA6FF;margin-right:25px;cursor:pointer">
编辑
</span>
<span style="color:#4EA6FF;cursor:pointer">删除</span>
<span style="color:#4EA6FF;cursor:pointer" onClick={() => {
updateChapter();
}}>删除</span>
</div>
</div>
);
@@ -1196,6 +1226,7 @@ export default {
delete_exit,
drawertableColumns,
editChapter,
updateChapter,
};
},
};

File diff suppressed because it is too large Load Diff

View File

@@ -81,12 +81,12 @@
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
<div class="inname">项目经理</div>
</div>
<div class="in select">
<div class="in">
<a-select :getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
" :value="classifySelect1" placeholder="请选择项目经理" style="width: 100%" :options="classifyList1"
" :value="classifySelect1" mode="multiple" placeholder="请选择项目经理" style="width: 100%" :options="classifyList1"
@change="classificationChange1" allowClear showSearch>
</a-select>
</div>
@@ -97,8 +97,13 @@
<div class="inname">资源归属</div>
</div>
<div class="in">
<a-input v-model:value="valueE" placeholder="自动带出 可修改" />
<div class="in select">
<a-select :getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
" v-model:value="classifySelect2" placeholder="自动带出 可修改" :options="classifyList2"
@change="classificationChange2" />
</div>
</div>
<div class="name name2">
@@ -126,8 +131,13 @@
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
<div class="inname">项目级别</div>
</div>
<div class="in">
<a-input v-model:value="valueE1" placeholder="集团级/组织级/现地级/部门级" />
<div class="in select">
<a-select :getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
" v-model:value="classifySelect3" :options="classifyList3" @change="classificationChange3"
placeholder="集团级/组织级/现地级/部门级" />
</div>
</div>
<div class="name">
@@ -135,8 +145,13 @@
<img class="nameimg" src="../../assets/images/basicinfo/asterisk.png" />
<div class="inname">培训体系</div>
</div>
<div class="in">
<a-input v-model:value="valueE2" placeholder="集团级/组织级/现地级/部门级" />
<div class="in select">
<a-select :getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
" v-model:value="classifySelect4" :options="classifyList4" @change="classificationChange4"
placeholder="集团级/组织级/现地级/部门级" />
</div>
</div>
<div class="name">
@@ -177,9 +192,14 @@
</div>
<div class="template">
<div class="name">
<div class="inname" style="width: 50px"></div>
<div class="inname" style="width: 50px"></div>
<div class="in select" style="margin-left: 2px">
<a-select v-model:value="value1" placeholder="请选择模板" :size="size" style="width: 100%" :options="options">
<a-select :getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
" v-model:value="classifySelect5" placeholder="请选择模版" :size="size" style="width: 100%" :options="classifyList5"
@change="classificationChange5">
</a-select>
</div>
</div>
@@ -340,13 +360,66 @@ export default {
let manager = "";
let managerId = "";
const classificationChange1 = (key) => {
console.log(`selected ${key}`);
console.log(classifyList1.value[key - 1].label)
manager = String(classifyList1.value[key - 1].label)
managerId = String(key)
console.log(`selected ${key}`, classifyList1);
let mstr = '';
let midstr = '';
for (let i = 0; i < key.length; i++) {
if (key.length - 1 !== i) {
midstr += key[i] + ',';
mstr += classifyList1.value[i].label + ',';
} else {
midstr += key[i];
mstr += classifyList1.value[i].label;
}
}
console.log(mstr, midstr)
manager = mstr;
managerId = midstr;
};
// 资源归属 sourceBelongId 后续给接口
const classifyList2 = ref([
{ value: 1, label: '项目一' },
{ value: 2, label: '项目二' },
{ value: 3, label: '项目三' },
]);
const classificationChange2 = (key) => {
console.log(`selected ${key}`, classifyList2);
}
// 项目级别
const classifyList3 = ref([
{ value: 1, label: '集团级' },
{ value: 2, label: '组织级' },
{ value: 3, label: '现地级' },
{ value: 4, label: '部门级' },
]);
const classificationChange3 = (key) => {
console.log(`selected ${key}`, classifyList3);
}
// 培训体系
const classifyList4 = ref([
{ value: 1, label: '集团级' },
{ value: 2, label: '组织级' },
{ value: 3, label: '现地级' },
{ value: 4, label: '部门级' },
]);
const classificationChange4 = (key) => {
console.log(`selected ${key}`, classifyList4);
}
// 模版
const classifyList5 = ref([
{ value: 1, label: '模版一' },
{ value: 2, label: '模版二' },
{ value: 3, label: '模版三' },
{ value: 4, label: '模版四' },
]);
const classificationChange5 = (key) => {
console.log(`selected ${key}`, classifyList5);
}
// 项目说明
const remark = ref('');
@@ -438,10 +511,14 @@ export default {
api.createProject(obj).then(res => {
console.log(res)
if (res.status == 200 && res.data.code == 200) {
router.push({
path: '/taskpage',
query: { id: res.data.data.projectId }
});
message.destroy();
message.success("创建成功")
setTimeout(() => {
router.push({
path: '/taskpage',
query: { id: res.data.data.projectId }
});
}, 1000);
} else {
message.destroy();
message.error("创建失败,请检查当前网络状态。")
@@ -459,6 +536,10 @@ export default {
classifyList,
classificationChange,
classificationChange1,
classificationChange2,
classificationChange3,
classificationChange4,
classificationChange5,
fileList,
fileList1,
loading,
@@ -469,6 +550,10 @@ export default {
beforeUpload1,
onRangeChange,
classifyList1,
classifyList2,
classifyList3,
classifyList4,
classifyList5,
remark,
changeChecked,
changeChecked1,

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -539,7 +539,9 @@ import AddVote from "../../components/drawers/AddVote.vue";
import { message } from "ant-design-vue";
import * as api from "../../api/indexTaskadd";
import * as apilive from "../../api/indexLiveBroadcast";
import * as apiExternal from "../../api/indexExternalChain";
import * as apidiscuss from "../../api/indexDiscuss";
import * as apiactivity from "../../api/indexActivity";
import * as apieval from "../../api/indexEval";
import * as apiinvist from "../../api/indexInvist";
const drawercolumns = [
@@ -673,6 +675,7 @@ export default {
haspub: false,
checked1: false,
checkedd: false,
id: "ssss",
},
{
key: 2,
@@ -857,9 +860,11 @@ export default {
isactive: -1,
isActive: false,
deleteLiveID: null, //删除直播id
deleteExternalID: null, //删除外链id
deleteEvalID: null, //测评
deleteInvistID: null, //评估
deleteInvistID: 4, //评估
deleteDiscussID: null, //删除讨论id
deleteActivityID: null, //删除活动id
});
const selectProjectName = (value, index) => {
console.log("value", value, index);
@@ -968,13 +973,15 @@ export default {
// width: 100,
align: "center",
scopedSlots: { customRender: "action" },
customRender: () => {
customRender: (text) => {
return (
<div class="opa">
<div class="opacation">
<span
onClick={() => {
state.editonlinevisible = true;
console.log(text, "编辑text");
editInvistPath();
}}
style="color:#4EA6FF;margin-right:25px;cursor:pointer"
>
@@ -984,8 +991,6 @@ export default {
style="color:#4EA6FF;cursor:pointer"
onClick={() => {
showDelete();
deleteEvalText();
deleteInvistText();
}}
>
删除
@@ -1008,7 +1013,7 @@ export default {
.getTask(obj)
.then((res) => {
if (res.status == 200) {
console.log(res.data.data.stageList, 22222);
console.log("22222", res.data.data.stageList);
}
})
.catch((err) => {
@@ -1032,7 +1037,25 @@ export default {
console.log(err);
});
};
//删除讨论
//删除外链
const deleteExternalChain = () => {
let obj = {
linkId: state.deleteExternalID,
// linkId: 11,
};
apiExternal
.deleteLink(obj)
.then((res) => {
console.log(res);
//重新获取列表
getTask();
})
.catch((err) => {
console.log(err);
});
};
const deleteDiscuss = () => {
let obj = {
discussId: state.deleteDiscussID,
@@ -1050,10 +1073,85 @@ export default {
console.log("删除失败", err);
});
};
//编辑讨论
const editDiscuss = () => {
let obj = {
createTime: "",
createUser: 0,
discussExplain: "",
discussFlag: "",
discussId: 0,
discussName: "",
discussSettings: "",
discussTag: "",
projectId: 0,
updateTime: "",
updateUser: 0,
};
apidiscuss
.updateDiscuss(obj)
.then((res) => {
console.log("更新成功", res);
message.success("更新成功");
})
.catch((err) => {
console.log("更新失败", err);
});
};
//删除活动
const deleteActivity = () => {
let obj = {
activityId: state.deleteActivityID,
};
apiactivity
.deleteActivity(obj)
.then((res) => {
console.log("删除成功", res);
message.success("删除成功");
state.deleteModal = false;
//重新获取列表
getTask();
})
.catch((err) => {
console.log("删除失败", err);
});
};
//编辑活动
const editActivity = () => {
let obj = {
activityAddress: "",
activityDuration: "",
activityEndTime: "",
activityExplain: "",
activityFlag: "",
activityId: 0,
activityName: "",
activityNotice: "",
activityStartTime: "",
activityTag: "",
afterSignIn: "",
beforeSignIn: "",
createTime: "",
createUser: 0,
signOutTime: "",
standardSettings: "",
updateTime: "",
updateUser: 0,
};
apiactivity
.updateActivity(obj)
.then((res) => {
console.log("更新成功", res);
message.success("更新成功");
})
.catch((err) => {
console.log("更新失败", err);
});
};
//删除测评测试
const deleteEvalText = () => {
let obj = {
evaluationId:state.deleteEvalID,
evaluationId: state.deleteEvalID,
};
apieval
.deleteEvaluationById(obj)
@@ -1068,10 +1166,106 @@ export default {
});
};
//编辑测评信息
const editEvalPath = () => {
let obj = {
createTime: "",
createUser: 0,
evaluationEndTime: "",
evaluationFlag: "",
evaluationId: "",
evaluationName: "",
evaluationPictureAddress: "",
evaluationStartTime: "",
evaluationTag: "",
evaluationTypeId: 0,
evaluationTypeName: "",
updateTime: "",
updateUser: 0,
};
apieval
.updateEvaluation(obj)
.then((res) => {
setTimeout(() => {
console.log("修改成功", res);
message.success("修改成功");
}, 1000);
})
.catch((err) => {
console.log("修改失败", err);
// state.createLoading = false;
//重新获取列表
getTask();
});
};
//编辑直播信息
const editLiveBroadcast = () => {
let obj = {
afterSignIn: "",
beforeSignIn: "",
createTime: "",
createUser: 0,
liveCover: "",
liveDuration: 0,
liveEndTime: "",
liveExplain: "",
liveFlag: "",
liveId: 0,
liveLink: "",
liveName: "",
livePlayback: "",
livePlaybackLink: "",
liveStartTime: "",
liveTag: "",
liveTeacherId: 0,
otherSettings: "",
signOutTime: "",
standardSettings: "",
updateTime: "",
updateUser: 0,
};
apilive
.updateLiveBroadcastMessage(obj)
.then((res) => {
console.log(res);
message.success("修改成功");
})
.catch((err) => {
console.log(err);
message.warn("修改失败");
});
};
//编辑外链信息
const editExternal = () => {
let obj = {
createTime: "",
createUser: 0,
linkAddress: "",
linkDescription: "",
linkFlag: "",
linkId: 0,
linkName: "",
linkTag: "",
updateTime: "",
updateUser: 0,
};
apiExternal
.updateLinks(obj)
.then((res) => {
console.log(res);
message.success("修改成功");
})
.catch((err) => {
console.log(err);
message.warn("修改失败");
});
};
//删除评估测试
const deleteInvistText = () => {
let obj = {
evaluationId:state.deleteInvistID,
evaluationId: state.deleteInvistID,
};
apiinvist
.deleteAppraise(obj)
@@ -1085,7 +1279,40 @@ export default {
console.log("删除失败", err);
});
};
//编辑评估信息
const editInvistPath = () => {
let obj = {
appraiseEndTime: "",
appraiseExplain: "",
appraiseFlag: "",
appraiseId: 0,
appraiseName: "",
appraiseStartTime: "",
appraiseTag: "",
createTime: "",
createUser: 0,
researchId: 0,
researchName: "",
updateTime: "",
updateUser: 0,
};
apiinvist
.updateAppraiseMessage(obj)
.then((res) => {
setTimeout(() => {
console.log("修改成功", res);
message.success("修改成功");
}, 1000);
})
.catch((err) => {
console.log("修改失败", err);
// state.createLoading = false;
//重新获取列表
getTask();
});
};
const onSelectChange = (selectedRowKeys) => {
console.log("selectedRowKeys changed: ", selectedRowKeys);
state.selectedRowKeys = selectedRowKeys;
@@ -1214,8 +1441,16 @@ export default {
getTask,
deleteLiveBroadcast,
deleteDiscuss,
editDiscuss,
deleteEvalText,
deleteExternalChain,
deleteActivity,
editActivity,
editEvalPath,
deleteInvistText,
editLiveBroadcast,
editExternal,
editInvistPath,
};
},
};