2 lines
17 KiB
JavaScript
2 lines
17 KiB
JavaScript
"use strict";(self["webpackChunkmodel"]=self["webpackChunkmodel"]||[]).push([[300],{6959:function(e,t,a){a.d(t,{j:function(){return o}});var i=a(7327);class n{constructor(){(0,i.Z)(this,"beClear",void 0),this.beClear=!0}clear(){}}let l=null;class o extends n{constructor(){super(),(0,i.Z)(this,"datas",void 0),this.datas=new Set}has(e){return this.datas.has(e)}leaveClear(e){e.ctrlKey||this.clear()}select(e,t){l!==this&&(l?.clear(),l=this),t.ctrlKey?this.datas.has(e)?(this.datas.delete(e),delete e.$flag):(e.$flag=!0,this.datas.add(e)):(this.clear(),this.datas.add(e),e.$flag=!0)}supplement(e,t){l!==this&&(l?.clear(),l=this),this.beClear=!1,!1===t.ctrlKey&&this.clear(),this.datas.add(e),e.$flag=!0}getNodeCount(){return this.datas.size}singleSelection(){return 1===this.getNodeCount()}isSelected(e){return this.datas.has(e)}getData(){return Array.from(this.datas)}getDataAndClear(){const e=this.getData();return this.clear(),e}clear(){this.datas.forEach((e=>delete e.$flag)),this.datas.clear()}}},7151:function(e,t,a){a.d(t,{GL:function(){return s},K9:function(){return d},bG:function(){return o},jw:function(){return r},uX:function(){return c},vQ:function(){return u}});var i=a(986),n=a(7178),l=a(3841);const o=[{label:"父数据类",value:l.G3.parent},{label:"分类容器",value:l.G3.container}],d=(l.fb.normal,l.fb.relation,[{label:"n",value:l.xp.n},{label:"1",value:l.xp.one}]),r=[{label:"int",value:l.fD.int},{label:"string",value:l.fD.string},{label:"double",value:l.fD.real},{label:"char*",value:4},{label:"double*",value:5}],s=[{label:"普通型",value:l.fC.normal},{label:"1:1",value:l.fC.foreign11},{label:"n:1",value:l.fC.foreign1n}],c=[{label:"1:1",value:l.nm.r11},{label:"1:n",value:l.nm.r1n},{label:"n:1",value:l.nm.rn1},{label:"m:n",value:l.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 t=[{rule:"^[!-~一-龥\\() ]+$",info:"含无效字符"},{rule:"^.{1,128}$",info:"应小于128个字符"}],a=i.p.validate(e,t);return a||null}static validateDataModel(e){let t=u.validate(e.name);return t?(n.z8.warning("数据模型名称"+t),!1):(t=u.validate(e.type?.toString()),t?(n.z8.warning("项数据模型类型"+t),!1):(t=u.validate(e.identification),t?(n.z8.warning("名称标识"+t),!1):(t=i.p.validate(e.identification,[i.s.notchinese]),!t||(n.z8.warning("名称标识"+t),!1))))}}},6827:function(e,t,a){a.r(t),a.d(t,{default:function(){return B}});var i=a(9003);const n={class:"DataModelListView"},l={class:"data-model-list"},o={class:"table-title"},d={class:"table-title"},r={style:{"text-align":"center"}},s={class:"align-center"},c={key:0,class:"unfinish iconfont icon-lock-fill"},u={key:1,class:"finish iconfont icon-unlock-fill"},h={class:"editable-row-operations"},m={key:0},p=["onClick"],f={key:1},w=(0,i._)("div",null,null,-1),g=(0,i._)("span",{class:"iconfont icon-more_horiz"},null,-1);function b(e,t,a,b,D,v){const y=(0,i.up)("el-table-column"),C=(0,i.up)("el-input"),k=(0,i.up)("el-option"),M=(0,i.up)("el-select"),S=(0,i.up)("el-button"),T=(0,i.up)("el-table"),_=(0,i.up)("pane"),x=(0,i.up)("SubTitleBar"),V=(0,i.up)("DataModelProperty"),W=(0,i.up)("splitpanes");return(0,i.wg)(),(0,i.iD)("div",n,[(0,i.Wm)(W,{vertical:!1},{default:(0,i.w5)((()=>[(0,i.Wm)(_,null,{default:(0,i.w5)((()=>[(0,i._)("div",l,[(0,i._)("div",{class:"table-area",onContextmenu:t[4]||(t[4]=(0,i.iM)(((...t)=>e.onListContextMenu&&e.onListContextMenu(...t)),["prevent"]))},[(0,i.Wm)(T,{data:e.dataSource,size:"small","row-key":"data.id",height:"100%","row-class-name":e.onRowClassName,"tree-props":{children:"children"},onRowDblclick:e.onEnterGraph,onRowClick:e.onRowClick,onRowContextmenu:e.onRowContextMenu,ref:"tableListRef","default-sort":{prop:"data.createTime",order:"descending"}},{default:(0,i.w5)((()=>[(0,i.Wm)(y,{label:"编号",type:"index",width:"60","class-name":"indexcolumn"}),(0,i.Wm)(y,{label:"数据模型名称","min-width":"160",sortable:"","sort-method":e.sortName,prop:"data.name"},{default:(0,i.w5)((a=>[(0,i._)("span",o,[e.editableData&&e.editableData.id===a.row.data.id?((0,i.wg)(),(0,i.j4)(C,{key:0,size:"small",modelValue:e.editableData.data.name,"onUpdate:modelValue":t[0]||(t[0]=t=>e.editableData.data.name=t)},null,8,["modelValue"])):((0,i.wg)(),(0,i.iD)(i.HY,{key:1},[(0,i.Uk)((0,i.zw)(a.row.data.name),1)],64))])])),_:1},8,["sort-method"]),(0,i.Wm)(y,{label:"名称标识",prop:"data.identification",width:"160",sortable:""}),(0,i.Wm)(y,{label:"ID",prop:"data.id",width:"60"}),(0,i.Wm)(y,{label:"类型",width:"100",sortable:"",prop:"data.type","sort-method":e.sortType},{default:(0,i.w5)((a=>[e.editableData&&e.editableData.id===a.row.id?((0,i.wg)(),(0,i.j4)(M,{key:0,modelValue:e.editableData.data.type,"onUpdate:modelValue":t[1]||(t[1]=t=>e.editableData.data.type=t),size:"small",disabled:e.canTypeEdit},{default:(0,i.w5)((()=>[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(e.typeoptions,(e=>((0,i.wg)(),(0,i.j4)(k,{key:e.value,label:e.text,value:e.value},null,8,["label","value"])))),128))])),_:1},8,["modelValue","disabled"])):((0,i.wg)(),(0,i.iD)(i.HY,{key:1},[(0,i.Uk)((0,i.zw)(e.formatType(a.row.data.type)),1)],64))])),_:1},8,["sort-method"]),(0,i.Wm)(y,{label:"描述",width:"200","min-width":"100",sortable:"","sort-method":e.sortDesciption,prop:"data.description"},{default:(0,i.w5)((a=>[(0,i._)("span",d,[e.editableData&&e.editableData.id===a.row.id?((0,i.wg)(),(0,i.j4)(C,{key:0,size:"small",modelValue:e.editableData.data.description,"onUpdate:modelValue":t[2]||(t[2]=t=>e.editableData.data.description=t)},null,8,["modelValue"])):((0,i.wg)(),(0,i.iD)(i.HY,{key:1},[(0,i.Uk)((0,i.zw)(a.row.data.description),1)],64))])])),_:1},8,["sort-method"]),(0,i.Wm)(y,{label:"版本号",width:"100","min-width":"100",sortable:"",prop:"data.version"},{default:(0,i.w5)((e=>[(0,i._)("div",r," v"+(0,i.zw)(e.row.data.version),1)])),_:1}),(0,i.Wm)(y,{label:"版本锁定",width:"100","min-width":"100",sortable:"",prop:"data.locked"},{default:(0,i.w5)((e=>[(0,i._)("div",s,[e.row.data.locked?((0,i.wg)(),(0,i.iD)("span",c)):((0,i.wg)(),(0,i.iD)("span",u))])])),_:1}),(0,i.Wm)(y,{label:"创建时间",prop:"data.createTime",width:"160",sortable:""}),(0,i.Wm)(y,{class:"operation",label:"操作",fixed:"right",width:"140"},{default:(0,i.w5)((a=>[(0,i._)("div",h,[e.editableData&&e.editableData.id===a.row.id?((0,i.wg)(),(0,i.iD)("span",m,[(0,i._)("a",{onClick:t=>e.onSaveEditDataModel(a.row.data)},"保存",8,p),(0,i._)("a",{onClick:t[3]||(t[3]=(...t)=>e.onCancelEditProject&&e.onCancelEditProject(...t))},"取消")])):((0,i.wg)(),(0,i.iD)("span",f,[(0,i.Wm)(S,{text:"",icon:e.Edit,onClick:t=>e.onEdit(a.row.data)},null,8,["icon","onClick"])]))])])),_:1})])),_:1},8,["data","row-class-name","onRowDblclick","onRowClick","onRowContextmenu","default-sort"])],32)]),w])),_:1}),e.showPane?((0,i.wg)(),(0,i.j4)(_,{key:0,size:30,class:"operator"},{default:(0,i.w5)((()=>[(0,i.Wm)(x,null,{title:(0,i.w5)((()=>[(0,i.Uk)("新建模型")])),default:(0,i.w5)((()=>[(0,i.Wm)(S,{onClick:e=>!1},{default:(0,i.w5)((()=>[g])),_:1})])),_:1}),(0,i.Wm)(V,{onSave:e.onSaveNewDataModel,onCancel:e.onNewDataModelCancel},null,8,["onSave","onCancel"])])),_:1})):(0,i.kq)("",!0)])),_:1})])}a(7658);var D=a(5321),v=a(2748),y=a(3841),C=a(7178),k=a(6e3),M=a(7198),S=a(3758),T=a(6468),_=a(7627),x=a(4704),V=a(5620),W=a(6959),z=a(7151);function j(e,t,a,n,l,o){const d=(0,i.up)("el-col"),r=(0,i.up)("el-input"),s=(0,i.up)("el-row"),c=(0,i.up)("el-option"),u=(0,i.up)("el-select"),h=(0,i.up)("ConfirmBar");return(0,i.wg)(),(0,i.iD)(i.HY,null,[(0,i.Wm)(s,null,{default:(0,i.w5)((()=>[(0,i.Wm)(d,{span:8},{default:(0,i.w5)((()=>[(0,i.Uk)("模型名称:")])),_:1}),(0,i.Wm)(d,{span:16},{default:(0,i.w5)((()=>[(0,i.Wm)(r,{size:"small",modelValue:e.newDataModelData.name,"onUpdate:modelValue":t[0]||(t[0]=t=>e.newDataModelData.name=t),placeholder:"输入名称"},null,8,["modelValue"])])),_:1})])),_:1}),(0,i.Wm)(s,null,{default:(0,i.w5)((()=>[(0,i.Wm)(d,{span:8},{default:(0,i.w5)((()=>[(0,i.Uk)("数据模型标识:")])),_:1}),(0,i.Wm)(d,{span:16},{default:(0,i.w5)((()=>[(0,i.Wm)(r,{size:"small",modelValue:e.newDataModelData.identification,"onUpdate:modelValue":t[1]||(t[1]=t=>e.newDataModelData.identification=t),placeholder:"输入数据模型标识"},null,8,["modelValue"])])),_:1})])),_:1}),(0,i.Wm)(s,null,{default:(0,i.w5)((()=>[(0,i.Wm)(d,{span:8},{default:(0,i.w5)((()=>[(0,i.Uk)("模型类型:")])),_:1}),(0,i.Wm)(d,{span:16},{default:(0,i.w5)((()=>[(0,i.Wm)(u,{size:"small",class:"m-2",placeholder:"选择类型",modelValue:e.newDataModelData.type,"onUpdate:modelValue":t[2]||(t[2]=t=>e.newDataModelData.type=t)},{default:(0,i.w5)((()=>[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(e.typeoptions,(e=>((0,i.wg)(),(0,i.j4)(c,{key:e.value,label:e.text,value:e.value},null,8,["label","value"])))),128))])),_:1},8,["modelValue"])])),_:1})])),_:1}),(0,i.Wm)(s,null,{default:(0,i.w5)((()=>[(0,i.Wm)(d,{span:8},{default:(0,i.w5)((()=>[(0,i.Uk)("描述:")])),_:1}),(0,i.Wm)(d,{span:16},{default:(0,i.w5)((()=>[(0,i.Wm)(r,{modelValue:e.newDataModelData.description,"onUpdate:modelValue":t[3]||(t[3]=t=>e.newDataModelData.description=t),maxlength:"240",placeholder:"输入描述","show-word-limit":"",type:"textarea"},null,8,["modelValue"])])),_:1})])),_:1}),(0,i.Wm)(h,{"commit-name":"保存",onCommit:e.onSave,onCancel:e.onCancel},null,8,["onCommit","onCancel"])],64)}var E=a(3363),R=(0,i.aZ)({data(){return{newDataModelData:{},typeoptions:[]}},mounted(){this.typeoptions=z.vQ.getTypes()},setup(){return{}},components:{ConfirmBar:E.Z},emits:["save","cancel"],methods:{onSave(){this.$emit("save",this.newDataModelData)},onCancel(){this.$emit("cancel")}}}),P=a(89);const Z=(0,P.Z)(R,[["render",j],["__scopeId","data-v-2f6bda56"]]);var Q=Z;function I(e,t){return t?(t.id=e.id,t.data=e,t):{id:e.id,data:e,children:[]}}const N=new W.j;var U=(0,i.aZ)({name:"DataModelListView",data(){return{canTypeEdit:!0,editableData:null,showPane:!1,dataSource:[],currentProject:{},typeoptions:[],searchValue:"",searchRegular:!0}},components:{Splitpanes:D.F,Pane:D.X,DataModelProperty:Q,SubTitleBar:V.Z},computed:{editing(){return _.Z.state.editing}},setup(){const e=(0,i.iH)();return{Edit:v.I8b,More:v.Tkc,Delete:v.HG3,tableListRef:e}},created(){},mounted(){N.clear(),this.QTRegister(),x.Z.$on("search",this.onSearch),this.typeoptions=z.vQ.getTypes(),this.updateDataModel(),_.Z.commit("setEditing",!1)},unmounted(){x.Z.$off("search",this.onSearch)},methods:{sortName(e,t){return y.jr.localeCompare(e.data.name,t.data.name)},sortType(e,t){const a=this.formatType(t.data.type),i=this.formatType(e.data.type);if(a&&i)return y.jr.localeCompare(i,a)},sortDesciption(e,t){return y.jr.localeCompare(e.data.description,t.data.description)},onRowClassName({row:e}){return e.$flag?"current-row":""},onRowClick(e,t,a){N.select(e,a)},searchMethod(e,t,a){return e?~t.search(a):~t.indexOf(a)},onSearch(e){const{value:t,regular:a}=e;this.searchValue=t,this.searchRegular=a,this.updateDataModel().then((()=>{if(this.searchValue.length>0){const e=this.dataSource;this.dataSource=[],e.forEach((e=>{const t={id:e.data.id,data:e.data,active:!1,children:[]};e.children?.forEach((e=>{(this.searchMethod(this.searchRegular,e.data.name,this.searchValue)||this.searchMethod(this.searchRegular,e.data.description,this.searchValue)||this.searchMethod(this.searchRegular,e.data.identification,this.searchValue))&&t?.children?.push(e)})),(this.searchMethod(this.searchRegular,e.data.name,this.searchValue)||this.searchMethod(this.searchRegular,e.data.description,this.searchValue)||this.searchMethod(this.searchRegular,e.data.identification,this.searchValue)||t.children.length>0)&&this.dataSource.push(t)}))}}))},formatType(e){return this.typeoptions?.find((t=>t.value===e))?.text},findTableDataByID(e){if(this.dataSource)for(const t of this.dataSource){if(t.id===e)return t;if(t.children)for(const a of t.children)if(a.id===e)return a}},async hasTableData(e){const t=await this.findDataModel();if(!t)return!1;for(const a of t){if(e(a))return!0;if(a.children)for(const t of a.children)if(e(t))return!0}return!1},formatDataModel(e){const t=[];return e.forEach((e=>{const a=e,i=t.find((e=>a.identification===e.data.identification));if(i)if(i.data.version<a.version){const e={};Object.assign(e,i),e.children=[],i.children?.push(e),I(a,i)}else{const e=I(a);e&&i.children?.push(e)}else{const e=I(a);e&&t.push(e)}})),t},async findDataModel(){const e=parseInt(this.$route.params.projectid),{error:t,data:a}=await this.QTSend("get-project-datamodel",{id:e});if(!t)return a},async updateDataModel(){const e=parseInt(this.$route.params.projectid);return this.QTSend("get-project",{id:e}).then((({error:e,data:t})=>{if(!e)return this.currentProject=t,x.Z.$emit("change-title",t.name),this.findDataModel().then((e=>{e&&(this.dataSource.splice(0,this.dataSource.length),this.dataSource.push(...this.formatDataModel(e)))}));C.z8.error(e)}))},onEnterGraph(e){this.editing||this.currentProject&&S.t.toDatModelGraph(this.currentProject.id,e.id)},onListContextMenu(e){this.editing||(0,M.x)(e.clientX,e.clientY,{props:{commands:[{key:1,label:"新建",command:this.createNewDataModel,icon:"icon-jia"}]}})},onRowContextMenu(e,t,a){a.preventDefault(),a.stopPropagation(),this.editing||(N.supplement(e,a),(0,M.x)(a.clientX,a.clientY,{props:{data:e.data,commands:[{key:1,label:"删除",command:this.onDelete,disabled:this.editing||N.getNodeCount()<1,icon:"icon-delete-fill"},{key:2,label:"编辑",command:this.onEdit,disabled:this.editing||!N.singleSelection(),icon:"icon-edit"},{splitter:!0},{key:3,label:"复制",command:this.onCopyDataModel,disabled:this.editing||!N.singleSelection(),icon:"icon-fuzhi"},{key:4,label:"升版",command:this.onPromoteVersion,disabled:this.editing||e.data.locked||!N.singleSelection(),icon:"icon-library_add-o"},{splitter:!0},{key:5,label:"代码生成",command:this.onCodeGenerate,disabled:this.editing||!N.singleSelection(),icon:"icon-kaifa-xianxing"},{key:6,label:"实例生成",command:this.onCreateInstance,disabled:this.editing||!N.singleSelection(),icon:"icon-jiesuan-xianxing"}]}}))},onCreateInstance(e){this.editing||this.QTSend("create-instance",{id:e.id}).then((({error:e,data:t})=>{e?C.z8.error(e):t.status&&C.z8.success("创建实例成功")}))},formatIdentification(e){this.QTSend("get-datamodel-by-identification",{id:this.currentProject.id,identification:e}).then((({error:e,data:t})=>{if(e)return void C.z8.error(e);const a=this.formatDataModel(t);a.forEach((e=>this.dataSource?.push(e)))}))},onPromoteVersion(e){this.editing||this.QTSend("add-datamodel-version",{id:e.id}).then((({error:t})=>{if(t)return void C.z8.error(t);const a=e.identification,i=this.dataSource.findIndex((t=>t.id===e.id));~i&&(this.dataSource.splice(i,1),this.formatIdentification(a))}))},onCopyDataModel(e){this.editing||k.T.confirm('确定复制数据模型"'+e.name+'"?',"复制数据模型",{confirmButtonText:"复制",cancelButtonText:"取消",type:"warning"}).then((()=>{this.QTSend("copy-datamodel",{id:e.id}).then((({error:e,data:t})=>{if(e)return void C.z8.error(e);const a=t;t&&this.dataSource.push(I(a))}))}))},async onSaveEditDataModel(e){if(!this.editableData)return;const t=this.editableData.data;z.vQ.validateDataModel(t)&&(await this.hasTableData((e=>e.name===t.name&&e.id!==t.id))?C.z8.error("名称或者名称标识重复"):this.QTSend("save-datamodel",t).then((({error:t,data:a})=>{t?C.z8.error(t):(a&&Object.assign(e,a),this.onCancelEditProject())})))},createNewDataModel(){this.editing||(this.showPane=!0,_.Z.commit("setEditing",!0))},onNewDataModelCancel(){this.showPane=!1,_.Z.commit("setEditing",!1)},async onSaveNewDataModel(e){z.vQ.validateDataModel(e)&&(await this.hasTableData((t=>t.name===e.name||t.identification===e.identification))?C.z8.error("名称或者名称标识重复"):(e.parentid=this.currentProject.id,this.QTSend("add-datamodel",e).then((({error:e,data:t})=>{if(e)return void C.z8.error(e);const a=t;t&&this.dataSource.push(I(a)),this.onNewDataModelCancel()}))))},onCancelEditProject(){this.editableData=null,_.Z.commit("setEditing",!1)},onEdit(e){this.editing||(this.typeoptions=z.vQ.getTypes(),this.editableData=(0,T.Z)(this.findTableDataByID(e.id)),this.QTSend("has-datamodel-child",{id:e.id}).then((({data:e})=>{this.canTypeEdit=e.status})),_.Z.commit("setEditing",!0))},onDelete(){if(this.editing)return;const e=N.getData().map((e=>e.data));if(e.length<1)return;const t=e.length>1?'"等数据模型?':'"数据模型?';k.T.confirm('确认删除"'+e[0].name+t,"删除数据模型",{confirmButtonText:"删除",cancelButtonText:"取消",type:"warning"}).then((()=>{N.clear(),e.forEach((e=>{this.QTSend("delete-datamodel",{id:e.id}).then((({error:t,data:a})=>{if(t)return void C.z8.error(t);if(!a.deleted)return void C.z8.error("删除失败");const i=e.identification;for(let n=0;n<this.dataSource?.length;n++){const t=this.dataSource[n];if(t.id===e.id){let e=!1;return t.children&&t.children.length>0&&(e=!0),this.dataSource?.splice(n,1),void(e&&this.formatIdentification(i))}if(t.children){const a=t.children.findIndex((t=>t.id===e.id));if(~a)return void t.children.splice(a,1)}}}))}))})).catch((()=>{N.clear()}))},onCodeGenerate(e){this.editing||S.t.toCodeGenerate(e.id)}}});const $=(0,P.Z)(U,[["render",b]]);var B=$}}]);
|
||
//# sourceMappingURL=300.d0a02a84.js.map
|