Skip to content

开发规范

放置位置

  • 业务包放置在项目根目录下的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);
  }
}

代码规范

  • 方法名以小写字母开头,驼峰命名规则
  • 字符串使用单引号包裹

广州宝点数字化科技