mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-09 10:56:46 +08:00
@@ -8,7 +8,7 @@ export const boeuExamPageList = (obj) => http.post('/boeu/exam/pageList', obj)
|
||||
//概览页面案例列表请求接口
|
||||
export const boeuCasePageList = (obj) => http.post('/boeu/case/pageList', obj)
|
||||
// 请求组织接口
|
||||
export const userGetUserOrg = (obj) => https.post('/user/getUserOrg', obj)
|
||||
export const userGetUserOrg = (obj) => http.post('/org/getUserOrg', obj)
|
||||
// 请求所属组织接口
|
||||
export const userInfo = (obj) => https.post('/user/info', obj)
|
||||
// 课程列表接口
|
||||
|
||||
@@ -358,8 +358,8 @@
|
||||
</div>
|
||||
<router-link to="/download">下载中心</router-link>
|
||||
</a-menu-item>
|
||||
<!-- 20230804影藏 -->
|
||||
<!-- <a-sub-menu key="sub17">
|
||||
<!-- 20230804影藏 20230815放开-->
|
||||
<a-sub-menu key="sub17">
|
||||
<template #icon>
|
||||
<div class="imgBox">
|
||||
<img
|
||||
@@ -472,7 +472,6 @@
|
||||
</a-menu-item>
|
||||
</a-sub-menu>
|
||||
</a-sub-menu>
|
||||
-->
|
||||
<a-menu-item key="sub16" v-if="checkMenu('OldSystemManage')">
|
||||
<div class="imgBox">
|
||||
<img
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<a-checkbox v-model:checked="checked" @change="change">
|
||||
<a-checkbox v-model:checked="checked" @change="change" :disabled="disabled">
|
||||
<slot></slot>
|
||||
</a-checkbox>
|
||||
</template>
|
||||
@@ -17,8 +17,12 @@ const props = defineProps({
|
||||
},
|
||||
unCheckValue: {
|
||||
type: [Boolean, Number, String],
|
||||
default: true
|
||||
default: false
|
||||
},
|
||||
disabled:{
|
||||
type:Boolean,
|
||||
default:false
|
||||
}
|
||||
});
|
||||
const emit = defineEmits(["update:modelValue"]);
|
||||
const checked = ref(props.modelValue);
|
||||
|
||||
@@ -110,6 +110,7 @@
|
||||
:type="5"
|
||||
style="width: 440px; height: 40px; border-radius: 8px"
|
||||
placeholder="请输入开课名称"
|
||||
:disabled="editBeginClass"
|
||||
></NameInput>
|
||||
</div>
|
||||
</div>
|
||||
@@ -133,6 +134,7 @@
|
||||
@change="timeChange"
|
||||
separator="至"
|
||||
:placeholder="[' 开始时间', ' 结束时间']"
|
||||
:disabled="editBeginClass"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -151,6 +153,7 @@
|
||||
<ProjectManager
|
||||
v-model:value="formData.teacherId"
|
||||
v-model:name="formData.teacher"
|
||||
:disabled="editBeginClass"
|
||||
></ProjectManager>
|
||||
</div>
|
||||
</div>
|
||||
@@ -172,8 +175,10 @@
|
||||
height: 32px;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;"
|
||||
v-model:value="formData.duration"
|
||||
:disabled="true"
|
||||
|
||||
></a-input-number>
|
||||
<!-- v-model:value="formData.duration" -->
|
||||
<div class="inp_num" style="right: 96px;line-height: 12px">
|
||||
<span style="color: #c7cbd2">分钟</span>
|
||||
</div>
|
||||
@@ -276,7 +281,7 @@
|
||||
<span style="margin-right: 3px">评估设置</span>
|
||||
</div>
|
||||
<div class="b_input" style="width: 88%;">
|
||||
<CheckBox v-model="formData.evalFlag" :checkValue="1" :un-checkValue="0">
|
||||
<CheckBox v-model="formData.evalFlag" :disabled="editBeginClass" :checkValue="1" :un-checkValue="0">
|
||||
<span style="color: #6d7584">是否需要评估</span>
|
||||
</CheckBox>
|
||||
</div>
|
||||
@@ -287,6 +292,7 @@
|
||||
<AssessmentList
|
||||
v-model:assessmentName="formData.assessmentName"
|
||||
v-model:assessmentId="formData.assessmentId"
|
||||
:disabled="editBeginClass"
|
||||
>
|
||||
<button
|
||||
class="xkbtn"
|
||||
@@ -296,7 +302,7 @@
|
||||
</button>
|
||||
</AssessmentList>
|
||||
<div v-if="formData.assessmentId > 0">
|
||||
<a-tag closable @close="removePG" color="processing">
|
||||
<a-tag :closable="!editBeginClass" @close="removePG" color="processing">
|
||||
<span style="font-size: 14px; line-height: 33px">
|
||||
{{ formData.assessmentName }}
|
||||
</span>
|
||||
@@ -444,7 +450,7 @@ const columns = ref([
|
||||
return (
|
||||
<div class="opa">
|
||||
<a style="margin-right:10px;" onClick={() => planEdit(record)}>编辑</a>
|
||||
<a onClick={() => del(record.id)}>删除</a>
|
||||
<a onClick={() => del(record.id,record)}>删除</a>
|
||||
</div>
|
||||
);
|
||||
},
|
||||
@@ -527,6 +533,7 @@ const durationText = computed(() => dateTime.value?.length?dayjs(dateTime.value[
|
||||
function timeChange(time, timeStr) {
|
||||
formData.value.beginTime = timeStr[0];
|
||||
formData.value.endTime = timeStr[1];
|
||||
formData.value.duration = durationText.value
|
||||
// formData.value.duration || (formData.value.duration = dayjs(timeStr[1]).diff(dayjs(timeStr[0]),'minute'))
|
||||
}
|
||||
|
||||
@@ -570,7 +577,15 @@ const createNewCourse = () => {
|
||||
};
|
||||
const handleCancelStu = () => offCourseNewVisiable.value = false;
|
||||
|
||||
const del = (id) => {
|
||||
const expenseStatus = {
|
||||
A10:true,
|
||||
S00:true
|
||||
}
|
||||
const del = (id,record) => {
|
||||
console.log(record,'删除');
|
||||
if (record.expenseStatus && !expenseStatus[record.expenseStatus]) {
|
||||
return message.warning("该开课已在审批流程中,不可进行删除!");
|
||||
}
|
||||
dialog({
|
||||
content: "确定删除此开课吗?",
|
||||
ok: async () => {
|
||||
@@ -609,7 +624,13 @@ async function coursePlanConfirm() {
|
||||
tableRef.value.fetch();
|
||||
}
|
||||
|
||||
const editBeginClass = ref(false)
|
||||
function planEdit(record) {
|
||||
editBeginClass.value = false
|
||||
if (record.expenseStatus && !expenseStatus[record.expenseStatus]) {
|
||||
editBeginClass.value = true
|
||||
console.log(editBeginClass.value);
|
||||
}
|
||||
onceName.value = record.name;
|
||||
formData.value = { ...record };
|
||||
validated.value = 0;
|
||||
@@ -618,7 +639,6 @@ function planEdit(record) {
|
||||
dateTime.value = [formData.value.beginTime, formData.value.endTime];
|
||||
offCourseNewVisiable.value = true;
|
||||
}
|
||||
|
||||
function openDrawer(row) {
|
||||
openCourseVisible.value = true;
|
||||
params.value.offcourseId = row.courseId;
|
||||
|
||||
@@ -31,6 +31,10 @@ import AssessmentAll from "@/components/drawers/AssessmentAll.vue";
|
||||
const props = defineProps({
|
||||
assessmentId: String,
|
||||
assessmentName: String,
|
||||
disabled:{
|
||||
type:Boolean,
|
||||
default:false
|
||||
}
|
||||
})
|
||||
const visible = ref(false)
|
||||
const formData = ref({
|
||||
@@ -74,6 +78,7 @@ async function confirm() {
|
||||
}
|
||||
|
||||
function openDrawer() {
|
||||
if(props.disabled) return
|
||||
visible.value = true
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
:placeholder="placeholder"
|
||||
:show-count="showCount"
|
||||
:maxlength="maxlength"
|
||||
:disabled="disabled"
|
||||
/>
|
||||
<div style="color: red; font-size: 10px" v-if="modelV.value && validated===0 && isExistName">
|
||||
名称重复,请重新输入
|
||||
@@ -43,6 +44,10 @@ const props = defineProps({
|
||||
onceName: {
|
||||
type: String,
|
||||
},
|
||||
disabled:{
|
||||
type:Boolean,
|
||||
default:false
|
||||
}
|
||||
});
|
||||
|
||||
const emit = defineEmits(["update:value",'update:validated']);
|
||||
|
||||
@@ -928,6 +928,7 @@
|
||||
:type="5"
|
||||
style="width: 440px; height: 40px; border-radius: 8px"
|
||||
placeholder="请输入开课名称"
|
||||
:disabled="editBeginClass"
|
||||
></NameInput>
|
||||
</div>
|
||||
</div>
|
||||
@@ -950,6 +951,7 @@
|
||||
@change="timeChange"
|
||||
separator="至"
|
||||
:placeholder="[' 开始时间', ' 结束时间']"
|
||||
:disabled="editBeginClass"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -975,6 +977,7 @@
|
||||
border-radius: 8px;
|
||||
overflow: hidden;"
|
||||
v-model:value="duration"
|
||||
:disabled="true"
|
||||
></a-input-number>
|
||||
<div class="inp_num">
|
||||
<span style="color: #c7cbd2">分钟</span>
|
||||
@@ -995,6 +998,7 @@
|
||||
<ProjectManager
|
||||
v-model:value="member.value"
|
||||
v-model:name="member.name"
|
||||
:disabled="editBeginClass"
|
||||
></ProjectManager>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1089,7 +1093,7 @@
|
||||
<span style="margin-right: 3px">评估设置</span>
|
||||
</div>
|
||||
<div class="b_input">
|
||||
<a-checkbox v-model:checked="checked4">
|
||||
<a-checkbox v-model:checked="checked4" :disabled="editBeginClass">
|
||||
<span style="color: #6d7584">是否需要评估</span>
|
||||
</a-checkbox>
|
||||
</div>
|
||||
@@ -1100,6 +1104,7 @@
|
||||
<AssessmentList
|
||||
v-model:assessmentName="assessmentName"
|
||||
v-model:assessmentId="assessmentId"
|
||||
:disabled="editBeginClass"
|
||||
>
|
||||
<button
|
||||
class="xkbtn"
|
||||
@@ -1110,7 +1115,7 @@
|
||||
</button>
|
||||
</AssessmentList>
|
||||
<div v-if="assessmentId > 0">
|
||||
<a-tag closable @close="removePG" color="processing">
|
||||
<a-tag :closable="!editBeginClass" @close="removePG" color="processing">
|
||||
<span style="font-size: 14px; line-height: 33px">
|
||||
{{ assessmentName }}
|
||||
</span>
|
||||
@@ -3762,11 +3767,14 @@ export default defineComponent({
|
||||
});
|
||||
state.cstm_hs = false;
|
||||
};
|
||||
|
||||
|
||||
let editBeginClass = ref(false)
|
||||
//编辑开课
|
||||
const handelEditStu = async (item) => {
|
||||
editBeginClass.value = false
|
||||
if (item.expenseStatus && item.expenseStatus !== 'A10' && item.expenseStatus !== 'S00') {
|
||||
return message.warning("该开课已在审批流程中,不可进行编辑!");
|
||||
editBeginClass.value = true
|
||||
console.log(editBeginClass.value);
|
||||
}
|
||||
state.offcourseId = item.offcourseId;
|
||||
state.itemType = item.type;
|
||||
@@ -5042,7 +5050,8 @@ export default defineComponent({
|
||||
logW,
|
||||
logT,
|
||||
qrcodeVisible,
|
||||
timeChange
|
||||
timeChange,
|
||||
editBeginClass
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
@@ -11,9 +11,9 @@
|
||||
placeholder="请选择归属组织"
|
||||
:allowClear="allowClear"
|
||||
:fieldNames="{
|
||||
label: 'name',
|
||||
value: 'id',
|
||||
children: 'treeChildList',
|
||||
label: 'orgName',
|
||||
value: 'organizationId',
|
||||
children: 'childList',
|
||||
}"
|
||||
>
|
||||
</a-cascader>
|
||||
@@ -133,9 +133,11 @@ import downLoad from "../../utils/downLoad";
|
||||
import Cookies from "vue-cookies";
|
||||
import axios from "axios";
|
||||
import dayjs from "dayjs";
|
||||
import { useStore } from "vuex";
|
||||
export default {
|
||||
name: "LearningPathMap",
|
||||
setup() {
|
||||
const store = useStore();
|
||||
const state = reactive({
|
||||
tableLoading: false, // table加载图标
|
||||
tableDataTotal: 0, // 数据总条数
|
||||
@@ -171,14 +173,16 @@ export default {
|
||||
}
|
||||
//请求组织接口
|
||||
const getOrgList = async () => {
|
||||
const res = await api.userGetUserOrg({});
|
||||
let params = {
|
||||
roleList: store.state.userInfo.roleList,
|
||||
userId: store.state.userInfo.userId
|
||||
}
|
||||
const res = await api.userGetUserOrg(params);
|
||||
if (res) {
|
||||
state.option = res.data?.result?.list;
|
||||
state.orgId = res.data?.result?.treeNodeList;
|
||||
state.resetOrgId = res.data?.result?.treeNodeList;
|
||||
res.data?.result?.userType === 1
|
||||
? (state.allowClear = true)
|
||||
: (state.allowClear = false);
|
||||
state.option = res.data?.result;
|
||||
state.orgId = state.option[0]?.organizationId;
|
||||
state.resetOrgId = state.option[0]?.organizationId;
|
||||
state.allowClear = false
|
||||
getTableData();
|
||||
}
|
||||
};
|
||||
@@ -344,8 +348,8 @@ export default {
|
||||
name: state.name,
|
||||
});
|
||||
if (res) {
|
||||
state.tableDataTotal = res.data.total;
|
||||
const list = res.data.rows?.map((item) => {
|
||||
state.tableDataTotal = res.data.result.total;
|
||||
const list = res.data.result.rows?.map((item) => {
|
||||
return {
|
||||
key: item.id,
|
||||
...item,
|
||||
|
||||
Reference in New Issue
Block a user