idea配置eslint和prettier

This commit is contained in:
WindowBird 2025-11-26 16:52:52 +08:00
parent bcdfbb26f9
commit 7d91985bb2
4 changed files with 46 additions and 20 deletions

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="EslintConfiguration">
<option name="fix-on-save" value="true" />
</component>
</project>

7
.idea/prettier.xml Normal file
View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="PrettierConfiguration">
<option name="myConfigurationMode" value="AUTOMATIC" />
<option name="myRunOnSave" value="true" />
</component>
</project>

View File

@ -3,45 +3,45 @@
<view class="workbench-card">
<view class="header">
<text class="title">工作台</text>
<!-- <view class="search-box" @click="goToSearch">-->
<!-- <text class="search-icon">🔍</text>-->
<!-- <text class="placeholder">搜索</text>-->
<!-- </view>-->
<!-- <view class="search-box" @click="goToSearch">-->
<!-- <text class="search-icon">🔍</text>-->
<!-- <text class="placeholder">搜索</text>-->
<!-- </view>-->
</view>
<view class="grid">
<view
class="grid-item"
v-for="item in items"
:key="item.key"
@click="handleClick(item)"
v-permission="item.permission"
v-for="item in items"
:key="item.key"
v-permission="item.permission"
class="grid-item"
@click="handleClick(item)"
>
<view class="icon-wrapper">
<image class="icon-image" :src="item.icon" mode="aspectFit" />
<view class="icon-wrapper">
<image :src="item.icon" class="icon-image" mode="aspectFit"/>
</view>
<text class="item-text">{{ item.text }}</text>
</view>
</view>
</view>
</scroll-view>
<!-- 悬浮球 - 添加任务 -->
<FabPlus @click="goToAddTask" />
<FabPlus @click="goToAddTask"/>
</template>
<script setup>
import { ref } from 'vue';
import {ref} from 'vue';
import FabPlus from '@/components/FabPlus.vue';
const items = ref([
{ key: 'verify', text: '审批管理', icon: '/static/workbench/verify.png', permission: ['bst:verify:list'] },
{key: 'verify', text: '审批管理', icon: '/static/workbench/verify.png', permission: ['bst:verify:list']},
// { key: 'customer', text: '', icon: '/static/workbench/customer.png' },
{ key: 'project', text: '项目管理', icon: '/static/workbench/project.png' },
{ key: 'task', text: '任务管理', icon: '/static/workbench/task.png' },
{key: 'project', text: '项目管理', icon: '/static/workbench/project.png'},
{key: 'task', text: '任务管理', icon: '/static/workbench/task.png'},
// { key: 'schedule', text: '', icon: '/static/workbench/schedule.png' },
// { key: 'contact', text: '', icon: '/static/workbench/contact.png' },
{ key: 'notice', text: '公告管理', icon: '/static/workbench/notice.png' },
{key: 'notice', text: '公告管理', icon: '/static/workbench/notice.png'},
// { key: 'wechat', text: '', icon: '/static/workbench/wechat.png' }
]);
@ -64,7 +64,7 @@ const handleClick = (item) => {
return;
}
if (item.key === 'customer') {
uni.switchTab({ url: '/pages/index/index' });
uni.switchTab({url: '/pages/index/index'});
return;
}
if (item.key === 'project') {
@ -82,7 +82,7 @@ const handleClick = (item) => {
//
uni.showToast({ title: '开发中', icon: 'none' });
uni.showToast({title: '开发中', icon: 'none'});
};
//
@ -129,9 +129,11 @@ const goToAddTask = () => {
background: #f5f6f7;
border-radius: 16px;
}
.search-icon {
font-size: 14px;
}
.placeholder {
font-size: 12px;
color: #aaa;
@ -161,6 +163,7 @@ const goToAddTask = () => {
//justify-content: center;
//overflow: hidden;
}
.icon-image {
width: 100%;
height: 100%;

View File

@ -13,6 +13,16 @@ const normalizePermissionList = (permissions) => {
.split(',')
.map((perm) => perm.trim())
.filter(Boolean)
}
return []
}