Merge branch 'dev0731' into 'master'

Dev0731

See merge request !102
This commit is contained in:
joshen
2023-08-17 17:55:50 +08:00
8 changed files with 75 additions and 29 deletions

View File

@@ -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)
// 课程列表接口

View File

@@ -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

View File

@@ -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);

View File

@@ -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;

View File

@@ -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
}

View File

@@ -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']);

View File

@@ -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
};
},
});

View File

@@ -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,