forked from integrated_whb/integrated_whb_vue
教培功能bug修复
parent
40a5fd2496
commit
3cb8221676
|
@ -31,6 +31,11 @@ const props = defineProps({
|
|||
required: true,
|
||||
default: false,
|
||||
},
|
||||
year: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: "",
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
default: "导入",
|
||||
|
@ -72,6 +77,7 @@ const fnSubmit = debounce(
|
|||
const formData = new FormData();
|
||||
formData.append("FFILE", data.form.file[0].raw);
|
||||
formData.append("FFILEName", data.form.file[0].name);
|
||||
formData.append("year", props.year);
|
||||
emits("submit", formData);
|
||||
},
|
||||
{ atBegin: true }
|
||||
|
|
|
@ -25,7 +25,7 @@ export const setClassFinish = (params) => post("/class/finish", params); // 班
|
|||
export const setClassManagementDelay = (params) =>
|
||||
post("/class/postpone", params); // 班级管理延期
|
||||
export const getPersonnelList = (params) =>
|
||||
post("/trainedusersign/listByEnt", { loading: false, params }); // 班级管理添加人员
|
||||
post("/trainedusersign/listByEnt", { loading: false, ...params }); // 班级管理添加人员
|
||||
export const getClassManagementView = (params) => post("/class/goEdit", params); // 班级管理查看
|
||||
export const setClassManagementAdd = (params) => post("/class/add", params); // 班级管理添加
|
||||
export const setClassManagementEdit = (params) => post("/class/edit", params); // 班级管理修改
|
||||
|
|
|
@ -82,6 +82,7 @@
|
|||
<layout-import-file
|
||||
v-model:visible="data.importDialogVisible"
|
||||
template-url="/TrafficFile/template/post.xls"
|
||||
:year="year"
|
||||
@submit="fnSubmitImport"
|
||||
/>
|
||||
</el-dialog>
|
||||
|
@ -199,6 +200,8 @@ const fnImport = () => {
|
|||
const fnSubmitImport = async (formData) => {
|
||||
const resData = await setPostmanImport(formData);
|
||||
ElMessage.success(resData.msg);
|
||||
fnGetData();
|
||||
fnImport();
|
||||
};
|
||||
const fnClose = () => {
|
||||
emits("update:type", 0);
|
||||
|
|
|
@ -77,6 +77,11 @@ const props = defineProps({
|
|||
required: true,
|
||||
default: () => {},
|
||||
},
|
||||
curriculumId: {
|
||||
type: String,
|
||||
required: true,
|
||||
default: "",
|
||||
},
|
||||
});
|
||||
const emits = defineEmits(["update:visible", "update:form", "get-data"]);
|
||||
const { visible, form } = useVModels(props, emits);
|
||||
|
@ -121,8 +126,13 @@ const fnSubmit = debounce(
|
|||
Object.keys(props.outerLayerForm).forEach((key) => {
|
||||
formData.append(key, props.outerLayerForm[key]);
|
||||
});
|
||||
console.log(props.outerLayerForm);
|
||||
formData.append("REVIEW_USER", form.value.REVIEW_USER);
|
||||
formData.append("DEPARTMENT", form.value.DEPARTMENT_NAME);
|
||||
formData.append("DUTIES", form.value.DUTIES);
|
||||
formData.append("CHECK_OPINION", form.value.CHECK_OPINION);
|
||||
formData.append("SIGN_PATH", form.value.SIGN_PICTURE);
|
||||
formData.append("CURRICULUM_ID", props.curriculumId);
|
||||
form.value.ARCHIVES_REVIEW_RECORD_ID &&
|
||||
formData.append(
|
||||
"ARCHIVES_REVIEW_RECORD_ID",
|
||||
|
|
|
@ -139,4 +139,22 @@ const fnClose = () => {
|
|||
}
|
||||
}
|
||||
}
|
||||
:deep {
|
||||
.el-radio-group {
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.el-radio-group .el-radio {
|
||||
width: 25%;
|
||||
margin-right: 0;
|
||||
height: auto;
|
||||
min-height: 30px;
|
||||
}
|
||||
.el-radio__input.is-disabled + span.el-radio__label {
|
||||
white-space: break-spaces;
|
||||
word-break: break-all;
|
||||
line-height: 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -125,7 +125,8 @@
|
|||
v-model:form="data.addDialog.form"
|
||||
:type="data.addDialog.type"
|
||||
:outer-layer-form="data.form"
|
||||
@get-data="fnGetReviewRecordList"
|
||||
:curriculum-id="curriculumId"
|
||||
@get-data="fnGetData"
|
||||
/>
|
||||
</template>
|
||||
|
||||
|
@ -185,6 +186,7 @@ const data = reactive({
|
|||
BOOK_NUM: "",
|
||||
CORP_NAME: "",
|
||||
CREATTIME: "",
|
||||
CURRICULUM_ID: "",
|
||||
enterpriseName: "",
|
||||
REVIEW_PERSON: "",
|
||||
REVIEW_TIME: "",
|
||||
|
@ -237,6 +239,11 @@ const fnGetData = async () => {
|
|||
data.form.CREATTIME = reviewInfo.pd.CREATTIME;
|
||||
await fnGetReviewRecordList();
|
||||
}
|
||||
} else {
|
||||
data.reviewInfo = {};
|
||||
data.reviewRecordList = [];
|
||||
data.form.REVIEW_OPINIONS =
|
||||
data.form.REVIEW_OPINIONS || "此教材符合相关文件要求,同意使用。";
|
||||
}
|
||||
};
|
||||
const fnGetReviewRecordList = async () => {
|
||||
|
|
|
@ -52,7 +52,6 @@
|
|||
<el-table-column prop="NAME" label="班级名称" />
|
||||
<el-table-column prop="START_TIME" label="培训开始时间" />
|
||||
<el-table-column prop="END_TIME" label="培训结束时间" />
|
||||
<el-table-column prop="STUDENT_NUM" label="学员人员数" />
|
||||
<el-table-column label="班级状态">
|
||||
<template #default="{ row }">
|
||||
{{ translationStatus(row.STATE, statusList) }}
|
||||
|
@ -100,7 +99,9 @@ const statusList = [
|
|||
{ ID: "6", NAME: "培训结束" },
|
||||
];
|
||||
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
|
||||
useListData(getClassesList);
|
||||
useListData(getClassesList, {
|
||||
otherParams: { TRAINTYPE_ID: "c70bf859512241579a8a30fc5d1ae153" },
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
|
|
|
@ -97,7 +97,9 @@ import { useRouter } from "vue-router";
|
|||
|
||||
const router = useRouter();
|
||||
const { list, pagination, searchForm, fnGetData, fnResetPagination } =
|
||||
useListData(getClassForHealthList);
|
||||
useListData(getClassForHealthList, {
|
||||
otherParams: { TRAINTYPE_ID: "c70bf859512241579a8a30fc5d1ae153" },
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
|
|
|
@ -696,11 +696,13 @@
|
|||
>分数:{{ data.paper.EXAMSCORE || 0 }}</span
|
||||
>
|
||||
<span style="line-height: 50px; margin-left: 200px"
|
||||
>签字:<img
|
||||
>签字:
|
||||
<img
|
||||
v-if="data.SIGNATURE_PATH"
|
||||
:src="data.SIGNATURE_PATH"
|
||||
style="height: 50px; width: 120px; vertical-align: top"
|
||||
/><span v-else>未参加考试</span></span
|
||||
/>
|
||||
<span v-else>未参加考试</span></span
|
||||
>
|
||||
<span style="line-height: 50px; margin-left: 200px"
|
||||
>考试时间:{{ data.paper.EXAMTIMEEND }}</span
|
||||
|
@ -928,4 +930,22 @@ fnGetLearningRecord();
|
|||
}
|
||||
}
|
||||
}
|
||||
:deep {
|
||||
.el-radio-group {
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.el-radio-group .el-radio {
|
||||
width: 25%;
|
||||
margin-right: 0;
|
||||
height: auto;
|
||||
min-height: 30px;
|
||||
}
|
||||
.el-radio__input.is-disabled + span.el-radio__label {
|
||||
white-space: break-spaces;
|
||||
word-break: break-all;
|
||||
line-height: 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -195,7 +195,7 @@ const data = reactive({
|
|||
const classFileExportDialogVisible = ref(false);
|
||||
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
|
||||
useListData(getUserClassesList, {
|
||||
otherParams: { USER_ID },
|
||||
otherParams: { USER_ID, TRAINTYPE_ID: "c70bf859512241579a8a30fc5d1ae153" },
|
||||
});
|
||||
const fnPersonnelRegistrationForm = (STUDENT_ID, USER_ID) => {
|
||||
data.personnelRegistrationFormDialog.STUDENT_ID = STUDENT_ID;
|
||||
|
|
|
@ -93,7 +93,7 @@
|
|||
<tr>
|
||||
<td>岗位名称</td>
|
||||
<td>
|
||||
{{ info.POST_NAME }}
|
||||
{{ info.TYPE_OF_WORK_NAME }}
|
||||
</td>
|
||||
<td>之前从事本岗位时间</td>
|
||||
<td colspan="2">
|
||||
|
|
|
@ -103,7 +103,9 @@ import ClassFile from "./components/class_file.vue";
|
|||
|
||||
const router = useRouter();
|
||||
const { list, pagination, searchForm, fnGetData, fnResetPagination, tableRef } =
|
||||
useListData(getStudentsList);
|
||||
useListData(getStudentsList, {
|
||||
otherParams: { TRAINTYPE_ID: "c70bf859512241579a8a30fc5d1ae153" },
|
||||
});
|
||||
const classFileDialogVisible = ref(false);
|
||||
const fnBatchDownload = debounce(
|
||||
1000,
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
{{ serialNumber(pagination, $index) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="USERNAME" label="姓名" />
|
||||
<el-table-column prop="SIGNTYPENAME" label="签字人员类型" />
|
||||
<el-table-column label="签字图片">
|
||||
<template #default="{ row }">
|
||||
|
|
|
@ -233,4 +233,22 @@ watchEffect(() => {
|
|||
}
|
||||
}
|
||||
}
|
||||
:deep {
|
||||
.el-radio-group {
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.el-radio-group .el-radio {
|
||||
width: 25%;
|
||||
margin-right: 0;
|
||||
height: auto;
|
||||
min-height: 30px;
|
||||
}
|
||||
.el-radio__input.is-disabled + span.el-radio__label {
|
||||
white-space: break-spaces;
|
||||
word-break: break-all;
|
||||
line-height: 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -95,6 +95,12 @@
|
|||
:label="item.USERNAME"
|
||||
/>
|
||||
</el-select>
|
||||
<span
|
||||
v-if="data.recordingPersonnelList.length === 0"
|
||||
class="text-red"
|
||||
>
|
||||
*请到【企业用户管理】->【签字人员管理】菜单中配置
|
||||
</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
|
@ -111,6 +117,12 @@
|
|||
:label="item.USERNAME"
|
||||
/>
|
||||
</el-select>
|
||||
<span
|
||||
v-if="data.recordingPersonnelList.length === 0"
|
||||
class="text-red"
|
||||
>
|
||||
*请到【企业用户管理】->【签字人员管理】菜单中配置
|
||||
</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
|
@ -127,6 +139,12 @@
|
|||
:label="item.USERNAME"
|
||||
/>
|
||||
</el-select>
|
||||
<span
|
||||
v-if="data.recordingPersonnelList.length === 0"
|
||||
class="text-red"
|
||||
>
|
||||
*请到【企业用户管理】->【签字人员管理】菜单中配置
|
||||
</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
|
|
|
@ -99,4 +99,23 @@ const fnExamDetails = async (STAGEEXAM_ID) => {
|
|||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss"></style>
|
||||
<style scoped lang="scss">
|
||||
:deep {
|
||||
.el-radio-group {
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.el-radio-group .el-radio {
|
||||
width: 25%;
|
||||
margin-right: 0;
|
||||
height: auto;
|
||||
min-height: 30px;
|
||||
}
|
||||
.el-radio__input.is-disabled + span.el-radio__label {
|
||||
white-space: break-spaces;
|
||||
word-break: break-all;
|
||||
line-height: 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -29,14 +29,6 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="行业类型" prop="INDUSTRY_END_ID">
|
||||
<layout-learning-train-type
|
||||
v-model="searchForm.INDUSTRY_END_ID"
|
||||
type="industryType"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="岗位类型" prop="POSTTYPE">
|
||||
<layout-learning-train-type
|
||||
|
|
|
@ -217,8 +217,8 @@ const formRef = ref(null);
|
|||
const data = reactive({
|
||||
form: {
|
||||
EXAMNAME: "",
|
||||
EXAMSCORE: 0,
|
||||
PASSSCORE: 0,
|
||||
EXAMSCORE: 100,
|
||||
PASSSCORE: 60,
|
||||
fileList: [],
|
||||
},
|
||||
addOrEditDialog: {
|
||||
|
|
|
@ -294,4 +294,22 @@ const fnSubmit = debounce(
|
|||
flex: 1;
|
||||
}
|
||||
}
|
||||
:deep {
|
||||
.el-radio-group {
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.el-radio-group .el-radio {
|
||||
width: 25%;
|
||||
margin-right: 0;
|
||||
height: auto;
|
||||
min-height: 30px;
|
||||
}
|
||||
.el-radio__input.is-disabled + span.el-radio__label {
|
||||
white-space: break-spaces;
|
||||
word-break: break-all;
|
||||
line-height: 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -12,6 +12,11 @@
|
|||
<el-input v-model="searchForm.STUDENT_NAME" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="身份证号" prop="USER_ID_CARD">
|
||||
<el-input v-model="searchForm.USER_ID_CARD" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="班级编码" prop="CODE">
|
||||
<el-input v-model="searchForm.CODE" />
|
||||
|
|
|
@ -25,6 +25,14 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="行业类型" prop="INDUSTRY_END_ID">
|
||||
<layout-learning-train-type
|
||||
v-model="searchForm.INDUSTRY_END_ID"
|
||||
type="industryType"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="培训类型" prop="TRAINTYPE">
|
||||
<layout-learning-train-type
|
||||
|
@ -37,14 +45,6 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="行业类型" prop="INDUSTRY_END_ID">
|
||||
<layout-learning-train-type
|
||||
v-model="searchForm.INDUSTRY_END_ID"
|
||||
type="industryType"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="岗位类型" prop="POSTTYPE">
|
||||
<layout-learning-train-type
|
||||
|
@ -92,13 +92,14 @@
|
|||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column label="上传时间" prop="CREATTIME" width="150" />
|
||||
<el-table-column label="培训类型" prop="TRAININGTYPE_NAME" />
|
||||
<el-table-column label="行业类型">
|
||||
<template #default="{ row }">
|
||||
{{ row.INDUSTRY_END_NAME || row.INDUSTRY_ALL_NAME }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="培训类型" prop="TRAININGTYPE_NAME" />
|
||||
<el-table-column label="岗位类型" prop="POSTTYPE_NAME" />
|
||||
<el-table-column label="培训级别" prop="TRAINLEVEL_NAME" />
|
||||
<el-table-column label="课件数" prop="COURSEWARECOUNT" width="100" />
|
||||
<el-table-column label="课件时长" width="100">
|
||||
<template #default="{ row }">
|
||||
|
|
|
@ -89,4 +89,22 @@ defineProps({
|
|||
}
|
||||
}
|
||||
}
|
||||
:deep {
|
||||
.el-radio-group {
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.el-radio-group .el-radio {
|
||||
width: 25%;
|
||||
margin-right: 0;
|
||||
height: auto;
|
||||
min-height: 30px;
|
||||
}
|
||||
.el-radio__input.is-disabled + span.el-radio__label {
|
||||
white-space: break-spaces;
|
||||
word-break: break-all;
|
||||
line-height: 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -12,6 +12,14 @@
|
|||
<el-input v-model="searchForm.KEYWORDS" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="行业类型" prop="INDUSTRY_END_ID">
|
||||
<layout-learning-train-type
|
||||
v-model="searchForm.INDUSTRY_END_ID"
|
||||
type="industryType"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="培训类型" prop="TRAINTYPE">
|
||||
<layout-learning-train-type
|
||||
|
@ -21,14 +29,6 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="行业类型" prop="INDUSTRY_END_ID">
|
||||
<layout-learning-train-type
|
||||
v-model="searchForm.INDUSTRY_END_ID"
|
||||
type="industryType"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="岗位类型" prop="POSTTYPE">
|
||||
<layout-learning-train-type
|
||||
|
@ -66,8 +66,8 @@
|
|||
show-overflow-tooltip
|
||||
/>
|
||||
<el-table-column label="上传时间" prop="CREATTIME" width="150" />
|
||||
<el-table-column label="培训类型" prop="TRAININGTYPE_NAME" />
|
||||
<el-table-column label="行业类型" prop="INDUSTRY_END_NAME" />
|
||||
<el-table-column label="培训类型" prop="TRAININGTYPE_NAME" />
|
||||
<el-table-column label="岗位类型" prop="POSTTYPE_NAME" />
|
||||
<el-table-column label="培训教师" prop="TEACHERNAME" />
|
||||
<el-table-column label="学时" prop="CLASSHOUR" width="100" />
|
||||
|
|
Loading…
Reference in New Issue