@@ -408,6 +408,7 @@ export default {
|
||||
searchOrder: 2,
|
||||
searchPlaceholder: '请选择是否平台公司',
|
||||
formatter: row => (Number(row.isPlatformCompany) === 1 ? '是' : '否'),
|
||||
change: ({ value }) => this.handlePlatformCompanyChange(value),
|
||||
rules: [
|
||||
{
|
||||
validator: (rule, value, callback) => {
|
||||
@@ -421,6 +422,37 @@ export default {
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '金蝶公司代码',
|
||||
prop: 'kingdeeDeptCode',
|
||||
minWidth: 140,
|
||||
order: 35,
|
||||
maxlength: 64,
|
||||
showWordLimit: true,
|
||||
// 仅平台公司维护/展示金蝶公司代码;非平台公司列表留空
|
||||
addDisplay: false,
|
||||
editDisplay: false,
|
||||
viewDisplay: false,
|
||||
formatter: row =>
|
||||
Number(row.isPlatformCompany) === 1 ? String(row.kingdeeDeptCode || '').trim() : '',
|
||||
rules: [
|
||||
{
|
||||
validator: (rule, value, callback) => {
|
||||
const code = String(value || '').trim();
|
||||
if (!code) {
|
||||
callback();
|
||||
return;
|
||||
}
|
||||
if (code.length > 64) {
|
||||
callback(new Error('金蝶公司代码不能超过64个字符'));
|
||||
return;
|
||||
}
|
||||
callback();
|
||||
},
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '是否业务部门',
|
||||
prop: 'isBusinessDept',
|
||||
@@ -961,6 +993,21 @@ export default {
|
||||
normalizeYesNoFlag(value) {
|
||||
return Number(value) === 1 ? 1 : 0;
|
||||
},
|
||||
handlePlatformCompanyChange(value) {
|
||||
const isPlatform = Number(value) === 1;
|
||||
this.syncKingdeeCompanyCodeDisplay(isPlatform);
|
||||
if (!isPlatform && this.form) {
|
||||
this.form.kingdeeDeptCode = '';
|
||||
}
|
||||
},
|
||||
syncKingdeeCompanyCodeDisplay(isPlatformCompany) {
|
||||
const column = this.findColumn(this.option.column, 'kingdeeDeptCode');
|
||||
if (!column) return;
|
||||
const visible = Number(isPlatformCompany) === 1;
|
||||
column.addDisplay = visible;
|
||||
column.editDisplay = visible;
|
||||
column.viewDisplay = visible;
|
||||
},
|
||||
resolveDeptCategoryValue(value) {
|
||||
if (value === null || value === undefined || value === '') {
|
||||
this.$message.warning('请选择组织类型');
|
||||
@@ -1261,6 +1308,9 @@ export default {
|
||||
rowSave(row, done, loading) {
|
||||
row.tenantId = row.tenantId || this.userInfo.tenantId || website.tenantId;
|
||||
row.deptCode = String(row.deptCode || '').trim();
|
||||
// 金蝶公司代码仅平台公司维护
|
||||
row.kingdeeDeptCode =
|
||||
Number(row.isPlatformCompany) === 1 ? String(row.kingdeeDeptCode || '').trim() : '';
|
||||
row.leaderId = func.join(row.leaderId);
|
||||
this.normalizeTopParent(row);
|
||||
if (!this.prepareDeptSubmitRow(row)) {
|
||||
@@ -1306,6 +1356,9 @@ export default {
|
||||
rowUpdate(row, index, done, loading) {
|
||||
row.tenantId = row.tenantId || this.userInfo.tenantId || website.tenantId;
|
||||
row.deptCode = String(row.deptCode || '').trim();
|
||||
// 金蝶公司代码仅平台公司维护
|
||||
row.kingdeeDeptCode =
|
||||
Number(row.isPlatformCompany) === 1 ? String(row.kingdeeDeptCode || '').trim() : '';
|
||||
row.leaderId = func.join(row.leaderId);
|
||||
this.normalizeTopParent(row);
|
||||
if (!this.prepareDeptSubmitRow(row)) {
|
||||
@@ -1414,6 +1467,7 @@ export default {
|
||||
this.form.tenantId = this.form.tenantId || this.userInfo.tenantId || website.tenantId;
|
||||
this.form.isPlatformCompany = this.normalizeYesNoFlag(this.form.isPlatformCompany);
|
||||
this.form.isBusinessDept = this.normalizeYesNoFlag(this.form.isBusinessDept);
|
||||
this.syncKingdeeCompanyCodeDisplay(this.form.isPlatformCompany);
|
||||
this.initData(this.form.tenantId);
|
||||
this.loadParentDeptCode(this.form.parentId);
|
||||
done();
|
||||
@@ -1435,6 +1489,7 @@ export default {
|
||||
if (this.form.parentId === '0') {
|
||||
this.form.parentId = '';
|
||||
}
|
||||
this.syncKingdeeCompanyCodeDisplay(this.form.isPlatformCompany);
|
||||
this.loadParentDeptCode(this.form.parentId);
|
||||
if (Object.prototype.hasOwnProperty.call(this.form, 'leaderId')) {
|
||||
const splitResult = func.split(this.form.leaderId);
|
||||
|
||||
Reference in New Issue
Block a user