# fdd-contract **Repository Path**: bhuh12/fdd-contract ## Basic Information - **Project Name**: fdd-contract - **Description**: 法大大合同控件组件库 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-01-08 - **Last Updated**: 2025-03-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 法大大合同控件 fdd-contract FddContract 是电子签行业的前端核心组件库,提供了合同文档查看、控件设置、控件填写、控件签署等能力,有力的支撑了签署业务最核心的流程 - [法大大合同控件 fdd-contract](#法大大合同控件-fdd-contract) - [项目概览](#项目概览) - [链接](#链接) - [贡献者](#贡献者) - [技术栈](#技术栈) - [功能列表](#功能列表) - [核心 UI 组件](#核心-ui-组件) - [NPM 任务](#npm-任务) - [发布](#发布) - [开发规范](#开发规范) ## 项目概览 ### 链接 👉 文档 👉 Demo 👉 [Git 仓库](https://gitee.com/bhuh12/fdd-contract) 👉 [NPM](http://npm.fabigbig.com/-/web/detail/fdd-contract) 👉 [技术方案](https://bhuh-dev.notion.site/FddContract-515f12836feb48c4939fdb364937296f?pvs=4) 👉 [更新日志](docs/guide/changelog.md) ### 贡献者 👉 [贡献者 - Gitlab](https://gitee.com/bhuh12/fdd-contract/-/graphs/main) ### 技术栈 | 项目 | 说明 | | -------------- | -------------------------------------------------------- | | 开发语言 | Vue 2.x, Typescript, Scss | | 构建工具 | Vite 4.x | | 代码检查和风格 | Eslint, Stylelint, Prettier
规则类别:vue/recommended | | 技术栈 | Vue, @vue/composition-api | | 依赖 | element-ui, vue-lazyload | ## 功能列表 1. 支持合同缩放展示 2. 支持异形合同 3. 通过虚拟滚动支持 2w+ 超多页面的合同预览 4. 支持的签署控件:签名,印章,签署日期,签署备注 5. 支持的填写控件:单行文本,多行文本,勾选框,图片,附件,数字,身份证号,填写日期,单选框,复选框,下拉选择,表格 6. 支持骑缝章的设置和加盖 7. 支持批量控件,可以批量应用签署控件到指定文档和页面 8. 图片控件支持裁剪后上传 9. 控件支持跨页拖拽移动 10. 支持点击和框选方式多选控件 11. 支持快捷键批量操作控件:移动、删除、复制、剪切等 ## 核心 UI 组件 1. **FaLayout** 布局 提供了顶栏、左中右栏、底栏可配置的经典圣杯布局 2. **FaDragResize** 拖拽大小 提供拖拽移动位置和调整大小的能力,支持以下功能: 1. 限定移动范围为父元素,或指定选择器的 parent 节点 2. 拖拽坐标轴,可指定 x、y 坐标移动 3. 配置调整大小时显示的句柄 4. 配置元素拖拽大小的最大最小宽高 5. 限定调整大小范围为父元素 6. 按宽高比调整大小 7. 以中心点位置调整大小 8. 支持缩放展示的节点拖拽位置和调整大小 3. **FaDragSort** 拖拽排序 提供拖拽调整列表顺序的功能 4. **FaImageCropper** 图片裁剪 将图片文件或地址裁剪成指定的尺寸和格式 ## NPM 任务 | 任务 | 命令 | | ------------------ | ----------------- | | 本地启动 Demo | `yarn dev` | | 构建库 | `yarn build` | | 构建 Demo | `yarn build:demo` | | 生成更新日志 | `yarn changelog` | | 代码风格检查并修复 | `yarn lint` | ## 发布 ```bash # 1. 构建库 yarn build # 2. 修改 package.json 版本号 # 3. 切换到公司内部源并登录,已登录过可跳过 nrm use fdd npm login # 4. 执行命令发布 npm publish ``` ## 开发规范 [法大大前端开发规范](http://front.fabigbig.com/#/standard/) 1. 组件命名规范 `FaComponentName` 2. 组件 class-name 规范 `fa-component-name`