|
@@ -904,29 +904,37 @@ watch(currentTab, (value: string) => {
|
|
|
}
|
|
|
})
|
|
|
|
|
|
+let customMapData2 = (a: any[]) =>
|
|
|
+ a.map((i: any) => ({
|
|
|
+ ...i,
|
|
|
+ Requester: i.Requester?.id
|
|
|
+ ? {
|
|
|
+ name: i.Requester.name || '',
|
|
|
+ id: i.Requester.id,
|
|
|
+ }
|
|
|
+ : { name: '', id: '' },
|
|
|
+ Sample: i.Sample || false,
|
|
|
+ batchRecord: i.Batch_Record?.id || '',
|
|
|
+ addFlag: false,
|
|
|
+ editFlag: false,
|
|
|
+ deleteFlag: false,
|
|
|
+ }))
|
|
|
+let otherUsersList = ref([] as any[]) // 其他用户的sublist数据, user那个tab只显示当前用户的, 如果用sdk保存, 会变成删除除了当前用户外的其他所有用户数据.
|
|
|
const generateSubList = () => {
|
|
|
// clonedeep 是因为数据里面有 object array, 担心浅复制到表单变量会影响到原始数据
|
|
|
- subList.value = cloneDeep(
|
|
|
- subListBackup
|
|
|
- .filter(
|
|
|
- (i: any) =>
|
|
|
- i.Parent_Id.id === currentRow.value.id &&
|
|
|
- (currentTab.value === 'my_request' ? i.Sales_Person === currentUserName.value : true),
|
|
|
- )
|
|
|
- .map((i: any) => ({
|
|
|
- ...i,
|
|
|
- Requester: i.Requester?.id
|
|
|
- ? {
|
|
|
- name: i.Requester.name || '',
|
|
|
- id: i.Requester.id,
|
|
|
- }
|
|
|
- : { name: '', id: '' },
|
|
|
- Sample: i.Sample || false,
|
|
|
- batchRecord: i.Batch_Record?.id || '',
|
|
|
- addFlag: false,
|
|
|
- editFlag: false,
|
|
|
- deleteFlag: false,
|
|
|
- })),
|
|
|
+ subList.value = customMapData2(
|
|
|
+ cloneDeep(subListBackup).filter(
|
|
|
+ (i: any) =>
|
|
|
+ i.Parent_Id.id === currentRow.value.id &&
|
|
|
+ (currentTab.value === 'my_request' ? i.Sales_Person === currentUserName.value : true),
|
|
|
+ ),
|
|
|
+ )
|
|
|
+ otherUsersList.value = customMapData2(
|
|
|
+ cloneDeep(subListBackup).filter(
|
|
|
+ (i: any) =>
|
|
|
+ i.Parent_Id.id === currentRow.value.id &&
|
|
|
+ (currentTab.value === 'my_request' ? i.Sales_Person !== currentUserName.value : false),
|
|
|
+ ),
|
|
|
)
|
|
|
}
|
|
|
const changeTotal = (row: any) => {
|
|
@@ -1327,6 +1335,10 @@ const commitWithSDK = async () => {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ // 如果当前是my_request tab, 把其他用户的数据也加上, 否则会被crm删除
|
|
|
+ if (currentTab.value === 'my_request' && otherUsersList.value.length) {
|
|
|
+ formData = formData.concat(customMapData(otherUsersList.value))
|
|
|
+ }
|
|
|
let params = {
|
|
|
APIData: {
|
|
|
id: currentRow.value.id,
|