入库 附件

dev
lion 8 months ago
parent 152ef5ca04
commit cf3d3b981d

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

@ -83,8 +83,8 @@
:label="item.name"
:value="item.id"
>
<div style="display: flex; justify-content: space-between;">
<span style="color: #999; font-size: 12px;">{{ item.name }}</span>
<div style="display: flex; justify-content: space-between;padding: 0 10px;">
<span style="color: #999; font-size: 12px;">{{item.type_detail.name}} | {{ item.name }}</span>
<span style="color: #999; font-size: 12px;">{{ item.is_arrange?'需排课':'无需排课' }}</span>
</div>
</el-option>
@ -268,6 +268,18 @@
</div>
</div>
</template>
<template v-slot:color>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red; font-weight: bold; padding-right: 4px"
></span
>主题颜色
</div>
<div class="xy-table-item-content">
<el-color-picker v-model="form.color"></el-color-picker>
</div>
</div>
</template>
<template v-slot:content v-if="form.type === 3">
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
@ -372,6 +384,7 @@ export default {
start_time: "",
end_time: "",
address:'',
color:'',
content: "",
},
rules: {
@ -495,6 +508,7 @@ export default {
: "";
this.form.date = item.start_date;
this.form.url = item.url;
this.form.color = item.type_detail.color?item.type_detail.color:''
}
});
}
@ -601,6 +615,7 @@ export default {
start_time: "",
end_time: "",
address:'',
color:'',
content: "",
};
this.$refs["dialog"].reset();

