关注人功能,专项时间功能
This commit is contained in:
@@ -195,6 +195,7 @@ import { ElMessage } from 'element-plus';
|
||||
import { generateFakeId } from '@/utils/node';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import { TABLE_NAME } from '@/utils/enum/tableName';
|
||||
import { disposeTaskMembers } from '@/utils/task';
|
||||
|
||||
const { t } = useI18n();
|
||||
const loadcaseTableRef = ref();
|
||||
@@ -328,8 +329,10 @@ const editRowFun = (row: any) => {
|
||||
modalDetail.value = {
|
||||
...row,
|
||||
planTime: [row.beginTime, row.endTime],
|
||||
eMemberListArr: row.eMemberList,
|
||||
pMemberListArr: row.pMemberList,
|
||||
...disposeTaskMembers('setListToArr', row),
|
||||
// eMemberListArr: row.eMemberList,
|
||||
// pMemberListArr: row.pMemberList,
|
||||
// payAttentionMemberListArr: row.payAttentionMemberList,
|
||||
};
|
||||
modalVisible.value = true;
|
||||
};
|
||||
@@ -357,7 +360,7 @@ const onNodeDetailConfirmFun = (formData: any) => {
|
||||
const { visibleData } = getVxeRef()?.getTableData();
|
||||
const checkRowData = getVxeRef()?.getCheckboxRecords(true);
|
||||
if (operationType.value === 'add') {
|
||||
const addRow = {
|
||||
let addRow = {
|
||||
parentId: checkRowData[0]?.fakeId,
|
||||
fakeId: generateFakeId(),
|
||||
discipline: checkRowData[0]?.discipline,
|
||||
@@ -371,8 +374,10 @@ const onNodeDetailConfirmFun = (formData: any) => {
|
||||
if (addRow.nodeType === NODE_TYPE.TASK) {
|
||||
addRow.exeStatus = TASK_PROCESS_STATUS.NO_STARTED;
|
||||
addRow.achieveStatus = TASK_CALCULATE_STATUS.NO_CALCULATE;
|
||||
addRow.eMemberList = addRow.eMemberListArr;
|
||||
addRow.pMemberList = addRow.pMemberListArr;
|
||||
// addRow.eMemberList = addRow.eMemberListArr;
|
||||
// addRow.pMemberList = addRow.pMemberListArr;
|
||||
// addRow.payAttentionMemberList = addRow.payAttentionMemberListArr;
|
||||
addRow = { ...addRow, ...disposeTaskMembers('setArrToList', addRow) };
|
||||
}
|
||||
// 给新增节点赋值tagKeyMapList
|
||||
// const tagKeyList = disposeTagKey(addRow, checkRowData[0]?.tagKeyList || [], tagKeyMapList.value);
|
||||
@@ -421,8 +426,10 @@ const onNodeDetailConfirmFun = (formData: any) => {
|
||||
const row = visibleData.find((item: any) => item.fakeId === formData.fakeId);
|
||||
const rowInfo = {
|
||||
...formData,
|
||||
eMemberList: formData.eMemberListArr,
|
||||
pMemberList: formData.pMemberListArr,
|
||||
// eMemberList: formData.eMemberListArr,
|
||||
// pMemberList: formData.pMemberListArr,
|
||||
// payAttentionMemberList: formData.payAttentionMemberListArr,
|
||||
...disposeTaskMembers('setArrToList', formData),
|
||||
beginTime: formData.planTime ? formData.planTime[0] : '',
|
||||
endTime: formData.planTime ? formData.planTime[1] : '',
|
||||
};
|
||||
|
||||
@@ -55,7 +55,7 @@ import { ref, computed, nextTick, watch, onMounted } from 'vue';
|
||||
import Dialog from '@/components/common/dialog/index.vue';
|
||||
import TableForm from '@/components/common/table/tableForm.vue';
|
||||
import { getTagKeyMap, NODE_TYPE } from '@/utils/enum/node';
|
||||
import { getMemberListIds } from '@/utils/task';
|
||||
import { disposeTaskMembers } from '@/utils/task';
|
||||
import { disposeTagKey } from '@/views/task/projectDetail/components/project';
|
||||
import { isCategoryType, isCategoryNodeType, validateCategoryLevel } from '@/utils/node';
|
||||
import flowTemplateSelect from './flowTemplateSelect.vue';
|
||||
@@ -154,11 +154,18 @@ const onFormChangeFun = (data: any) => {
|
||||
formData.value.nodeCode = null;
|
||||
formData.value.englishName = null;
|
||||
}
|
||||
if (data.key === 'eMemberList') {
|
||||
formData.value.eMemberListArr = data.val;
|
||||
}
|
||||
if (data.key === 'pMemberList') {
|
||||
formData.value.pMemberListArr = data.val;
|
||||
// if (data.key === 'eMemberList') {
|
||||
// formData.value.eMemberListArr = data.val;
|
||||
// }
|
||||
// if (data.key === 'pMemberList') {
|
||||
// formData.value.pMemberListArr = data.val;
|
||||
// }
|
||||
// if (data.key === 'payAttentionMemberList') {
|
||||
// formData.value.payAttentionMemberListArr = data.val;
|
||||
// }
|
||||
const memberKeys = disposeTaskMembers('tableFormChangeFun', data);
|
||||
for (const key in memberKeys) {
|
||||
formData.value[key] = memberKeys[key];
|
||||
}
|
||||
};
|
||||
const onCancelFun = () => {
|
||||
@@ -183,14 +190,19 @@ const onConfirmFun = async () => {
|
||||
submitData.beginTime = submitData.planTime[0];
|
||||
submitData.endTime = submitData.planTime[1];
|
||||
}
|
||||
submitData.pMemberIds = '';
|
||||
if (submitData.pMemberList?.length > 0) {
|
||||
submitData.pMemberIds = submitData.pMemberList;
|
||||
}
|
||||
submitData.eMemberIds = '';
|
||||
if (submitData.eMemberList?.length > 0) {
|
||||
submitData.eMemberIds = submitData.eMemberList;
|
||||
}
|
||||
// submitData.pMemberIds = '';
|
||||
// if (submitData.pMemberList?.length > 0) {
|
||||
// submitData.pMemberIds = submitData.pMemberList;
|
||||
// }
|
||||
// submitData.eMemberIds = '';
|
||||
// if (submitData.eMemberList?.length > 0) {
|
||||
// submitData.eMemberIds = submitData.eMemberList;
|
||||
// }
|
||||
// submitData.payAttentionMemberIds = '';
|
||||
// if (submitData.payAttentionMemberList?.length > 0) {
|
||||
// submitData.payAttentionMemberIds = submitData.payAttentionMemberList;
|
||||
// }
|
||||
disposeTaskMembers('setListToIdsNoTranslate', submitData);
|
||||
emits('confirm', submitData);
|
||||
}
|
||||
};
|
||||
@@ -247,8 +259,10 @@ const prepareFromProps = () => {
|
||||
formData.value = detail
|
||||
? {
|
||||
...detail,
|
||||
eMemberList: getMemberListIds(detail.eMemberList),
|
||||
pMemberList: getMemberListIds(detail.pMemberList),
|
||||
...disposeTaskMembers('getIds', detail),
|
||||
// eMemberList: getMemberListIds(detail.eMemberList),
|
||||
// pMemberList: getMemberListIds(detail.pMemberList),
|
||||
// payAttentionMemberList: getMemberListIds(detail.payAttentionMemberList),
|
||||
}
|
||||
: {};
|
||||
}
|
||||
|
||||
@@ -153,6 +153,30 @@
|
||||
v-model="row.eMemberIds"
|
||||
></userSelect>
|
||||
</template>
|
||||
<!-- EP关注人 -->
|
||||
<template #payAttentionMemberIds="{ row, icon }">
|
||||
<TreeEditItem
|
||||
v-if="[NODE_TYPE.TASK].includes(row.nodeType)"
|
||||
:data="row.payAttentionMemberList"
|
||||
:editMode="editMode"
|
||||
:icon="icon"
|
||||
hideTitle
|
||||
:title="row.hoverTitle"
|
||||
>
|
||||
<span :title="row.hoverTitle">
|
||||
{{ disposeMemberList(row['payAttentionMemberList'], 'payAttentionMemberList') }}
|
||||
</span>
|
||||
</TreeEditItem>
|
||||
</template>
|
||||
<template #payAttentionMemberIds-edit="{ row }">
|
||||
<userSelect
|
||||
@change="
|
||||
(data) => changeUserFun(row, data, 'payAttentionMemberList', 'payAttentionMemberList')
|
||||
"
|
||||
:multiple="true"
|
||||
v-model="row.payAttentionMemberList"
|
||||
></userSelect>
|
||||
</template>
|
||||
<!-- 计划开始时间 -->
|
||||
<template #beginTime="{ row, icon }">
|
||||
<TreeEditItem
|
||||
@@ -200,6 +224,27 @@
|
||||
{{ row.commitmentDeadline }}
|
||||
</span>
|
||||
</template>
|
||||
<!-- LYRIC EP 清单下发时间 -->
|
||||
<template #listReleaseTime="{ row }">
|
||||
<span v-if="row.nodeType === NODE_TYPE.TASK && row.listReleaseTime">
|
||||
<el-icon><Calendar /></el-icon>
|
||||
{{ row.listReleaseTime }}
|
||||
</span>
|
||||
</template>
|
||||
<!-- LYRIC EP 工位升级时间 -->
|
||||
<template #stationUpgradeTime="{ row }">
|
||||
<span v-if="row.nodeType === NODE_TYPE.TASK && row.stationUpgradeTime">
|
||||
<el-icon><Calendar /></el-icon>
|
||||
{{ row.stationUpgradeTime }}
|
||||
</span>
|
||||
</template>
|
||||
<!-- LYRIC EP 结构细化完成时间结构细化完成时间 -->
|
||||
<template #structureRefinementCompletionTime="{ row }">
|
||||
<span v-if="row.nodeType === NODE_TYPE.TASK && row.structureRefinementCompletionTime">
|
||||
<el-icon><Calendar /></el-icon>
|
||||
{{ row.structureRefinementCompletionTime }}
|
||||
</span>
|
||||
</template>
|
||||
<!-- 达标方式 -->
|
||||
<template #method="{ row, icon }">
|
||||
<TreeEditItem
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
import { ref, onMounted, watch, nextTick } from 'vue';
|
||||
import TableForm from '@/components/common/table/tableForm.vue';
|
||||
import { getTagKeyMap, NODE_TYPE } from '@/utils/enum/node';
|
||||
import { getMemberListIds } from '@/utils/task';
|
||||
import { disposeTaskMembers, getMemberListIds } from '@/utils/task';
|
||||
import flowTemplateSelect from '@/components/common/treeCaseTable/flowTemplateSelect.vue';
|
||||
import knowledgeSelect from '@/components/common/treeCaseTable/knowledgeSelect.vue';
|
||||
import { disposeTagKey } from '@/views/task/projectDetail/components/project';
|
||||
@@ -118,15 +118,19 @@ const getFormData = async () => {
|
||||
formData.beginTime = formData.planTime[0];
|
||||
formData.endTime = formData.planTime[1];
|
||||
}
|
||||
formData.pMemberIds = '';
|
||||
if (formData.pMemberList?.length > 0) {
|
||||
formData.pMemberIds = formData.pMemberList;
|
||||
}
|
||||
formData.eMemberIds = '';
|
||||
if (formData.eMemberList?.length > 0) {
|
||||
formData.eMemberIds = formData.eMemberList;
|
||||
}
|
||||
|
||||
// formData.pMemberIds = '';
|
||||
// if (formData.pMemberList?.length > 0) {
|
||||
// formData.pMemberIds = formData.pMemberList;
|
||||
// }
|
||||
// formData.eMemberIds = '';
|
||||
// if (formData.eMemberList?.length > 0) {
|
||||
// formData.eMemberIds = formData.eMemberList;
|
||||
// }
|
||||
// formData.payAttentionMemberIds = '';
|
||||
// if (formData.payAttentionMemberList?.length > 0) {
|
||||
// formData.payAttentionMemberIds = formData.payAttentionMemberList;
|
||||
// }
|
||||
disposeTaskMembers('setListToIdsNoTranslate', formData);
|
||||
return formData;
|
||||
} else {
|
||||
return null;
|
||||
|
||||
@@ -20,6 +20,11 @@ export enum TENANT_ENUM {
|
||||
*/
|
||||
export const CURRENT_TENANT = env.VITE_API_TENANT_NAME || TENANT_ENUM.BASE;
|
||||
|
||||
/**
|
||||
* 当前租户是否有这个配置
|
||||
* @param tenants
|
||||
* @returns
|
||||
*/
|
||||
export const enableConfigByTenant = (tenants: string[]) => {
|
||||
return tenants.includes(CURRENT_TENANT);
|
||||
};
|
||||
|
||||
@@ -7,7 +7,7 @@ import {
|
||||
poolNodeExtraPropPickMap,
|
||||
} from '@/utils/enum/node';
|
||||
import type { TreeNode } from '@/utils/enum/node';
|
||||
import { getMemberListIds } from './task';
|
||||
import { disposeTaskMembers } from './task';
|
||||
import { CommonStore } from '@/stores/common';
|
||||
|
||||
const commonStore = CommonStore();
|
||||
@@ -231,14 +231,19 @@ export const transformTreeToPoolNodes = (tree: TreeNode[]) => {
|
||||
export const translateLoadcaseTree = (list: any[]) => {
|
||||
const arr = list.map((item) => {
|
||||
item.fakeId = item.uuid;
|
||||
item.pMemberIds = '';
|
||||
if (item.pMemberList?.length > 0) {
|
||||
item.pMemberIds = getMemberListIds(item.pMemberList);
|
||||
}
|
||||
item.eMemberIds = '';
|
||||
if (item.eMemberList?.length > 0) {
|
||||
item.eMemberIds = getMemberListIds(item.eMemberList);
|
||||
}
|
||||
// item.pMemberIds = '';
|
||||
// if (item.pMemberList?.length > 0) {
|
||||
// item.pMemberIds = getMemberListIds(item.pMemberList);
|
||||
// }
|
||||
// item.eMemberIds = '';
|
||||
// if (item.eMemberList?.length > 0) {
|
||||
// item.eMemberIds = getMemberListIds(item.eMemberList);
|
||||
// }
|
||||
// item.payAttentionMemberIds = '';
|
||||
// if (item.payAttentionMemberList?.length > 0) {
|
||||
// item.payAttentionMemberIds = getMemberListIds(item.payAttentionMemberList);
|
||||
// }
|
||||
disposeTaskMembers('setListToIds', item);
|
||||
if (Array.isArray(item.children)) {
|
||||
item.children = translateLoadcaseTree(item.children);
|
||||
}
|
||||
|
||||
@@ -72,3 +72,86 @@ export const getTaskAchieveStyleClass = (status: number) => {
|
||||
return 'dot dot-no-calculate';
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 专门处理任务的人员,防止后续任务再加人
|
||||
* @param disposeKey
|
||||
* @param row
|
||||
* @returns
|
||||
*/
|
||||
export const disposeTaskMembers = (disposeKey: string, row: any) => {
|
||||
if (disposeKey === 'tableFormChangeFun') {
|
||||
const obj: any = {};
|
||||
if (row.key === 'eMemberIds' || row.key === 'eMemberList') {
|
||||
obj.eMemberListArr = row.val;
|
||||
}
|
||||
if (row.key === 'pMemberIds' || row.key === 'pMemberList') {
|
||||
obj.pMemberListArr = row.val;
|
||||
}
|
||||
if (row.key === 'payAttentionMemberIds' || row.key === 'payAttentionMemberList') {
|
||||
obj.payAttentionMemberListArr = row.val;
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
if (disposeKey === 'getListAndIds') {
|
||||
return {
|
||||
pMemberList: row.pMemberListArr,
|
||||
pMemberIds: getMemberListIds(row.pMemberListArr),
|
||||
eMemberList: row.eMemberListArr,
|
||||
eMemberIds: getMemberListIds(row.eMemberListArr),
|
||||
// EP的关注人
|
||||
payAttentionMemberList: row.payAttentionMemberListArr,
|
||||
// EP的关注人
|
||||
payAttentionMemberIds: getMemberListIds(row.payAttentionMemberListArr),
|
||||
};
|
||||
}
|
||||
if (disposeKey === 'getIds') {
|
||||
return {
|
||||
eMemberList: getMemberListIds(row.eMemberList),
|
||||
pMemberList: getMemberListIds(row.pMemberList),
|
||||
payAttentionMemberList: getMemberListIds(row.payAttentionMemberList),
|
||||
};
|
||||
}
|
||||
if (disposeKey === 'setListToArr') {
|
||||
return {
|
||||
eMemberListArr: row.eMemberList,
|
||||
pMemberListArr: row.pMemberList,
|
||||
payAttentionMemberListArr: row.payAttentionMemberList,
|
||||
};
|
||||
}
|
||||
if (disposeKey === 'setArrToList') {
|
||||
return {
|
||||
eMemberList: row.eMemberListArr,
|
||||
pMemberList: row.pMemberListArr,
|
||||
payAttentionMemberList: row.payAttentionMemberListArr,
|
||||
};
|
||||
}
|
||||
if (disposeKey === 'setListToIds') {
|
||||
row.pMemberIds = '';
|
||||
if (row.pMemberList?.length > 0) {
|
||||
row.pMemberIds = getMemberListIds(row.pMemberList);
|
||||
}
|
||||
row.eMemberIds = '';
|
||||
if (row.eMemberList?.length > 0) {
|
||||
row.eMemberIds = getMemberListIds(row.eMemberList);
|
||||
}
|
||||
row.payAttentionMemberIds = '';
|
||||
if (row.payAttentionMemberList?.length > 0) {
|
||||
row.payAttentionMemberIds = getMemberListIds(row.payAttentionMemberList);
|
||||
}
|
||||
}
|
||||
if (disposeKey === 'setListToIdsNoTranslate') {
|
||||
row.pMemberIds = '';
|
||||
if (row.pMemberList?.length > 0) {
|
||||
row.pMemberIds = row.pMemberList;
|
||||
}
|
||||
row.eMemberIds = '';
|
||||
if (row.eMemberList?.length > 0) {
|
||||
row.eMemberIds = row.eMemberList;
|
||||
}
|
||||
row.payAttentionMemberIds = '';
|
||||
if (row.payAttentionMemberList?.length > 0) {
|
||||
row.payAttentionMemberIds = row.payAttentionMemberList;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -296,12 +296,12 @@ import { NODE_TYPE, getTagKeyMap, tagSortList } from '@/utils/enum/node';
|
||||
import nodeLevel2Select from '@/components/project/nodeLevel2Select.vue';
|
||||
import { getTaskTreeFun } from '../../projectDetail/components/projectApi';
|
||||
import { disposeTagKey } from '../../projectDetail/components/project';
|
||||
import { getTagMapList } from '@/utils/task';
|
||||
import { disposeTaskMembers, getTagMapList } from '@/utils/task';
|
||||
import { modifyNodeTaskPerformanceApi } from '@/api/project/node';
|
||||
import { TASK_CALCULATE_STATUS, TASK_PROCESS_STATUS } from '@/utils/enum/task';
|
||||
import dayjs from 'dayjs';
|
||||
import loadCaseTable from '@/components/common/treeCaseTable/loadCaseTable.vue';
|
||||
import { getMemberListIds } from '@/utils/task';
|
||||
// import { getMemberListIds } from '@/utils/task';
|
||||
import { getUserTenantId } from '@/utils/user';
|
||||
import ProjectSelect from '@/components/common/projectSelect/index.vue';
|
||||
import { TABLE_NAME } from '@/utils/enum/tableName';
|
||||
@@ -750,8 +750,10 @@ const addOrEditTaskFun = async () => {
|
||||
// beginTime: item.planTime?.length > 0 ? item.planTime[0] : '',
|
||||
// endTime: item.planTime?.length > 0 ? item.planTime[1] : '',
|
||||
tenantId: getUserTenantId(),
|
||||
eMemberList: getMemberListIds(item.eMemberList),
|
||||
pMemberList: getMemberListIds(item.pMemberList),
|
||||
...disposeTaskMembers('getIds', item),
|
||||
// eMemberList: getMemberListIds(item.eMemberList),
|
||||
// pMemberList: getMemberListIds(item.pMemberList),
|
||||
// payAttentionMemberList: getMemberListIds(item.payAttentionMemberList),
|
||||
analyseSoftware: Array.isArray(item.analyseSoftware)
|
||||
? item.analyseSoftware?.join()
|
||||
: item.analyseSoftware,
|
||||
@@ -764,8 +766,10 @@ const addOrEditTaskFun = async () => {
|
||||
// beginTime: item.planTime?.length > 0 ? item.planTime[0] : '',
|
||||
// endTime: item.planTime?.length > 0 ? item.planTime[1] : '',
|
||||
tenantId: getUserTenantId(),
|
||||
eMemberList: getMemberListIds(item.eMemberList),
|
||||
pMemberList: getMemberListIds(item.pMemberList),
|
||||
...disposeTaskMembers('getIds', item),
|
||||
// eMemberList: getMemberListIds(item.eMemberList),
|
||||
// pMemberList: getMemberListIds(item.pMemberList),
|
||||
// payAttentionMemberList: getMemberListIds(item.payAttentionMemberList),
|
||||
analyseSoftware: Array.isArray(item.analyseSoftware)
|
||||
? item.analyseSoftware?.join()
|
||||
: item.analyseSoftware,
|
||||
@@ -796,7 +800,7 @@ const updateTreeDataApi = async (insertList: any[], deleteList: any[], updateLis
|
||||
return { ...item, children: [] };
|
||||
})
|
||||
);
|
||||
const addList = disposeTreeTagKey(insertList);
|
||||
disposeTreeTagKey(insertList);
|
||||
|
||||
if (insertList.length === 0 && updateList.length === 0 && deleteNodeList.length === 0) {
|
||||
closeFun();
|
||||
@@ -1089,13 +1093,20 @@ const tableFormRef = ref();
|
||||
const batchUpdateTaskConfirmFun = async () => {
|
||||
const updateData = tableFormRef.value.getFormDataFun();
|
||||
const selectTasks = getRightVxeRef().getCheckboxRecords();
|
||||
debugger;
|
||||
for (let index = 0; index < selectTasks.length; index++) {
|
||||
// console.log('getListAndIds', disposeTaskMembers('getListAndIds', updateData));
|
||||
const newObj = {
|
||||
...selectTasks[index],
|
||||
pMemberList: updateData.pMemberListArr,
|
||||
pMemberIds: getMemberListIds(updateData.pMemberListArr),
|
||||
eMemberList: updateData.eMemberListArr,
|
||||
eMemberIds: getMemberListIds(updateData.eMemberListArr),
|
||||
...disposeTaskMembers('getListAndIds', updateData),
|
||||
// pMemberList: updateData.pMemberListArr,
|
||||
// pMemberIds: getMemberListIds(updateData.pMemberListArr),
|
||||
// eMemberList: updateData.eMemberListArr,
|
||||
// eMemberIds: getMemberListIds(updateData.eMemberListArr),
|
||||
// // EP的关注人
|
||||
// payAttentionMemberList: updateData.payAttentionMemberListArr,
|
||||
// // EP的关注人
|
||||
// payAttentionMemberIds: getMemberListIds(updateData.payAttentionMemberListArr),
|
||||
beginTime: updateData.planTime ? updateData.planTime[0] : '',
|
||||
endTime: updateData.planTime ? updateData.planTime[1] : '',
|
||||
};
|
||||
@@ -1109,11 +1120,20 @@ const closeBatchUpdateDialogFun = () => {
|
||||
};
|
||||
|
||||
const tableFormChangeFun = (data: any) => {
|
||||
if (data.key === 'eMemberIds') {
|
||||
data.data.eMemberListArr = data.val;
|
||||
}
|
||||
if (data.key === 'pMemberIds') {
|
||||
data.data.pMemberListArr = data.val;
|
||||
// if (data.key === 'eMemberIds') {
|
||||
// data.data.eMemberListArr = data.val;
|
||||
// }
|
||||
// if (data.key === 'pMemberIds') {
|
||||
// data.data.pMemberListArr = data.val;
|
||||
// }
|
||||
// if (data.key === 'payAttentionMemberIds') {
|
||||
// data.data.payAttentionMemberListArr = data.val;
|
||||
// }
|
||||
// data.data = { ...data.data, ...disposeTaskMembers('tableFormChangeFun', data) };
|
||||
// disposeTaskMembers('tableFormChangeFun', data);
|
||||
const memberKeys = disposeTaskMembers('tableFormChangeFun', data);
|
||||
for (const key in memberKeys) {
|
||||
data.data[key] = memberKeys[key];
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -155,6 +155,9 @@
|
||||
<template #eMemberIds="{ row }">
|
||||
{{ disposeMemberList(row, 'eMemberList') }}
|
||||
</template>
|
||||
<template #payAttentionMemberIds="{ row }">
|
||||
{{ disposeMemberList(row, 'payAttentionMemberList') }}
|
||||
</template>
|
||||
<!-- <template #eMemberIds-edit="{ row }">
|
||||
<userSelect
|
||||
@change="(data) => changeUserFun(row, data, 'eMemberList', 'eMemberIds')"
|
||||
|
||||
Reference in New Issue
Block a user