0.5.19 • Published 2 years ago

application-theme v0.5.19

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

轻量级管理系统业务UI组件

一、开发指南

安装

推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用。

npm install -S application-theme

快速上手

引入 Application-theme

完整引入 在 main.js 中写入以下内容:

import Vue from 'vue';
import ApplicationTheme from 'application-theme';
import 'application-theme/theme/index.css';
import App from './App.vue';

Vue.use(ApplicationTheme);

new Vue({
  el: '#app',
  render: h => h(App)
});

使用 Element-UI 版本

element-ui 版本需要安装 V2.15.0 版本以上, 建议安装 V2.15.6 版本

二、业务布局组件结构

— theme                          主题样式定制文件夹
 — components                    单独定制组件
   — 404.vue                     404页面组件
   — BaseSetting.vue             基本设置页面模型
   — Content.vue                 内容盒模型
   — DefaultEmpty.vue            默认表格空状态组件
   — Divider.vue                 表格操作按钮分隔组件
   — FormItem.vue                Model 态框表单结构
   — NoFound.vue                 未找到结果组件
   — Pagination.vue              分页组件
   — Search.vue                  搜索单盒模型组件
   — SearchController.vue        搜索展开控制器组件
   — Selection.vue               多选框表格 alert 组件
   — TableTool.vue               表格操作工具组件
   — ToolTip.vue                 表格内容超出文字提示组件
 — element
   — fonts                       element icon
   — element.scss                全局定制样式
   — index.css                   element 默认定制主题样式
 — index.css                     样式主入口

三、业务布局组件

注意事项

序号注意事项
1所有表单 <el-form> 统一加上 status-icon 属性,校验表单所显示对应状态
2<el-form><el-col> 配合使用务必 组项之间务必使用 <el-form-item> 搭配使用,否则容易产生组项之间存在行高差
3<el-form> 未设置 inline 属性时右外边距为 0。若设置了 inline 属性右边默认 element 右外边距
4<el-pagination> 组件 layout 属性 设置 "total, prev, pager, next" 四个值。page-sizes 属性 统一设置 10,20,30,40

搜索盒模型组件

序号使用说明
1将原 <el-form> 在内的标签 dom 元素包括在 <Search> 组件中
2在原先 <el-form> 子标签中添加 <el-row> 作为唯一子节点
3<el-row> 搭配 <el-col :span="8"> 使用将盒模型以 8 为比例切割,并且将原先 <el-form-item> 在内所有元素包括在 <el-col>
4如果搜索表单选项超过 3 项,需搭配 <SearchController> 搜索展开控制器组件使用。

参考代码

<Search>
	<el-form>
		<el-row>
			<el-col :span="8">
			  <el-form-item label="手机号码:">
				<el-input
				  placeholder="请输入手机号码"
				  v-model="mobile"
				  clearable
				></el-input>
			  </el-form-item>
			</el-col>
			<el-col :span="8">
			  <el-form-item label="手环id:">
				<el-input
				  placeholder="请输入手环id"
				  v-model="braceletId"
				  clearable
				></el-input>
			  </el-form-item>
			</el-col>
			<el-col :span="8">
			  <el-form-item label="设备识别号:">
				<el-input
				  placeholder="请输入设备识别号"
				  v-model="deviceCode"
				  clearable
				></el-input>
			  </el-form-item>
			</el-col>
			<SearchController>
				<el-button type="primary" @click="search">查询</el-button>
				<el-button type="primary" @click="reset">重置</el-button>
			</SearchController>
		</el-row>
	</el-form>
</Search>

表格列表组件

序号使用说明
1将原先 <el-tabel> 标签所在的所有元素包裹在 <Content> 组件中
2<Content> 组件添加 start-min-height 属性既可开启最小高度模式
3如需要在表格中添加 loading 交互,需在 <Content :loading="loading">属性,并且在计算属性中引入全局 loading store状态
4将需要操作表格外的按钮标签 <el-button> 包裹在 <Tabel-Tool> 组件中,例如:新增某表格选项
5</el-tabel> 闭合标签前新增 <DefaultEmpty slot="empty"/> 默认空状态组件
6<el-tabel> 相邻兄弟元素中添加 <Pagination> 组件并且将 <el-pagination> 组件包裹其中
7<el-pagination slot-scope="data" :page-sizes="data.sizes" :layout="data.layout"> 中添加以上三个属性值

参考代码

