mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-15 13:56:45 +08:00
feat:添加讨论,添加活动,新建关卡接口对接
This commit is contained in:
19
src/api/activity.js
Normal file
19
src/api/activity.js
Normal file
@@ -0,0 +1,19 @@
|
||||
import http from "./config";
|
||||
|
||||
//获取活动信息接口
|
||||
export const getActivity = (obj) => http.get('/activity', { params: obj });
|
||||
|
||||
//创建活动接口
|
||||
export const createActivity = (obj) => http.post('/activity/createActivity', obj);
|
||||
|
||||
//删除活动接口
|
||||
export const deleteActivity = (obj) => http.post('/activity/deleteActivity', { params: obj });
|
||||
|
||||
//修改活动接口
|
||||
export const updateActivity = (obj) => http.post('/activity/updateActivity', obj);
|
||||
|
||||
//修改活动是否为必修接口
|
||||
export const updateActivityToCompulsory = (obj) => http.post('/activity/updateActivityToCompulsory', { params: obj });
|
||||
|
||||
//修改活动是否为选修接口
|
||||
export const updateActivityToElective = (obj) => http.post('/activity/updateActivityToElective', { params: obj });
|
||||
13
src/api/discuss.js
Normal file
13
src/api/discuss.js
Normal file
@@ -0,0 +1,13 @@
|
||||
import http from "./config";
|
||||
|
||||
//创建讨论
|
||||
export const createDiscuss = (obj) => http.post('/discuss/createDiscuss', obj);
|
||||
|
||||
//获取讨论信息接口
|
||||
export const getDiscussDetail = (obj) => http.post('/discuss/getDiscussDetail', { params: obj });
|
||||
|
||||
//删除讨论接口
|
||||
export const deleteDiscuss = (obj) => http.post('/discuss/deleteDiscuss', { params: obj });
|
||||
|
||||
//修改讨论接口
|
||||
export const updateDiscuss = (obj) => http.post('/discuss/updateDiscuss', { params: obj });
|
||||
8
src/api/level.js
Normal file
8
src/api/level.js
Normal file
@@ -0,0 +1,8 @@
|
||||
import http from "./config";
|
||||
|
||||
//新建或编辑关卡
|
||||
export const editChapter = (obj) => http.post('/admin/router/editChapter', obj, {
|
||||
headers: {
|
||||
'token': '123'
|
||||
}
|
||||
});
|
||||
@@ -65,6 +65,7 @@
|
||||
v-model:value="textV2"
|
||||
placeholder="请输入活动说明"
|
||||
allow-clear
|
||||
maxlength="150"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -75,6 +76,7 @@
|
||||
<div class="btnbox">
|
||||
<a-range-picker
|
||||
style="width: 424px"
|
||||
v-model:value="time"
|
||||
:placeholder="[' 开始时间', ' 结束时间']"
|
||||
/>
|
||||
</div>
|
||||
@@ -208,13 +210,15 @@
|
||||
</div>
|
||||
<div class="main_btns">
|
||||
<button class="btn1">取消</button>
|
||||
<button class="btn2">确定</button>
|
||||
<button class="btn2" @click="createActivity">确定</button>
|
||||
</div>
|
||||
</div>
|
||||
</a-drawer>
|
||||
</template>
|
||||
<script>
|
||||
import { reactive, toRefs, ref } from "vue";
|
||||
import * as api from "../../api/activity";
|
||||
import { message } from "ant-design-vue";
|
||||
const rowSelection = ref({
|
||||
checkStrictly: false,
|
||||
onChange: (selectedRowKeys, selectedRows) => {
|
||||
@@ -252,6 +256,7 @@ export default {
|
||||
textV1: "",
|
||||
textV2: "",
|
||||
radioV1: "",
|
||||
time: "",
|
||||
});
|
||||
const closeDrawer = () => {
|
||||
ctx.emit("update:addactiveVisible", false);
|
||||
@@ -265,12 +270,50 @@ export default {
|
||||
state.radioV1 = "";
|
||||
}
|
||||
};
|
||||
|
||||
//创建活动
|
||||
const createActivity = () => {
|
||||
if(!state.inputV1) return message.info("请输入活动名称");
|
||||
if(!state.inputV2) return message.info("请输入活动时长");
|
||||
if(!state.textV1) return message.info("请输入活动公告");
|
||||
if(!state.inputV3) return message.info("请输入活动地址");
|
||||
let obj = {
|
||||
activityAddress: state.inputV3, //活动地址
|
||||
activityDuration: state.inputV2, //活动时长
|
||||
activityEndTime: "", //活动结束时间
|
||||
activityId: 0, //活动ID
|
||||
activityName: state.inputV1, //活动名称
|
||||
activityNotice: state.textV1, //活动公告
|
||||
activityStartTime: "", //活动开始时间
|
||||
activityTag: "", //活动逻辑删除标识
|
||||
afterSignIn: state.inputV5, //活动开始后多少分钟签到
|
||||
beforeSignIn: state.inputV4, //活动开始前多少分钟签到
|
||||
createTime: "", //创建时间
|
||||
createUser: 0, //创建人
|
||||
signOutTime: state.inputV6, //签退开始时间
|
||||
standardSettings: state.radioV1, //标准设置
|
||||
updateTime: "", //更新时间
|
||||
updateUser: 0, //更新人
|
||||
};
|
||||
api
|
||||
.createActivity(obj)
|
||||
.then((res) => {
|
||||
setTimeout(() => {
|
||||
console.log("创建成功", res);
|
||||
message.success("创建成功");
|
||||
}, 1000);
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("创建失败",err);
|
||||
})
|
||||
};
|
||||
return {
|
||||
...toRefs(state),
|
||||
afterVisibleChange,
|
||||
closeDrawer,
|
||||
rowSelection,
|
||||
cloradio1,
|
||||
createActivity,
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
@@ -33,7 +33,8 @@
|
||||
v-model:value="inputV1"
|
||||
style="width: 424px; height: 32px"
|
||||
placeholder="请输入讨论名称"
|
||||
maxlength="20"
|
||||
show-count
|
||||
:maxlength="20"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -46,6 +47,8 @@
|
||||
v-model:value="textV1"
|
||||
placeholder="请输入讨论说明"
|
||||
allow-clear
|
||||
show-count
|
||||
:maxlength="200"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -61,13 +64,15 @@
|
||||
</div>
|
||||
<div class="main_btns">
|
||||
<button class="btn1">取消</button>
|
||||
<button class="btn2">确定</button>
|
||||
<button class="btn2" @click="createDiscuss">确定</button>
|
||||
</div>
|
||||
</div>
|
||||
</a-drawer>
|
||||
</template>
|
||||
<script>
|
||||
import { reactive, toRefs, ref } from "vue";
|
||||
import * as api from "../../api/discuss";
|
||||
import { message } from "ant-design-vue";
|
||||
const rowSelection = ref({
|
||||
checkStrictly: false,
|
||||
onChange: (selectedRowKeys, selectedRows) => {
|
||||
@@ -103,15 +108,47 @@ export default {
|
||||
});
|
||||
const closeDrawer = () => {
|
||||
ctx.emit("update:adddiscussVisible", false);
|
||||
state.inputV1 = "";
|
||||
state.textV2 = "";
|
||||
};
|
||||
const afterVisibleChange = (bool) => {
|
||||
console.log("state", bool);
|
||||
};
|
||||
|
||||
//创建讨论
|
||||
const createDiscuss = () => {
|
||||
if(!state.inputV1) return message.info("请输入讨论名称");
|
||||
let obj = {
|
||||
discussName: state.inputV1, //讨论名称
|
||||
discussExplain: state.textV1, //讨论说明
|
||||
discussSettings: state.checkedC1, //讨论设置
|
||||
createTime: "", //创建时间
|
||||
createUser: 0, //创建人
|
||||
discussFlag: "", //活动逻辑删除标识
|
||||
discussId: 0, //讨论Id
|
||||
discussTag: "", //是否必修的标识
|
||||
updateTime: "", //更新时间
|
||||
updateUser: 0, //更新人
|
||||
projectId: 0, //项目id
|
||||
};
|
||||
api
|
||||
.createDiscuss(obj)
|
||||
.then((res) => {
|
||||
setTimeout(() => {
|
||||
console.log("创建成功", res);
|
||||
message.success("创建成功");
|
||||
}, 1000);
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("创建失败", err);
|
||||
});
|
||||
};
|
||||
return {
|
||||
...toRefs(state),
|
||||
afterVisibleChange,
|
||||
closeDrawer,
|
||||
rowSelection,
|
||||
createDiscuss,
|
||||
};
|
||||
},
|
||||
};
|
||||
@@ -160,6 +197,9 @@ export default {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
align-items: center;
|
||||
.ant-input {
|
||||
height: 100%;
|
||||
}
|
||||
.xkbtn {
|
||||
cursor: pointer;
|
||||
width: 130px;
|
||||
@@ -185,40 +225,22 @@ export default {
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
.kqszbox {
|
||||
.qdqtbox {
|
||||
margin-left: 56px;
|
||||
}
|
||||
.setbox {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 24px;
|
||||
.timerbox {
|
||||
margin-top: 6px;
|
||||
margin-right: 32px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-wrap: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
.btnbox2 {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
.xkbtn {
|
||||
cursor: pointer;
|
||||
width: 130px;
|
||||
height: 40px;
|
||||
background: #388be1;
|
||||
border-radius: 8px;
|
||||
border: 0;
|
||||
margin-right: 16px 8px 32px 0;
|
||||
color: #fff;
|
||||
margin-top: 16px;
|
||||
margin-bottom: 60px;
|
||||
.textarea {
|
||||
width: 423px;
|
||||
.ant-input {
|
||||
width: 100%;
|
||||
}
|
||||
.ant-input-textarea-show-count {
|
||||
position: relative;
|
||||
}
|
||||
.ant-input-textarea-show-count::after {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
bottom: 0px;
|
||||
}
|
||||
.ant-input {
|
||||
border-radius: 8px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
</div>
|
||||
<div class="btn">
|
||||
<button class="btn1">取消</button>
|
||||
<button class="btn2">确定</button>
|
||||
<button class="btn2" @click="editChapter">确定</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -504,6 +504,8 @@
|
||||
import { reactive, toRefs, onMounted, onUnmounted } from "vue";
|
||||
import AddStu from "../../components/drawers/AddLevelAddStu";
|
||||
import ImpStu from "../../components/drawers/AddLevelImportStu";
|
||||
import * as api from "../../api/level";
|
||||
import { message } from "ant-design-vue";
|
||||
export default {
|
||||
name: "LevelAddDetail",
|
||||
components: {
|
||||
@@ -808,11 +810,36 @@ export default {
|
||||
isActive: false,
|
||||
projectChecked: null, //项目单选框
|
||||
});
|
||||
|
||||
//新建或编辑关卡
|
||||
const editChapter = () => {
|
||||
let obj = {
|
||||
name: state.value1,
|
||||
remark: state.value2,
|
||||
routerId: 0,
|
||||
};
|
||||
api
|
||||
.editChapter(obj)
|
||||
.then((res) => {
|
||||
setTimeout(() => {
|
||||
console.log("创建成功", res);
|
||||
message.success("创建成功");
|
||||
// state.createLoading = false;
|
||||
//state.currentPage = 1;
|
||||
// getLearnPath();
|
||||
}, 1000);
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log("创建失败", err);
|
||||
});
|
||||
}
|
||||
const showDrawer = () => {
|
||||
state.visible = true;
|
||||
};
|
||||
const closeDrawer = () => {
|
||||
state.visible = false;
|
||||
state.value1 = "";
|
||||
state.value2 = "";
|
||||
};
|
||||
const showModal = () => {
|
||||
state.modal = true;
|
||||
@@ -1164,6 +1191,7 @@ export default {
|
||||
showDeleteALLModal,
|
||||
delete_exit,
|
||||
drawertableColumns,
|
||||
editChapter,
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user