mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-11 03:46:45 +08:00
Merge branch '250213-prod-master_1202-gx' into master_1202
This commit is contained in:
@@ -1,2 +1,3 @@
|
|||||||
NODE_ENV=test
|
NODE_ENV=test
|
||||||
VUE_APP_BOE_API_URL=//u-pre.boe.com
|
VUE_APP_BOE_API_URL=//u-pre.boe.com
|
||||||
|
VUE_APP_BASE_API=/manageApi
|
||||||
21
package-lock.json
generated
21
package-lock.json
generated
@@ -3727,8 +3727,6 @@
|
|||||||
"resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz",
|
"resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz",
|
||||||
"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
|
"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"fast-deep-equal": "^3.1.1",
|
"fast-deep-equal": "^3.1.1",
|
||||||
"json-schema-traverse": "^1.0.0",
|
"json-schema-traverse": "^1.0.0",
|
||||||
@@ -3740,9 +3738,7 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
"resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
||||||
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"optional": true,
|
|
||||||
"peer": true
|
|
||||||
},
|
},
|
||||||
"node_modules/ajv-keywords": {
|
"node_modules/ajv-keywords": {
|
||||||
"version": "3.5.2",
|
"version": "3.5.2",
|
||||||
@@ -14457,6 +14453,7 @@
|
|||||||
"integrity": "sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg==",
|
"integrity": "sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
|
"@babel/core": "^7.12.16",
|
||||||
"@babel/helper-compilation-targets": "^7.12.16",
|
"@babel/helper-compilation-targets": "^7.12.16",
|
||||||
"@babel/helper-module-imports": "^7.12.13",
|
"@babel/helper-module-imports": "^7.12.13",
|
||||||
"@babel/plugin-proposal-class-properties": "^7.12.13",
|
"@babel/plugin-proposal-class-properties": "^7.12.13",
|
||||||
@@ -14469,6 +14466,7 @@
|
|||||||
"@vue/babel-plugin-jsx": "^1.0.3",
|
"@vue/babel-plugin-jsx": "^1.0.3",
|
||||||
"@vue/babel-preset-jsx": "^1.1.2",
|
"@vue/babel-preset-jsx": "^1.1.2",
|
||||||
"babel-plugin-dynamic-import-node": "^2.3.3",
|
"babel-plugin-dynamic-import-node": "^2.3.3",
|
||||||
|
"core-js": "^3.8.3",
|
||||||
"core-js-compat": "^3.8.3",
|
"core-js-compat": "^3.8.3",
|
||||||
"semver": "^7.3.4"
|
"semver": "^7.3.4"
|
||||||
},
|
},
|
||||||
@@ -15334,14 +15332,15 @@
|
|||||||
"resolved": "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz",
|
"resolved": "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz",
|
||||||
"integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
|
"integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {},
|
"requires": {
|
||||||
|
"ajv": "^8.0.0"
|
||||||
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ajv": {
|
"ajv": {
|
||||||
"version": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz",
|
"version": "8.12.0",
|
||||||
|
"resolved": "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz",
|
||||||
"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
|
"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true,
|
|
||||||
"peer": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"fast-deep-equal": "^3.1.1",
|
"fast-deep-equal": "^3.1.1",
|
||||||
"json-schema-traverse": "^1.0.0",
|
"json-schema-traverse": "^1.0.0",
|
||||||
@@ -15353,9 +15352,7 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
"resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
|
||||||
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"optional": true,
|
|
||||||
"peer": true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -75,6 +75,13 @@ export const affiliationDelById = (id)=>http.post(`/admin/affiliation/delById?id
|
|||||||
export const isEnable = (obj) => http.post(`/admin/affiliation/isEnable`,obj)
|
export const isEnable = (obj) => http.post(`/admin/affiliation/isEnable`,obj)
|
||||||
//撤回培训发生组织
|
//撤回培训发生组织
|
||||||
export const affiliatIsConfirm = (id) => http.post(`/admin/affiliation/isConfirm?id=${id}`)
|
export const affiliatIsConfirm = (id) => http.post(`/admin/affiliation/isConfirm?id=${id}`)
|
||||||
|
//删除 待提交 ,拒绝 的培训发生组织
|
||||||
|
export const affiliatRemoveById = (id) => http.post(`/admin/affiliation/removeById?id=${id}`)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//讲师费统计详情
|
//讲师费统计详情
|
||||||
export const expenseSummaryById = (obj) => http.get( `/admin/expenseSummary/queryById?id=${obj.id}&name=${obj.name}&trainOrgId=${obj.trainOrgId||''}&pageNo=${obj.pageNo}&pageSize=${obj.pageSize}`)
|
export const expenseSummaryById = (obj) => http.get( `/admin/expenseSummary/queryById?id=${obj.id}&name=${obj.name}&trainOrgId=${obj.trainOrgId||''}&pageNo=${obj.pageNo}&pageSize=${obj.pageSize}`)
|
||||||
//撤回讲师费统计详情
|
//撤回讲师费统计详情
|
||||||
|
|||||||
@@ -23,8 +23,14 @@ export const importTeacherCourseRecord = (obj) => http.post('/importTeacherCours
|
|||||||
export const getAddress = (obj) => http.post('/admin/teacher/getAddress', obj)
|
export const getAddress = (obj) => http.post('/admin/teacher/getAddress', obj)
|
||||||
//讲师费发放情况
|
//讲师费发放情况
|
||||||
export const getCharges = (obj) => http.post('/teacher/fee/getCharges', obj)
|
export const getCharges = (obj) => http.post('/teacher/fee/getCharges', obj)
|
||||||
|
|
||||||
|
//讲师费发放情况
|
||||||
|
export const exportTeacherExpense = (obj) => http.get('/admin/export/exportExpenseTemplate', {params: obj})
|
||||||
|
|
||||||
|
|
||||||
//上传组件
|
//上传组件
|
||||||
export const teacherUpload = (data) =>
|
export const teacherUpload = (data) =>
|
||||||
http.post("/admin/teacher/teacherUpload", data, {
|
http.post("/admin/teacher/teacherUpload", data, {
|
||||||
headers: { "Content-Type": "multipart/form-data",token:getCookieForName("token") },
|
headers: { "Content-Type": "multipart/form-data",token:getCookieForName("token") },
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ export const addTeacherFee= (obj) => http.post('/admin/teacherExpense/addTeacher
|
|||||||
export const deleteInTeacher= (obj) => http.post(`/admin/teacher/delByIdr?id=${obj}`)
|
export const deleteInTeacher= (obj) => http.post(`/admin/teacher/delByIdr?id=${obj}`)
|
||||||
//修改讲师费信息
|
//修改讲师费信息
|
||||||
export const updateTeacherFee= (obj) => http.post('/admin/teacherExpense/editTeacherExpense',obj)
|
export const updateTeacherFee= (obj) => http.post('/admin/teacherExpense/editTeacherExpense',obj)
|
||||||
//修改讲师费状态提交
|
//修改讲师费状态提交/admin/expenseBill
|
||||||
export const updateStatusSubmit= (obj) => http.post('/admin/teacherExpense/confirm',obj)
|
export const updateStatusSubmit= (obj) => http.post('/admin/teacherExpense/confirm',obj)
|
||||||
//修改讲师费状态撤回
|
//修改讲师费状态撤回
|
||||||
export const approveTeacherFee= (obj) => http.post('/admin/teacherExpense/withdraw',obj)
|
export const approveTeacherFee= (obj) => http.post('/admin/teacherExpense/withdraw',obj)
|
||||||
@@ -57,5 +57,7 @@ export const CreateSummary= () => http.post('/admin/expenseBill/CreateSummary')
|
|||||||
export const queryExpnseByBillId= (obj) => http.get('/admin/expenseBill/queryExpnseByBillId',{params:obj})
|
export const queryExpnseByBillId= (obj) => http.get('/admin/expenseBill/queryExpnseByBillId',{params:obj})
|
||||||
//
|
//
|
||||||
export const CreateSummaryAgain= (id) => http.post(`/admin/expenseBill/createSummaryAgain?billId=${id}`)
|
export const CreateSummaryAgain= (id) => http.post(`/admin/expenseBill/createSummaryAgain?billId=${id}`)
|
||||||
|
//删除 费用审批删除
|
||||||
|
export const expenseBillDelById = (id)=>http.post(`/admin/expenseBill/delById?id=${id}`)
|
||||||
//
|
//
|
||||||
export const submitApproval= (obj) => http.post('/admin/expenseBill/submitApproval',obj)
|
export const submitApproval= (obj) => http.post('/admin/expenseBill/submitApproval',obj)
|
||||||
@@ -22,7 +22,11 @@
|
|||||||
<div class="main">
|
<div class="main">
|
||||||
<div class="minatitl">
|
<div class="minatitl">
|
||||||
<div class="up1">请下载</div>
|
<div class="up1">请下载</div>
|
||||||
<div class="up2" @click="downTemplate" style="cursor: pointer">
|
<div
|
||||||
|
class="up2"
|
||||||
|
@click="downTemplate"
|
||||||
|
style="cursor: pointer"
|
||||||
|
>
|
||||||
模板
|
模板
|
||||||
</div>
|
</div>
|
||||||
<div class="up1">,按要求填写数据并导入</div>
|
<div class="up1">,按要求填写数据并导入</div>
|
||||||
@@ -31,18 +35,28 @@
|
|||||||
<div class="text">上传:</div>
|
<div class="text">上传:</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<div style="height: 176px; margin-bottom: 20px">
|
<div style="height: 176px; margin-bottom: 20px">
|
||||||
<a-upload-dragger v-model:fileList="fileList" :action="importHomeWork" name="uploadFile"
|
<a-upload-dragger
|
||||||
|
v-model:fileList="fileList"
|
||||||
|
:action="importHomeWork"
|
||||||
|
name="uploadFile"
|
||||||
:headers="headers"
|
:headers="headers"
|
||||||
@change="handleChange" :showUploadList="false">
|
@change="handleChange"
|
||||||
|
:showUploadList="false"
|
||||||
|
>
|
||||||
<p class="ant-upload-drag-icon">
|
<p class="ant-upload-drag-icon">
|
||||||
<inbox-outlined></inbox-outlined>
|
<inbox-outlined></inbox-outlined>
|
||||||
</p>
|
</p>
|
||||||
<p class="ant-upload-text">点击或将文件拖拽到此处上传</p>
|
<p class="ant-upload-text">
|
||||||
|
点击或将文件拖拽到此处上传
|
||||||
|
</p>
|
||||||
<p class="ant-upload-hint">支持扩展名:.xls/.xlsx</p>
|
<p class="ant-upload-hint">支持扩展名:.xls/.xlsx</p>
|
||||||
</a-upload-dragger>
|
</a-upload-dragger>
|
||||||
</div>
|
</div>
|
||||||
<div class="loadstate">
|
<div class="loadstate">
|
||||||
<div class="loadborder" v-if="uploadpercent < 100 && uploadpercent !== -1">
|
<div
|
||||||
|
class="loadborder"
|
||||||
|
v-if="uploadpercent < 100 && uploadpercent !== -1"
|
||||||
|
>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="img"></div>
|
<div class="img"></div>
|
||||||
<div class="timebox">
|
<div class="timebox">
|
||||||
@@ -52,8 +66,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<a-progress :percent="uploadpercent" />
|
<a-progress :percent="uploadpercent" />
|
||||||
</div>
|
</div>
|
||||||
<div class="curloading">
|
<div class="curloading"></div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="loadborder" v-if="uploadErr">
|
<div class="loadborder" v-if="uploadErr">
|
||||||
@@ -90,7 +103,11 @@
|
|||||||
<a-progress :percent="uploadpercent" />
|
<a-progress :percent="uploadpercent" />
|
||||||
</div>
|
</div>
|
||||||
<div class="curloading">
|
<div class="curloading">
|
||||||
<div class="cancel" style="margin-left: 20px; cursor: pointer" @click="removeUpload">
|
<div
|
||||||
|
class="cancel"
|
||||||
|
style="margin-left: 20px; cursor: pointer"
|
||||||
|
@click="removeUpload"
|
||||||
|
>
|
||||||
删除
|
删除
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -101,25 +118,43 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="uploadpercent === 100" class="defeat" style="
|
<!-- <div
|
||||||
|
v-if="uploadpercent === 100"
|
||||||
|
class="defeat"
|
||||||
|
style="
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 500px;
|
width: 500px;
|
||||||
height: 40px;" :style="{
|
height: 40px;
|
||||||
|
"
|
||||||
|
:style="{
|
||||||
background: errNum
|
background: errNum
|
||||||
? 'rgba(255, 116, 116, 0.1)'
|
? 'rgba(255, 116, 116, 0.1)'
|
||||||
: 'rgba(53, 174, 105, 0.1)',
|
: 'rgba(53, 174, 105, 0.1)',
|
||||||
border: errNum ? '1px solid #ff7474' : '1px solid #35AE69',
|
border: errNum
|
||||||
}">
|
? '1px solid #ff7474'
|
||||||
<img style="width: 14px; height: 14px; margin-left: 16px" :src="
|
: '1px solid #35AE69',
|
||||||
|
}"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
style="width: 14px; height: 14px; margin-left: 16px"
|
||||||
|
:src="
|
||||||
errNum
|
errNum
|
||||||
? require('../../assets/images/err.png')
|
? require('../../assets/images/err.png')
|
||||||
: require('../../assets/images/success.png')
|
: require('../../assets/images/success.png')
|
||||||
" />
|
"
|
||||||
<div style="margin-left: 8px" :style="{ color: errNum ? '#ff7474' : 'rgba(0,0,0,0.65)' }">
|
/> -->
|
||||||
{{ succNum }}条数据导入成功,{{ errNum }}条数据导入失败
|
<!-- <div
|
||||||
</div>
|
style="margin-left: 8px"
|
||||||
</div>
|
:style="{
|
||||||
|
color: errNum ? '#ff7474' : 'rgba(0,0,0,0.65)',
|
||||||
|
}"
|
||||||
|
>
|
||||||
|
{{ succNum }}条数据导入成功,{{
|
||||||
|
errNum
|
||||||
|
}}条数据导入失败
|
||||||
|
</div> -->
|
||||||
|
<!-- </div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -138,15 +173,14 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs, watch, ref, computed } from "vue";
|
import { reactive, toRefs, watch, ref, computed } from "vue";
|
||||||
|
import { exportTeacherExpense } from "../../api/Teaching";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import { useStore } from "vuex";
|
import { useStore } from "vuex";
|
||||||
import * as api from "../../api/index1";
|
import * as api from "../../api/index1";
|
||||||
import { getCookieForName } from "@/api/method";
|
import { getCookieForName } from "@/api/method";
|
||||||
export default {
|
export default {
|
||||||
name: "importWork",
|
name: "importWork",
|
||||||
components: {
|
components: {},
|
||||||
|
|
||||||
},
|
|
||||||
props: {
|
props: {
|
||||||
showWork: {
|
showWork: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
@@ -168,8 +202,7 @@ import {getCookieForName} from "@/api/method";
|
|||||||
setup(props, ctx) {
|
setup(props, ctx) {
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
fileType: ["xls", "xlsx"],
|
fileType: ["xls", "xlsx"],
|
||||||
importHomeWork:
|
importHomeWork: process.env.VUE_APP_BASE_API + props.url,
|
||||||
process.env.VUE_APP_BASE_API + props.url,
|
|
||||||
uploadpercent: -1,
|
uploadpercent: -1,
|
||||||
uploadErr: false, //上传失败
|
uploadErr: false, //上传失败
|
||||||
addLoading: false,
|
addLoading: false,
|
||||||
@@ -213,7 +246,7 @@ import {getCookieForName} from "@/api/method";
|
|||||||
state.uploadpercent = parseInt(info.file.percent);
|
state.uploadpercent = parseInt(info.file.percent);
|
||||||
console.log("我是文件上传的进度---------->", info.file.percent);
|
console.log("我是文件上传的进度---------->", info.file.percent);
|
||||||
const status = info.file.status;
|
const status = info.file.status;
|
||||||
console.log(info.file,'status')
|
console.log(info.file, "status");
|
||||||
if (status !== "uploading") {
|
if (status !== "uploading") {
|
||||||
// console.log(info.file, info.fileList);
|
// console.log(info.file, info.fileList);
|
||||||
}
|
}
|
||||||
@@ -226,7 +259,7 @@ import {getCookieForName} from "@/api/method";
|
|||||||
} else {
|
} else {
|
||||||
state.uploadErr = true;
|
state.uploadErr = true;
|
||||||
state.fileList = [];
|
state.fileList = [];
|
||||||
state.uploadpercent = -1
|
state.uploadpercent = -1;
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.error(info.file.response.msg);
|
message.error(info.file.response.msg);
|
||||||
}
|
}
|
||||||
@@ -295,7 +328,13 @@ import {getCookieForName} from "@/api/method";
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
function downTemplate() {
|
function downTemplate() {
|
||||||
window.open(`${process.env.VUE_APP_BOE_API_URL}/upload/template/${props.template}`);
|
console.log("downTemplate gx")
|
||||||
|
|
||||||
|
window.open(
|
||||||
|
`${process.env.VUE_APP_BASE_API}${props.template}`
|
||||||
|
);
|
||||||
|
// window.open(`${process.env.VUE_APP_BOE_API_URL}/upload/template/${props.template}`);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -308,7 +347,7 @@ import {getCookieForName} from "@/api/method";
|
|||||||
downloadEeeorData,
|
downloadEeeorData,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
@@ -195,7 +195,11 @@ watch(()=>props.visible,(val)=>{
|
|||||||
}
|
}
|
||||||
).then(res=>{
|
).then(res=>{
|
||||||
if(res.data.code === 200){
|
if(res.data.code === 200){
|
||||||
forData.value = res.data.data
|
forData.value = res.data.data;
|
||||||
|
//todo1 , 只有一个处理 初始化 处理数据 ,进行 激活处理
|
||||||
|
if(forData.value.length == 1){
|
||||||
|
activeList.value.push(0);
|
||||||
|
}
|
||||||
forData.value.forEach((item,i) => {
|
forData.value.forEach((item,i) => {
|
||||||
searchConditions.value.push({ nameUserNo: '', dateValue: [] });
|
searchConditions.value.push({ nameUserNo: '', dateValue: [] });
|
||||||
expenseList.value.push(forData.value[i]?.expenseList || [])
|
expenseList.value.push(forData.value[i]?.expenseList || [])
|
||||||
|
|||||||
@@ -1,16 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<a-drawer class="largeDrawerInside" :visible="visible" placement="right" :closable="false"
|
<a-drawer class="largeDrawerInside" :visible="visible" placement="right" :closable="false" width="80%" :title="false"
|
||||||
width="80%" :title="false" @close="handleClose">
|
@close="handleClose">
|
||||||
<!-- 内部讲师查看详情 -->
|
<!-- 内部讲师查看详情 -->
|
||||||
<div class="LookInsideLecturer">
|
<div class="LookInsideLecturer">
|
||||||
<div class="header" style="margin-top: -24px;margin-left: -24px;">
|
<div class="header" style="margin-top: -24px;margin-left: -24px;">
|
||||||
<div class="headerTitle">查看讲师</div>
|
<div class="headerTitle">查看讲师</div>
|
||||||
<!-- <router-link :to="{ path: '/lecturerList', query: { activeKey: '1', } }"> -->
|
<!-- <router-link :to="{ path: '/lecturerList', query: { activeKey: '1', } }"> -->
|
||||||
<img
|
<img @click="handleClose" style="width: 29px; height: 29px; cursor: pointer"
|
||||||
@click="handleClose"
|
src="../../assets/images/basicinfo/close.png" />
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
|
||||||
src="../../assets/images/basicinfo/close.png"
|
|
||||||
/>
|
|
||||||
<!-- </router-link> -->
|
<!-- </router-link> -->
|
||||||
</div>
|
</div>
|
||||||
<a-layout-content>
|
<a-layout-content>
|
||||||
@@ -22,8 +19,12 @@
|
|||||||
<a-descriptions-item label="讲师头像">
|
<a-descriptions-item label="讲师头像">
|
||||||
<a-image :width="55" style="border-radius: 50%;width:55px;height:55px;" :src=formParam.photo />
|
<a-image :width="55" style="border-radius: 50%;width:55px;height:55px;" :src=formParam.photo />
|
||||||
</a-descriptions-item>
|
</a-descriptions-item>
|
||||||
<a-descriptions-item label="讲师姓名"><div style="user-select:text">{{formParam.name}} / {{formParam.userNo}}</div></a-descriptions-item>
|
<a-descriptions-item label="讲师姓名">
|
||||||
<a-descriptions-item label="讲师体系"><div style="user-select:text">{{formParam.tsystemName || '-'}}</div></a-descriptions-item>
|
<div style="user-select:text">{{ formParam.name }} / {{ formParam.userNo }}</div>
|
||||||
|
</a-descriptions-item>
|
||||||
|
<a-descriptions-item label="讲师体系">
|
||||||
|
<div style="user-select:text">{{ formParam.tsystemName || '-' }}</div>
|
||||||
|
</a-descriptions-item>
|
||||||
<!-- 二层 -->
|
<!-- 二层 -->
|
||||||
<a-descriptions-item label="讲师级别">{{ formParam.tlevelName || '-' }}</a-descriptions-item>
|
<a-descriptions-item label="讲师级别">{{ formParam.tlevelName || '-' }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="认证状态">{{ formParam.certStatus == 0 ? '未认证' : formParam.certStatus == 1 ? '已认证' : '-' }}
|
<a-descriptions-item label="认证状态">{{ formParam.certStatus == 0 ? '未认证' : formParam.certStatus == 1 ? '已认证' : '-' }}
|
||||||
@@ -32,13 +33,17 @@
|
|||||||
@click="handleup">查看认证资料</a-button>
|
@click="handleup">查看认证资料</a-button>
|
||||||
</span>
|
</span>
|
||||||
</a-descriptions-item>
|
</a-descriptions-item>
|
||||||
<a-descriptions-item label="授课时长"> <span v-if="formParam.teaching!= null" >{{formParam.teaching}}分钟({{ (Number(formParam.teaching) /60 ).toFixed(2)}}小时)</span><span v-else>-</span>
|
<a-descriptions-item label="授课时长"> <span v-if="formParam.teaching != null">{{ formParam.teaching }}分钟({{
|
||||||
|
(Number(formParam.teaching) / 60).toFixed(2)}}小时)</span><span v-else>-</span>
|
||||||
</a-descriptions-item>
|
</a-descriptions-item>
|
||||||
<a-descriptions-item label="发薪地 ">{{ formParam.salaryName || '-' }}</a-descriptions-item>
|
<a-descriptions-item label="发薪地 ">{{ formParam.salaryName || '-' }}</a-descriptions-item>
|
||||||
<!-- 三层 -->
|
<!-- 三层 -->
|
||||||
<a-descriptions-item label="在职状态">{{formParam.waitStatus=='0'?'在职' :formParam.waitStatus=='1' ?'离职':'-'}}</a-descriptions-item>
|
<a-descriptions-item label="在职状态">{{ formParam.waitStatus == '0' ? '在职' : formParam.waitStatus == '1'
|
||||||
<a-descriptions-item label="账号状态">{{formParam.status=='0'?'临时' :formParam.status=='1' ?'启用':formParam.status==2 ?'停用':'-'}}</a-descriptions-item>
|
?'离职':'-'}}</a-descriptions-item>
|
||||||
<a-descriptions-item label="录入方式">{{formParam.createFrom=='0'?'自动录入' :formParam.createFrom=='1'?'手动录入':'-'}}</a-descriptions-item>
|
<a-descriptions-item label="账号状态">{{ formParam.status == '0' ? '临时' : formParam.status == '1'
|
||||||
|
? '启用' : formParam.status == 2 ?'停用':'-'}}</a-descriptions-item>
|
||||||
|
<a-descriptions-item label="录入方式">{{ formParam.createFrom == '0' ? '自动录入'
|
||||||
|
: formParam.createFrom == '1' ? '手动录入':'-'}}</a-descriptions-item>
|
||||||
<a-descriptions-item style="max-width: 400px;" label="所属组织">
|
<a-descriptions-item style="max-width: 400px;" label="所属组织">
|
||||||
<span :title="formParam.orgName" style="user-select:text">{{ formParam.orgName || '-' }}</span>
|
<span :title="formParam.orgName" style="user-select:text">{{ formParam.orgName || '-' }}</span>
|
||||||
</a-descriptions-item>
|
</a-descriptions-item>
|
||||||
@@ -48,19 +53,23 @@
|
|||||||
<a-descriptions title="其他信息" bordered :column="4" :contentStyle="rowCenter" :labelStyle="rowCenters">
|
<a-descriptions title="其他信息" bordered :column="4" :contentStyle="rowCenter" :labelStyle="rowCenters">
|
||||||
<!-- 一层 -->
|
<!-- 一层 -->
|
||||||
<a-descriptions-item style="max-width: 200px;" label="讲师介绍" :span="4">
|
<a-descriptions-item style="max-width: 200px;" label="讲师介绍" :span="4">
|
||||||
<div v-if="formParam.description !=null&&resp(formParam.description)" style="min-width: 500px;" v-html="formParam.description" ></div>
|
<div v-if="formParam.description != null && resp(formParam.description)" style="min-width: 500px;"
|
||||||
|
v-html="formParam.description"></div>
|
||||||
<div v-else>-</div>
|
<div v-else>-</div>
|
||||||
</a-descriptions-item>
|
</a-descriptions-item>
|
||||||
<a-descriptions-item label="工作职责" :span="4">
|
<a-descriptions-item label="工作职责" :span="4">
|
||||||
<div v-if="formParam.workExperience !=null&&resp(formParam.workExperience)" style="min-width: 500px;" v-html="formParam.workExperience" ></div>
|
<div v-if="formParam.workExperience != null && resp(formParam.workExperience)" style="min-width: 500px;"
|
||||||
|
v-html="formParam.workExperience"></div>
|
||||||
<div v-else>-</div>
|
<div v-else>-</div>
|
||||||
</a-descriptions-item>
|
</a-descriptions-item>
|
||||||
<a-descriptions-item label="擅长课程" :span="4">
|
<a-descriptions-item label="擅长课程" :span="4">
|
||||||
<div v-if="formParam.courses !=null&&resp(formParam.courses)" style="min-width: 500px;" v-html="formParam.courses" ></div>
|
<div v-if="formParam.courses != null && resp(formParam.courses)" style="min-width: 500px;"
|
||||||
|
v-html="formParam.courses"></div>
|
||||||
<div v-else>-</div>
|
<div v-else>-</div>
|
||||||
</a-descriptions-item>
|
</a-descriptions-item>
|
||||||
<a-descriptions-item label="教师专长" :span="4">
|
<a-descriptions-item label="教师专长" :span="4">
|
||||||
<a-tag v-if="formParam.expertiseNames" color="blue" style="margin-right:10px" v-for="item in formParam.expertiseNames?.split(',')">{{item}}</a-tag>
|
<a-tag v-if="formParam.expertiseNames" color="blue" style="margin-right:10px"
|
||||||
|
v-for="item in formParam.expertiseNames?.split(',')">{{ item }}</a-tag>
|
||||||
<span v-else>-</span>
|
<span v-else>-</span>
|
||||||
</a-descriptions-item>
|
</a-descriptions-item>
|
||||||
</a-descriptions>
|
</a-descriptions>
|
||||||
@@ -69,42 +78,26 @@
|
|||||||
<a-tabs v-model:activeKey="activeKey">
|
<a-tabs v-model:activeKey="activeKey">
|
||||||
<a-tab-pane key="1" tab="授课记录">
|
<a-tab-pane key="1" tab="授课记录">
|
||||||
<a-table :header-cell-style="{ 'text-align': 'center' }" :columns="teacherrecordsColumns"
|
<a-table :header-cell-style="{ 'text-align': 'center' }" :columns="teacherrecordsColumns"
|
||||||
|
:data-source="teacherrecordstableData" :loading="teacherrecordsLoading" :scroll="{ x: '1000' }"
|
||||||
:data-source="teacherrecordstableData" :loading="teacherrecordsLoading" :scroll="{ x: '1000' }" :pagination="pagination">
|
:pagination="pagination">
|
||||||
</a-table>
|
</a-table>
|
||||||
<div style="float: right;">
|
<div style="float: right;">
|
||||||
<a-pagination
|
<a-pagination v-if="tableDataTotal > 10" :showSizeChanger="true" :showQuickJumper="false"
|
||||||
v-if="tableDataTotal > 10"
|
:hideOnSinglePage="false" :pageSize="searchParam.pageSize" :current="searchParam.pageNo"
|
||||||
:showSizeChanger="true"
|
:total="tableDataTotal" class="pagination" @change="changePagination" />
|
||||||
:showQuickJumper="false"
|
|
||||||
:hideOnSinglePage="false"
|
|
||||||
:pageSize="searchParam.pageSize"
|
|
||||||
:current="searchParam.pageNo"
|
|
||||||
:total="tableDataTotal"
|
|
||||||
class="pagination"
|
|
||||||
@change="changePagination"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
<a-tab-pane key="2" tab="晋级记录">
|
<a-tab-pane key="2" tab="晋级记录">
|
||||||
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="promotionrecordsColumns"
|
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe"
|
||||||
|
:columns="promotionrecordsColumns" :data-source="promotionrecordstableData"
|
||||||
:data-source="promotionrecordstableData" :loading="promotionrecordsLoading" @expand="expandTable" :pagination="false">
|
:loading="promotionrecordsLoading" @expand="expandTable" :pagination="false">
|
||||||
<template #bodyCell="{ record, column, index }">
|
<template #bodyCell="{ record, column, index }">
|
||||||
</template>
|
</template>
|
||||||
</a-table>
|
</a-table>
|
||||||
<div style="float: right;">
|
<div style="float: right;">
|
||||||
<a-pagination
|
<a-pagination v-if="teacherrepromotableDataTotal > 10" :showSizeChanger="true" :showQuickJumper="false"
|
||||||
v-if="teacherrepromotableDataTotal > 10"
|
:hideOnSinglePage="true" :pageSize="teacherrepromo.pageSize" :current="teacherrepromo.pageNo"
|
||||||
:showSizeChanger="true"
|
:total="teacherrepromotableDataTotal" class="pagination" @change="teacherrepromoPagination" />
|
||||||
:showQuickJumper="false"
|
|
||||||
:hideOnSinglePage="true"
|
|
||||||
:pageSize="teacherrepromo.pageSize"
|
|
||||||
:current="teacherrepromo.pageNo"
|
|
||||||
:total="teacherrepromotableDataTotal"
|
|
||||||
class="pagination"
|
|
||||||
@change="teacherrepromoPagination"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
</a-tabs>
|
</a-tabs>
|
||||||
@@ -444,9 +437,15 @@ export default{
|
|||||||
// }
|
// }
|
||||||
// getSysTypeMap()
|
// getSysTypeMap()
|
||||||
const handleup = () => {
|
const handleup = () => {
|
||||||
window.open (
|
let url = "";
|
||||||
`${process.env.VUE_APP_BOE_API_URL}/upload${state.formParam.certification}`
|
if(state.formParam.certification != null && state.formParam.certification != undefined && state.formParam.certification != ''){
|
||||||
);
|
if(state.formParam.certification.includes("/upload")){
|
||||||
|
url = `${process.env.VUE_APP_BOE_API_URL}${state.formParam.certification}`
|
||||||
|
}else{
|
||||||
|
url = `${process.env.VUE_APP_BOE_API_URL}/upload${state.formParam.certification}`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
window.open(url);
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
@@ -478,6 +477,7 @@ window.open (
|
|||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.LookInsideLecturer {
|
.LookInsideLecturer {
|
||||||
padding: 24px;
|
padding: 24px;
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
padding: 0px 32px;
|
padding: 0px 32px;
|
||||||
height: 73px;
|
height: 73px;
|
||||||
@@ -497,6 +497,7 @@ padding:24px;
|
|||||||
// margin-left: 24px;
|
// margin-left: 24px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -509,12 +510,14 @@ flex-direction: column;
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
|
||||||
.select {
|
.select {
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.backbtn {
|
.backbtn {
|
||||||
float: right;
|
float: right;
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
@@ -523,6 +526,7 @@ color: #4ea6ff;
|
|||||||
width: 80px;
|
width: 80px;
|
||||||
height: 64px
|
height: 64px
|
||||||
}
|
}
|
||||||
|
|
||||||
//小竖线
|
//小竖线
|
||||||
.line {
|
.line {
|
||||||
float: left;
|
float: left;
|
||||||
@@ -533,9 +537,11 @@ border-radius: 30%;
|
|||||||
margin-left: -10px;
|
margin-left: -10px;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-descriptions-header {
|
::v-deep .ant-descriptions-header {
|
||||||
margin-bottom: 18px;
|
margin-bottom: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.goback {
|
.goback {
|
||||||
float: right;
|
float: right;
|
||||||
padding-right: 70px;
|
padding-right: 70px;
|
||||||
@@ -559,6 +565,7 @@ margin-top: 5px;
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.moreidbtn {
|
.moreidbtn {
|
||||||
border: none;
|
border: none;
|
||||||
color: #4ea6ff;
|
color: #4ea6ff;
|
||||||
@@ -572,18 +579,23 @@ margin-top: -2px;
|
|||||||
::v-deep .ant-select-multiple .ant-select-selection-item {
|
::v-deep .ant-select-multiple .ant-select-selection-item {
|
||||||
height: 34px
|
height: 34px
|
||||||
}
|
}
|
||||||
|
|
||||||
.tableBox {
|
.tableBox {
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
margin: 20px 38px 30px;
|
margin: 20px 38px 30px;
|
||||||
|
|
||||||
::v-deep .ant-select-dropdown {
|
::v-deep .ant-select-dropdown {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-select-selection-item {
|
::v-deep .ant-select-selection-item {
|
||||||
margin-left: 3px;
|
margin-left: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-pagination-options-size-changer.ant-select {
|
::v-deep .ant-pagination-options-size-changer.ant-select {
|
||||||
width: 84px;
|
width: 84px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pa {
|
.pa {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -32,31 +32,38 @@ import { getTeacherList } from "@/api/Lecturer";
|
|||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
value: {
|
value: {
|
||||||
type: String,
|
type: String,
|
||||||
default: ''
|
default: "",
|
||||||
},
|
},
|
||||||
name: {
|
name: {
|
||||||
type: String,
|
type: String,
|
||||||
default: ''
|
default: "",
|
||||||
|
},
|
||||||
|
supplier: {
|
||||||
|
type: String,
|
||||||
|
default: ""
|
||||||
},
|
},
|
||||||
mobile: {
|
mobile: {
|
||||||
type: String,
|
type: String,
|
||||||
default: ''
|
default: "",
|
||||||
},
|
},
|
||||||
disabled: Boolean,
|
disabled: Boolean,
|
||||||
placeholder: {
|
placeholder: {
|
||||||
type: String,
|
type: String,
|
||||||
default: "请输入搜索关键字",
|
default: "请输入搜索关键字",
|
||||||
},
|
},
|
||||||
mode: String
|
mode: String,
|
||||||
})
|
});
|
||||||
|
|
||||||
const selectOptions = ref([])
|
const selectOptions = ref([]);
|
||||||
|
|
||||||
const managerArray = computed(() => props.value === '' ? null : props.value)
|
// const supplier = ref('')
|
||||||
|
|
||||||
const emit = defineEmits({})
|
|
||||||
|
|
||||||
const isOpen = ref(false)
|
const managerArray = computed(() => (props.value === "" ? null : props.value));
|
||||||
|
|
||||||
|
const emit = defineEmits({});
|
||||||
|
|
||||||
|
const isOpen = ref(false);
|
||||||
function debounce(func, wait) {
|
function debounce(func, wait) {
|
||||||
let timeout;
|
let timeout;
|
||||||
return function (...args) {
|
return function (...args) {
|
||||||
@@ -64,28 +71,38 @@ function debounce(func, wait) {
|
|||||||
timeout = setTimeout(() => func.apply(this, args), wait);
|
timeout = setTimeout(() => func.apply(this, args), wait);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
const memberParam = ref({name: '', pageNo:1, pageSize: 999,teacherType:2 ,status:1})
|
const memberParam = ref({
|
||||||
|
name: "",
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 999,
|
||||||
|
teacherType: 2,
|
||||||
|
status: 1,
|
||||||
|
});
|
||||||
|
|
||||||
const userList = ref([])
|
const userList = ref([]);
|
||||||
const loading = ref(false)
|
const loading = ref(false);
|
||||||
const getOutTeacher = () => {
|
const getOutTeacher = () => {
|
||||||
getTeacherList(memberParam.value).then(res=>{
|
getTeacherList(memberParam.value).then((res) => {
|
||||||
if (res.data.code == 200) {
|
if (res.data.code == 200) {
|
||||||
userList.value = res.data.data.records
|
userList.value = res.data.data.records;
|
||||||
loading.value = false
|
loading.value = false;
|
||||||
}
|
}
|
||||||
})
|
}).catch(error=>{
|
||||||
}
|
console.log("ProjectManagerOutTeacher getTeacherList error ",error);
|
||||||
const options = computed(() => userList.value.map(e => ({
|
});
|
||||||
|
};
|
||||||
|
const options = computed(() =>
|
||||||
|
userList.value.map((e) => ({
|
||||||
// label: e.name + '(' + e.userNo + ')' + e.organizationName,
|
// label: e.name + '(' + e.userNo + ')' + e.organizationName,
|
||||||
label:e.name+ '(' +e.supplier + ')',
|
label: e.name + "/" + e.supplier,
|
||||||
value: e.name,
|
value: e.name,
|
||||||
|
supplier: e.supplier,
|
||||||
...e,
|
...e,
|
||||||
audienceList: null
|
audienceList: null,
|
||||||
})))
|
}))
|
||||||
|
);
|
||||||
|
|
||||||
watch(props, init)
|
watch(props, init);
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
//第一次进来 编辑赋值
|
//第一次进来 编辑赋值
|
||||||
@@ -95,46 +112,47 @@ function init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
console.log('onMounted')
|
console.log("onMounted");
|
||||||
init()
|
init();
|
||||||
getOutTeacher()
|
getOutTeacher();
|
||||||
})
|
});
|
||||||
|
|
||||||
|
const memberScroll = ({
|
||||||
const memberScroll = ({target: {scrollHeight, scrollTop, clientHeight}}) => {
|
target: { scrollHeight, scrollTop, clientHeight },
|
||||||
scrollHeight === (clientHeight + scrollTop) && memberParam.value.pageNo++
|
}) => {
|
||||||
|
scrollHeight === clientHeight + scrollTop && memberParam.value.pageNo++;
|
||||||
};
|
};
|
||||||
const debounceObject = debounce(getOutTeacher,1000)
|
const debounceObject = debounce(getOutTeacher, 1000);
|
||||||
//搜索学员
|
//搜索学员
|
||||||
const searchMember = (keyword) => {
|
const searchMember = (keyword) => {
|
||||||
console.log('searchMember', keyword)
|
console.log("searchMember", keyword);
|
||||||
loading.value = true
|
loading.value = true;
|
||||||
isOpen.value = true
|
isOpen.value = true;
|
||||||
userList.value = []
|
userList.value = [];
|
||||||
memberParam.value.pageNo = 1
|
memberParam.value.pageNo = 1;
|
||||||
memberParam.value.teacherType=2
|
memberParam.value.teacherType = 2;
|
||||||
memberParam.value.name = keyword
|
memberParam.value.name = keyword;
|
||||||
console.log('searchMember', memberParam.value)
|
console.log("searchMember", memberParam.value);
|
||||||
debounceObject()
|
debounceObject();
|
||||||
};
|
};
|
||||||
|
|
||||||
function blur() {
|
function blur() {
|
||||||
isOpen.value = false
|
isOpen.value = false;
|
||||||
memberParam.value.name = ''
|
memberParam.value.name = "";
|
||||||
memberParam.value.pageNo = 1
|
memberParam.value.pageNo = 1;
|
||||||
memberParam.value.teacherType=2
|
memberParam.value.teacherType = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
function change(e, l) {
|
function change(e, l) {
|
||||||
memberParam.value.name = ''
|
memberParam.value.name = "";
|
||||||
memberParam.value.teacherType=2
|
memberParam.value.teacherType = 2;
|
||||||
memberParam.value.pageNo = 1
|
memberParam.value.pageNo = 1;
|
||||||
isOpen.value = false
|
isOpen.value = false;
|
||||||
Array.isArray(l) && (selectOptions.value = l)
|
Array.isArray(l) && (selectOptions.value = l);
|
||||||
Array.isArray(selectOptions.value) && emit('onChange', e, l)
|
Array.isArray(selectOptions.value) && emit("onChange", e, l);
|
||||||
emit('update:name', l?.label)
|
emit("update:name", l?.label);
|
||||||
emit('update:value', l?.value)
|
emit("update:value", l?.value);
|
||||||
emit('update:mobile', l?.label)
|
emit("update:supplier", l?.supplier);
|
||||||
|
emit("update:mobile", l?.label);
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -78,11 +78,11 @@
|
|||||||
</a-tabs>
|
</a-tabs>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnn" v-if="formData?.status==1||formData?.status==4">
|
<!-- <div class="btnn" v-if="formData?.status==1||formData?.status==4"> -->
|
||||||
<!-- <button class="btn2" @click="closeDrawer">取消</button>
|
<!-- <button class="btn2" @click="closeDrawer">取消</button>
|
||||||
<button class="btn2" @click="closeDrawer">确定</button> -->
|
<button class="btn2" @click="closeDrawer">确定</button> -->
|
||||||
<button class="btn2" @click="confirm">撤销编辑内容</button>
|
<!-- <button class="btn2" @click="confirm">撤销编辑内容</button> -->
|
||||||
</div>
|
<!-- </div> -->
|
||||||
</div>
|
</div>
|
||||||
<a-modal :footer="null" width="800px" v-model:visible="visibleModal" title="审批记录详情">
|
<a-modal :footer="null" width="800px" v-model:visible="visibleModal" title="审批记录详情">
|
||||||
<div style="margin: 20px;padding-bottom: 20px;">
|
<div style="margin: 20px;padding-bottom: 20px;">
|
||||||
|
|||||||
@@ -815,7 +815,7 @@ export default {
|
|||||||
//导出功能
|
//导出功能
|
||||||
const handleExport = () => {
|
const handleExport = () => {
|
||||||
window.open(
|
window.open(
|
||||||
`${process.env.VUE_APP_BASE_API}/admin/export/exportOutTeacher?name=${state.searchParam.name || ""}&status=${state.searchParam.status || ""}`
|
`${process.env.VUE_APP_BASE_API}/admin/export/exportOutTeacher?name=${state.searchParam.name || ""}&status=${state.searchParam.status || ""}&teacherType=${state.searchParam.teacherType || ""}`
|
||||||
);
|
);
|
||||||
// this.download('lesson_records/export', {
|
// this.download('lesson_records/export', {
|
||||||
// ...state.searchParam
|
// ...state.searchParam
|
||||||
|
|||||||
@@ -146,7 +146,6 @@
|
|||||||
<!--讲师名称 teacherName 内容分类 coursetypeid -->
|
<!--讲师名称 teacherName 内容分类 coursetypeid -->
|
||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
|
|
||||||
<a-form-item name="teacherName">
|
<a-form-item name="teacherName">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img
|
||||||
@@ -158,6 +157,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<ProjectManagerOutTeacher v-model:value="formParam.name"
|
<ProjectManagerOutTeacher v-model:value="formParam.name"
|
||||||
v-model:name="formParam.teacherName"
|
v-model:name="formParam.teacherName"
|
||||||
|
v-model:supplier="formParam.supplier"
|
||||||
placeholder="请输入工号/讲师姓名进行检索"
|
placeholder="请输入工号/讲师姓名进行检索"
|
||||||
@onChange="managerChange"></ProjectManagerOutTeacher>
|
@onChange="managerChange"></ProjectManagerOutTeacher>
|
||||||
|
|
||||||
@@ -165,6 +165,21 @@
|
|||||||
placeholder="请输入讲师姓名"></a-input> -->
|
placeholder="请输入讲师姓名"></a-input> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<a-form-item name="supplier">
|
||||||
|
<template v-slot:label>
|
||||||
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
|
供应商
|
||||||
|
</template>
|
||||||
|
<!-- TODO GX01 -->
|
||||||
|
<a-input class="draitem" v-model:value="formParam.supplier" disabled :maxlength="20" showCount >
|
||||||
|
</a-input>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<!-- 课程名称:name 开课状态 courseStatus-->
|
||||||
|
<a-row :gutter="16">
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="courseTypeId">
|
<a-form-item name="courseTypeId">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
@@ -187,9 +202,6 @@
|
|||||||
</a-tree-select>
|
</a-tree-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
|
||||||
<!-- 课程名称:name 开课状态 courseStatus-->
|
|
||||||
<a-row :gutter="16">
|
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="courseName">
|
<a-form-item name="courseName">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
@@ -212,6 +224,10 @@
|
|||||||
</a-radio-group>
|
</a-radio-group>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col> -->
|
</a-col> -->
|
||||||
|
|
||||||
|
</a-row>
|
||||||
|
<!-- 授课日期 teachingDate 授课时长defaultTeachingTime-->
|
||||||
|
<a-row :gutter="16">
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="teachingDate">
|
<a-form-item name="teachingDate">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
@@ -226,10 +242,6 @@
|
|||||||
placeholder="请选择课程日期" />
|
placeholder="请选择课程日期" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
|
||||||
<!-- 授课日期 teachingDate 授课时长defaultTeachingTime-->
|
|
||||||
<a-row :gutter="16">
|
|
||||||
|
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="teaching">
|
<a-form-item name="teaching">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
@@ -249,6 +261,9 @@
|
|||||||
<span style="margin-left: 5px ;" v-if="formParam.teaching == null">0.00小时</span> -->
|
<span style="margin-left: 5px ;" v-if="formParam.teaching == null">0.00小时</span> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<!-- 参训人数 studys评分 score-->
|
||||||
|
<a-row :gutter="16">
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="studys">
|
<a-form-item name="studys">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
@@ -264,10 +279,6 @@
|
|||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
|
||||||
<!-- 参训人数 studys评分 score-->
|
|
||||||
<a-row :gutter="16">
|
|
||||||
|
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="score">
|
<a-form-item name="score">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
@@ -327,8 +338,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<a-descriptions bordered :column="2" :contentStyle="rowCenter" :labelStyle="{'width':'160px'}">
|
<a-descriptions bordered :column="2" :contentStyle="rowCenter" :labelStyle="{'width':'160px'}">
|
||||||
<a-descriptions-item label="讲师名称">{{ formParam.teacherName ||'-'}}</a-descriptions-item>
|
<a-descriptions-item label="讲师名称">{{ formParam.teacherName ||'-'}}</a-descriptions-item>
|
||||||
|
<a-descriptions-item label="供应商">{{ formParam.supplier || '-' }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="手机号码">{{ formParam.mobile ||'-'}}</a-descriptions-item>
|
<a-descriptions-item label="手机号码">{{ formParam.mobile ||'-'}}</a-descriptions-item>
|
||||||
<a-descriptions-item label="课程类型">{{ formParam.type == 0 ? '在线课' : formParam.type == 1 ? '面授课' : formParam.type == 2 ? '手动录入' : '-'
|
<a-descriptions-item label="课程类型">{{ formParam.type == 0 ? '在线课' : formParam.type == 1 ? '面授课' : formParam.type == 2 ? '训练班' : formParam.type == 5 ? '手动录入' : '-'
|
||||||
}}</a-descriptions-item>
|
}}</a-descriptions-item>
|
||||||
<a-descriptions-item label="课程名称">{{ formParam.courseName ||'-'}}</a-descriptions-item>
|
<a-descriptions-item label="课程名称">{{ formParam.courseName ||'-'}}</a-descriptions-item>
|
||||||
<a-descriptions-item label="开课状态">{{ formParam.courseStatus == 0 ? '未开课' : formParam.courseStatus == 1
|
<a-descriptions-item label="开课状态">{{ formParam.courseStatus == 0 ? '未开课' : formParam.courseStatus == 1
|
||||||
@@ -389,7 +401,8 @@
|
|||||||
</a-modal>
|
</a-modal>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div> <ImageUpload/> </div> -->
|
<!-- <div> <ImageUpload/> </div> -->
|
||||||
<ImportWork v-model:showWork="showWork" :template="'外部讲师授课记录导入模版-20250115.xlsx'" :url="'/admin/export/importOutTeacherRecord'" :title="title"></ImportWork>
|
<ImportWork v-model:showWork="showWork" :template="'/admin/export/exportRecordTemplate'"
|
||||||
|
:url="'/admin/export/importOutTeacherRecord'" :title="title"></ImportWork>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
@@ -590,7 +603,8 @@ export default {
|
|||||||
? {
|
? {
|
||||||
"0": "在线课",
|
"0": "在线课",
|
||||||
"1": "面授课",
|
"1": "面授课",
|
||||||
"2": "手动录入",
|
"2": "训练班",
|
||||||
|
"5": "手动录入",
|
||||||
}[value.record.type + ""]
|
}[value.record.type + ""]
|
||||||
: "-"}
|
: "-"}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -82,7 +82,9 @@
|
|||||||
<template #content>
|
<template #content>
|
||||||
<p>{{ record.orgName}}</p>
|
<p>{{ record.orgName}}</p>
|
||||||
</template> -->
|
</template> -->
|
||||||
<div style="max-width: 180px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;user-select:text" :title="record.orgName">{{ record.neworganizationName }}</div>
|
<div
|
||||||
|
style="max-width: 180px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;user-select:text"
|
||||||
|
:title="record.orgName">{{ record.neworganizationName }}</div>
|
||||||
<!-- </a-popover> -->
|
<!-- </a-popover> -->
|
||||||
</a-space>
|
</a-space>
|
||||||
</template>
|
</template>
|
||||||
@@ -90,12 +92,17 @@
|
|||||||
<a-space>
|
<a-space>
|
||||||
<a-button type="link" @click="() => handleLook(record, String(record.courseform))">查看</a-button>
|
<a-button type="link" @click="() => handleLook(record, String(record.courseform))">查看</a-button>
|
||||||
|
|
||||||
<a-button v-if="(record.isPermission==='true'||record.isSuperPermission==='true')&&checkMenu('lecturerEdit')" type="link" @click="() => handleModify(record, String(record.courseform))">编辑</a-button>
|
<a-button
|
||||||
<a-button v-if="record.status == '1'&&(record.isPermission==='true'||record.isSuperPermission==='true')&&checkMenu('lecturerStop')" type="link"
|
v-if="(record.isPermission === 'true' || record.isSuperPermission === 'true') && checkMenu('lecturerEdit')"
|
||||||
@click="() => handleOperate(record, String(record.courseform))">停用</a-button>
|
type="link" @click="() => handleModify(record, String(record.courseform))">编辑</a-button>
|
||||||
<a-button v-if="record.status == '2'&&(record.isPermission==='true'||record.isSuperPermission==='true')&&checkMenu('lecturerStop')" type="link"
|
<a-button
|
||||||
@click="() => handleOperate(record, String(record.courseform))">启用</a-button>
|
v-if="record.status == '1' && (record.isPermission === 'true' || record.isSuperPermission === 'true') && checkMenu('lecturerStop')"
|
||||||
<a-button v-if="record.isSuperPermission==='true'&&checkMenu('lecturerDel')" type="link" @click="() => deleteModal(record, String(record.courseform))">删除</a-button>
|
type="link" @click="() => handleOperate(record, String(record.courseform))">停用</a-button>
|
||||||
|
<a-button
|
||||||
|
v-if="record.status == '2' && (record.isPermission === 'true' || record.isSuperPermission === 'true') && checkMenu('lecturerStop')"
|
||||||
|
type="link" @click="() => handleOperate(record, String(record.courseform))">启用</a-button>
|
||||||
|
<a-button v-if="record.isSuperPermission === 'true' && checkMenu('lecturerDel')" type="link"
|
||||||
|
@click="() => deleteModal(record, String(record.courseform))">删除</a-button>
|
||||||
<!-- <a-button type="link" @click="() => deleteModal(record, String(record.courseform))"
|
<!-- <a-button type="link" @click="() => deleteModal(record, String(record.courseform))"
|
||||||
v-if="lecturerAdmin('Lecturer-admin')">删除</a-button> -->
|
v-if="lecturerAdmin('Lecturer-admin')">删除</a-button> -->
|
||||||
</a-space>
|
</a-space>
|
||||||
@@ -108,23 +115,20 @@
|
|||||||
<div class="tableBox ">
|
<div class="tableBox ">
|
||||||
<div class="pa">
|
<div class="pa">
|
||||||
<a-pagination v-if="tableDataTotal > 10" :showSizeChanger="true" :showQuickJumper="false"
|
<a-pagination v-if="tableDataTotal > 10" :showSizeChanger="true" :showQuickJumper="false"
|
||||||
:hideOnSinglePage="true" :pageSize="searchParam.pageSize" :current="searchParam.pageNo" :total="tableDataTotal"
|
:hideOnSinglePage="true" :pageSize="searchParam.pageSize" :current="searchParam.pageNo"
|
||||||
class="pagination" @change="changePagination" />
|
:total="tableDataTotal" class="pagination" @change="changePagination" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 弹窗组件 -->
|
<!-- 弹窗组件 -->
|
||||||
<a-drawer class="largeDrawerInside" v-model:visible="teacherdialog" placement="right" :closable="false" :maskClosable="false"
|
<a-drawer class="largeDrawerInside" v-model:visible="teacherdialog" placement="right" :closable="false"
|
||||||
width="700" :title="false">
|
:maskClosable="false" width="700" :title="false">
|
||||||
<div style="padding:24px">
|
<div style="padding: 24px;">
|
||||||
<div class="headers" style="margin-top:-24px;margin-left: -25px;width: 110%;">
|
<div class="headers" style="margin-top:-24px;margin-left: -25px;width: 110%;margin-left: -24px;">
|
||||||
<div class="headerTitle" style="margin-left: 14px;">{{ teacherdialogtitle }}</div>
|
<div class="headerTitle">{{ teacherdialogtitle }}</div>
|
||||||
<img
|
<img style="width: 29px; height: 29px; cursor: pointer;margin-right: 24px;"
|
||||||
style="width: 29px; height: 29px; cursor: pointer;margin-right: 24px;"
|
src="@/assets/images/basicinfo/close.png" @click="cancelTeacherDialog" />
|
||||||
src="@/assets/images/basicinfo/close.png"
|
|
||||||
@click="cancelTeacherDialog"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<div ref="drawerContent" style="padding-left: 15px;padding-right: 46px;min-width:760px;">
|
<div ref="drawerContent" style="padding-left: 15px;padding-right: 150px;min-width:760px;">
|
||||||
<a-form :model="formParam" layout="vertical" ref="formRef">
|
<a-form :model="formParam" layout="vertical" ref="formRef">
|
||||||
<a-row>
|
<a-row>
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
@@ -135,11 +139,14 @@
|
|||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<div class="item_inp" style="background-color: #fff;">
|
<div class="item_inp" style="background-color: #fff;">
|
||||||
<div style="width:120px;margin:0 auto;" @click="avatarChange">
|
<div style="width:120px;margin:0 auto;" @click="avatarChange">
|
||||||
<a-upload :disabled="!formParam.name" name="avatar" list-type="picture-card" class="avatar-uploader" :show-upload-list="false"
|
<a-upload :disabled="!formParam.name" name="avatar" list-type="picture-card" class="avatar-uploader"
|
||||||
:headers="headers" :before-upload="beforeUpload">
|
:show-upload-list="false" :headers="headers" :before-upload="beforeUpload">
|
||||||
<img class="i_upload_img" v-if="formParam.photo" :src="formParam.photo" alt="avatar" title="更换头像" />
|
<img class="i_upload_img" v-if="formParam.photo" :src="formParam.photo" alt="avatar"
|
||||||
<img class="i_upload_img" v-else-if="formParam.gender==1" src="../../assets/Avatarman.png" alt="avatar" title="更换头像" />
|
title="更换头像" />
|
||||||
<img class="i_upload_img" v-else-if="formParam.gender==2" src="../../assets/Avatarwoman.png" alt="avatar" title="更换头像" />
|
<img class="i_upload_img" v-else-if="formParam.gender == 1" src="../../assets/Avatarman.png"
|
||||||
|
alt="avatar" title="更换头像" />
|
||||||
|
<img class="i_upload_img" v-else-if="formParam.gender == 2" src="../../assets/Avatarwoman.png"
|
||||||
|
alt="avatar" title="更换头像" />
|
||||||
<img class="i_upload_img" v-else src="../../assets/Avatarman.png" alt="avatar" title="更换头像" />
|
<img class="i_upload_img" v-else src="../../assets/Avatarman.png" alt="avatar" title="更换头像" />
|
||||||
<!-- <div class="i_upload" v-else>
|
<!-- <div class="i_upload" v-else>
|
||||||
<div class="addimg">
|
<div class="addimg">
|
||||||
@@ -161,15 +168,15 @@
|
|||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item name="name">
|
<a-form-item name="name">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
style="margin-right:4px;width: 7px;height: 7px"
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
讲师姓名
|
讲师姓名
|
||||||
</template>
|
</template>
|
||||||
<SearchTeacher @tlevel="teacherTlevel" :lecturer="true" :disabled="!!id" v-model:value="formParam.name" v-model:lable="formParam.orgNames" v-model:orgId="formParam.orgId" v-model:id="formParam.id"
|
<!-- TODO GX01 -->
|
||||||
v-model:system="tSystemNames" v-model:level="formParam.tlevelId"></SearchTeacher>
|
<SearchTeacher @tlevel="teacherTlevel" :lecturer="true" :disabled="!!id"
|
||||||
|
v-model:value="formParam.name" v-model:lable="formParam.orgNames" v-model:orgId="formParam.orgId"
|
||||||
|
v-model:id="formParam.id" v-model:system="tSystemNames" v-model:level="formParam.tlevelId">
|
||||||
|
</SearchTeacher>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
@@ -188,18 +195,15 @@
|
|||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item name="tsystemName">
|
<a-form-item name="tsystemName">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
style="margin-right:4px;width: 7px;height: 7px"
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
讲师体系
|
讲师体系
|
||||||
</template>
|
</template>
|
||||||
<!-- <a-select class="draitem" v-model:value="formParam.tsystemName" placeholder="请选择讲师体系" allowClear
|
<!-- <a-select class="draitem" v-model:value="formParam.tsystemName" placeholder="请选择讲师体系" allowClear
|
||||||
@change="changetlevel" .:options="LecturerSystemList">
|
@change="changetlevel" .:options="LecturerSystemList">
|
||||||
</a-select> -->
|
</a-select> -->
|
||||||
<a-input disabled v-model:value="tSystemNames.systemName" class="draitem"
|
<a-input disabled v-model:value="tSystemNames.systemName" class="draitem" placeholder="自动带出讲师的体系"
|
||||||
placeholder="自动带出讲师的体系" allowClear showSearch>
|
allowClear showSearch>
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -207,11 +211,8 @@
|
|||||||
<!-- <div @click="handleformlevel"> -->
|
<!-- <div @click="handleformlevel"> -->
|
||||||
<a-form-item name="tlevelId">
|
<a-form-item name="tlevelId">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
style="margin-right:4px;width: 7px;height: 7px"
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
讲师级别
|
讲师级别
|
||||||
</template>
|
</template>
|
||||||
<a-select class="draitem" v-model:value="formParam.tlevelId" placeholder="请选择讲师级别" allowClear disableda
|
<a-select class="draitem" v-model:value="formParam.tlevelId" placeholder="请选择讲师级别" allowClear disableda
|
||||||
@@ -224,16 +225,13 @@
|
|||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item name="defaultTeachingTime">
|
<a-form-item name="defaultTeachingTime">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
style="margin-right:4px;width: 7px;height: 7px"
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
初始授课时长
|
初始授课时长
|
||||||
</template>
|
</template>
|
||||||
<a-input v-model:value="formParam.defaultTeachingTime" style="width:100%; height: 40px; border-radius: 8px; "
|
<a-input v-model:value="formParam.defaultTeachingTime"
|
||||||
:maxLength="8"
|
style="width:100%; height: 40px; border-radius: 8px; " :maxLength="8" @change="clearNonNumber"
|
||||||
@change="clearNonNumber" @blur="blurNumber" @focus="focusNumber" placeholder="请输入初始授课时长" allowClear suffix="分钟">
|
@blur="blurNumber" @focus="focusNumber" placeholder="请输入初始授课时长" allowClear suffix="分钟">
|
||||||
</a-input>
|
</a-input>
|
||||||
<!-- <span style="margin-left: 5px ;" v-if="formParam.defaultTeachingTime === null">0.00小时</span>
|
<!-- <span style="margin-left: 5px ;" v-if="formParam.defaultTeachingTime === null">0.00小时</span>
|
||||||
<span style="margin-left: 5px ;" v-if="formParam.defaultTeachingTime != null">{{
|
<span style="margin-left: 5px ;" v-if="formParam.defaultTeachingTime != null">{{
|
||||||
@@ -255,7 +253,8 @@
|
|||||||
</a-row>
|
</a-row>
|
||||||
<a-row>
|
<a-row>
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<span class="line" style="margin-bottom:24px;"></span><span style="color:#333333;font-weight: 600;font-size:16px;">其他信息</span>
|
<span class="line" style="margin-bottom:24px;"></span><span
|
||||||
|
style="color:#333333;font-weight: 600;font-size:16px;">其他信息</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row :gutter="16">
|
<a-row :gutter="16">
|
||||||
@@ -300,15 +299,8 @@
|
|||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
<div>
|
<div>
|
||||||
<a-modal
|
<a-modal v-model:visible="updialog" :footer="null" closable="false" style="margin-top: 400px"
|
||||||
v-model:visible="updialog"
|
@cancel="cancelupdialog" :maskClosable="false" :destroyOnClose="true">
|
||||||
:footer="null"
|
|
||||||
closable="false"
|
|
||||||
style="margin-top: 400px"
|
|
||||||
@cancel="cancelupdialog"
|
|
||||||
:maskClosable="false"
|
|
||||||
:destroyOnClose="true"
|
|
||||||
>
|
|
||||||
<div class="selectonlineface" style="width: 660px;" :style="{ display: updialog ? 'block' : 'none' }">
|
<div class="selectonlineface" style="width: 660px;" :style="{ display: updialog ? 'block' : 'none' }">
|
||||||
<div class="bg_headers"></div>
|
<div class="bg_headers"></div>
|
||||||
<div class="bg_main">
|
<div class="bg_main">
|
||||||
@@ -320,18 +312,16 @@
|
|||||||
<a-form style="margin-top:30px ;">
|
<a-form style="margin-top:30px ;">
|
||||||
<a-form-item style="color: #999999;">注意 :文件支持PDF、PNG、JPG ,文件大小不可超过5MB</a-form-item>
|
<a-form-item style="color: #999999;">注意 :文件支持PDF、PNG、JPG ,文件大小不可超过5MB</a-form-item>
|
||||||
<a-form-item label="上传文件">
|
<a-form-item label="上传文件">
|
||||||
<UploadDragger :size="5000000" ref="uploadRef" style="width:86%;height:148px;" @change="changeUpload" :accept="accept"
|
<UploadDragger :size="5000000" ref="uploadRef" style="width:86%;height:148px;"
|
||||||
@removeList="removeList" :uploadUrl="uploadUrl" :params="folderId" :loadTrue="formParam.certificationName" />
|
@change="changeUpload" :accept="accept" @removeList="removeList" :uploadUrl="uploadUrl"
|
||||||
|
:params="folderId" :loadTrue="formParam.certificationName" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-form>
|
</a-form>
|
||||||
<div class="bg_footer" style="margin-left: 160px;margin-top: 30px">
|
<div class="bg_footer" style="margin-left: 160px;margin-top: 30px">
|
||||||
<div class="btn btn6" @click="cancelupdialog">
|
<div class="btn btn6" @click="cancelupdialog">
|
||||||
<div class="btnText">取消</div>
|
<div class="btnText">取消</div>
|
||||||
</div>
|
</div>
|
||||||
<a-button
|
<a-button class="btn btn6" @click="createupdialog">
|
||||||
class="btn btn6"
|
|
||||||
@click="createupdialog"
|
|
||||||
>
|
|
||||||
确定
|
确定
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
@@ -657,8 +647,10 @@ export default {
|
|||||||
let obj = {
|
let obj = {
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 1000,
|
pageSize: 1000,
|
||||||
|
isView: 1
|
||||||
}
|
}
|
||||||
getTeacherSystemList(obj).then((res) => {
|
getTeacherSystemList(obj).then((res) => {
|
||||||
|
console.log("getTeacherSystemList res.data.data.records",res.data.data.records)
|
||||||
if (res.data.code === 200) {
|
if (res.data.code === 200) {
|
||||||
let arr = res.data.data.records;
|
let arr = res.data.data.records;
|
||||||
let array = [];
|
let array = [];
|
||||||
@@ -1353,19 +1345,21 @@ export default {
|
|||||||
}
|
}
|
||||||
//导出功能
|
//导出功能
|
||||||
const handleExport = () => {
|
const handleExport = () => {
|
||||||
|
console.log("handleExport state.searchParam",state.searchParam)
|
||||||
|
|
||||||
window.open(
|
window.open(
|
||||||
`${process.env.VUE_APP_BASE_API}/admin/export/exportInTeacher?name=${state.searchParam.name || ""}&tSystemId=${state.searchParam.tSystemId || ""}&tLevelName=${state.searchParam.tLevelName || "" }&waitStatus=${state.searchParam.waitStatus || ""}&certStatus=${state.searchParam.certStatus || ""}&courses=${state.searchParam.courses || ""}`
|
`${process.env.VUE_APP_BASE_API}/admin/export/exportInTeacher?name=${state.searchParam.name || ""}&tSystemId=${state.searchParam.tSystemId || ""}&tLevelName=${state.searchParam.tLevelName || ""}&waitStatus=${state.searchParam.waitStatus || ""}&certStatus=${state.searchParam.certStatus || ""}&courses=${state.searchParam.courses || ""}&teacherType=${state.searchParam.teacherType || ""}`
|
||||||
);
|
);
|
||||||
// this.download('lesson_records/export', {
|
// this.download('lesson_records/export', {
|
||||||
// ...state.searchParam
|
// ...state.searchParam
|
||||||
// }, `project_${new Date().getTime()}.xlsx` )
|
// }, `project_${new Date().getTime()}.xlsx` )
|
||||||
}
|
}
|
||||||
const lecturerAdmin = (admin) => {
|
const lecturerAdmin = (admin) => {
|
||||||
const roleCode = userInfo.value.roleList.map((item)=>item.roleCode)
|
const roleCode = userInfo.value.roleList.map((item) => item.roleCode)
|
||||||
if (admin){
|
if (admin) {
|
||||||
return roleCode.some(t => t == admin)
|
return roleCode.some(t => t == admin)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
lecturerAdmin,
|
lecturerAdmin,
|
||||||
@@ -1456,6 +1450,7 @@ export default {
|
|||||||
// margin-bottom: 12px;
|
// margin-bottom: 12px;
|
||||||
// height: 40px;
|
// height: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.headers {
|
.headers {
|
||||||
height: 56px;
|
height: 56px;
|
||||||
border-bottom: 1px solid #e8e8e8;
|
border-bottom: 1px solid #e8e8e8;
|
||||||
@@ -1471,9 +1466,10 @@ export default {
|
|||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
line-height: 25px;
|
line-height: 25px;
|
||||||
// margin-left: 24px;
|
margin-left: 24px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.selectonlineface {
|
.selectonlineface {
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
width: 679px;
|
width: 679px;
|
||||||
@@ -1483,24 +1479,26 @@ export default {
|
|||||||
left: 50%;
|
left: 50%;
|
||||||
top: -100%;
|
top: -100%;
|
||||||
transform: translate(-50%, -50%);
|
transform: translate(-50%, -50%);
|
||||||
|
|
||||||
.bg_headers {
|
.bg_headers {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
background: linear-gradient(
|
background: linear-gradient(rgba(78, 166, 255, 0.2) 0%,
|
||||||
rgba(78, 166, 255, 0.2) 0%,
|
rgba(78, 166, 255, 0) 100%);
|
||||||
rgba(78, 166, 255, 0) 100%
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg_main {
|
.bg_main {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.bg_main_header {
|
.bg_main_header {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding-top: 20px;
|
padding-top: 20px;
|
||||||
padding-left: 26px;
|
padding-left: 26px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
|
||||||
.bg_main_header_icon {
|
.bg_main_header_icon {
|
||||||
width: 16px;
|
width: 16px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
@@ -1508,6 +1506,7 @@ export default {
|
|||||||
background-image: url(@/assets/images/evaluation/uploads.png);
|
background-image: url(@/assets/images/evaluation/uploads.png);
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg_main_header_close {
|
.bg_main_header_close {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 42px;
|
right: 42px;
|
||||||
@@ -1518,9 +1517,11 @@ export default {
|
|||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.text_color {
|
.text_color {
|
||||||
color: #d9d9d9;
|
color: #d9d9d9;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg_body {
|
.bg_body {
|
||||||
width: 80%;
|
width: 80%;
|
||||||
margin: 3px auto;
|
margin: 3px auto;
|
||||||
@@ -1536,6 +1537,7 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: end;
|
justify-content: end;
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
|
|
||||||
.bg_body_btimg {
|
.bg_body_btimg {
|
||||||
width: 10px;
|
width: 10px;
|
||||||
height: 10px;
|
height: 10px;
|
||||||
@@ -1544,15 +1546,21 @@ export default {
|
|||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.mbl_items12 {
|
.mbl_items12 {
|
||||||
width: 333px;
|
width: 333px;
|
||||||
margin-left: 128px;
|
margin-left: 128px;
|
||||||
|
|
||||||
.item_text {
|
.item_text {
|
||||||
width: 300px;
|
width: 300px;
|
||||||
white-space: nowrap; /* 不换行 */
|
white-space: nowrap;
|
||||||
overflow: hidden; /* 超出部分隐藏 */
|
/* 不换行 */
|
||||||
text-overflow: ellipsis; /* 使用省略号表示被隐藏的部分 */
|
overflow: hidden;
|
||||||
|
/* 超出部分隐藏 */
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
/* 使用省略号表示被隐藏的部分 */
|
||||||
}
|
}
|
||||||
|
|
||||||
.i12_box1 {
|
.i12_box1 {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -1614,6 +1622,7 @@ export default {
|
|||||||
background-color: #4ea6ff;
|
background-color: #4ea6ff;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.updataxq1 {
|
.updataxq1 {
|
||||||
margin-top: 7px;
|
margin-top: 7px;
|
||||||
}
|
}
|
||||||
@@ -1653,21 +1662,26 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg_body_input {
|
.bg_body_input {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.ant-upload-picture-card-wrapper {
|
.ant-upload-picture-card-wrapper {
|
||||||
width: 200px;
|
width: 200px;
|
||||||
margin-right: 18px;
|
margin-right: 18px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.i_upload_img {
|
.i_upload_img {
|
||||||
width: 200px;
|
width: 200px;
|
||||||
height: 112px;
|
height: 112px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-upload.ant-upload-select-picture-card {
|
::v-deep .ant-upload.ant-upload-select-picture-card {
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.i_upload {
|
.i_upload {
|
||||||
width: 200px;
|
width: 200px;
|
||||||
height: 112px;
|
height: 112px;
|
||||||
@@ -1695,6 +1709,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.upload_box {
|
.upload_box {
|
||||||
border: 1px solid #d9d9d9;
|
border: 1px solid #d9d9d9;
|
||||||
padding: 2px 5px;
|
padding: 2px 5px;
|
||||||
@@ -1702,6 +1717,7 @@ export default {
|
|||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.error-message {
|
.error-message {
|
||||||
color: red;
|
color: red;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
@@ -1709,6 +1725,7 @@ export default {
|
|||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg_footer {
|
.bg_footer {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-left: 174px;
|
margin-left: 174px;
|
||||||
@@ -1744,12 +1761,14 @@ export default {
|
|||||||
background-color: #4ea6ff;
|
background-color: #4ea6ff;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btndesign {
|
.btndesign {
|
||||||
background-color: #eff4fc;
|
background-color: #eff4fc;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.headers {
|
.headers {
|
||||||
margin-left: 38px;
|
margin-left: 38px;
|
||||||
margin-right: 38px;
|
margin-right: 38px;
|
||||||
@@ -1757,15 +1776,19 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
.headers_item {
|
.headers_item {
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
|
|
||||||
.headers_item_text {
|
.headers_item_text {
|
||||||
margin-right: 15px;
|
margin-right: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.headers_item_btn {
|
.headers_item_btn {
|
||||||
padding: 0px 26px 0px 26px;
|
padding: 0px 26px 0px 26px;
|
||||||
height: 38px;
|
height: 38px;
|
||||||
@@ -1791,6 +1814,7 @@ export default {
|
|||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn1 {
|
.btn1 {
|
||||||
.search {
|
.search {
|
||||||
width: 15px;
|
width: 15px;
|
||||||
@@ -1798,6 +1822,7 @@ export default {
|
|||||||
background-image: url("../../assets/images/courseManage/search0.png");
|
background-image: url("../../assets/images/courseManage/search0.png");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn2 {
|
.btn2 {
|
||||||
.search {
|
.search {
|
||||||
width: 16px;
|
width: 16px;
|
||||||
@@ -1805,18 +1830,22 @@ export default {
|
|||||||
background-image: url("../../assets/images/courseManage/reset0.png");
|
background-image: url("../../assets/images/courseManage/reset0.png");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-select {
|
::v-deep .ant-select {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
|
|
||||||
.ant-select-selector {
|
.ant-select-selector {
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-select-selection-placeholder {
|
.ant-select-selection-placeholder {
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-select-selection-item {
|
.ant-select-selection-item {
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
}
|
}
|
||||||
@@ -1825,6 +1854,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-upload.ant-upload-select-picture-card {
|
::v-deep .ant-upload.ant-upload-select-picture-card {
|
||||||
border-radius: 50% !important;
|
border-radius: 50% !important;
|
||||||
width: 90px;
|
width: 90px;
|
||||||
@@ -1840,12 +1870,14 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.text {
|
.text {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
margin-top: -4px;
|
margin-top: -4px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.add_list {
|
.add_list {
|
||||||
width: 136%;
|
width: 136%;
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
@@ -1853,6 +1885,7 @@ export default {
|
|||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
|
|
||||||
// overflow: auto;
|
// overflow: auto;
|
||||||
.add_item {
|
.add_item {
|
||||||
padding: 5px 15px;
|
padding: 5px 15px;
|
||||||
@@ -1870,6 +1903,7 @@ export default {
|
|||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.add_content {
|
.add_content {
|
||||||
width: 30px;
|
width: 30px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
@@ -1880,6 +1914,7 @@ export default {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
|
|
||||||
.text {
|
.text {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
@@ -1887,6 +1922,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//导出按钮icon
|
//导出按钮icon
|
||||||
.daochu {
|
.daochu {
|
||||||
width: 16px;
|
width: 16px;
|
||||||
@@ -2091,6 +2127,7 @@ export default {
|
|||||||
margin-right: 14px;
|
margin-right: 14px;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
.search {
|
.search {
|
||||||
width: 15px;
|
width: 15px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
@@ -2208,24 +2245,30 @@ export default {
|
|||||||
::v-deep .ant-modal-close {
|
::v-deep .ant-modal-close {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tableBox {
|
.tableBox {
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
margin: 20px 38px 30px;
|
margin: 20px 38px 30px;
|
||||||
|
|
||||||
::v-deep .ant-select-dropdown {
|
::v-deep .ant-select-dropdown {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-select-selection-item {
|
::v-deep .ant-select-selection-item {
|
||||||
margin-left: 3px;
|
margin-left: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-pagination-options-size-changer.ant-select {
|
::v-deep .ant-pagination-options-size-changer.ant-select {
|
||||||
width: 84px;
|
width: 84px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pa {
|
.pa {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: right;
|
justify-content: right;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.item_inp .i_upload_img[data-v-6b882d01] {
|
.item_inp .i_upload_img[data-v-6b882d01] {
|
||||||
border-radius: 50%
|
border-radius: 50%
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,8 +50,18 @@
|
|||||||
<!-- <OrgClass @enter="searchSubmit()" v-model:value="searchParam.orgId" :placeholder="'请选择讲师组织'"
|
<!-- <OrgClass @enter="searchSubmit()" v-model:value="searchParam.orgId" :placeholder="'请选择讲师组织'"
|
||||||
style="width: 235px"
|
style="width: 235px"
|
||||||
></OrgClass> -->
|
></OrgClass> -->
|
||||||
<a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.trainOrgId" placeholder="请选择培训发生组织" allowClear
|
<!-- TODO GX02-->
|
||||||
:options="orgListSearch"
|
<a-select
|
||||||
|
style="width: 235px ;
|
||||||
|
margin-bottom:20px"
|
||||||
|
v-model:value="searchParam.trainOrgId"
|
||||||
|
placeholder="请选择培训发生组织"
|
||||||
|
allowClear
|
||||||
|
showSearch
|
||||||
|
:filter-option="false"
|
||||||
|
:options="filterOrgListSearch"
|
||||||
|
@search="handleOrgSearch"
|
||||||
|
@change="changeOrg"
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -284,8 +294,14 @@
|
|||||||
/>
|
/>
|
||||||
培训发生组织
|
培训发生组织
|
||||||
</template>
|
</template>
|
||||||
<a-select v-model:value="formParam.trainOrgId" placeholder="请选择培训发生组织" allowClear
|
<!-- TODO5 授课讲师 -->
|
||||||
:options="orgList" @change="changeOrg">
|
<a-select v-model:value="formParam.trainOrgId" placeholder="请选择培训发生组织"
|
||||||
|
allowClear
|
||||||
|
showSearch
|
||||||
|
:filter-option="false"
|
||||||
|
:options="filterOrgListSearch"
|
||||||
|
@search="handleOrgSearch"
|
||||||
|
@change="changeOrg">
|
||||||
</a-select>
|
</a-select>
|
||||||
<!-- <OrgClass v-model:value="formParam.sourceBelongId" v-model:name="formParam.sourceBelongFullName"></OrgClass> -->
|
<!-- <OrgClass v-model:value="formParam.sourceBelongId" v-model:name="formParam.sourceBelongFullName"></OrgClass> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -413,27 +429,27 @@
|
|||||||
<span style="font-weight:600;">讲师信息</span>
|
<span style="font-weight:600;">讲师信息</span>
|
||||||
<a-descriptions style="margin-top:15px;" bordered :column="2" :contentStyle="{'maxWidth':'300px'}" :labelStyle="{'width':'160px'}">
|
<a-descriptions style="margin-top:15px;" bordered :column="2" :contentStyle="{'maxWidth':'300px'}" :labelStyle="{'width':'160px'}">
|
||||||
<a-descriptions-item label="讲师名称"><div style="user-select: text">{{ formParam.teacherName ||'-'}}/{{ formParam.userNo||'-' }}</div></a-descriptions-item>
|
<a-descriptions-item label="讲师名称"><div style="user-select: text">{{ formParam.teacherName ||'-'}}/{{ formParam.userNo||'-' }}</div></a-descriptions-item>
|
||||||
|
|
||||||
<!-- <a-descriptions-item label="讲师组织">{{ formParam.orgName||'-' }}</a-descriptions-item> -->
|
|
||||||
<a-descriptions-item label="培训发生组织">{{ formParam.trainOrgName||'-' }}</a-descriptions-item>
|
|
||||||
<!-- <a-descriptions-item label="讲师体系">{{ formParam.tsystemName||'-' }}</a-descriptions-item> -->
|
|
||||||
<!-- <a-descriptions-item label="讲师级别">{{ formParam.tlevelName||'-'}}</a-descriptions-item> -->
|
|
||||||
<a-descriptions-item label="数据来源">
|
|
||||||
{{ formParam.createFrom == 0 ? '系统生成' : formParam.createFrom == 1 ? '手动录入' : '-' }}</a-descriptions-item>
|
|
||||||
<a-descriptions-item label="课程类型">{{ formParam.type == 0 ? '在线课' : formParam.type == 1 ? '面授课' : formParam.type == 2 ? '手动录入' : '-'
|
|
||||||
}}</a-descriptions-item>
|
|
||||||
<a-descriptions-item label="课程名称"><div style="user-select: text">{{ formParam.courseName||'-' }}</div></a-descriptions-item>
|
<a-descriptions-item label="课程名称"><div style="user-select: text">{{ formParam.courseName||'-' }}</div></a-descriptions-item>
|
||||||
|
<a-descriptions-item label="课程类型">
|
||||||
|
{{ formParam.type == 0 ? '在线课' : formParam.type == 1 ? '面授课' : formParam.type == 5 ? '手动录入' : '-'}}</a-descriptions-item>
|
||||||
|
<a-descriptions-item label="授课/课程日期"><div style="user-select: text">{{ formParam.teachingDate||'-' }}</div></a-descriptions-item>
|
||||||
<a-descriptions-item label="开课状态">{{ formParam.courseStatus == 0 ? '未开课' : formParam.courseStatus == 1
|
<a-descriptions-item label="开课状态">{{ formParam.courseStatus == 0 ? '未开课' : formParam.courseStatus == 1
|
||||||
? '已开课' : '-' }}</a-descriptions-item>
|
? '已开课' : '-' }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="授课/课程时长 ">
|
<a-descriptions-item label="授课/课程时长(分钟)">
|
||||||
<span> {{ formParam.teaching }} 分钟</span>
|
<span> {{ formParam.teaching }} 分钟</span>
|
||||||
<span style="margin-left: 10px ;" v-if="formParam.teaching != '0'">({{ (formParam.teaching / 60
|
<span style="margin-left: 10px ;" v-if="formParam.teaching != '0'">({{ (formParam.teaching / 60
|
||||||
).toFixed(2) }}小时)</span> </a-descriptions-item>
|
).toFixed(2) }}小时)</span> </a-descriptions-item>
|
||||||
<a-descriptions-item label="授课/课程日期"><div style="user-select: text">{{ formParam.teachingDate||'-' }}</div></a-descriptions-item>
|
|
||||||
<a-descriptions-item label="参训人数 ">{{ formParam.studys?formParam.studys+'人':'-' }}</a-descriptions-item>
|
<a-descriptions-item label="参训人数 ">{{ formParam.studys?formParam.studys+'人':'-' }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="评分 ">{{ formParam.score?Number(formParam.score).toFixed(0)==0?'-':Number(formParam.score).toFixed(2)+'分':'-' }}</a-descriptions-item>
|
<a-descriptions-item label="评分 ">{{ formParam.score?Number(formParam.score).toFixed(0)==0?'-':Number(formParam.score).toFixed(2)+'分':'-' }}</a-descriptions-item>
|
||||||
<!-- <a-descriptions-item label="内容分类">{{ formParam.courseTypeName||'-' }}</a-descriptions-item> -->
|
<!-- <a-descriptions-item label="讲师组织">{{ formParam.orgName||'-' }}</a-descriptions-item> -->
|
||||||
|
<a-descriptions-item label="培训发生组织">{{ formParam.trainOrgName||'-' }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="是否生成讲师费">{{{0:'否',1:'是'}[formParam.createdFee]}}</a-descriptions-item>
|
<a-descriptions-item label="是否生成讲师费">{{{0:'否',1:'是'}[formParam.createdFee]}}</a-descriptions-item>
|
||||||
|
<!-- <a-descriptions-item label="讲师体系">{{ formParam.tsystemName||'-' }}</a-descriptions-item> -->
|
||||||
|
<!-- <a-descriptions-item label="讲师级别">{{ formParam.tlevelName||'-'}}</a-descriptions-item> -->
|
||||||
|
<!-- <a-descriptions-item label="数据来源">
|
||||||
|
{{ formParam.createFrom == 0 ? '系统生成' : formParam.createFrom == 1 ? '手动录入' : '-' }}</a-descriptions-item> -->
|
||||||
|
<!-- <a-descriptions-item label="内容分类">{{ formParam.courseTypeName||'-' }}</a-descriptions-item> -->
|
||||||
|
|
||||||
<a-descriptions-item label="备注 ">{{ formParam.remark||'-' }}</a-descriptions-item>
|
<a-descriptions-item label="备注 ">{{ formParam.remark||'-' }}</a-descriptions-item>
|
||||||
</a-descriptions>
|
</a-descriptions>
|
||||||
<div v-if="formParam.createFrom == '0'">
|
<div v-if="formParam.createFrom == '0'">
|
||||||
@@ -495,7 +511,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
</div>
|
</div>
|
||||||
<ImportWork v-model:showWork="showWork" :template="'内部讲师授课记录导入模版-20250115.xlsx'" :url="'/admin/export/importInTeacherRecord'" :title="title"></ImportWork>
|
<!-- 导入01 -->
|
||||||
|
<ImportWork v-model:showWork="showWork" :template="'/admin/export/exportRecordTemplate'" :url="'/admin/export/importInTeacherRecord'" :title="title"></ImportWork>
|
||||||
<!-- <div> <Upload/> </div> -->
|
<!-- <div> <Upload/> </div> -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -560,6 +577,7 @@ export default {
|
|||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
orgListSearch: [],
|
orgListSearch: [],
|
||||||
|
filterOrgListSearch: [],
|
||||||
moreid: 1,
|
moreid: 1,
|
||||||
title: '导入内部授课记录',
|
title: '导入内部授课记录',
|
||||||
vf: false,
|
vf: false,
|
||||||
@@ -705,7 +723,8 @@ export default {
|
|||||||
{ value: '', label: "全部" },
|
{ value: '', label: "全部" },
|
||||||
{ value: '0', label: "在线课" },
|
{ value: '0', label: "在线课" },
|
||||||
{ value: '1', label: "面授课" },
|
{ value: '1', label: "面授课" },
|
||||||
{ value: '2', label: "手动录入" },
|
{ value: '2', label: "训练班" },
|
||||||
|
{ value: '5', label: "手动录入" },
|
||||||
])
|
])
|
||||||
const scoreList = ref([
|
const scoreList = ref([
|
||||||
{ value: '', label: "全部" },
|
{ value: '', label: "全部" },
|
||||||
@@ -803,7 +822,8 @@ export default {
|
|||||||
? {
|
? {
|
||||||
"0": "在线课",
|
"0": "在线课",
|
||||||
"1": "面授课",
|
"1": "面授课",
|
||||||
"2": "手动录入",
|
"2": "训练班",
|
||||||
|
"5": "手动录入",
|
||||||
}[value.record.type + ""]
|
}[value.record.type + ""]
|
||||||
: "-"}
|
: "-"}
|
||||||
</div>
|
</div>
|
||||||
@@ -890,25 +910,25 @@ export default {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
title: '数据来源',
|
// title: '数据来源',
|
||||||
dataIndex: 'createFrom',
|
// dataIndex: 'createFrom',
|
||||||
key: 'createFrom',
|
// key: 'createFrom',
|
||||||
ellipsis: true, align: "center",
|
// ellipsis: true, align: "center",
|
||||||
width: 120,
|
// width: 120,
|
||||||
customRender: (value) => {
|
// customRender: (value) => {
|
||||||
return (
|
// return (
|
||||||
<div>
|
// <div>
|
||||||
{value.record.createFrom == "0" || value.record.createFrom == "1"
|
// {value.record.createFrom == "0" || value.record.createFrom == "1"
|
||||||
? {
|
// ? {
|
||||||
"0": "系统生成",
|
// "0": "系统生成",
|
||||||
"1": "手动录入",
|
// "1": "手动录入",
|
||||||
}[value.record.createFrom + ""] || ""
|
// }[value.record.createFrom + ""] || ""
|
||||||
: "-"}
|
// : "-"}
|
||||||
</div>
|
// </div>
|
||||||
)
|
// )
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
title: '培训发生组织 ',
|
title: '培训发生组织 ',
|
||||||
dataIndex: 'trainOrgName',
|
dataIndex: 'trainOrgName',
|
||||||
@@ -963,6 +983,7 @@ export default {
|
|||||||
pageSize:50
|
pageSize:50
|
||||||
}
|
}
|
||||||
queryTrainOrgPor(obj).then((res) => {
|
queryTrainOrgPor(obj).then((res) => {
|
||||||
|
|
||||||
state.orgList = res.data.data?.map(item=>{
|
state.orgList = res.data.data?.map(item=>{
|
||||||
return{
|
return{
|
||||||
label: item.affiliationName,
|
label: item.affiliationName,
|
||||||
@@ -978,9 +999,16 @@ export default {
|
|||||||
state.orgListSearch.unshift({
|
state.orgListSearch.unshift({
|
||||||
label: '全部', value: ''
|
label: '全部', value: ''
|
||||||
})
|
})
|
||||||
|
state.filterOrgListSearch = state.orgListSearch;
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
//TODO5
|
||||||
const changeOrg = (e,l) => {
|
const changeOrg = (e,l) => {
|
||||||
|
console.log("changeOrg e",e);
|
||||||
|
console.log("changeOrg l",l);
|
||||||
|
if(l == undefined || l == null){
|
||||||
|
state.filterOrgListSearch = state.orgListSearch;
|
||||||
|
}
|
||||||
state.formParam.trainOrgName = l?.label
|
state.formParam.trainOrgName = l?.label
|
||||||
}
|
}
|
||||||
const rules = {
|
const rules = {
|
||||||
@@ -1489,6 +1517,16 @@ export default {
|
|||||||
const sendRemark = () => {
|
const sendRemark = () => {
|
||||||
state.formParam.remark = state.formParam.remark.replace(/\s/g, '');
|
state.formParam.remark = state.formParam.remark.replace(/\s/g, '');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO5
|
||||||
|
const handleOrgSearch = (value) => {
|
||||||
|
let temp = JSON.parse(JSON.stringify(state.orgListSearch));
|
||||||
|
//选择数据
|
||||||
|
state.filterOrgListSearch = temp.filter(item => item.label.includes(value))
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
sendName,
|
sendName,
|
||||||
@@ -1548,7 +1586,8 @@ export default {
|
|||||||
// editTimeChange,
|
// editTimeChange,
|
||||||
scoreChange,
|
scoreChange,
|
||||||
locale,
|
locale,
|
||||||
checkMenu
|
checkMenu,
|
||||||
|
handleOrgSearch
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -6,28 +6,20 @@
|
|||||||
<a-form layout="inline" style="min-width: 1380px;">
|
<a-form layout="inline" style="min-width: 1380px;">
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-select style="width: 235px" v-model:value="searchParam.trainOrgId" placeholder="培训发生组织" allowClear
|
<a-select style="width: 235px" v-model:value="searchParam.trainOrgId" placeholder="培训发生组织" allowClear
|
||||||
:options="trainOrglist"
|
:options="trainOrglist" v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select ">
|
<a-form-item class="select ">
|
||||||
<!-- <div class="select addTimeBox">
|
<!-- <div class="select addTimeBox">
|
||||||
<div class="addTime" >汇总时间:</div> -->
|
<div class="addTime" >汇总时间:</div> -->
|
||||||
<a-range-picker
|
<a-range-picker v-model:value="searchdate" style="width: 340px !important;" format="YYYY-MM-DD"
|
||||||
v-model:value="searchdate"
|
valueFormat="YYYY-MM-DD" separator="至" :placeholder="['汇总时间开始时间', '汇总时间结束时间']"
|
||||||
style="width: 340px !important;"
|
v-on:keydown.enter="enterPressHadlerSearch" />
|
||||||
format="YYYY-MM-DD"
|
|
||||||
valueFormat="YYYY-MM-DD"
|
|
||||||
separator="至"
|
|
||||||
:placeholder="['汇总时间开始时间', '汇总时间结束时间']"
|
|
||||||
v-on:keydown.enter="enterPressHadlerSearch"
|
|
||||||
/>
|
|
||||||
<!-- </div> -->
|
<!-- </div> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-select style="width: 200px ;margin-bottom:20px" v-model:value="searchParam.status" placeholder="请选择状态" allowClear
|
<a-select style="width: 200px ;margin-bottom:20px" v-model:value="searchParam.status" placeholder="请选择状态"
|
||||||
:options="AuthenticationStatusList"
|
allowClear :options="AuthenticationStatusList" v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<div style="display: flex; margin-bottom: 20px">
|
<div style="display: flex; margin-bottom: 20px">
|
||||||
@@ -91,9 +83,11 @@
|
|||||||
<template v-if="column.key === 'operation'">
|
<template v-if="column.key === 'operation'">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-button type="link" v-if="record.status != 2 && record.status != 3" @click="goDdit(record)">提交</a-button>
|
<a-button type="link" v-if="record.status != 2 && record.status != 3" @click="goDdit(record)">提交</a-button>
|
||||||
<a-button type="link" v-if="record.status != 1&&record.status!=5" @click="() => handleLook(record, String(record.courseform))">查看</a-button>
|
<a-button type="link" v-if="record.status != 1 && record.status != 5"
|
||||||
|
@click="() => handleLook(record, String(record.courseform))">查看</a-button>
|
||||||
<!-- <a-button type="link" @click="() => handleOperate(record, String(record.courseform))">审批</a-button> -->
|
<!-- <a-button type="link" @click="() => handleOperate(record, String(record.courseform))">审批</a-button> -->
|
||||||
<!-- <a-button type="link" @click="() => deleteModal(record, String(record.courseform))">删除</a-button> -->
|
<!-- TODO1 -->
|
||||||
|
<a-button v-if="record.status == 1 || record.status == 4" type="link" @click="() => deleteModal(record, String(record.courseform))">删除</a-button>
|
||||||
<!-- <a-button v-if="record.status == 4" type="link" @click="submit(record)">提交</a-button> -->
|
<!-- <a-button v-if="record.status == 4" type="link" @click="submit(record)">提交</a-button> -->
|
||||||
<a-button v-if="record.status == 2 && false" type="link" @click="withdraw(record)">撤回</a-button>
|
<a-button v-if="record.status == 2 && false" type="link" @click="withdraw(record)">撤回</a-button>
|
||||||
</a-space>
|
</a-space>
|
||||||
@@ -105,17 +99,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="tableBox ">
|
<div class="tableBox ">
|
||||||
<div style="float: right;">
|
<div style="float: right;">
|
||||||
<a-pagination
|
<a-pagination v-if="tableDataTotal > 10" :showSizeChanger="true" :showQuickJumper="false"
|
||||||
v-if="tableDataTotal > 10"
|
:hideOnSinglePage="false" :pageSize="searchParam.pageSize" :current="searchParam.pageNo"
|
||||||
:showSizeChanger="true "
|
:total="tableDataTotal" class="pagination" @change="changePagination" />
|
||||||
:showQuickJumper="false"
|
|
||||||
:hideOnSinglePage="false"
|
|
||||||
:pageSize="searchParam.pageSize"
|
|
||||||
:current="searchParam.pageNo"
|
|
||||||
:total="tableDataTotal"
|
|
||||||
class="pagination"
|
|
||||||
@change="changePagination"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 弹窗组件 -->
|
<!-- 弹窗组件 -->
|
||||||
@@ -125,21 +111,26 @@
|
|||||||
<div style="padding:24px;">
|
<div style="padding:24px;">
|
||||||
<div class="headers" style="margin-top:-24px;">
|
<div class="headers" style="margin-top:-24px;">
|
||||||
<div class="headerTitle">汇总讲师费详情</div>
|
<div class="headerTitle">汇总讲师费详情</div>
|
||||||
<img
|
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
@click="cancelTeachingDialog" />
|
||||||
src="../../assets/images/basicinfo/close.png"
|
|
||||||
@click="cancelTeachingDialog"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<span class="line"></span>
|
<span class="line"></span>
|
||||||
<span style="font-weight:600;">基本信息</span>
|
<span style="font-weight:600;">基本信息</span>
|
||||||
<a-descriptions style="margin-top:16px" bordered :column="2" :contentStyle="rowCenter" :labelStyle="rowCenter">
|
<a-descriptions style="margin-top:16px" bordered :column="2" :contentStyle="rowCenter" :labelStyle="rowCenter">
|
||||||
<a-descriptions-item label="审批编号"><div style="user-select:text">{{formParam?.approvalNumber||'-'}}</div></a-descriptions-item>
|
<a-descriptions-item label="审批编号">
|
||||||
<a-descriptions-item label="培训发生组织"><div style="user-select:text">{{formParam?.trainOrgName||'-'}}</div></a-descriptions-item>
|
<div style="user-select:text">{{ formParam?.approvalNumber || '-' }}</div>
|
||||||
|
</a-descriptions-item>
|
||||||
|
<a-descriptions-item label="培训发生组织">
|
||||||
|
<div style="user-select:text">{{ formParam?.trainOrgName || '-' }}</div>
|
||||||
|
</a-descriptions-item>
|
||||||
<a-descriptions-item label="汇总时间">{{ formParam?.summaryTime || '-' }}</a-descriptions-item>
|
<a-descriptions-item label="汇总时间">{{ formParam?.summaryTime || '-' }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="汇总金额">{{formParam?.summaryTotal?formParam?.summaryTotal+'元':'-'}}</a-descriptions-item>
|
<a-descriptions-item
|
||||||
|
label="汇总金额">{{ formParam?.summaryTotal ? formParam?.summaryTotal + '元' : '-' }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="提交时间">{{ formParam?.approvalSubmitTime || '-' }}</a-descriptions-item>
|
<a-descriptions-item label="提交时间">{{ formParam?.approvalSubmitTime || '-' }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="状态">{{{0:'待确认' ,1:'待提交' ,2:'审核中', 3:'审核通过', 4:'审核拒绝',5:'待提交'}[formParam?.status]}}</a-descriptions-item>
|
<a-descriptions-item label="状态">{{ {
|
||||||
|
0: '待确认', 1: '待提交', 2: '审核中', 3: '审核通过',
|
||||||
|
4: '审核拒绝', 5: '待提交'
|
||||||
|
}[formParam?.status]}}</a-descriptions-item>
|
||||||
</a-descriptions>
|
</a-descriptions>
|
||||||
<!-- <span>审批详情</span> -->
|
<!-- <span>审批详情</span> -->
|
||||||
<!-- <span class="line" style="margin-top:15px;"></span> -->
|
<!-- <span class="line" style="margin-top:15px;"></span> -->
|
||||||
@@ -148,27 +139,33 @@
|
|||||||
<div style="padding: 10px 0;">
|
<div style="padding: 10px 0;">
|
||||||
<div style="display: flex;margin-bottom: 20px;">
|
<div style="display: flex;margin-bottom: 20px;">
|
||||||
<div style="margin-right:20px;">
|
<div style="margin-right:20px;">
|
||||||
<a-input @pressEnter="searchTeacherFeeApprovalList()" style="height:40px;border-radius:8px;" v-model:value="userNoOrName" placeholder="请输入工号/讲师名称进行搜索" />
|
<a-input @pressEnter="searchTeacherFeeApprovalList()" style="height:40px;border-radius:8px;"
|
||||||
|
v-model:value="userNoOrName" placeholder="请输入工号/讲师名称进行搜索" />
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-right:20px;">
|
<div style="margin-right:20px;">
|
||||||
<a-range-picker style="height:40px;border-radius:8px;" @change="seeDateChange" valueFormat="YYYY-MM-DD" format="YYYY-MM-DD" v-model:value="seeDateValue" />
|
<a-range-picker style="height:40px;border-radius:8px;" @change="seeDateChange"
|
||||||
|
valueFormat="YYYY-MM-DD" format="YYYY-MM-DD" v-model:value="seeDateValue" />
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-right:20px;">
|
<div style="margin-right:20px;">
|
||||||
<a-button style="margin-right:15px;height:40px;border-radius:8px;" type="primary" @click="searchTeacherFeeApprovalList()">搜索</a-button>
|
<a-button style="margin-right:15px;height:40px;border-radius:8px;" type="primary"
|
||||||
<a-button style="margin-right:15px;height:40px;border-radius:8px;" type="primary" @click="resetSearch()">重置</a-button>
|
@click="searchTeacherFeeApprovalList()">搜索</a-button>
|
||||||
|
<a-button style="margin-right:15px;height:40px;border-radius:8px;" type="primary"
|
||||||
|
@click="resetSearch()">重置</a-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="padding-bottom:70px">
|
<div style="padding-bottom:70px">
|
||||||
<a-table :scroll="{x:'max-content'}" :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="columnsExamine"
|
<a-table :scroll="{ x: 'max-content' }" :header-cell-style="{ 'text-align': 'center' }"
|
||||||
:data-source="tableDataExamine" :loading="examinetableLoading" @expand="expandTable" :pagination="pagination">
|
style="border: 1px solid #f2f6fe" :columns="columnsExamine" :data-source="tableDataExamine"
|
||||||
|
:loading="examinetableLoading" @expand="expandTable" :pagination="pagination">
|
||||||
</a-table>
|
</a-table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
<a-tab-pane key="2" tab="讲师费审批记录" force-render v-if="false">
|
<a-tab-pane key="2" tab="讲师费审批记录" force-render v-if="false">
|
||||||
<div style="padding-bottom:70px">
|
<div style="padding-bottom:70px">
|
||||||
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="columnsExamineTwo"
|
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe"
|
||||||
:data-source="tableDataExamineTwo" :loading="tableDataExamineLoading" @expand="expandTable" :pagination="false">
|
:columns="columnsExamineTwo" :data-source="tableDataExamineTwo" :loading="tableDataExamineLoading"
|
||||||
|
@expand="expandTable" :pagination="false">
|
||||||
</a-table>
|
</a-table>
|
||||||
</div>
|
</div>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
@@ -193,8 +190,7 @@
|
|||||||
</a-drawer>
|
</a-drawer>
|
||||||
<!-- 修改状态功能弹窗 -->
|
<!-- 修改状态功能弹窗 -->
|
||||||
<div>
|
<div>
|
||||||
<a-modal v-model:visible="editTeacher" :footer="null" :closable="close" wrapClassName=""
|
<a-modal v-model:visible="editTeacher" :footer="null" :closable="close" wrapClassName="" centered="true">
|
||||||
centered="true">
|
|
||||||
<div class="delete" style="width:500px">
|
<div class="delete" style="width:500px">
|
||||||
<div class="del_header"></div>
|
<div class="del_header"></div>
|
||||||
<div class="del_main">
|
<div class="del_main">
|
||||||
@@ -227,14 +223,16 @@
|
|||||||
</a-modal>
|
</a-modal>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div> <Upload/> </div> -->
|
<!-- <div> <Upload/> </div> -->
|
||||||
<LecturerAppEdit @example="getExample" @successParams="successParams" v-model:visible="editTeacherDialog" :id="editId" ></LecturerAppEdit>
|
<LecturerAppEdit @example="getExample" @successParams="successParams" v-model:visible="editTeacherDialog"
|
||||||
|
:id="editId">
|
||||||
|
</LecturerAppEdit>
|
||||||
<div class="example" v-if="example">
|
<div class="example" v-if="example">
|
||||||
<a-spin />
|
<a-spin />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
import { reactive, toRefs, ref ,watch,computed,onMounted} from "vue";
|
import { reactive, toRefs, ref, watch, watchEffect, computed, onMounted, onUpdated} from "vue";
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
@@ -247,7 +245,7 @@
|
|||||||
DownloadOutlined
|
DownloadOutlined
|
||||||
} from '@ant-design/icons-vue';
|
} from '@ant-design/icons-vue';
|
||||||
import ProjectManager from "@/components/project/ProjectManagerNew";
|
import ProjectManager from "@/components/project/ProjectManagerNew";
|
||||||
import {expenseBillList,queryById,queryExpnseByBillId ,updateTeacherFee,updateStatusSubmit,approveTeacherFee,getTrainOrg,isConfirm} from "../../api/lecturerFeeManagement";
|
import { expenseBillList, queryById, queryExpnseByBillId, updateTeacherFee, updateStatusSubmit, approveTeacherFee, getTrainOrg, isConfirm , expenseBillDelById} from "../../api/lecturerFeeManagement";
|
||||||
import { getTeacherSystemList, getApprovalResultByBusinessIdList } from "../../api/Lecturer";
|
import { getTeacherSystemList, getApprovalResultByBusinessIdList } from "../../api/Lecturer";
|
||||||
import { queryTrainOrgPor, } from "../../api/organization";
|
import { queryTrainOrgPor, } from "../../api/organization";
|
||||||
// lecturerFeeManagement
|
// lecturerFeeManagement
|
||||||
@@ -265,11 +263,12 @@
|
|||||||
ProjectManager,
|
ProjectManager,
|
||||||
LecturerAppEdit,
|
LecturerAppEdit,
|
||||||
},
|
},
|
||||||
setup(props,emit) {
|
props: {
|
||||||
watch(()=>props.key,(val)=>{
|
activeKeyProps: String,
|
||||||
console.log(val,'valllllll')
|
},
|
||||||
})
|
setup(props) {
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
console.log("props.activeKeyProps",props.activeKeyProps)
|
||||||
// const search = sessionStorage.getItem('searchApprlval')
|
// const search = sessionStorage.getItem('searchApprlval')
|
||||||
// console.log(search,'search')
|
// console.log(search,'search')
|
||||||
// if(search){
|
// if(search){
|
||||||
@@ -423,8 +422,7 @@
|
|||||||
{ value: "E10", label: "审核打回", },
|
{ value: "E10", label: "审核打回", },
|
||||||
{ value: "S20", label: "审核通过", },
|
{ value: "S20", label: "审核通过", },
|
||||||
])
|
])
|
||||||
watch(
|
|
||||||
)
|
|
||||||
//切换筛选
|
//切换筛选
|
||||||
const handlemoreid = () => {
|
const handlemoreid = () => {
|
||||||
if (state.moreid == 1) {
|
if (state.moreid == 1) {
|
||||||
@@ -568,6 +566,7 @@
|
|||||||
// }
|
// }
|
||||||
// List接口数据
|
// List接口数据
|
||||||
const getTableDate = (obj) => {
|
const getTableDate = (obj) => {
|
||||||
|
console.log("执行 getTableDate")
|
||||||
state.tableLoading = true
|
state.tableLoading = true
|
||||||
let objA = { ...state.searchParam };
|
let objA = { ...state.searchParam };
|
||||||
objA.beginTime = state.searchdate ? dayjs(state.searchdate[0]).format("YYYY-MM-DD") : "",
|
objA.beginTime = state.searchdate ? dayjs(state.searchdate[0]).format("YYYY-MM-DD") : "",
|
||||||
@@ -613,8 +612,7 @@
|
|||||||
}
|
}
|
||||||
//取消按钮 清空输入的数据
|
//取消按钮 清空输入的数据
|
||||||
const cancelTeachingDialog = (val) => {
|
const cancelTeachingDialog = (val) => {
|
||||||
if(state.teachingdialog = true )
|
if (state.teachingdialog = true) {
|
||||||
{
|
|
||||||
if (val == 1) {
|
if (val == 1) {
|
||||||
submit(state.formParam)
|
submit(state.formParam)
|
||||||
return
|
return
|
||||||
@@ -823,6 +821,31 @@
|
|||||||
state.tableDataParams.pageSize = pageSize
|
state.tableDataParams.pageSize = pageSize
|
||||||
gettableDataExamine();
|
gettableDataExamine();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//TODO1
|
||||||
|
const deleteModal = (record) => {
|
||||||
|
dialog({
|
||||||
|
content: '是否确认进行删除?',
|
||||||
|
ok: () => {
|
||||||
|
expenseBillDelById(record.id).then(res => {
|
||||||
|
if (typeof (res.data.data) != 'object') {
|
||||||
|
message.success('删除成功')
|
||||||
|
message.error(res.data.data)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
message.success("删除成功");
|
||||||
|
searchSubmit()
|
||||||
|
}).catch(err => {
|
||||||
|
message.destroy()
|
||||||
|
message.error(err.data.msg)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const columnsExamineTwo = ref([
|
const columnsExamineTwo = ref([
|
||||||
{
|
{
|
||||||
title: '审批层级 ',
|
title: '审批层级 ',
|
||||||
@@ -1071,11 +1094,23 @@
|
|||||||
}
|
}
|
||||||
//回车
|
//回车
|
||||||
const enterPressHadlerSearch = e => {
|
const enterPressHadlerSearch = e => {
|
||||||
if (e.keyCode === 13) {
|
if (e.keyCode === 13) {
|
||||||
searchSubmit()
|
searchSubmit()
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO1
|
||||||
|
watchEffect(() => {
|
||||||
|
console.log('Item changed:', props.activeKeyProps);
|
||||||
|
if(props.activeKeyProps == 2){
|
||||||
|
state.searchParam.pageNo = 1;
|
||||||
|
getTableDate()
|
||||||
|
}
|
||||||
|
// 在这里你可以根据 props.item 进行一些操作
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
enterPressHadlerSearch,
|
enterPressHadlerSearch,
|
||||||
@@ -1125,6 +1160,7 @@
|
|||||||
resetSearch,
|
resetSearch,
|
||||||
paginations,
|
paginations,
|
||||||
paginationChanges,
|
paginationChanges,
|
||||||
|
deleteModal
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -1142,9 +1178,11 @@
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.select .ant-picker {
|
.select .ant-picker {
|
||||||
width: 410px !important;
|
width: 410px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.headers {
|
.headers {
|
||||||
height: 73px;
|
height: 73px;
|
||||||
border-bottom: 1px solid #e8e8e8;
|
border-bottom: 1px solid #e8e8e8;
|
||||||
@@ -1163,6 +1201,7 @@
|
|||||||
// margin-left: 24px;
|
// margin-left: 24px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.addTimeBox {
|
.addTimeBox {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -1467,9 +1506,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
//抽屉功能
|
//抽屉功能
|
||||||
.drawaer
|
.drawaer // /* 改变所有 a-tree-select 输入框的高度 */
|
||||||
|
|
||||||
// /* 改变所有 a-tree-select 输入框的高度 */
|
|
||||||
// ::v-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{
|
// ::v-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{
|
||||||
// height: 40px;
|
// height: 40px;
|
||||||
// line-height: 40px;
|
// line-height: 40px;
|
||||||
@@ -1482,6 +1519,7 @@
|
|||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
border-radius: 8px
|
border-radius: 8px
|
||||||
}
|
}
|
||||||
|
|
||||||
// 抽屉内样式
|
// 抽屉内样式
|
||||||
.draitem {
|
.draitem {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -1489,19 +1527,23 @@
|
|||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.drabtn {
|
.drabtn {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
width: 80px;
|
width: 80px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
margin-right: 20px
|
margin-right: 20px
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector {
|
::v-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector {
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-col-12 {
|
.ant-col-12 {
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-select-selection-overflow-item {
|
::v-deep .ant-select-selection-overflow-item {
|
||||||
margin-top: -2px;
|
margin-top: -2px;
|
||||||
}
|
}
|
||||||
@@ -1509,18 +1551,23 @@
|
|||||||
::v-deep .ant-select-multiple .ant-select-selection-item {
|
::v-deep .ant-select-multiple .ant-select-selection-item {
|
||||||
height: 34px
|
height: 34px
|
||||||
}
|
}
|
||||||
|
|
||||||
.tableBox {
|
.tableBox {
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
margin: 20px 38px 30px;
|
margin: 20px 38px 30px;
|
||||||
|
|
||||||
::v-deep .ant-select-dropdown {
|
::v-deep .ant-select-dropdown {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-select-selection-item {
|
::v-deep .ant-select-selection-item {
|
||||||
margin-left: 3px;
|
margin-left: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-pagination-options-size-changer.ant-select {
|
::v-deep .ant-pagination-options-size-changer.ant-select {
|
||||||
width: 84px;
|
width: 84px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pa {
|
.pa {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -9,61 +9,66 @@
|
|||||||
<!-- <a-input v-model:value="searchParam.name" style="width: 276px; height: 40px; border-radius: 8px"
|
<!-- <a-input v-model:value="searchParam.name" style="width: 276px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch>
|
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch>
|
||||||
</a-input>
|
</a-input>
|
||||||
--> <div style="width: 235px; height: 40px; border-radius: 8px" >
|
-->
|
||||||
|
<div style="width: 235px; height: 40px; border-radius: 8px">
|
||||||
<a-input v-model:value="searchParam.name" style="width: 235px; height: 40px; border-radius: 8px"
|
<a-input v-model:value="searchParam.name" style="width: 235px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch
|
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
|
||||||
</a-input>
|
</a-input>
|
||||||
</div>
|
</div>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-input v-model:value="searchParam.courseName" style="width: 230px; height: 40px; border-radius: 8px"
|
<a-input v-model:value="searchParam.courseName" style="width: 230px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入课程名称进行检索" allowClear showSearch
|
placeholder="请输入课程名称进行检索" allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.trainOrgId" placeholder="请选择培训发生组织" allowClear
|
<!-- TODO4 -->
|
||||||
:options="orgListSearch"
|
<a-select
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
v-model:value="searchParam.trainOrgId"
|
||||||
|
style="width: 200px"
|
||||||
|
allowClear
|
||||||
|
showSearch
|
||||||
|
:filter-option="false"
|
||||||
|
@change="handleOrgChange"
|
||||||
|
@search="handleOrgSearch"
|
||||||
|
placeholder="请选择培训发生组织"
|
||||||
|
>
|
||||||
|
<a-select-option v-for="item in filterOrgListSearch" :key="item.value" :value="item.value">
|
||||||
|
{{ item.label }}
|
||||||
|
</a-select-option>
|
||||||
</a-select>
|
</a-select>
|
||||||
|
|
||||||
|
<!-- <a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.trainOrgId"
|
||||||
|
placeholder="请选择培训发生组织" allowClear :options="orgListSearch" showSearch
|
||||||
|
v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
|
</a-select> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select ">
|
<a-form-item class="select ">
|
||||||
<!-- <div class="select addTimeBox">
|
<!-- <div class="select addTimeBox">
|
||||||
<div class="addTime" >授课日期:</div> -->
|
<div class="addTime" >授课日期:</div> -->
|
||||||
<a-range-picker
|
<a-range-picker v-model:value="searchdate" style="width: 340px !important;" format="YYYY-MM-DD"
|
||||||
v-model:value="searchdate"
|
valueFormat="YYYY-MM-DD" separator="至" :placeholder="['授课日期开始时间', '授课日期结束时间']"
|
||||||
style="width: 340px !important;"
|
v-on:keydown.enter="enterPressHadlerSearch" />
|
||||||
format="YYYY-MM-DD"
|
|
||||||
valueFormat="YYYY-MM-DD"
|
|
||||||
separator="至"
|
|
||||||
:placeholder="['授课日期开始时间', '授课日期结束时间']"
|
|
||||||
v-on:keydown.enter="enterPressHadlerSearch"
|
|
||||||
/>
|
|
||||||
<!-- </div> -->
|
<!-- </div> -->
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-select style="width: 200px ;margin-bottom:20px" v-model:value="searchParam.type" placeholder="请选择课程类型" allowClear
|
<a-select style="width: 200px ;margin-bottom:20px" v-model:value="searchParam.type" placeholder="请选择课程类型"
|
||||||
:options="OnTheJobStatusList"
|
allowClear :options="OnTheJobStatusList" v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select" v-if="moreid == 2">
|
<a-form-item class="select" v-if="moreid == 2">
|
||||||
<a-select style="width: 200px ;margin-bottom:20px" v-model:value="searchParam.status" placeholder="请选择状态" allowClear
|
<a-select style="width: 200px ;margin-bottom:20px" v-model:value="searchParam.status" placeholder="请选择状态"
|
||||||
:options="AuthenticationStatusList"
|
allowClear :options="AuthenticationStatusList" v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select" v-if="moreid == 2">
|
<a-form-item class="select" v-if="moreid == 2">
|
||||||
<a-select style="width: 235px ;margin-bottom:20px" placeholder="请选择讲师体系" v-model:value="searchParam.tSystemId" allowClear
|
<a-select style="width: 235px ;margin-bottom:20px" placeholder="请选择讲师体系" v-model:value="searchParam.tSystemId"
|
||||||
:options="lecturerSystemList"
|
allowClear :options="lecturerSystemList" v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select" v-if="moreid == 2">
|
<a-form-item class="select" v-if="moreid == 2">
|
||||||
<a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.tLevelName" placeholder="请选择讲师级别" allowClear
|
<a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.tLevelName"
|
||||||
:options="getLevelList"
|
placeholder="请选择讲师级别" allowClear :options="getLevelList" v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<div style="display: flex; margin-bottom: 20px">
|
<div style="display: flex; margin-bottom: 20px">
|
||||||
@@ -119,23 +124,29 @@
|
|||||||
<!-- 表格 -->
|
<!-- 表格 -->
|
||||||
<div>
|
<div>
|
||||||
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="columns"
|
<a-table :header-cell-style="{ 'text-align': 'center' }" style="border: 1px solid #f2f6fe" :columns="columns"
|
||||||
:data-source="tableData" :scroll="{ x: 1500 }" :loading="tableLoading" @expand="expandTable" :pagination="false">
|
:data-source="tableData" :scroll="{ x: 1500 }" :loading="tableLoading" @expand="expandTable"
|
||||||
|
:pagination="false">
|
||||||
<template #bodyCell="{ record, column }">
|
<template #bodyCell="{ record, column }">
|
||||||
<template v-if="column.key === 'operation'">
|
<template v-if="column.key === 'operation'">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-button type="link" v-if="(record.status==0||record.status==5)&&checkMenu('lecturerExpenseStop')" @click="updateModal(record,record.status)">{{record.status==0?'停用':'启用'}}</a-button>
|
<a-button type="link" v-if="(record.status == 0 || record.status == 5) && checkMenu('lecturerExpenseStop')"
|
||||||
|
@click="updateModal(record, record.status)">{{ record.status == 0 ? '停用' : '启用' }}</a-button>
|
||||||
<a-button type="link" @click="() => handleLook(record, String(record.courseform))">查看</a-button>
|
<a-button type="link" @click="() => handleLook(record, String(record.courseform))">查看</a-button>
|
||||||
<!-- :disabled="record.createFrom==1 ?false :true" -->
|
<!-- :disabled="record.createFrom==1 ?false :true" -->
|
||||||
<a-button type="link" v-if="(record.status == 0||record.status==4)&&checkMenu('lecturerExpenseEdit')" @click="() => handleModify(record, String(record.courseform))">编辑</a-button>
|
<a-button type="link" v-if="(record.status == 0 || record.status == 4) && checkMenu('lecturerExpenseEdit')"
|
||||||
|
@click="() => handleModify(record, String(record.courseform))">编辑</a-button>
|
||||||
<!-- <a-button :disabled="record.status==='A20' || record.status==='A30'||record.status==='S20' ?true :false" type="link" @click="() => handleOperate(record, String(record.courseform))">提交</a-button> -->
|
<!-- <a-button :disabled="record.status==='A20' || record.status==='A30'||record.status==='S20' ?true :false" type="link" @click="() => handleOperate(record, String(record.courseform))">提交</a-button> -->
|
||||||
<!-- <a-button type="link" @click="handleOperate(record)">撤回</a-button> -->
|
<!-- <a-button type="link" @click="handleOperate(record)">撤回</a-button> -->
|
||||||
<a-button type="link" v-if="(record.status==0||record.status==4||record.status==5)&&checkMenu('lecturerExpenseDel')" @click="deleteModal(record)">删除</a-button>
|
<a-button type="link"
|
||||||
|
v-if="(record.status == 0 || record.status == 4 || record.status == 5) && checkMenu('lecturerExpenseDel')"
|
||||||
|
@click="deleteModal(record)">删除</a-button>
|
||||||
</a-space>
|
</a-space>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
<template #trainOrg="{ record }">
|
<template #trainOrg="{ record }">
|
||||||
<a-space style="display:flex ;justify-content: space-around;">
|
<a-space style="display:flex ;justify-content: space-around;">
|
||||||
<div style="max-width: 180px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;" :title="record.orgName">{{ orgSplit(record.orgName) }}</div>
|
<div style="max-width: 180px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"
|
||||||
|
:title="record.orgName">{{ orgSplit(record.orgName) }}</div>
|
||||||
</a-space>
|
</a-space>
|
||||||
</template>
|
</template>
|
||||||
</a-table>
|
</a-table>
|
||||||
@@ -144,30 +155,19 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="tableBox ">
|
<div class="tableBox ">
|
||||||
<div style="float: right;">
|
<div style="float: right;">
|
||||||
<a-pagination
|
<a-pagination v-if="tableDataTotal > 10" :showSizeChanger="true" :showQuickJumper="false"
|
||||||
v-if="tableDataTotal > 10"
|
:hideOnSinglePage="false" :pageSize="searchParam.pageSize" :current="searchParam.pageNo"
|
||||||
:showSizeChanger="true"
|
:total="tableDataTotal" class="pagination" @change="changePagination" />
|
||||||
:showQuickJumper="false"
|
|
||||||
:hideOnSinglePage="false"
|
|
||||||
:pageSize="searchParam.pageSize"
|
|
||||||
:current="searchParam.pageNo"
|
|
||||||
:total="tableDataTotal"
|
|
||||||
class="pagination"
|
|
||||||
@change="changePagination"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 弹窗组件 -->
|
<!-- 弹窗组件 -->
|
||||||
<a-drawer class="largeDrawerInside" v-model:visible="teacherdialog" placement="right" :closable="false" :maskClosable="false" dropdown-style="drawaer"
|
<a-drawer class="largeDrawerInside" v-model:visible="teacherdialog" placement="right" :closable="false"
|
||||||
width="60%" :title="false">
|
:maskClosable="false" dropdown-style="drawaer" width="60%" :title="false">
|
||||||
<div style="padding:24px;">
|
<div style="padding:24px;">
|
||||||
<div class="headers" style="margin-top:-24px;">
|
<div class="headers" style="margin-top:-24px;">
|
||||||
<div class="headerTitle">{{ teacherdialogtitle }}</div>
|
<div class="headerTitle">{{ teacherdialogtitle }}</div>
|
||||||
<img
|
<img style="width: 29px; height: 29px; cursor: pointer" src="@/assets/images/basicinfo/close.png"
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
@click="cancelTeacherDialog" />
|
||||||
src="@/assets/images/basicinfo/close.png"
|
|
||||||
@click="cancelTeacherDialog"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<a-form :model="formParam" layout="vertical" ref="formRef">
|
<a-form :model="formParam" layout="vertical" ref="formRef">
|
||||||
<!-- 讲师姓名 name 讲师工号 userNo-->
|
<!-- 讲师姓名 name 讲师工号 userNo-->
|
||||||
@@ -175,30 +175,26 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="name">
|
<a-form-item name="name">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
style="margin-right:4px;width: 7px;height: 7px"
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
讲师名称
|
讲师名称
|
||||||
</template>
|
</template>
|
||||||
<SearchTeacher :disabled="!!id" @byUserIdData="byUserIdData" @tlevel="tlevelChange" v-model:id="formParam.teacherId" v-model:value="formParam.name" v-model:orgId="formParam.orgId" v-model:lable="formParam.orgNames" v-model:user="formParam.userNo"
|
<SearchTeacher :disabled="!!id" @byUserIdData="byUserIdData" @tlevel="tlevelChange"
|
||||||
v-model:system="tSystemNames" v-model:payrollPlaceCode="formParam.payrollPlaceId"
|
v-model:id="formParam.teacherId" v-model:value="formParam.name" v-model:orgId="formParam.orgId"
|
||||||
v-model:payrollPlaceName="formParam.payrollPlace" ></SearchTeacher>
|
v-model:lable="formParam.orgNames" v-model:user="formParam.userNo" v-model:system="tSystemNames"
|
||||||
|
v-model:payrollPlaceCode="formParam.payrollPlaceId" v-model:payrollPlaceName="formParam.payrollPlace">
|
||||||
|
</SearchTeacher>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="userNo">
|
<a-form-item name="userNo">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
style="margin-right:4px;width: 7px;height: 7px"
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
讲师工号
|
讲师工号
|
||||||
</template>
|
</template>
|
||||||
<a-input class="draitem" v-model:value="formParam.userNo" disabled
|
<a-input class="draitem" v-model:value="formParam.userNo" disabled placeholder="请输入讲师工号" allowClear
|
||||||
placeholder="请输入讲师工号" allowClear showSearch>
|
showSearch>
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -208,11 +204,8 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="orgName">
|
<a-form-item name="orgName">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
style="margin-right:4px;width: 7px;height: 7px"
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
讲师组织
|
讲师组织
|
||||||
</template>
|
</template>
|
||||||
<!-- <a-popover>
|
<!-- <a-popover>
|
||||||
@@ -229,18 +222,15 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="tsystemName">
|
<a-form-item name="tsystemName">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
style="margin-right:4px;width: 7px;height: 7px"
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
讲师体系
|
讲师体系
|
||||||
</template>
|
</template>
|
||||||
<!-- <a-select class="draitem" v-model:value="formParam.tsystemName" placeholder="请选择讲师体系" allowClear
|
<!-- <a-select class="draitem" v-model:value="formParam.tsystemName" placeholder="请选择讲师体系" allowClear
|
||||||
@change="changetlevel" .:options="LecturerSystemList">
|
@change="changetlevel" .:options="LecturerSystemList">
|
||||||
</a-select> -->
|
</a-select> -->
|
||||||
<a-input disabled v-model:value="tSystemNames.systemName" class="draitem"
|
<a-input disabled v-model:value="tSystemNames.systemName" class="draitem" placeholder="自动带出讲师的体系"
|
||||||
placeholder="自动带出讲师的体系" allowClear showSearch>
|
allowClear showSearch>
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -250,30 +240,24 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="tlevelName">
|
<a-form-item name="tlevelName">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
style="margin-right:4px;width: 7px;height: 7px"
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
讲师级别
|
讲师级别
|
||||||
</template>
|
</template>
|
||||||
<a-input disabled v-model:value="formParam.tlevelName" class="draitem"
|
<a-input disabled v-model:value="formParam.tlevelName" class="draitem" placeholder="自动带出讲师级别" allowClear
|
||||||
placeholder="自动带出讲师级别" allowClear showSearch>
|
showSearch>
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="payrollPlace">
|
<a-form-item name="payrollPlace">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
style="margin-right:4px;width: 7px;height: 7px"
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
讲师发薪地
|
讲师发薪地
|
||||||
</template>
|
</template>
|
||||||
<a-input disabled v-model:value="formParam.payrollPlace" class="draitem"
|
<a-input disabled v-model:value="formParam.payrollPlace" class="draitem" placeholder="自动带出讲师发薪地"
|
||||||
placeholder="自动带出讲师发薪地" allowClear showSearch >
|
allowClear showSearch>
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -283,26 +267,20 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="courseType">
|
<a-form-item name="courseType">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
style="margin-right:4px;width: 7px;height: 7px"
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
费用类型
|
费用类型
|
||||||
</template>
|
</template>
|
||||||
<a-select :disabled="formParam.createFrom==0" class="draitem" v-model:value="formParam.courseType" placeholder="请选择费用类型"
|
<a-select :disabled="formParam.createFrom == 0" class="draitem" v-model:value="formParam.courseType"
|
||||||
:options="courseTypeList">
|
placeholder="请选择费用类型" :options="courseTypeList">
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="courseName">
|
<a-form-item name="courseName">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
style="margin-right:4px;width: 7px;height: 7px"
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
课程名称
|
课程名称
|
||||||
</template>
|
</template>
|
||||||
<!-- <a-radio-group v-model:value="formParam.courseName">
|
<!-- <a-radio-group v-model:value="formParam.courseName">
|
||||||
@@ -312,7 +290,8 @@
|
|||||||
<!-- <a-select class="draitem" v-model:value="formParam.courseName" placeholder="请选择输入或选择面授课" style="width:63%" allowClear
|
<!-- <a-select class="draitem" v-model:value="formParam.courseName" placeholder="请选择输入或选择面授课" style="width:63%" allowClear
|
||||||
:options="getLevelList">
|
:options="getLevelList">
|
||||||
</a-select> -->
|
</a-select> -->
|
||||||
<a-input :disabled="formParam.createFrom==0" :maxlength="20" show-count v-model:value="formParam.courseName" placeholder="请输入面授课名称" class="draitem">
|
<a-input :disabled="formParam.createFrom == 0" :maxlength="20" show-count
|
||||||
|
v-model:value="formParam.courseName" placeholder="请输入面授课名称" class="draitem">
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -322,34 +301,38 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="trainOrgId">
|
<a-form-item name="trainOrgId">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
style="margin-right:4px;width: 7px;height: 7px"
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
培训发生组织
|
培训发生组织
|
||||||
</template>
|
</template>
|
||||||
<!-- <OrgClass
|
<!-- <OrgClass
|
||||||
v-model:value="formParam.sourceBelongId"
|
v-model:value="formParam.sourceBelongId"
|
||||||
v-model:name="formParam.sourceBelongFullName"
|
v-model:name="formParam.sourceBelongFullName"
|
||||||
></OrgClass> -->
|
></OrgClass> -->
|
||||||
<a-select :disabled="formParam.createFrom==0" v-model:value="formParam.trainOrgId" placeholder="请选择培训发生组织" allowClear
|
<!-- TODO GX02 -->
|
||||||
:options="orgList" @change="changeOrg">
|
<a-select
|
||||||
|
:disabled="formParam.createFrom == 0"
|
||||||
|
v-model:value="formParam.trainOrgId"
|
||||||
|
placeholder="请选择培训发生组织"
|
||||||
|
allowClear
|
||||||
|
showSearch
|
||||||
|
:options="filterOrgListSearch"
|
||||||
|
@search="handleOrgSearch"
|
||||||
|
@change="changeOrg">
|
||||||
</a-select>
|
</a-select>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="teachingDate">
|
<a-form-item name="teachingDate">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
style="margin-right:4px;width: 7px;height: 7px"
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
{{ formParam.courseType == 2 ? '课程' : '授课' }}日期 :
|
{{ formParam.courseType == 2 ? '课程' : '授课' }}日期 :
|
||||||
</template>
|
</template>
|
||||||
<a-date-picker :disabled="formParam.createFrom==0" :locale="locale" class="draitem" v-model:value="teachingDate" style="width:100%" :show-time="{ format: 'HH:mm' }" format="YYYY-MM-DD HH:mm" valueFormat="YYYY-MM-DD HH:mm"
|
<a-date-picker :disabled="formParam.createFrom == 0" :locale="locale" class="draitem"
|
||||||
placeholder="请选择课程日期" @select="handleSelect" />
|
v-model:value="teachingDate" style="width:100%" :show-time="{ format: 'HH:mm' }"
|
||||||
|
format="YYYY-MM-DD HH:mm" valueFormat="YYYY-MM-DD HH:mm" placeholder="请选择课程日期"
|
||||||
|
@select="handleSelect" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -358,11 +341,8 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="teachingTime">
|
<a-form-item name="teachingTime">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
style="margin-right:4px;width: 7px;height: 7px"
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
{{ formParam.courseType == 2 ? '课程时长' : '授课时长' }}
|
{{ formParam.courseType == 2 ? '课程时长' : '授课时长' }}
|
||||||
</template>
|
</template>
|
||||||
<a-input v-model:value="formParam.teachingTime" style="width:100%; height: 40px; border-radius: 8px; "
|
<a-input v-model:value="formParam.teachingTime" style="width:100%; height: 40px; border-radius: 8px; "
|
||||||
@@ -376,15 +356,12 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="studys">
|
<a-form-item name="studys">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
style="margin-right:4px;width: 7px;height: 7px"
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
参训人数
|
参训人数
|
||||||
</template>
|
</template>
|
||||||
<a-input :disabled="formParam.createFrom==0" v-model:value="formParam.studys" class="draitem" @change="clearstudysNumber"
|
<a-input :disabled="formParam.createFrom == 0" v-model:value="formParam.studys" class="draitem"
|
||||||
placeholder="请输入参训人数" allowClear showSearch >
|
@change="clearstudysNumber" placeholder="请输入参训人数" allowClear showSearch>
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -394,14 +371,12 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="score">
|
<a-form-item name="score">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
style="margin-right:4px;width: 7px;height: 7px"
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
评分
|
评分
|
||||||
</template>
|
</template>
|
||||||
<a-input-number :disabled="formParam.createFrom==0" class="draitem" v-model:value="formParam.score" :defaultValue="null" :max="100" :controls="false" :min="1" :precision="2" placeholder="请输入评分"
|
<a-input-number :disabled="formParam.createFrom == 0" class="draitem" v-model:value="formParam.score"
|
||||||
|
:defaultValue="null" :max="100" :controls="false" :min="1" :precision="2" placeholder="请输入评分"
|
||||||
allowClear @change="scoreNumber">
|
allowClear @change="scoreNumber">
|
||||||
</a-input-number>
|
</a-input-number>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
@@ -409,16 +384,13 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="levelPay">
|
<a-form-item name="levelPay">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
style="margin-right:4px;width: 7px;height: 7px"
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
课酬基准
|
课酬基准
|
||||||
</template>
|
</template>
|
||||||
<a-input-number v-model:value="formParam.levelPay" placeholder="自动键入系统基准(可手动更改)" :max="99999999" :controls="false" :min="0" :precision="2"
|
<a-input-number v-model:value="formParam.levelPay" placeholder="自动键入系统基准(可手动更改)" :max="99999999"
|
||||||
@change="clearlevelPayNumber"
|
:controls="false" :min="0" :precision="2" @change="clearlevelPayNumber" allowClear showSearch
|
||||||
allowClear showSearch class="draitem">
|
class="draitem">
|
||||||
</a-input-number>
|
</a-input-number>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -428,15 +400,12 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item name="expense">
|
<a-form-item name="expense">
|
||||||
<template v-slot:label>
|
<template v-slot:label>
|
||||||
<img
|
<img style="margin-right:4px;width: 7px;height: 7px"
|
||||||
style="margin-right:4px;width: 7px;height: 7px"
|
src="@/assets/images/coursewareManage/asterisk.png" alt="" />
|
||||||
src="@/assets/images/coursewareManage/asterisk.png"
|
|
||||||
alt=""
|
|
||||||
/>
|
|
||||||
计划费用
|
计划费用
|
||||||
</template>
|
</template>
|
||||||
<a-input class="draitem" v-model:value="formParam.expense" placeholder="自动计算( 授课时长(或课程时长)*课酬基准 )" allowClear disabled
|
<a-input class="draitem" v-model:value="formParam.expense" placeholder="自动计算( 授课时长(或课程时长)*课酬基准 )"
|
||||||
showSearch>
|
allowClear disabled showSearch>
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -503,39 +472,51 @@
|
|||||||
</a-modal>
|
</a-modal>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div> <Upload/> </div> -->
|
<!-- <div> <Upload/> </div> -->
|
||||||
<a-drawer class="largeDrawerInside" v-model:visible="teachingdialog" placement="right"
|
<a-drawer class="largeDrawerInside" v-model:visible="teachingdialog" placement="right" :closable="false" width="60%"
|
||||||
:closable="false" width="60%" :title="false">
|
:title="false">
|
||||||
<div style="padding:24px;">
|
<div style="padding:24px;">
|
||||||
<div class="headers" style="margin-top:-24px;">
|
<div class="headers" style="margin-top:-24px;">
|
||||||
<div class="headerTitle">查看讲师费用</div>
|
<div class="headerTitle">查看讲师费用</div>
|
||||||
<img
|
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
@click="cancelTeachingDialog(false)" />
|
||||||
src="../../assets/images/basicinfo/close.png"
|
|
||||||
@click="cancelTeachingDialog(false)"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<span class="line"></span>
|
<span class="line"></span>
|
||||||
<span style="font-weight: 600;">讲师费用详情</span>
|
<span style="font-weight: 600;">讲师费用详情</span>
|
||||||
<a-descriptions style="padding-bottom: 35px;margin-top:20px;" bordered :column="2" :contentStyle="{width:'300px',}" :labelStyle="{width:'166px'}">
|
<a-descriptions style="padding-bottom: 35px;margin-top:20px;" bordered :column="2"
|
||||||
<a-descriptions-item label="讲师姓名"><div style="user-select: text">{{formParam.name}}</div></a-descriptions-item>
|
:contentStyle="{ width: '300px', }" :labelStyle="{ width: '166px' }">
|
||||||
|
<a-descriptions-item label="讲师姓名">
|
||||||
|
<div style="user-select: text">{{ formParam.name }}</div>
|
||||||
|
</a-descriptions-item>
|
||||||
<!-- <a-descriptions-item label="讲师工号">{{formParam.userNo}}</a-descriptions-item> -->
|
<!-- <a-descriptions-item label="讲师工号">{{formParam.userNo}}</a-descriptions-item> -->
|
||||||
<a-descriptions-item label="讲师组织">{{ formParam.orgNames }}</a-descriptions-item>
|
<a-descriptions-item label="讲师组织">{{ formParam.orgNames }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="讲师体系">{{ formParam.tsystemName }}</a-descriptions-item>
|
<a-descriptions-item label="讲师体系">{{ formParam.tsystemName }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="讲师级别">{{ formParam.tlevelName }}</a-descriptions-item>
|
<a-descriptions-item label="讲师级别">{{ formParam.tlevelName }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="讲师发薪地">{{ formParam?.payrollPlace || '-' }}</a-descriptions-item>
|
<a-descriptions-item label="讲师发薪地">{{ formParam?.payrollPlace || '-' }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="课程名称"><div style="user-select: text">{{formParam.courseName || '-'}}</div></a-descriptions-item>
|
<a-descriptions-item label="课程名称">
|
||||||
<a-descriptions-item label="费用类型">{{{0:'在线',1:'面授',2:'课程开发',3:'作业员入模培训',4:'其他'}[formParam?.courseType]}}</a-descriptions-item>
|
<div style="user-select: text">{{ formParam.courseName || '-' }}</div>
|
||||||
|
</a-descriptions-item>
|
||||||
|
<a-descriptions-item
|
||||||
|
label="费用类型">{{ { 0: '在线', 1: '面授', 2: '课程开发', 3: '作业员入模培训', 4: '其他' }[formParam?.courseType] }}</a-descriptions-item>
|
||||||
<!-- <a-descriptions-item label="课程类型">{{formParam.courseType==1?'项目开课' :formParam.courseType==2 ?'路径开课':formParam.courseType==3 ?'面授开课':'-'}}</a-descriptions-item> -->
|
<!-- <a-descriptions-item label="课程类型">{{formParam.courseType==1?'项目开课' :formParam.courseType==2 ?'路径开课':formParam.courseType==3 ?'面授开课':'-'}}</a-descriptions-item> -->
|
||||||
<a-descriptions-item label="培训发生组织"><div style="user-select: text">{{formParam.trainOrgName || '-'}}</div></a-descriptions-item>
|
<a-descriptions-item label="培训发生组织">
|
||||||
|
<div style="user-select: text">{{ formParam.trainOrgName || '-' }}</div>
|
||||||
|
</a-descriptions-item>
|
||||||
<a-descriptions-item label="授课/课程开发日期 ">{{ (formParam.teachingDate) || '-' }}</a-descriptions-item>
|
<a-descriptions-item label="授课/课程开发日期 ">{{ (formParam.teachingDate) || '-' }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="授课/课程开发时长 ">{{formParam.teachingTime || '-'}}分 <span v-if="formParam.teachingTime">({{(formParam.teachingTime/60).toFixed(2)}}小时)</span></a-descriptions-item>
|
<a-descriptions-item label="授课/课程开发时长 ">{{ formParam.teachingTime || '-' }}分 <span
|
||||||
|
v-if="formParam.teachingTime">({{ (formParam.teachingTime / 60).toFixed(2) }}小时)</span></a-descriptions-item>
|
||||||
<a-descriptions-item label="参训人数 ">{{ formParam.studys ? formParam.studys + '人' : '-' }}</a-descriptions-item>
|
<a-descriptions-item label="参训人数 ">{{ formParam.studys ? formParam.studys + '人' : '-' }}</a-descriptions-item>
|
||||||
<a-descriptions-item label="评分 ">{{formParam.score?Number(formParam.score).toFixed(0)==0?'-':Number(formParam.score).toFixed(2)+'分':'-' }}</a-descriptions-item>
|
<a-descriptions-item
|
||||||
<a-descriptions-item label="基准课酬 ">{{formParam.levelPay||formParam.levelPay==0?formParam.levelPay+'元' : '-'}}</a-descriptions-item>
|
label="评分 ">{{ formParam.score ? Number(formParam.score).toFixed(0) == 0 ? '-' : Number(formParam.score).toFixed(2) + '分' : '-'
|
||||||
|
}}</a-descriptions-item>
|
||||||
|
<a-descriptions-item label="基准课酬 ">{{ formParam.levelPay || formParam.levelPay == 0 ? formParam.levelPay + '元' :
|
||||||
|
'-'}}</a-descriptions-item>
|
||||||
<a-descriptions-item label="计划费用 ">{{ formParam.expense ? formParam.expense + '元' : '-' }}</a-descriptions-item>
|
<a-descriptions-item label="计划费用 ">{{ formParam.expense ? formParam.expense + '元' : '-' }}</a-descriptions-item>
|
||||||
<!-- <a-descriptions-item label="应发费用 ">{{formParam.payableExpense || '-'}}</a-descriptions-item> -->
|
<!-- <a-descriptions-item label="应发费用 ">{{formParam.payableExpense || '-'}}</a-descriptions-item> -->
|
||||||
<!-- <a-descriptions-item label="费用发放时间">{{formParam.payableExpenseTime || '-'}}</a-descriptions-item> -->
|
<!-- <a-descriptions-item label="费用发放时间">{{formParam.payableExpenseTime || '-'}}</a-descriptions-item> -->
|
||||||
<a-descriptions-item label="状态">{{{0:'待确认' ,1:'待提交' ,2:'审核中', 3:'审核通过', 4:'审核拒绝',5:'停用'}[formParam?.status]}}</a-descriptions-item>
|
<a-descriptions-item label="状态">{{ {
|
||||||
|
0: '待确认', 1: '待提交', 2: '审核中', 3: '审核通过',
|
||||||
|
4: '审核拒绝', 5: '停用'
|
||||||
|
}[formParam?.status]}}</a-descriptions-item>
|
||||||
<!-- <a-descriptions-item label="课程类型">{{{"0": "在线课","1": "面授课","2": "课程开发","3": "作业员入模培训","4": "其他",}[formParam.courseType + ""]}}</a-descriptions-item> -->
|
<!-- <a-descriptions-item label="课程类型">{{{"0": "在线课","1": "面授课","2": "课程开发","3": "作业员入模培训","4": "其他",}[formParam.courseType + ""]}}</a-descriptions-item> -->
|
||||||
<a-descriptions-item label="备注 ">{{ formParam.remark || '-' }}</a-descriptions-item>
|
<a-descriptions-item label="备注 ">{{ formParam.remark || '-' }}</a-descriptions-item>
|
||||||
</a-descriptions>
|
</a-descriptions>
|
||||||
@@ -564,18 +545,21 @@
|
|||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</a-drawer>
|
</a-drawer>
|
||||||
<ImportWork v-model:showWork="showWork" :template="'讲师费导入模版-20250115.xlsx'" :url="'/admin/export/importTeacherExpense'" :fileName="uploadFile" :title="title"></ImportWork>
|
<!-- TODO dr01 -->
|
||||||
|
<ImportWork v-model:showWork="showWork" :template="'/admin/export/exportExpenseTemplate'"
|
||||||
|
:url="'/admin/export/importTeacherExpense'" :fileName="uploadFile" :title="title"></ImportWork>
|
||||||
</div>
|
</div>
|
||||||
<div class="example" v-if="example">
|
<div class="example" v-if="example">
|
||||||
<a-spin />
|
<a-spin />
|
||||||
</div>
|
</div>
|
||||||
<!-- 一键确认讲师费 -->
|
<!-- 一键确认讲师费 -->
|
||||||
<ConfirmLecturer @example="getexample" @visibleFalse="visibleAll" :ids="selectsIds" v-model:visible="visibleConfirm" :name="'确认讲师费'" />
|
<ConfirmLecturer @example="getexample" @visibleFalse="visibleAll" :ids="selectsIds" v-model:visible="visibleConfirm"
|
||||||
|
:name="'确认讲师费'" />
|
||||||
<!-- 批量确认讲师费 -->
|
<!-- 批量确认讲师费 -->
|
||||||
<BatchLecturer @selectedRowKeys="selectedRowKey" v-model:visible="allFeedialog" :name="'批量审批'" />
|
<BatchLecturer @selectedRowKeys="selectedRowKey" v-model:visible="allFeedialog" :name="'批量审批'" />
|
||||||
</template>
|
</template>
|
||||||
<script lang="jsx">
|
<script lang="jsx">
|
||||||
import { reactive, toRefs, ref ,watch,onMounted} from "vue";
|
import { reactive, toRefs, ref, watch, onMounted , computed ,defineProps} from "vue";
|
||||||
import { message } from "ant-design-vue";
|
import { message } from "ant-design-vue";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import locale from 'ant-design-vue/es/date-picker/locale/zh_CN';
|
import locale from 'ant-design-vue/es/date-picker/locale/zh_CN';
|
||||||
@@ -602,6 +586,9 @@
|
|||||||
import { checkMenu } from '@/utils/utils'
|
import { checkMenu } from '@/utils/utils'
|
||||||
export default {
|
export default {
|
||||||
name: "LecturerFee",
|
name: "LecturerFee",
|
||||||
|
props: {
|
||||||
|
activeKeyFn: Function
|
||||||
|
},
|
||||||
components: {
|
components: {
|
||||||
DownOutlined, //图标--展开
|
DownOutlined, //图标--展开
|
||||||
UpOutlined,//图标--收起
|
UpOutlined,//图标--收起
|
||||||
@@ -614,13 +601,14 @@
|
|||||||
BatchLecturer,
|
BatchLecturer,
|
||||||
OrgClass,
|
OrgClass,
|
||||||
},
|
},
|
||||||
setup() {
|
setup(props) {
|
||||||
const formRef = ref();
|
const formRef = ref();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
example: false,
|
example: false,
|
||||||
tableDataSee: [],
|
tableDataSee: [],
|
||||||
SeeLoading: false,
|
SeeLoading: false,
|
||||||
orgList: [],
|
orgList: [],
|
||||||
|
filterOrgListSearch: [],
|
||||||
orgListSearch: [],
|
orgListSearch: [],
|
||||||
selectsIds: '',
|
selectsIds: '',
|
||||||
visibleConfirm: false,
|
visibleConfirm: false,
|
||||||
@@ -711,6 +699,7 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
state.orgListSearch = res.data.data?.map(item => {
|
state.orgListSearch = res.data.data?.map(item => {
|
||||||
|
state.orgInput = item.affiliationName;
|
||||||
return {
|
return {
|
||||||
label: item.affiliationName,
|
label: item.affiliationName,
|
||||||
value: item.id
|
value: item.id
|
||||||
@@ -719,6 +708,9 @@
|
|||||||
state.orgListSearch.unshift({
|
state.orgListSearch.unshift({
|
||||||
label: '全部', value: ''
|
label: '全部', value: ''
|
||||||
})
|
})
|
||||||
|
|
||||||
|
state.filterOrgListSearch = state.orgListSearch
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
//费用类型
|
//费用类型
|
||||||
@@ -747,6 +739,7 @@
|
|||||||
{ value: '2', label: "审核中" },
|
{ value: '2', label: "审核中" },
|
||||||
{ value: '4', label: "审核拒绝" },
|
{ value: '4', label: "审核拒绝" },
|
||||||
{ value: '3', label: "审核通过" },
|
{ value: '3', label: "审核通过" },
|
||||||
|
{ value: '5', label: "已停用" },
|
||||||
])
|
])
|
||||||
|
|
||||||
const lecturerSystemList = ref([
|
const lecturerSystemList = ref([
|
||||||
@@ -756,6 +749,7 @@
|
|||||||
let obj = {
|
let obj = {
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
pageSize: 1000,
|
pageSize: 1000,
|
||||||
|
isView: 1
|
||||||
}
|
}
|
||||||
getTeacherSystemList(obj).then((res) => {
|
getTeacherSystemList(obj).then((res) => {
|
||||||
if (res.data.code === 200) {
|
if (res.data.code === 200) {
|
||||||
@@ -1218,6 +1212,11 @@ getAllLevelList().then((res) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
const changeOrg = (e, l) => {
|
const changeOrg = (e, l) => {
|
||||||
|
console.log("changeOrg e",e);
|
||||||
|
console.log("changeOrg l",l);
|
||||||
|
if(l == undefined || l == null){
|
||||||
|
state.filterOrgListSearch = state.orgListSearch;
|
||||||
|
}
|
||||||
state.formParam.trainOrgName = l?.label
|
state.formParam.trainOrgName = l?.label
|
||||||
}
|
}
|
||||||
//保存
|
//保存
|
||||||
@@ -1235,7 +1234,8 @@ getAllLevelList().then((res) => {
|
|||||||
} else {
|
} else {
|
||||||
state.formParam.score = null
|
state.formParam.score = null
|
||||||
}
|
}
|
||||||
if(state.formParam.levelPay){
|
console.log("state.formParam.levelPay",state.formParam.levelPay)
|
||||||
|
if (state.formParam.levelPay || state.formParam.levelPay == 0) {
|
||||||
state.formParam.levelPay = String(state.formParam.levelPay)
|
state.formParam.levelPay = String(state.formParam.levelPay)
|
||||||
}
|
}
|
||||||
if (state.formParam.payableExpense) {
|
if (state.formParam.payableExpense) {
|
||||||
@@ -1551,7 +1551,7 @@ getAllLevelList().then((res) => {
|
|||||||
const clearlevelPayNumber = () => {
|
const clearlevelPayNumber = () => {
|
||||||
// state.formParam.levelPay = state.formParam.levelPay?.replace(/\D/g, '');
|
// state.formParam.levelPay = state.formParam.levelPay?.replace(/\D/g, '');
|
||||||
// state.formParam.levelPay = state.formParam.levelPay?.slice(0,8);
|
// state.formParam.levelPay = state.formParam.levelPay?.slice(0,8);
|
||||||
state.formParam.levelPay == 0 && (state.formParam.levelPay = null);
|
// state.formParam.levelPay == 0;
|
||||||
state.formParam.levelPay && state.formParam.teachingTime && (state.formParam.expense = (state.formParam.levelPay * (state.formParam.teachingTime / 60)).toFixed(2))
|
state.formParam.levelPay && state.formParam.teachingTime && (state.formParam.expense = (state.formParam.levelPay * (state.formParam.teachingTime / 60)).toFixed(2))
|
||||||
state.formParam.levelPay && state.formParam.teachingTime && (state.formParam.payableExpense = (state.formParam.levelPay * (state.formParam.teachingTime / 60)).toFixed(2))
|
state.formParam.levelPay && state.formParam.teachingTime && (state.formParam.payableExpense = (state.formParam.levelPay * (state.formParam.teachingTime / 60)).toFixed(2))
|
||||||
state.formParam.levelPay && (state.formParam.levelPay = String(state.formParam.levelPay))
|
state.formParam.levelPay && (state.formParam.levelPay = String(state.formParam.levelPay))
|
||||||
@@ -1583,6 +1583,23 @@ getAllLevelList().then((res) => {
|
|||||||
// payableExpense: [{ required: true, message: '',log:'应发费用不能为空' }],
|
// payableExpense: [{ required: true, message: '',log:'应发费用不能为空' }],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO4 筛查
|
||||||
|
const handleOrgSearch = (value) => {
|
||||||
|
console.log("handleOrgSearch value: ",value)
|
||||||
|
//克隆数据
|
||||||
|
let temp = JSON.parse(JSON.stringify(state.orgListSearch));
|
||||||
|
//选择数据
|
||||||
|
state.filterOrgListSearch = temp.filter(item => item.label.includes(value))
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleOrgChange = (value) => {
|
||||||
|
if(value == undefined || value == null){
|
||||||
|
state.filterOrgListSearch = state.orgListSearch;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const handleImport = () => {
|
const handleImport = () => {
|
||||||
state.showWork = true
|
state.showWork = true
|
||||||
}
|
}
|
||||||
@@ -1595,6 +1612,7 @@ getAllLevelList().then((res) => {
|
|||||||
}
|
}
|
||||||
const getexample = (val) => {
|
const getexample = (val) => {
|
||||||
state.example = val
|
state.example = val
|
||||||
|
props.activeKeyFn();
|
||||||
}
|
}
|
||||||
const selectedRowKey = (val) => {
|
const selectedRowKey = (val) => {
|
||||||
state.selectsIds = val?.join(',');
|
state.selectsIds = val?.join(',');
|
||||||
@@ -1857,10 +1875,10 @@ const column = ref([
|
|||||||
};
|
};
|
||||||
//回车
|
//回车
|
||||||
const enterPressHadlerSearch = e => {
|
const enterPressHadlerSearch = e => {
|
||||||
if (e.keyCode === 13) {
|
if (e.keyCode === 13) {
|
||||||
searchSubmit()
|
searchSubmit()
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
@@ -1911,6 +1929,8 @@ const column = ref([
|
|||||||
TeacherSystem,
|
TeacherSystem,
|
||||||
getListData,
|
getListData,
|
||||||
changetlevel,
|
changetlevel,
|
||||||
|
handleOrgSearch,
|
||||||
|
handleOrgChange,
|
||||||
canceleditTeacherDialog,
|
canceleditTeacherDialog,
|
||||||
allFee,
|
allFee,
|
||||||
selectedRowKey,
|
selectedRowKey,
|
||||||
@@ -1934,9 +1954,11 @@ const column = ref([
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
||||||
.select .ant-picker {
|
.select .ant-picker {
|
||||||
width: 410px !important;
|
width: 410px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.example {
|
.example {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@@ -1949,6 +1971,7 @@ const column = ref([
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.headers {
|
.headers {
|
||||||
height: 57px;
|
height: 57px;
|
||||||
border-bottom: 1px solid #e8e8e8;
|
border-bottom: 1px solid #e8e8e8;
|
||||||
@@ -1967,6 +1990,7 @@ const column = ref([
|
|||||||
// margin-left: 24px;
|
// margin-left: 24px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.addTimeBox {
|
.addTimeBox {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -1987,9 +2011,11 @@ const column = ref([
|
|||||||
margin-left: 85px !important;
|
margin-left: 85px !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.addTimeBox .ant-picker {
|
.addTimeBox .ant-picker {
|
||||||
padding-left: 85px;
|
padding-left: 85px;
|
||||||
}
|
}
|
||||||
|
|
||||||
//导出按钮icon
|
//导出按钮icon
|
||||||
.daochu {
|
.daochu {
|
||||||
width: 16px;
|
width: 16px;
|
||||||
@@ -2239,6 +2265,7 @@ const column = ref([
|
|||||||
margin-right: 14px;
|
margin-right: 14px;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
.search {
|
.search {
|
||||||
width: 15px;
|
width: 15px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
@@ -2282,9 +2309,7 @@ const column = ref([
|
|||||||
}
|
}
|
||||||
|
|
||||||
//抽屉功能
|
//抽屉功能
|
||||||
.drawaer
|
.drawaer // /* 改变所有 a-tree-select 输入框的高度 */
|
||||||
|
|
||||||
// /* 改变所有 a-tree-select 输入框的高度 */
|
|
||||||
// ::v-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{
|
// ::v-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector{
|
||||||
// height: 40px;
|
// height: 40px;
|
||||||
// line-height: 40px;
|
// line-height: 40px;
|
||||||
@@ -2297,6 +2322,7 @@ const column = ref([
|
|||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
border-radius: 8px
|
border-radius: 8px
|
||||||
}
|
}
|
||||||
|
|
||||||
// 抽屉内样式
|
// 抽屉内样式
|
||||||
.draitem {
|
.draitem {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -2304,16 +2330,19 @@ const column = ref([
|
|||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.drabtn {
|
.drabtn {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
width: 80px;
|
width: 80px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
margin-right: 20px
|
margin-right: 20px
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector {
|
::v-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector {
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-col-12 {
|
.ant-col-12 {
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
@@ -2325,18 +2354,23 @@ const column = ref([
|
|||||||
::v-deep .ant-select-multiple .ant-select-selection-item {
|
::v-deep .ant-select-multiple .ant-select-selection-item {
|
||||||
height: 34px
|
height: 34px
|
||||||
}
|
}
|
||||||
|
|
||||||
.tableBox {
|
.tableBox {
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
margin: 20px 38px 30px;
|
margin: 20px 38px 30px;
|
||||||
|
|
||||||
::v-deep .ant-select-dropdown {
|
::v-deep .ant-select-dropdown {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-select-selection-item {
|
::v-deep .ant-select-selection-item {
|
||||||
margin-left: 3px;
|
margin-left: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-pagination-options-size-changer.ant-select {
|
::v-deep .ant-pagination-options-size-changer.ant-select {
|
||||||
width: 84px;
|
width: 84px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pa {
|
.pa {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -4,11 +4,11 @@
|
|||||||
<div style="margin: 20px;margin-top:0;">
|
<div style="margin: 20px;margin-top:0;">
|
||||||
<a-tabs v-model:activeKey="activeKey">
|
<a-tabs v-model:activeKey="activeKey">
|
||||||
<a-tab-pane key="1" tab="讲师费管理">
|
<a-tab-pane key="1" tab="讲师费管理">
|
||||||
<LecturerFee />
|
<LecturerFee :activeKeyFn="activeKeyFn"/>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
<!-- v-if="lecturerAdmin('lecturer-admin')" -->
|
<!-- v-if="lecturerAdmin('lecturer-admin')" -->
|
||||||
<a-tab-pane key="2" tab="审批中心">
|
<a-tab-pane key="2" tab="审批中心">
|
||||||
<LecturerApproval/>
|
<LecturerApproval :activeKeyProps="activeKey"/>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
</a-tabs>
|
</a-tabs>
|
||||||
</div>
|
</div>
|
||||||
@@ -33,22 +33,28 @@ import {useStore} from 'vuex'
|
|||||||
const state = reactive({
|
const state = reactive({
|
||||||
activeKey: '1',
|
activeKey: '1',
|
||||||
})
|
})
|
||||||
|
//
|
||||||
const lecturerAdmin = (admin) => {
|
const lecturerAdmin = (admin) => {
|
||||||
const roleCode = userInfo.value.roleList.map((item) => item.roleCode)
|
const roleCode = userInfo.value.roleList.map((item) => item.roleCode)
|
||||||
if (admin) {
|
if (admin) {
|
||||||
return roleCode.some(t => t == admin)
|
return roleCode.some(t => t == admin)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
watch(
|
|
||||||
)
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
if (route.query.activeKey) {
|
if (route.query.activeKey) {
|
||||||
state.activeKey = '2'
|
state.activeKey = '2'
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const activeKeyFn = () => {
|
||||||
|
state.activeKey = '2'
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
lecturerAdmin,
|
lecturerAdmin,
|
||||||
|
activeKeyFn
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -57,6 +63,7 @@ import {useStore} from 'vuex'
|
|||||||
::v-deep .ant-tabs-tab {
|
::v-deep .ant-tabs-tab {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
.LecturerFeeManagement {
|
.LecturerFeeManagement {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|||||||
@@ -48,6 +48,7 @@
|
|||||||
::v-deep .ant-tabs-tab {
|
::v-deep .ant-tabs-tab {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
.LecturerList {
|
.LecturerList {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@@ -321,4 +322,3 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
<!-- 讲师费月度统计详情页面 -->
|
<!-- 讲师费月度统计详情页面 -->
|
||||||
<template>
|
<template>
|
||||||
<a-drawer :visible="visible" class="largeDrawerInside" placement="right" :closable="false"
|
<a-drawer :visible="visible" class="largeDrawerInside" placement="right" :closable="false" width="80%" :title="false"
|
||||||
width="80%" :title="false" @close="handleBack">
|
@close="handleBack">
|
||||||
<div class="MonthlyStatistics">
|
<div class="MonthlyStatistics">
|
||||||
<!-- 搜索框及按钮 -->
|
<!-- 搜索框及按钮 -->
|
||||||
<!-- <a-layout-header style="background: white;color: black; font-size: 20px ;">
|
<!-- <a-layout-header style="background: white;color: black; font-size: 20px ;">
|
||||||
@@ -15,19 +15,15 @@
|
|||||||
</a-layout-header> -->
|
</a-layout-header> -->
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="headerTitle">讲师费月度统计详情</div>
|
<div class="headerTitle">讲师费月度统计详情</div>
|
||||||
<img
|
<img style="width: 29px; height: 29px; cursor: pointer" src="../../assets/images/basicinfo/close.png"
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
@click="handleBack" />
|
||||||
src="../../assets/images/basicinfo/close.png"
|
|
||||||
@click="handleBack"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<!-- <a-divider style="height: 1px; background-color: #b7b8b7 ;margin: 0;" /> -->
|
<!-- <a-divider style="height: 1px; background-color: #b7b8b7 ;margin: 0;" /> -->
|
||||||
<div class="filter">
|
<div class="filter">
|
||||||
<a-form layout="inline">
|
<a-form layout="inline">
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-input v-model:value="searchParam.name" style="width: 240px; height: 40px; border-radius: 8px"
|
<a-input v-model:value="searchParam.name" style="width: 240px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch
|
placeholder="请输入工号/讲师姓名进行检索" allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
v-on:keydown.enter="enterPressHadlerSearch">
|
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<!-- <a-form-item class="select">
|
<!-- <a-form-item class="select">
|
||||||
@@ -64,8 +60,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-form>
|
</a-form>
|
||||||
<div style="width: 100%;"></div>
|
<div style="width: 100%;"></div>
|
||||||
<div v-if="checkMenu('lecturerSummaryExport')" style="display: flex; margin-bottom: 20px">
|
<div style="display: flex; margin-bottom: 20px">
|
||||||
<a-button class="resetbtn" @click="handleFeeMonthly" type="primary"><UploadOutlined/>导出</a-button>
|
<a-button v-if="checkMenu('lecturerSummaryExport')" class="resetbtn" @click="handleFeeMonthly" type="primary">
|
||||||
|
<UploadOutlined />导出
|
||||||
|
</a-button>
|
||||||
|
<a-button v-if="checkMenu('lecturerMonthDown')" class="resetbtn-mo" @click="handleFeeMonthlyDown" type="primary">
|
||||||
|
<UploadOutlined />讲师月度费用下载
|
||||||
|
</a-button>
|
||||||
|
<a-button v-if="checkMenu('lecturerMonthDetailDown')" class="resetbtn-mo" @click="handleFeeMonthlyDetail" type="primary">
|
||||||
|
<UploadOutlined />讲师费用详情下载
|
||||||
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
<!-- 表格 -->
|
<!-- 表格 -->
|
||||||
<div style="margin-bottom: 4px;color: #aaaaaa;">
|
<div style="margin-bottom: 4px;color: #aaaaaa;">
|
||||||
@@ -81,7 +85,8 @@
|
|||||||
<template v-if="column.key === 'operation'">
|
<template v-if="column.key === 'operation'">
|
||||||
<a-space>
|
<a-space>
|
||||||
<a-button type="link" @click="() => handleLook(record, String(record.courseform))">查看</a-button>
|
<a-button type="link" @click="() => handleLook(record, String(record.courseform))">查看</a-button>
|
||||||
<a-button v-if="checkMenu('lecturerSummaryCancel')" type="link" @click="handleLess(record)">撤回</a-button>
|
<a-button v-if="checkMenu('lecturerSummaryCancel')" type="link"
|
||||||
|
@click="handleLess(record)">撤回</a-button>
|
||||||
</a-space>
|
</a-space>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
@@ -106,27 +111,25 @@
|
|||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
<!-- 抽屉 -->
|
<!-- 抽屉 -->
|
||||||
<a-drawer class="largeDrawerInside" v-model:visible="opendrawer" placement="right"
|
<a-drawer class="largeDrawerInside" v-model:visible="opendrawer" placement="right" @closa="cancelTeachingDialog"
|
||||||
@closa="cancelTeachingDialog" :maskClosable="true" width="80%" :title="false">
|
:maskClosable="true" width="80%" :title="false">
|
||||||
<div style="padding:24px;">
|
<div style="padding:24px;">
|
||||||
<div class="headers" style="margin-top:-24px;">
|
<div class="headers" style="margin-top:-24px;">
|
||||||
<div class="headerTitle">查看详情</div>
|
<div class="headerTitle">查看详情</div>
|
||||||
<img
|
<img style="width: 29px; height: 29px; cursor: pointer" src="@/assets/images/basicinfo/close.png"
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
@click="cancelTeachingDialog" />
|
||||||
src="@/assets/images/basicinfo/close.png"
|
|
||||||
@click="cancelTeachingDialog"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<a-form layout="inline">
|
<a-form layout="inline">
|
||||||
<a-form-item class="select">
|
<a-form-item class="select">
|
||||||
<a-input @pressEnter="searchSubmitdrawer" v-model:value="drawer.name" style="width: 260px; height: 40px; border-radius: 8px"
|
<a-input @pressEnter="searchSubmitdrawer" v-model:value="drawer.name"
|
||||||
placeholder="请输入课程名称进行搜索" allowClear showSearch>
|
style="width: 260px; height: 40px; border-radius: 8px" placeholder="请输入课程名称进行搜索" allowClear showSearch>
|
||||||
</a-input>
|
</a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item class="select ">
|
<a-form-item class="select ">
|
||||||
<a-range-picker format="YYYY-MM-DD"
|
<a-range-picker format="YYYY-MM-DD" valueFormat="YYYY-MM-DD"
|
||||||
valueFormat="YYYY-MM-DD" style="width: 260px; height: 40px; margin-bottom: 20px; border-radius: 8px" v-model:value="drawer.drawersearchdate" separator="至"
|
style="width: 260px; height: 40px; margin-bottom: 20px; border-radius: 8px"
|
||||||
:placeholder="[' 开始时间', ' 结束时间']" @change="searchTimeChange" />
|
v-model:value="drawer.drawersearchdate" separator="至" :placeholder="[' 开始时间', ' 结束时间']"
|
||||||
|
@change="searchTimeChange" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<div style="display: flex; margin-bottom: 20px">
|
<div style="display: flex; margin-bottom: 20px">
|
||||||
<a-button @click="searchSubmitdrawer()" type="primary" class="resetbtn">查询 </a-button>
|
<a-button @click="searchSubmitdrawer()" type="primary" class="resetbtn">查询 </a-button>
|
||||||
@@ -134,9 +137,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-form>
|
</a-form>
|
||||||
<!-- <span>讲师费发放情况</span> -->
|
<!-- <span>讲师费发放情况</span> -->
|
||||||
<a-table :columns="column" :scroll="{ x: '1000' }" :data-source="tableDatas" :loading="tableLoadings" :pagination="false">
|
<a-table :columns="column" :scroll="{ x: '1000' }" :data-source="tableDatas" :loading="tableLoadings"
|
||||||
|
:pagination="false">
|
||||||
<template #action="{ record, column }">
|
<template #action="{ record, column }">
|
||||||
<a-button v-if="checkMenu('lecturerSummaryCancel')" type="link" @click="handleDetail(record)">撤回</a-button>
|
<a-button v-if="checkMenu('lecturerSummaryCancel')" type="link"
|
||||||
|
@click="handleDetail(record)">撤回</a-button>
|
||||||
</template>
|
</template>
|
||||||
</a-table>
|
</a-table>
|
||||||
<!-- <div :style="{
|
<!-- <div :style="{
|
||||||
@@ -528,6 +533,22 @@ export default {
|
|||||||
window.open(
|
window.open(
|
||||||
`${process.env.VUE_APP_BASE_API}/admin/export/exportTeacherSummary?&name=${state.searchParam.name ? state.searchParam.name : ""}&id=${state.searchParam.id ? state.searchParam.id : ""}&trainOrgId=${state.searchParam.trainOrgId || ''}`)
|
`${process.env.VUE_APP_BASE_API}/admin/export/exportTeacherSummary?&name=${state.searchParam.name ? state.searchParam.name : ""}&id=${state.searchParam.id ? state.searchParam.id : ""}&trainOrgId=${state.searchParam.trainOrgId || ''}`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 讲师月度费用下载
|
||||||
|
const handleFeeMonthlyDown = () => {
|
||||||
|
console.log("handleFeeMonthlyDown state.searchParam.id param" , state.searchParam.id)
|
||||||
|
window.open(
|
||||||
|
`${process.env.VUE_APP_BASE_API}/admin/export/exportTeacherDimension?&billId=${state.searchParam.id ? state.searchParam.id : ""}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 讲师费用详情下载
|
||||||
|
const handleFeeMonthlyDetail = () => {
|
||||||
|
console.log("handleFeeMonthlyDetail state.searchParam.id param" , state.searchParam.id)
|
||||||
|
window.open(
|
||||||
|
`${process.env.VUE_APP_BASE_API}/admin/export/exportTeacherDimensionDetail?&billId=${state.searchParam.id ? state.searchParam.id : ""}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//重置
|
//重置
|
||||||
const searchReset = () => {
|
const searchReset = () => {
|
||||||
state.searchParam = {
|
state.searchParam = {
|
||||||
@@ -735,11 +756,11 @@ export default {
|
|||||||
};
|
};
|
||||||
//回车
|
//回车
|
||||||
const enterPressHadlerSearch = e => {
|
const enterPressHadlerSearch = e => {
|
||||||
console.log("e",e);
|
console.log("e", e);
|
||||||
if (e.keyCode === 13) {
|
if (e.keyCode === 13) {
|
||||||
searchSubmit()
|
searchSubmit()
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
...toRefs(state),
|
...toRefs(state),
|
||||||
@@ -749,6 +770,8 @@ export default {
|
|||||||
cancelTeachingDialog,
|
cancelTeachingDialog,
|
||||||
searchReset,
|
searchReset,
|
||||||
handleFeeMonthly,
|
handleFeeMonthly,
|
||||||
|
handleFeeMonthlyDown,
|
||||||
|
handleFeeMonthlyDetail,
|
||||||
handleLook,
|
handleLook,
|
||||||
handleLess,
|
handleLess,
|
||||||
handleDetail,
|
handleDetail,
|
||||||
@@ -795,6 +818,7 @@ export default {
|
|||||||
// margin-left: 24px;
|
// margin-left: 24px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -804,6 +828,7 @@ export default {
|
|||||||
margin-left: 38px;
|
margin-left: 38px;
|
||||||
margin-right: 38px;
|
margin-right: 38px;
|
||||||
margin-top: 30px;
|
margin-top: 30px;
|
||||||
|
|
||||||
// display: flex;
|
// display: flex;
|
||||||
// justify-content: space-between;
|
// justify-content: space-between;
|
||||||
// flex-wrap: wrap;
|
// flex-wrap: wrap;
|
||||||
@@ -813,9 +838,11 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.select .ant-picker {
|
.select .ant-picker {
|
||||||
width: 410px !important;
|
width: 410px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.headers {
|
.headers {
|
||||||
height: 73px;
|
height: 73px;
|
||||||
border-bottom: 1px solid #e8e8e8;
|
border-bottom: 1px solid #e8e8e8;
|
||||||
@@ -834,6 +861,7 @@ export default {
|
|||||||
// margin-left: 24px;
|
// margin-left: 24px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.addTimeBox {
|
.addTimeBox {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -1112,6 +1140,18 @@ export default {
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.resetbtn-mo {
|
||||||
|
width: 200px;
|
||||||
|
height: 40px;
|
||||||
|
border-radius: 8px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
margin-right: 14px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
//展开收起样式
|
//展开收起样式
|
||||||
.moreidbtn {
|
.moreidbtn {
|
||||||
border: none;
|
border: none;
|
||||||
@@ -1158,13 +1198,16 @@ export default {
|
|||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
margin-right: 20px
|
margin-right: 20px
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector {
|
::v-deep .ant-select:not(.ant-select-customize-input) .ant-select-selector {
|
||||||
// border-radius:8px;
|
// border-radius:8px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-col-12 {
|
.ant-col-12 {
|
||||||
height: 90px;
|
height: 90px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.goback {
|
.goback {
|
||||||
float: right;
|
float: right;
|
||||||
padding-right: 70px;
|
padding-right: 70px;
|
||||||
@@ -1188,18 +1231,23 @@ export default {
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tableBox {
|
tableBox {
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
margin: 20px 38px 30px;
|
margin: 20px 38px 30px;
|
||||||
|
|
||||||
::v-deep .ant-select-dropdown {
|
::v-deep .ant-select-dropdown {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-select-selection-item {
|
::v-deep .ant-select-selection-item {
|
||||||
margin-left: 3px;
|
margin-left: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .ant-pagination-options-size-changer.ant-select {
|
::v-deep .ant-pagination-options-size-changer.ant-select {
|
||||||
width: 84px;
|
width: 84px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pa {
|
.pa {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -1207,4 +1255,3 @@ justify-content: right;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
1694
src/views/lecturer/OrganizationApproval.vue
Normal file
1694
src/views/lecturer/OrganizationApproval.vue
Normal file
File diff suppressed because it is too large
Load Diff
1662
src/views/lecturer/OrganizationList.vue
Normal file
1662
src/views/lecturer/OrganizationList.vue
Normal file
File diff suppressed because it is too large
Load Diff
@@ -40,6 +40,7 @@
|
|||||||
::v-deep .ant-tabs-tab {
|
::v-deep .ant-tabs-tab {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
.TeachingRecord {
|
.TeachingRecord {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|||||||
Reference in New Issue
Block a user