fix create ab in my peer

This commit is contained in:
lejianwen
2024-12-06 10:59:55 +08:00
parent 529e67095a
commit c571aaa3ab
3 changed files with 38 additions and 53 deletions
+19
View File
@@ -195,6 +195,23 @@ export function useRepositories (is_my = 0) {
getTagList() getTagList()
} }
const fromPeer = (peer) => {
formData.id = peer.id
formData.username = peer.username
formData.hostname = peer.hostname
//匹配os
if (peer.os.indexOf('windows') !== -1) {
formData.platform = platformList.find(item => item.label === 'Windows').value
} else if (peer.os.indexOf('linux') !== -1) {
formData.platform = platformList.find(item => item.label === 'Linux').value
} else if (peer.os.indexOf('android') !== -1) {
formData.platform = platformList.find(item => item.label === 'Android').value
} else if (peer.os.indexOf('mac') !== -1) {
formData.platform = platformList.find(item => item.label === 'Mac OS').value
}
formData.uuid = peer.uuid
}
return { return {
listRes, listRes,
listQuery, listQuery,
@@ -225,5 +242,7 @@ export function useRepositories (is_my = 0) {
changeQueryUser, changeQueryUser,
changeUser, changeUser,
changeCollection, changeCollection,
fromPeer,
} }
} }
+17 -39
View File
@@ -19,7 +19,7 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item > <el-form-item>
<el-button type="primary" @click="handlerQuery">{{ T('Filter') }}</el-button> <el-button type="primary" @click="handlerQuery">{{ T('Filter') }}</el-button>
<el-button type="success" @click="toExport">{{ T('Export') }}</el-button> <el-button type="success" @click="toExport">{{ T('Export') }}</el-button>
<el-button type="danger" @click="toBatchDelete">{{ T('BatchDelete') }}</el-button> <el-button type="danger" @click="toBatchDelete">{{ T('BatchDelete') }}</el-button>
@@ -71,9 +71,9 @@
:total="listRes.total"> :total="listRes.total">
</el-pagination> </el-pagination>
</el-card> </el-card>
<el-dialog v-model="formVisible" :title="T('Information')" width="800" :style="{ textAlign: 'center' }" > <el-dialog v-model="formVisible" :title="T('Information')" width="800" :style="{ textAlign: 'center' }">
<el-form class="dialog-form" ref="form" :model="formData" label-width="120px"> <el-form class="dialog-form" ref="form" :model="formData" label-width="120px">
<el-form-item label="ID" prop="id" > <el-form-item label="ID" prop="id">
<el-input v-model="formData.id" disabled></el-input> <el-input v-model="formData.id" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="T('Username')" prop="username"> <el-form-item :label="T('Username')" prop="username">
@@ -102,14 +102,10 @@
<el-dialog v-model="ABFormVisible" width="800" :title="T('Create')"> <el-dialog v-model="ABFormVisible" width="800" :title="T('Create')">
<el-form class="dialog-form" ref="form" :model="ABFormData" label-width="120px"> <el-form class="dialog-form" ref="form" :model="ABFormData" label-width="120px">
<el-form-item :label="T('Owner')" prop="user_ids" required> <el-form-item :label="T('AddressBookName')" required prop="collection_id">
<el-select v-model="ABFormData.user_ids" multiple> <el-select v-model="ABFormData.collection_id" clearable @change="changeCollection">
<el-option <el-option :value="0" :label="T('MyAddressBook')"></el-option>
v-for="item in allUsers" <el-option v-for="c in collectionListRes.list" :key="c.id" :label="c.name" :value="c.id"></el-option>
:key="item.id"
:label="item.username"
:value="item.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="ID" prop="id" required> <el-form-item label="ID" prop="id" required>
@@ -138,7 +134,7 @@
<el-form-item :label="T('Tags')" prop="tags"> <el-form-item :label="T('Tags')" prop="tags">
<el-select v-model="ABFormData.tags" multiple> <el-select v-model="ABFormData.tags" multiple>
<el-option <el-option
v-for="item in tagList" v-for="item in tagListRes.list"
:key="item.name" :key="item.name"
:label="item.name" :label="item.name"
:value="item.name" :value="item.name"
@@ -164,9 +160,6 @@
import { timeAgo } from '@/utils/time' import { timeAgo } from '@/utils/time'
import { jsonToCsv, downBlob } from '@/utils/file' import { jsonToCsv, downBlob } from '@/utils/file'
import { useRepositories as useABRepositories } from '@/views/address_book/index' import { useRepositories as useABRepositories } from '@/views/address_book/index'
import { loadAllUsers } from '@/global'
import { list as fetchTagList } from '@/api/tag'
import { batchCreate } from '@/api/address_book'
import { useAppStore } from '@/store/app' import { useAppStore } from '@/store/app'
import { connectByClient } from '@/utils/peer' import { connectByClient } from '@/utils/peer'
import { CopyDocument } from '@element-plus/icons' import { CopyDocument } from '@element-plus/icons'
@@ -244,7 +237,7 @@
formData[key] = row[key] formData[key] = row[key]
}) })
} }
const timeDis = (time) => { const timeDis = (time) => {
let now = new Date().getTime() let now = new Date().getTime()
let after = new Date(time * 1000).getTime() let after = new Date(time * 1000).getTime()
@@ -284,33 +277,18 @@
platformList: ABPlatformList, platformList: ABPlatformList,
formVisible: ABFormVisible, formVisible: ABFormVisible,
formData: ABFormData, formData: ABFormData,
collectionListRes,
getCollectionList,
tagListRes,
changeCollection,
submit: ABSubmit,
fromPeer
} = useABRepositories() } = useABRepositories()
onMounted(getCollectionList)
const toAddressBook = (peer) => { const toAddressBook = (peer) => {
ABFormData.id = peer.id fromPeer(peer)
ABFormData.username = peer.username
ABFormData.hostname = peer.hostname
//匹配os
if (peer.os.indexOf('windows') !== -1) {
ABFormData.platform = ABPlatformList.find(item => item.label === 'Windows').value
} else if (peer.os.indexOf('linux') !== -1) {
ABFormData.platform = ABPlatformList.find(item => item.label === 'Linux').value
} else if (peer.os.indexOf('android') !== -1) {
ABFormData.platform = ABPlatformList.find(item => item.label === 'Android').value
} else if (peer.os.indexOf('mac') !== -1) {
ABFormData.platform = ABPlatformList.find(item => item.label === 'Mac OS').value
}
ABFormData.uuid = peer.uuid
ABFormVisible.value = true ABFormVisible.value = true
} }
const ABSubmit = async () => {
const res = await batchCreate(ABFormData).catch(_ => false)
if (res) {
ElMessage.success(T('OperationSuccess'))
ABFormVisible.value = false
}
}
const multipleSelection = ref([]) const multipleSelection = ref([])
const handleSelectionChange = (val) => { const handleSelectionChange = (val) => {
+2 -14
View File
@@ -311,22 +311,10 @@
platformList: ABPlatformList, platformList: ABPlatformList,
formVisible: ABFormVisible, formVisible: ABFormVisible,
formData: ABFormData, formData: ABFormData,
fromPeer,
} = useABRepositories() } = useABRepositories()
const toAddressBook = (peer) => { const toAddressBook = (peer) => {
ABFormData.id = peer.id fromPeer(peer)
ABFormData.username = peer.username
ABFormData.hostname = peer.hostname
//匹配os
if (peer.os.indexOf('windows') !== -1) {
ABFormData.platform = ABPlatformList.find(item => item.label === 'Windows').value
} else if (peer.os.indexOf('linux') !== -1) {
ABFormData.platform = ABPlatformList.find(item => item.label === 'Linux').value
} else if (peer.os.indexOf('android') !== -1) {
ABFormData.platform = ABPlatformList.find(item => item.label === 'Android').value
} else if (peer.os.indexOf('mac') !== -1) {
ABFormData.platform = ABPlatformList.find(item => item.label === 'Mac OS').value
}
ABFormData.uuid = peer.uuid
ABFormVisible.value = true ABFormVisible.value = true
} }