<template>
...
<Content :loading="loading">
	<TableTool @refresh="刷新表格数据方法"></TableTool>
	<el-table :data="tableData" v-loading="loading">
		<el-table-column prop="mobile" label="手机号"></el-table-column>
		<el-table-column prop="nickName" label="昵称"></el-table-column>
        <DefaultEmpty slot="empty"/>
	</el-table>
	<Pagination>
          <el-pagination
            slot-scope="data"
            :page-sizes="data.sizes"
            :layout="data.layout"
			hide-on-single-page
            @size-change="分页条数切换方法"
          ></el-pagination>
	</Pagination>
</Content>
...
</template>

<script>
export default {
	...,
	data() {
		return {
			loading: false
		}
	},
	
	methods: {
		getData() {
			this.loading = true
			try {
				 ...await 表格数据获取逻辑
			} finally {
				this.loading = false
			}
		}
	}
	...
}
</script>

Model态框表单组件

序号使用说明
1在迁移组件样式时 将原来 <el-form-item> 改成 <Form-Item> 即可
2注意:需要在 <el-form> 添加属性 label-width 值为 '140px', 统一label项宽度样式

参考代码

<el-form status-icon label-width="140px">
	<Form-Item label="业务员等级:" prop="promoLevel">
		<el-input
		v-model="ruleForm.promoLevel"
		placeholder="请输入业务员等级"
		:disabled="falg"
		></el-input>
	</Form-Item>
	<FormItem label="业务员达成条件:" prop="promoShops">
		<el-input
		v-model="ruleForm.promoShops"
		placeholder="请输入业务员达成条件"
		></el-input>
	</FormItem>
</el-form>

基本设置模型

序号使用说明
1<BaseSetting> 标签添加对应设置标题属性 title
2在原来 <el-form> 表单基础上添加属性 label-position 值为 'top',并且包裹在 <BaseSetting> 组件中

参考代码

<BaseSetting title="弹窗广告设置">
	<el-form label-position="top">
		<el-form-item label="详情id">
			<el-input
			placeholder="请输入详情id"
			v-model="ruleForm.id"
			:maxlength="19"
			></el-input>
		</el-form-item>
		<el-form-item label="模型类型">
			<el-select v-model="ruleForm.contentModel">
				<el-option label="文本" value="0"></el-option>
				<el-option label="图片跳转" value="1"></el-option>
			</el-select>
		</el-form-item>
		<el-button type="primary" @click="confrimSettled">保 存</el-button>
	</el-form>
</BaseSetting>

搜索展开控制器组件

序号使用说明
1将搜索相关按钮元素包裹在 <SearchController> 组件插槽中

参考代码

<SearchController>
	<el-button type="primary" @click="search">查询</el-button>
	<el-button type="primary" @click="reset">重置</el-button>
</SearchController>

表格多选框 alert 提示组件

序号使用说明
1<el-table> 表格组件包裹在 <Selection :number="number" @clearEmpty="clearEmpty">
2并且包含属性 number 代表表格数据 length
3自定义事件 clearEmpty 代表清空表格事件

参考代码

<Selection :number="multipleSelection.length" @clearEmpty="清空多选项方法" />

表格操作项按钮间 Divider 分隔线组件

序号使用说明
1迁移过程中将所有操作选项 <el-button> 组件包裹在 <Divider> 组件中

参考代码

<Divider>
	// 保持 <Divider> 组件包裹子元素的平级关系,子元素中不能包含其他子元素
	<el-button @click="edit">编辑</el-button> 
	<el-button @clcik="del">删除</el-button>
</Divider>

表格内容超出 tooltip 文字提示组件

序号使用说明
1建议统一将表格栏宽度设置 200px

参考代码

<el-table-column
label="问题类型"
width="200px">
	<template slot-scope="scope">
		<ToolTip :content="scope.row.typeName"/>
	</template>
</el-table-column>

404 组件

参考代码

<NoFind/>
0.5.19

2 years ago

0.5.18

2 years ago

0.5.16

2 years ago

0.5.17

2 years ago

0.5.10

2 years ago

0.5.11

2 years ago

0.5.9

2 years ago

0.5.14

2 years ago

0.5.15

2 years ago

0.5.12

2 years ago

0.5.13

2 years ago

0.5.8

2 years ago

0.5.7

2 years ago

0.5.6

2 years ago

0.5.5

2 years ago

0.5.4

2 years ago

0.5.3

2 years ago

0.5.2

2 years ago

0.5.1

2 years ago

0.5.0

2 years ago

0.4.4

2 years ago

0.4.3

2 years ago

0.4.2

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.3.12

2 years ago

0.3.11

2 years ago

0.3.10

2 years ago

0.3.9

2 years ago

0.3.8

2 years ago

0.3.7

2 years ago

0.3.6

2 years ago

0.3.5

2 years ago

0.3.4

2 years ago

0.3.3

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.3.0

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.0

2 years ago