整体样式调整1.1

This commit is contained in:
wangxuemei
2024-07-18 16:23:26 +08:00
parent fd3ef9de10
commit 768b395d4e
7 changed files with 570 additions and 104 deletions

View File

@@ -6,4 +6,6 @@ export const queryTeacherFeeMonthly = (obj) => http.post('teacher/fee/queryTeach
////讲师费月度统计--明细 ////讲师费月度统计--明细
export const getTeacherFeeDetailListByTeacherNo = (params) => http.get('teacher/fee/getTeacherFeeDetailListByTeacherNo',{ params }) export const getTeacherFeeDetailListByTeacherNo = (params) => http.get('teacher/fee/getTeacherFeeDetailListByTeacherNo',{ params })
//讲师费明细 //讲师费明细
export const getTeacherFeeListByTeacherNo = (obj) => http.post('teacher/fee/getTeacherFeeListByTeacherNo', obj) export const getTeacherFeeListByTeacherNo = (obj) => http.post('teacher/fee/getTeacherFeeListByTeacherNo', obj)
//讲师费汇总上月数据
export const getPreviousTeacherfee = (params) => http.get('teacher/fee/getPreviousTeacherFee', {params})

View File

@@ -69,18 +69,25 @@
</div> </div>
</div> </div>
<!-- 弹窗组件 --> <!-- 弹窗组件 -->
<a-modal :visible="teacherdialog" :title="teacherdialogtitle" @ok="closeModal2" :footer="null" :closable="false" <a-modal :visible="teacherdialog" @ok="closeModal2" :footer="null" :closable="false"
wrapClassName="doublepro" width="774px" height="476px"> wrapClassName="CreatePath" >
<div style="cursor: pointer; margin-right: 32px;float: right; margin-top: -40px;" @click="cancelTeacherDialog"> <div class="out">
<img style="width: 22px; height: 22px" src="../../assets/images/basicinfo/close22.png" /> <div class="top">
</div> <div class="topc">{{teacherdialogtitle }}</div>
<div @click="cancelTeacherDialog" style="margin-left: 650px; cursor: pointer">
<img
style="width: 20px; height: 20px"
src="../../assets/images/basicinfo/close.png"
/>
</div>
</div>
<div style="padding-bottom: 15px;"> <div style="padding-bottom: 15px;">
<div class="headerLeft" style="margin-left: 33px"> <div class="headerLeft" style="margin-left: 33px">
<a-button @click="particulars">个人详情</a-button> <a-button @click="particulars" v-if="teacherdialog1 == 1">个人详情</a-button>
<a-button @click="teacherrecords" v-if="teacherdialog1 == 1">授课记录</a-button> <a-button @click="teacherrecords" v-if="teacherdialog1 == 1">授课记录</a-button>
</div> </div>
<!-- 个人详情 --> <!-- 个人详情 -->
<div style="border: 1px rgb(177, 177, 177) solid; margin-left: 33px; margin-right: 33px; margin-bottom: 33px;" <div style=" margin-left: 33px; margin-right: 33px; margin-bottom: 33px;"
v-show="tagsshow == 1"> v-show="tagsshow == 1">
<div class="ExternalLecturer"> <div class="ExternalLecturer">
<div class="filter"> <div class="filter">
@@ -130,13 +137,18 @@
<span v-if="teacherdialog1 == 1" style="display: block; width: 500px;">{{ formParam.description <span v-if="teacherdialog1 == 1" style="display: block; width: 500px;">{{ formParam.description
}}</span> }}</span>
</div> </div>
<div class="select">
<span style="display:inline-block ;width:80px ;text-align:center ">备注 :</span> <!-- 备注 -->
<a-input type="textarea" v-if="teacherdialog1 == 0" v-model:value="formParam.remark" <div style="width: 834px;height: 1px;"></div>
style="width:500px; height: 80px; "> <span style="display:inline-block ;width:115px ;text-align:center ">备注 :</span>
</a-input> <a-textarea v-if="teacherdialog1 == 0"
v-model:value="formParam.remark"
showCount
:maxlength="200"
style="width: 500px; height: 100px; border-radius: 8px"
placeholder="请输入"/>
<span v-if="teacherdialog1 == 1" class=display1>{{ formParam.remark }}</span> <span v-if="teacherdialog1 == 1" class=display1>{{ formParam.remark }}</span>
</div>
<div class="del_btnbox" v-if="teacherdialog1 == 0"> <div class="del_btnbox" v-if="teacherdialog1 == 0">
<a-button class="del_btn btn1" @click="cancelTeacherDialog" style="margin-right: 32px;">取消</a-button> <a-button class="del_btn btn1" @click="cancelTeacherDialog" style="margin-right: 32px;">取消</a-button>
<a-button class="del_btn btn2" @click="createTeacherDialog" :loading="buttonLoading">保存 <a-button class="del_btn btn2" @click="createTeacherDialog" :loading="buttonLoading">保存
@@ -161,6 +173,7 @@
class="pagination" @change="teacherchangePagination" /> class="pagination" @change="teacherchangePagination" />
</div> </div>
</div> </div>
</div>
</a-modal> </a-modal>
<!-- 删除功能弹窗 --> <!-- 删除功能弹窗 -->
<div> <div>
@@ -700,7 +713,7 @@ export default {
}, },
}; };
</script> </script>
<style lang="scss"> <style lang="scss" scoped>
//导出按钮icon //导出按钮icon
.daochu { .daochu {
width: 16px; width: 16px;
@@ -1148,4 +1161,60 @@ export default {
} }
} }
} }
.CreatePath {
.out {
z-index: 9999;
display: block;
position: absolute;
top: 90px;
width:1000px;
// height: 525px;
background-color: #fff;
box-shadow: 0 0 10px rgba(118, 136, 166, 0.21);
left: 50%;
top:400px;
transform: translate(-50%, -50%);
.top {
width: 100%;
height: 68px;
background: linear-gradient(
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
display: flex;
align-items: center;
.topimg {
width: 18px;
height: 18px;
margin-left: 27px;
margin-top: -2px;
}
.topc {
color: #000000;
font-size: 16px;
margin-left: 8px;
}
}
.mid {
width: 100%;
height: 100%;
background-color: #fff;
display: flex;
flex-direction: column;
align-items: center;
.d {
// margin-top: 8px;
// color: #ff4e4e;
margin-left: -5px;
}
}
}
}
</style> </style>

View File

@@ -86,15 +86,23 @@
</div> </div>
</div> </div>
<!-- 弹窗组件 --> <!-- 弹窗组件 -->
<a-modal :visible="teacherdialog" :title="teacherdialogtitle" @ok="closeModal2" :footer="null" :closable="false" <a-modal :visible="teacherdialog" @ok="closeModal2" :footer="null" :closable="false"
wrapClassName="doublepro" width="900px" height="476px"> wrapClassName="CreatePath">
<div style="cursor: pointer; margin-right: 32px;float: right; margin-top: -40px;" @click="cancelTeacherDialog"> <div class="out">
<img style="width: 22px; height: 22px" src="../../assets/images/basicinfo/close22.png" /> <div class="top">
</div> <!-- <img class="topimg" src="../../assets/images/courseManage/add1.png" /> -->
<div class="topc">{{teacherdialogtitle }}</div>
<div @click="cancelTeacherDialog" style="margin-left: 650px; cursor: pointer">
<img
style="width: 20px; height: 20px"
src="../../assets/images/basicinfo/close.png"
/>
</div>
</div>
<div style="padding-bottom: 15px;"> <div style="padding-bottom: 15px;">
<!-- 边框 --> <!-- 边框 -->
<div style="border: 1px rgb(177, 177, 177) solid; margin-left: 33px; margin-right: 33px; margin-bottom: 33px;"> <div style=" margin-left: 33px; margin-right: 33px; margin-bottom: 33px;">
<div class="ExternalTeaching"> <div class="ExternalTeaching">
<div class="filter"> <div class="filter">
<div class="filterItems"> <div class="filterItems">
@@ -198,9 +206,12 @@
<!-- 备注 --> <!-- 备注 -->
<div style="width: 834px;height: 1px;"></div> <div style="width: 834px;height: 1px;"></div>
<span style="display:inline-block ;width:115px ;text-align:center ">备注 :</span> <span style="display:inline-block ;width:115px ;text-align:center ">备注 :</span>
<a-input v-if="teacherdialog1 == 0" v-model="formParam.remark" <a-textarea v-if="teacherdialog1 == 0"
style="width: 550px ;display:inline-block ; v-model:value="formParam.remark"
height: 80px;" /> showCount
:maxlength="200"
style="width: 500px; height: 100px; border-radius: 8px"
placeholder="请输入"/>
<span v-if="teacherdialog1 == 1" class=display1>{{ formParam.remark }}</span> <span v-if="teacherdialog1 == 1" class=display1>{{ formParam.remark }}</span>
<div class="del_btnbox" v-if="teacherdialog1 == 0"> <div class="del_btnbox" v-if="teacherdialog1 == 0">
<a-button class="del_btn btn1" @click="cancelTeacherDialog" style="margin-right: 32px;">取消</a-button> <a-button class="del_btn btn1" @click="cancelTeacherDialog" style="margin-right: 32px;">取消</a-button>
@@ -213,6 +224,7 @@
</div> </div>
</div> </div>
</div>
</a-modal> </a-modal>
<!-- 删除功能弹窗 --> <!-- 删除功能弹窗 -->
<div> <div>
@@ -497,7 +509,7 @@ export default {
const handleModify = (record) => { const handleModify = (record) => {
state.teacherdialog1 = 0 state.teacherdialog1 = 0
state.teacherdialog = true; state.teacherdialog = true;
state.teacherdialogtitle = '查看详情' state.teacherdialogtitle = '修改授课记录'
TeacherSystem(record) TeacherSystem(record)
} }
//保存 //保存
@@ -653,7 +665,7 @@ export default {
}, },
}; };
</script> </script>
<style lang="scss"> <style lang="scss" scoped>
//导出按钮icon //导出按钮icon
.daochu { .daochu {
@@ -1109,4 +1121,60 @@ export default {
} }
} }
} }
.CreatePath {
.out {
z-index: 9999;
display: block;
position: absolute;
top: 90px;
width:850px !important;
height:600px;
background-color: #fff;
box-shadow: 0 0 10px rgba(118, 136, 166, 0.21);
left: 50%;
top:300px;
transform: translate(-50%, -50%);
.top {
width: 100%;
height: 68px;
background: linear-gradient(
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
display: flex;
align-items: center;
.topimg {
width: 18px;
height: 18px;
margin-left: 27px;
margin-top: -2px;
}
.topc {
color: #000000;
font-size: 16px;
margin-left: 8px;
}
}
.mid {
width: 100%;
height: 100%;
background-color: #fff;
display: flex;
flex-direction: column;
align-items: center;
.d {
// margin-top: 8px;
// color: #ff4e4e;
margin-left: -5px;
}
}
}
}
</style> </style>

View File

@@ -106,22 +106,27 @@
</div> </div>
</div> </div>
<!-- 弹窗组件 --> <!-- 弹窗组件 -->
<a-modal :visible="teacherdialog" :title="teacherdialogtitle" @ok="closeModal2" :footer="null" :closable="false" <a-modal :visible="teacherdialog" @ok="closeModal2" :footer="null" :closable="false" wrapClassName="CreatePath"
wrapClassName="doublepro" width="774px" height="476px"> >
<div style="cursor: pointer; margin-right: 32px;float: right; margin-top: -40px;" @click="cancelTeacherDialog"> <div class="out">
<div class="top">
<!-- <img class="topimg" src="../../assets/images/courseManage/add1.png" /> -->
<div class="topc">{{teacherdialogtitle }}</div>
<div @click="cancelTeacherDialog" style="margin-left: 650px; cursor: pointer">
<img <img
style="width: 22px; height: 22px" style="width: 20px; height: 20px"
src="../../assets/images/basicinfo/close22.png" src="../../assets/images/basicinfo/close.png"
/> />
</div> </div>
<div style="padding-bottom: 15px;" > </div>
<div class="mid clearfix">
<div class="headerLeft" style="margin-left: 33px" > <div class="headerLeft" style="margin-left: 33px" >
<a-button @click ="particulars">个人详情</a-button> <a-button @click ="particulars" v-if="teacherdialog1 == 1" >个人详情</a-button>
<a-button @click ="teacherrecords" v-if="teacherdialog1 == 1" >授课记录</a-button> <a-button @click ="teacherrecords" v-if="teacherdialog1 == 1" >授课记录</a-button>
<a-button @click ="promotionrecords" v-if="teacherdialog1 == 1" >晋级记录</a-button> <a-button @click ="promotionrecords" v-if="teacherdialog1 == 1" >晋级记录</a-button>
</div> </div>
<!-- 个人详情 --> <!-- 个人详情 -->
<div style="border: 1px rgb(177, 177, 177) solid; margin-left: 33px; margin-right: 33px; margin-bottom: 33px;" v-show="tagsshow==1"> <div v-show="tagsshow==1">
<div class="InsideLecturer" > <div class="InsideLecturer" >
<div class="filter"> <div class="filter">
<div class="filterItems"> <div class="filterItems">
@@ -229,7 +234,7 @@
<span style="display:inline-block ;width:80px ; text-align:center ">讲师介绍 :</span> <span style="display:inline-block ;width:80px ; text-align:center ">讲师介绍 :</span>
</div> </div>
<Editor v-if="teacherdialog1 == 0" v-model="formParam.description" <Editor v-if="teacherdialog1 == 0" v-model="formParam.description"
style="width: 500px ;display:inline-block ; margin-top:-50px ;margin-left:80px " /> style="width: 900px ;display:inline-block ; margin-top:-50px ;margin-left:80px " />
<span v-if="teacherdialog1 == 1" style="display: block; width: 500px;">{{ formParam.description }}</span> <span v-if="teacherdialog1 == 1" style="display: block; width: 500px;">{{ formParam.description }}</span>
</div> </div>
<div class="select"> <div class="select">
@@ -238,7 +243,7 @@
<span style="display:inline-block ;width:80px ; text-align:center ">工作经历 :</span> <span style="display:inline-block ;width:80px ; text-align:center ">工作经历 :</span>
</div> </div>
<Editor v-if="teacherdialog1 == 0" v-model="formParam.workExperience" <Editor v-if="teacherdialog1 == 0" v-model="formParam.workExperience"
style="width: 500px ;display:inline-block ; margin-top:-50px ;margin-left:80px " /> style="width: 900px ;display:inline-block ; margin-top:-50px ;margin-left:80px " />
<span v-if="teacherdialog1 == 1" style="display: block; width: 500px;">{{ formParam.one }}</span> <span v-if="teacherdialog1 == 1" style="display: block; width: 500px;">{{ formParam.one }}</span>
</div> </div>
<div class="select"> <div class="select">
@@ -247,7 +252,7 @@
<span style="display:inline-block ;width:80px ; text-align:center ">擅长课程 :</span> <span style="display:inline-block ;width:80px ; text-align:center ">擅长课程 :</span>
</div> </div>
<Editor v-if="teacherdialog1 == 0" v-model="formParam.courses" <Editor v-if="teacherdialog1 == 0" v-model="formParam.courses"
style="width: 500px ;display:inline-block ; margin-top:-50px ;margin-left:80px " /> style="width: 900px ;display:inline-block ; margin-top:-50px ;margin-left:80px " />
<span v-if="teacherdialog1 == 1" style="display: block; width: 500px;">{{ formParam.one }}</span> <span v-if="teacherdialog1 == 1" style="display: block; width: 500px;">{{ formParam.one }}</span>
</div> </div>
<div class="select"> <div class="select">
@@ -321,6 +326,7 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</a-modal> </a-modal>
<!-- 删除功能弹窗 --> <!-- 删除功能弹窗 -->
<div> <div>
@@ -380,9 +386,11 @@
</div> </div>
</template> </template>
<script lang="jsx"> <script lang="jsx">
import { reactive, toRefs, ref ,watch} from "vue"; import { reactive, toRefs, ref ,watch ,shallowRef ,onUnmounted} from "vue";
import Editor from "@/components/project/Editor"; import Editor from "@/components/project/Editor";
import Upload from "@/components/project/Upload"; import Upload from "@/components/project/Upload";
// import { Editor, Toolbar } from "@wangeditor/editor-for-vue";
import { fileUp } from "../../api/indexEval";
import { message } from "ant-design-vue"; import { message } from "ant-design-vue";
import {getTeacherSystemList , getTeacherList,getTeacherPayRollPriceList, getLevel,insertTeacher,deleteInTeacher,updateInTeacher,getTeacherById, updateTeacherState,getTeacherCourseList , getTeacherExpertise,getTeacherExpertiseByPid ,infoteacher,getTeacherLogList } from "../../api/Lecturer"; import {getTeacherSystemList , getTeacherList,getTeacherPayRollPriceList, getLevel,insertTeacher,deleteInTeacher,updateInTeacher,getTeacherById, updateTeacherState,getTeacherCourseList , getTeacherExpertise,getTeacherExpertiseByPid ,infoteacher,getTeacherLogList } from "../../api/Lecturer";
// import {getProjSt} from "../../api/indexProjStu"; // import {getProjSt} from "../../api/indexProjStu";
@@ -392,6 +400,7 @@ export default {
components: { components: {
// AddTeacher, // AddTeacher,
Editor, Editor,
// Toolbar,
Upload Upload
}, },
setup() { setup() {
@@ -1179,8 +1188,57 @@ export default {
// ...state.searchParam // ...state.searchParam
// }, `project_${new Date().getTime()}.xlsx` ) // }, `project_${new Date().getTime()}.xlsx` )
} }
//富文本编辑器
// 编辑器实例,必须用 shallowRef
const editorRef = shallowRef();
// 内容 HTML
const valueHtml = ref("");
const toolbarConfig = {
excludeKeys: ["insertVideo", "insertImage"],
};
const editorConfig = { placeholder: "请输入内容...", MENU_CONF: {} };
// editorConfig.MENU_CONF["uploadImage"] = {
// // 自定义上传
// async customUpload(file, insertFn) {
// const formData = new FormData();
// formData.append("file", file);
// fileUp(formData).then((res) => {
// if (res.data.code === 200) {
// // 最后插入图片 url alt href
// console.log(
// "上传图片结果",
// process.env.VUE_APP_FILE_PATH + res.data.data
// );
// insertFn(
// process.env.VUE_APP_FILE_PATH + res.data.data,
// file.name,
// res.data.data
// );
// }
// });
// },
// };
const handleCreated = (editor) => {
editorRef.value = editor; // 记录 editor 实例,重要!
};
// const handleDestory = () => {
// const editor = editorRef.value;
// if (editor == null) return;
// editor.destroy();
// };
// 组件销毁时,也及时销毁编辑器
onUnmounted(() => {
console.log("组件销毁时,也及时销毁编辑器");
// handleDestory();
});
return { return {
...toRefs(state), ...toRefs(state),
// editorRef,
// valueHtml,
// toolbarConfig,
// handleCreated,
// editorConfig,
// mode: "simple", // 或 'simple'
changeSelect, changeSelect,
handleExport, handleExport,
LecturerSystemList, LecturerSystemList,
@@ -1232,7 +1290,7 @@ export default {
}, },
}; };
</script> </script>
<style lang="scss"> <style lang="scss" scoped>
//导出按钮icon //导出按钮icon
.daochu { .daochu {
width: 16px; width: 16px;
@@ -1581,14 +1639,14 @@ export default {
.delete { .delete {
z-index: 9999; z-index: 9999;
width: 424px; width: 424px ;
background: #ffffff; background: #ffffff;
box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21); box-shadow: 0px 1px 35px 0px rgba(118, 136, 166, 0.21);
border-radius: 4px; border-radius: 4px;
position: absolute; position: absolute;
left: 50%; left: 50%;
top: 10%; top: 10%;
transform: translate(-50%, -50%); // transform: translate(-50%, -50%);
.del_header { .del_header {
position: absolute; position: absolute;
@@ -1680,21 +1738,61 @@ export default {
} }
} }
} }
</style> .CreatePath {
.out {
z-index: 9999;
display: block;
position: absolute;
top: 90px;
width:1080px !important;
height: 650px;
overflow: auto;
background-color: #fff;
box-shadow: 0 0 10px rgba(118, 136, 166, 0.21);
left: 50%;
top:300px;
transform: translate(-50%, -50%);
.top {
width: 100%;
height: 68px;
background: linear-gradient(
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
display: flex;
align-items: center;
<!-- //二级页面翻页 .topimg {
const feeMonthlyPagination = (page,pageSize) => { width: 18px;
state.queryFeeMonthly.pageNo = page; height: 18px;
TeacherSystem(); margin-left: 27px;
}; margin-top: -2px;
const handleLooka= (record)=>{ }
} --> .topc {
<!-- tableLoading:false, color: #000000;
tableLoadinga:false, font-size: 16px;
tableDataTotal: -1,//table列表总条数 margin-left: 8px;
feeMonthlytableDataTotal:-1,//二级列表总条数 --> }
<!-- --> }
.mid {
width: 100%;
height: 100%;
background-color: #fff;
display: flex;
flex-direction: column;
align-items: center;
.d {
// margin-top: 8px;
// color: #ff4e4e;
margin-left: -5px;
}
}
}
}
</style>

View File

@@ -113,16 +113,21 @@
</div> </div>
</div> </div>
<!-- 弹窗组件 --> <!-- 弹窗组件 -->
<a-modal :visible="teacherdialog" :title="teacherdialogtitle" @ok="closeModal2" :footer="null" :closable="false" <a-modal :visible="teacherdialog" @ok="closeModal2" :footer="null" :closable="false" wrapClassName="CreatePath"
wrapClassName="doublepro" width="834px" height="476px"> >
<div style="cursor: pointer; margin-right: 32px;float: right; margin-top: -40px;" @click="cancelTeacherDialog"> <div class="out">
<div class="top">
<!-- <img class="topimg" src="../../assets/images/courseManage/add1.png" /> -->
<div class="topc">{{teacherdialogtitle }}</div>
<div @click="cancelTeacherDialog" style="margin-left: 650px; cursor: pointer">
<img <img
style="width: 22px; height: 22px" style="width: 20px; height: 20px"
src="../../assets/images/basicinfo/close22.png" src="../../assets/images/basicinfo/close.png"
/> />
</div> </div>
</div>
<div style="padding-bottom: 15px;" > <div style="padding-bottom: 15px;" >
<div style="border: 1px rgb(177, 177, 177) solid; margin-left: 33px; margin-right: 33px; margin-bottom: 33px;" > <div style=" margin-left: 33px; margin-right: 33px; margin-bottom: 33px;" >
<div class="InsideTeaching" > <div class="InsideTeaching" >
<div class="filter"> <div class="filter">
<div class="filterItems"> <div class="filterItems">
@@ -321,9 +326,15 @@
<!-- 备注 --> <!-- 备注 -->
<div style="width: 834px;height: 1px;"></div> <div style="width: 834px;height: 1px;"></div>
<span style="display:inline-block ;width:115px ;text-align:center ">备注 :</span> <span style="display:inline-block ;width:115px ;text-align:center ">备注 :</span>
<a-input type="textarea" v-if="teacherdialog1 == 0" v-model:value="formParam.remark" <a-textarea v-if="teacherdialog1 == 0"
style="width:550px; height: 115px; "> v-model:value="formParam.remark"
</a-input> showCount
:maxlength="200"
style="width: 500px; height: 100px; border-radius: 8px"
placeholder="请输入"/>
<!-- <span style="color: #c7cbd2" v-if="teacherdialog1 == 0">
{{formParam.remark.length }}/200
</span> -->
<span v-if="teacherdialog1 == 1" class=display1>{{ formParam.remark }}</span> <span v-if="teacherdialog1 == 1" class=display1>{{ formParam.remark }}</span>
<div class="del_btnbox" v-if="teacherdialog1 == 0"> <div class="del_btnbox" v-if="teacherdialog1 == 0">
<a-button class="del_btn btn1" @click="cancelTeacherDialog" style="margin-right: 32px;">取消</a-button> <a-button class="del_btn btn1" @click="cancelTeacherDialog" style="margin-right: 32px;">取消</a-button>
@@ -336,6 +347,7 @@
</div> </div>
</div> </div>
</div>
</a-modal> </a-modal>
<!-- 删除功能弹窗 --> <!-- 删除功能弹窗 -->
<div> <div>
@@ -692,7 +704,7 @@ export default {
const handleModify = (record) => { const handleModify = (record) => {
state.teacherdialog1 = 0 state.teacherdialog1 = 0
state.teacherdialog = true; state.teacherdialog = true;
state.teacherdialogtitle = '修改信息' state.teacherdialogtitle = '修改授课记录'
TeacherSystem(record) TeacherSystem(record)
} }
//保存 //保存
@@ -861,7 +873,7 @@ export default {
}, },
}; };
</script> </script>
<style lang="scss"> <style lang="scss" scoped>
//导出按钮icon //导出按钮icon
.daochu { .daochu {
width: 16px; width: 16px;
@@ -1314,4 +1326,60 @@ export default {
} }
} }
} }
.CreatePath {
.out {
z-index: 9999;
display: block;
position: absolute;
top: 90px;
width:850px !important;
height: 750px;
background-color: #fff;
box-shadow: 0 0 10px rgba(118, 136, 166, 0.21);
left: 50%;
top:300px;
transform: translate(-50%, -50%);
.top {
width: 100%;
height: 68px;
background: linear-gradient(
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
display: flex;
align-items: center;
.topimg {
width: 18px;
height: 18px;
margin-left: 27px;
margin-top: -2px;
}
.topc {
color: #000000;
font-size: 16px;
margin-left: 8px;
}
}
.mid {
width: 100%;
height: 100%;
background-color: #fff;
display: flex;
flex-direction: column;
align-items: center;
.d {
// margin-top: 8px;
// color: #ff4e4e;
margin-left: -5px;
}
}
}
}
</style> </style>

View File

@@ -128,16 +128,21 @@
</div> </div>
</div> </div>
<!-- 弹窗组件 --> <!-- 弹窗组件 -->
<a-modal :visible="teacherdialog" :title="teacherdialogtitle" @ok="closeModal2" :footer="null" :closable="false" <a-modal :visible="teacherdialog" @ok="closeModal2" :footer="null" :closable="false" wrapClassName="CreatePath"
wrapClassName="doublepro" width="774px" height="476px"> >
<div style="cursor: pointer; margin-right: 32px;float: right; margin-top: -40px;" @click="cancelTeacherDialog"> <div class="out">
<div class="top">
<!-- <img class="topimg" src="../../assets/images/courseManage/add1.png" /> -->
<div class="topc">{{teacherdialogtitle }}</div>
<div @click="cancelTeacherDialog" style="margin-left: 650px; cursor: pointer">
<img <img
style="width: 22px; height: 22px" style="width: 20px; height: 20px"
src="../../assets/images/basicinfo/close22.png" src="../../assets/images/basicinfo/close.png"
/> />
</div> </div>
</div>
<div style="padding-bottom: 15px;" > <div style="padding-bottom: 15px;" >
<div style="border: 1px rgb(177, 177, 177) solid; margin-left: 33px; margin-right: 33px; margin-bottom: 33px;" v-show="tagsshow==1"> <div style=" margin-left: 33px; margin-right: 33px; margin-bottom: 33px;" v-show="tagsshow==1">
<div class="LecturerFeeManagement" > <div class="LecturerFeeManagement" >
<div class="filter"> <div class="filter">
<div class="filterItems"> <div class="filterItems">
@@ -371,9 +376,12 @@
<!-- 备注 --> <!-- 备注 -->
<div style="width: 834px;height: 1px;"></div> <div style="width: 834px;height: 1px;"></div>
<span style="display:inline-block ;width:80px ;text-align:center ">备注 :</span> <span style="display:inline-block ;width:80px ;text-align:center ">备注 :</span>
<a-input type="textarea" v-if="teacherdialog1 == 0" v-model:value="formParam.remark" <a-textarea v-if="teacherdialog1 == 0"
style="width:550px; height: 115px; "> v-model:value="formParam.remark"
</a-input> showCount
:maxlength="200"
style="width: 500px; height: 100px; border-radius: 8px"
placeholder="请输入"/>
<span v-if="teacherdialog1 == 1" class=display1>{{ formParam.remark }}</span> <span v-if="teacherdialog1 == 1" class=display1>{{ formParam.remark }}</span>
<div style="width: 100%; height: 1px ;"></div> <div style="width: 100%; height: 1px ;"></div>
<div style="padding: 10px 0" v-if="teacherdialog1 == 1" > <div style="padding: 10px 0" v-if="teacherdialog1 == 1" >
@@ -395,6 +403,7 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</a-modal> </a-modal>
<!-- 删除功能弹窗 --> <!-- 删除功能弹窗 -->
<!-- <div> <!-- <div>
@@ -1080,7 +1089,7 @@ export default {
}, },
}; };
</script> </script>
<style lang="scss"> <style lang="scss" scoped>
//导出按钮icon //导出按钮icon
.daochu { .daochu {
width: 16px; width: 16px;
@@ -1528,4 +1537,60 @@ export default {
} }
} }
} }
.CreatePath {
.out {
z-index: 9999;
display: block;
position: absolute;
top: 90px;
width:800px !important;
height:750px;
background-color: #fff;
box-shadow: 0 0 10px rgba(118, 136, 166, 0.21);
left: 50%;
top:300px ;
transform: translate(-50%, -50%);
.top {
width: 100%;
height: 68px;
background: linear-gradient(
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
display: flex;
align-items: center;
.topimg {
width: 18px;
height: 18px;
margin-left: 27px;
margin-top: -2px;
}
.topc {
color: #000000;
font-size: 16px;
margin-left: 8px;
}
}
.mid {
width: 100%;
height: 100%;
background-color: #fff;
display: flex;
flex-direction: column;
align-items: center;
.d {
// margin-top: 8px;
// color: #ff4e4e;
margin-left: -5px;
}
}
}
}
</style> </style>

View File

@@ -7,7 +7,7 @@
<div class="filter"> <div class="filter">
<div class="filterItems"> <div class="filterItems">
<div class="select addTimeBox"> <div class="select addTimeBox">
<a-date-picker v-model:value="searchParam.startDate" placeholder="开始日期" format="YYYY-MM-DD" <!-- <a-date-picker v-model:value="searchParam.startDate" placeholder="开始日期" format="YYYY-MM-DD"
allowClear allowClear
style="width: 230px"> style="width: 230px">
</a-date-picker> </a-date-picker>
@@ -15,14 +15,21 @@
<a-date-picker v-model:value="searchParam.endDate" placeholder="结束日期" format="YYYY-MM-DD" <a-date-picker v-model:value="searchParam.endDate" placeholder="结束日期" format="YYYY-MM-DD"
allowClear allowClear
style="width: 230px"> style="width: 230px">
</a-date-picker> </a-date-picker> -->
<div class="addTime">创建时间</div>
<a-range-picker
v-model:value="searchdate"
separator="至"
:placeholder="[' 开始时间', ' 结束时间']"
@change="searchTimeChange"
/>
</div> </div>
<div style="display: flex; margin-bottom: 20px"> <div style="display: flex; margin-bottom: 20px">
<div class="btnn btn1" @click="searchSubmit"> <div class="btnn btn1" @click="searchSubmit">
<div class="search"></div> <div class="search"></div>
<div class="btnText">搜索</div> <div class="btnText">搜索</div>
</div> </div>
<div class="btn btn2" @click="searchReset"> <div class="btn btn2" @click="searchResetPrevious">
<div class="search"></div> <div class="search"></div>
<div class="btnText">重新汇总上月讲师费</div> <div class="btnText">重新汇总上月讲师费</div>
</div> </div>
@@ -54,11 +61,18 @@
</div> </div>
<!-- 二级页面弹窗组件 --> <!-- 二级页面弹窗组件 -->
<a-modal :visible="teacherdialog" :title="teacherdialogtitle" @ok="closeModal2" :footer="null" :closable="false" <a-modal :visible="teacherdialog" @ok="closeModal2" :footer="null" :closable="false" wrapClassName="CreatePath"
wrapClassName="doublepro" width="1300px" height="476px"> >
<div style="padding-bottom: 15px;"> <div class="out">
<div style="cursor: pointer; margin-right: 32px;float: right; margin-top: -40px;" @click="cancelTeacherDialog"> <div class="top">
<img style="width: 22px; height: 22px" src="../../assets/images/basicinfo/close22.png" /> <!-- <img class="topimg" src="../../assets/images/courseManage/add1.png" /> -->
<div class="topc">{{teacherdialogtitle }}</div>
<div @click="cancelTeacherDialog" style="margin-left: 850px; cursor: pointer">
<img
style="width: 20px; height: 20px"
src="../../assets/images/basicinfo/close.png"
/>
</div>
</div> </div>
<div class="LecturerFeeStatistics"> <div class="LecturerFeeStatistics">
<div class="filter"> <div class="filter">
@@ -111,11 +125,18 @@
</div> </div>
</a-modal> </a-modal>
<!-- 三级页面弹窗组件 --> <!-- 三级页面弹窗组件 -->
<a-modal :visible="teacherdialoga" title="讲师费月度统计--明细" @ok="closeModal2" :footer="null" :closable="false" <a-modal :visible="teacherdialoga" @ok="closeModal2" :footer="null" :closable="false" wrapClassName="CreatePath"
wrapClassName="doublepro" width="1300px" height="476px"> >
<div style="padding-bottom: 15px;"> <div class="out">
<div style="cursor: pointer; margin-right: 32px;float: right; margin-top: -40px;" @click="cancelTeacherDialoga"> <div class="top">
<img style="width: 22px; height: 22px" src="../../assets/images/basicinfo/close22.png" /> <!-- <img class="topimg" src="../../assets/images/courseManage/add1.png" /> -->
<div class="topc">讲师费月度统计--明细</div>
<div @click="cancelTeacherDialoga" style="margin-left: 850px; cursor: pointer">
<img
style="width: 20px; height: 20px"
src="../../assets/images/basicinfo/close.png"
/>
</div>
</div> </div>
<div class="LecturerFeeStatistics"> <div class="LecturerFeeStatistics">
<div class="filter"> <div class="filter">
@@ -159,7 +180,7 @@ import { message } from "ant-design-vue";
import dayjs from "dayjs"; import dayjs from "dayjs";
import { getTeacherPayRollPriceList } from "../../api/Lecturer"; import { getTeacherPayRollPriceList } from "../../api/Lecturer";
import { getOrganization } from "../../api/Teaching"; import { getOrganization } from "../../api/Teaching";
import { queryTeacherFeeTotalList, queryTeacherFeeMonthly, getTeacherFeeDetailListByTeacherNo, getTeacherFeeListByTeacherNo } from "../../api/lecturerFeeStatistics"; import { queryTeacherFeeTotalList, queryTeacherFeeMonthly, getTeacherFeeDetailListByTeacherNo, getTeacherFeeListByTeacherNo ,getPreviousTeacherfee} from "../../api/lecturerFeeStatistics";
export default { export default {
name: "LecturerFeeStatistics", name: "LecturerFeeStatistics",
components: { components: {
@@ -176,6 +197,9 @@ export default {
teacherdialog: false, teacherdialog: false,
teacherdialoga: false, teacherdialoga: false,
teacherdialogtitle: null, teacherdialogtitle: null,
searchdate: null, //选择时间
startTime: null, //开始时间
endTime: null, //结束时间
searchParam: { searchParam: {
pageNo: "1", pageNo: "1",
pageSize: "10", pageSize: "10",
@@ -254,17 +278,19 @@ export default {
const searchSubmit = () => { const searchSubmit = () => {
getTableDate(); getTableDate();
}; };
//日期格式转化 //修改时间
const handleDate = () => { const searchTimeChange = (e, date) => {
let startTime = date[0] + " 00:00:00";
} let endTime = date[1] + " 23:59:59";
//重新汇总上月 state.startTime = new Date(startTime).getTime();
const searchReset = () => { state.endTime = new Date(endTime).getTime() ;
state.searchParam = { // state.searchParam.startDate = new Date(startDate).getTime() ;
pageNo: '1', // state.searchParam.endDate = new Date(endDate).getTime() ;
pageSize: '10', state.searchParam.startDate = state.startTime? state.startTime:null,
} state.searchParam.endDate = state.endTime? state.endTime:null,
} console.log( state.searchParam.startDate ? '111' :'222')
console.log(date, state.searchParam.startDate, state.searchParam.endDate);
};
//二级页面搜索 //二级页面搜索
const searchFeeMonthlya = () => { const searchFeeMonthlya = () => {
TeacherSystem() TeacherSystem()
@@ -274,6 +300,7 @@ export default {
state.tableLoading = true state.tableLoading = true
let objA = { ...state.searchParam }; let objA = { ...state.searchParam };
// let objA = {"pageNo":"1","pageSize":"10","startDate":'2024-06-01',"endDate":'2024-06-30'}; // let objA = {"pageNo":"1","pageSize":"10","startDate":'2024-06-01',"endDate":'2024-06-30'};
objA.startDate= state.searchParam.startDate!==null? dayjs(new Date(state.searchParam.startDate).getTime()).format("YYYY-MM-DD"): "", objA.startDate= state.searchParam.startDate!==null? dayjs(new Date(state.searchParam.startDate).getTime()).format("YYYY-MM-DD"): "",
objA.endDate=state.searchParam.endDate!==null? dayjs(new Date(state.searchParam.endDate).getTime()).format("YYYY-MM-DD"): "", objA.endDate=state.searchParam.endDate!==null? dayjs(new Date(state.searchParam.endDate).getTime()).format("YYYY-MM-DD"): "",
queryTeacherFeeTotalList(objA) queryTeacherFeeTotalList(objA)
@@ -281,10 +308,18 @@ export default {
tableData.value = res.data.data.records tableData.value = res.data.data.records
state.tableDataTotal = Number(res.data.data.total); state.tableDataTotal = Number(res.data.data.total);
state.tableLoading = false state.tableLoading = false
console.log("获取讲师tableData", tableData);
}) })
}; };
getTableDate() getTableDate()
//重新汇总上月数据
const searchResetPrevious=()=>{
state.tableLoading = true
getPreviousTeacherfee().then((res)=>{
tableData.value = res.data.data
state.tableDataTotal = Number(res.data.data.total);
state.tableLoading = false
})
}
// // 翻页 // // 翻页
const changePagination = (page, pageSize) => { const changePagination = (page, pageSize) => {
state.searchParam.pageNo = page; state.searchParam.pageNo = page;
@@ -699,7 +734,8 @@ export default {
} }
return { return {
...toRefs(state), ...toRefs(state),
searchTimeChange,
handleFeeMonthly, handleFeeMonthly,
TeacherSystem, TeacherSystem,
handleLook, handleLook,
@@ -726,12 +762,14 @@ export default {
tableFeeList, tableFeeList,
teacherFeeList, teacherFeeList,
columnstableDetailList, columnstableDetailList,
columnstableFeeList columnstableFeeList,
searchResetPrevious,
} }
}, },
}; };
</script> </script>
<style lang="scss"> <style lang="scss" scoped>
//导出按钮icon //导出按钮icon
.daochu { .daochu {
width: 16px; width: 16px;
@@ -1179,5 +1217,63 @@ export default {
} }
} }
} }
.CreatePath {
.out {
z-index: 9999;
display: block;
position: absolute;
top: 90px;
width:1080px !important;
height: 525px;
overflow: auto;
background-color: #fff;
box-shadow: 0 0 10px rgba(118, 136, 166, 0.21);
left: 50%;
top:300px ;
transform: translate(-50%, -50%);
.top {
width: 100%;
height: 68px;
background: linear-gradient(
rgba(78, 166, 255, 0.2) 0%,
rgba(78, 166, 255, 0) 100%
);
display: flex;
align-items: center;
.topimg {
width: 18px;
height: 18px;
margin-left: 27px;
margin-top: -2px;
}
.topc {
color: #000000;
font-size: 16px;
margin-left: 8px;
}
}
.mid {
width: 100%;
height: 100%;
background-color: #fff;
display: flex;
flex-direction: column;
align-items: center;
.d {
// margin-top: 8px;
// color: #ff4e4e;
margin-left: -5px;
}
}
}
}
</style> </style>