1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- //增加(Create)、检索(Retrieve)、更新(Update)和删除(Delete)
- /* jshint esversion: 11 */
- import {
- config,
- method,
- HOOK
- } from './config';
- import {
- mergeOptions
- } from '@/utils/utils';
-
- /**
- * CRUD 的基础配置
- *
- * @param {*} options 选择
- */
- function CRUD(options = {}) {
- const defaultOptions = config.defaultOptions;
- //合并用户配置参数信息
- options = mergeOptions(defaultOptions, options);
- //data为系统视图配置(一般不做整合)-对象合并
- const crud = Object.assign(options, config.data);
- // 附加方法 CRUD操作执行方法
- Object.assign(crud, method);
- // 冻结处理(使得配置信息不可修改)
- Object.freeze(crud);
- return crud;
- }
-
- /**
- * CRUD的配置参数
- * @param {*} options 配置参数
- * @returns
- */
- function crudConfig(options = {}) {
- //合并传入过来的参数
- const crud = CRUD({});
- return {
- data() {
- return {
- crud
- };
- },
- beforeRefresh() { //创建前
- this.crud.registerVM(options.type, this);
- },
- destroy() { //销毁
- this.crud.unregisterVM(options.type, this);
- }
- };
- }
-
- /**
- * CRUD钩子
- */
- CRUD.HOOK = HOOK;
-
- /**
- * CRUD状态
- */
- CRUD.STATUS = {
- NORMAL: 0, //正常
- PREPARED: 1, //准备好的
- PROCESSING: 2 //处理好的
- };
-
- export default CRUD;
-
- export {
- crudConfig
- };
|