mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-18 23:36:46 +08:00
讲师管理bug
This commit is contained in:
@@ -30,6 +30,7 @@
|
|||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
@change="change"
|
@change="change"
|
||||||
dropdownClassName="treeDropdown"
|
dropdownClassName="treeDropdown"
|
||||||
|
@keydown.enter="keydownEnter"
|
||||||
>
|
>
|
||||||
</a-tree-select>
|
</a-tree-select>
|
||||||
</template>
|
</template>
|
||||||
@@ -57,7 +58,11 @@ const { data: options, loading: orgLoading } = useArrayRequest(
|
|||||||
ORG_LIST,
|
ORG_LIST,
|
||||||
{ keyword: "" },
|
{ keyword: "" },
|
||||||
);
|
);
|
||||||
|
const keydownEnter = (e) => {
|
||||||
|
if(e.keyCode == 13){
|
||||||
|
emit('enter',true)
|
||||||
|
}
|
||||||
|
}
|
||||||
watch(props, () => {
|
watch(props, () => {
|
||||||
stuTreeExpandedKeys.value = [];
|
stuTreeExpandedKeys.value = [];
|
||||||
if (labelValue.value.value !== props.value) {
|
if (labelValue.value.value !== props.value) {
|
||||||
|
|||||||
@@ -115,10 +115,10 @@
|
|||||||
<!-- 弹窗组件 -->
|
<!-- 弹窗组件 -->
|
||||||
<a-drawer v-model:visible="teacherdialog" placement="right" :closable="false" :maskClosable="false"
|
<a-drawer v-model:visible="teacherdialog" placement="right" :closable="false" :maskClosable="false"
|
||||||
width="700" :title="false">
|
width="700" :title="false">
|
||||||
<div class="headers" style="margin-top:-24px;">
|
<div class="headers" style="margin-top:-24px;margin-left: -25px;width: 110%;">
|
||||||
<div class="headerTitle" style="margin-left: 14px;">{{ teacherdialogtitle }}</div>
|
<div class="headerTitle" style="margin-left: 14px;">{{ teacherdialogtitle }}</div>
|
||||||
<img
|
<img
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
style="width: 29px; height: 29px; cursor: pointer;margin-right: 24px;"
|
||||||
src="@/assets/images/basicinfo/close.png"
|
src="@/assets/images/basicinfo/close.png"
|
||||||
@click="cancelTeacherDialog"
|
@click="cancelTeacherDialog"
|
||||||
/>
|
/>
|
||||||
@@ -127,7 +127,7 @@
|
|||||||
<a-form :model="formParam" :rules="rules" layout="vertical" ref="formRef">
|
<a-form :model="formParam" :rules="rules" layout="vertical" ref="formRef">
|
||||||
<a-row>
|
<a-row>
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<span class="line"></span><span style="color:#333333;font-weight: 600;">基本信息</span>
|
<span class="line"></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">
|
||||||
@@ -222,7 +222,7 @@
|
|||||||
</a-row>
|
</a-row>
|
||||||
<a-row>
|
<a-row>
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<span class="line" style="margin-bottom:10px;"></span><span style="color:#333333;font-weight: 600;">其他信息</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">
|
||||||
@@ -475,7 +475,7 @@ export default {
|
|||||||
formParam: {
|
formParam: {
|
||||||
name: null,
|
name: null,
|
||||||
certStatus: 0,//认证状态
|
certStatus: 0,//认证状态
|
||||||
defaultTeachingTime: null,
|
defaultTeachingTime: 0,
|
||||||
teacherType:1,
|
teacherType:1,
|
||||||
photo: null,
|
photo: null,
|
||||||
gender: 0,
|
gender: 0,
|
||||||
@@ -1156,7 +1156,7 @@ export default {
|
|||||||
name: null,
|
name: null,
|
||||||
newdepartId: null,
|
newdepartId: null,
|
||||||
tlevelId: null,
|
tlevelId: null,
|
||||||
defaultTeachingTime:null,
|
defaultTeachingTime:0,
|
||||||
tsystemName: null,
|
tsystemName: null,
|
||||||
certStatus: 0,
|
certStatus: 0,
|
||||||
description: '',
|
description: '',
|
||||||
@@ -1378,6 +1378,9 @@ export default {
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
.ant-form-item{
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
.headers {
|
.headers {
|
||||||
height: 56px;
|
height: 56px;
|
||||||
border-bottom: 1px solid #e8e8e8;
|
border-bottom: 1px solid #e8e8e8;
|
||||||
@@ -2033,10 +2036,10 @@ export default {
|
|||||||
.line {
|
.line {
|
||||||
float: left;
|
float: left;
|
||||||
width: 3px;
|
width: 3px;
|
||||||
height: 17px;
|
height: 16px;
|
||||||
background: #4ea6ff;
|
background: #4ea6ff;
|
||||||
margin-left: -14px;
|
margin-left: -10px;
|
||||||
margin-top: 3px;
|
margin-top: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
//抽屉功能
|
//抽屉功能
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<!-- <div style="width:100%"></div> -->
|
<!-- <div style="width:100%"></div> -->
|
||||||
<a-form-item class="select" v-if="moreid == 2">
|
<a-form-item class="select">
|
||||||
<a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.createFrom" placeholder="录入类型"
|
<a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.createFrom" placeholder="录入类型"
|
||||||
:options="entryTypeList" allowClear v-on:keydown.enter="enterPressHadlerSearch">
|
:options="entryTypeList" allowClear v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select>
|
</a-select>
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
<!-- <a-select style="width: 235px" placeholder="请选择所属组织" v-model:value="searchParam.sourceBelongId"
|
<!-- <a-select style="width: 235px" placeholder="请选择所属组织" v-model:value="searchParam.sourceBelongId"
|
||||||
:options="getOrganizationList" allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
|
:options="getOrganizationList" allowClear showSearch v-on:keydown.enter="enterPressHadlerSearch">
|
||||||
</a-select> -->
|
</a-select> -->
|
||||||
<OrgClass v-model:value="searchParam.orgId" :placeholder="'请选择讲师组织'"
|
<OrgClass @enter="searchSubmit()" v-model:value="searchParam.orgId" :placeholder="'请选择讲师组织'"
|
||||||
style="width: 235px"
|
style="width: 235px"
|
||||||
></OrgClass>
|
></OrgClass>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|||||||
@@ -236,7 +236,7 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="应发费用" name="payableExpense">
|
<a-form-item label="应发费用" name="payableExpense">
|
||||||
<a-input-number :max="99999999" :controls="false" :min="0" :precision="2" v-model:value="formParam.payableExpense" class="draitem"
|
<a-input-number :max="99999999" :controls="false" :min="0" :precision="2" v-model:value="formParam.payableExpense" class="draitem"
|
||||||
placeholder="请输入应发费用" allowClear>
|
placeholder="请输入应发费用" @change="clearPayableExpense" allowClear>
|
||||||
</a-input-number>
|
</a-input-number>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -451,11 +451,17 @@ export default {
|
|||||||
message.error('复制失败,请重新尝试')
|
message.error('复制失败,请重新尝试')
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
const clearPayableExpense = () => {
|
||||||
|
state.formParam.payableExpense == 0 && (state.formParam.payableExpense = null);
|
||||||
|
state.formParam.payableExpense && (state.formParam.payableExpense = String(state.formParam.payableExpense))
|
||||||
|
}
|
||||||
const clearlevelPayNumber = () => {
|
const clearlevelPayNumber = () => {
|
||||||
// state.formParam.levelPay = state.formParam?.levelPay.replace(/\D/g, '');
|
// state.formParam.levelPay = state.formParam?.levelPay.replace(/\D/g, '');
|
||||||
// state.formParam.expense = state.formParam?.levelPay*state.formParam?.teachingTime
|
// state.formParam.expense = state.formParam?.levelPay*state.formParam?.teachingTime
|
||||||
state.formParam.levelPay == 0 && (state.formParam.levelPay = null);
|
state.formParam.levelPay == 0 && (state.formParam.levelPay = null);
|
||||||
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.levelPay=String(state.formParam.levelPay))
|
||||||
}
|
}
|
||||||
const clearscoreNumber= () => {
|
const clearscoreNumber= () => {
|
||||||
state.formParam.score = state.formParam?.score?.replace(/\D/g, '');
|
state.formParam.score = state.formParam?.score?.replace(/\D/g, '');
|
||||||
@@ -469,6 +475,7 @@ export default {
|
|||||||
state.formParam.teachingTime = state.formParam.teachingTime?.slice(0,8);
|
state.formParam.teachingTime = state.formParam.teachingTime?.slice(0,8);
|
||||||
state.formParam.teachingTime == 0 && (state.formParam.teachingTime = null);
|
state.formParam.teachingTime == 0 && (state.formParam.teachingTime = null);
|
||||||
state.formParam.teachingTime && state.formParam.levelPay && (state.formParam.expense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2));
|
state.formParam.teachingTime && state.formParam.levelPay && (state.formParam.expense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2));
|
||||||
|
state.formParam.teachingTime&&state.formParam.levelPay && (state.formParam.payableExpense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2))
|
||||||
}
|
}
|
||||||
const courseTypeList = ref([
|
const courseTypeList = ref([
|
||||||
{ value: '0', label: "在线" },
|
{ value: '0', label: "在线" },
|
||||||
@@ -536,6 +543,9 @@ export default {
|
|||||||
if(state.formParam.levelPay){
|
if(state.formParam.levelPay){
|
||||||
state.formParam.levelPay = String(state.formParam.levelPay)
|
state.formParam.levelPay = String(state.formParam.levelPay)
|
||||||
}
|
}
|
||||||
|
if(state.formParam.payableExpense){
|
||||||
|
state.formParam.payableExpense = String(state.formParam.payableExpense)
|
||||||
|
}
|
||||||
const formItemNames = Object.keys(rules);
|
const formItemNames = Object.keys(rules);
|
||||||
for(let i=0;i<formItemNames.length;i++){
|
for(let i=0;i<formItemNames.length;i++){
|
||||||
const result = await validateField(formItemNames[i]);
|
const result = await validateField(formItemNames[i]);
|
||||||
@@ -604,6 +614,7 @@ export default {
|
|||||||
score: [{ required: true, message:'',log: ' 评分不能为空' }],
|
score: [{ required: true, message:'',log: ' 评分不能为空' }],
|
||||||
levelPay: [{ required: true, message:'',log: '课酬基准 不能为空' }],
|
levelPay: [{ required: true, message:'',log: '课酬基准 不能为空' }],
|
||||||
expense: [{ required: true, message: '',log:'计划费用不能为空' }],
|
expense: [{ required: true, message: '',log:'计划费用不能为空' }],
|
||||||
|
payableExpense: [{ required: true, message: '',log:'应发费用不能为空' }],
|
||||||
}
|
}
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
reset()
|
reset()
|
||||||
@@ -863,6 +874,7 @@ export default {
|
|||||||
formRef,
|
formRef,
|
||||||
courseTypeList,
|
courseTypeList,
|
||||||
clearlevelPayNumber,
|
clearlevelPayNumber,
|
||||||
|
clearPayableExpense,
|
||||||
clearscoreNumber,
|
clearscoreNumber,
|
||||||
clearstudysNumber,
|
clearstudysNumber,
|
||||||
clearNonNumber,
|
clearNonNumber,
|
||||||
|
|||||||
@@ -266,7 +266,7 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="授课/课程日期 :" name="teachingDate">
|
<a-form-item label="授课/课程日期 :" name="teachingDate">
|
||||||
<a-date-picker 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 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"
|
||||||
placeholder="请选择课程日期" />
|
placeholder="请选择课程日期" @select="handleSelect" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
@@ -295,7 +295,7 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="评分" name="score">
|
<a-form-item label="评分" name="score">
|
||||||
<a-input-number class="draitem" v-model:value="formParam.score" :defaultValue="null" :max="10" :controls="false" :min="0" :precision="2" placeholder="请输入评分"
|
<a-input-number class="draitem" v-model:value="formParam.score" :defaultValue="null" :max="10" :controls="false" :min="0" :precision="2" placeholder="请输入评分"
|
||||||
allowClear >
|
allowClear @change="scoreNumber">
|
||||||
</a-input-number>
|
</a-input-number>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -320,7 +320,7 @@
|
|||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="应发费用" name="payableExpense">
|
<a-form-item label="应发费用" name="payableExpense">
|
||||||
<a-input-number :max="99999999" :controls="false" :min="0" :precision="2" v-model:value="formParam.payableExpense" class="draitem"
|
<a-input-number :max="99999999" :controls="false" :min="0" :precision="2" v-model:value="formParam.payableExpense" class="draitem"
|
||||||
placeholder="请输入应发费用" allowClear>
|
placeholder="请输入应发费用" @change="clearPayableExpense" allowClear>
|
||||||
</a-input-number>
|
</a-input-number>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
@@ -1068,6 +1068,9 @@ getAllLevelList().then((res) => {
|
|||||||
if(state.formParam.levelPay){
|
if(state.formParam.levelPay){
|
||||||
state.formParam.levelPay = String(state.formParam.levelPay)
|
state.formParam.levelPay = String(state.formParam.levelPay)
|
||||||
}
|
}
|
||||||
|
if(state.formParam.payableExpense){
|
||||||
|
state.formParam.payableExpense = String(state.formParam.payableExpense)
|
||||||
|
}
|
||||||
const formItemNames = Object.keys(rules);
|
const formItemNames = Object.keys(rules);
|
||||||
for(let i=0;i<formItemNames.length;i++){
|
for(let i=0;i<formItemNames.length;i++){
|
||||||
const result = await validateField(formItemNames[i]);
|
const result = await validateField(formItemNames[i]);
|
||||||
@@ -1319,6 +1322,7 @@ getAllLevelList().then((res) => {
|
|||||||
state.formParam.teachingTime = state.formParam.teachingTime?.slice(0,8);
|
state.formParam.teachingTime = state.formParam.teachingTime?.slice(0,8);
|
||||||
state.formParam.teachingTime == 0 && (state.formParam.teachingTime = null);
|
state.formParam.teachingTime == 0 && (state.formParam.teachingTime = null);
|
||||||
state.formParam.teachingTime && state.formParam.levelPay && (state.formParam.expense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2));
|
state.formParam.teachingTime && state.formParam.levelPay && (state.formParam.expense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2));
|
||||||
|
state.formParam.teachingTime && state.formParam.levelPay && (state.formParam.payableExpense = (state.formParam.levelPay*(state.formParam.teachingTime/60)).toFixed(2));
|
||||||
}
|
}
|
||||||
const clearstudysNumber = () => {
|
const clearstudysNumber = () => {
|
||||||
state.formParam.studys = state.formParam.studys.replace(/\D/g, '');
|
state.formParam.studys = state.formParam.studys.replace(/\D/g, '');
|
||||||
@@ -1334,14 +1338,24 @@ getAllLevelList().then((res) => {
|
|||||||
state.formParam.payableExpense = state.formParam.payableExpense?.slice(0,8);
|
state.formParam.payableExpense = state.formParam.payableExpense?.slice(0,8);
|
||||||
state.formParam.payableExpense == 0 && (state.formParam.payableExpense = null);
|
state.formParam.payableExpense == 0 && (state.formParam.payableExpense = null);
|
||||||
}
|
}
|
||||||
|
const scoreNumber = () => {
|
||||||
|
state.formParam.score&&(state.formParam.score=String(state.formParam.score))
|
||||||
|
}
|
||||||
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 = null);
|
||||||
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.levelPay=String(state.formParam.levelPay))
|
||||||
|
}
|
||||||
|
const clearPayableExpense = () => {
|
||||||
|
state.formParam.payableExpense == 0 && (state.formParam.payableExpense = null);
|
||||||
|
state.formParam.payableExpense && (state.formParam.payableExpense = String(state.formParam.payableExpense))
|
||||||
}
|
}
|
||||||
watch(()=>state.formParam.levelPay,(val)=>{
|
watch(()=>state.formParam.levelPay,(val)=>{
|
||||||
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))
|
||||||
})
|
})
|
||||||
const rules = {
|
const rules = {
|
||||||
name: [{ required: true, message:'',log: '讲师不能为空' }],
|
name: [{ required: true, message:'',log: '讲师不能为空' }],
|
||||||
@@ -1359,7 +1373,7 @@ getAllLevelList().then((res) => {
|
|||||||
score: [{ required: true, message:'',log: ' 评分不能为空' }],
|
score: [{ required: true, message:'',log: ' 评分不能为空' }],
|
||||||
levelPay: [{ required: true, message:'',log: '课酬基准不能为空' }],
|
levelPay: [{ required: true, message:'',log: '课酬基准不能为空' }],
|
||||||
expense: [{ required: true, message: '',log:'计划费用不能为空' }],
|
expense: [{ required: true, message: '',log:'计划费用不能为空' }],
|
||||||
|
payableExpense: [{ required: true, message: '',log:'应发费用不能为空' }],
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleImport = () => {
|
const handleImport = () => {
|
||||||
@@ -1680,6 +1694,8 @@ const column = ref([
|
|||||||
clearstudysNumber,
|
clearstudysNumber,
|
||||||
clearscoreNumber,
|
clearscoreNumber,
|
||||||
clearlevelPayNumber,
|
clearlevelPayNumber,
|
||||||
|
scoreNumber,
|
||||||
|
clearPayableExpense,
|
||||||
payExpense,
|
payExpense,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user