mirror of
https://github.com/jumpserver/lina.git
synced 2026-01-14 11:55:34 +00:00
Compare commits
7 Commits
v4.10.14
...
pr@dev@fea
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
465eb45ff9 | ||
|
|
f258b47ba6 | ||
|
|
0a8ed3c4cc | ||
|
|
1cd1437357 | ||
|
|
ef2c72b80e | ||
|
|
cf3d2fff03 | ||
|
|
3221e44e69 |
@@ -4,15 +4,11 @@
|
|||||||
<div class="panel-title">
|
<div class="panel-title">
|
||||||
<el-avatar :src="imageUrl" shape="square" />
|
<el-avatar :src="imageUrl" shape="square" />
|
||||||
<div class="title-display">
|
<div class="title-display">
|
||||||
<span class="name">{{ object.name }}</span>
|
<p class="name" :title="object.name">{{ object.name }}</p>
|
||||||
<span class="comment">{{ object.provider.label }}</span>
|
<span class="comment">{{ object.provider.label }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div v-if="iActions.length !== 0" class="panel-actions" @click="handleClick($event)">
|
||||||
v-if="iActions.length !== 0"
|
|
||||||
class="panel-actions"
|
|
||||||
@click="handleClick($event)"
|
|
||||||
>
|
|
||||||
<el-dropdown>
|
<el-dropdown>
|
||||||
<el-button size="mini">
|
<el-button size="mini">
|
||||||
<i class="el-icon-more el-icon--right" />
|
<i class="el-icon-more el-icon--right" />
|
||||||
@@ -64,21 +60,19 @@ export default {
|
|||||||
},
|
},
|
||||||
getImage: {
|
getImage: {
|
||||||
type: Function,
|
type: Function,
|
||||||
default: (obj) => ''
|
default: obj => ''
|
||||||
},
|
},
|
||||||
getInfos: {
|
getInfos: {
|
||||||
type: Function,
|
type: Function,
|
||||||
default: (obj) => []
|
default: obj => []
|
||||||
},
|
},
|
||||||
handleUpdate: {
|
handleUpdate: {
|
||||||
type: Function,
|
type: Function,
|
||||||
default: () => {
|
default: () => {}
|
||||||
}
|
|
||||||
},
|
},
|
||||||
onView: {
|
onView: {
|
||||||
type: Function,
|
type: Function,
|
||||||
default: () => {
|
default: () => {}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@@ -152,13 +146,13 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
||||||
div.info-panel {
|
div.info-panel {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
gap: 10px;
|
gap: unset;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
height: initial !important;
|
||||||
|
|
||||||
.panel-header {
|
.panel-header {
|
||||||
padding: 10px 20px;
|
padding: 10px 20px;
|
||||||
@@ -175,12 +169,22 @@ div.info-panel {
|
|||||||
|
|
||||||
.title-display {
|
.title-display {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
flex-basis: 225px;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
text-align: left;
|
justify-content: center;
|
||||||
|
align-items: start;
|
||||||
|
max-width: 225px;
|
||||||
|
min-width: 0;
|
||||||
|
overflow-x: hidden;
|
||||||
|
|
||||||
.name {
|
.name {
|
||||||
font-size: 1.1em;
|
font-size: 1.1em;
|
||||||
color: #555555;
|
color: #555555;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
overflow: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
width: 100%;
|
||||||
|
margin: unset;
|
||||||
}
|
}
|
||||||
|
|
||||||
.comment {
|
.comment {
|
||||||
|
|||||||
@@ -96,7 +96,6 @@ export default {
|
|||||||
{
|
{
|
||||||
title: this.$t('FacialFeatures'),
|
title: this.$t('FacialFeatures'),
|
||||||
has: this.$store.getters.publicSettings.FACE_RECOGNITION_ENABLED &&
|
has: this.$store.getters.publicSettings.FACE_RECOGNITION_ENABLED &&
|
||||||
this.$store.getters.publicSettings.XPACK_LICENSE_EDITION_ULTIMATE &&
|
|
||||||
!store.getters.publicSettings['PRIVACY_MODE'],
|
!store.getters.publicSettings['PRIVACY_MODE'],
|
||||||
attrs: {
|
attrs: {
|
||||||
type: 'primary',
|
type: 'primary',
|
||||||
|
|||||||
@@ -54,7 +54,6 @@ export default {
|
|||||||
'GPT_API_KEY',
|
'GPT_API_KEY',
|
||||||
'GPT_PROXY',
|
'GPT_PROXY',
|
||||||
'GPT_MODEL',
|
'GPT_MODEL',
|
||||||
'IS_CUSTOM_MODEL',
|
|
||||||
'CUSTOM_GPT_MODEL',
|
'CUSTOM_GPT_MODEL',
|
||||||
'CUSTOM_DEEPSEEK_MODEL'
|
'CUSTOM_DEEPSEEK_MODEL'
|
||||||
],
|
],
|
||||||
@@ -121,12 +120,12 @@ export default {
|
|||||||
},
|
},
|
||||||
CUSTOM_GPT_MODEL: {
|
CUSTOM_GPT_MODEL: {
|
||||||
hidden: (formValue) => {
|
hidden: (formValue) => {
|
||||||
return formValue.CHAT_AI_METHOD !== 'api' || formValue.CHAT_AI_TYPE !== 'gpt' || !formValue.IS_CUSTOM_MODEL
|
return formValue.CHAT_AI_METHOD !== 'api' || formValue.CHAT_AI_TYPE !== 'gpt' || formValue.GPT_MODEL !== 'custom'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
CUSTOM_DEEPSEEK_MODEL: {
|
CUSTOM_DEEPSEEK_MODEL: {
|
||||||
hidden: (formValue) => {
|
hidden: (formValue) => {
|
||||||
return formValue.CHAT_AI_METHOD !== 'api' || formValue.CHAT_AI_TYPE !== 'deep-seek' || !formValue.IS_CUSTOM_MODEL
|
return formValue.CHAT_AI_METHOD !== 'api' || formValue.CHAT_AI_TYPE !== 'deep-seek' || formValue.DEEPSEEK_MODEL !== 'custom'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
:create-drawer="createDrawer"
|
:create-drawer="createDrawer"
|
||||||
:detail-drawer="detailDrawer"
|
:detail-drawer="detailDrawer"
|
||||||
:header-actions="iTicketAction"
|
:header-actions="iTicketAction"
|
||||||
|
:quick-filters="quickFilters"
|
||||||
:table-config="ticketTableConfig"
|
:table-config="ticketTableConfig"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
@@ -41,6 +42,72 @@ export default {
|
|||||||
loading: true,
|
loading: true,
|
||||||
getDrawerTitle: () => ' ',
|
getDrawerTitle: () => ' ',
|
||||||
createDrawer: () => import('@/views/tickets/RequestAssetPerm/CreateUpdate'),
|
createDrawer: () => import('@/views/tickets/RequestAssetPerm/CreateUpdate'),
|
||||||
|
quickFilters: [
|
||||||
|
{
|
||||||
|
label: this.$t('Type'),
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
label: this.$t('ApplyAsset'),
|
||||||
|
filter: {
|
||||||
|
type: 'apply_asset'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('LoginConfirm'),
|
||||||
|
filter: {
|
||||||
|
type: 'login_confirm'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('CommandConfirm'),
|
||||||
|
filter: {
|
||||||
|
type: 'command_confirm'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('LoginAssetConfirm'),
|
||||||
|
filter: {
|
||||||
|
type: 'login_asset_confirm'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('Action'),
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
label: this.$t('All'),
|
||||||
|
filter: {
|
||||||
|
state: 'all'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('Open'),
|
||||||
|
filter: {
|
||||||
|
state: 'pending'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('Cancel'),
|
||||||
|
filter: {
|
||||||
|
state: 'closed'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('Approved'),
|
||||||
|
filter: {
|
||||||
|
state: 'approved'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('Rejected'),
|
||||||
|
filter: {
|
||||||
|
state: 'rejected'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
detailDrawer: null,
|
detailDrawer: null,
|
||||||
ticketTableConfig: {
|
ticketTableConfig: {
|
||||||
url: this.url,
|
url: this.url,
|
||||||
@@ -142,7 +209,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
defaultTicketActions: {
|
defaultTicketActions: {
|
||||||
hasExport: false,
|
hasImport: false,
|
||||||
hasMoreActions: false,
|
hasMoreActions: false,
|
||||||
hasLeftActions: true,
|
hasLeftActions: true,
|
||||||
canCreate: this.$hasPerm('tickets.view_ticket'),
|
canCreate: this.$hasPerm('tickets.view_ticket'),
|
||||||
|
|||||||
Reference in New Issue
Block a user