This commit is contained in:
@jyuhsin
2025-11-27 09:47:19 +08:00
parent b23c4bdae1
commit a9053864bb
62 changed files with 654 additions and 7236 deletions
@@ -43,6 +43,15 @@ layout("/layouts/platform.html"){
:rules="{ required: true, message: '请输入类型名称', trigger: 'blur' }">
<el-input v-model="formData.name" placeholder="请输入类型名称"></el-input>
</el-form-item>
<el-form-item prop="picIcon" label="图片图标">
<file-upload
:value.sync="formData.picIcon"
:upload_number="1"
upload_mode="image"
upload_result_category="interval"
upload_result_type="url"
></file-upload>
</el-form-item>
<el-form-item label="图标" prop="icon">
<el-input v-model="formData.icon" placeholder="请输入图标"></el-input>
</el-form-item>
@@ -101,6 +101,15 @@ layout("/layouts/platform.html"){
<el-form-item label="手机端查看地址" prop="h5InstanceViewUrl">
<el-input v-model="formData.h5InstanceViewUrl" placeholder="请输入手机端发起地址"></el-input>
</el-form-item>
<el-form-item prop="picIcon" label="图片图标">
<file-upload
:value.sync="formData.picIcon"
:upload_number="1"
upload_mode="image"
upload_result_category="interval"
upload_result_type="url"
></file-upload>
</el-form-item>
<el-form-item label="图标" prop="icon">
<el-input v-model="formData.icon" placeholder="请输入图标"></el-input>
</el-form-item>
@@ -23,8 +23,10 @@ const apps = {
@click="onClickNav(index)"
>
<div class="nav-icon">
<i v-if="category.icon" :class="category.icon"></i>
<i v-else class="fa fa-book"></i>
<!--<i v-if="category.icon" :class="category.icon"></i>
<i v-else class="fa fa-book"></i>-->
<img v-if="category.picIcon" :src="category.picIcon" :alt="category.name || ''" style="width: 18px"/>
<i v-else :class="category.icon || 'fa fa-th-large'"></i>
</div>
<div class="nav-text">{{ category.name }}</div>
<div class="nav-indicator" v-if="activeTab === index"></div>
@@ -46,7 +48,7 @@ const apps = {
@touchmove="onTouchMove">
<!-- 图标 -->
<div class="app-grid-icon">
<van-icon v-if="app.picIcon" :name="app.picIcon" size="64" style="border-radius: 12px; width: 64px; height: 64px;"></van-icon>
<van-icon v-if="app.picIcon" :name="app.picIcon" size="45"></van-icon>
<van-icon v-else-if="app.icon" :name="app.icon" size="28"></van-icon>
<van-icon v-else name="apps-o" size="28"></van-icon>
</div>
@@ -57,7 +59,7 @@ const apps = {
</div>
<!-- 空状态 -->
<van-empty v-else description="暂无应用"></van-empty>
</div>
</div>
@@ -75,7 +77,8 @@ const apps = {
class="grid-item"
@click="navigateToMenu(menu)"
>
<div class="grid-icon">
<img v-if="menu.picIcon" :src="menu.picIcon" :alt="menu.name || ''" style="width: 48px" class="grid-img"/>
<div v-else class="grid-icon">
<van-icon :name="menu.icon || 'apps-o'" size="24"></van-icon>
</div>
<div class="grid-name">{{ menu.name }}</div>
@@ -407,11 +410,11 @@ const apps = {
.app-grid {
display: grid;
/* 改为自适应列数:每格最小 80px,自动换行 */
grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
grid-template-columns: repeat(auto-fit, minmax(60px, 1fr));
justify-items: center; /* 子项内容居中(图标和文字) */
justify-content: start; /* 整体网格靠左对齐,避免居中 */
gap: 12px;
padding: 12px;
background: #fff;
@@ -442,25 +445,25 @@ const apps = {
}
.app-grid-icon {
width: 64px;
height: 64px;
max-width: 64px;
max-height: 64px;
border-radius: 12px;
background: #f2f3f5;
width: 45px;
height: 45px;
max-width: 45px;
max-height: 45px;
/*border-radius: 12px;
background: #f2f3f5;*/
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 6px;
overflow: hidden;
border: 2px solid transparent;
/*border: 2px solid transparent;*/
transition: all 0.2s ease;
}
.app-grid-name {
width: 100%;
font-size: 12px;
font-size: 14px;
color: #323233;
text-align: center;
overflow: hidden;
@@ -540,6 +543,17 @@ const apps = {
color: #fff;
}
/deep/ .grid-img {
width: 48px;
height: 48px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 12px;
color: #fff;
}
/deep/ .grid-name {
font-size: 14px;
font-weight: 500;
@@ -576,6 +590,6 @@ const apps = {
font-size: 16px;
color: #c8c9cc;
}
`
}