2 lines
11 KiB
JavaScript
2 lines
11 KiB
JavaScript
"use strict";(self["webpackChunkmodel"]=self["webpackChunkmodel"]||[]).push([[93],{7686:function(e,a,t){var i=t(2109),n=t(7908),r=t(6244),l=t(9303),d=t(1223);i({target:"Array",proto:!0},{at:function(e){var a=n(this),t=r(a),i=l(e),d=i>=0?i:t+i;return d<0||d>=t?void 0:a[d]}}),d("at")},4506:function(e,a,t){var i=t(2109),n=t(1702),r=t(4488),l=t(9303),d=t(1340),s=t(7293),o=n("".charAt),c=s((function(){return"\ud842"!=="𠮷".at(-2)}));i({target:"String",proto:!0,forced:c},{at:function(e){var a=d(r(this)),t=a.length,i=l(e),n=i>=0?i:t+i;return n<0||n>=t?void 0:o(a,n)}})},7151:function(e,a,t){t.d(a,{GL:function(){return o},K9:function(){return d},bG:function(){return l},jw:function(){return s},uX:function(){return c},vQ:function(){return u}});var i=t(986),n=t(7178),r=t(3841);const l=[{label:"父数据类",value:r.G3.parent},{label:"分类容器",value:r.G3.container}],d=(r.fb.normal,r.fb.relation,[{label:"n",value:r.xp.n},{label:"1",value:r.xp.one}]),s=[{label:"int",value:r.fD.int},{label:"string",value:r.fD.string},{label:"double",value:r.fD.real},{label:"char*",value:4},{label:"double*",value:5}],o=[{label:"普通型",value:r.fC.normal},{label:"1:1",value:r.fC.foreign11},{label:"n:1",value:r.fC.foreign1n}],c=[{label:"1:1",value:r.nm.r11},{label:"1:n",value:r.nm.r1n},{label:"n:1",value:r.nm.rn1},{label:"m:n",value:r.nm.rmn}];class u{static getTypes(){const e=i.p.getDictionaryByInnerName("DataModelType");if(e&&e.children)return e.children.map((e=>({text:e.name,value:e.code})))}static validate(e){if(!e)return"输入项为空";const a=[{rule:"^[!-~一-龥\\() ]+$",info:"含无效字符"},{rule:"^.{1,128}$",info:"应小于128个字符"}],t=i.p.validate(e,a);return t||null}static validateDataModel(e){let a=u.validate(e.name);return a?(n.z8.warning("数据模型名称"+a),!1):(a=u.validate(e.type?.toString()),a?(n.z8.warning("项数据模型类型"+a),!1):(a=u.validate(e.identification),a?(n.z8.warning("名称标识"+a),!1):(a=i.p.validate(e.identification,[i.s.notchinese]),!a||(n.z8.warning("名称标识"+a),!1))))}}},9471:function(e,a,t){t.d(a,{F:function(){return u},M:function(){return h}});var i=t(7327),n=(t(7658),t(4704)),r=t(3841),l=t(9841),d=t(986),s=t(7178),o=t(7151);const c="DataModelGraphView",u={dragData:[],copyAttrData:[]};function f(e,a,t){if(e.children)for(const i of e.children)if(i.classType===r.rF.DataClass){const e=i;e.attributes?.forEach((i=>{i.fkType!==r.fC.normal&&i.fkTableID===a.id&&t.push(e)}))}else i.classType===r.rF.DataModule&&f(i,a,t)}class h{static validateEditAttribute(e,a){const t=o.vQ.validate(a.label);if(t)return s.z8.warning("显示名称"+t),!1;if(!a.dataType)return s.z8.warning("数据类型不能为空"),!1;if(e.attributes)for(const i of e.attributes)if(i.label===a.label&&i.id!==a.id)return s.z8.warning("显示名称重复"),!1;return!0}static validateAddCommon(e){let a=o.vQ.validate(e.label);return a?(s.z8.warning("显示名称"+a),!1):(a=o.vQ.validate(e.name),a?(s.z8.warning("名称标识"+a),!1):(a=d.p.validate(e.name,[d.s.notchinese]),!a||(s.z8.warning("名称标识"+a),!1)))}static validateAddAttribute(e,a){if(!h.validateAddCommon(a))return!1;if(!a.dataType)return s.z8.warning("数据类型不能为空"),!1;if(a.name.match(/^cr\w+id$/gi))return s.z8.warning("因名称标识与关系属性命名规则冲突,建议重新定义"),!1;if(a.name.length>1&&!a.name.match(/^\w[a-z]+/gi))return s.z8.warning("名称标识第二个字符应该为字母"),!1;if(e.attributes)for(const t of e.attributes){if(t.name===a.name)return s.z8.warning("名称标识重复"),!1;if(t.label===a.label)return s.z8.warning("显示名称重复"),!1}return!0}static validateEditDataClass(e){const a=o.vQ.validate(e.label);return a?(s.z8.warning("显示名称"+a),!1):void 0===e.countType?(s.z8.warning("数量类型不能为空"),!1):!h.findDataModelChild((a=>e.label===a.label&&a.id!==e.id))||(s.z8.warning("显示名称有重复"),!1)}static validateAddDataClass(e){return!!h.validateAddCommon(e)&&(void 0===e.countType?(s.z8.warning("数量类型不能为空"),!1):h.findDataModelChild((a=>e.label===a.label))?(s.z8.warning("显示名称有重复"),!1):!h.findDataModelChild((a=>e.name===a.name))||(s.z8.warning("名称标识有重复"),!1))}static validateEditModule(e){const a=o.vQ.validate(e.label);return a?(s.z8.warning("显示名称"+a),!1):void 0===e.type?(s.z8.warning("数据模块类型不能为空"),!1):!h.findDataModelChild((a=>e.label===a.label&&a.id!==e.id))||(s.z8.warning("显示名称有重复"),!1)}static validateAddModule(e){return!!h.validateAddCommon(e)&&(void 0===e.type?(s.z8.warning("数据模块类型不能为空"),!1):h.findDataModelChild((a=>e.label===a.label))?(s.z8.warning("显示名称有重复"),!1):!h.findDataModelChild((a=>e.name===a.name))||void s.z8.warning("名称标识有重复"))}static async saveDataModule(e){return this.validateEditModule(e)?(0,l.kZ)(c,"save-datamodule",e).then((({error:a,data:t})=>{if(a)return s.z8.error(a),Promise.reject();const i=h.findDataModule(e.id),r=t;i.label=r.label,i.type=r.type,i.description=r.description,i.canCreateTable=r.canCreateTable,n.Z.$emit("update:datamodule",i)})):Promise.reject()}static async createNewDataModule(e,a){return this.validateAddModule(a)?(a.parentid=e.id,a.classType=e.classType,await(0,l.kZ)(c,"add-datamodule",a).then((({error:a,data:t})=>{if(a)return s.z8.error(a),Promise.reject();const i=t;if(i.innerId=(0,r.Vg)(),!i)return s.z8.error("创建模块失败"),Promise.reject();e.children||(e.children=[]);let l=e.children?.findIndex((e=>e.classType===r.rF.DataClass));-1===l&&(l=e.children?.length),e.children?.splice(l,0,i),i.parent=e,n.Z.$emit("add:datamodule",i)}))):Promise.reject()}static async saveDataClass(e){if(!h.validateEditDataClass(e))return Promise.reject();const{error:a,data:t}=await(0,l.kZ)(c,"save-dataclass",e);if(a)return s.z8.error(a),Promise.reject();const i=h.findDataClass(e.id),r=t;i.countType=r.countType,i.label=r.label,i.description=r.description,n.Z.$emit("update:dataclass",i)}static async createNewDataClass(e,a){return h.validateAddDataClass(a)?(a.parentid=e.id,(0,l.kZ)(c,"add-dataclass",a).then((({error:a,data:t})=>{if(a)return s.z8.error(a),Promise.reject();const i=t;if(i.innerId=(0,r.Vg)(),!i)return s.z8.error("创建数据类失败"),Promise.reject();e.children||(e.children=[]),e.children?.push(i),i.parent=e,n.Z.$emit("add:dataclass",i)}))):Promise.reject()}static async saveAttribute(e,a){return h.validateEditAttribute(e,a)?(0,l.kZ)(c,"save-dataclass-attribute",a).then((({error:e,data:t})=>{if(e)return s.z8.error(e),Promise.reject();const i=t,r=h.findDataAttribute((e=>e.id===a.id));if(!i||!r)return s.z8.error("创建数据类属性失败"),Promise.reject();r.label=i.label,r.description=i.description,r.defaultValue=i.defaultValue,r.dataType=i.dataType,r.isIndex=i.isIndex,r.isOnly=i.isOnly,r.isAutoincrement=i.isAutoincrement,r.maxLength=i.maxLength,r.minLength=i.minLength,r.numLength=i.numLength,r.numPresision=i.numLength,r.isFindKey=i.isFindKey,r.isPk=i.isPk,n.Z.$emit("update:dataclass",h.findDataClass(r.parent.id))})):Promise.reject()}static async createNewAttribute(e,a){return!!h.validateAddAttribute(e,a)&&(a.parentid=e.id,(0,l.kZ)(c,"add-dataclass-attribute",a).then((({error:a,data:t})=>{if(console.log("457--:",a,t),a)return s.z8.error(a),!1;const i=t;if(!i)return s.z8.error("创建数据类属性失败"),!1;e.attributes||(e.attributes=[]),e.attributes?.push(i),i.parent=e,n.Z.$emit("update:dataclass",e)})))}static getClassRelationship(e){const a=[];return e.attributes?.forEach((e=>{if(e.fkType!==r.fC.normal){const t=h.findDataClass(e.fkTableID);t&&a.push(t)}})),h.dataModel?.children&&h.dataModel?.children.forEach((t=>f(t,e,a))),a}static getClassRelationshipMNClass(e){return h.getClassRelationshipClass(e).filter((e=>e.type===r.fb.relation))}static getClassRelationshipClass(e){const a=[];return h.dataModel?.children&&h.dataModel?.children.forEach((t=>f(t,e,a))),a}static getAllChild(e){let a=[];return e.classType!==r.rF.DataModel&&a.push(e),e.children?.forEach((e=>{e.classType===r.rF.DataClass?a.push(e):a=a.concat(h.getAllChild(e))})),a}static getAllChildClassFromDataModule(e){let a=[];return e.children?.forEach((e=>{e.classType===r.rF.DataClass?a.push(e):a=a.concat(h.getAllChildClassFromDataModule(e))})),a}static findFKData(e){return e.attributes?.filter((e=>e.fkType!=r.fC.normal))}static removeRelations(e){for(const a of e)if(a.classType===r.rF.DataClass)h.deleteDataClass(a.id);else if(a.classType===r.rF.DataAttribute){const e=h.deleteAttribute(a.id),t=e?.parent;t&&n.Z.$emit("update:dataclass",t)}}static findParent(e,a){return a===r.rF.DataModel?h.dataModel?.id===e?h.dataModel:void 0:a===r.rF.DataModule?h.findDataModule(e):void 0}static findDataModule(e){return h.findDataModelChild((a=>a.id===e&&a.classType===r.rF.DataModule))}static findDataClass(e){return h.findDataModelChild((a=>a.id===e&&a.classType===r.rF.DataClass))}static findDataAttribute(e){if(h.dataModel?.children)for(const a of h.dataModel.children){const t=h.getAllChildClassFromDataModule(a);for(const a of t){const t=a.attributes?.find(e);if(t)return t}}}static findDataModuleChildByInnerID(e,a){return h.findDataModelChildDeep([e],(e=>e.innerId==a))}static findDataModelChild(e){if(h.dataModel?.children)return h.findDataModelChildDeep(h.dataModel?.children,e)}static findDataModelChildByInnderID(e){if(h.dataModel?.children)return h.findDataModelChildDeep(h.dataModel?.children,(a=>a.innerId==e))}static findDataModelChildDeep(e,a){for(const t of e){if(a(t))return t;if(t.classType===r.rF.DataModule){const e=t;if(e.children){const t=h.findDataModelChildDeep(e.children,a);if(t)return t}}}}static sortChildTreeNode(e){e.children?.sort(((e,a)=>e.classType-a.classType?e.classType-a.classType:e.classType===r.rF.DataModule&&a.type-e.type?a.type-e.type:r.jr.localeCompare(e.label,a.label))).forEach((e=>{e.classType===r.rF.DataModule&&h.sortChildTreeNode(e)}))}static deleteAttribute(e){const a=h.findDataAttribute((a=>a.id===e));if(!a)return;const t=a.parent;return t?(t.attributes?.splice(t.attributes?.findIndex((a=>a.id===e)),1),a):void 0}static deleteDataClass(e){const a=h.findDataClass(e),t=a.parent;t&&(t.children?.splice(t.children?.indexOf(a),1),n.Z.$emit("delete:basicdata",a))}static initAttribute(e){e.attributes?.forEach((a=>a.parent=e))}static initDataModel(e){e.classType===r.rF.DataClass?e.attributes?.forEach((a=>a.parent=e)):e.children?.forEach((a=>{a.parent=e,a.innerId=(0,r.Vg)(),h.initDataModel(a)}))}static copyDataAttribute(e,a){e.forEach((e=>{if(e.fkType!==r.fC.normal)return void s.z8.warning("关系属性无法复制");const t={parentid:0,label:e.label,name:e.name,description:e.description,defaultValue:e.defaultValue,dataType:e.dataType,isIndex:e.isIndex,isOnly:e.isOnly,isAutoincrement:e.isAutoincrement,maxLength:e.maxLength,minLength:e.minLength,numLength:e.numLength,numPresision:e.numPresision,isFindKey:e.isFindKey,isPk:e.isPk};h.createNewAttribute(a,t)}))}}(0,i.Z)(h,"dataModel",null)}}]);
|
||
//# sourceMappingURL=93.a8fbb957.js.map
|