diff --git a/frontend/src/components/DomainSelect.vue b/frontend/src/components/DomainSelect.vue
index ecddd74..c6fa61c 100644
--- a/frontend/src/components/DomainSelect.vue
+++ b/frontend/src/components/DomainSelect.vue
@@ -11,7 +11,10 @@ export default {
name: 'DomainSelect',
props: {
name: String,
- type: String
+ type: String,
+ filterInitRowsFunc: {
+ type: Function,
+ },
},
setup() {
const columns = [
@@ -26,6 +29,9 @@ export default {
api.get(`api/domains`).then(res =>{
res.data.data.forEach((item) =>
{
+ if (props.filterInitRowsFunc && !props.filterInitRowsFunc(item)) {
+ return;
+ }
rows.push({id:item.id,tenantid:item.tenantid,name:item.name,url:item.url,kintoneuser:item.kintoneuser});
}
)
diff --git a/frontend/src/pages/UserDomain.vue b/frontend/src/pages/UserDomain.vue
index adc0ab7..faaefdb 100644
--- a/frontend/src/pages/UserDomain.vue
+++ b/frontend/src/pages/UserDomain.vue
@@ -14,14 +14,14 @@
-
+
@@ -74,7 +74,7 @@
-
+
@@ -131,6 +131,7 @@ import UserList from 'components/UserList.vue';
const authStore = useAuthStore();
const pagination = ref({ sortBy: 'id', rowsPerPage: 0 });
const rows = ref([] as any[]);
+const rowIds = new Set();
const loading = ref(true);
const columns = [
@@ -152,19 +153,19 @@ let editId = ref(0);
const showAddDomainDg = ref(false);
const addDomainRef = ref();
+const filterInitRows = (row: {id: string}) => {
+ return !rowIds.has(row.id);
+}
+
const clickAddDomain = () => {
editId.value = 0;
showAddDomainDg.value = true;
};
const addUserDomainFinished = (val: string) => {
- if (val == 'OK') {
- let dodmainids = [];
- let domains = JSON.parse(JSON.stringify(addDomainRef.value.selected));
- for (var key in domains) {
- dodmainids.push(domains[key].id);
- }
- api.post(`api/domain/${useOtherUser.value ? otherUserId.value : authStore.userId}`, dodmainids)
+ const selected = addDomainRef.value.selected;
+ if (val == 'OK' && selected.length > 0) {
+ api.post(`api/domain/${useOtherUser.value ? otherUserId.value : authStore.userId}?domainid=${selected[0].id}`)
.then(() => { getDomain(useOtherUser.value ? otherUserId.value : undefined); });
}
};
@@ -221,11 +222,13 @@ const switchUserFinished = async (val: string) => {
const getDomain = async (userId? : string) => {
loading.value = true;
+ rowIds.clear();
const resp = await api.get(`api/activedomain${useOtherUser.value ? `?userId=${otherUserId.value}` : ''}`);
activeDomainId.value = resp?.data?.data?.id;
const domainResult = userId ? await api.get(`api/domain?userId=${userId}`) : await api.get(`api/domain`);
const domains = domainResult.data as any[];
rows.value = domains.map((item) => {
+ rowIds.add(item.id);
return { id: item.id, name: item.name, url: item.url, kintoneuser: item.kintoneuser, kintonepwd: item.kintonepwd }
});
loading.value = false;