Compare commits

...

7 Commits

Author SHA1 Message Date
Aaron3S
465eb45ff9 feat: update facelive license check 2026-01-14 16:16:20 +08:00
feng
f258b47ba6 perf: Move custom ai model 2026-01-05 16:48:31 +08:00
feng
0a8ed3c4cc perf: Ticket quick filter 2025-12-24 15:51:34 +08:00
zhaojisen
1cd1437357 Fixed: panel title show 2025-12-23 12:14:22 +08:00
zhaojisen
ef2c72b80e perf: optimism panel style 2025-12-23 12:02:45 +08:00
zhaojisen
cf3d2fff03 Fix the problem of overly long names 2025-12-23 11:44:37 +08:00
w940853815
3221e44e69 fix: Ticket remove import and add export support 2025-12-22 15:26:48 +08:00
4 changed files with 89 additions and 20 deletions

View File

@@ -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 {

View File

@@ -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',

View File

@@ -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'
} }
} }
}, },

View File

@@ -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'),