讲师管理bug

This commit is contained in:
zhangsir
2024-12-26 17:13:55 +08:00
parent 51022077b2
commit 9140481715
10 changed files with 143 additions and 70 deletions

View File

@@ -43,6 +43,8 @@ export const queryTeacherFeeTotalList= (obj) => http.post('/teacher/fee/queryTea
export const getPreviousTeacherFee= (obj) => http.post('/teacher/fee/getPreviousTeacherFee',obj)
//汇总上月讲师费月度数据
export const CreateMonthSummary= (obj) => http.post('/admin/expenseSummary/createMonthSummary',obj)
//是否显示重汇按钮
export const isShowReimport= () => http.get('/admin/expenseSummary/isAdmin')
//讲师费统计列表
export const expenseSummaryList= (obj) => http.get('/admin/expenseSummary/list',{params:obj})
//提交/撤回

View File

@@ -4,9 +4,9 @@
:closable="false"
class="largeDrawerInside"
placement="right"
width="70%"
width="80%"
>
<div class="drawerMains" ref="drawerContent">
<div class="drawerMains">
<div class="headers" style="margin-top:-24px;">
<div class="headerTitle">{{ name }}</div>
<img
@@ -22,9 +22,9 @@
<div class="item">
<a-input @pressEnter="searchData(true)" style="border-radius: 8px;width:240px;height: 40px;" v-model:value="nameUserNo" placeholder="请输入工号/讲师名称进行搜索" allowClear />
</div>
<div class="item">
<!-- <div class="item">
<a-range-picker format="YYYY-MM-DD" valueFormat="YYYY-MM-DD" style="border-radius: 8px;width:360px;height: 40px;" v-model:value="dateValue" />
</div>
</div> -->
<div class="item">
<a-button type="primary" @click="searchData(true)" style="margin-right:20px;border-radius:8px;width: 100px;height: 40px;">搜索</a-button>
<a-button type="primary" @click="resetData()" style="border-radius:8px;width: 100px;height: 40px;">重置</a-button>
@@ -32,10 +32,11 @@
</div>
<div class="table" style="padding-bottom:72px;">
<a-table
ref="drawerContent"
:columns="columns"
:data-source="tableData"
:pagination="false"
:scroll="{ x: 'max-content' }"
:scroll="{ x: 'max-content',y:tableData.length? pageHeight : null }"
row-key="id"
:loading="loading"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
@@ -80,6 +81,9 @@ const customRow = (record) => {
},
};
};
const pageHeight = computed(() => {
return window.innerHeight - 360
});
watch(()=>props.visible,(val)=>{
if(val){
loading.value = true
@@ -98,7 +102,7 @@ watch(()=>props.visible,(val)=>{
}else{
selectedRowKeys.value = []
selectsData.value = []
drawerContent.value.scrollTo({top:0,behavior: 'smooth'})
drawerContent.value?.$el.querySelector('.ant-table-body')?.scrollTo({top:0,behavior: 'smooth'})
resetData()
}
})
@@ -115,7 +119,7 @@ const searchData = (val) => {
// drawerContent.value.scrollTo({top:200,behavior: 'smooth'})
searchTrue.value = val
if(!nameUserNo.value&&!dateValue.value){
// searchList.value = tableData.value;
searchList.value = [];
return
}
//搜索 数组expenseList.value 参数名字或者工号nameUserNo.value 日期dateValue.value
@@ -137,7 +141,7 @@ const searchData = (val) => {
let scrollHeight = null
filteredList.length && (scrollHeight = tableData.value.findIndex(item => item.id === filteredList[0].id))
if(scrollHeight||scrollHeight==0){
drawerContent.value.scrollTo({top:(scrollHeight+1)*50+200,behavior: 'smooth'})
drawerContent.value?.$el.querySelector('.ant-table-body')?.scrollTo({top:scrollHeight*55,behavior: 'smooth'})
}
}
const loading = ref(false)
@@ -172,12 +176,14 @@ const columns = [
dataIndex: 'name',
key: 'name',
align: 'center',
width:120,
},
{
title: '讲师工号',
dataIndex: 'userNo',
key: 'userNo',
align: 'center',
width:120
},
{
title: '所属组织',
@@ -185,6 +191,7 @@ const columns = [
key: 'orgName',
align: 'center',
ellipsis: true,
width:100,
customCell :() => {return {style: {maxWidth: '200px',overflow: 'hidden',whiteSpace: 'nowrap',textOverflow:'ellipsis',cursor:'pointer'}}},
},
@@ -193,12 +200,15 @@ const columns = [
dataIndex: 'tsystemName',
key: 'tsystemName',
align: 'center',
width:100,
customCell :() => {return {style: {maxWidth: '200px',overflow: 'hidden',whiteSpace: 'nowrap',textOverflow:'ellipsis',cursor:'pointer'}}},
},
{
title: '讲师等级',
dataIndex: 'tlevelName',
key: 'tlevelName',
align: 'center',
width:100,
customRender: ({ text })=>{
return text||'-'
}
@@ -208,6 +218,7 @@ const columns = [
dataIndex: 'payrollPlace',
key: 'payrollPlace',
align: 'center',
width:120,
customRender: ({ text })=>{
return text||'-'
}
@@ -218,6 +229,7 @@ const columns = [
dataIndex: 'courseType',
key: 'courseType',
align: 'center',
width:120,
customRender: ({ text,record })=>{
switch (text) {
case 0:
@@ -240,18 +252,22 @@ const columns = [
dataIndex: 'courseName',
key: 'courseName',
align: 'center',
width:100,
customCell :() => {return {style: {maxWidth: '200px',overflow: 'hidden',whiteSpace: 'nowrap',textOverflow:'ellipsis',cursor:'pointer'}}},
},
{
title: '授课/开发课程日期',
dataIndex: 'teachingDate',
key: 'teachingDate',
align: 'center',
width:150
},
{
title: '授课/开发课程时长',
dataIndex: 'teachingTime',
key: 'teachingTime',
align: 'center',
width:150,
customRender: ({ text,record })=>{
return (text/60).toFixed(2)+'小时'
}
@@ -261,6 +277,7 @@ const columns = [
dataIndex: 'studys',
key: 'studys',
align: 'center',
width:100,
customRender: ({ text })=>{
return text||'0'
}
@@ -270,6 +287,7 @@ const columns = [
dataIndex: 'score',
key: 'score',
align: 'center',
width:100,
customRender: (value) => {
return (
<div>
@@ -283,12 +301,14 @@ const columns = [
dataIndex: 'levelPay',
key: 'levelPay',
align: 'center',
width:100
},
{
title: '计划费用',
dataIndex: 'expense',
key: 'expense',
align: 'center',
width:100
},
// {
// title: '应发费用',
@@ -349,7 +369,10 @@ const queryDrawer = () => {
::v-deep .ant-table-row-selected td {
// background: none !important;
}
::v-deep .ant-table-thead > tr > th {
background-color: #eff4fc !important;
text-align: center !important;
}
.largeDrawerInside {
.drawerMains {
@@ -425,7 +448,7 @@ const queryDrawer = () => {
}
.table{
::v-deep .ant-table-cell-fix-right {
width: 160px !important;
width: 120px !important;
}
}
}

View File

@@ -4,10 +4,10 @@
:closable="false"
class="largeDrawerInside"
placement="right"
width="64%"
width="76%"
:zIndex="1001"
>
<div class="drawerMains" ref="drawerContent">
<div class="drawerMains">
<div class="headers" style="margin-top:-24px;">
<div class="headerTitle">{{ name }}</div>
<img
@@ -34,9 +34,9 @@
<div class="item">
<a-input @pressEnter="searchData(true)" style="border-radius: 8px;width:240px;height: 40px;" v-model:value="nameUserNo" placeholder="请输入工号/讲师名称进行搜索" allowClear />
</div>
<div class="item">
<!-- <div class="item">
<a-range-picker format="YYYY-MM-DD" valueFormat="YYYY-MM-DD" style="border-radius: 8px;width:360px;height: 40px;" v-model:value="dateValue" />
</div>
</div> -->
<div class="item">
<a-button type="primary" @click="searchData(true)" style="margin-right:20px;border-radius:8px;width: 100px;height: 40px;">搜索</a-button>
<a-button type="primary" @click="resetData()" style="border-radius:8px;width: 100px;height: 40px;">重置</a-button>
@@ -44,10 +44,11 @@
</div>
<div class="table">
<a-table
ref="drawerContent"
:columns="columns"
:data-source="expenseList"
:pagination="false"
:scroll="{ x: 'max-content' }"
:scroll="{ x: 'max-content',y:expenseList.length? pageHeight : null }"
:loading="loadingData"
:custom-row="customRow"
>
@@ -175,6 +176,9 @@ const clickItem = (item,i) => {
indexList.value = i
resetData()
}
const pageHeight = computed(() => {
return window.innerHeight - 450
});
watch(()=>props.visible,(val)=>{
if(val){
loadingData.value = true
@@ -202,7 +206,7 @@ watch(()=>props.visible,(val)=>{
}else{
nameUserNo.value = null
dateValue.value = null
drawerContent.value.scrollTo({top:0,behavior: 'smooth'})
drawerContent.value?.$el.querySelector('.ant-table-body')?.scrollTo({top:0,behavior: 'smooth'})
}
})
const removeId = (e,i) =>{
@@ -244,7 +248,7 @@ const customRow = (record) => {
const searchData = (val) => {
searchTrue.value = val
if(!nameUserNo.value&&!dateValue.value){
// searchList.value = expenseList.value;
searchList.value = [];
return
}
//搜索 数组expenseList.value 参数名字或者工号nameUserNo.value 日期dateValue.value
@@ -266,7 +270,7 @@ const searchData = (val) => {
let scrollHeight = null
filteredList.length && (scrollHeight = expenseList.value.findIndex(item => item.id === filteredList[0].id))
if(scrollHeight||scrollHeight==0){
drawerContent.value.scrollTo({top:(scrollHeight+1)*50+300,behavior: 'smooth'})
drawerContent.value?.$el.querySelector('.ant-table-body')?.scrollTo({top:scrollHeight*55,behavior: 'smooth'})
}
}
const resetData = () => {
@@ -281,12 +285,14 @@ const columns = [
dataIndex: 'name',
key: 'name',
align: 'center',
width:120,
},
{
title: '讲师工号',
dataIndex: 'userNo',
key: 'userNo',
align: 'center',
width:120,
},
{
title: '所属组织',
@@ -294,6 +300,7 @@ const columns = [
key: 'orgName',
align: 'center',
ellipsis: true,
width:100,
customCell :() => {return {style: {maxWidth: '200px',overflow: 'hidden',whiteSpace: 'nowrap',textOverflow:'ellipsis',cursor:'pointer'}}},
},
@@ -302,12 +309,15 @@ const columns = [
dataIndex: 'tsystemName',
key: 'tsystemName',
align: 'center',
width:100,
customCell :() => {return {style: {maxWidth: '200px',overflow: 'hidden',whiteSpace: 'nowrap',textOverflow:'ellipsis',cursor:'pointer'}}},
},
{
title: '讲师等级',
dataIndex: 'tlevelName',
key: 'tlevelName',
align: 'center',
width:100,
customRender: ({ text })=>{
return text||'-'
}
@@ -317,6 +327,7 @@ const columns = [
dataIndex: 'payrollPlace',
key: 'payrollPlace',
align: 'center',
width:120,
customRender: ({ text })=>{
return text||'-'
}
@@ -327,6 +338,7 @@ const columns = [
dataIndex: 'courseType',
key: 'courseType',
align: 'center',
width:120,
customRender: ({ text,record })=>{
switch (text) {
case 0:
@@ -349,18 +361,22 @@ const columns = [
dataIndex: 'courseName',
key: 'courseName',
align: 'center',
width:100,
customCell :() => {return {style: {maxWidth: '200px',overflow: 'hidden',whiteSpace: 'nowrap',textOverflow:'ellipsis',cursor:'pointer'}}},
},
{
title: '授课/开发课程日期',
dataIndex: 'teachingDate',
key: 'teachingDate',
align: 'center',
width:150,
},
{
title: '授课/开发课程时长',
dataIndex: 'teachingTime',
key: 'teachingTime',
align: 'center',
width:150,
customRender: ({ text,record })=>{
return (text/60).toFixed(2)+'小时'
}
@@ -370,6 +386,7 @@ const columns = [
dataIndex: 'studys',
key: 'studys',
align: 'center',
width:100,
customRender: ({ text })=>{
return text||'0'
}
@@ -379,6 +396,7 @@ const columns = [
dataIndex: 'score',
key: 'score',
align: 'center',
width:100,
customRender: (value) => {
return (
<div>
@@ -392,12 +410,14 @@ const columns = [
dataIndex: 'levelPay',
key: 'levelPay',
align: 'center',
width:100,
},
{
title: '计划费用',
dataIndex: 'expense',
key: 'expense',
align: 'center',
width:100,
},
// {
// title: '应发费用',
@@ -409,6 +429,7 @@ const columns = [
title: '操作',
align: 'center',
fixed: 'right',
width:100,
customCell:()=>{return {style:{background:'#fff'}}},
slots: { customRender: "action" },
},
@@ -459,6 +480,10 @@ const config = () => {
::v-deep .ant-table-tbody > tr:not(.ant-table-row-selected):not(:hover) > td {
background: none;
}
::v-deep .ant-table-thead > tr > th {
background-color: #eff4fc !important;
text-align: center !important;
}
.delete {
min-width: 424px;
background: #ffffff;
@@ -661,7 +686,7 @@ const config = () => {
}
.table{
::v-deep .ant-table-cell-fix-right {
width: 160px !important;
width: 120px !important;
}
}
}

View File

@@ -757,18 +757,25 @@ export default {
ellipsis: true, align: "center",
width: 120,
},
{
title: '课程名称 ',
dataIndex: 'courseName',
key: 'courseName ',
ellipsis: true, align: "left",
width: 200,
},
{
title: '讲师体系 ',
dataIndex: 'tsystemName',
key: 'tsystemName',
ellipsis: true, align: "center",
ellipsis: true, align: "left",
width: 200,
},
{
title: '培训发生组织 ',
dataIndex: 'trainOrgName',
key: 'trainOrgName',
ellipsis: true, align: "center",
ellipsis: true, align: "left",
width: 200,
customRender: (value, record) => {
return (
@@ -797,13 +804,7 @@ export default {
)
}
},
{
title: '课程名称 ',
dataIndex: 'courseName',
key: 'courseName ',
ellipsis: true, align: "center",
width: 120,
},
{
title: '课程类型 ',
dataIndex: 'type',

View File

@@ -851,7 +851,7 @@ export default {
key: 'name',
ellipsis: true,
align: "center",
width: 160,
width: 120,
},
{
title: '讲师工号',
@@ -859,7 +859,7 @@ export default {
key: 'userNo',
align: "center",
ellipsis: true,
width: 160,
width: 120,
},
{
title: '所属组织 ',
@@ -867,7 +867,7 @@ export default {
key: 'orgName',
ellipsis: true,
align: "center",
width: 200,
width: 160,
slots: { customRender: "orgName" },
},
{
@@ -876,7 +876,7 @@ export default {
key: 'tsystemName',
ellipsis: true,
align: "center",
width: 160,
width: 120,
},
{
title: '讲师级别',
@@ -884,7 +884,7 @@ export default {
key: 'tlevelName',
ellipsis: true,
align: "center",
width: 160,
width: 100,
},
{
title: '发薪地',
@@ -892,7 +892,7 @@ export default {
key: 'payrollPlace',
ellipsis: true,
align: "center",
width: 160,
width: 100,
customRender: ({text}) => {
return text || '-'
}
@@ -903,7 +903,7 @@ export default {
key: 'courseType',
ellipsis: true,
align: "center",
width: 160,
width: 100,
customRender: (value) => {
return (
<div>
@@ -926,7 +926,7 @@ export default {
key: 'courseName',
ellipsis: true,
align: "center",
width: 200,
width: 160,
},
{
title: '授课/开发课程日期',
@@ -934,7 +934,7 @@ export default {
key: 'teachingDate',
ellipsis: true,
align: "center",
width: 200,
width: 160,
},
{
title: '授课/开发课程时长 ',
@@ -957,7 +957,7 @@ export default {
key: 'studys',
ellipsis: true,
align: "center",
width: 160,
width: 100,
customRender: ({text}) => {
return text || "0";
}
@@ -968,7 +968,7 @@ export default {
key: 'score',
ellipsis: true,
align: "center",
width: 160,
width: 100,
customRender: (value) => {
return (
<div>
@@ -983,7 +983,7 @@ export default {
key: 'levelPay',
ellipsis: true,
align: "center",
width: 160,
width: 120,
},
{
title: '计划费用 ',
@@ -991,7 +991,7 @@ export default {
key: 'expense',
ellipsis: true,
align: "center",
width: 160,
width: 120,
},
// {
// title: '应发费用 ',
@@ -1008,7 +1008,7 @@ export default {
ellipsis: true,
align: "center",
fixed: "right",
width: 160,
width: 120,
slots: { customRender: "appEdit" },
},
])
@@ -1259,7 +1259,7 @@ export default {
.table{
padding-bottom: 70px;
::v-deep .ant-table-cell-fix-right {
width: 160px !important;
width: 120px !important;
}
}
}

View File

@@ -511,7 +511,7 @@
title: '操作 ',
dataIndex: 'operation',
key: 'operation',
ellipsis: true, align: "right",
ellipsis: true, align: "center",
fixed: "right",
width: 120,
scopedSlots: { customRender: "action" },

View File

@@ -18,7 +18,7 @@
</a-form-item>
<a-form-item class="select">
<a-select style="width: 235px ;margin-bottom:20px" v-model:value="searchParam.trainOrgId" placeholder="请选择培训发生组织" allowClear
:options="orgList"
:options="orgListSearch"
v-on:keydown.enter="enterPressHadlerSearch">
</a-select>
</a-form-item>
@@ -611,6 +611,7 @@
tableDataSee: [],
SeeLoading: false,
orgList: [],
orgListSearch: [],
selectsIds: '',
visibleConfirm: false,
title:'导入讲师费记录',
@@ -699,7 +700,13 @@
value: item.id
}
})
state.orgList.unshift({
state.orgListSearch = res.data.data?.map(item=>{
return{
label: item.affiliationName,
value: item.id
}
})
state.orgListSearch.unshift({
label: '全部', value: ''
})
})
@@ -916,14 +923,14 @@ getAllLevelList().then((res) => {
dataIndex: 'courseName',
key: 'courseName',
ellipsis: true,
align: "center",
align: "left",
width: 200,
},
{
title: '培训发生组织',
dataIndex: 'trainOrgName',
key: 'trainOrgName',
ellipsis: true, align: "center",
ellipsis: true, align: "left",
width: 200,
},
@@ -953,8 +960,8 @@ getAllLevelList().then((res) => {
title: '讲师体系',
dataIndex: 'tsystemName',
key: 'tsystemName',
ellipsis: true, align: "center",
width: 120,
ellipsis: true, align: "left",
width: 200,
customRender: ({ text })=>{
return text||'-'
}

View File

@@ -25,7 +25,7 @@
</div>
</a-form>
<div style="width: 100%;"></div>
<div style="display: flex; margin-bottom: 20px">
<div v-if="isAdmin" style="display: flex; margin-bottom: 20px">
<a-button @click="searchResetPrevious()" type="primary" class="langbtn" style="width: 150px; height: 40px; border-radius: 8px" >
<FolderAddOutlined /> 重新汇总上月讲师费
</a-button>
@@ -171,7 +171,7 @@
<MonthlyStatistics v-model:visible="opendrawer" :id="drawerId" ></MonthlyStatistics>
</template>
<script lang="jsx">
import { reactive, toRefs, ref, watch } from "vue";
import { reactive, toRefs, ref, watch,onMounted } from "vue";
import { message } from "ant-design-vue";
import dayjs from "dayjs";
import { useStore } from "vuex";
@@ -179,7 +179,7 @@ import { useRouter } from "vue-router";
import { getOrganization } from "../../api/Teaching";
import { queryTeacherFeeMonthly, getTeacherFeeDetailListByTeacherNo, getTeacherFeeListByTeacherNo,TeacherFeeTotalList,createMonthSummary} from "../../api/lecturerFeeStatistics"
;
import {expenseSummaryList,getTrainOrg,CreateMonthSummary} from "../../api/lecturerFeeManagement";
import {expenseSummaryList,getTrainOrg,CreateMonthSummary,isShowReimport} from "../../api/lecturerFeeManagement";
import dialog from '@/utils/dialog'
import MonthlyStatistics from './MonthlyStatistics'
export default {
@@ -188,9 +188,22 @@ export default {
MonthlyStatistics,
},
setup() {
onMounted(() => {
isShowReimport().then(res=>{
if(res.data.code == 200){
state.isAdmin = res.data.data
}else{
state.isAdmin = false
}
}).catch(err=>{
state.isAdmin = false
message.error(err.data.msg)
})
})
const store = useStore();
const router = useRouter();
const state = reactive({
isAdmin: false,
opendrawer: false,
drawerId: '',
summaryDate: null,
@@ -243,11 +256,11 @@ export default {
width:'100px',
},
{
title: '资源归属 ',
title: '培训发生组织 ',
dataIndex: 'trainOrgName',
key: 'trainOrgName',
ellipsis: true,
align: "center",
align: "left",
width: '200px',
},
{

View File

@@ -258,7 +258,7 @@ export default {
key: 'name',
ellipsis: true,
align: "center",
width: 160,
width: 120,
},
{
title: '讲师工号',
@@ -266,7 +266,7 @@ export default {
key: 'userNo',
align: "center",
ellipsis: true,
width: 160,
width: 120,
},
{
title: '所属组织 ',
@@ -274,7 +274,7 @@ export default {
key: 'orgName',
ellipsis: true,
align: "center",
width: 200,
width: 160,
customRender: ({text})=>{
return endOrg(text)
}
@@ -285,7 +285,7 @@ export default {
key: 'payrollPlace',
ellipsis: true,
align: "center",
width: 160,
width: 120,
},
{
title: '授课时长(系统 ) ',
@@ -293,7 +293,7 @@ export default {
key: 'teachingSystem',
ellipsis: true,
align: "center",
width: 160,
width: 140,
},
{
title: '授课时长(录入) ',
@@ -301,7 +301,7 @@ export default {
key: 'teachingEnter',
ellipsis: true,
align: "center",
width: 160,
width: 140,
},
{
title: '开发课程时长 ',
@@ -309,7 +309,7 @@ export default {
key: 'teachingDevelop',
ellipsis: true,
align: "center",
width: 160,
width: 120,
},
{
title: '计划费用 ',
@@ -317,7 +317,7 @@ export default {
key: 'expense',
ellipsis: true,
align: "center",
width: 160,
width: 120,
},
{
title: '应发费用 ',
@@ -325,7 +325,7 @@ export default {
key: 'payableExpense',
ellipsis: true,
align: "center",
width: 160,
width: 120,
},
{
title: '操作 ',
@@ -334,7 +334,7 @@ export default {
ellipsis: true,
align: "center",
fixed: "right",
width: 160,
width: 100,
scopedSlots: { customRender: "action" },
},
])

View File

@@ -150,11 +150,11 @@
是否为根节点
</template>
<div style="display: flex;align-items: center;">
<a-radio-group style="min-width:126px;" @change="selectRadio" v-model:value="formParam.isParent" name="radioGroup">
<a-radio-group :disabled="!formParam.locking" style="min-width:126px;" @change="selectRadio" v-model:value="formParam.isParent" name="radioGroup">
<a-radio :value="1"></a-radio>
<a-radio :value="0"></a-radio>
</a-radio-group>
<a-select v-model:value="formParam.code" :placeholder="!formParam.isParent?'请选择审批层级':'请选择根节点'"
<a-select :disabled="!formParam.locking" v-model:value="formParam.code" :placeholder="!formParam.isParent?'请选择审批层级':'请选择根节点'"
:options="!formParam.isParent?PlaceOfPayList:PlaceOfPayListTwo" allowClear showSearch/>
</div>
</a-form-item>
@@ -350,6 +350,7 @@ export default{
code: null,
isContains: '0',
affiliationOrgList: [],
locking: 1,
},
})
const PlaceOfPayList = ref([
@@ -399,7 +400,7 @@ export default{
title: '培训发生组织名称 ',
dataIndex: 'affiliationName',
key: 'affiliationName',
ellipsis: true, align: "center",
ellipsis: true, align: "left",
width: '200px',
},
{
@@ -429,7 +430,7 @@ export default{
title: '是否为根节点名称',
dataIndex: 'parentName',
key: 'parentName',
align: "center",
align: "left",
width: '200px',
customRender: ({text,record})=>{
return (
@@ -442,7 +443,7 @@ export default{
dataIndex: 'leaderName',
key: 'leaderName',
ellipsis: true,
align: "center",
align: "left",
width: '200px',
},
@@ -759,6 +760,7 @@ const getTableDate = (obj) => {
code: null,
isContains: '0',
affiliationOrgList: [],
locking: 1,
}
}
async function validateField(name) {