Appearance
开发规范
放置位置
- 业务包放置在项目根目录下的packages中
- 单个功能使用文件夹隔离

控件使用
- 可优先使用app-开头的控件,当没有对应控件时,使用el-开头的element-plus组件
- 控件大小默认使用size="default",可根据具体情况调整为size="small"
查询条件
- 填写必要的placeholder
- “是否可用”条件使用下拉框方式
- 创建日期需要有默认值
- 条件标题字数小于等于5
- 创建日期放在第一个条件
- 记录查询,必须有日期条件

表格显示
- 显示的数据为固定长度的情况下,字段居中显示
- 关键数据,增加拷贝功能
- 是否可用字段,显示为 [el-tag] 样式
- 行内编辑按钮,type为primary
- 行内删除按钮,type为danger
- 表格内数据单行显示,如果空间不够,则显示省略号

编辑窗口
- 默认为弹出抽屉框,使用控件:app-edit-container
- 必填字段需要required
- 填写框需要有placeholder提示
- 保存按钮,需要有icon,默认为Check
- 取消按钮,需要有icon,默认为Close
- 取消按钮在保存按钮之前
- el-form的 label-width="100px", 不够时使用 label-width="120px", 尽量不要少于100px
- 当控件比较少时,可以控件占整行,当控件较多时,分为两行显示
- 可输入框/可选择框,增加clearable属性,并且增加回车即执行的操作:@enter="confirm"
- 编辑窗口中有“编辑表格(非查询表格)”,表格size="small",高度根据业务数据量而定。
- 编辑窗口中有“查询表格(非编辑表格)”,表格size="default",高度自适应高度。



查询操作
- 需要权限验证
- 执行需要有loading
- 权限验证需要在loading前
js
const search = async () => {
try
{
if(!jingjian.employeeRights.check('', 'GiftUnit_Query')) throw new Error('您无权限进行此操作')
loadingQuery.value = true;
// 业务代码......
}
catch (error)
{
UIFactory.error((<Error>error).message);
}
finally
{
loadingQuery.value = false;
}
}删除操作
- 需要有删除提示
- 执行需要有loading
- 提示/鉴权在loading之前
- 需要权限验证
js
const onDelete = async (row: any) =>
{
try
{
// 必须有权限验证
if(!jingjian.employeeConfigs.check('', 'GiftUnit_Delete')) throw new Error('您无权限进行此操作')
// 必须有删除提示
if(!await UIFactory.confirm('您确定要删除吗')) return
// 需要删除loading
loadingDelete.value = true
// 业务代码......
}
catch(ex: any)
{
UIFactory.error(ex.message)
}
finally
{
loadingDelete.value = false
}
};新增/编辑操作
- 需要界面规则验证
- 需要鉴权
- 需要成功/失败提示
js
const confirm = async () => {
try
{
if(!formRef.value?.validate()) return
// 鉴权
if(!jingjian.employeeConfigs.check('', 'GiftUnit_Edit')) throw new Error('您无权限进行此操作')
// 业务代码......
UIFactory.success('操作成功')
success()
}
catch (ex: any)
{
console.error(ex)
UIFactory.error(ex.message);
}
}代码规范
- 方法名以小写字母开头,驼峰命名规则
- 字符串使用单引号包裹