perf: ticket list

This commit is contained in:
feng 2022-11-16 17:19:08 +08:00
parent 47006a2a88
commit c16ff3e894
6 changed files with 25 additions and 13 deletions

View File

@ -69,9 +69,12 @@ export default {
}
},
{
prop: 'type_display',
prop: 'type',
label: this.$t('tickets.type'),
width: '160px'
width: '160px',
formatter: row => {
return row.type.label
}
},
{
prop: 'status',
@ -80,7 +83,7 @@ export default {
width: '90px',
sortable: 'custom',
formatter: row => {
if (row.status === 'open') {
if (row.status.value === 'open') {
return <el-tag type='primary' size='mini'> {this.$t('tickets.OpenStatus')}</el-tag>
} else {
return <el-tag type='danger' size='mini'> {this.$t('tickets.CloseStatus')}</el-tag>
@ -102,7 +105,7 @@ export default {
{this.$t('tickets.Pending')}
</el-tag>
}
switch (row.state) {
switch (row.state.value) {
case 'approved':
return <el-tag type='primary' size='mini'>
{this.$t('tickets.Approved')}

View File

@ -19,7 +19,7 @@ export default {
},
data() {
return {
statusMap: this.object.status === 'open' ? STATUS_MAP['pending'] : STATUS_MAP[this.object.state],
statusMap: this.object.status.value === 'open' ? STATUS_MAP['pending'] : STATUS_MAP[this.object.state.value],
imageUrl: require('@/assets/img/admin.png'),
form: {
comments: ''

View File

@ -19,7 +19,7 @@ export default {
},
data() {
return {
statusMap: this.object.status === 'open' ? STATUS_MAP['pending'] : STATUS_MAP[this.object.state],
statusMap: this.object.status.value === 'open' ? STATUS_MAP['pending'] : STATUS_MAP[this.object.state.value],
imageUrl: require('@/assets/img/admin.png'),
form: {
comments: ''

View File

@ -19,7 +19,7 @@ export default {
},
data() {
return {
statusMap: this.object.status === 'open' ? STATUS_MAP['pending'] : STATUS_MAP[this.object.state],
statusMap: this.object.status.value === 'open' ? STATUS_MAP['pending'] : STATUS_MAP[this.object.state.value],
imageUrl: require('@/assets/img/admin.png'),
form: {
comments: ''

View File

@ -20,7 +20,7 @@
<Select2 v-model="requestForm.assets" v-bind="assetSelect2" style="width: 50% !important" />
</el-form-item>
<el-form-item :label="$tc('tickets.SystemUser')" :rules="isRequired">
<Select2 v-model="requestForm.accounts" style="width: 50% !important" />
<AccountFormatter v-model="requestForm.accounts" style="width: 50% !important" />
</el-form-item>
<el-form-item :label="$tc('common.DateStart')" required>
<el-date-picker
@ -34,7 +34,15 @@
type="datetime"
/>
</el-form-item>
<el-form-item :label="$tc('assets.Action')" required />
<el-form-item :label="$tc('assets.Action')" required>
<el-tree
v-model="requestForm.actions"
:props="props"
:load="loadNode"
show-checkbox
@check-change="handleCheckChange"
/>
</el-form-item>
</el-form>
</template>
</IBox>
@ -46,12 +54,13 @@ import { formatTime, getDateTimeStamp } from '@/utils/index'
import { toSafeLocalDateStr } from '@/utils/common'
import { STATUS_MAP } from '../../const'
import GenericTicketDetail from '@/views/tickets/components/GenericTicketDetail'
import AccountFormatter from '@/views/perms/AssetPermission/components/AccountFormatter'
import Select2 from '@/components/FormFields/Select2'
import IBox from '@/components/IBox'
export default {
name: '',
components: { GenericTicketDetail, IBox, Select2 },
components: { GenericTicketDetail, IBox, Select2, AccountFormatter },
props: {
object: {
type: Object,
@ -60,7 +69,7 @@ export default {
},
data() {
return {
statusMap: this.object.status === 'open' ? STATUS_MAP['pending'] : STATUS_MAP[this.object.state],
statusMap: this.object.status.value === 'open' ? STATUS_MAP['pending'] : STATUS_MAP[this.object.state.value],
requestForm: {
nodes: this.object.apply_nodes,
assets: this.object.apply_assets,

View File

@ -20,7 +20,7 @@ export default {
},
data() {
return {
statusMap: this.object.status === 'open' ? STATUS_MAP['notified'] : STATUS_MAP[this.object.state],
statusMap: this.object.status.value === 'open' ? STATUS_MAP['notified'] : STATUS_MAP[this.object.state.value],
imageUrl: require('@/assets/img/admin.png'),
form: {
comments: ''
@ -38,7 +38,7 @@ export default {
},
{
key: this.$t('tickets.type'),
value: object.type_display
value: object.type.lable
},
{
key: this.$t('tickets.status'),