@ -31,7 +31,7 @@
<div
v-for="event in getContinuousEvents()"
:key="`continuous-${event.id}-${event.segStartISO}`"
:class="['continuous-event', `event-type-${event.type || 'default'}`]"
:class="['continuous-event', getContinuousEventClass(event)]"
:style="getContinuousEventStyle(event)"
:title="getEventTooltip(event, new Date(event.segStartISO))"
@click.stop="openCreateModal('editor', event.id)"
@ -80,6 +80,7 @@ import addCalendar from './components/addCalendar.vue'
},
created() {
this.getList()
this.generateDynamicStyles()
},
methods: {
async getList() {
@ -87,6 +88,8 @@ import addCalendar from './components/addCalendar.vue'
month: this.selectMonth
})
this.list = res
//
this.generateDynamicStyles()
},
openCreateModal(type, id) {
if (type === 'editor') {
@ -130,33 +133,43 @@ import addCalendar from './components/addCalendar.vue'
const startDate = new Date(event.start_time)
const currentDate = new Date(date)
//
let baseClass = ''
// end_time
if (!event.end_time) {
return `single-day event-type-${event.type || 'default'}`
}
const endDate = new Date(event.end_time)
//
const isMultiDay = startDate.getDate() !== endDate.getDate() ||
startDate.getMonth() !== endDate.getMonth() ||
startDate.getFullYear() !== endDate.getFullYear()
if (!isMultiDay) {
return `single-day event-type-${event.type || 'default'}`
baseClass = 'single-day'
} else {
const endDate = new Date(event.end_time)
//
const isMultiDay = startDate.getDate() !== endDate.getDate() ||
startDate.getMonth() !== endDate.getMonth() ||
startDate.getFullYear() !== endDate.getFullYear()
if (!isMultiDay) {
baseClass = 'single-day'
} else {
//
const eventStartDate = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate())
const eventEndDate = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate())
const currentDateOnly = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate())
if (currentDateOnly.getTime() === eventStartDate.getTime()) {
baseClass = 'multi-day-start'
} else if (currentDateOnly.getTime() === eventEndDate.getTime()) {
baseClass = 'multi-day-end'
} else {
baseClass = 'multi-day-middle'
}
}
}
//
const eventStartDate = new Date(startDate.getFullYear(), startDate.getMonth(), startDate.getDate())
const eventEndDate = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate())
const currentDateOnly = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate())
if (currentDateOnly.getTime() === eventStartDate.getTime()) {
return `multi-day-start event-type-${event.type || 'default'}`
} else if (currentDateOnly.getTime() === eventEndDate.getTime()) {
return `multi-day-end event-type-${event.type || 'default'}`
// color使type
if (event.color) {
return `${baseClass} event-color-${event.color.replace('#', '')}`
} else {
return `multi-day-middle event-type-${event.type || 'default'}`
return `${baseClass} event-type-${event.type || 'default'}`
}
},
getEventTooltip(event, date) {
@ -311,6 +324,14 @@ import addCalendar from './components/addCalendar.vue'
return continuousEvents
},
getContinuousEventClass(event) {
const baseClass = 'continuous-event'
if (event.color) {
return `${baseClass} event-color-${event.color.replace('#', '')}`
} else {
return `${baseClass} event-type-${event.type || 'default'}`
}
},
getContinuousEventStyle(event) {
const FIRST_DOW = 1
const currentMonth = this.calendarDate.getMonth()
@ -515,6 +536,53 @@ import addCalendar from './components/addCalendar.vue'
if (className === 3) return '自定义事件'
if (className === 4) return '资讯'
return ''
},
//
generateDynamicStyles() {
//
const existingStyle = document.getElementById('dynamic-calendar-styles')
if (existingStyle) {
existingStyle.remove()
}
//
const style = document.createElement('style')
style.id = 'dynamic-calendar-styles'
// CSS
let cssRules = ''
//
this.list.forEach(event => {
if (event.color) {
const colorClass = event.color.replace('#', '')
cssRules += `
.admin-calendar .event-item.event-color-${colorClass},
.admin-calendar .continuous-event.event-color-${colorClass} {
background: ${event.color} !important;
}
.admin-calendar .event-item.event-color-${colorClass}:hover,
.admin-calendar .continuous-event.event-color-${colorClass}:hover {
background: ${this.adjustBrightness(event.color, -20)} !important;
}
`
}
})
style.textContent = cssRules
document.head.appendChild(style)
},
//
adjustBrightness(hex, percent) {
const num = parseInt(hex.replace('#', ''), 16)
const amt = Math.round(2.55 * percent)
const R = (num >> 16) + amt
const G = (num >> 8 & 0x00FF) + amt
const B = (num & 0x0000FF) + amt
return '#' + (0x1000000 + (R < 255 ? R < 1 ? 0 : R : 255) * 0x10000 +
(G < 255 ? G < 1 ? 0 : G : 255) * 0x100 +
(B < 255 ? B < 1 ? 0 : B : 255)).toString(16).slice(1)
}
},
filters: {
@ -688,6 +756,16 @@ import addCalendar from './components/addCalendar.vue'
background: #409EFF; /* 默认 - 蓝色 */
}
/* 动态颜色支持 - 根据color字段设置背景色 */
.event-item[class*="event-color-"] {
/* 默认样式,会被具体的颜色类覆盖 */
}
/* 连续事件的动态颜色支持 */
.continuous-event[class*="event-color-"] {
/* 默认样式,会被具体的颜色类覆盖 */
}
/* 悬停效果 */
.event-item.event-type-1:hover {
background: #5CB85C;

@ -387,11 +387,11 @@
address_detail: '',
longitude: '',
latitude: '',
is_fee: 1,
is_arrange: 1,
show_txl: 1,
show_mobile: 0,
auto_schoolmate: 0,
is_fee: '',
is_arrange: '',
show_txl: '',
show_mobile: '',
auto_schoolmate: '',
qun_image_id: '',
image_id: '',
publicize_ids: [],
@ -408,6 +408,26 @@
required: true,
message: '请选择课程体系'
}],
is_fee: [{
required: true,
message: '请选择是否收费'
}],
is_arrange: [{
required: true,
message: '请选择是否排课'
}],
show_txl: [{
required: true,
message: '请选择是否显示通讯录'
}],
show_mobile: [{
required: true,
message: '请选择是否显示手机号'
}],
auto_schoolmate: [{
required: true,
message: '请选择是否自动成为校友'
}],
sign_start_date: [{
required: true,
message: '请选择报名开始日期'
@ -493,6 +513,36 @@
},
changeType(e) {
if (e) {
// IDcourseTypesList
const selectedCourseType = this.courseTypesList.find(item => item.id === e);
if (selectedCourseType) {
//
this.form.is_fee = selectedCourseType.is_fee;
this.form.is_arrange = selectedCourseType.is_arrange;
this.form.show_txl = selectedCourseType.show_txl;
this.form.show_mobile = selectedCourseType.show_mobile;
this.form.auto_schoolmate = selectedCourseType.auto_schoolmate;
console.log('课程体系选择变更,自动填充字段:', {
is_fee: this.form.is_fee,
is_arrange: this.form.is_arrange,
show_txl: this.form.show_txl,
show_mobile: this.form.show_mobile,
auto_schoolmate: this.form.auto_schoolmate
});
}
} else {
//
this.form.is_fee = '';
this.form.is_arrange = '';
this.form.show_txl = '';
this.form.show_mobile = '';
this.form.auto_schoolmate = '';
}
//
// if (e == 1) {
// this.form.is_arrange = 1
// this.form.is_fee = 1
@ -776,13 +826,13 @@
address_detail: '',
longitude: '',
latitude: '',
is_arrange: 1,
is_fee: 1,
show_txl: 1,
show_mobile: 1,
auto_schoolmate: 0,
is_arrange: '',
is_fee: '',
show_txl: '',
show_mobile: '',
auto_schoolmate: '',
qun_image_id: '',
image_id: '',
image_id: '',
publicize_ids: [],
content: '',
url_title:''

@ -12,6 +12,7 @@
</div>
</div>
</template>
<template v-slot:status>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
@ -24,20 +25,20 @@
</el-select>
</div>
</div>
</template>
<template v-slot:is_chart>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red;font-weight: bold;padding-right: 4px;"></span>是否统计
</div>
<div class="xy-table-item-content">
<el-select v-model="form.is_chart" placeholder="请选择是否统计" style="width: 100%;">
<el-option v-for="item in [{id:0,value:'否'},{id:1,value:'是'}]" :key="item.id" :label="item.value" :value="item.id">
</el-option>
</el-select>
</div>
</div>
</template>
</template>
<template v-slot:is_chart>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red;font-weight: bold;padding-right: 4px;"></span>是否统计
</div>
<div class="xy-table-item-content">
<el-select v-model="form.is_chart" placeholder="请选择是否统计" style="width: 100%;">
<el-option v-for="item in [{id:0,value:'否'},{id:1,value:'是'}]" :key="item.id" :label="item.value" :value="item.id">
</el-option>
</el-select>
</div>
</div>
</template>
<template v-slot:wait_tip>
@ -50,45 +51,122 @@
</div>
</div>
</template>
<template v-slot:pass_tip>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red;font-weight: bold;padding-right: 4px;"></span>通过提示
</div>
<div class="xy-table-item-content">
<el-input style="width: 100%;" v-model="form.pass_tip" placeholder="请输入通过提示" clearable></el-input>
</div>
</div>
</template>
<template v-slot:fault_tip>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red;font-weight: bold;padding-right: 4px;"></span>不通过提示
</div>
<div class="xy-table-item-content">
<el-input style="width: 100%;" v-model="form.fault_tip" placeholder="请输入不通过提示" clearable></el-input>
</div>
</div>
</template>
<template v-slot:back_tip>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red;font-weight: bold;padding-right: 4px;"></span>备选提示
</div>
<div class="xy-table-item-content">
<el-input style="width: 100%;" v-model="form.back_tip" placeholder="请输入备选提示" clearable></el-input>
</div>
</div>
</template>
<template v-slot:year_total>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red;font-weight: bold;padding-right: 4px;"></span>年预约次数
</div>
<div class="xy-table-item-content">
<el-input style="width: 100%;" v-model="form.year_total" placeholder="请输入年预约次数" clearable></el-input>
</div>
</div>
<template v-slot:pass_tip>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red;font-weight: bold;padding-right: 4px;"></span>通过提示
</div>
<div class="xy-table-item-content">
<el-input style="width: 100%;" v-model="form.pass_tip" placeholder="请输入通过提示" clearable></el-input>
</div>
</div>
</template>
<template v-slot:fault_tip>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red;font-weight: bold;padding-right: 4px;"></span>不通过提示
</div>
<div class="xy-table-item-content">
<el-input style="width: 100%;" v-model="form.fault_tip" placeholder="请输入不通过提示" clearable></el-input>
</div>
</div>
</template>
<template v-slot:back_tip>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red;font-weight: bold;padding-right: 4px;"></span>备选提示
</div>
<div class="xy-table-item-content">
<el-input style="width: 100%;" v-model="form.back_tip" placeholder="请输入备选提示" clearable></el-input>
</div>
</div>
</template>
<template v-slot:year_total>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red;font-weight: bold;padding-right: 4px;"></span>年预约次数
</div>
<div class="xy-table-item-content">
<el-input style="width: 100%;" v-model="form.year_total" placeholder="请输入年预约次数" clearable></el-input>
</div>
</div>
</template>
<template v-slot:color>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red; font-weight: bold; padding-right: 4px"
></span
>主题颜色
</div>
<div class="xy-table-item-content">
<el-color-picker v-model="form.color"></el-color-picker>
</div>
</div>
</template>
<template v-slot:is_fee>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red;font-weight: bold;padding-right: 4px;"></span>课程类型
</div>
<div class="xy-table-item-content">
<el-radio-group style="width:100%" v-model="form.is_fee">
<el-radio :label="1">付费</el-radio>
<el-radio :label="0">公益</el-radio>
</el-radio-group>
</div>
</div>
</template>
<template v-slot:is_arrange>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red;font-weight: bold;padding-right: 4px;"></span>是否排课
</div>
<div class="xy-table-item-content">
<el-radio-group style="width:100%" v-model="form.is_arrange">
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</div>
</div>
</template>
<template v-slot:show_txl>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red;font-weight: bold;padding-right: 4px;"></span>是否显示通讯录
</div>
<div class="xy-table-item-content">
<el-radio-group style="width:100%" v-model="form.show_txl">
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</div>
</div>
</template>
<template v-slot:show_mobile>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red;font-weight: bold;padding-right: 4px;"></span>是否显示联系方式
</div>
<div class="xy-table-item-content">
<el-radio-group style="width:100%" v-model="form.show_mobile">
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</div>
</div>
</template>
<template v-slot:auto_schoolmate>
<div class="xy-table-item">
<div class="xy-table-item-label" style="font-weight: bold">
<span style="color: red;font-weight: bold;padding-right: 4px;"></span>已审核学员是否自动进入校友库
</div>
<div class="xy-table-item-content">
<el-radio-group style="width:100%" v-model="form.auto_schoolmate">
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</div>
</div>
</template>
@ -112,14 +190,21 @@
type: 'add',
id: '',
form: {
name:'',
status:1,
is_chart:0,
wait_tip:"",
pass_tip:"",
fault_tip:'',
back_tip:"",
year_total:""
name:'',
status:1,
is_chart:0,
wait_tip:"",
pass_tip:"",
fault_tip:'',
back_tip:"",
year_total:"",
color:'',
is_fee:'',
is_arrange:'',
show_txl:'',
show_mobile:'',
auto_schoolmate:'',
},
rules: {
name: [{
@ -134,8 +219,8 @@
submit() {
if (this.id) {
this.form.id = this.id
}else{
this.form.id = ''
}else{
this.form.id = ''
}
save({
@ -144,7 +229,7 @@
this.$message({
type: 'success',
message: '保存课程类型成功'
})
})
this.isShow = false
this.$emit('refresh')
// this.active = 1
@ -156,9 +241,13 @@
id: this.id
}).then(res => {
this.form = this.base.deepCopy(res)
this.form.status = res.status?res.status:0
this.form.is_chart = res.is_chart?res.is_chart:0
this.form.status = res.status?res.status:0
this.form.is_chart = res.is_chart?res.is_chart:0
this.form.is_fee = res.is_fee?res.is_fee:(res.is_fee==0?0:'')
this.form.is_arrange = res.is_arrange?res.is_arrange:(res.is_arrange==0?0:'')
this.form.show_txl = res.show_txl?res.show_txl:(res.show_txl==0?0:'')
this.form.show_mobile = res.show_mobile?res.show_mobile:(res.show_mobile==0?0:'')
this.form.auto_schoolmate = res.auto_schoolmate?res.auto_schoolmate:(res.auto_schoolmate==0?0:'')
})
},
@ -166,22 +255,29 @@
},
watch: {
isShow(newVal) {
if (newVal) {
if (newVal) {
console.log("form",this.form)
if (this.type === 'editor') {
this.getDetail()
}
} else {
this.id = ''
this.form = {
name:'',
status:1,
is_chart:0,
wait_tip:"",
pass_tip:"",
fault_tip:'',
back_tip:"",
year_total:""
this.id = ''
this.form = {
name:'',
status:1,
is_chart:0,
wait_tip:"",
pass_tip:"",
fault_tip:'',
back_tip:"",
year_total:"",
color:'',
is_fee:'',
is_arrange:'',
show_txl:'',
show_mobile:'',
auto_schoolmate:'',
},
this.$refs['dialog'].reset()
}
@ -193,4 +289,4 @@
<style scoped lang="scss">
</style>
</style>

@ -84,22 +84,7 @@
<div class="right-section">
<!-- 企业数据卡片 -->
<div class="enterprise-cards">
<div class="enterprise-card warehouse-table">
<!-- 四个角的三角形 -->
<div class="corner top-left"></div>
<div class="corner top-right"></div>
<div class="corner bottom-left"></div>
<div class="corner bottom-right"></div>
<div class="card-content-wrapper">
<div class="card-icon-3d">
<img src="../../assets/jsc/icon4.png" alt="">
</div>
<div class="card-info">
<div class="card-number">{{company_market}}</div>
<div class="card-desc">校友上市企业总市值</div>
</div>
</div>
</div>
<!-- 第一行开课场次和开课天数 -->
<div class="enterprise-card warehouse-table">
<!-- 四个角的三角形 -->
<div class="corner top-left"></div>
@ -108,11 +93,11 @@
<div class="corner bottom-right"></div>
<div class="card-content-wrapper">
<div class="card-icon-3d">
<img src="../../assets/jsc/icon5.png" alt="">
<img src="../../assets/jsc/icon7.png" alt="">
</div>
<div class="card-info">
<div class="card-number">{{company_fund}}</div>
<div class="card-desc">校友企业总融资额</div>
<div class="card-desc">开课场次</div>
<div class="card-number">{{course_total}}</div>
</div>
</div>
</div>
@ -124,11 +109,47 @@
<div class="corner bottom-right"></div>
<div class="card-content-wrapper">
<div class="card-icon-3d">
<img src="../../assets/jsc/icon6.png" alt="">
<img src="../../assets/jsc/icon8.png" alt="">
</div>
<div class="card-info">
<div class="card-number">{{valuation}}</div>
<div class="card-desc">校友投资企业总估值</div>
<div class="card-desc">开课天数</div>
<div class="card-number">{{course_day_total}}</div>
</div>
</div>
</div>
<!-- 第二行当年开课场次和当年开课天数 -->
<div class="enterprise-card warehouse-table">
<!-- 四个角的三角形 -->
<div class="corner top-left"></div>
<div class="corner top-right"></div>
<div class="corner bottom-left"></div>
<div class="corner bottom-right"></div>
<div class="card-content-wrapper">
<div class="card-icon-3d">
<img src="../../assets/jsc/icon7.png" alt="">
</div>
<div class="card-info">
<div class="card-desc">{{currentYear}}</div>
<div class="card-desc">开课场次</div>
<div class="card-number">{{course_year_total}}</div>
</div>
</div>
</div>
<div class="enterprise-card warehouse-table">
<!-- 四个角的三角形 -->
<div class="corner top-left"></div>
<div class="corner top-right"></div>
<div class="corner bottom-left"></div>
<div class="corner bottom-right"></div>
<div class="card-content-wrapper">
<div class="card-icon-3d">
<img src="../../assets/jsc/icon8.png" alt="">
</div>
<div class="card-info">
<div class="card-desc">{{currentYear}}</div>
<div class="card-desc">开课天数</div>
<div class="card-number">{{course_year_day_total}}</div>
</div>
</div>
</div>
@ -152,10 +173,13 @@
</div>
<div class="item-right">
<div class="bar-container">
<div class="bar" :style="{
width: (item.value / fieldData[0].value * 100) + '%',
background: `linear-gradient(90deg, ${item.color}40, ${item.color})`
}"></div>
<div
class="bar"
:style="{
width: (item.value / fieldData[0].value * 100) + '%',
background: `linear-gradient(90deg, ${item.color}40, ${item.color})`
}"
></div>
</div>
<span class="item-value">{{ item.value }}</span>
</div>
@ -190,6 +214,13 @@
company_market:0,
company_fund:0,
valuation:0,
//
course_total: 0,
course_day_total: 0,
course_year_total: 0,
course_year_day_total: 0,
//
currentYear: new Date().getFullYear(),
//
fieldData: []
}
@ -216,6 +247,8 @@
//
async getHomeChart() {
const res = await home()
console.log('API返回数据:', res) //
//
this.schoolmate_total = res.schoolmate.schoolmate_total
this.schoolmate_year = res.schoolmate.schoolmate_year
@ -249,6 +282,13 @@
this.company_market = res.company.company_market
this.company_fund = res.company.company_fund
this.valuation = res.company.valuation
// - res.company
this.course_total = res.company.course_total || 0
this.course_day_total = res.company.course_day_total || 0
this.course_year_total = res.company.course_total_year || 0
this.course_year_day_total = res.company.course_day_total_year || 0
//
res.industryTotal.sort((a, b) => b.total - a.total).map((item,index)=>{
this.fieldData.push({
@ -872,46 +912,45 @@
.enterprise-cards {
flex: 0 0 35%;
display: flex;
flex-direction: row;
gap: 1.5vw;
align-items: center;
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 1fr 1fr;
gap: 2vh 2vw;
align-items: stretch;
justify-content: center;
// padding: 2vh 1.5vw;
// background: linear-gradient(135deg, rgba(59, 130, 246, 0.2) 0%, rgba(99, 102, 241, 0.1) 100%);
// border: 1px solid rgba(59, 130, 246, 0.3);
// border-radius: 8px;
// backdrop-filter: blur(10px);
height: 100%;
min-height: 220px;
}
.enterprise-card {
flex: 1;
.enterprise-cards .enterprise-card {
background: transparent;
border: none;
border-radius: 0;
padding: 2vh 0.5vw;
padding: 2vh 1.5vw;
display: flex;
flex-direction: column;
flex-direction: row;
align-items: center;
justify-content: center;
text-align: center;
height: 100%;
min-height: 150px;
min-height: 90px;
width: 100%;
position: relative;
}
.enterprise-card .card-content-wrapper {
display: flex;
flex-direction: column;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 1vw;
width: 100%;
height: 100%;
}
.card-icon-3d {
width: 3vw;
height: 3vw;
min-width: 40px;
min-height: 40px;
margin-bottom: 1.5vh;
width: 60px;
height: 40px;
border-radius: 4px;
position: relative;
display: flex;
@ -946,6 +985,10 @@
flex-direction: column;
align-items: center;
text-align: center;
flex-grow: 1;
justify-content: center;
min-width: 0;
flex: 1;
}
.card-number {
@ -963,6 +1006,8 @@
font-size: 0.9vw;
min-font-size: 11px;
line-height: 1.3;
white-space: nowrap;
margin-bottom: 0.5vh;
}
.field-chart-container {

Loading…
Cancel
Save