mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-10 19:36:46 +08:00
获取学习路径列表
This commit is contained in:
@@ -37,6 +37,12 @@ import http from "./config";
|
||||
|
||||
// 接口-请求
|
||||
|
||||
//创建学习路径
|
||||
export const createLearnPath = (obj) => http.post('/admin/router/edit', obj, {
|
||||
headers: {
|
||||
'token': '123'
|
||||
}
|
||||
});
|
||||
// 获取学习路径图列表
|
||||
export const getLearnPath = (obj) => http.post('/admin/router/list', obj);
|
||||
|
||||
|
||||
@@ -816,6 +816,9 @@ export default {
|
||||
}
|
||||
.opa {
|
||||
// background-color: #bfa;
|
||||
.ant-checkbox + span {
|
||||
margin-top: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
// .tab {
|
||||
|
||||
@@ -121,7 +121,9 @@
|
||||
</div>
|
||||
<div class="b_sub">
|
||||
<div class="bs_header">
|
||||
<div class="b_left"><span style="color:#999BA3;">课程命名规则</span></div>
|
||||
<div class="b_left">
|
||||
<span style="color: #999ba3">课程命名规则</span>
|
||||
</div>
|
||||
<div class="b_right" @click="hideShow" style="cursor: pointer">
|
||||
<div
|
||||
class="b_zk"
|
||||
@@ -313,7 +315,9 @@
|
||||
</div>
|
||||
<div class="i2_cz">
|
||||
<div class="i2_top">
|
||||
<div class="i2_left"><span style="color:#999BA3;">课程命名规则</span></div>
|
||||
<div class="i2_left">
|
||||
<span style="color: #999ba3">课程命名规则</span>
|
||||
</div>
|
||||
<div
|
||||
class="i2_right"
|
||||
@click="hideShow"
|
||||
@@ -1404,20 +1408,20 @@
|
||||
class="btn4_sup"
|
||||
:style="{ display: hideshow ? 'none' : 'block' }"
|
||||
>
|
||||
<div class="btnsbox">
|
||||
<div class="btn4_tit">
|
||||
<span style="color: #4ea6ff">批量录入成绩</span>
|
||||
<div class="btnsbox">
|
||||
<div class="btn4_tit">
|
||||
<span style="color: #4ea6ff">批量录入成绩</span>
|
||||
</div>
|
||||
<div class="btn4_op1">
|
||||
<span>批量结业</span>
|
||||
</div>
|
||||
<div class="btn4_op2">
|
||||
<span>批量通过</span>
|
||||
</div>
|
||||
<div class="btn4_op3">
|
||||
<span>批量拒绝</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn4_op1">
|
||||
<span >批量结业</span>
|
||||
</div>
|
||||
<div class="btn4_op2">
|
||||
<span >批量通过</span>
|
||||
</div>
|
||||
<div class="btn4_op3">
|
||||
<span>批量拒绝</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="stmm_btn btn5">
|
||||
@@ -1691,6 +1695,7 @@
|
||||
wrapClassName="DelModal"
|
||||
style="margin-top: 400px"
|
||||
@cancel="delete_exit"
|
||||
:zIndex="9999"
|
||||
>
|
||||
<div
|
||||
class="delete"
|
||||
@@ -5025,7 +5030,7 @@ export default defineComponent({
|
||||
position: absolute;
|
||||
top: 40px;
|
||||
z-index: 999;
|
||||
.btnsbox{
|
||||
.btnsbox {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
@@ -5037,7 +5042,7 @@ export default defineComponent({
|
||||
.btn4_op1,
|
||||
.btn4_op2,
|
||||
.btn4_op3 {
|
||||
margin-bottom:10px;
|
||||
margin-bottom: 10px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -798,7 +798,6 @@ export default {
|
||||
selectedRowKeys: [],
|
||||
isActive: false,
|
||||
gqxy_hs: true,
|
||||
|
||||
projectChecked: null, //项目单选框
|
||||
});
|
||||
const showDrawer = () => {
|
||||
|
||||
@@ -24,20 +24,50 @@
|
||||
<add-vote v-model:addvoteVisible="visible" />
|
||||
</div>
|
||||
<a-radio v-model:checked="checked" @click="changeRadio">Option A</a-radio>
|
||||
<a-upload
|
||||
v-model:file-list="fileList"
|
||||
name="avatar"
|
||||
list-type="picture-card"
|
||||
class="avatar-uploader"
|
||||
:show-upload-list="false"
|
||||
action="https://www.mocky.io/v2/5cc8019d300000980a055e76"
|
||||
:before-upload="beforeUpload"
|
||||
@change="handleChange"
|
||||
>
|
||||
<!-- <img v-if="imageUrl" :src="imageUrl" alt="avatar" />
|
||||
<div v-else>
|
||||
<loading-outlined v-if="loading"></loading-outlined>
|
||||
<plus-outlined v-else></plus-outlined>
|
||||
<div class="ant-upload-text">Upload</div>
|
||||
</div> -->
|
||||
</a-upload>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { reactive, toRefs } from "vue";
|
||||
import AddVote from "../../components/drawers/AddVote";
|
||||
// import { PlusOutlined, LoadingOutlined } from "@ant-design/icons-vue";
|
||||
import { message } from "ant-design-vue";
|
||||
|
||||
function getBase64(img, callback) {
|
||||
const reader = new FileReader();
|
||||
reader.addEventListener("load", () => callback(reader.result));
|
||||
reader.readAsDataURL(img);
|
||||
}
|
||||
export default {
|
||||
name: "SystemManage",
|
||||
components: {
|
||||
AddVote,
|
||||
// LoadingOutlined,
|
||||
// PlusOutlined,
|
||||
},
|
||||
setup() {
|
||||
const state = reactive({
|
||||
visible: false,
|
||||
checked: true,
|
||||
imageUrl: "",
|
||||
loading: false,
|
||||
fileList: [],
|
||||
});
|
||||
|
||||
const showDrawer = () => {
|
||||
@@ -46,10 +76,49 @@ export default {
|
||||
const changeRadio = () => {
|
||||
state.checked = false;
|
||||
};
|
||||
const handleChange = (info) => {
|
||||
if (info.file.status === "uploading") {
|
||||
state.loading = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (info.file.status === "done") {
|
||||
// Get this url from response in real world.
|
||||
getBase64(info.file.originFileObj, (base64Url) => {
|
||||
state.imageUrl = base64Url;
|
||||
state.loading = false;
|
||||
});
|
||||
}
|
||||
|
||||
if (info.file.status === "error") {
|
||||
state.loading = false;
|
||||
message.error("upload error");
|
||||
}
|
||||
};
|
||||
|
||||
const beforeUpload = (file) => {
|
||||
const isJpgOrPng =
|
||||
file.type === "image/jpeg" || file.type === "image/png";
|
||||
|
||||
if (!isJpgOrPng) {
|
||||
message.error("You can only upload JPG file!");
|
||||
}
|
||||
|
||||
const isLt2M = file.size / 1024 / 1024 < 2;
|
||||
|
||||
if (!isLt2M) {
|
||||
message.error("Image must smaller than 2MB!");
|
||||
}
|
||||
|
||||
return isJpgOrPng && isLt2M;
|
||||
};
|
||||
|
||||
return {
|
||||
...toRefs(state),
|
||||
showDrawer,
|
||||
changeRadio,
|
||||
handleChange,
|
||||
beforeUpload,
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user