ace-component-lib 0.0.89 → 0.0.90
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ace-component-lib.umd.js +2 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(te,U){typeof exports=="object"&&typeof module<"u"?module.exports=U(require("pinia"),require("@wangeditor/editor"),require("vue"),require("element-plus"),require("vue-draggable-plus"),require("dayjs"),require("echarts/core"),require("@wangeditor/editor-for-vue"),require("jsoneditor")):typeof define=="function"&&define.amd?define(["pinia","@wangeditor/editor","vue","element-plus","vue-draggable-plus","dayjs","echarts/core","@wangeditor/editor-for-vue","jsoneditor"],U):(te=typeof globalThis<"u"?globalThis:te||self,te["ace-component-lib"]=U(te.pinia,te.editor,te.Vue,te.elementPlus,te.vueDraggablePlus,te.dayjs,te.core,te.editorForVue,te.JsonEditor))})(this,function(pinia,editor,vue,elementPlus,vueDraggablePlus,dayjs,core,editorForVue,JsonEditor){"use strict";var Dt=Object.defineProperty;var It=(te,U,G)=>U in te?Dt(te,U,{enumerable:!0,configurable:!0,writable:!0,value:G}):te[U]=G;var Et=(te,U,G)=>(It(te,typeof U!="symbol"?U+"":U,G),G);const version="0.0.89",aceLib="";let e$3=class{constructor(U){this.standards={strict:"strict",loose:"loose",html5:"html5"},this.previewBody=null,this.close=null,this.previewBodyUtilPrintBtn=null,this.selectArray=[],this.counter=0,this.settings={standard:this.standards.html5},Object.assign(this.settings,U),this.init()}init(){this.counter++,this.settings.id=`printArea_${this.counter}`;let U="";this.settings.url&&!this.settings.asyncUrl&&(U=this.settings.url);let G=this;if(this.settings.asyncUrl)return void G.settings.asyncUrl(function(ne){let re=G.getPrintWindow(ne);G.settings.preview?G.previewIfrmaeLoad():G.print(re)},G.settings.vue);let ee=this.getPrintWindow(U);this.settings.url||this.write(ee.doc),this.settings.preview?this.previewIfrmaeLoad():this.print(ee)}addEvent(U,G,ee){U.addEventListener?U.addEventListener(G,ee,!1):U.attachEvent?U.attachEvent("on"+G,ee):U["on"+G]=ee}previewIfrmaeLoad(){let U=document.getElementById("vue-pirnt-nb-previewBox");if(U){let G=this,ee=U.querySelector("iframe");this.settings.previewBeforeOpenCallback(),this.addEvent(ee,"load",function(){G.previewBoxShow(),G.removeCanvasImg(),G.settings.previewOpenCallback()}),this.addEvent(U.querySelector(".previewBodyUtilPrintBtn"),"click",function(){G.settings.beforeOpenCallback(),G.settings.openCallback(),ee.contentWindow.print(),G.settings.closeCallback()})}}removeCanvasImg(){let U=this;try{if(U.elsdom){let G=U.elsdom.querySelectorAll(".canvasImg");for(let ee=0;ee<G.length;ee++)G[ee].remove()}}catch(G){console.log(G)}}print(U){var G=this;let ee=document.getElementById(this.settings.id)||U.f,ne=document.getElementById(this.settings.id).contentWindow||U.f.contentWindow;G.settings.beforeOpenCallback(),G.addEvent(ee,"load",function(){ne.focus(),G.settings.openCallback(),ne.print(),ee.remove(),G.settings.closeCallback(),G.removeCanvasImg()})}write(U){U.open(),U.write(`${this.docType()}<html>${this.getHead()}${this.getBody()}</html>`),U.close()}docType(){return this.settings.standard===this.standards.html5?"<!DOCTYPE html>":`<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01${this.settings.standard===this.standards.loose?" Transitional":""}//EN" "http://www.w3.org/TR/html4/${this.settings.standard===this.standards.loose?"loose":"strict"}.dtd">`}getHead(){let U="",G="",ee="";this.settings.extraHead&&this.settings.extraHead.replace(/([^,]+)/g,re=>{U+=re}),[].forEach.call(document.querySelectorAll("link"),function(re){re.href.indexOf(".css")>=0&&(G+=`<link type="text/css" rel="stylesheet" href="${re.href}" >`)});let ne=document.styleSheets;if(ne&&ne.length>0)for(let re=0;re<ne.length;re++)try{if(ne[re].cssRules||ne[re].rules){let oe=ne[re].cssRules||ne[re].rules;for(let ie=0;ie<oe.length;ie++)ee+=oe[ie].cssText}}catch(oe){console.log(ne[re].href+oe)}return this.settings.extraCss&&this.settings.extraCss.replace(/([^,\s]+)/g,re=>{G+=`<link type="text/css" rel="stylesheet" href="${re}">`}),`<head><title>${this.settings.popTitle}</title>${U}${G}<style type="text/css">${ee}</style></head>`}getBody(){let U=this.settings.ids;return U=U.replace(new RegExp("#","g"),""),this.elsdom=this.beforeHanler(document.getElementById(U)),"<body>"+this.getFormData(this.elsdom).outerHTML+"</body>"}beforeHanler(U){let G=U.querySelectorAll("canvas");for(let ee=0;ee<G.length;ee++)if(!G[ee].style.display){let ne=G[ee].parentNode,re=G[ee].toDataURL("image/png"),oe=new Image;oe.className="canvasImg",oe.style.display="none",oe.src=re,ne.appendChild(oe)}return U}getFormData(U){let G=U.cloneNode(!0),ee=G.querySelectorAll("input,select,textarea"),ne=G.querySelectorAll(".canvasImg,canvas"),re=-1;for(let oe=0;oe<ne.length;oe++){let ie=ne[oe].parentNode,le=ne[oe];le.tagName.toLowerCase()==="canvas"?ie.removeChild(le):le.style.display="block"}for(let oe=0;oe<ee.length;oe++){let ie=ee[oe],le=ie.getAttribute("type"),ae=ee[oe];if(le||(le=ie.tagName==="SELECT"?"select":ie.tagName==="TEXTAREA"?"textarea":""),ie.tagName==="INPUT")le==="radio"||le==="checkbox"?ie.checked&&ae.setAttribute("checked",ie.checked):(ae.value=ie.value,ae.setAttribute("value",ie.value));else if(le==="select"){re++;for(let se=0;se<U.querySelectorAll("select").length;se++){let ue=U.querySelectorAll("select")[se];if(!ue.getAttribute("newbs")&&ue.setAttribute("newbs",se),ue.getAttribute("newbs")==re){let ce=U.querySelectorAll("select")[re].selectedIndex;ie.options[ce].setAttribute("selected",!0)}}}else ae.innerHTML=ie.value,ae.setAttribute("html",ie.value)}return G}getPrintWindow(U){var G=this.Iframe(U);return{f:G,win:G.contentWindow||G,doc:G.doc}}previewBoxShow(){let U=document.getElementById("vue-pirnt-nb-previewBox");U&&(document.querySelector("html").setAttribute("style","overflow: hidden"),U.style.display="block")}previewBoxHide(){let U=document.getElementById("vue-pirnt-nb-previewBox");U&&(document.querySelector("html").setAttribute("style","overflow: visible;"),U.querySelector("iframe")&&U.querySelector("iframe").remove(),U.style.display="none")}previewBox(){let U=document.getElementById("vue-pirnt-nb-previewBox"),G="previewBody";if(U)return U.querySelector("iframe")&&U.querySelector("iframe").remove(),{close:U.querySelector(".previewClose"),previewBody:U.querySelector(".previewBody")};let ee=document.createElement("div");ee.setAttribute("id","vue-pirnt-nb-previewBox"),ee.setAttribute("style","position: fixed;top: 0px;left: 0px;width: 100%;height: 100%;background: white;display:none"),ee.style.zIndex=this.settings.zIndex;let ne=document.createElement("div");ne.setAttribute("class","previewHeader"),ne.setAttribute("style","padding: 5px 20px;"),ne.innerHTML=this.settings.previewTitle,ee.appendChild(ne),this.close=document.createElement("div");let re=this.close;re.setAttribute("class","previewClose"),re.setAttribute("style","position: absolute;top: 5px;right: 20px;width: 25px;height: 20px;cursor: pointer;");let oe=document.createElement("div"),ie=document.createElement("div");oe.setAttribute("class","closeBefore"),oe.setAttribute("style","position: absolute;width: 3px;height: 100%;background: #040404;transform: rotate(45deg); top: 0px;left: 50%;"),ie.setAttribute("class","closeAfter"),ie.setAttribute("style","position: absolute;width: 3px;height: 100%;background: #040404;transform: rotate(-45deg); top: 0px;left: 50%;"),re.appendChild(oe),re.appendChild(ie),ne.appendChild(re),this.previewBody=document.createElement("div");let le=this.previewBody;le.setAttribute("class",G),le.setAttribute("style","display: flex;flex-direction: column; height: 100%;"),ee.appendChild(le);let ae=document.createElement("div");ae.setAttribute("class","previewBodyUtil"),ae.setAttribute("style","height: 32px;background: #474747;position: relative;"),le.appendChild(ae),this.previewBodyUtilPrintBtn=document.createElement("div");let se=this.previewBodyUtilPrintBtn;return se.setAttribute("class","previewBodyUtilPrintBtn"),se.innerHTML=this.settings.previewPrintBtnLabel,se.setAttribute("style","position: absolute;padding: 2px 10px;margin-top: 3px;left: 24px;font-size: 14px;color: white;cursor: pointer;background-color: rgba(0,0,0,.12);background-image: linear-gradient(hsla(0,0%,100%,.05),hsla(0,0%,100%,0));background-clip: padding-box;border: 1px solid rgba(0,0,0,.35);border-color: rgba(0,0,0,.32) rgba(0,0,0,.38) rgba(0,0,0,.42);box-shadow: inset 0 1px 0 hsla(0,0%,100%,.05), inset 0 0 1px hsla(0,0%,100%,.15), 0 1px 0 hsla(0,0%,100%,.05);"),ae.appendChild(se),document.body.appendChild(ee),{close:this.close,previewBody:this.previewBody}}iframeBox(U,G){let ee=document.createElement("iframe");return ee.style.border="0px",ee.style.position="absolute",ee.style.width="0px",ee.style.height="0px",ee.style.right="0px",ee.style.top="0px",ee.setAttribute("id",U),ee.setAttribute("src",G),ee}Iframe(U){let G=this.settings.id;U=U||new Date().getTime();let ee=this,ne=this.iframeBox(G,U);try{if(this.settings.preview){ne.setAttribute("style","border: 0px;flex: 1;");let re=this.previewBox(),oe=re.previewBody,ie=re.close;oe.appendChild(ne),this.addEvent(ie,"click",function(){ee.previewBoxHide()})}else document.body.appendChild(ne);ne.doc=null,ne.doc=ne.contentDocument?ne.contentDocument:ne.contentWindow?ne.contentWindow.document:ne.document}catch(re){throw new Error(re+". iframes may not be supported in this browser.")}if(ne.doc==null)throw new Error("Cannot find document.");return ne}};var t$2={directiveName:"print",mounted(te,U,G){let ee=U.instance,ne="";var re,oe,ie;oe="click",ie=()=>{if(typeof U.value=="string")ne=U.value;else{if(typeof U.value!="object"||!U.value.id)return void window.print();{ne=U.value.id;let ae=ne.replace(new RegExp("#","g"),"");document.getElementById(ae)||(console.log("id in Error"),ne="")}}le()},(re=te).addEventListener?re.addEventListener(oe,ie,!1):re.attachEvent?re.attachEvent("on"+oe,ie):re["on"+oe]=ie;const le=()=>{new e$3({ids:ne,vue:ee,url:U.value.url,standard:"",extraHead:U.value.extraHead,extraCss:U.value.extraCss,zIndex:U.value.zIndex||20002,previewTitle:U.value.previewTitle||"打印预览",previewPrintBtnLabel:U.value.previewPrintBtnLabel||"打印",popTitle:U.value.popTitle,preview:U.value.preview||!1,asyncUrl:U.value.asyncUrl,previewBeforeOpenCallback(){U.value.previewBeforeOpenCallback&&U.value.previewBeforeOpenCallback(ee)},previewOpenCallback(){U.value.previewOpenCallback&&U.value.previewOpenCallback(ee)},openCallback(){U.value.openCallback&&U.value.openCallback(ee)},closeCallback(){U.value.closeCallback&&U.value.closeCallback(ee)},beforeOpenCallback(){U.value.beforeOpenCallback&&U.value.beforeOpenCallback(ee)}})}},install:function(te){te.directive("print",t$2)}},FieldRenderType=(te=>(te.String="string",te.Integer="interget",te))(FieldRenderType||{}),DynamicTableType=(te=>(te.Default="default",te.DataForm="dataForm",te))(DynamicTableType||{}),ItableType=(te=>(te.Link="link",te))(ItableType||{}),FieldType=(te=>(te.Text="text",te.Select="select",te.Date="date",te.DateTime="datetime",te.CheckBox="checkbox",te.Switch="switch",te.Radio="radio",te.Textarea="textarea",te.Number="number",te.NumberRange="numberRange",te.Cascader="cascader",te.Daterange="daterange",te.Monthrange="monthrange",te.File="file",te.TreeSelect="treeSelect",te.Year="year",te.Month="month",te.Hr="hr",te.Slot="slot",te.Editor="editor",te.Password="password",te.Json="json",te.Markdown="markdown",te.Rate="rate",te.TimeRange="timerange",te.Time="time",te.DateTimeRange="datetimerange",te))(FieldType||{});let nanoid=(te=21)=>crypto.getRandomValues(new Uint8Array(te)).reduce((U,G)=>(G&=63,G<36?U+=G.toString(36):G<62?U+=(G-26).toString(36).toUpperCase():G>62?U+="-":U+="_",U),"");const screenDesignMainStore=pinia.defineStore({id:"design",state:()=>({theme:localStorage.getItem("design-theme")||"",stageWidth:1920,stageHeight:1080,scale:.2,targetsWidget:[],sketchRuleLine:{h:[],v:[]},widgetConfg:{config:{backgroundColor:"transparent",backgroundImage:""},list:[]},widgetHoverIds:[],pasteWidget:[],createLoading:!1,showRightPannel:!1,tempChartData:{},chartData:{},countMap:{}}),getters:{getScale(){return this.scale},getStage(){return{stageWidth:this.stageWidth,stageHeight:this.stageHeight}},getSketchRuleLine(){return this.sketchRuleLine},getTargetWidget(){return this.targetsWidget},getWidgetConfig(){return this.widgetConfg.config},getWidgetList(){return this.widgetConfg.list},getWidgetHoverIds(){return this.widgetHoverIds},getPasteWidget(){return this.pasteWidget},getCreateLoading(){return this.createLoading},getRightPannel(){return this.showRightPannel},getTheme(){return this.theme},getChartData(){return this.chartData},getCountMap(){return this.countMap}},actions:{setSacle(te){this.scale=te/100},setSketchRuleLine(te,U){this.sketchRuleLine.h=te,this.sketchRuleLine.v=U},clearSketchRuleLine(){this.sketchRuleLine={h:[],v:[]}},setTargetWidget(te){this.targetsWidget=te},setWidgetList(te){this.widgetConfg.list=te},setWidgetHoverIds(te){this.widgetHoverIds=te},delWidgetItem(te){this.setWidgetList(this.getWidgetList.filter(U=>!te.includes(U.id))),this.setTargetWidget(this.getTargetWidget.filter(U=>!te.includes(U.id)))},copyWidgetItem(te){this.pasteWidget=[],te.forEach(U=>{const G=this.getWidgetList.find(ee=>ee.id==U);G&&this.pasteWidget.push(G)})},pasteWidgetItem(){this.pasteWidget.forEach(G=>{const ee=JSON.parse(JSON.stringify(G));let ne=ee.x,re=ee.y;ee.x+40>this.stageWidth-ee.w?ne=this.stageWidth-ee.w-40:ne+=40,ee.y+40>this.stageHeight-ee.h?re=this.stageHeight-ee.h-40:re+=40,this.widgetConfg.list.unshift({...ee,id:nanoid(),x:ne,y:re,z:this.widgetConfg.list.length+1,locked:!1})})},sortWidgetList(){this.widgetConfg.list.sort((te,U)=>U.z-te.z)},setCreateLoading(te){this.createLoading=te,te&&(this.targetsWidget=[],this.clearSketchRuleLine())},setRightPannel(te){this.showRightPannel=te},setStageWidth(te){this.stageWidth=te,this.widgetConfg.config.stageWidth=te},setStageHeight(te){this.stageHeight=te,this.widgetConfg.config.stageHeight=te},setTheme(){this.theme=this.theme=="dark"?"":"dark",document.getElementsByTagName("html")[0].className=this.theme,localStorage.setItem("design-theme",this.theme)},setChartData(te){this.chartData=te},setCountMap(te,U){this.countMap[te]=U}}});/*!
|
|
1
|
+
(function(te,U){typeof exports=="object"&&typeof module<"u"?module.exports=U(require("pinia"),require("@wangeditor/editor"),require("vue"),require("element-plus"),require("vue-draggable-plus"),require("dayjs"),require("echarts/core"),require("@wangeditor/editor-for-vue"),require("jsoneditor")):typeof define=="function"&&define.amd?define(["pinia","@wangeditor/editor","vue","element-plus","vue-draggable-plus","dayjs","echarts/core","@wangeditor/editor-for-vue","jsoneditor"],U):(te=typeof globalThis<"u"?globalThis:te||self,te["ace-component-lib"]=U(te.pinia,te.editor,te.Vue,te.elementPlus,te.vueDraggablePlus,te.dayjs,te.core,te.editorForVue,te.JsonEditor))})(this,function(pinia,editor,vue,elementPlus,vueDraggablePlus,dayjs,core,editorForVue,JsonEditor){"use strict";var Dt=Object.defineProperty;var It=(te,U,G)=>U in te?Dt(te,U,{enumerable:!0,configurable:!0,writable:!0,value:G}):te[U]=G;var Et=(te,U,G)=>(It(te,typeof U!="symbol"?U+"":U,G),G);const version="0.0.90",aceLib="";let e$3=class{constructor(U){this.standards={strict:"strict",loose:"loose",html5:"html5"},this.previewBody=null,this.close=null,this.previewBodyUtilPrintBtn=null,this.selectArray=[],this.counter=0,this.settings={standard:this.standards.html5},Object.assign(this.settings,U),this.init()}init(){this.counter++,this.settings.id=`printArea_${this.counter}`;let U="";this.settings.url&&!this.settings.asyncUrl&&(U=this.settings.url);let G=this;if(this.settings.asyncUrl)return void G.settings.asyncUrl(function(ne){let re=G.getPrintWindow(ne);G.settings.preview?G.previewIfrmaeLoad():G.print(re)},G.settings.vue);let ee=this.getPrintWindow(U);this.settings.url||this.write(ee.doc),this.settings.preview?this.previewIfrmaeLoad():this.print(ee)}addEvent(U,G,ee){U.addEventListener?U.addEventListener(G,ee,!1):U.attachEvent?U.attachEvent("on"+G,ee):U["on"+G]=ee}previewIfrmaeLoad(){let U=document.getElementById("vue-pirnt-nb-previewBox");if(U){let G=this,ee=U.querySelector("iframe");this.settings.previewBeforeOpenCallback(),this.addEvent(ee,"load",function(){G.previewBoxShow(),G.removeCanvasImg(),G.settings.previewOpenCallback()}),this.addEvent(U.querySelector(".previewBodyUtilPrintBtn"),"click",function(){G.settings.beforeOpenCallback(),G.settings.openCallback(),ee.contentWindow.print(),G.settings.closeCallback()})}}removeCanvasImg(){let U=this;try{if(U.elsdom){let G=U.elsdom.querySelectorAll(".canvasImg");for(let ee=0;ee<G.length;ee++)G[ee].remove()}}catch(G){console.log(G)}}print(U){var G=this;let ee=document.getElementById(this.settings.id)||U.f,ne=document.getElementById(this.settings.id).contentWindow||U.f.contentWindow;G.settings.beforeOpenCallback(),G.addEvent(ee,"load",function(){ne.focus(),G.settings.openCallback(),ne.print(),ee.remove(),G.settings.closeCallback(),G.removeCanvasImg()})}write(U){U.open(),U.write(`${this.docType()}<html>${this.getHead()}${this.getBody()}</html>`),U.close()}docType(){return this.settings.standard===this.standards.html5?"<!DOCTYPE html>":`<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01${this.settings.standard===this.standards.loose?" Transitional":""}//EN" "http://www.w3.org/TR/html4/${this.settings.standard===this.standards.loose?"loose":"strict"}.dtd">`}getHead(){let U="",G="",ee="";this.settings.extraHead&&this.settings.extraHead.replace(/([^,]+)/g,re=>{U+=re}),[].forEach.call(document.querySelectorAll("link"),function(re){re.href.indexOf(".css")>=0&&(G+=`<link type="text/css" rel="stylesheet" href="${re.href}" >`)});let ne=document.styleSheets;if(ne&&ne.length>0)for(let re=0;re<ne.length;re++)try{if(ne[re].cssRules||ne[re].rules){let oe=ne[re].cssRules||ne[re].rules;for(let ie=0;ie<oe.length;ie++)ee+=oe[ie].cssText}}catch(oe){console.log(ne[re].href+oe)}return this.settings.extraCss&&this.settings.extraCss.replace(/([^,\s]+)/g,re=>{G+=`<link type="text/css" rel="stylesheet" href="${re}">`}),`<head><title>${this.settings.popTitle}</title>${U}${G}<style type="text/css">${ee}</style></head>`}getBody(){let U=this.settings.ids;return U=U.replace(new RegExp("#","g"),""),this.elsdom=this.beforeHanler(document.getElementById(U)),"<body>"+this.getFormData(this.elsdom).outerHTML+"</body>"}beforeHanler(U){let G=U.querySelectorAll("canvas");for(let ee=0;ee<G.length;ee++)if(!G[ee].style.display){let ne=G[ee].parentNode,re=G[ee].toDataURL("image/png"),oe=new Image;oe.className="canvasImg",oe.style.display="none",oe.src=re,ne.appendChild(oe)}return U}getFormData(U){let G=U.cloneNode(!0),ee=G.querySelectorAll("input,select,textarea"),ne=G.querySelectorAll(".canvasImg,canvas"),re=-1;for(let oe=0;oe<ne.length;oe++){let ie=ne[oe].parentNode,le=ne[oe];le.tagName.toLowerCase()==="canvas"?ie.removeChild(le):le.style.display="block"}for(let oe=0;oe<ee.length;oe++){let ie=ee[oe],le=ie.getAttribute("type"),ae=ee[oe];if(le||(le=ie.tagName==="SELECT"?"select":ie.tagName==="TEXTAREA"?"textarea":""),ie.tagName==="INPUT")le==="radio"||le==="checkbox"?ie.checked&&ae.setAttribute("checked",ie.checked):(ae.value=ie.value,ae.setAttribute("value",ie.value));else if(le==="select"){re++;for(let se=0;se<U.querySelectorAll("select").length;se++){let ue=U.querySelectorAll("select")[se];if(!ue.getAttribute("newbs")&&ue.setAttribute("newbs",se),ue.getAttribute("newbs")==re){let ce=U.querySelectorAll("select")[re].selectedIndex;ie.options[ce].setAttribute("selected",!0)}}}else ae.innerHTML=ie.value,ae.setAttribute("html",ie.value)}return G}getPrintWindow(U){var G=this.Iframe(U);return{f:G,win:G.contentWindow||G,doc:G.doc}}previewBoxShow(){let U=document.getElementById("vue-pirnt-nb-previewBox");U&&(document.querySelector("html").setAttribute("style","overflow: hidden"),U.style.display="block")}previewBoxHide(){let U=document.getElementById("vue-pirnt-nb-previewBox");U&&(document.querySelector("html").setAttribute("style","overflow: visible;"),U.querySelector("iframe")&&U.querySelector("iframe").remove(),U.style.display="none")}previewBox(){let U=document.getElementById("vue-pirnt-nb-previewBox"),G="previewBody";if(U)return U.querySelector("iframe")&&U.querySelector("iframe").remove(),{close:U.querySelector(".previewClose"),previewBody:U.querySelector(".previewBody")};let ee=document.createElement("div");ee.setAttribute("id","vue-pirnt-nb-previewBox"),ee.setAttribute("style","position: fixed;top: 0px;left: 0px;width: 100%;height: 100%;background: white;display:none"),ee.style.zIndex=this.settings.zIndex;let ne=document.createElement("div");ne.setAttribute("class","previewHeader"),ne.setAttribute("style","padding: 5px 20px;"),ne.innerHTML=this.settings.previewTitle,ee.appendChild(ne),this.close=document.createElement("div");let re=this.close;re.setAttribute("class","previewClose"),re.setAttribute("style","position: absolute;top: 5px;right: 20px;width: 25px;height: 20px;cursor: pointer;");let oe=document.createElement("div"),ie=document.createElement("div");oe.setAttribute("class","closeBefore"),oe.setAttribute("style","position: absolute;width: 3px;height: 100%;background: #040404;transform: rotate(45deg); top: 0px;left: 50%;"),ie.setAttribute("class","closeAfter"),ie.setAttribute("style","position: absolute;width: 3px;height: 100%;background: #040404;transform: rotate(-45deg); top: 0px;left: 50%;"),re.appendChild(oe),re.appendChild(ie),ne.appendChild(re),this.previewBody=document.createElement("div");let le=this.previewBody;le.setAttribute("class",G),le.setAttribute("style","display: flex;flex-direction: column; height: 100%;"),ee.appendChild(le);let ae=document.createElement("div");ae.setAttribute("class","previewBodyUtil"),ae.setAttribute("style","height: 32px;background: #474747;position: relative;"),le.appendChild(ae),this.previewBodyUtilPrintBtn=document.createElement("div");let se=this.previewBodyUtilPrintBtn;return se.setAttribute("class","previewBodyUtilPrintBtn"),se.innerHTML=this.settings.previewPrintBtnLabel,se.setAttribute("style","position: absolute;padding: 2px 10px;margin-top: 3px;left: 24px;font-size: 14px;color: white;cursor: pointer;background-color: rgba(0,0,0,.12);background-image: linear-gradient(hsla(0,0%,100%,.05),hsla(0,0%,100%,0));background-clip: padding-box;border: 1px solid rgba(0,0,0,.35);border-color: rgba(0,0,0,.32) rgba(0,0,0,.38) rgba(0,0,0,.42);box-shadow: inset 0 1px 0 hsla(0,0%,100%,.05), inset 0 0 1px hsla(0,0%,100%,.15), 0 1px 0 hsla(0,0%,100%,.05);"),ae.appendChild(se),document.body.appendChild(ee),{close:this.close,previewBody:this.previewBody}}iframeBox(U,G){let ee=document.createElement("iframe");return ee.style.border="0px",ee.style.position="absolute",ee.style.width="0px",ee.style.height="0px",ee.style.right="0px",ee.style.top="0px",ee.setAttribute("id",U),ee.setAttribute("src",G),ee}Iframe(U){let G=this.settings.id;U=U||new Date().getTime();let ee=this,ne=this.iframeBox(G,U);try{if(this.settings.preview){ne.setAttribute("style","border: 0px;flex: 1;");let re=this.previewBox(),oe=re.previewBody,ie=re.close;oe.appendChild(ne),this.addEvent(ie,"click",function(){ee.previewBoxHide()})}else document.body.appendChild(ne);ne.doc=null,ne.doc=ne.contentDocument?ne.contentDocument:ne.contentWindow?ne.contentWindow.document:ne.document}catch(re){throw new Error(re+". iframes may not be supported in this browser.")}if(ne.doc==null)throw new Error("Cannot find document.");return ne}};var t$2={directiveName:"print",mounted(te,U,G){let ee=U.instance,ne="";var re,oe,ie;oe="click",ie=()=>{if(typeof U.value=="string")ne=U.value;else{if(typeof U.value!="object"||!U.value.id)return void window.print();{ne=U.value.id;let ae=ne.replace(new RegExp("#","g"),"");document.getElementById(ae)||(console.log("id in Error"),ne="")}}le()},(re=te).addEventListener?re.addEventListener(oe,ie,!1):re.attachEvent?re.attachEvent("on"+oe,ie):re["on"+oe]=ie;const le=()=>{new e$3({ids:ne,vue:ee,url:U.value.url,standard:"",extraHead:U.value.extraHead,extraCss:U.value.extraCss,zIndex:U.value.zIndex||20002,previewTitle:U.value.previewTitle||"打印预览",previewPrintBtnLabel:U.value.previewPrintBtnLabel||"打印",popTitle:U.value.popTitle,preview:U.value.preview||!1,asyncUrl:U.value.asyncUrl,previewBeforeOpenCallback(){U.value.previewBeforeOpenCallback&&U.value.previewBeforeOpenCallback(ee)},previewOpenCallback(){U.value.previewOpenCallback&&U.value.previewOpenCallback(ee)},openCallback(){U.value.openCallback&&U.value.openCallback(ee)},closeCallback(){U.value.closeCallback&&U.value.closeCallback(ee)},beforeOpenCallback(){U.value.beforeOpenCallback&&U.value.beforeOpenCallback(ee)}})}},install:function(te){te.directive("print",t$2)}},FieldRenderType=(te=>(te.String="string",te.Integer="interget",te))(FieldRenderType||{}),DynamicTableType=(te=>(te.Default="default",te.DataForm="dataForm",te))(DynamicTableType||{}),ItableType=(te=>(te.Link="link",te))(ItableType||{}),FieldType=(te=>(te.Text="text",te.Select="select",te.Date="date",te.DateTime="datetime",te.CheckBox="checkbox",te.Switch="switch",te.Radio="radio",te.Textarea="textarea",te.Number="number",te.NumberRange="numberRange",te.Cascader="cascader",te.Daterange="daterange",te.Monthrange="monthrange",te.File="file",te.TreeSelect="treeSelect",te.Year="year",te.Month="month",te.Hr="hr",te.Slot="slot",te.Editor="editor",te.Password="password",te.Json="json",te.Markdown="markdown",te.Rate="rate",te.TimeRange="timerange",te.Time="time",te.DateTimeRange="datetimerange",te))(FieldType||{});let nanoid=(te=21)=>crypto.getRandomValues(new Uint8Array(te)).reduce((U,G)=>(G&=63,G<36?U+=G.toString(36):G<62?U+=(G-26).toString(36).toUpperCase():G>62?U+="-":U+="_",U),"");const screenDesignMainStore=pinia.defineStore({id:"design",state:()=>({theme:localStorage.getItem("design-theme")||"",stageWidth:1920,stageHeight:1080,scale:.2,targetsWidget:[],sketchRuleLine:{h:[],v:[]},widgetConfg:{config:{backgroundColor:"transparent",backgroundImage:""},list:[]},widgetHoverIds:[],pasteWidget:[],createLoading:!1,showRightPannel:!1,tempChartData:{},chartData:{},countMap:{}}),getters:{getScale(){return this.scale},getStage(){return{stageWidth:this.stageWidth,stageHeight:this.stageHeight}},getSketchRuleLine(){return this.sketchRuleLine},getTargetWidget(){return this.targetsWidget},getWidgetConfig(){return this.widgetConfg.config},getWidgetList(){return this.widgetConfg.list},getWidgetHoverIds(){return this.widgetHoverIds},getPasteWidget(){return this.pasteWidget},getCreateLoading(){return this.createLoading},getRightPannel(){return this.showRightPannel},getTheme(){return this.theme},getChartData(){return this.chartData},getCountMap(){return this.countMap}},actions:{setSacle(te){this.scale=te/100},setSketchRuleLine(te,U){this.sketchRuleLine.h=te,this.sketchRuleLine.v=U},clearSketchRuleLine(){this.sketchRuleLine={h:[],v:[]}},setTargetWidget(te){this.targetsWidget=te},setWidgetList(te){this.widgetConfg.list=te},setWidgetHoverIds(te){this.widgetHoverIds=te},delWidgetItem(te){this.setWidgetList(this.getWidgetList.filter(U=>!te.includes(U.id))),this.setTargetWidget(this.getTargetWidget.filter(U=>!te.includes(U.id)))},copyWidgetItem(te){this.pasteWidget=[],te.forEach(U=>{const G=this.getWidgetList.find(ee=>ee.id==U);G&&this.pasteWidget.push(G)})},pasteWidgetItem(){this.pasteWidget.forEach(G=>{const ee=JSON.parse(JSON.stringify(G));let ne=ee.x,re=ee.y;ee.x+40>this.stageWidth-ee.w?ne=this.stageWidth-ee.w-40:ne+=40,ee.y+40>this.stageHeight-ee.h?re=this.stageHeight-ee.h-40:re+=40,this.widgetConfg.list.unshift({...ee,id:nanoid(),x:ne,y:re,z:this.widgetConfg.list.length+1,locked:!1})})},sortWidgetList(){this.widgetConfg.list.sort((te,U)=>U.z-te.z)},setCreateLoading(te){this.createLoading=te,te&&(this.targetsWidget=[],this.clearSketchRuleLine())},setRightPannel(te){this.showRightPannel=te},setStageWidth(te){this.stageWidth=te,this.widgetConfg.config.stageWidth=te},setStageHeight(te){this.stageHeight=te,this.widgetConfg.config.stageHeight=te},setTheme(){this.theme=this.theme=="dark"?"":"dark",document.getElementsByTagName("html")[0].className=this.theme,localStorage.setItem("design-theme",this.theme)},setChartData(te){this.chartData=te},setCountMap(te,U){this.countMap[te]=U}}});/*!
|
|
2
2
|
* Compressor.js v1.2.1
|
|
3
3
|
* https://fengyuanchen.github.io/compressorjs
|
|
4
4
|
*
|
|
@@ -894,7 +894,7 @@ ${ue} div ,${ue} span,${ue} a,${ue} * {
|
|
|
894
894
|
}`),Ee=vue.ref([]),Ve=vue.ref(!1),Se=vue.ref([]),ke=vue.ref(!1),Ne=vue.ref(null),Ie=vue.ref(""),Pe=vue.computed(()=>Oe.find(Me=>Me.fieldName=="extractType"));vue.watch(_e,Me=>{Me&&!vue.unref(Se).length&&Re("javascript",!1)});const Te=(Me=!1)=>{const ze=Be.find(Ge=>Ge.fieldName=="modelLayer");Me&&(ze.value=""),(ze.options??[]).forEach(Ge=>{Ge.disabled=vue.unref(he)=="view",Ge.value=="ODSVIEW"&&(Ge.disabled=vue.unref(he)!="view")})},De=vue.ref(""),Be=vue.reactive([{name:"项目名称",type:FieldType.Select,fieldName:"projectId",value:"",required:!0,props:{url:"/api/ace-data-center/project/options",label:"label",value:"code"},hide:!0},{name:"模型层级",type:FieldType.Select,fieldName:"modelLayer",value:"",required:!0,props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelLayer",label:"dictValue",value:"dictKey"},optionsSuccess:()=>{Te()},changeFunc:Me=>{const ze=Be.find(We=>We.fieldName==="modelType");ze.required=Me.value=="DWD",ze.disabled=Me.value!="DWD";const Ge=`${((Me==null?void 0:Me.value)??"").toLocaleLowerCase()}_`;De.value=Ge,Be.find(We=>We.fieldName==="modelCode").prepend=vue.h("div",{},Ge)}},{name:"模型名称",type:FieldType.Text,fieldName:"modelName",value:"",required:!0},{name:"模型表名",type:FieldType.Text,fieldName:"modelCode",value:"",required:!0},{name:"模型类型",type:FieldType.Select,fieldName:"modelType",value:"",props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelType",label:"dictValue",value:"dictKey"}}]);vue.watch(he,Me=>{ve.value=[{label:"输出结果",value:"1",num:"②",isRequired:!1}],Me=="view"?ve.value.push({label:"输出模型",value:"2",num:"③",isRequired:!1}):ee.widgetType=="model-add"?ve.value.push({label:"ETL插件编写",value:"2",num:"③",isRequired:!1},{label:"输出模型",value:"3",num:"④",isRequired:!0},{label:"方案作业配置",value:"4",num:"⑤",isRequired:!0}):ve.value.push({label:"ETL插件编写",value:"2",num:"③",isRequired:!1},{label:"方案作业配置",value:"4",num:"④",isRequired:!0}),Te(!0)},{immediate:!0});const Oe=vue.reactive([{name:"方案名称",type:FieldType.Text,fieldName:"extractName",value:"",required:!0},{name:"数据流类型",type:FieldType.Radio,fieldName:"streamType",value:"",required:!0,options:[{label:"标准流",value:"STANDARD"},{label:"自定义流",value:"CUSTOM"}]},{name:"数据流类型",type:FieldType.Radio,fieldName:"extractType",value:"",required:!0,options:[{label:"全量抽取",value:"1"},{label:"增量抽取",value:"2"},{label:"协同抽取",value:"3"}],changeFunc:Me=>{Oe.find(ze=>ze.fieldName=="incrementalField").hide=Me.value!=2}},{name:"增量字段",type:FieldType.Slot,fieldName:"incrementalField",value:"",required:!0,hide:!0,tip:"该字段必须为本模型字段,并且是SQL结果集中存在的字段"},{name:"taskDefinedId",type:FieldType.Text,fieldName:"taskDefinedId",hide:!0},{name:"id",type:FieldType.Text,fieldName:"id",hide:!0}]),Ae=vue.ref(null),Le=(Me={})=>{vue.nextTick(()=>{if(he.value=ee.widgetType.indexOf("ODSVIEW")==-1?"dataTable":"view",oe(Me??{},Oe),Me!=null&&Me.taskDefined&&(ke.value=!0),ee.widgetType.indexOf("ODSVIEW")>=0&&(pe.value="2"),Ce.value=(Me==null?void 0:Me.extractSql)??"",we.value=(Me==null?void 0:Me.extractPluginScript)??`function plugin(item){
|
|
895
895
|
var data=JSON.parse(item);
|
|
896
896
|
return JSON.stringify(data)
|
|
897
|
-
}`,vue.unref(Ne).init((Me==null?void 0:Me.taskDefined)??{}),Ae.value=(Me==null?void 0:Me.taskDefined)??null,ye.value="",re.$baseHttp.get("/api/ace-data-center/data-source/options?type=3").then(ze=>{xe.value=ze.data}),ee.widgetType.indexOf("ODSVIEW")>=0){Me.modelCode=Me.modelCode.replace("odsview_",""),oe({...Me,projectId:re.$baseGetCurrentProjectId()},Be),Me.viewQuerySql&&(Ce.value=Me.viewQuerySql);return}oe({modelLayer:"",projectId:re.$baseGetCurrentProjectId()},Be)})},Re=async(Me,ze=!0)=>{Ve.value=!0;const Ge={dataSourceId:vue.unref(ye),extractSql:vue.unref(Ce),projectId:re.$baseGetCurrentProjectId()};Me==="javascript"&&(Ge.extractPluginScript=vue.unref(we)||"",Ge.streamType=Oe.find(Ue=>Ue.fieldName=="streamType").value);const We=await re.$baseHttp.post("/api/ace-data-center/db-extract/dbExtractDebug",Ge);Ve.value=!1,We&&(Me==="sql"?$e.value=We.data:(Ee.value=We.data,ee.widgetType=="model-add"&&re.$baseHttp.post("/api/ace-data-center/model/autoParseToModel",Ge).then(Ue=>{Ue&&(Se.value=Ue.data)})),ze&&le({type:"success",message:"执行成功"}))},Fe=async()=>{vue.nextTick(async()=>{var Ge;let Me;if(!vue.unref(Ce)){le({type:"warning",message:"请输入SQL"});return}if(!vue.unref(we)){le({type:"warning",message:"请输入javascript"});return}let ze={};if(!(vue.unref(he)=="dataTable"&&(ze=je(),!ze))){if(ee.widgetType=="model-add"||ee.widgetType.indexOf("ODSVIEW")>=0){pe.value=vue.unref(he)=="view"?"2":"3";const{params:We,error:Ue}=ie(Be);if(Ue.length>0)return;if(!await((Ge=vue.unref(be))==null?void 0:Ge.validate())){le({type:"warning",message:"映射字段有误请核对"});return}const Ye=vue.unref(be).isRepeat();if(Ye!==""){re.$baseAlert({content:Ye});return}if(!vue.unref(Se).length){le({type:"warning",message:"字段不能为空"});return}const Je={...We,modelCode:vue.unref(De)+We.modelCode,dataSourceId:vue.unref(ye),projectId:String(re.$baseGetCurrentProjectId()),listModelAttribute:vue.unref(Se),viewQuerySql:We.modelLayer==="ODSVIEW"?vue.unref(Ce):""};if(ee.widgetType.indexOf("ODSVIEW")>=0&&Je.listModelAttribute.forEach(Xe=>{delete Xe.id}),Me=await re.$baseHttp.post("/api/ace-data-center/model/saveModelDetail",Je,{headers:{loading:!0}}),!Me||(Ie.value=Me.data,Me=await re.$baseHttp.post(`/api/ace-data-center/model/settingPublishStatus/${vue.unref(Ie)}/2`),!Me))return}vue.unref(he)!="view"&&(Me=await re.$baseHttp.post("/api/ace-data-center/db-extract/submitDbExtract",{execExtract:0,dataSourceId:vue.unref(ye),modelId:vue.unref(Ie),projectId:re.$baseGetCurrentProjectId(),...ze}),!Me)||(le({type:"success",message:"操作成功"}),ne("success"))}})},je=()=>{const{params:Me,error:ze}=ie(Oe);if(ze.length>0){pe.value="3",le({type:"warning",message:"方案配置有误"});return}if(vue.unref(ke)){const{params:Ge,error:We}=vue.unref(Ne).getForm();if(We.length>0){pe.value="3",le({type:"warning",message:"作业配置有误"});return}Me.taskDefined={...vue.unref(Ae)??{},...Ge}}return{...Me,extractPluginScript:vue.unref(we),extractSql:vue.unref(Ce)}};return U({init:Le,modelId:Ie,listModelAttribute:Se,extractSql:Ce,handleSubmit:Fe}),(Me,ze)=>{var Xe,Ke;const Ge=vue.resolveComponent("AppCodemirror"),We=vue.resolveComponent("AppTable"),Ue=vue.resolveComponent("AppJson"),qe=vue.resolveComponent("AppForm"),Ye=vue.resolveComponent("aceHeader"),Je=vue.resolveComponent("AppTaskDesign");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$F,[vue.createElementVNode("div",_hoisted_2$y,[vue.createElementVNode("div",_hoisted_3$s,[vue.createElementVNode("div",_hoisted_4$r,[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(ue,He=>vue.createElementVNode("span",{class:vue.normalizeClass(["h-item",{active:vue.unref(ce)==He.value}]),onClick:Qe=>fe.value=He.value},[vue.createElementVNode("span",_hoisted_6$h,vue.toDisplayString(He.num),1),vue.createTextVNode(" "+vue.toDisplayString(He.label),1)],10,_hoisted_5$l)),64)),vue.createElementVNode("span",_hoisted_7$f,[vue.createTextVNode(" 当前数据仓库为: "),vue.createElementVNode("span",_hoisted_8$b,vue.toDisplayString(vue.unref(se)),1),vue.createTextVNode(" 注意sql语法 ")]),vue.createVNode(vue.unref(elementPlus.ElSelect),{modelValue:vue.unref(ye),"onUpdate:modelValue":ze[0]||(ze[0]=He=>vue.isRef(ye)?ye.value=He:null),placeholder:"请选择数据源选项",clearable:!0,teleported:!1,class:"w-40 ml-2",size:"small"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(xe),He=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{key:He.code,label:He.label,value:He.code},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),vue.createElementVNode("div",_hoisted_9$a,[vue.createVNode(vue.unref(elementPlus.ElLink),{disabled:vue.unref(Ve),type:"warning",class:"flex items-center",onClick:ze[1]||(ze[1]=He=>Re("sql"))},{default:vue.withCtx(()=>[_hoisted_10$9,vue.createTextVNode(" 执行SQL ")]),_:1},8,["disabled"])])]),vue.createElementVNode("div",_hoisted_11$7,[vue.unref(ce)=="1"?(vue.openBlock(),vue.createBlock(Ge,{key:0,extensions:"sql",modelValue:vue.unref(Ce),"onUpdate:modelValue":ze[2]||(ze[2]=He=>vue.isRef(Ce)?Ce.value=He:null),style:{height:"100%"}},null,8,["modelValue"])):vue.createCommentVNode("",!0)])]),vue.createElementVNode("div",_hoisted_12$6,[vue.createElementVNode("div",_hoisted_13$4,[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(de,He=>vue.createElementVNode("span",{class:vue.normalizeClass(["h-item",{active:vue.unref(fe)==He.value}]),onClick:Qe=>fe.value=He.value},vue.toDisplayString(He.label),11,_hoisted_14$3)),64))]),vue.createElementVNode("div",_hoisted_15$2,[vue.unref(fe)=="1"?(vue.openBlock(),vue.createBlock(We,{key:0,tableData:(Xe=vue.unref($e))!=null&&Xe.length?Object.keys(vue.unref($e)[0]).map(He=>({label:He,prop:He})):[],list:vue.unref($e)??[]},null,8,["tableData","list"])):vue.createCommentVNode("",!0),vue.unref(fe)=="2"?(vue.openBlock(),vue.createBlock(Ue,{key:1,style:{height:"100%"},modelValue:vue.unref($e),"onUpdate:modelValue":ze[3]||(ze[3]=He=>vue.isRef($e)?$e.value=He:null)},null,8,["modelValue"])):vue.createCommentVNode("",!0)])])]),vue.createElementVNode("div",_hoisted_16$2,[vue.createElementVNode("div",_hoisted_17$2,[vue.createElementVNode("div",_hoisted_18$2,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(ve),He=>(vue.openBlock(),vue.createElementBlock("span",{class:vue.normalizeClass(["h-item",{active:vue.unref(pe)==He.value}]),onClick:Qe=>pe.value=He.value},[He.isRequired?(vue.openBlock(),vue.createElementBlock("span",_hoisted_20$2,"*")):vue.createCommentVNode("",!0),vue.createElementVNode("span",_hoisted_21$2,vue.toDisplayString(He.num),1),vue.createTextVNode(" "+vue.toDisplayString(He.label),1)],10,_hoisted_19$2))),256)),vue.unref(he)!="view"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_22$2,[vue.createVNode(vue.unref(elementPlus.ElLink),{disabled:vue.unref(Ve),type:"warning",class:"flex items-center",onClick:ze[4]||(ze[4]=He=>Re("javascript"))},{default:vue.withCtx(()=>[_hoisted_23$2,vue.createTextVNode(" 执行插件 ")]),_:1},8,["disabled"])])):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_24$1,[vue.unref(pe)=="1"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_25$1,[vue.createVNode(vue.unref(elementPlus.ElRadioGroup),{modelValue:vue.unref(he),"onUpdate:modelValue":ze[5]||(ze[5]=He=>vue.isRef(he)?he.value=He:null)},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElRadioButton),{value:"view",disabled:Me.widgetType!="model-add"&&Me.widgetType.indexOf("ODSVIEW")==-1},{default:vue.withCtx(()=>[_hoisted_26$1,vue.createTextVNode(" 保存为视图 ")]),_:1},8,["disabled"]),vue.createVNode(vue.unref(elementPlus.ElRadioButton),{value:"dataTable",disabled:Me.widgetType.indexOf("ODSVIEW")>=0},{default:vue.withCtx(()=>[_hoisted_27,vue.createTextVNode(" 保存为数据表 ")]),_:1},8,["disabled"])]),_:1},8,["modelValue"])])):vue.createCommentVNode("",!0),vue.unref(he)=="dataTable"&&vue.unref(pe)=="2"?(vue.openBlock(),vue.createBlock(Ge,{key:1,modelValue:vue.unref(we),"onUpdate:modelValue":ze[6]||(ze[6]=He=>vue.isRef(we)?we.value=He:null),style:{height:"100%"}},null,8,["modelValue"])):vue.createCommentVNode("",!0),vue.withDirectives(vue.createElementVNode("div",_hoisted_28,[vue.createVNode(qe,{form:vue.unref(Be),col:1,class:"mt-2"},null,8,["form"]),vue.createVNode(vue.unref(elementPlus.ElPopover),{placement:"top-end",trigger:"click",width:"1000px",teleported:!1,visible:vue.unref(_e),"onUpdate:visible":ze[8]||(ze[8]=He=>vue.isRef(_e)?_e.value=He:null)},{reference:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElLink),{type:"primary",class:"ml-7"},{default:vue.withCtx(()=>[_hoisted_30,vue.createTextVNode(" 字段映射("+vue.toDisplayString(vue.unref(Se).length)+") ",1)]),_:1})]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_29,[vue.createVNode(Attribute,{ref_key:"attributeRef",ref:be,modelValue:vue.unref(Se),"onUpdate:modelValue":ze[7]||(ze[7]=He=>vue.isRef(Se)?Se.value=He:null)},null,8,["modelValue"])])]),_:1},8,["visible"])],512),[[vue.vShow,vue.unref(he)=="view"&&vue.unref(pe)=="2"||vue.unref(he)=="dataTable"&&vue.unref(pe)=="3"]]),vue.withDirectives(vue.createElementVNode("div",_hoisted_31,[vue.createVNode(qe,{form:vue.unref(Oe)},{incrementalField:vue.withCtx(({element:He})=>[vue.createVNode(vue.unref(elementPlus.ElSelect),{teleported:!1,modelValue:He.value,"onUpdate:modelValue":Qe=>He.value=Qe,placeholder:"请选择"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(Se),Qe=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{key:Qe.id,label:`${Qe.attributeCode}(${Qe.attributeComment||Qe.attributeCode})`,value:Qe.attributeCode},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:1},8,["form"]),vue.withDirectives(vue.createElementVNode("div",_hoisted_32,[vue.createVNode(Ye,{title:"作业配置",class:"mb-2"},{left:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElCheckbox),{class:"ml-2",modelValue:vue.unref(ke),"onUpdate:modelValue":ze[9]||(ze[9]=He=>vue.isRef(ke)?ke.value=He:null)},{default:vue.withCtx(()=>[vue.createTextVNode("作业配置")]),_:1},8,["modelValue"])]),_:1}),vue.withDirectives(vue.createElementVNode("div",null,[vue.createVNode(Je,{ref_key:"taskDesignRef",ref:Ne},null,512)],512),[[vue.vShow,vue.unref(ke)]])],512),[[vue.vShow,["1","2"].includes(vue.unref(Pe).value)]])],512),[[vue.vShow,vue.unref(pe)=="4"]])])]),vue.unref(he)!="view"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_33,[vue.createElementVNode("div",_hoisted_34,[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(ge,He=>vue.createElementVNode("span",{class:vue.normalizeClass(["h-item",{active:vue.unref(me)==He.value}]),onClick:Qe=>me.value=He.value},vue.toDisplayString(He.label),11,_hoisted_35)),64))]),vue.createElementVNode("div",_hoisted_36,[vue.unref(me)=="1"?(vue.openBlock(),vue.createBlock(We,{key:0,tableData:(Ke=vue.unref(Ee))!=null&&Ke.length?Object.keys(vue.unref(Ee)[0]).map(He=>({label:He,prop:He})):[],list:vue.unref(Ee)??[]},null,8,["tableData","list"])):vue.createCommentVNode("",!0),vue.unref(me)=="2"?(vue.openBlock(),vue.createBlock(Ue,{key:1,style:{height:"100%"},modelValue:vue.unref(Ee),"onUpdate:modelValue":ze[10]||(ze[10]=He=>vue.isRef(Ee)?Ee.value=He:null)},null,8,["modelValue"])):vue.createCommentVNode("",!0)])])):vue.createCommentVNode("",!0)])])}}}),design_vue_vue_type_style_index_0_scoped_22676e4d_lang="",Design=_export_sfc$2(_sfc_main$O,[["__scopeId","data-v-22676e4d"]]),_withScopeId$e=te=>(vue.pushScopeId("data-v-6eba707e"),te=te(),vue.popScopeId(),te),_hoisted_1$E={class:"flex items-center mt-2"},_hoisted_2$x={class:"flex-1"},_hoisted_3$r={class:"mt-2 text-gray-400"},_hoisted_4$q={class:"text-xs text-gray-400"},_hoisted_5$k=_withScopeId$e(()=>vue.createElementVNode("label",null,"模型名称:",-1)),_hoisted_6$g=_withScopeId$e(()=>vue.createElementVNode("label",null,"模型代码:",-1)),_hoisted_7$e=_withScopeId$e(()=>vue.createElementVNode("label",null,"模型描述:",-1)),_sfc_main$N=vue.defineComponent({__name:"sql",props:{modelId:{default:""}},emits:["success"],setup(te,{expose:U,emit:G}){const ee=te,ne=G,{proxy:re}=vue.getCurrentInstance(),oe=vue.ref(null),ie=vue.ref(!1),le=vue.ref(""),ae=vue.ref(""),se=vue.ref([]),ue=vue.ref({}),ce=(me,_e="")=>{ue.value={},se.value=[],ie.value=!0,le.value=me,[{label:"源数据",value:"odsy"},{label:"整合数据",value:"dwdy"}].forEach(be=>{se.value.push({...be,attributeList:{},options:[],selectValue:[],currentVal:"",checkAttributeList:[]})}),me!="model-add"&&me.indexOf("ODSVIEW")==-1&&se.value.push({label:"DWD目标",value:"dwdmb"}),ae.value=vue.unref(se)[0].value,fetch$1(re).allModel({modelLayer:"ODS"}).then(be=>{vue.unref(se).find(ye=>ye.value=="odsy").options=be.data}),fetch$1(re).allModel({modelLayer:"DWD"}).then(be=>{vue.unref(se).find(ye=>ye.value=="dwdy").options=be.data}),vue.nextTick(()=>{ee.modelId?(vue.unref(oe).modelId=ee.modelId,fetch$1(re).allModelAttribute({modelId:ee.modelId}).then(be=>{const ye=vue.unref(se).find(xe=>xe.value=="dwdmb");ye&&(ye.attributeList=be.data),vue.unref(oe).listModelAttribute=be.data}),re.$baseHttp.get(`/api/ace-data-center/model/detail?id=${ee.modelId}`,{headers:{loading:!0}}).then(be=>{ue.value=be.data,me.indexOf("ODSVIEW")>=0&&vue.unref(oe).init(be.data)}),_e?re.$baseHttp.get(`/api/ace-data-center/db-extract/detailAndTask?dbExtractId=${_e}`).then(be=>{vue.unref(oe).init(me=="COPY"?{...be.data,id:null,extractType:null,incrementalField:null,status:null,taskDefined:null,taskDefinedId:null,createUser:null,createDept:null,createTime:null,updateUser:null,updateTime:null}:be.data)}):vue.unref(oe).init()):vue.unref(oe).init()})},de=me=>{ae.value=me},fe=(me,_e="")=>_e?me.options.find(be=>be.id==_e):me.options.find(be=>be.id==me.currentVal),ve=me=>{var _e;if(me.selectValue.length){const be=me.selectValue.at(-1);me.currentVal=(_e=fe(me,be))==null?void 0:_e.id,he(me);return}me.currentVal=""},he=me=>{me.attributeList[me.currentVal]||fetch$1(re).allModelAttribute({modelId:me.currentVal}).then(_e=>{me.attributeList[me.currentVal]=_e.data})},pe=me=>{var _e;vue.unref(oe).extractSql+=`select ${me.checkAttributeList.map(be=>be.attributeCode).toString()} from ${(_e=fe(me))==null?void 0:_e.modelCode}`},ge=()=>{ie.value=!1,ne("success",le.value,vue.unref(oe).modelId)};return U({init:ce}),(me,_e)=>{const be=vue.resolveComponent("aceHeader"),ye=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock(ye,{modelValue:vue.unref(ie),"onUpdate:modelValue":_e[2]||(_e[2]=xe=>vue.isRef(ie)?ie.value=xe:null),title:"SQL数据整合抽取",size:"100%"},{footer:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",type:"primary",onClick:_e[0]||(_e[0]=xe=>vue.unref(oe).handleSubmit())},{default:vue.withCtx(()=>[vue.createTextVNode("提交")]),_:1}),vue.renderSlot(me.$slots,"formFooter",{},void 0,!0),vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",onClick:_e[1]||(_e[1]=xe=>ie.value=!1)},{default:vue.withCtx(()=>[vue.createTextVNode("取消")]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElContainer),{class:"h-full overflow-hidden"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElAside),{class:"flex flex-col pr-4 mr-5",style:{width:"280px",overflow:"hidden"}},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButtonGroup),null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(se),xe=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElButton),{onClick:Ce=>de(xe.value),type:vue.unref(ae)==xe.value?"primary":"",key:xe.value},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(xe.label),1)]),_:2},1032,["onClick","type"]))),128))]),_:1}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(se),xe=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:xe.value},[xe.value==vue.unref(ae)&&["odsy","dwdy"].includes(xe.value)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(be,{class:"mt-2",title:"模型选择"}),vue.createElementVNode("div",_hoisted_1$E,[vue.createElementVNode("div",_hoisted_2$x,[vue.createVNode(vue.unref(elementPlus.ElSelect),{modelValue:xe.selectValue,"onUpdate:modelValue":Ce=>xe.selectValue=Ce,teleported:!1,onChange:()=>ve(xe),multiple:"","collapse-tags":"",clearable:"",placeholder:"请选择一个模型",class:"w-full"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(xe.options,Ce=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{key:Ce.id,label:Ce.modelName,value:Ce.id},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]),xe.selectValue.length?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElPopover),{key:0,placement:"right",width:"300",teleported:!1,trigger:"hover"},{reference:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElBadge),{value:xe.selectValue.length,class:"ml-4"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElLink),null,{default:vue.withCtx(()=>[vue.createTextVNode("模型")]),_:1})]),_:2},1032,["value"])]),default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(xe.selectValue,Ce=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTag),{key:Ce,type:xe.currentVal==Ce?"warning":"primary",onClick:$e=>{xe.currentVal=Ce,he(xe)},style:{margin:"0 7px 7px 0",cursor:"pointer"}},{default:vue.withCtx(()=>{var $e;return[vue.createTextVNode(vue.toDisplayString(($e=fe(xe,Ce))==null?void 0:$e.modelName),1)]}),_:2},1032,["type","onClick"]))),128))]),_:2},1024)):vue.createCommentVNode("",!0)]),xe.currentVal?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTooltip),{key:0,effect:"dark",content:`${fe(xe).modelName}[${fe(xe).modelCode}]`,placement:"bottom"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$r,vue.toDisplayString(`${fe(xe).modelName}[${fe(xe).modelCode}]`),1)]),_:2},1032,["content"])):vue.createCommentVNode("",!0),vue.createVNode(be,{class:"mt-2 mb-2",title:"字段属性"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElLink),{disabled:xe.checkAttributeList.length==0,type:"primary",onClick:Ce=>pe(xe)},{default:vue.withCtx(()=>[vue.createTextVNode(" 复制select语句到编辑框 ")]),_:2},1032,["disabled","onClick"])]),_:2},1024),vue.createVNode(vue.unref(elementPlus.ElTable),{data:xe.attributeList[xe.currentVal],height:"100%",size:"small",onSelectionChange:Ce=>xe.checkAttributeList=Ce},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElTableColumn),{type:"selection",width:"40"}),vue.createVNode(vue.unref(elementPlus.ElTableColumn),{prop:"attributeCode",label:"字段"},{default:vue.withCtx(({row:Ce,$index:$e})=>[vue.createElementVNode("div",null,vue.toDisplayString(Ce.attributeCode),1),vue.createElementVNode("div",_hoisted_4$q,vue.toDisplayString(Ce.attributeComment),1)]),_:1}),vue.createVNode(vue.unref(elementPlus.ElTableColumn),{width:"80",prop:"dataType",label:"数据类型"})]),_:2},1032,["data","onSelectionChange"])],64)):vue.createCommentVNode("",!0),xe.value==vue.unref(ae)&&["dwdmb"].includes(xe.value)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(be,{class:"mt-2",title:"DWD目标"}),vue.createElementVNode("section",null,[vue.createElementVNode("div",null,[_hoisted_5$k,vue.createTextVNode(" "+vue.toDisplayString(vue.unref(ue).modelName),1)]),vue.createElementVNode("div",null,[_hoisted_6$g,vue.createTextVNode(" "+vue.toDisplayString(vue.unref(ue).modelCode),1)]),vue.createElementVNode("div",null,[_hoisted_7$e,vue.createTextVNode(" "+vue.toDisplayString(vue.unref(ue).modelDesc),1)])]),vue.createVNode(vue.unref(elementPlus.ElTable),{data:xe.attributeList,height:"100%"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElTableColumn),{prop:"mapCode",label:"映射字段"}),vue.createVNode(vue.unref(elementPlus.ElTableColumn),{prop:"attributeComment",label:"名称"}),vue.createVNode(vue.unref(elementPlus.ElTableColumn),{label:"来源"},{default:vue.withCtx(({row:Ce,$index:$e})=>[vue.createTextVNode(vue.toDisplayString(Ce.sourceModelName)+"."+vue.toDisplayString(Ce.sourceColumnName),1)]),_:1})]),_:2},1032,["data"])],64)):vue.createCommentVNode("",!0)],64))),128))]),_:1}),vue.createVNode(vue.unref(elementPlus.ElMain),null,{default:vue.withCtx(()=>[vue.createVNode(Design,{ref_key:"designMainRef",ref:oe,widgetType:vue.unref(le),onSuccess:ge},null,8,["widgetType"])]),_:1})]),_:1})]),_:3},8,["modelValue"])}}}),sql_vue_vue_type_style_index_0_scoped_6eba707e_lang="",ModelSql=_export_sfc$2(_sfc_main$N,[["__scopeId","data-v-6eba707e"]]),_sfc_main$M=vue.defineComponent({__name:"taskLog",setup(te,{expose:U}){const G=vue.ref(!1),ee=vue.ref(!1),ne=vue.ref(null),re=vue.ref(""),oe=vue.reactive([]),ie=vue.reactive([]),le=vue.reactive([{label:"调度参数",prop:"args"},{label:"调度结果",prop:"code"},{label:"调度日志",prop:"msg",slot:!0},{label:"调度开始时间",prop:"execBeginTime"},{label:"调度结束时间",prop:"execEndTime"}]),ae=vue.reactive([]),se=ve=>{ve.data.forEach(he=>{})},ue=(ve,he,pe)=>{},ce=async ve=>{},de=async ve=>{G.value=!0,vue.nextTick(()=>{vue.unref(ne).getData({url:`/api/ace-api/blade-system/task-log/list?taskId=${ve}&descs=create_time`})})},fe=ve=>{ee.value=!0,re.value=ve.msg};return U({init:de}),(ve,he)=>{const pe=vue.resolveComponent("AppList"),ge=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock(ge,{modelValue:vue.unref(G),"onUpdate:modelValue":he[1]||(he[1]=me=>vue.isRef(G)?G.value=me:null),title:"调度日志",size:1e3},{default:vue.withCtx(()=>[vue.createVNode(pe,{ref_key:"appRef",ref:ne,tableData:vue.unref(le),searchForm:vue.unref(oe),searchBtns:vue.unref(ie),formData:vue.unref(ae),onFormSuccess:ue,onSuccess:se,onBtnClick:ce},{msg:vue.withCtx(({row:me})=>[vue.createVNode(vue.unref(elementPlus.ElLink),{type:"primary",onClick:_e=>fe(me)},{default:vue.withCtx(()=>[vue.createTextVNode("查看调度日志")]),_:2},1032,["onClick"])]),_:1},8,["tableData","searchForm","searchBtns","formData"]),vue.createVNode(ge,{modelValue:vue.unref(ee),"onUpdate:modelValue":he[0]||(he[0]=me=>vue.isRef(ee)?ee.value=me:null),title:"调度日志",size:"100%"},{default:vue.withCtx(()=>[vue.createElementVNode("pre",null,vue.toDisplayString(vue.unref(re)),1)]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])}}}),_sfc_main$L=vue.defineComponent({__name:"model-db-extract",props:{model:{default:{}}},setup(te){const U=te,{proxy:G}=vue.getCurrentInstance(),{openMessage:ee}=G.$globalHooks.useMessage(),ne=vue.ref(null),re=vue.ref(null),oe=vue.ref(null),ie=vue.ref(null),le=`/api/ace-data-center/db-extract/page?modelId=${U.model.id}&projectId=${G.$baseGetCurrentProjectId()}`,ae=vue.reactive([{name:"新增",key:"ADD",type:"primary",icon:"ri-add-line"}]),se=vue.reactive([{label:"抽取方案名称",prop:"extractName"},{label:"抽取类型",prop:"extractType",props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=extractType",label:"dictValue",value:"dictKey"},slot:!0},{label:"作业任务",prop:"taskDefinedId",slot:!0},{label:"操作",prop:"htmlButton",fixed:"right"}]),ue=de=>{de.data.forEach(fe=>{fe.htmlButton=[],fe.htmlButton.push({name:"编辑",key:"EDIT",type:"primary",icon:"ri-edit-line"}),fe.htmlButton.push({name:"复制",key:"COPY",type:"primary",icon:"ri-file-copy-line"}),fe.htmlButton.push({name:"抽取记录",key:"LOG",type:"primary",icon:"ri-file-line"}),fe.taskDefinedId&&fe.htmlButton.push({name:"作业调度日志",key:"TASK-LOG",type:"primary",icon:"ri-file-line"}),[1,2].includes(fe.extractType)&&fe.htmlButton.push({name:"抽取",key:"PUSH",type:"primary",icon:"ri-pushpin-line"}),fe.htmlButton.push({name:"删除",key:"DEL",type:"danger",icon:"ri-delete-bin-6-line"})})},ce=de=>{const{type:fe,row:ve}=de;switch(fe){case"ADD":case"COPY":case"EDIT":vue.unref(ie).init(fe,(ve==null?void 0:ve.id)??"");break;case"LOG":vue.unref(ne).init({businessId:ve.id,businessType:"db_extract",table:[{label:"日期",prop:"createTime"},{label:"数据总数",prop:"totalNum"},{label:"成功数",prop:"successNum"},{label:"失败数",prop:"failNum"},{label:"协同参数",prop:"collaborateValue"},{label:"操作",prop:"action",slot:!0,fixed:"right"}]});break;case"TASK-LOG":vue.unref(re).init(ve.taskDefinedId??"");break;case"PUSH":G.$baseConfirm({content:"是否抽取?",callConfirm:async()=>{await G.$baseHttp.post(`/api/ace-data-center/db-extract/extract/${ve.id}`,{},{headers:{loading:!0}})&&ee({type:"success",message:"操作成功"})}});break;case"DEL":G.$baseConfirm({content:"是否删除?",callConfirm:async()=>{await G.$baseHttp.post(`/api/ace-data-center/db-extract/removeById/${ve.id}`,{},{headers:{loading:!0}})&&(ee({type:"success",message:"操作成功"}),vue.unref(oe).getData())}});break}};return(de,fe)=>{const ve=vue.resolveComponent("AppList");return vue.openBlock(),vue.createBlock(ve,{ref_key:"appRef",ref:oe,url:le,tableData:vue.unref(se),searchBtns:vue.unref(ae),onSuccess:ue,onBtnClick:ce},{taskDefinedId:vue.withCtx(({row:he})=>{var pe;return[he.taskDefinedId?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createTextVNode(vue.toDisplayString(((pe=vue.unref(G).$globalUtils.taskOptions.find(ge=>ge.value==he.taskDefined.xxlJobId))==null?void 0:pe.label)??"-")+" ",1),vue.createVNode(vue.unref(elementPlus.ElTag),{type:he.taskDefined.status==2?"primary":"danger",class:"ml-2"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(he.taskDefined.status==2?"启用":"禁用"),1)]),_:2},1032,["type"])],64)):vue.createCommentVNode("",!0)]}),extractType:vue.withCtx(({row:he,element:pe})=>[vue.createVNode(vue.unref(elementPlus.ElTag),null,{default:vue.withCtx(()=>{var ge;return[pe.options?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createTextVNode(vue.toDisplayString((ge=pe==null?void 0:pe.options.find(me=>me.dictKey==he.extractType))==null?void 0:ge.dictValue)+" ",1),he.extractType==2?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createTextVNode(vue.toDisplayString(he==null?void 0:he.incrementalField),1)],64)):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0)]}),_:2},1024)]),default:vue.withCtx(()=>{var he;return[vue.createVNode(_sfc_main$M,{ref_key:"taskLogRef",ref:re},null,512),vue.createVNode(_sfc_main$Y,{ref_key:"extractLogRef",ref:ne},null,512),vue.createVNode(ModelSql,{ref_key:"modelSqlRef",ref:ie,modelId:(he=U==null?void 0:U.model)==null?void 0:he.id,onSuccess:fe[0]||(fe[0]=pe=>vue.unref(oe).getData())},null,8,["modelId"])]}),_:1},8,["tableData","searchBtns"])}}}),_sfc_main$K=vue.defineComponent({__name:"attrList",setup(te,{expose:U}){const{proxy:G}=vue.getCurrentInstance(),ee=vue.ref(!1),ne=vue.ref([]),re=vue.ref([{label:"字段名称",prop:"attributeCode",fixed:!0},{label:"字段描述",prop:"attributeComment"},{label:"映射字段",prop:"mapCode"},{label:"数据类型",prop:"dataType"},{label:"数据长度",prop:"dataLength"},{label:"数据标度",prop:"dataScale"},{label:"选择主键",prop:"primaryKey",props:{url:"/api/ace-api/blade-system/dict/dictionary?code=yes_no",label:"dictValue",value:"dictKey"}},{label:"唯一键",prop:"uniqueKey",slot:!0},{label:"查询字段",prop:"searchKey",slot:!0},{label:"协同字段",prop:"teamworkKey",slot:!0},{label:"字段来源",prop:"sourceModelName"},{label:"数据来源",prop:"sourceColumnName"}]);return U({init:async ie=>{ee.value=!0,ne.value=[],vue.nextTick(()=>{fetch$1(G).allModelAttribute({modelId:ie}).then(le=>{ne.value=le.data})})}}),(ie,le)=>{const ae=vue.resolveComponent("AppTable"),se=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock(se,{modelValue:vue.unref(ee),"onUpdate:modelValue":le[0]||(le[0]=ue=>vue.isRef(ee)?ee.value=ue:null),title:"模型属性",size:"90%"},{default:vue.withCtx(()=>[vue.createVNode(ae,{tableData:vue.unref(re),list:vue.unref(ne),ref:"appTable"},{uniqueKey:vue.withCtx(({row:ue})=>[vue.createVNode(vue.unref(elementPlus.ElCheckbox),{"true-value":"2","false-value":"1",modelValue:ue.uniqueKey,"onUpdate:modelValue":ce=>ue.uniqueKey=ce,disabled:!0},null,8,["modelValue","onUpdate:modelValue"])]),required:vue.withCtx(({row:ue})=>[vue.createVNode(vue.unref(elementPlus.ElSwitch),{modelValue:ue.required,"onUpdate:modelValue":ce=>ue.required=ce,disabled:!0,"inline-prompt":"","active-text":"是","inactive-text":"否","active-value":2,"inactive-value":1,loading:ue.loading},null,8,["modelValue","onUpdate:modelValue","loading"])]),searchKey:vue.withCtx(({row:ue})=>[vue.createVNode(vue.unref(elementPlus.ElCheckbox),{disabled:!0,modelValue:ue.searchKey,"onUpdate:modelValue":ce=>ue.searchKey=ce,"true-value":"2","false-value":"1"},null,8,["modelValue","onUpdate:modelValue"]),ue.searchKey==="2"?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElCheckbox),{key:0,modelValue:ue.indexKey,"onUpdate:modelValue":ce=>ue.indexKey=ce,"true-value":"2","false-value":"1",disabled:!0},{default:vue.withCtx(()=>[vue.createTextVNode(" 创建索引 ")]),_:2},1032,["modelValue","onUpdate:modelValue"])):vue.createCommentVNode("",!0)]),teamworkKey:vue.withCtx(({row:ue})=>[vue.createVNode(vue.unref(elementPlus.ElCheckbox),{disabled:!0,modelValue:ue.teamworkKey,"onUpdate:modelValue":ce=>ue.teamworkKey=ce,"true-value":"2","false-value":"1"},null,8,["modelValue","onUpdate:modelValue"])]),_:1},8,["tableData","list"])]),_:1},8,["modelValue"])}}}),_hoisted_1$D={key:0},_hoisted_2$w={key:1},_hoisted_3$q={key:2},_hoisted_4$p=vue.createElementVNode("i",{class:"mr-1 ri-file-copy-line"},null,-1),_hoisted_5$j={class:"mt-2"},_sfc_main$J=vue.defineComponent({__name:"main",props:{model:{default:{}}},emits:["success"],setup(te,{emit:U}){const G=te,ee=U,ne=vue.ref(!1),re=vue.ref(null),oe=vue.ref(null);return(ie,le)=>{var ce;const ae=vue.resolveComponent("aceHeader"),se=vue.resolveComponent("aceDynamicList"),ue=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createElementBlock("div",null,[vue.createVNode(ae,{title:"基础信息"}),vue.createVNode(vue.unref(elementPlus.ElDescriptions),{column:2,border:!0,style:{width:"100%"},class:"mt-2 mb-2"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"模型名称"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(ie.model.modelName),1)]),_:1}),vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"模型代码"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(ie.model.modelCode),1)]),_:1}),vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"模型层级"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElTag),{type:"danger"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(ie.model.modelLayer),1)]),_:1})]),_:1}),vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"模型类型"},{default:vue.withCtx(()=>[ie.model.modelType==1?(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$D,"维度模型")):vue.createCommentVNode("",!0),ie.model.modelType==2?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$w,"事实模型")):vue.createCommentVNode("",!0),ie.model.modelType==3?(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$q,"其他模型")):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"模型描述"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(ie.model.modelDesc),1)]),_:1}),vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"数据仓库"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(ie.model.modelStore),1)]),_:1}),vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"发布状态"},{default:vue.withCtx(()=>[ie.model.publishStatus==1?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTag),{key:0,type:"warning"},{default:vue.withCtx(()=>[vue.createTextVNode("未发布")]),_:1})):vue.createCommentVNode("",!0),ie.model.publishStatus==2?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTag),{key:1,type:"success"},{default:vue.withCtx(()=>[vue.createTextVNode("已发布")]),_:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"表单录入数据"},{default:vue.withCtx(()=>[ie.model.openForm==1?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTag),{key:0,type:"warning"},{default:vue.withCtx(()=>[vue.createTextVNode("未开启")]),_:1})):vue.createCommentVNode("",!0),ie.model.openForm==2?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTag),{key:1,type:"success"},{default:vue.withCtx(()=>[vue.createTextVNode("已开启")]),_:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"模型属性"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElLink),{type:"primary",onClick:le[0]||(le[0]=de=>vue.unref(re).init(ie.model.id))},{default:vue.withCtx(()=>[vue.createTextVNode("查看模型属性")]),_:1})]),_:1}),vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"模型数据"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElLink),{type:"primary",onClick:le[1]||(le[1]=de=>ne.value=!0)},{default:vue.withCtx(()=>[vue.createTextVNode("查看模型数据")]),_:1})]),_:1}),ie.model.modelLayer=="ODSVIEW"?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElDescriptionsItem),{key:0,label:"操作"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElLink),{type:"primary",onClick:le[2]||(le[2]=de=>vue.unref(oe).init("ODSVIEW_COPY"))},{default:vue.withCtx(()=>[_hoisted_4$p,vue.createTextVNode(" 复制 ")]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:1}),ie.model.modelLayer!="ODSVIEW"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(ae,{title:"抽取方案"}),vue.createElementVNode("div",_hoisted_5$j,[vue.createVNode(_sfc_main$L,{model:ie.model},null,8,["model"])])],64)):vue.createCommentVNode("",!0),vue.createVNode(_sfc_main$K,{ref_key:"attrListRef",ref:re},null,512),vue.createVNode(ue,{modelValue:vue.unref(ne),"onUpdate:modelValue":le[3]||(le[3]=de=>vue.isRef(ne)?ne.value=de:null),title:"模型数据",size:"90%"},{default:vue.withCtx(()=>{var de,fe;return[vue.createVNode(se,{id:(de=ie.model)==null?void 0:de.id,title:(fe=ie.model)==null?void 0:fe.modelName},null,8,["id","title"])]}),_:1},8,["modelValue"]),vue.createVNode(ModelSql,{ref_key:"modelSqlRef",ref:oe,modelId:(ce=G==null?void 0:G.model)==null?void 0:ce.id,onSuccess:le[4]||(le[4]=de=>ee("success"))},null,8,["modelId"])])}}}),_hoisted_1$C=vue.createElementVNode("i",{class:"mr-1 ri-add-circle-line"},null,-1),_hoisted_2$v={key:0,class:"flex items-center justify-center h-full"},_sfc_main$I=vue.defineComponent({__name:"index",setup(te){const U=vue.ref(null),G=vue.ref(null),ee=vue.ref({}),ne=vue.inject("local"),re=le=>{ee.value={},setTimeout(()=>{ee.value=le},10)},oe=le=>{vue.unref(G).init(le)},ie=(le,ae)=>{le=="model-add"&&vue.unref(U).init()};return(le,ae)=>{const se=vue.resolveComponent("AppEmpty");return vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElContainer),{class:"overflow-hidden"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElConfigProvider),{locale:vue.unref(ne)},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElAside),{class:"pr-5 mr-5"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$Q,{onNodeClick:re,ref_key:"menuRef",ref:U},{top:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary",size:"small",class:"flex items-center",onClick:ae[0]||(ae[0]=ue=>oe("model-add"))},{default:vue.withCtx(()=>[_hoisted_1$C,vue.createTextVNode(" SQL新增模型 ")]),_:1})]),_:1},512)]),_:1}),vue.createVNode(vue.unref(elementPlus.ElMain),null,{default:vue.withCtx(()=>{var ue;return[(ue=vue.unref(ee))!=null&&ue.id?(vue.openBlock(),vue.createBlock(_sfc_main$J,{key:1,model:vue.unref(ee),onSuccess:ae[1]||(ae[1]=ce=>vue.unref(U).init())},null,8,["model"])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$v,[vue.createVNode(se,{description:"请选择对应数据"})])),vue.createVNode(ModelSql,{ref_key:"modelSqlRef",ref:G,onSuccess:ie},null,512)]}),_:1})]),_:1},8,["locale"])]),_:1})}}});function useDynamicSearch(){const{proxy:te}=vue.getCurrentInstance(),U=vue.ref([]);return vue.watch(U,re=>{re.length&&U.value.filter(oe=>oe.type==="select"&&oe.dictId).forEach(oe=>{oe.options=[],te.$baseHttp.get(`/api/ace-data-center/custom-dic/readDict/${oe.dictId}`).then(ie=>{oe.options=dictArratToTree(ie.data??[])})})}),{dynamicSearchForm:U,dynamicSearchFormat:re=>(re.filter(oe=>oe.defaultRule).forEach(oe=>{switch(oe.defaultRule){case"today":oe.type==="yymmddhhmmssSingle"?oe.value=dayjs().format("YYYY-MM-DD HH:mm:ss"):oe.type==="yymmddhhmmssRange"?(oe.minValue=dayjs().format("YYYY-MM-DD 00:00:00"),oe.maxValue=dayjs().format("YYYY-MM-DD 23:59:59")):oe.value=dayjs().format("YYYY-MM-DD");break;case"yesterday":oe.type==="yymmddhhmmssRange"?(oe.minValue=dayjs().subtract(1,"day").format("YYYY-MM-DD 00:00:00"),oe.maxValue=dayjs().subtract(1,"day").format("YYYY-MM-DD 23:59:59")):oe.value=dayjs().subtract(1,"day").format("YYYY-MM-DD");break;case"week":oe.minValue=dayjs().subtract(7,"day").format("YYYY-MM-DD"),oe.maxValue=dayjs().format("YYYY-MM-DD");break;case"month":oe.value=dayjs().format("YYYY-MM");break;case"two-month":oe.minValue=dayjs().subtract(2,"month").format("YYYY-MM"),oe.maxValue=dayjs().format("YYYY-MM");break;case"year":oe.value=dayjs().format("YYYY");break;case"two-year":oe.minValue=dayjs().subtract(2,"year").format("YYYY"),oe.maxValue=dayjs().format("YYYY");break}}),re),dynamicSearchParams:re=>{const oe={};return re.forEach(ie=>{if(ie.type.includes("Range")){oe[`${ie.key}1`]=(ie.minValue??"")&&ie.type=="numberRange"?Number(ie.minValue):ie.minValue.replaceAll(/-|:/gi,""),oe[`${ie.key}2`]=(ie.maxValue??"")&&ie.type=="numberRange"?Number(ie.maxValue):ie.maxValue.replaceAll(/-|:/gi,"");return}oe[ie.key]=(ie.value??"")&&(ie.type.includes("yymm")?ie.value.replaceAll(/-|:/gi,""):ie.value),ie.type==="numberSingle"&&ie.value&&(oe[ie.key]=Number(ie.value)),ie.type=="stringMultiple"&&(oe[ie.key]=ie.value.toString())}),oe},dynamicSearchParamsTitle:(re={})=>{const{showTitle:oe=!0}=re,ie=[];return U.value.forEach(le=>{const ae=oe?`${le.name}: `:"";switch(le.type){case"stringSingle":case"numberSingle":case"select":(le.value??"")&&ie.push(`${ae}${le.value}`);break;case"numberRange":ie.push(`${ae}[${le.minValue}~${le.maxValue}]`);break;case"yySingle":(le.value??"")&&ie.push(`${ae}${le.value}年`);break;case"yyRange":(le.minValue||le.maxValue)&&ie.push(`${ae}${le.minValue||"_"}年~${le.maxValue||"_"}年`);break;case"yymmSingle":if(le.value){let se=le.value.split("-");ie.push(`${ae}${se[0]}年${se[1]}月`)}break;case"yymmRange":if(le.minValue||le.maxValue){let se="_",ue="_";if(le.minValue){let ce=le.minValue.split("-");se=`${ae}${ce[0]}年${ce[1]}月`}if(le.maxValue){let ce=le.maxValue.split("-");ue=`${ae}${ce[0]}年${ce[1]}月`}ie.push(`${ae}${se}~${ue}`)}break;case"yymmddSingle":if(le.value){let se=le.value.split("-");ie.push(`${ae}${se[0]}年${se[1]}月${se[2]}日`)}break;case"yymmddRange":if(le.minValue||le.maxValue){let se="_",ue="_";if(le.minValue){let ce=le.minValue.split("-");se=`${ce[0]}年${ce[1]}月${ce[2]}日`}if(le.maxValue){let ce=le.maxValue.split("-");ue=`${ce[0]}年${ce[1]}月${ce[2]}日`}ie.push(`${ae}${se}~${ue}`)}break}}),ie.filter(le=>le).join(" ; ")}}}function useInsertForm(te){const{proxy:U}=vue.getCurrentInstance(),{setFormValue:G,getFormValue:ee}=U.$globalHooks.useForm(),{getDetail:ne}=fetch$1(U).model,re=vue.ref(),oe=vue.ref(1),ie=vue.ref([]),le=vue.ref("");return{loading:re,colValue:oe,formData:ie,formType:le,init:async(se={},ue="add")=>{ie.value=[],oe.value=1,le.value=ue,re.value=!0;const ce=await ne(te);re.value=!1,JSON.parse(ce.data.formJson||"[]").forEach(fe=>{fe.hide=!fe.isShow;const ve=ce.data.listModelAttribute.find(pe=>pe.mapCode==fe.fieldName);if(!ve)return;if(oe.value=fe.col,ve.primaryKey==2&&(fe.prepend=vue.h("i",{class:"text-base ri-key-line text-color-warning"}),fe.required=!0,fe.disabled=ue=="update",fe.fieldType=FieldRenderType.String),fe.ext.extend=="auto-insert-number"&&(fe.defVal=Date.now()),["radio","select","checkbox","treeSelect"].includes(fe.type)){const pe=fe==null?void 0:fe.ext.dictId;pe&&(fe.props={url:`/api/ace-data-center/custom-dic/readDict/${pe}`,label:"name",value:"code"}),fe.type=="treeSelect"&&(fe.expandAll=!1,fe.renderAfterExpand=!0,fe.optionsSuccess=ge=>{fe.options=dictArratToTree(ge)})}fe.type=="file"&&(fe.accept=fe.ext.accept||"*",fe.width="100%"),fe.type=="file"&&(fe.accept=fe.ext.accept||"*",fe.width="100%"),fe.type=="rate"&&(fe.defVal=0,fe.max=fe.ext.max);const he=vue.unref(ie).find(pe=>pe.key==fe.tag);he?he.list.push(fe):vue.unref(ie).push({key:fe.tag,list:[fe]})}),vue.unref(ie).forEach(fe=>{G(se,fe.list)})}}}const _withScopeId$d=te=>(vue.pushScopeId("data-v-6c642e9c"),te=te(),vue.popScopeId(),te),_hoisted_1$B={class:"flex items-center justify-between"},_hoisted_2$u={class:"flex items-center whitespace-nowrap"},_hoisted_3$p=_withScopeId$d(()=>vue.createElementVNode("div",{class:"h-px mt-2 mb-2 bg-gray-200"},null,-1)),_hoisted_4$o={class:"overflow-y-auto max-h-60",style:{"min-height":"150px"}},_hoisted_5$i=_withScopeId$d(()=>vue.createElementVNode("thead",null,[vue.createElementVNode("tr",null,[vue.createElementVNode("td",null,"字段名称"),vue.createElementVNode("td",null,"字段描述"),vue.createElementVNode("td",null,"数据类型"),vue.createElementVNode("td",{style:{width:"120px"}},"显示名称"),vue.createElementVNode("td",{style:{width:"120px"}},"表单标签"),vue.createElementVNode("td",{style:{width:"120px"}},"规则"),vue.createElementVNode("td",{style:{width:"70px"}},"录入显示"),vue.createElementVNode("td",{style:{width:"60px"}},"必填"),vue.createElementVNode("td",{style:{width:"150px"}},"类型"),vue.createElementVNode("td",{style:{width:"150px"}},"额外参数"),vue.createElementVNode("td",{style:{width:"30px"}})])],-1)),_hoisted_6$f={class:"sort-target"},_hoisted_7$d=_withScopeId$d(()=>vue.createElementVNode("td",null,[vue.createElementVNode("i",{class:"text-lg cursor-move ri-mouse-line sortable-handle text-color-warning"})],-1)),_hoisted_8$a=_withScopeId$d(()=>vue.createElementVNode("i",{class:"mr-1 ri-file-cloud-line"},null,-1)),_sfc_main$H=vue.defineComponent({__name:"dynamicForm",props:{model:{default:{}},title:{default:"标题栏配置"}},emits:["success"],setup(te,{emit:U}){const{proxy:G}=vue.getCurrentInstance(),{getDetail:ee}=fetch$1(G).model,ne=te,re=vue.ref([]),oe=vue.ref([]),ie=vue.ref(!1),le=vue.ref(!1),ae=[{label:"自动填充数字",value:"auto-insert-number"}],se=U,ue=[{label:"身份证号",value:"/^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$|^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}([0-9]|X)$/"},{label:"邮箱",value:"/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(.[a-zA-Z0-9-]+)*.[a-zA-Z0-9]{2,6}$/"},{label:"手机号",value:"/^1d{10}$/"},{label:"银行卡",value:"/[1-9]d{12,18}/"},{label:"车牌号",value:"/^([京津晋冀蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼渝川贵云藏陕甘青宁新][ABCDEFGHJKLMNPQRSTUVWXYZ][dABCDEFGHJKLNMxPQRSTUVWXYZ]{5,6})$/"}],ce=pe=>{const ge=[];return["date","datetime"].includes(pe)||ge.push({label:"单选框",value:FieldType.Radio},{label:"计数器",value:FieldType.Number},{label:"选择器",value:FieldType.Select},{label:"开关",value:FieldType.Switch},{label:"级联",value:FieldType.TreeSelect},{label:"评分",value:FieldType.Rate}),["int","decimal","double","bigint"].includes(pe)||(["date","datetime"].includes(pe)||ge.push({label:"输入框",value:FieldType.Text},{label:"多行输入框",value:FieldType.Textarea},{label:"多选框",value:FieldType.CheckBox},{label:"上传",value:FieldType.File}),["datetime"].includes(pe)||ge.push({label:"日期",value:FieldType.Date}),["date"].includes(pe)||ge.push({label:"日期时间",value:FieldType.DateTime})),ge},de=pe=>["int","decimal","double","bigint"].includes(pe)?FieldType.Number:["datetime"].includes(pe)?FieldType.DateTime:["date"].includes(pe)?FieldType.Date:FieldType.Text,fe=vue.ref(1),ve=async()=>{le.value=!0,re.value=[];const pe=await ee(ne.model.id);le.value=!1,G.$baseHttp.get(`/api/ace-data-center/custom-dic/options?projectId=${G.$baseGetCurrentProjectId()}`).then(_e=>{oe.value=_e.data});const ge=pe.data.listModelAttribute,me=JSON.parse(pe.data.formJson||"[]");ge.forEach(_e=>{if(["project_id","create_time","create_user","create_dept","_project_id","tag","_create_time","_create_user","_create_dept","_tag","_data_from"].includes(_e.attributeCode))return;const be=me.find(ye=>ye.fieldName==_e.mapCode);be?(_e.columnOption=be,fe.value=be.col??1):_e.columnOption={fieldName:_e.mapCode,name:_e.attributeComment,type:de(_e.dataType),sort:"",isShow:!0,ext:{}},re.value.push(_e)}),re.value.sort((_e,be)=>_e.columnOption.sort-be.columnOption.sort)},he=async()=>{const pe=[],ge=[];if(vue.unref(re).forEach((_e,be)=>{const ye=_e.columnOption;ye.sort=be+1,ye.col=vue.unref(fe),ye.type||ge.push(`${_e.attributeComment}类型不能为空`),["radio","select","checkbox","treeSelect"].includes(ye.type)?ye.ext.dictId||ge.push(`${_e.attributeComment}字典值为空`):["rate"].includes(ye.type)&&(ye.ext.max||ge.push(`${_e.attributeComment}最大值不能为空`)),pe.push(ye)}),ge.length>0){G.$message.error(ge[0]);return}await G.$baseHttp.post("/api/ace-data-center/model/updateFormJson",{id:ne.model.id,formJson:JSON.stringify(pe)})&&(G.$message.success("操作成功"),ie.value=!1,se("success"))};return(pe,ge)=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElPopover),{placement:"bottom",visible:vue.unref(ie),"onUpdate:visible":ge[4]||(ge[4]=me=>vue.isRef(ie)?ie.value=me:null),trigger:"click",width:"1200px"},{reference:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElLink),{type:"warning",class:"ml-3",onClick:ge[3]||(ge[3]=me=>ve())},{default:vue.withCtx(()=>[_hoisted_8$a,vue.createTextVNode(" "+vue.toDisplayString(pe.title),1)]),_:1})]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$B,[vue.createElementVNode("div",_hoisted_2$u,[vue.createTextVNode(" 分栏: "),vue.createVNode(vue.unref(elementPlus.ElInputNumber),{size:"small",min:1,class:"ml-1","value-on-clear":0,modelValue:vue.unref(fe),"onUpdate:modelValue":ge[0]||(ge[0]=me=>vue.isRef(fe)?fe.value=me:null),placeholder:"分栏"},null,8,["modelValue"])]),vue.createElementVNode("div",null,[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary",size:"small",onClick:he},{default:vue.withCtx(()=>[vue.createTextVNode("保存")]),_:1}),vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary",class:"ml-3",size:"small",onClick:ge[1]||(ge[1]=me=>ie.value=!1)},{default:vue.withCtx(()=>[vue.createTextVNode(" 关闭 ")]),_:1})])]),_hoisted_3$p,vue.createVNode(vue.unref(elementPlus.ElSkeleton),{loading:vue.unref(le),animated:""},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_4$o,[vue.createVNode(vue.unref(vueDraggablePlus.VueDraggable),{modelValue:vue.unref(re),"onUpdate:modelValue":ge[2]||(ge[2]=me=>vue.isRef(re)?re.value=me:null),target:".sort-target",animation:150,handle:".sortable-handle"},{default:vue.withCtx(()=>[vue.createElementVNode("table",null,[_hoisted_5$i,vue.createElementVNode("tbody",_hoisted_6$f,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(re),me=>(vue.openBlock(),vue.createElementBlock("tr",{key:me.id},[vue.createElementVNode("td",null,vue.toDisplayString(me.attributeCode),1),vue.createElementVNode("td",null,vue.toDisplayString(me.attributeComment),1),vue.createElementVNode("td",null,vue.toDisplayString(me.dataType),1),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElInput),{size:"small",modelValue:me.columnOption.name,"onUpdate:modelValue":_e=>me.columnOption.name=_e,placeholder:"显示名称"},null,8,["modelValue","onUpdate:modelValue"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElInput),{size:"small",modelValue:me.columnOption.tag,"onUpdate:modelValue":_e=>me.columnOption.tag=_e,placeholder:"表单标签"},null,8,["modelValue","onUpdate:modelValue"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElSelect),{clearable:!0,teleported:!1,size:"small",modelValue:me.columnOption.rule,"onUpdate:modelValue":_e=>me.columnOption.rule=_e,placeholder:"规则"},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(ue,_e=>vue.createVNode(vue.unref(elementPlus.ElOption),{label:_e.label,value:_e.value,key:_e.value},null,8,["label","value"])),64))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElCheckbox),{modelValue:me.columnOption.isShow,"onUpdate:modelValue":_e=>me.columnOption.isShow=_e},null,8,["modelValue","onUpdate:modelValue"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElCheckbox),{modelValue:me.columnOption.required,"onUpdate:modelValue":_e=>me.columnOption.required=_e},null,8,["modelValue","onUpdate:modelValue"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElSelect),{teleported:!1,size:"small",class:"w-full",modelValue:me.columnOption.type,"onUpdate:modelValue":_e=>me.columnOption.type=_e,placeholder:"请选择",onChange:()=>me.columnOption.ext={}},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ce(me.dataType),_e=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{key:_e.value,label:_e.label,value:_e.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]),vue.createElementVNode("td",null,[["radio","select","checkbox","treeSelect"].includes(me.columnOption.type)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElSelect),{key:0,teleported:!1,size:"small",modelValue:me.columnOption.ext.dictId,"onUpdate:modelValue":_e=>me.columnOption.ext.dictId=_e,placeholder:"字典值"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(oe),_e=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{label:_e.label,value:_e.code,key:_e.code},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):vue.createCommentVNode("",!0),["file"].includes(me.columnOption.type)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElInput),{key:1,size:"small",modelValue:me.columnOption.ext.accept,"onUpdate:modelValue":_e=>me.columnOption.ext.accept=_e,placeholder:"上传类型多个,隔开"},null,8,["modelValue","onUpdate:modelValue"])):vue.createCommentVNode("",!0),["rate"].includes(me.columnOption.type)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElInput),{key:2,min:0,size:"small",type:"number",modelValue:me.columnOption.ext.max,"onUpdate:modelValue":_e=>me.columnOption.ext.max=_e,placeholder:"最大值"},null,8,["modelValue","onUpdate:modelValue"])):vue.createCommentVNode("",!0),["number"].includes(me.columnOption.type)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElSelect),{key:3,clearable:!0,teleported:!1,size:"small",modelValue:me.columnOption.ext.extend,"onUpdate:modelValue":_e=>me.columnOption.ext.extend=_e,placeholder:"额外参数"},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(ae,_e=>vue.createVNode(vue.unref(elementPlus.ElOption),{label:_e.label,value:_e.value,key:_e.value},null,8,["label","value"])),64))]),_:2},1032,["modelValue","onUpdate:modelValue"])):vue.createCommentVNode("",!0)]),_hoisted_7$d]))),128))])])]),_:1},8,["modelValue"])])]),_:1},8,["loading"])]),_:1},8,["visible"]))}}),dynamicForm_vue_vue_type_style_index_0_scoped_6c642e9c_lang="",dynamicForm=_export_sfc$2(_sfc_main$H,[["__scopeId","data-v-6c642e9c"]]),_hoisted_1$A={class:"relative"},_hoisted_2$t={class:"absolute right-0 -top-10"},_hoisted_3$o={class:"flex-1 h-full overflow-y-auto"},_hoisted_4$n={class:"p-4"},_hoisted_5$h={class:"flex justify-center mt-2"},_sfc_main$G=vue.defineComponent({__name:"model-insert-form",props:{model:{default:{}},isDefaultInit:{type:Boolean,default:!0},permission:{default:()=>[]},paramsCallback:{type:Function,default:()=>{}}},emits:["success"],setup(te,{expose:U,emit:G}){const ee=te,ne=G,{proxy:re}=vue.getCurrentInstance(),{getFormValue:oe}=re.$globalHooks.useForm(),{getDetail:ie,modelDataAction:le}=fetch$1(re).model,{loading:ae,colValue:se,formData:ue,formType:ce,init:de}=useInsertForm(ee.model.id);ee.isDefaultInit&&de();const fe=async()=>{const ve={},he=[];if(vue.unref(ue).forEach(me=>{const{params:_e,error:be}=oe(me.list);he.push(...be),Object.assign(ve,_e)}),he.length>0)return;const pe={modelId:ee.model.id,dataMap:ve,batchNo:dayjs().format("YYYY-MM-DD")};ee.paramsCallback&&ee.paramsCallback(pe),await le(pe,ce.value)&&(re.$message.success("操作成功"),ee.isDefaultInit&&de(),ne("success"))};return U({init:de,handleSubmit:fe}),(ve,he)=>{const pe=vue.resolveComponent("aceHeader"),ge=vue.resolveComponent("AppForm");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createElementVNode("div",_hoisted_1$A,[vue.createElementVNode("div",_hoisted_2$t,[vue.createVNode(dynamicForm,{model:ve.model,title:"属性列配置",onSuccess:vue.unref(de)},null,8,["model","onSuccess"])])]),vue.createElementVNode("div",_hoisted_3$o,[vue.createVNode(vue.unref(elementPlus.ElSkeleton),{animated:"",loading:vue.unref(ae)},{default:vue.withCtx(()=>[vue.unref(ue).length?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(ue),me=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:me.key},[me.key?(vue.openBlock(),vue.createBlock(pe,{key:0,title:me.key},null,8,["title"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_4$n,[vue.createVNode(ge,{form:me.list,col:vue.unref(se)},null,8,["form","col"])])],64))),128)),vue.createElementVNode("div",_hoisted_5$h,[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary",onClick:fe},{default:vue.withCtx(()=>[vue.createTextVNode("保 存")]),_:1})])],64)):(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElEmpty),{key:0,description:"暂未配置表单数据"}))]),_:1},8,["loading"])])],64)}}}),_withScopeId$c=te=>(vue.pushScopeId("data-v-91a9a2ad"),te=te(),vue.popScopeId(),te),_hoisted_1$z={class:"flex justify-between mb-[10px]"},_hoisted_2$s=_withScopeId$c(()=>vue.createElementVNode("span",{class:"ml-2 mr-2"},"~",-1)),_hoisted_3$n=_withScopeId$c(()=>vue.createElementVNode("span",{class:"ml-2 mr-2"},"~",-1)),_hoisted_4$m=_withScopeId$c(()=>vue.createElementVNode("i",{class:"mr-1 ri-search-line"},null,-1)),_sfc_main$F=vue.defineComponent({__name:"search",props:{form:{default:()=>[]},search:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1}},emits:["success"],setup(te,{emit:U}){const G=te,ee=U,ne=vue.inject("local"),re=ae=>{let se="date",ue="YYYY-MM-DD";return["yyRange","yySingle"].includes(ae)&&(se="year",ue="YYYY"),["yymmRange","yymmSingle"].includes(ae)&&(se="month",ue="YYYY-MM"),["yymmddhhmmssRange"].includes(ae)&&(se="datetime",ue="YYYY-MM-DD HH:mm:ss"),["yymmddhhmmssSingle"].includes(ae)&&(se="datetime",ue="YYYY-MM-DD HH:mm:ss"),{type:se,format:ue}},oe=(ae,se,ue)=>ae=="gt"?se.getTime()>dayjs(ue||"").valueOf():se.getTime()<dayjs(ue||"").valueOf(),ie=(ae,se,ue)=>{if(ae[se]==""||ae[ue]=="")return;const ce=Number(ae[se]),de=Number(ae[ue]);(se=="minValue"?ce>de:ce<de)&&(ae[se]=ae[ue])},le=()=>{ee("success")};return(ae,se)=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElConfigProvider),{locale:vue.unref(ne)},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$z,[vue.createVNode(vue.unref(elementPlus.ElForm),{inline:"",class:"flex flex-1 flex-wrap gap-[10px]"},{default:vue.withCtx(()=>[vue.renderSlot(ae.$slots,"default",{},void 0,!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ae.form,(ue,ce)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:ce},[ue.hide?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElFormItem),{key:0,label:ae.disabled?"":ue.name},{default:vue.withCtx(()=>[ue.type.includes("Range")?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[["yyRange","yymmRange","yymmddRange","yymmddhhmmssRange"].includes(ue.type)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(vue.unref(elementPlus.ElDatePicker),{modelValue:ue.minValue,"onUpdate:modelValue":de=>ue.minValue=de,clearable:!1,teleported:!1,disabled:ae.disabled,type:re(ue.type).type,placeholder:"开始","disabled-date":de=>oe("gt",de,ue.maxValue),"value-format":re(ue.type).format},null,8,["modelValue","onUpdate:modelValue","disabled","type","disabled-date","value-format"]),_hoisted_2$s,vue.createVNode(vue.unref(elementPlus.ElDatePicker),{modelValue:ue.maxValue,"onUpdate:modelValue":de=>ue.maxValue=de,placeholder:"结束",teleported:!1,disabled:ae.disabled,clearable:!1,"disabled-date":de=>oe("lt",de,ue.minValue),type:re(ue.type).type,"value-format":re(ue.type).format},null,8,["modelValue","onUpdate:modelValue","disabled","disabled-date","type","value-format"])],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(vue.unref(elementPlus.ElInput),{modelValue:ue.minValue,"onUpdate:modelValue":de=>ue.minValue=de,modelModifiers:{trim:!0},max:ue.maxValue,clearable:!1,disabled:ae.disabled,onBlur:de=>ie(ue,"minValue","maxValue"),type:"number",placeholder:"最小值"},null,8,["modelValue","onUpdate:modelValue","max","disabled","onBlur"]),_hoisted_3$n,vue.createVNode(vue.unref(elementPlus.ElInput),{modelValue:ue.maxValue,"onUpdate:modelValue":de=>ue.maxValue=de,modelModifiers:{trim:!0},min:ue.minValue,clearable:!1,disabled:ae.disabled,onBlur:de=>ie(ue,"maxValue","minValue"),type:"number",placeholder:"最大值"},null,8,["modelValue","onUpdate:modelValue","min","disabled","onBlur"])],64))],64)):vue.createCommentVNode("",!0),ue.type.includes("Single")?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[["yySingle","yymmSingle","yymmddSingle","yymmddhhmmssSingle"].includes(ue.type)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElDatePicker),{key:0,modelValue:ue.value,"onUpdate:modelValue":de=>ue.value=de,clearable:!1,teleported:!1,disabled:ae.disabled,placeholder:"请输入"+ue.name,type:re(ue.type).type,"value-format":re(ue.type).format},null,8,["modelValue","onUpdate:modelValue","disabled","placeholder","type","value-format"])):(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElInput),{key:1,modelValue:ue.value,"onUpdate:modelValue":de=>ue.value=de,modelModifiers:{trim:!0},clearable:!1,disabled:ae.disabled,onKeyup:vue.withKeys(le,["enter","native"]),type:ue.type=="numberSingle"?"number":"",placeholder:"请输入"+ue.name},null,8,["modelValue","onUpdate:modelValue","disabled","type","placeholder"]))],64)):vue.createCommentVNode("",!0),ue.type=="select"?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTreeSelect),{key:2,modelValue:ue.value,"onUpdate:modelValue":de=>ue.value=de,data:ue.options,teleported:!1,disabled:ae.disabled,placeholder:"请选择",props:{label:"name",value:"code"},clearable:!1,"check-strictly":""},null,8,["modelValue","onUpdate:modelValue","data","disabled"])):vue.createCommentVNode("",!0),ue.type=="stringMultiple"?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElSelect),{key:3,teleported:!1,modelValue:ue.value,"onUpdate:modelValue":de=>ue.value=de,placeholder:"请选择",clearable:!1,multiple:"",filterable:"","allow-create":"","reserve-keyword":!1,"default-first-option":""},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ue.options,de=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{label:de.label,value:de.value,key:de.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):vue.createCommentVNode("",!0)]),_:2},1032,["label"]))],64))),128)),vue.createVNode(vue.unref(elementPlus.ElFormItem),null,{default:vue.withCtx(()=>[ae.form.filter(ue=>!ue.hide).length>0&&G.search?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElButton),{key:0,type:"primary",onClick:le},{default:vue.withCtx(()=>[_hoisted_4$m,vue.createTextVNode(" 查询 ")]),_:1})):vue.createCommentVNode("",!0),vue.renderSlot(ae.$slots,"btns",{},void 0,!0)]),_:3})]),_:3}),vue.renderSlot(ae.$slots,"aside",{},void 0,!0)])]),_:3},8,["locale"]))}}),search_vue_vue_type_style_index_0_scoped_91a9a2ad_lang="",aceDynamicSearch=_export_sfc$2(_sfc_main$F,[["__scopeId","data-v-91a9a2ad"]]),_withScopeId$b=te=>(vue.pushScopeId("data-v-8334846c"),te=te(),vue.popScopeId(),te),_hoisted_1$y=_withScopeId$b(()=>vue.createElementVNode("i",{class:"mr-1 ri-download-2-line"},null,-1)),_hoisted_2$r=_withScopeId$b(()=>vue.createElementVNode("i",{class:"ri-information-2-line ml-1.5"},null,-1)),_sfc_main$E=vue.defineComponent({__name:"list",props:{id:{default:""},title:{default:nanoid()},pageLimit:{default:20},type:{default:DynamicTableType.Default},keyName:{default:"modelId"},url:{default:"/api/ace-data-center/model/modelDataPage"},showPageIndex:{type:Boolean,default:!1},isDownLoad:{type:Boolean,default:!0},searchFormData:{default:null},isDelete:{type:Boolean,default:!1},isEdit:{type:Boolean,default:!1},formatParamsFunc:{type:[Function,null],default:null}},emits:["row-click","success-list","table-header","btn-click"],setup(te,{expose:U,emit:G}){const ee=te;vue.watch(()=>ee.id,()=>$e());const ne=G,{proxy:re}=vue.getCurrentInstance(),{dynamicSearchForm:oe,dynamicSearchFormat:ie,dynamicSearchParams:le}=useDynamicSearch(),{modelDataDel:ae,getDetail:se}=fetch$1(re).model,{listColumnInfo:ue,getFormJsonConfig:ce,getSystemParam:de}=fetch$1(re),fe=vue.ref(null),ve=vue.ref(null),he=vue.ref(null),pe=vue.ref([]),ge=vue.ref(""),me=vue.ref({}),_e=vue.ref(0),be=vue.ref(!0),ye=vue.ref(!1),xe=vue.ref({}),Ce=vue.computed(()=>vue.unref(pe).filter(Te=>Te.headSlot).map(Te=>Te.prop+"-head-slot")),$e=async()=>{var Te,De;if(ge.value="",pe.value=[],_e.value=0,me.value={[ee.keyName]:ee.id,params:{}},ee.type==DynamicTableType.Default){const Be=await ue(ee.id),Oe=await se(ee.id,!1);if(xe.value=Oe.data,pe.value=(Be.data??[]).filter(Ae=>Ae.isShow??!0).map(Ae=>{var Re;const Le={...Ae,width:Ae.labelWidth??null,showOverflowTooltip:Ae.overHidden??!1,sortable:"custom",headSlot:(Ae.note??"")!==""};if(Ae.type=="dict"){const Fe=(Re=JSON.parse(Ae.ext??"{}"))==null?void 0:Re.dictId;Fe&&(Le.props={url:`/api/ace-data-center/custom-dic/readDict/${Fe}`,label:"name",value:"code"})}return Ae.type=="img"&&(Le.type=Ae.type,Le.resetUrl=(Fe,je)=>{const Me=resetUrl(je[Ae.prop]).split(",");if(Fe=="small")return Me[0];if(Fe=="preview")return Me},delete Le.sortable),Ae.type=="map"&&(delete Le.sortable,Le.func=Fe=>'<span class="text-gray-600 cursor-pointer">查看地图</span>',Le.clickFunc=Fe=>{try{vue.unref(ve).init(JSON.parse(Fe[Ae.prop]??"[]"))}catch{re.$message.warning("数据格式获取错误")}}),Le.prop=="_data_from"&&(Le.dict="dataFormStatus"),Le}),ke(),(ee.isDelete||ee.isEdit)&&pe.value.push({label:"操作",prop:"htmlButton",fixed:"right",noExport:!0}),ee.searchFormData)oe.value=ee.searchFormData;else{const Ae=await ce(ee.id);oe.value=ie(JSON.parse(((Te=Ae.data)==null?void 0:Te.formConfJson)??"[]"))}}if(ee.type==DynamicTableType.DataForm){const Be=await re.$baseHttp.get(`/api/ace-data-center/dataform/detail?id=${ee.id}`);be.value=Be.data.isPage!=0,oe.value=ie(JSON.parse(((De=Be.data)==null?void 0:De.formConfJson)??"[]"))}ge.value=ee.url},we=vue.ref(!1),Ee=Te=>{we.value=Te.extra.total!="0"&&ee.isDownLoad,_e.value=Te.extra.total,ee.type==DynamicTableType.DataForm&&(Te==null?void 0:Te.data.length)>0&&(pe.value=[],Object.keys(Te.data[0]).forEach(De=>{const Be={label:De,prop:De,sortable:vue.unref(be)};De==="map_column"&&(Be.label="地图",Be.func=Oe=>`<span class="cursor-pointer ${["","[]"].includes(Oe[De])?"text-gray-600":"text-color-danger"}">查看地图</span>`,Be.type=ItableType.Link,Be.clickFunc=Oe=>vue.unref(ve).init(JSON.parse(Oe[De]??"[]")),delete Be.sortable),pe.value.push(Be)}),ke()),ee.type==DynamicTableType.Default&&(Te==null?void 0:Te.data.length)>0&&Te.data.forEach(De=>{De.htmlButton=[],ee.isEdit&&De.htmlButton.push({name:"修改",key:"eidtBTN",type:"primary",icon:"ri-edit-line"}),ee.isDelete&&De.htmlButton.push({name:"删除",key:"delBTN",type:"danger",icon:"ri-delete-bin-6-line"})}),ne("table-header",vue.unref(pe)),ne("success-list",Te)},Ve=Te=>(me.value.params=le(vue.unref(oe)),ee.formatParamsFunc&&(me.value=ee.formatParamsFunc(me.value)),Object.assign(Te,vue.unref(me))),Se=()=>{vue.unref(fe).getData()},ke=()=>{ee.showPageIndex?pe.value.unshift({label:"序号",prop:"pageIndex",width:"80px"}):pe.value.splice(vue.unref(pe).findIndex(Te=>Te.prop==="pageIndex"),1)},Ne=Te=>{const{prop:De,order:Be}=Te;ee.type==DynamicTableType.Default&&(vue.unref(me).ascs="",vue.unref(me).descs="",Be==="ascending"&&(vue.unref(me).ascs=De),Be==="descending"&&(vue.unref(me).descs=De)),ee.type==DynamicTableType.DataForm&&(vue.unref(me).orders=[],Be&&vue.unref(me).orders.push({property:De,direction:Be==="ascending"?"asc":"desc"})),vue.unref(fe).getData()},Ie=async()=>{if(ee.type==DynamicTableType.Default){const Te=await de({paramKey:"model.export.max"});if(+(vue.unref(_e)>Number((Te==null?void 0:Te.data)??0))){re.$message.warning(`数据量超过${Te==null?void 0:Te.data}条,请筛选后再导出`);return}}re.$baseExportExcel({title:ee.title,url:vue.unref(ge),header:vue.unref(pe),customParams:vue.unref(me)})},Pe=Te=>{const{type:De,row:Be}=Te;switch(De){case"eidtBTN":case"delBTN":{const Oe={};if(vue.unref(xe).listModelAttribute.forEach(Ae=>{Oe[Ae.mapCode]=Be[Ae.attributeCode]}),De=="eidtBTN"){ye.value=!0,vue.nextTick(()=>{vue.unref(he).init(Oe,"update")});return}re.$baseConfirm({content:"是否确定删除",callConfirm:async()=>{await ae({dataMap:Oe,modelId:ee.id})&&(re.$message.success("删除成功"),vue.unref(fe).getData())}})}break}ne("btn-click",Te)};return $e(),U({handleExport:Ie,init:$e}),(Te,De)=>{const Be=vue.resolveComponent("AppList"),Oe=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElSkeleton),{loading:vue.unref(ge)=="",animated:""},{default:vue.withCtx(()=>[vue.createVNode(aceDynamicSearch,{form:vue.unref(oe),onSuccess:Se},{btns:vue.withCtx(()=>[vue.unref(we)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElButton),{key:0,type:"warning",onClick:Ie},{default:vue.withCtx(()=>[_hoisted_1$y,vue.createTextVNode(" 导出 ")]),_:1})):vue.createCommentVNode("",!0)]),_:1},8,["form"]),vue.unref(ge)?(vue.openBlock(),vue.createBlock(Be,{key:0,tableData:vue.unref(pe),pageLimit:Te.pageLimit,url:vue.unref(ge),showPage:vue.unref(be),methods:"post",formatParamsFunc:Ve,onSuccess:Ee,onSortChange:Ne,onBtnClick:Pe,ref_key:"appList",ref:fe},vue.createSlots({_:2},[vue.renderList(vue.unref(Ce),Ae=>({name:Ae,fn:vue.withCtx(({element:Le})=>[Le.note?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTooltip),{key:0,content:Le.note},{default:vue.withCtx(()=>[_hoisted_2$r]),_:2},1032,["content"])):vue.createCommentVNode("",!0)])}))]),1032,["tableData","pageLimit","url","showPage"])):vue.createCommentVNode("",!0),vue.createVNode(Oe,{modelValue:vue.unref(ye),"onUpdate:modelValue":De[1]||(De[1]=Ae=>vue.isRef(ye)?ye.value=Ae:null),title:"数据修改",size:"1200px"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$G,{model:{id:ee.id},isDefaultInit:!1,ref_key:"modelInsertFormRef",ref:he,onSuccess:De[0]||(De[0]=Ae=>{ye.value=!1,vue.unref(fe).getData()})},null,8,["model"])]),_:1},8,["modelValue"])]),_:1},8,["loading"])}}}),list_vue_vue_type_style_index_0_scoped_8334846c_lang="",aceDynamicList=_export_sfc$2(_sfc_main$E,[["__scopeId","data-v-8334846c"]]),_withScopeId$a=te=>(vue.pushScopeId("data-v-83ebfa93"),te=te(),vue.popScopeId(),te),_hoisted_1$x={key:0},_hoisted_2$q=_withScopeId$a(()=>vue.createElementVNode("span",{class:"ml-2 mr-2"},"~",-1)),_hoisted_3$m=_withScopeId$a(()=>vue.createElementVNode("span",{class:"ml-2 mr-2"},"~",-1)),_hoisted_4$l=["onClick"],_sfc_main$D=vue.defineComponent({__name:"searchEdit",props:{form:{default:()=>[]},isEdit:{type:Boolean,default:!0},businessType:{default:"indicators"}},setup(te,{expose:U}){const G=te,{proxy:ee}=vue.getCurrentInstance(),ne=vue.ref([]),re=vue.computed(()=>["model"].includes(G.businessType));ee.$baseHttp.get(`/api/ace-data-center/custom-dic/options?projectId=${ee.$baseGetCurrentProjectId()}`).then(ce=>{ne.value=ce.data});const oe={yymmddSingle:[{name:"当日",value:"today"},{name:"昨日",value:"yesterday"}],yymmddhhmmssSingle:[{name:"当日",value:"today"}],yymmddhhmmssRange:[{name:"当日",value:"today"},{name:"昨日",value:"yesterday"}],yymmddRange:[{name:"近一周",value:"week"}],yymmSingle:[{name:"当月",value:"month"}],yymmRange:[{name:"近两月",value:"two-month"}],yySingle:[{name:"当年",value:"year"}],yyRange:[{name:"近两年",value:"two-year"}]},ie=ce=>{let de="date",fe="YYYY-MM-DD";return["yyRange","yySingle"].includes(ce)&&(de="year",fe="YYYY"),["yymmRange","yymmSingle"].includes(ce)&&(de="month",fe="YYYY-MM"),["yymmddhhmmssRange"].includes(ce)&&(de="datetime",fe="YYYY-MM-DD HH:mm:ss"),["yymmddhhmmssSingle"].includes(ce)&&(de="datetime",fe="YYYY-MM-DD HH:mm:ss"),{type:de,format:fe}},le=(ce,de,fe)=>ce=="gt"?de.getTime()>dayjs(fe||"").valueOf():de.getTime()<dayjs(fe||"").valueOf(),ae=(ce,de,fe)=>{if(ce[de]==""||ce[fe]=="")return;const ve=Number(ce[de]),he=Number(ce[fe]);(de=="minValue"?ve>he:ve<he)&&(ce[de]=ce[fe])},se=ce=>{ce.value=[],ce.options=[],ce.dictId&&ee.$baseHttp.get(`/api/ace-data-center/custom-dic/readDict/${ce.dictId}`).then(de=>{ce.options=de.data??[]})},ue=ce=>{ce.value="",ce.minValue="",ce.maxValue="",ce.defaultRule="",ce.dictId="",ce.options=[]};return vue.onMounted(()=>{G.form.forEach(ce=>{!ce.checked&&!ce.type&&["varchar","text"].includes(ce.dataType)&&(ce.type="stringSingle")})}),U({handleChangeDictSelect:se}),(ce,de)=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElForm),{inline:"",size:"small"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ce.form,(fe,ve)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:ve},[fe.hide?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$x,[vue.unref(re)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElFormItem),{key:0,label:""},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElCheckbox),{modelValue:fe.checked,"onUpdate:modelValue":he=>fe.checked=he,size:"small"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)):vue.createCommentVNode("",!0),ce.isEdit&&!vue.unref(re)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElFormItem),{key:1,label:"标识符"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElInput),{modelValue:fe.key,"onUpdate:modelValue":he=>fe.key=he,clearable:"",placeholder:"请输入标识符"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(elementPlus.ElFormItem),{label:ce.isEdit?"名称":fe.name},{default:vue.withCtx(()=>[ce.isEdit?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElInput),{key:0,modelValue:fe.name,"onUpdate:modelValue":he=>fe.name=he,clearable:"",placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])):vue.createCommentVNode("",!0)]),_:2},1032,["label"]),ce.isEdit?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElFormItem),{key:2,label:"类型"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElSelect),{clearable:"",teleported:!1,modelValue:fe.type,"onUpdate:modelValue":he=>fe.type=he,onChange:he=>ue(fe),placeholder:"类型"},{default:vue.withCtx(()=>[vue.unref(re)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[["date","datetime"].includes(fe.dataType)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年·区间",value:"yyRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年·单值",value:"yySingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月·区间",value:"yymmRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月·单值",value:"yymmSingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月日·区间",value:"yymmddRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月日·单值",value:"yymmddSingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月日时分秒·区间",value:"yymmddhhmmssRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月日时分秒·单值",value:"yymmddhhmmssSingle"})],64)):["int","decimal","double"].includes(fe.dataType)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(vue.unref(elementPlus.ElOption),{label:"数值·区间",value:"numberRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"数值·单值",value:"numberSingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"下拉框·字典",value:"select"})],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[vue.createVNode(vue.unref(elementPlus.ElOption),{label:"字符串",value:"stringSingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"字符串分隔",value:"stringMultiple"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"下拉框·字典",value:"select"})],64))],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年·区间",value:"yyRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年·单值",value:"yySingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月·区间",value:"yymmRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月·单值",value:"yymmSingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月日·区间",value:"yymmddRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月日·单值",value:"yymmddSingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月日时分秒·区间",value:"yymmddhhmmssRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月日时分秒·单值",value:"yymmddhhmmssSingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"数值·区间",value:"numberRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"数值·单值",value:"numberSingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"字符串",value:"stringSingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"字符串分隔",value:"stringMultiple"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"下拉框·字典",value:"select"})],64))]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]),_:2},1024)):vue.createCommentVNode("",!0),fe.type?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElFormItem),{key:3,label:ce.isEdit?"默认值":""},{default:vue.withCtx(()=>[oe[fe.type]&&ce.isEdit?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElSelect),{key:0,clearable:"",style:{"margin-right":"10px"},teleported:!1,modelValue:fe.defaultRule,"onUpdate:modelValue":he=>fe.defaultRule=he,placeholder:"默认值"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(oe[fe.type],he=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{label:he.name,value:he.value,key:he.value},null,8,["label","value"]))),128)),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"自定义",value:"custom"})]),_:2},1032,["modelValue","onUpdate:modelValue"])):vue.createCommentVNode("",!0),fe.type.endsWith("Range")?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[["yyRange","yymmRange","yymmddRange","yymmddhhmmssRange"].includes(fe.type)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(vue.unref(elementPlus.ElDatePicker),{teleported:!1,modelValue:fe.minValue,"onUpdate:modelValue":he=>fe.minValue=he,clearable:"",placeholder:"开始","disabled-date":he=>le("gt",he,fe.maxValue),type:ie(fe.type).type,"value-format":ie(fe.type).format},null,8,["modelValue","onUpdate:modelValue","disabled-date","type","value-format"]),_hoisted_2$q,vue.createVNode(vue.unref(elementPlus.ElDatePicker),{teleported:!1,modelValue:fe.maxValue,"onUpdate:modelValue":he=>fe.maxValue=he,clearable:"",placeholder:"结束","disabled-date":he=>le("lt",he,fe.minValue),type:ie(fe.type).type,"value-format":ie(fe.type).format},null,8,["modelValue","onUpdate:modelValue","disabled-date","type","value-format"])],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(vue.unref(elementPlus.ElInput),{modelValue:fe.minValue,"onUpdate:modelValue":he=>fe.minValue=he,max:fe.maxValue,clearable:!1,onBlur:he=>ae(fe,"minValue","maxValue"),type:"number",placeholder:"最小值"},null,8,["modelValue","onUpdate:modelValue","max","onBlur"]),_hoisted_3$m,vue.createVNode(vue.unref(elementPlus.ElInput),{modelValue:fe.maxValue,"onUpdate:modelValue":he=>fe.maxValue=he,min:fe.minValue,clearable:!1,onBlur:he=>ae(fe,"maxValue","minValue"),type:"number",placeholder:"最大值"},null,8,["modelValue","onUpdate:modelValue","min","onBlur"])],64))],64)):vue.createCommentVNode("",!0),fe.type.includes("Single")?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[["yySingle","yymmSingle","yymmddSingle","yymmddhhmmssSingle"].includes(fe.type)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElDatePicker),{key:0,teleported:!1,modelValue:fe.value,"onUpdate:modelValue":he=>fe.value=he,clearable:"",placeholder:"请输入"+fe.name,type:ie(fe.type).type,"value-format":ie(fe.type).format},null,8,["modelValue","onUpdate:modelValue","placeholder","type","value-format"])):(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElInput),{key:1,modelValue:fe.value,"onUpdate:modelValue":he=>fe.value=he,teleported:!1,clearable:"",type:fe.type=="numberSingle"?"number":"",placeholder:"请输入"+fe.name},null,8,["modelValue","onUpdate:modelValue","type","placeholder"]))],64)):vue.createCommentVNode("",!0),fe.type=="stringMultiple"?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElSelect),{key:3,style:{"margin-right":"10px"},teleported:!1,modelValue:fe.value,"onUpdate:modelValue":he=>fe.value=he,placeholder:"请选择",clearable:"",multiple:"",filterable:"","allow-create":"","reserve-keyword":!1,"default-first-option":""},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(fe.options,he=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{label:he.label,value:he.value,key:he.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):vue.createCommentVNode("",!0),fe.type=="select"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:4},[ce.isEdit?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElSelect),{key:0,teleported:!1,style:{"margin-right":"10px"},modelValue:fe.dictId,"onUpdate:modelValue":he=>fe.dictId=he,placeholder:"字典值",clearable:"",onChange:he=>se(fe)},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(ne),he=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{label:he.label,value:he.code,key:he.code},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(elementPlus.ElSelect),{teleported:!1,modelValue:fe.value,"onUpdate:modelValue":he=>fe.value=he,placeholder:"请选择",clearable:""},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(fe.options,he=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{label:he.name,value:he.code,key:he.code},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])],64)):vue.createCommentVNode("",!0)]),_:2},1032,["label"])):vue.createCommentVNode("",!0),ce.isEdit&&!vue.unref(re)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElFormItem),{key:4,style:{"margin-right":"0"}},{default:vue.withCtx(()=>[vue.createElementVNode("i",{class:"cursor-pointer ri-delete-bin-6-line text-color-danger",onClick:he=>G.form.splice(ve,1)},null,8,_hoisted_4$l)]),_:2},1024)):vue.createCommentVNode("",!0)]))],64))),128))]),_:1}))}}),searchEdit_vue_vue_type_style_index_0_scoped_83ebfa93_lang="",aceDynamicSearchEdit=_export_sfc$2(_sfc_main$D,[["__scopeId","data-v-83ebfa93"]]),_hoisted_1$w=vue.createElementVNode("i",{class:"ri-search-line"},null,-1),_hoisted_2$p={class:"mt-3"},_hoisted_3$l={key:1,class:"mr-1 text-base ri-edit-circle-fill text-color-primary"},_hoisted_4$k={key:2,class:"mr-1 ri-database-2-fill text-color-info"},_hoisted_5$g={key:3,class:"mr-1 ri-camera-fill text-color-info"},_hoisted_6$e={key:4,class:"ml-1"},_sfc_main$C=vue.defineComponent({__name:"model-menu",props:{type:{default:""},id:{default:""}},emits:["node-click"],setup(te,{expose:U,emit:G}){const ee=te,{proxy:ne}=vue.getCurrentInstance(),{loadModelMenu:re}=fetch$1(ne).model,oe=vue.ref(""),ie=vue.ref(null),le=G;vue.watch(oe,pe=>{vue.unref(ie).filter(pe)});const ae=(pe,ge)=>pe?ge.modelName.includes(pe):!0,se=vue.ref([]),ue=vue.ref([]),ce=vue.ref([]),de=vue.ref(!0),fe=vue.computed(()=>ee.type=="ODS"?vue.unref(se):ee.type=="DWD"?vue.unref(ue):vue.unref(ce)),ve=()=>{de.value=!0,Promise.all([re({modelLayer:"ODS"}),re({modelLayer:"DWD"}),re({modelLayer:"ODSVIEW"})]).then(pe=>{const ge=pe[0].data,me=pe[1].data,_e=pe[2].data;se.value=Object.keys(ge).map(be=>({modelName:be,id:be,children:ge[be]})),ce.value=Object.keys(_e).map(be=>({modelName:be,id:be,children:_e[be]})),ue.value=Object.keys(me).map(be=>({modelName:be,id:be,children:[{modelName:"事实模型",id:nanoid(),children:me[be].filter(ye=>String(ye.modelType)=="2")},{modelName:"维度模型",id:nanoid(),children:me[be].filter(ye=>String(ye.modelType)=="1")}]})),de.value=!1})};ve();const he=pe=>{if(pe.modelCode){if(ee.type=="ODS"){le("node-click",pe);return}Array.isArray(pe.children)||le("node-click",pe)}};return U({init:ve}),(pe,ge)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createVNode(vue.unref(elementPlus.ElInput),{placeholder:"请输入内容",clearable:"",modelValue:vue.unref(oe),"onUpdate:modelValue":ge[0]||(ge[0]=me=>vue.isRef(oe)?oe.value=me:null)},{prefix:vue.withCtx(()=>[_hoisted_1$w]),_:1},8,["modelValue"]),vue.createElementVNode("div",_hoisted_2$p,[vue.unref(de)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElSkeleton),{key:0,animated:"",count:2})):(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTree),{key:1,class:"animated fadeIn",ref_key:"treeRef",ref:ie,data:vue.unref(fe),"default-expand-all":"","node-key":"id",indent:10,"expand-on-click-node":!1,"highlight-current":"","filter-node-method":ae,onNodeClick:he},{default:vue.withCtx(({node:me,data:_e})=>[me.level!=1||pe.type=="ODS"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[_e.modelCode&&(_e.publishStatus==1&&_e.openForm==2||_e.openForm!=2)?(vue.openBlock(),vue.createElementBlock("i",{key:0,class:vue.normalizeClass(["mr-1 text-base ri-checkbox-circle-fill",[_e.publishStatus==2?"text-green-700":"text-gray-400"]])},null,2)):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0),_e.openForm==2&&_e.publishStatus==2?(vue.openBlock(),vue.createElementBlock("i",_hoisted_3$l)):vue.createCommentVNode("",!0),_e.shadowFlag==1?(vue.openBlock(),vue.createElementBlock("i",_hoisted_4$k)):vue.createCommentVNode("",!0),_e.shadowFlag==2?(vue.openBlock(),vue.createElementBlock("i",_hoisted_5$g)):vue.createCommentVNode("",!0),vue.createElementVNode("span",{class:vue.normalizeClass({"font-bold":me.level==1})},vue.toDisplayString(_e.modelName),3),((_e==null?void 0:_e.children)??[]).some(be=>be.parentModelId)?(vue.openBlock(),vue.createElementBlock("span",_hoisted_6$e,[vue.createVNode(vue.unref(elementPlus.ElTag),{size:"small",effect:"plain",type:"danger"},{default:vue.withCtx(()=>[vue.createTextVNode("主表")]),_:1})])):vue.createCommentVNode("",!0),vue.renderSlot(pe.$slots,"default",{element:_e})]),_:3},8,["data"]))])],64))}}),_withScopeId$9=te=>(vue.pushScopeId("data-v-d2678b69"),te=te(),vue.popScopeId(),te),_hoisted_1$v={class:"mt-3"},_hoisted_2$o=_withScopeId$9(()=>vue.createElementVNode("td",null,"字段名称",-1)),_hoisted_3$k=_withScopeId$9(()=>vue.createElementVNode("td",null,"字段描述",-1)),_hoisted_4$j=_withScopeId$9(()=>vue.createElementVNode("td",null,"映射字段",-1)),_hoisted_5$f=_withScopeId$9(()=>vue.createElementVNode("td",null,"数据类型",-1)),_hoisted_6$d=_withScopeId$9(()=>vue.createElementVNode("td",null,"数据长度",-1)),_hoisted_7$c=_withScopeId$9(()=>vue.createElementVNode("td",null,"数据标度",-1)),_hoisted_8$9=_withScopeId$9(()=>vue.createElementVNode("td",null,"是否主键",-1)),_hoisted_9$9=_withScopeId$9(()=>vue.createElementVNode("td",null,"唯一校验",-1)),_hoisted_10$8=_withScopeId$9(()=>vue.createElementVNode("td",{style:{width:"50px"}},null,-1)),_hoisted_11$6={class:"sort-target"},_hoisted_12$5=["onClick"],_hoisted_13$3=_withScopeId$9(()=>vue.createElementVNode("td",null,[vue.createElementVNode("i",{class:"text-lg cursor-move ri-mouse-line sortable-handle text-color-warning"})],-1)),_sfc_main$B=vue.defineComponent({__name:"model-attribute",props:vue.mergeModels({isRequired:{default:1}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(te,{expose:U}){vue.getCurrentInstance();const G=vue.useModel(te,"modelValue");vue.ref(null);const ee=vue.ref(null),ne=vue.ref({attributeCode:[{required:!0,message:"请输入字段名称"},{pattern:/^[A-Za-z]\w*$/,message:"只能以字母开头,由字母/数字/下划线组成",trigger:"blur"}],attributeComment:[{required:!0,message:"请输入字段描述"}],mapCode:[{required:!0,message:"请输入映射字段"}],dataType:[{required:!0,message:"请选择数据类型"}],primaryKey:[{required:!0,message:"请选择是否为主键"}]}),re=ue=>{const ce=ue.dataType;ce!=="decimal"&&(ue.dataScale=0),["autoIncrement","date","time","datetime","int","bigint","double","text"].includes(ce)&&(ue.dataLength=0),ce==="decimal"&&(ue.dataLength=10,ue.dataScale=6),ce==="varchar"&&(ue.dataLength=255),vue.unref(ee).clearValidate()},oe=(ue,ce)=>{ue.primaryKey==2&&G.value.forEach((fe,ve)=>{ve!=ce&&(fe.primaryKey=1)})},ie=()=>{G.value.push({nanoid:nanoid(),dataScale:0,dataLength:0})},le=ue=>{const ce=vue.unref(G).findIndex(de=>de.nanoid==ue);G.value.length>1&&G.value.splice(ce,1)};return U({validate:async()=>await vue.unref(ee).validate(ue=>ue),isRepeat:()=>{const ue=new Map;let ce="";for(let de=0;de<G.value.length;de++){let fe=G.value[de],ve=ue.get(fe.attributeCode);ve!=null&&(ce+="字段名称 <strong>"+fe.attributeCode+"</strong> 重复(<i>第"+(ve+1)+"行和第"+(de+1)+"行</i>);<br>"),ue.set(G.value[de].attributeCode,de)}return ce}}),(ue,ce)=>{const de=vue.resolveComponent("aceHeader");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createVNode(de,{title:"唯一校验"},{default:vue.withCtx(()=>[vue.createElementVNode("div",null,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(G.value,(fe,ve)=>vue.withDirectives((vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTag),{key:ve,size:"small",class:"ml-2",type:"primary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(fe.mapCode),1)]),_:2},1024)),[[vue.vShow,fe.uniqueKey==="2"&&fe.mapCode]])),128))])]),_:1}),vue.createVNode(vue.unref(elementPlus.ElForm),{"label-width":"0",model:{modelValue:G.value},ref_key:"elFormRef",ref:ee,rules:vue.unref(ne)},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(vueDraggablePlus.VueDraggable),{modelValue:G.value,"onUpdate:modelValue":ce[0]||(ce[0]=fe=>G.value=fe),target:".sort-target",animation:150,handle:".sortable-handle"},{default:vue.withCtx(()=>[vue.createElementVNode("table",_hoisted_1$v,[vue.createElementVNode("thead",null,[vue.createElementVNode("tr",null,[vue.createElementVNode("td",{style:{width:"50px"}},[vue.createElementVNode("i",{class:"text-lg cursor-pointer ri-add-circle-line text-color-primary",onClick:ie})]),_hoisted_2$o,_hoisted_3$k,_hoisted_4$j,_hoisted_5$f,_hoisted_6$d,_hoisted_7$c,_hoisted_8$9,_hoisted_9$9,_hoisted_10$8])]),vue.createElementVNode("tbody",_hoisted_11$6,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(G.value,(fe,ve)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:fe.nanoid},[fe.hide?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("tr",{key:fe.nanoid},[vue.createElementVNode("td",null,[vue.createElementVNode("i",{class:"text-lg cursor-pointer ri-indeterminate-circle-line text-color-danger",onClick:he=>le(fe.nanoid)},null,8,_hoisted_12$5)]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElFormItem),{prop:"modelValue."+ve+".attributeCode",rules:vue.unref(ne).attributeCode},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElInput),{modelValue:fe.attributeCode,"onUpdate:modelValue":he=>fe.attributeCode=he,maxlength:"30",showWordLimit:"",placeholder:"字段名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop","rules"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElFormItem),{prop:"modelValue."+ve+".attributeComment",rules:vue.unref(ne).attributeComment},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElInput),{modelValue:fe.attributeComment,"onUpdate:modelValue":he=>fe.attributeComment=he,maxlength:"30",showWordLimit:"",placeholder:"字段描述"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop","rules"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElFormItem),{prop:"modelValue."+ve+".mapCode",rules:vue.unref(ne).mapCode},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElInput),{modelValue:fe.mapCode,"onUpdate:modelValue":he=>fe.mapCode=he,maxlength:"30",showWordLimit:"",placeholder:"映射字段"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop","rules"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElFormItem),{prop:"modelValue."+ve+".dataType",rules:vue.unref(ne).dataType},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElSelect),{modelValue:fe.dataType,"onUpdate:modelValue":he=>fe.dataType=he,placeholder:"数据类型",style:{width:"120px"},teleported:!1,onChange:()=>re(fe)},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(commonDataType),he=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{key:he.value,label:he.label,value:he.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]),_:2},1032,["prop","rules"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElFormItem),{prop:"modelValue."+ve+".dataLength",rules:vue.unref(ne).dataLength},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElInputNumber),{min:0,max:2048,"value-on-clear":0,"controls-position":"right",modelValue:fe.dataLength,"onUpdate:modelValue":he=>fe.dataLength=he,disabled:["autoIncrement","date","time","datetime","int","bigint","double","text"].includes(fe.dataType),placeholder:"长度",style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:2},1032,["prop","rules"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElFormItem),{prop:"modelValue."+ve+".dataScale",rules:vue.unref(ne).dataScale},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElInputNumber),{modelValue:fe.dataScale,"onUpdate:modelValue":he=>fe.dataScale=he,min:0,max:2048,"value-on-clear":0,"controls-position":"right",disabled:!["decimal"].includes(fe.dataType),placeholder:"标度",style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:2},1032,["prop","rules"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElSwitch),{modelValue:fe.primaryKey,"onUpdate:modelValue":he=>fe.primaryKey=he,"inline-prompt":"","active-text":"是","inactive-text":"否","active-value":"2","inactive-value":"1",onChange:()=>oe(fe,ve)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElSwitch),{modelValue:fe.uniqueKey,"onUpdate:modelValue":he=>fe.uniqueKey=he,"inline-prompt":"","active-text":"是","inactive-text":"否","active-value":"2","inactive-value":"1"},null,8,["modelValue","onUpdate:modelValue"])]),_hoisted_13$3]))],64))),128))])])]),_:1},8,["modelValue"])]),_:1},8,["model","rules"])],64)}}}),modelAttribute_vue_vue_type_style_index_0_scoped_d2678b69_lang="",ModelAttribute=_export_sfc$2(_sfc_main$B,[["__scopeId","data-v-d2678b69"]]),_hoisted_1$u={class:"flex items-center justify-center mb-3"},_hoisted_2$n=vue.createElementVNode("i",{class:"ri-arrow-down-s-line"},null,-1),_sfc_main$A=vue.defineComponent({__name:"model-conn",props:{permission:{default:()=>[]}},emits:["success"],setup(te,{expose:U,emit:G}){const{proxy:ee}=vue.getCurrentInstance(),{setFormValue:ne,getFormValue:re}=ee.$globalHooks.useForm(),oe=te,ie=G,le=vue.ref(!1),ae=vue.ref(null),se=vue.ref(""),ue=vue.ref([]),ce=vue.ref([]),de=vue.computed(()=>{var ge;return(ge=fe.find(me=>me.fieldName=="openForm"))==null?void 0:ge.value}),fe=vue.reactive([{name:"项目名称",type:FieldType.Select,fieldName:"projectId",value:"",required:!0,props:{url:"/api/ace-data-center/project/options",label:"label",value:"code"},disabled:!0},{name:"模型层级",type:FieldType.Select,fieldName:"modelLayer",value:"",required:!0,props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelLayer",label:"dictValue",value:"dictKey"},changeFunc:ge=>{const me=fe.find(_e=>_e.fieldName==="modelType");me.required=ge.value=="DWD",me.disabled=ge.value!="DWD"}},{name:"模型名称",type:FieldType.Text,fieldName:"modelName",value:"",required:!0},{name:"模型表名",type:FieldType.Text,fieldName:"modelCode",value:"",required:!0,disabled:!0},{name:"模型类型",type:FieldType.Select,fieldName:"modelType",value:"",props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelType",label:"dictValue",value:"dictKey"},disabled:!0},{name:"标签",type:FieldType.Text,fieldName:"tags",value:""},{name:"分区字段",type:FieldType.Text,fieldName:"partitionColumn",value:""},{name:"模型描述",type:FieldType.Textarea,fieldName:"modelDesc",value:""},{name:"表单录入数据",type:FieldType.Radio,fieldName:"openForm",value:"",dict:"openForm",defVal:"1",required:!0}]),ve=()=>{le.value=!0,se.value="",ue.value=[],ce.value=[{nanoid:nanoid(),dataScale:0,dataLength:0}],oe.permission.includes("DATA_FROM_FORM")||fe.splice(fe.findIndex(ge=>ge.fieldName=="openForm"),1),ne({modelLayer:"ODS",projectId:ee.$baseGetCurrentProjectId()},fe),ee.$baseHttp.get(`/api/ace-data-center/data-source/listTableDetailByProjectId/${ee.$baseGetCurrentProjectId()}`).then(ge=>{ue.value=ge.data.filter(me=>!me.tableCode.startsWith("ods_")&&!me.tableCode.startsWith("dwd_"))})},he=async ge=>{var _e;ce.value=[];const me=await ee.$baseHttp.get("/api/ace-data-center/model/projectIdToModels",{params:{tableCodes:ge,projectId:ee.$baseGetCurrentProjectId()},headers:{loading:!0}});me&&(ne({...me.data[0],modelLayer:"ODS",projectId:ee.$baseGetCurrentProjectId()},fe),ce.value=(((_e=me.data[0])==null?void 0:_e.listModelAttribute)??[]).map(be=>({...be,dataScale:be.dataScale||0,dataLength:be.dataLength||0,nanoid:nanoid()})))},pe=async()=>{var ye;const{params:ge,error:me}=re(fe);if(me.length>0||!await((ye=vue.unref(ae))==null?void 0:ye.validate()))return;const be=vue.unref(ae).isRepeat();if(be!==""){ee.$baseAlert({content:be});return}ee.$baseConfirm({content:"是否立即执行?",callConfirm:async()=>{await ee.$baseHttp.post("/api/ace-data-center/model/saveModelDetail",{...ge,projectId:String(ee.$baseGetCurrentProjectId()),listModelAttribute:vue.unref(ce)})&&(le.value=!1,ee.$message.success("操作成功"),ie("success"))}})};return U({init:ve}),(ge,me)=>{const _e=vue.resolveComponent("AppForm"),be=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock(be,{modelValue:vue.unref(le),"onUpdate:modelValue":me[2]||(me[2]=ye=>vue.isRef(le)?le.value=ye:null),title:"数据源导入模型",size:"100%"},{footer:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",type:"primary",onClick:pe},{default:vue.withCtx(()=>[vue.createTextVNode("提交")]),_:1}),vue.renderSlot(ge.$slots,"formFooter"),vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",onClick:me[1]||(me[1]=ye=>le.value=!1)},{default:vue.withCtx(()=>[vue.createTextVNode("取消")]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElContainer),{class:"h-full overflow-hidden"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElAside),{class:"pr-5 mr-5"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$u,[vue.createVNode(vue.unref(elementPlus.ElDropdown),{onCommand:he},{dropdown:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElDropdownMenu),null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(ue),ye=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElDropdownItem),{key:ye.tableCode,command:ye.tableCode},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(ye.tableComment||ye.tableCode),1)]),_:2},1032,["command"]))),128))]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary",size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(" 请选择模型 "),_hoisted_2$n]),_:1})]),_:1})]),vue.createVNode(_e,{form:vue.unref(fe)},null,8,["form"])]),_:1}),vue.createVNode(vue.unref(elementPlus.ElMain),null,{default:vue.withCtx(()=>[vue.createVNode(ModelAttribute,{ref_key:"modelAttributeRef",ref:ae,modelValue:vue.unref(ce),"onUpdate:modelValue":me[0]||(me[0]=ye=>vue.isRef(ce)?ce.value=ye:null),"is-required":vue.unref(de)},null,8,["modelValue","is-required"])]),_:1})]),_:1})]),_:3},8,["modelValue"])}}}),defaultAttributeCode=["project_id","create_time","create_user","create_dept","tag"],pushRequiredAttr=(te,U=!0)=>te,_hoisted_1$t={key:0,class:"flex items-center justify-center mt-3 mb-3"},_hoisted_2$m=vue.createElementVNode("i",{class:"ri-arrow-down-s-line"},null,-1),_sfc_main$z=vue.defineComponent({__name:"model-sql",props:{permission:{default:()=>[]}},emits:["success"],setup(te,{expose:U,emit:G}){const{proxy:ee}=vue.getCurrentInstance(),{setFormValue:ne,getFormValue:re}=ee.$globalHooks.useForm(),oe=te,ie=G,le=vue.ref(!1),ae=vue.ref(null),se=vue.ref(""),ue=vue.ref([]),ce=vue.ref(""),de=vue.ref([]),fe=vue.reactive([{name:"数据源类型",type:FieldType.Select,fieldName:"storeType",value:"",required:!0,options:[{label:"Mysql",value:"mysql"},{label:"Clickhouse",value:"clickhouse"},{label:"PostgreSql",value:"postgre"}]},{name:"上传sql",type:FieldType.Slot,fieldName:"file",required:!0,value:""}]),ve=vue.computed(()=>fe.find(ye=>ye.fieldName==="storeType")),he=vue.computed(()=>{var ye;return(ye=pe.find(xe=>xe.fieldName=="openForm"))==null?void 0:ye.value}),pe=vue.reactive([{name:"项目名称",type:FieldType.Select,fieldName:"projectId",value:"",required:!0,props:{url:"/api/ace-data-center/project/options",label:"label",value:"code"},disabled:!0},{name:"模型层级",type:FieldType.Select,fieldName:"modelLayer",value:"",required:!0,props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelLayer",label:"dictValue",value:"dictKey"},changeFunc:ye=>{const xe=pe.find($e=>$e.fieldName==="modelType");xe.required=ye.value=="DWD",xe.disabled=ye.value!="DWD";const Ce=`${((ye==null?void 0:ye.value)??"").toLocaleLowerCase()}_`;ce.value=Ce,pe.find($e=>$e.fieldName==="modelCode").prepend=vue.h("div",{},Ce)}},{name:"模型名称",type:FieldType.Text,fieldName:"modelName",value:"",required:!0},{name:"模型表名",type:FieldType.Text,fieldName:"modelCode",value:"",required:!0},{name:"模型类型",type:FieldType.Select,fieldName:"modelType",value:"",props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelType",label:"dictValue",value:"dictKey"},disabled:!0},{name:"标签",type:FieldType.Text,fieldName:"tags",value:""},{name:"分区字段",type:FieldType.Text,fieldName:"partitionColumn",value:""},{name:"模型描述",type:FieldType.Textarea,fieldName:"modelDesc",value:""},{name:"表单录入数据",type:FieldType.Radio,fieldName:"openForm",value:"",dict:"openForm",defVal:"1",required:!0}]),ge=()=>{le.value=!0,se.value="",ue.value=[],de.value=[{nanoid:nanoid(),dataScale:0,dataLength:0}],oe.permission.includes("DATA_FROM_FORM")||pe.splice(pe.findIndex(ye=>ye.fieldName=="openForm"),1),ne({},fe),ne({projectId:ee.$baseGetCurrentProjectId()},pe)},me=async ye=>{var Ee;if(!(ye.file.name.substring(ye.file.name.lastIndexOf(".")+1)==="sql")){ee.$message.error("上传文件只能为SQL文件!");return}const $e=new FormData;$e.append("file",ye.file),$e.append("storeType",vue.unref(ve).value);const we=await ee.$baseHttp.post("/api/ace-data-center/model/uploadSqlFileToModel",$e,{headers:{"Content-Type":"multipart/form-data",loading:!0}});we&&(ue.value=we.data,ne({...we.data[0],projectId:ee.$baseGetCurrentProjectId()},pe),de.value=(((Ee=we.data[0])==null?void 0:Ee.listModelAttribute)??[]).map(Ve=>({...Ve,dataScale:Ve.dataScale||0,dataLength:Ve.dataLength||0,nanoid:nanoid()})))},_e=async ye=>{const xe=vue.unref(ue).find(Ce=>Ce.modelCode==ye);ne({...xe??{},projectId:ee.$baseGetCurrentProjectId()},pe),de.value=((xe==null?void 0:xe.listModelAttribute)??[]).map(Ce=>({...Ce,dataScale:Ce.dataScale??0,nanoid:nanoid()}))},be=async()=>{var we;const{params:ye,error:xe}=re(pe);if(xe.length>0||!await((we=vue.unref(ae))==null?void 0:we.validate()))return;const $e=vue.unref(ae).isRepeat();if($e!==""){ee.$baseAlert({content:$e});return}ee.$baseConfirm({content:"是否立即执行?",callConfirm:async()=>{await ee.$baseHttp.post("/api/ace-data-center/model/saveModelDetail",{...ye,modelCode:vue.unref(ce)+ye.modelCode,projectId:String(ee.$baseGetCurrentProjectId()),listModelAttribute:pushRequiredAttr(vue.unref(de),ye.modelLayer=="ODS")})&&(le.value=!1,ee.$message.success("操作成功"),ie("success"))}})};return U({init:ge}),(ye,xe)=>{const Ce=vue.resolveComponent("AppForm"),$e=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock($e,{modelValue:vue.unref(le),"onUpdate:modelValue":xe[2]||(xe[2]=we=>vue.isRef(le)?le.value=we:null),title:"SQL新建模型",size:"100%"},{footer:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",type:"primary",onClick:be},{default:vue.withCtx(()=>[vue.createTextVNode("提交")]),_:1}),vue.renderSlot(ye.$slots,"formFooter"),vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",onClick:xe[1]||(xe[1]=we=>le.value=!1)},{default:vue.withCtx(()=>[vue.createTextVNode("取消")]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElContainer),{class:"h-full overflow-hidden"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElAside),{class:"pr-5 mr-5"},{default:vue.withCtx(()=>[vue.createVNode(Ce,{form:vue.unref(fe)},{file:vue.withCtx(()=>{var we;return[vue.createVNode(vue.unref(elementPlus.ElUpload),{disabled:!((we=vue.unref(ve))!=null&&we.value),style:{width:"100%"},"http-request":me,multiple:!1,accept:".sql","show-file-list":!1},{default:vue.withCtx(()=>{var Ee;return[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary",disabled:!((Ee=vue.unref(ve))!=null&&Ee.value)},{default:vue.withCtx(()=>[vue.createTextVNode("点击上传")]),_:1},8,["disabled"])]}),_:1},8,["disabled"]),vue.unref(ue).length?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$t,[vue.createVNode(vue.unref(elementPlus.ElDropdown),{onCommand:_e},{dropdown:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElDropdownMenu),null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(ue),Ee=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElDropdownItem),{key:Ee.modelName,command:Ee.modelCode},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(Ee.modelName),1)]),_:2},1032,["command"]))),128))]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary",size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(" 请选择模型 "),_hoisted_2$m]),_:1})]),_:1})])):vue.createCommentVNode("",!0)]}),_:1},8,["form"]),vue.createVNode(Ce,{form:vue.unref(pe)},null,8,["form"])]),_:1}),vue.createVNode(vue.unref(elementPlus.ElMain),null,{default:vue.withCtx(()=>[vue.createVNode(ModelAttribute,{ref_key:"modelAttributeRef",ref:ae,modelValue:vue.unref(de),"onUpdate:modelValue":xe[0]||(xe[0]=we=>vue.isRef(de)?de.value=we:null),"is-required":vue.unref(he)},null,8,["modelValue","is-required"])]),_:1})]),_:1})]),_:3},8,["modelValue"])}}}),_hoisted_1$s={key:0,class:"mb-2.5"},_hoisted_2$l=["onClick"],_hoisted_3$j=vue.createElementVNode("i",{class:"mr-1 ri-add-circle-line"},null,-1),_sfc_main$y=vue.defineComponent({__name:"model-normal",props:{permission:{default:()=>[]}},emits:["success"],setup(te,{expose:U,emit:G}){const{proxy:ee}=vue.getCurrentInstance(),{setFormValue:ne,getFormValue:re}=ee.$globalHooks.useForm(),oe=te,ie=G,le=vue.ref(!1),ae=vue.ref(null),se=vue.ref(""),ue=vue.ref([]),ce=vue.ref(""),de=vue.ref(""),fe=vue.ref([]),ve=vue.ref([]),he=vue.computed(()=>{var ye;return(ye=pe.find(xe=>xe.fieldName=="openForm"))==null?void 0:ye.value}),pe=vue.reactive([{name:"项目名称",type:FieldType.Select,fieldName:"projectId",value:"",required:!0,props:{url:"/api/ace-data-center/project/options",label:"label",value:"code"},disabled:!0},{name:"模型层级",type:FieldType.Select,fieldName:"modelLayer",value:"",required:!0,props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelLayer",label:"dictValue",value:"dictKey"},changeFunc:ye=>{const xe=pe.find($e=>$e.fieldName==="modelType");xe.required=ye.value=="DWD",xe.disabled=ye.value!="DWD";const Ce=`${((ye==null?void 0:ye.value)??"").toLocaleLowerCase()}_`;ce.value=Ce,pe.find($e=>$e.fieldName==="modelCode").prepend=vue.h("div",{},Ce)}},{name:"模型名称",type:FieldType.Text,fieldName:"modelName",value:"",required:!0},{name:"模型表名",type:FieldType.Text,fieldName:"modelCode",value:"",required:!0},{name:"模型类型",type:FieldType.Select,fieldName:"modelType",value:"",props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelType",label:"dictValue",value:"dictKey"},disabled:!0},{name:"标签",type:FieldType.Text,fieldName:"tags",value:""},{name:"分区字段",type:FieldType.Text,fieldName:"partitionColumn",value:""},{name:"模型描述",type:FieldType.Textarea,fieldName:"modelDesc",value:""},{name:"表单录入数据",type:FieldType.Radio,fieldName:"openForm",value:"",dict:"openForm",defVal:"1",required:!0},{name:"id",type:FieldType.Text,fieldName:"id",value:"",hide:!0}]),ge=vue.ref(!0),me=ye=>{var xe,Ce;le.value=!0,se.value="",ue.value=[],ve.value=((ye==null?void 0:ye.slaveModels)??[]).map($e=>({...$e,listModelAttribute:$e.listModelAttribute.filter(we=>we.attributeComment!="外键"&&we.attributeCode!="_data_from")})),de.value="default",ge.value=!(ye!=null&&ye.parentModelId),fe.value=(ye?(ye==null?void 0:ye.listModelAttribute)??[]:[{nanoid:nanoid(),dataScale:0,dataLength:0}]).map($e=>{const we=(($e==null?void 0:$e.attributeCode)??"").split("");return $e.nanoid=nanoid(),we[0]=="_"&&($e.hide=!0),$e}),oe.permission.includes("DATA_FROM_FORM")||pe.splice(pe.findIndex($e=>$e.fieldName=="openForm"),1),((xe=ye==null?void 0:ye.modelCode)!=null&&xe.startsWith("ods_")||(Ce=ye==null?void 0:ye.modelCode)!=null&&Ce.startsWith("dwd_"))&&(ye.modelCode=ye.modelCode.substring(4,ye.modelCode.length)),ne({...ye??{},projectId:ee.$baseGetCurrentProjectId()},pe)},_e=async()=>{const{params:ye,error:xe}=re(pe);if(xe.length>0)return;let Ce=!1;for(let $e=0;$e<vue.unref(ve).length+1;$e+=1){de.value=$e==0?"default":vue.unref(ve)[$e-1].value,await new Promise(Se=>{vue.nextTick(()=>Se(!0))});const we=Array.isArray(vue.unref(ae))?vue.unref(ae)[0]:vue.unref(ae);if(!await(we==null?void 0:we.validate())){Ce=!0;break}const Ve=vue.unref(we).isRepeat();if(Ve!==""){Ce=!0,ee.$baseAlert({content:Ve});break}}Ce||ee.$baseConfirm({content:"是否立即执行?",callConfirm:async()=>{const $e=ye.id?"/api/ace-data-center/model/editModelDetail":"/api/ace-data-center/model/saveModelDetail";await ee.$baseHttp.post($e,{...ye,modelCode:vue.unref(ce)+ye.modelCode,projectId:String(ee.$baseGetCurrentProjectId()),listModelAttribute:vue.unref(fe),slaveModels:vue.unref(ve).map(Ee=>({...Ee,openForm:ye.openForm}))},{headers:{loading:!0}})&&(le.value=!1,ee.$message.success("操作成功"),ie("success"))}})},be=()=>{ee.$basePrompt({content:"模型名称",placeholder:"模型名称",inputType:"input",inputValue:"",beforeCloseFunc:async(ye,xe,Ce)=>{if(ye!="confirm"){Ce();return}const $e={modelName:xe.inputValue,value:nanoid(),listModelAttribute:[{nanoid:nanoid(),dataScale:0,dataLength:0}]};ve.value.push($e),de.value=$e.value,Ce()}})};return U({init:me}),(ye,xe)=>{const Ce=vue.resolveComponent("AppForm"),$e=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock($e,{modelValue:vue.unref(le),"onUpdate:modelValue":xe[3]||(xe[3]=we=>vue.isRef(le)?le.value=we:null),title:"手动新增模型",size:"100%"},{footer:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",type:"primary",onClick:_e},{default:vue.withCtx(()=>[vue.createTextVNode("提交")]),_:1}),vue.renderSlot(ye.$slots,"formFooter"),vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",onClick:xe[2]||(xe[2]=we=>le.value=!1)},{default:vue.withCtx(()=>[vue.createTextVNode("取消")]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElContainer),{class:"h-full overflow-hidden"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElAside),{class:"pr-5 mr-5"},{default:vue.withCtx(()=>[vue.createVNode(Ce,{form:vue.unref(pe)},null,8,["form"])]),_:1}),vue.createVNode(vue.unref(elementPlus.ElMain),null,{default:vue.withCtx(()=>[vue.unref(ge)&&oe.permission.includes("MASTER_SLAVE_SAVE")?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$s,[vue.createVNode(vue.unref(elementPlus.ElButtonGroup),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{type:vue.unref(de)=="default"?"primary":"",onClick:xe[0]||(xe[0]=we=>de.value="default")},{default:vue.withCtx(()=>[vue.createTextVNode(" 主表 ")]),_:1},8,["type"]),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(ve),(we,Ee)=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElButton),{type:vue.unref(de)==we.value?"primary":"",onClick:Ve=>de.value=we.value},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(we.modelName)+" ",1),we.value!=vue.unref(de)?(vue.openBlock(),vue.createElementBlock("i",{key:0,class:"ml-1 ri-close-circle-line",onClick:vue.withModifiers(Ve=>vue.unref(ve).splice(Ee,1),["stop"])},null,8,_hoisted_2$l)):vue.createCommentVNode("",!0)]),_:2},1032,["type","onClick"]))),256))]),_:1}),vue.createVNode(vue.unref(elementPlus.ElButton),{type:"warning",class:"ml-2.5",onClick:be},{default:vue.withCtx(()=>[_hoisted_3$j,vue.createTextVNode(" 增加从表 ")]),_:1})])):vue.createCommentVNode("",!0),vue.unref(de)=="default"?(vue.openBlock(),vue.createBlock(ModelAttribute,{key:1,ref_key:"modelAttributeRef",ref:ae,modelValue:vue.unref(fe),"onUpdate:modelValue":xe[1]||(xe[1]=we=>vue.isRef(fe)?fe.value=we:null),"is-required":vue.unref(he)},null,8,["modelValue","is-required"])):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(ve),(we,Ee)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.unref(de)==we.value?(vue.openBlock(),vue.createBlock(ModelAttribute,{key:0,ref_for:!0,ref_key:"modelAttributeRef",ref:ae,modelValue:we.listModelAttribute,"onUpdate:modelValue":Ve=>we.listModelAttribute=Ve,"is-required":vue.unref(he)},null,8,["modelValue","onUpdate:modelValue","is-required"])):vue.createCommentVNode("",!0)],64))),256))]),_:1})]),_:1})]),_:3},8,["modelValue"])}}}),_sfc_main$x=vue.defineComponent({__name:"model-excel",props:{permission:{default:()=>[]}},emits:["success"],setup(te,{expose:U,emit:G}){const{proxy:ee}=vue.getCurrentInstance(),{setFormValue:ne,getFormValue:re}=ee.$globalHooks.useForm(),oe=te,ie=G,le=vue.ref(!1),ae=vue.ref(null),se=vue.ref(""),ue=vue.ref([]),ce=vue.reactive([{name:"上传excel",type:FieldType.Slot,fieldName:"file",required:!0,value:""}]),de=vue.computed(()=>{var ge;return(ge=fe.find(me=>me.fieldName=="openForm"))==null?void 0:ge.value}),fe=vue.reactive([{name:"项目名称",type:FieldType.Select,fieldName:"projectId",value:"",required:!0,props:{url:"/api/ace-data-center/project/options",label:"label",value:"code"},disabled:!0},{name:"模型层级",type:FieldType.Select,fieldName:"modelLayer",value:"",required:!0,props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelLayer",label:"dictValue",value:"dictKey"},disabled:!0,changeFunc:ge=>{const me=fe.find(be=>be.fieldName==="modelType");me.required=ge.value=="DWD",me.disabled=ge.value!="DWD";const _e=`${((ge==null?void 0:ge.value)??"").toLocaleLowerCase()}_`;se.value=_e,fe.find(be=>be.fieldName==="modelCode").prepend=vue.h("div",{},_e)}},{name:"模型名称",type:FieldType.Text,fieldName:"modelName",value:"",required:!0},{name:"模型表名",type:FieldType.Text,fieldName:"modelCode",value:"",required:!0},{name:"模型类型",type:FieldType.Select,fieldName:"modelType",value:"",props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelType",label:"dictValue",value:"dictKey"},hide:!0},{name:"标签",type:FieldType.Text,fieldName:"tags",value:""},{name:"分区字段",type:FieldType.Text,fieldName:"partitionColumn",value:""},{name:"模型描述",type:FieldType.Textarea,fieldName:"modelDesc",value:""},{name:"表单录入数据",type:FieldType.Radio,fieldName:"openForm",value:"",dict:"openForm",defVal:"1",required:!0},{name:"modelTemplateFileUrl",type:FieldType.Text,fieldName:"modelTemplateFileUrl",value:"",hide:!0},{name:"modelTemplateFileName",type:FieldType.Text,fieldName:"modelTemplateFileName",value:"",hide:!0},{name:"modelTemplateFileHeadIndex",type:FieldType.Text,fieldName:"modelTemplateFileHeadIndex",value:"",hide:!0}]),ve=()=>{le.value=!0,ue.value=[{nanoid:nanoid(),dataScale:0,dataLength:0}],oe.permission.includes("DATA_FROM_FORM")||fe.splice(fe.findIndex(ge=>ge.fieldName=="openForm"),1),ne({},ce),ne({modelLayer:"ODS",projectId:ee.$baseGetCurrentProjectId()},fe)},he=async ge=>{var be;const me=new FormData;me.append("file",ge.file);const _e=await ee.$baseHttp.post("/api/ace-data-center/auto-import-excel/fileParser2Model",me,{headers:{"Content-Type":"multipart/form-data",loading:!0}});_e&&(ne({modelLayer:"ODS",modelName:_e.data.filename,modelCode:_e.data.filenamePinyin,modelTemplateFileUrl:_e.data.link,modelTemplateFileName:_e.data.originalName,modelTemplateFileHeadIndex:_e.data.headIndex,projectId:ee.$baseGetCurrentProjectId()},fe),ue.value=(((be=_e.data)==null?void 0:be.list)??[]).map(ye=>({...ye,dataScale:ye.dataScale||0,dataLength:ye.dataLength||0,nanoid:nanoid()})))},pe=async()=>{var ye;const{params:ge,error:me}=re(fe);if(me.length>0||!await((ye=vue.unref(ae))==null?void 0:ye.validate()))return;const be=vue.unref(ae).isRepeat();if(be!==""){ee.$baseAlert({content:be});return}ee.$baseConfirm({content:"是否立即执行?",callConfirm:async()=>{await ee.$baseHttp.post("/api/ace-data-center/model/saveModelDetail",{...ge,modelCode:vue.unref(se)+ge.modelCode,projectId:String(ee.$baseGetCurrentProjectId()),listModelAttribute:pushRequiredAttr(vue.unref(ue),ge.modelLayer=="ODS")},{headers:{loading:!0}})&&(le.value=!1,ee.$message.success("操作成功"),ie("success"))}})};return U({init:ve}),(ge,me)=>{const _e=vue.resolveComponent("AppForm"),be=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock(be,{modelValue:vue.unref(le),"onUpdate:modelValue":me[2]||(me[2]=ye=>vue.isRef(le)?le.value=ye:null),title:"EXCEL新建模型",size:"100%"},{footer:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",type:"primary",onClick:pe},{default:vue.withCtx(()=>[vue.createTextVNode("提交")]),_:1}),vue.renderSlot(ge.$slots,"formFooter"),vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",onClick:me[1]||(me[1]=ye=>le.value=!1)},{default:vue.withCtx(()=>[vue.createTextVNode("取消")]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElContainer),{class:"h-full overflow-hidden"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElAside),{class:"pr-5 mr-5"},{default:vue.withCtx(()=>[vue.createVNode(_e,{form:vue.unref(ce)},{file:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElUpload),{style:{width:"100%"},"http-request":he,multiple:!1,accept:".xls,.xlsx","show-file-list":!1},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary"},{default:vue.withCtx(()=>[vue.createTextVNode("点击上传")]),_:1})]),_:1})]),_:1},8,["form"]),vue.createVNode(_e,{form:vue.unref(fe)},null,8,["form"])]),_:1}),vue.createVNode(vue.unref(elementPlus.ElMain),null,{default:vue.withCtx(()=>[vue.createVNode(ModelAttribute,{ref_key:"modelAttributeRef",ref:ae,modelValue:vue.unref(ue),"onUpdate:modelValue":me[0]||(me[0]=ye=>vue.isRef(ue)?ue.value=ye:null),"is-required":vue.unref(de)},null,8,["modelValue","is-required"])]),_:1})]),_:1})]),_:3},8,["modelValue"])}}}),_hoisted_1$r={class:"flex flex-1 overflow-hidden"},_hoisted_2$k={class:"mt-4"},_sfc_main$w=vue.defineComponent({__name:"model-extract",emits:["success"],setup(te,{expose:U,emit:G}){const{proxy:ee}=vue.getCurrentInstance(),{setFormValue:ne,getFormValue:re}=ee.$globalHooks.useForm(),{allModel:oe,allModelAttribute:ie}=fetch$1(ee).model,le=G,ae=vue.ref(!1),se=vue.ref(null),ue=vue.ref(""),ce=vue.ref([]),de=vue.reactive({odsList:[],odsAttributeList:[],odsValue:""}),fe=vue.reactive([{name:"项目名称",type:FieldType.Select,fieldName:"projectId",value:"",required:!0,props:{url:"/api/ace-data-center/project/options",label:"label",value:"code"},disabled:!0},{name:"模型层级",type:FieldType.Select,fieldName:"modelLayer",value:"",required:!0,disabled:!0,props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelLayer",label:"dictValue",value:"dictKey"},changeFunc:be=>{const ye=fe.find(Ce=>Ce.fieldName==="modelType");ye.required=be.value=="DWD",ye.disabled=be.value!="DWD";const xe=`${((be==null?void 0:be.value)??"").toLocaleLowerCase()}_`;ue.value=xe,fe.find(Ce=>Ce.fieldName==="modelCode").prepend=vue.h("div",{},xe)}},{name:"模型名称",type:FieldType.Text,fieldName:"modelName",value:"",required:!0},{name:"模型表名",type:FieldType.Text,fieldName:"modelCode",value:"",required:!0},{name:"模型类型",type:FieldType.Select,fieldName:"modelType",value:"",props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelType",label:"dictValue",value:"dictKey"}}]),ve=vue.computed(()=>de.odsList.find(be=>be.id==de.odsValue).modelCode),he=()=>{ae.value=!0,ce.value=[],ne({modelLayer:"DWD",projectId:ee.$baseGetCurrentProjectId()},fe),oe({modelLayer:"ODS"}).then(be=>{de.odsList=be.data})},pe=async be=>{const ye=await ie({modelId:be});ye&&(de.odsAttributeList=ye.data.filter(xe=>!defaultAttributeCode.includes(xe.attributeCode)),vue.nextTick(()=>{de.odsAttributeList.forEach(xe=>{vue.unref(ce).some(Ce=>Ce.sourceModelName==vue.unref(ve)&&Ce.sourceColumnName==xe.attributeCode)&&ee.$refs.odsAttributeListRef.toggleRowSelection(xe,!0)})}))},ge=(be,ye)=>{if(ye){const xe=be.length&&be.indexOf(ye)!==-1;me(xe?"add":"remove",ye);return}be.length?be.forEach(xe=>{me("add",xe)}):ce.value=ce.value.filter(xe=>xe.sourceModelName!=vue.unref(ve))},me=(be,ye)=>{be==="add"&&(vue.unref(ce).find(xe=>xe.sourceModelName==vue.unref(ve)&&xe.sourceColumnName==ye.attributeCode)||ce.value.push({attributeCode:ye.attributeCode,attributeComment:ye.attributeComment,mapCode:ye.attributeCode,dataType:ye.dataType,dataLength:ye.dataLength,dataScale:ye.dataScale,primaryKey:"1",sourceModelName:vue.unref(ve),sourceColumnName:ye.attributeCode,nanoid:nanoid()})),be==="remove"&&(ce.value=ce.value.filter(xe=>xe.sourceModelName!==ye.odsName&&xe.sourceColumnName!=ye.attributeCode))},_e=async()=>{var $e;const{params:be,error:ye}=re(fe);if(ye.length>0||!await(($e=vue.unref(se))==null?void 0:$e.validate()))return;const Ce=vue.unref(se).isRepeat();if(Ce!==""){ee.$baseAlert({content:Ce});return}ee.$baseConfirm({content:"是否立即执行?",callConfirm:async()=>{const we="/api/ace-data-center/model/saveModelDetail";await ee.$baseHttp.post(we,{...be,modelCode:vue.unref(ue)+be.modelCode,projectId:String(ee.$baseGetCurrentProjectId()),listModelAttribute:pushRequiredAttr(vue.unref(ce),be.modelLayer=="ODS")},{headers:{loading:!0}})&&(ae.value=!1,ee.$message.success("操作成功"),le("success"))}})};return U({init:he}),(be,ye)=>{const xe=vue.resolveComponent("aceHeader"),Ce=vue.resolveComponent("AppForm"),$e=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock($e,{modelValue:vue.unref(ae),"onUpdate:modelValue":ye[3]||(ye[3]=we=>vue.isRef(ae)?ae.value=we:null),title:"ODS抽取模型",size:"100%"},{footer:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",type:"primary",onClick:_e},{default:vue.withCtx(()=>[vue.createTextVNode("提交")]),_:1}),vue.renderSlot(be.$slots,"formFooter"),vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",onClick:ye[2]||(ye[2]=we=>ae.value=!1)},{default:vue.withCtx(()=>[vue.createTextVNode("取消")]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElContainer),{class:"h-full overflow-hidden"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElAside),{class:"flex flex-col pr-5 mr-5",style:{width:"320px",overflow:"hidden"}},{default:vue.withCtx(()=>[vue.createVNode(xe,{title:"ODS源表"}),vue.createVNode(vue.unref(elementPlus.ElSelect),{modelValue:vue.unref(de).odsValue,"onUpdate:modelValue":ye[0]||(ye[0]=we=>vue.unref(de).odsValue=we),onChange:pe,class:"w-full mt-2 mb-2",placeholder:"请选择模型"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(de).odsList,we=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{key:we.id,label:`${we.modelName}:${we.modelCode}`,value:we.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),vue.createElementVNode("div",_hoisted_1$r,[vue.createVNode(vue.unref(elementPlus.ElTable),{ref:"odsAttributeListRef",data:vue.unref(de).odsAttributeList,onSelect:ge,onSelectAll:ge,height:"100%"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElTableColumn),{type:"selection",width:"30"}),vue.createVNode(vue.unref(elementPlus.ElTableColumn),{prop:"attributeCode",label:"字段","show-overflow-tooltip":""}),vue.createVNode(vue.unref(elementPlus.ElTableColumn),{prop:"attributeComment",label:"名称","show-overflow-tooltip":""}),vue.createVNode(vue.unref(elementPlus.ElTableColumn),{prop:"dataType",label:"类型"})]),_:1},8,["data"])])]),_:1}),vue.createVNode(vue.unref(elementPlus.ElMain),null,{default:vue.withCtx(()=>[vue.createVNode(xe,{title:"DWD目标模型"}),vue.createElementVNode("div",_hoisted_2$k,[vue.createVNode(Ce,{form:vue.unref(fe),col:2},null,8,["form"])]),vue.createVNode(ModelAttribute,{ref_key:"modelAttributeRef",ref:se,modelValue:vue.unref(ce),"onUpdate:modelValue":ye[1]||(ye[1]=we=>vue.isRef(ce)?ce.value=we:null)},null,8,["modelValue"])]),_:1})]),_:1})]),_:3},8,["modelValue"])}}}),_sfc_main$v=vue.defineComponent({__name:"model-tag-edit",props:{permission:{default:()=>[]}},emits:["success"],setup(te,{expose:U,emit:G}){const{proxy:ee}=vue.getCurrentInstance(),{setFormValue:ne,getFormValue:re}=ee.$globalHooks.useForm(),oe=te,ie=G,le=vue.ref(!1),ae=ce=>{se.value=[{name:"模型名称",type:FieldType.Text,fieldName:"modelName",value:"",required:!0},{name:"标签",type:FieldType.Text,fieldName:"tags",value:"",placeholder:"多个标签用英文逗号分割",required:!0},{name:"表单录入数据",type:FieldType.Radio,fieldName:"openForm",value:"",dict:"openForm",defVal:"1",required:!0},{name:"projectId",type:FieldType.Text,fieldName:"projectId",value:"",hide:!0},{name:"编号",type:FieldType.Text,fieldName:"id",value:"",hide:!0}],(!oe.permission.includes("DATA_FROM_FORM")||ce.modelLayer=="ODSVIEW")&&vue.unref(se).splice(vue.unref(se).findIndex(de=>de.fieldName=="openForm"),1),ne(ce,se.value),le.value=!0},se=vue.ref([]),ue=async ce=>{switch(ce){case"submit":{const{params:de,error:fe}=re(vue.unref(se));if(fe.length>0||!await ee.$baseHttp.post("/api/ace-data-center/model/submit",de))return;le.value=!1,ee.$message.success("操作成功"),ie("success")}break}};return U({init:ae}),(ce,de)=>{const fe=vue.resolveComponent("AppForm"),ve=vue.resolveComponent("AppDialog");return vue.openBlock(),vue.createBlock(ve,{modelValue:vue.unref(le),"onUpdate:modelValue":de[2]||(de[2]=he=>vue.isRef(le)?le.value=he:null),title:"编辑模型",size:500},{footer:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary",onClick:de[0]||(de[0]=he=>ue("submit"))},{default:vue.withCtx(()=>[vue.createTextVNode("提交")]),_:1}),vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",onClick:de[1]||(de[1]=he=>le.value=!1)},{default:vue.withCtx(()=>[vue.createTextVNode("取消")]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(fe,{form:vue.unref(se)},null,8,["form"])]),_:1},8,["modelValue"])}}}),_hoisted_1$q={key:1},_hoisted_2$j=vue.createElementVNode("i",{class:"mr-2 ri-delete-bin-line"},null,-1),_hoisted_3$i={key:0},_hoisted_4$i=vue.createElementVNode("span",{class:"text-color-danger"},"表格标题栏不匹配,",-1),_hoisted_5$e=vue.createElementVNode("span",{class:"text-color-danger"},"异常",-1),_sfc_main$u=vue.defineComponent({__name:"model-file-cache-list",props:{modelId:{default:""}},emits:["success"],setup(te,{expose:U,emit:G}){const ee=te,{proxy:ne}=vue.getCurrentInstance(),{listSimpleColumn:re}=fetch$1(ne),oe=vue.ref(!1),ie=vue.ref(!1),le=vue.ref(null),ae=vue.ref(null),se=vue.ref([]),ue=vue.ref([]),ce=vue.ref(""),de=G,fe=vue.reactive([{name:"状态",type:FieldType.Select,fieldName:"extractStatus",value:"",fieldType:FieldRenderType.String,dict:"extractStatus"}]),ve=vue.ref([{label:"日期",prop:"createTime"},{label:"文件名",prop:"fileName"},{label:"抽取状态",prop:"extractStatus",dict:"extractStatus"},{label:"错误信息",prop:"errorMsg",slot:!0},{label:"操作",prop:"action",slot:!0,fixed:"right"}]),he=async()=>{ce.value=`/api/ace-data-center/file-extract-cache/list?projectId=${ne.$baseGetCurrentProjectId()}&modelId=${ee.modelId}`,oe.value=!0},pe=async(ge,me)=>{var _e;switch(ge){case"delete":ne.$baseConfirm({content:"是否确认删除?",callConfirm:async()=>{await ne.$baseHttp.post(`/api/ace-data-center/file-extract-cache/remove?ids=${me.id}`,{},{headers:{loading:!0}})&&(ne.$message.success("操作成功"),vue.unref(le).getData(),de("success"))}});break;case"viewError":ae.value=JSON.parse(me.errorMsg),se.value=(_e=vue.unref(ae))==null?void 0:_e.errorValidateData;const be=await re(ee.modelId);be.data&&be.data.unshift({label:"异常情况",prop:"异常情况",mapLabel:"异常情况"}),ue.value=(be.data??[]).map(ye=>({...ye,prop:ye.mapLabel})),ie.value=!0;break}};return U({init:he}),(ge,me)=>{const _e=vue.resolveComponent("AppList"),be=vue.resolveComponent("AppTable"),ye=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock(ye,{modelValue:vue.unref(oe),"onUpdate:modelValue":me[1]||(me[1]=xe=>vue.isRef(oe)?oe.value=xe:null),title:"抽取日志",size:"90%"},{default:vue.withCtx(()=>[vue.unref(ce)?(vue.openBlock(),vue.createBlock(_e,{key:0,searchFormRes:{extractStatus:"00"},searchForm:vue.unref(fe),tableData:vue.unref(ve),url:vue.unref(ce),ref_key:"appList",ref:le},{errorMsg:vue.withCtx(({row:xe})=>[xe.extractStatus==="10"?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElLink),{key:0,type:"primary",onClick:Ce=>pe("viewError",xe)},{default:vue.withCtx(()=>[vue.createTextVNode(" 查看错误信息 ")]),_:2},1032,["onClick"])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$q,"-"))]),action:vue.withCtx(({row:xe})=>[vue.createVNode(vue.unref(elementPlus.ElLink),{type:"danger",onClick:Ce=>pe("delete",xe)},{default:vue.withCtx(()=>[_hoisted_2$j,vue.createTextVNode(" 删除 ")]),_:2},1032,["onClick"])]),_:1},8,["searchForm","tableData","url"])):vue.createCommentVNode("",!0),vue.createVNode(ye,{modelValue:vue.unref(ie),"onUpdate:modelValue":me[0]||(me[0]=xe=>vue.isRef(ie)?ie.value=xe:null),title:"错误信息",size:"90%"},{default:vue.withCtx(()=>[vue.unref(ae)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$i,[vue.createVNode(vue.unref(elementPlus.ElAlert),{title:"温馨提醒",type:vue.unref(ae).isExtractSuccess?"success":"warning","show-icon":"",closable:!1},{default:vue.withCtx(()=>[vue.unref(ae).isTitleCheckSuccess===!1?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[_hoisted_4$i,vue.createTextVNode(" 请检查Excel文件数据! ")],64)):vue.unref(ae).isValidateSuccess?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[vue.createTextVNode(" 本批数据共有"+vue.toDisplayString(vue.unref(ae).dataTotalNum)+"条,全部通过校验。 ",1)],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createTextVNode(" 本批数据共有"+vue.toDisplayString(vue.unref(ae).dataTotalNum)+"条, 已校验"+vue.toDisplayString(vue.unref(ae).validateSuccessNum+vue.unref(ae).validateFailNum)+"条, "+vue.toDisplayString(vue.unref(ae).validateFailNum)+"条 ",1),_hoisted_5$e,vue.createTextVNode(" 当前异常率约为"+vue.toDisplayString(Number(vue.unref(ae).validateFailNum/(vue.unref(ae).validateSuccessNum+vue.unref(ae).validateFailNum)*100).toFixed(2))+"% ",1)],64))]),_:1},8,["type"])])):vue.createCommentVNode("",!0),vue.unref(ve).length>0?(vue.openBlock(),vue.createBlock(be,{key:1,class:"mt-4",list:vue.unref(se),tableData:vue.unref(ue),loading:!1},null,8,["list","tableData"])):vue.createCommentVNode("",!0)]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])}}}),_hoisted_1$p=vue.createElementVNode("i",{class:"mr-2 ri-exchange-line"},null,-1),_hoisted_2$i=vue.createElementVNode("i",{class:"mr-2 ri-refresh-line"},null,-1),_hoisted_3$h=vue.createElementVNode("div",null,null,-1),_hoisted_4$h=vue.createElementVNode("i",{class:"mr-2 ri-delete-bin-line"},null,-1),_sfc_main$t=vue.defineComponent({__name:"model-extract-log",emits:["success"],setup(te,{expose:U,emit:G}){const{proxy:ee}=vue.getCurrentInstance(),ne=G,re=vue.ref(!1),oe=vue.ref(null),ie=vue.ref(""),le=vue.ref([]),ae=ue=>{const{businessId:ce,businessType:de="file_extract",ajaxUrl:fe="",table:ve}=ue;le.value=ve||[{label:"批次号",prop:"batchNo"},{label:"日期",prop:"createTime"},{label:"文件名",prop:"file",slot:!0},{label:"抽取方式",prop:"createTime",func:he=>{var pe;return((pe=JSON.parse(he.businessSnapshot||"{}"))==null?void 0:pe.extractType)==2?"覆盖":"追加"}},{label:"数据总数",prop:"totalNum"},{label:"成功数",prop:"successNum"},{label:"失败数",prop:"failNum"},{label:"协同参数",prop:"collaborateValue"},{label:"操作",prop:"action",slot:!0,fixed:"right"}],ie.value=fe||`/api/ace-data-center/extract-log/list?descs=create_time&businessId=${ce}&businessType=${de}`,re.value=!0},se=async(ue,ce)=>{switch(ue){case"refresh":{if(!await ee.$baseHttp.post(`/api/ace-data-center/extract-log/updateSuccessTotal/${ce.id}`,{},{headers:{loading:!0}}))return;ee.$message.success("操作成功"),vue.unref(oe).getData(),ne("success")}break;case"delete":ee.$baseConfirm({content:"删除数据可能影响指标统计,是否确认删除?",callConfirm:async()=>{await ee.$baseHttp.post(`/api/ace-data-center/extract-log/deleteModelData/${ce.id}`,{},{headers:{loading:!0}})&&(ee.$message.success("操作成功"),vue.unref(oe).getData(),ne("success"))}});break;case"run":ee.$baseConfirm({content:"重跑数据会先删除本批次数据,然后新建立一个批次任务执行,是否继续执行?",callConfirm:async()=>{await ee.$baseHttp.post(`/api/ace-data-center/extract-log/reRunTeamworkDbExtractBy/${ce.id}`,{},{headers:{loading:!0}})&&(ee.$message.success("操作成功"),vue.unref(oe).getData(),ne("success"))}});break;case"download":{const de=JSON.parse((ce==null?void 0:ce.businessSnapshot)??"{}");window.open(de.fileUrl)}break}};return U({init:ae}),(ue,ce)=>{const de=vue.resolveComponent("AppList"),fe=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock(fe,{modelValue:vue.unref(re),"onUpdate:modelValue":ce[0]||(ce[0]=ve=>vue.isRef(re)?re.value=ve:null),title:"抽取日志",size:"90%"},{default:vue.withCtx(()=>[vue.createVNode(de,{tableData:vue.unref(le),url:vue.unref(ie),ref_key:"appList",ref:oe},{file:vue.withCtx(({row:ve})=>[vue.createVNode(vue.unref(elementPlus.ElLink),{type:"primary",onClick:he=>se("download",ve)},{default:vue.withCtx(()=>{var he;return[vue.createTextVNode(vue.toDisplayString((he=JSON.parse(ve.businessSnapshot??"{}"))==null?void 0:he.fileName),1)]}),_:2},1032,["onClick"])]),action:vue.withCtx(({row:ve})=>{var he;return[((he=JSON.parse(ve.businessSnapshot||"{}"))==null?void 0:he.extractType)==3?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElLink),{key:0,type:"primary",class:"mr-2",onClick:pe=>se("run",ve)},{default:vue.withCtx(()=>[_hoisted_1$p,vue.createTextVNode(" 重跑 ")]),_:2},1032,["onClick"])):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(elementPlus.ElLink),{type:"primary",onClick:pe=>se("refresh",ve)},{default:vue.withCtx(()=>[_hoisted_2$i,vue.createTextVNode(" 刷新 ")]),_:2},1032,["onClick"]),_hoisted_3$h,vue.createVNode(vue.unref(elementPlus.ElLink),{type:"danger",onClick:pe=>se("delete",ve)},{default:vue.withCtx(()=>[_hoisted_4$h,vue.createTextVNode(" 删除本批次数据 ")]),_:2},1032,["onClick"])]}),_:1},8,["tableData","url"])]),_:1},8,["modelValue"])}}}),_sfc_main$s=vue.defineComponent({__name:"model-excel-edit",props:{modelId:{default:""}},emits:["success"],setup(te,{expose:U,emit:G}){const{proxy:ee}=vue.getCurrentInstance(),{setFormValue:ne,getFormValue:re}=ee.$globalHooks.useForm(),oe=te,ie=vue.ref(!1),le=vue.reactive([{name:"上传excel",type:FieldType.Slot,fieldName:"modelTemplateFileUrl",value:""},{name:"表头位置",type:FieldType.Select,fieldName:"titleNum",value:"",hide:!0,options:[{label:"第1行",value:"1"},{label:"第2行",value:"2"},{label:"第3行",value:"3"},{label:"第4行",value:"4"},{label:"第5行",value:"5"}]},{name:"去除末尾统计行",type:FieldType.Radio,fieldName:"filterEndLineFlag",value:"",hide:!0,options:[{label:"是",value:"1"},{label:"否",value:"0"}],defVal:"1"}]),ae=vue.ref(null),se=vue.ref([]),ue=async()=>{const fe=await ee.$baseHttp.get(`/api/ace-data-center/file-extract-template/detailByParams?modelId=${oe.modelId}`,{headers:{loading:!0}});fe&&(ae.value=fe.data,ie.value=!0,fe.data&&(se.value=[{name:fe.data.modelTemplateFileName,url:fe.data.modelTemplateFileUrl}]),ne(fe.data??{},le))},ce=async fe=>{const ve=new FormData;ve.append("file",fe.file);const he=await ee.$baseHttp.post("/api/ace-api/blade-resource/oss/endpoint/put-file",ve,{headers:{"Content-Type":"multipart/form-data",loading:!0}});he&&(se.value=[{name:he.data.originalName,url:he.data.link}])},de=async()=>{var pe;const{params:fe,error:ve}=re(le);ve.length>0||!await ee.$baseHttp.post("/api/ace-data-center/file-extract-template/submit",{...fe,modelTemplateFileName:vue.unref(se).length?vue.unref(se)[0].name:"",modelTemplateFileUrl:vue.unref(se).length?vue.unref(se)[0].url:"",modelId:oe.modelId,id:((pe=vue.unref(ae))==null?void 0:pe.id)??"",projectId:String(ee.$baseGetCurrentProjectId())})||(ie.value=!1,ee.$message.success("操作成功"))};return U({init:ue}),(fe,ve)=>{const he=vue.resolveComponent("AppForm"),pe=vue.resolveComponent("AppDialog");return vue.openBlock(),vue.createBlock(pe,{modelValue:vue.unref(ie),"onUpdate:modelValue":ve[2]||(ve[2]=ge=>vue.isRef(ie)?ie.value=ge:null),title:"模板上传",size:"50%"},{footer:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",type:"primary",onClick:de},{default:vue.withCtx(()=>[vue.createTextVNode("提交")]),_:1}),vue.renderSlot(fe.$slots,"formFooter"),vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",onClick:ve[1]||(ve[1]=ge=>ie.value=!1)},{default:vue.withCtx(()=>[vue.createTextVNode("取消")]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(he,{form:vue.unref(le)},{modelTemplateFileUrl:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElUpload),{style:{width:"100%"},"file-list":vue.unref(se),"onUpdate:fileList":ve[0]||(ve[0]=ge=>vue.isRef(se)?se.value=ge:null),"http-request":ce,multiple:!1,accept:".xls,.xlsx"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary"},{default:vue.withCtx(()=>[vue.createTextVNode("点击上传")]),_:1})]),_:1},8,["file-list"])]),_:1},8,["form"])]),_:3},8,["modelValue"])}}}),jsoneditor_min="",jsonEditor_vue_vue_type_style_index_0_scoped_71f05bd7_lang="",_sfc_main$r={editor:null,name:"json-editor-vue",internalChange:!1,props:{modelValue:Object|Number|Array,options:Object,currentMode:{type:String,default:"code"},modeList:{type:Array,default:()=>["tree","code","form","text","view"]},language:{type:String,default:"en"}},data(){return{json:this.modelValue,expandedModes:["tree","view","form"],isFullScreen:!1,hasLogo:!0,showFullScreen:!1}},watch:{modelValue:{immediate:!0,deep:!0,handler(te){this.internalChange||(this.setEditorContent(te),this.$nextTick(()=>{this.expandAll()}))}}},mounted(){this.init();const te=document.querySelector(".jsoneditor-menu .jsoneditor-poweredBy");this.hasLogo=te&&window.getComputedStyle(te).display!=="none",this.showFullScreen=!0},unmounted(){var te;(te=this.editor)==null||te.destroy(),this.editor=null},methods:{toggleFullScreen(){this.isFullScreen=!this.isFullScreen,this.$nextTick(()=>{const te=new Event("resize");window.dispatchEvent(te)})},init(){const{currentMode:te,modeList:U,options:G}=this,ee=()=>{const ce=fe=>{this.json=fe,this.$emit("update:modelValue",fe),this.$emit("change",fe),this.internalChange=!0,this.$nextTick(()=>{this.internalChange=!1})};if(!this.editor.getText()){ce("");return}try{const fe=this.editor.get();ce(fe)}catch{}},ne=()=>{this.expandAll()},re=(ce,de,fe)=>{this.$emit("textSelectionChange",this.editor,ce,de,fe)},oe=(ce,de)=>{this.$emit("selectionChange",this.editor,ce,de)},ie=(ce,de,fe)=>{this.$emit("colorPicker",this.editor,ce,de,fe)},le=({target:ce})=>{this.$emit("focus",this.editor,ce)},ae=({target:ce})=>{this.$emit("blur",this.editor,ce)},se=ce=>{this.$emit("validationError",this.editor,ce)},ue={...G,indentation:2,language:this.language,mode:te,modes:U,onChange:ee,onModeChange:ne,onTextSelectionChange:re,onSelectionChange:oe,onColorPicker:ie,onFocus:le,onBlur:ae,onValidationError:se};this.editor=new JsonEditor(this.$refs.jsonEditorVue,ue,this.json)},expandAll(){var te,U;this.expandedModes.includes((te=this.editor)==null?void 0:te.getMode())&&((U=this.editor)==null||U.expandAll())},setEditorContent(te){var U;(U=this.editor)==null||U.set(te)}}},_hoisted_1$o={ref:"jsonEditorVue",class:"json-editor-vue"};function _sfc_render(te,U,G,ee,ne,re){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["container",{"full-screen-container":ne.isFullScreen}])},[vue.createElementVNode("div",_hoisted_1$o,null,512),vue.createElementVNode("div",{class:vue.normalizeClass(["full-screen",{show:ne.showFullScreen,right:!ne.hasLogo}]),onClick:U[0]||(U[0]=(...oe)=>re.toggleFullScreen&&re.toggleFullScreen(...oe))},null,2)],2)}const JsonEditorVue=_export_sfc$2(_sfc_main$r,[["render",_sfc_render],["__scopeId","data-v-71f05bd7"]]);JsonEditorVue.install=function te(U){U.component(JsonEditorVue.name,JsonEditorVue)};const _hoisted_1$n={class:"relative"},_hoisted_2$h={class:"absolute right-0 -top-10"},_hoisted_3$g=vue.createElementVNode("i",{class:"mr-1 ri-file-upload-line"},null,-1),_hoisted_4$g=vue.createElementVNode("i",{class:"mr-1 ri-file-cloud-line"},null,-1),_hoisted_5$d=vue.createElementVNode("i",{class:"mr-1 ri-file-history-line"},null,-1),_hoisted_6$c={class:"h-full overflow-y-auto"},_hoisted_7$b={key:0,class:"mb-4"},_hoisted_8$8=vue.createElementVNode("span",{class:"text-color-danger"},"表格标题栏不匹配,",-1),_hoisted_9$8=vue.createElementVNode("span",{class:"text-color-danger"},"异常",-1),_hoisted_10$7={class:"flex"},_hoisted_11$5={class:"flex-1 mr-3"},_hoisted_12$4={class:"flex-1"},_hoisted_13$2=vue.createElementVNode("i",{class:"mr-1 ri-edit-line"},null,-1),_hoisted_14$2=vue.createElementVNode("i",{class:"ri-file-excel-line text-color-primary",style:{"font-size":"38px"}},null,-1),_hoisted_15$1=vue.createElementVNode("div",{class:"el-upload__text"},"拖拽/点击文件上传",-1),_hoisted_16$1={class:"w-full"},_hoisted_17$1=vue.createElementVNode("i",{class:"mr-1 ri-google-play-line"},null,-1),_hoisted_18$1=vue.createElementVNode("i",{class:"ri-file-excel-line text-color-primary",style:{"font-size":"38px"}},null,-1),_hoisted_19$1=vue.createElementVNode("div",{class:"el-upload__text"},"拖拽/点击文件上传",-1),_hoisted_20$1={class:"flex w-full mt-3 text-sm"},_hoisted_21$1={class:"mr-2"},_hoisted_22$1={class:"w-full mt-2"},_hoisted_23$1=vue.createElementVNode("i",{class:"mr-1 ri-google-play-line"},null,-1),_sfc_main$q=vue.defineComponent({__name:"model-file-extract",props:{model:{default:{}}},setup(te){const{proxy:U}=vue.getCurrentInstance(),{setFormValue:G,getFormValue:ee}=U.$globalHooks.useForm(),{listSimpleColumn:ne}=fetch$1(U),re=te,oe=vue.reactive([{name:"抽取方式",type:FieldType.Radio,fieldName:"extractType",value:"",required:!0,options:[{label:"追加",value:"1"},{label:"覆盖",value:"2"}],defVal:"1"},{name:"是否上传图片",type:FieldType.Radio,fieldName:"hasPicture",value:"",required:!0,options:[{label:"否",value:"0"},{label:"是",value:"1"}],defVal:"0"},{name:"插件编写",type:FieldType.Slot,fieldName:"debug",value:""},{name:"Excel文件",type:FieldType.Slot,fieldName:"fileUrl",value:""},{name:"Excel批量",type:FieldType.Slot,fieldName:"batchFileUrl",value:""}]),ie=vue.ref(null),le=vue.ref(null),ae=vue.ref(null),se=vue.ref(null),ue=vue.ref(null),ce=vue.ref(`function plugin(item){
|
|
897
|
+
}`,vue.unref(Ne).init((Me==null?void 0:Me.taskDefined)??{}),Ae.value=(Me==null?void 0:Me.taskDefined)??null,ye.value="",re.$baseHttp.get("/api/ace-data-center/data-source/options?type=3").then(ze=>{xe.value=ze.data}),ee.widgetType.indexOf("ODSVIEW")>=0){Me.modelCode=Me.modelCode.replace("odsview_",""),oe({...Me,projectId:re.$baseGetCurrentProjectId()},Be),Me.viewQuerySql&&(Ce.value=Me.viewQuerySql);return}oe({modelLayer:"",projectId:re.$baseGetCurrentProjectId()},Be)})},Re=async(Me,ze=!0)=>{Ve.value=!0;const Ge={dataSourceId:vue.unref(ye),extractSql:vue.unref(Ce),projectId:re.$baseGetCurrentProjectId()};Me==="javascript"&&(Ge.extractPluginScript=vue.unref(we)||"",Ge.streamType=Oe.find(Ue=>Ue.fieldName=="streamType").value);const We=await re.$baseHttp.post("/api/ace-data-center/db-extract/dbExtractDebug",Ge);Ve.value=!1,We&&(Me==="sql"?$e.value=We.data:(Ee.value=We.data,ee.widgetType=="model-add"&&re.$baseHttp.post("/api/ace-data-center/model/autoParseToModel",Ge).then(Ue=>{Ue&&(Se.value=Ue.data)})),ze&&le({type:"success",message:"执行成功"}))},Fe=async()=>{vue.nextTick(async()=>{var Ge;let Me;if(!vue.unref(Ce)){le({type:"warning",message:"请输入SQL"});return}if(!vue.unref(we)){le({type:"warning",message:"请输入javascript"});return}let ze={};if(!(vue.unref(he)=="dataTable"&&(ze=je(),!ze))){if(ee.widgetType=="model-add"||ee.widgetType.indexOf("ODSVIEW")>=0){pe.value=vue.unref(he)=="view"?"2":"3";const{params:We,error:Ue}=ie(Be);if(Ue.length>0)return;if(!await((Ge=vue.unref(be))==null?void 0:Ge.validate())){le({type:"warning",message:"映射字段有误请核对"});return}const Ye=vue.unref(be).isRepeat();if(Ye!==""){re.$baseAlert({content:Ye});return}if(!vue.unref(Se).length){le({type:"warning",message:"字段不能为空"});return}const Je={...We,modelCode:vue.unref(De)+We.modelCode,dataSourceId:vue.unref(ye),projectId:String(re.$baseGetCurrentProjectId()),listModelAttribute:vue.unref(Se),viewQuerySql:We.modelLayer==="ODSVIEW"?vue.unref(Ce):""};if(ee.widgetType.indexOf("ODSVIEW")>=0&&Je.listModelAttribute.forEach(Xe=>{delete Xe.id}),Me=await re.$baseHttp.post("/api/ace-data-center/model/saveModelDetail",Je,{headers:{loading:!0}}),!Me||(Ie.value=Me.data,Me=await re.$baseHttp.post(`/api/ace-data-center/model/settingPublishStatus/${vue.unref(Ie)}/2`),!Me))return}vue.unref(he)!="view"&&(Me=await re.$baseHttp.post("/api/ace-data-center/db-extract/submitDbExtract",{execExtract:0,dataSourceId:vue.unref(ye),modelId:vue.unref(Ie),projectId:re.$baseGetCurrentProjectId(),...ze}),!Me)||(le({type:"success",message:"操作成功"}),ne("success"))}})},je=()=>{const{params:Me,error:ze}=ie(Oe);if(ze.length>0){pe.value="3",le({type:"warning",message:"方案配置有误"});return}if(vue.unref(ke)){const{params:Ge,error:We}=vue.unref(Ne).getForm();if(We.length>0){pe.value="3",le({type:"warning",message:"作业配置有误"});return}Me.taskDefined={...vue.unref(Ae)??{},...Ge}}return{...Me,extractPluginScript:vue.unref(we),extractSql:vue.unref(Ce)}};return U({init:Le,modelId:Ie,listModelAttribute:Se,extractSql:Ce,handleSubmit:Fe}),(Me,ze)=>{var Xe,Ke;const Ge=vue.resolveComponent("AppCodemirror"),We=vue.resolveComponent("AppTable"),Ue=vue.resolveComponent("AppJson"),qe=vue.resolveComponent("AppForm"),Ye=vue.resolveComponent("aceHeader"),Je=vue.resolveComponent("AppTaskDesign");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$F,[vue.createElementVNode("div",_hoisted_2$y,[vue.createElementVNode("div",_hoisted_3$s,[vue.createElementVNode("div",_hoisted_4$r,[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(ue,He=>vue.createElementVNode("span",{class:vue.normalizeClass(["h-item",{active:vue.unref(ce)==He.value}]),onClick:Qe=>fe.value=He.value},[vue.createElementVNode("span",_hoisted_6$h,vue.toDisplayString(He.num),1),vue.createTextVNode(" "+vue.toDisplayString(He.label),1)],10,_hoisted_5$l)),64)),vue.createElementVNode("span",_hoisted_7$f,[vue.createTextVNode(" 当前数据仓库为: "),vue.createElementVNode("span",_hoisted_8$b,vue.toDisplayString(vue.unref(se)),1),vue.createTextVNode(" 注意sql语法 ")]),vue.createVNode(vue.unref(elementPlus.ElSelect),{modelValue:vue.unref(ye),"onUpdate:modelValue":ze[0]||(ze[0]=He=>vue.isRef(ye)?ye.value=He:null),placeholder:"请选择数据源选项",clearable:!0,teleported:!1,class:"w-40 ml-2",size:"small"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(xe),He=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{key:He.code,label:He.label,value:He.code},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),vue.createElementVNode("div",_hoisted_9$a,[vue.createVNode(vue.unref(elementPlus.ElLink),{disabled:vue.unref(Ve),type:"warning",class:"flex items-center",onClick:ze[1]||(ze[1]=He=>Re("sql"))},{default:vue.withCtx(()=>[_hoisted_10$9,vue.createTextVNode(" 执行SQL ")]),_:1},8,["disabled"])])]),vue.createElementVNode("div",_hoisted_11$7,[vue.unref(ce)=="1"?(vue.openBlock(),vue.createBlock(Ge,{key:0,extensions:"sql",modelValue:vue.unref(Ce),"onUpdate:modelValue":ze[2]||(ze[2]=He=>vue.isRef(Ce)?Ce.value=He:null),style:{height:"100%"}},null,8,["modelValue"])):vue.createCommentVNode("",!0)])]),vue.createElementVNode("div",_hoisted_12$6,[vue.createElementVNode("div",_hoisted_13$4,[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(de,He=>vue.createElementVNode("span",{class:vue.normalizeClass(["h-item",{active:vue.unref(fe)==He.value}]),onClick:Qe=>fe.value=He.value},vue.toDisplayString(He.label),11,_hoisted_14$3)),64))]),vue.createElementVNode("div",_hoisted_15$2,[vue.unref(fe)=="1"?(vue.openBlock(),vue.createBlock(We,{key:0,tableData:(Xe=vue.unref($e))!=null&&Xe.length?Object.keys(vue.unref($e)[0]).map(He=>({label:He,prop:He})):[],list:vue.unref($e)??[]},null,8,["tableData","list"])):vue.createCommentVNode("",!0),vue.unref(fe)=="2"?(vue.openBlock(),vue.createBlock(Ue,{key:1,style:{height:"100%"},modelValue:vue.unref($e),"onUpdate:modelValue":ze[3]||(ze[3]=He=>vue.isRef($e)?$e.value=He:null)},null,8,["modelValue"])):vue.createCommentVNode("",!0)])])]),vue.createElementVNode("div",_hoisted_16$2,[vue.createElementVNode("div",_hoisted_17$2,[vue.createElementVNode("div",_hoisted_18$2,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(ve),He=>(vue.openBlock(),vue.createElementBlock("span",{class:vue.normalizeClass(["h-item",{active:vue.unref(pe)==He.value}]),onClick:Qe=>pe.value=He.value},[He.isRequired?(vue.openBlock(),vue.createElementBlock("span",_hoisted_20$2,"*")):vue.createCommentVNode("",!0),vue.createElementVNode("span",_hoisted_21$2,vue.toDisplayString(He.num),1),vue.createTextVNode(" "+vue.toDisplayString(He.label),1)],10,_hoisted_19$2))),256)),vue.unref(he)!="view"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_22$2,[vue.createVNode(vue.unref(elementPlus.ElLink),{disabled:vue.unref(Ve),type:"warning",class:"flex items-center",onClick:ze[4]||(ze[4]=He=>Re("javascript"))},{default:vue.withCtx(()=>[_hoisted_23$2,vue.createTextVNode(" 执行插件 ")]),_:1},8,["disabled"])])):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_24$1,[vue.unref(pe)=="1"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_25$1,[vue.createVNode(vue.unref(elementPlus.ElRadioGroup),{modelValue:vue.unref(he),"onUpdate:modelValue":ze[5]||(ze[5]=He=>vue.isRef(he)?he.value=He:null)},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElRadioButton),{value:"view",disabled:Me.widgetType!="model-add"&&Me.widgetType.indexOf("ODSVIEW")==-1},{default:vue.withCtx(()=>[_hoisted_26$1,vue.createTextVNode(" 保存为视图 ")]),_:1},8,["disabled"]),vue.createVNode(vue.unref(elementPlus.ElRadioButton),{value:"dataTable",disabled:Me.widgetType.indexOf("ODSVIEW")>=0},{default:vue.withCtx(()=>[_hoisted_27,vue.createTextVNode(" 保存为数据表 ")]),_:1},8,["disabled"])]),_:1},8,["modelValue"])])):vue.createCommentVNode("",!0),vue.unref(he)=="dataTable"&&vue.unref(pe)=="2"?(vue.openBlock(),vue.createBlock(Ge,{key:1,modelValue:vue.unref(we),"onUpdate:modelValue":ze[6]||(ze[6]=He=>vue.isRef(we)?we.value=He:null),style:{height:"100%"}},null,8,["modelValue"])):vue.createCommentVNode("",!0),vue.withDirectives(vue.createElementVNode("div",_hoisted_28,[vue.createVNode(qe,{form:vue.unref(Be),col:1,class:"mt-2"},null,8,["form"]),vue.createVNode(vue.unref(elementPlus.ElPopover),{placement:"top-end",trigger:"click",width:"1000px",teleported:!1,visible:vue.unref(_e),"onUpdate:visible":ze[8]||(ze[8]=He=>vue.isRef(_e)?_e.value=He:null)},{reference:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElLink),{type:"primary",class:"ml-7"},{default:vue.withCtx(()=>[_hoisted_30,vue.createTextVNode(" 字段映射("+vue.toDisplayString(vue.unref(Se).length)+") ",1)]),_:1})]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_29,[vue.createVNode(Attribute,{ref_key:"attributeRef",ref:be,modelValue:vue.unref(Se),"onUpdate:modelValue":ze[7]||(ze[7]=He=>vue.isRef(Se)?Se.value=He:null)},null,8,["modelValue"])])]),_:1},8,["visible"])],512),[[vue.vShow,vue.unref(he)=="view"&&vue.unref(pe)=="2"||vue.unref(he)=="dataTable"&&vue.unref(pe)=="3"]]),vue.withDirectives(vue.createElementVNode("div",_hoisted_31,[vue.createVNode(qe,{form:vue.unref(Oe)},{incrementalField:vue.withCtx(({element:He})=>[vue.createVNode(vue.unref(elementPlus.ElSelect),{teleported:!1,modelValue:He.value,"onUpdate:modelValue":Qe=>He.value=Qe,placeholder:"请选择"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(Se),Qe=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{key:Qe.id,label:`${Qe.attributeCode}(${Qe.attributeComment||Qe.attributeCode})`,value:Qe.attributeCode},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:1},8,["form"]),vue.withDirectives(vue.createElementVNode("div",_hoisted_32,[vue.createVNode(Ye,{title:"作业配置",class:"mb-2"},{left:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElCheckbox),{class:"ml-2",modelValue:vue.unref(ke),"onUpdate:modelValue":ze[9]||(ze[9]=He=>vue.isRef(ke)?ke.value=He:null)},{default:vue.withCtx(()=>[vue.createTextVNode("作业配置")]),_:1},8,["modelValue"])]),_:1}),vue.withDirectives(vue.createElementVNode("div",null,[vue.createVNode(Je,{ref_key:"taskDesignRef",ref:Ne},null,512)],512),[[vue.vShow,vue.unref(ke)]])],512),[[vue.vShow,["1","2"].includes(vue.unref(Pe).value)]])],512),[[vue.vShow,vue.unref(pe)=="4"]])])]),vue.unref(he)!="view"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_33,[vue.createElementVNode("div",_hoisted_34,[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(ge,He=>vue.createElementVNode("span",{class:vue.normalizeClass(["h-item",{active:vue.unref(me)==He.value}]),onClick:Qe=>me.value=He.value},vue.toDisplayString(He.label),11,_hoisted_35)),64))]),vue.createElementVNode("div",_hoisted_36,[vue.unref(me)=="1"?(vue.openBlock(),vue.createBlock(We,{key:0,tableData:(Ke=vue.unref(Ee))!=null&&Ke.length?Object.keys(vue.unref(Ee)[0]).map(He=>({label:He,prop:He})):[],list:vue.unref(Ee)??[]},null,8,["tableData","list"])):vue.createCommentVNode("",!0),vue.unref(me)=="2"?(vue.openBlock(),vue.createBlock(Ue,{key:1,style:{height:"100%"},modelValue:vue.unref(Ee),"onUpdate:modelValue":ze[10]||(ze[10]=He=>vue.isRef(Ee)?Ee.value=He:null)},null,8,["modelValue"])):vue.createCommentVNode("",!0)])])):vue.createCommentVNode("",!0)])])}}}),design_vue_vue_type_style_index_0_scoped_22676e4d_lang="",Design=_export_sfc$2(_sfc_main$O,[["__scopeId","data-v-22676e4d"]]),_withScopeId$e=te=>(vue.pushScopeId("data-v-6eba707e"),te=te(),vue.popScopeId(),te),_hoisted_1$E={class:"flex items-center mt-2"},_hoisted_2$x={class:"flex-1"},_hoisted_3$r={class:"mt-2 text-gray-400"},_hoisted_4$q={class:"text-xs text-gray-400"},_hoisted_5$k=_withScopeId$e(()=>vue.createElementVNode("label",null,"模型名称:",-1)),_hoisted_6$g=_withScopeId$e(()=>vue.createElementVNode("label",null,"模型代码:",-1)),_hoisted_7$e=_withScopeId$e(()=>vue.createElementVNode("label",null,"模型描述:",-1)),_sfc_main$N=vue.defineComponent({__name:"sql",props:{modelId:{default:""}},emits:["success"],setup(te,{expose:U,emit:G}){const ee=te,ne=G,{proxy:re}=vue.getCurrentInstance(),oe=vue.ref(null),ie=vue.ref(!1),le=vue.ref(""),ae=vue.ref(""),se=vue.ref([]),ue=vue.ref({}),ce=(me,_e="")=>{ue.value={},se.value=[],ie.value=!0,le.value=me,[{label:"源数据",value:"odsy"},{label:"整合数据",value:"dwdy"}].forEach(be=>{se.value.push({...be,attributeList:{},options:[],selectValue:[],currentVal:"",checkAttributeList:[]})}),me!="model-add"&&me.indexOf("ODSVIEW")==-1&&se.value.push({label:"DWD目标",value:"dwdmb"}),ae.value=vue.unref(se)[0].value,fetch$1(re).allModel({modelLayer:"ODS"}).then(be=>{vue.unref(se).find(ye=>ye.value=="odsy").options=be.data}),fetch$1(re).allModel({modelLayer:"DWD"}).then(be=>{vue.unref(se).find(ye=>ye.value=="dwdy").options=be.data}),vue.nextTick(()=>{ee.modelId?(vue.unref(oe).modelId=ee.modelId,fetch$1(re).allModelAttribute({modelId:ee.modelId}).then(be=>{const ye=vue.unref(se).find(xe=>xe.value=="dwdmb");ye&&(ye.attributeList=be.data),vue.unref(oe).listModelAttribute=be.data}),re.$baseHttp.get(`/api/ace-data-center/model/detail?id=${ee.modelId}`,{headers:{loading:!0}}).then(be=>{ue.value=be.data,me.indexOf("ODSVIEW")>=0&&vue.unref(oe).init(be.data)}),_e?re.$baseHttp.get(`/api/ace-data-center/db-extract/detailAndTask?dbExtractId=${_e}`).then(be=>{vue.unref(oe).init(me=="COPY"?{...be.data,id:null,extractType:null,incrementalField:null,status:null,taskDefined:null,taskDefinedId:null,createUser:null,createDept:null,createTime:null,updateUser:null,updateTime:null}:be.data)}):vue.unref(oe).init()):vue.unref(oe).init()})},de=me=>{ae.value=me},fe=(me,_e="")=>_e?me.options.find(be=>be.id==_e):me.options.find(be=>be.id==me.currentVal),ve=me=>{var _e;if(me.selectValue.length){const be=me.selectValue.at(-1);me.currentVal=(_e=fe(me,be))==null?void 0:_e.id,he(me);return}me.currentVal=""},he=me=>{me.attributeList[me.currentVal]||fetch$1(re).allModelAttribute({modelId:me.currentVal}).then(_e=>{me.attributeList[me.currentVal]=_e.data})},pe=me=>{var _e;vue.unref(oe).extractSql+=`select ${me.checkAttributeList.map(be=>be.attributeCode).toString()} from ${(_e=fe(me))==null?void 0:_e.modelCode}`},ge=()=>{ie.value=!1,ne("success",le.value,vue.unref(oe).modelId)};return U({init:ce}),(me,_e)=>{const be=vue.resolveComponent("aceHeader"),ye=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock(ye,{modelValue:vue.unref(ie),"onUpdate:modelValue":_e[2]||(_e[2]=xe=>vue.isRef(ie)?ie.value=xe:null),title:"SQL数据整合抽取",size:"100%"},{footer:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",type:"primary",onClick:_e[0]||(_e[0]=xe=>vue.unref(oe).handleSubmit())},{default:vue.withCtx(()=>[vue.createTextVNode("提交")]),_:1}),vue.renderSlot(me.$slots,"formFooter",{},void 0,!0),vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",onClick:_e[1]||(_e[1]=xe=>ie.value=!1)},{default:vue.withCtx(()=>[vue.createTextVNode("取消")]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElContainer),{class:"h-full overflow-hidden"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElAside),{class:"flex flex-col pr-4 mr-5",style:{width:"280px",overflow:"hidden"}},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButtonGroup),null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(se),xe=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElButton),{onClick:Ce=>de(xe.value),type:vue.unref(ae)==xe.value?"primary":"",key:xe.value},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(xe.label),1)]),_:2},1032,["onClick","type"]))),128))]),_:1}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(se),xe=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:xe.value},[xe.value==vue.unref(ae)&&["odsy","dwdy"].includes(xe.value)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(be,{class:"mt-2",title:"模型选择"}),vue.createElementVNode("div",_hoisted_1$E,[vue.createElementVNode("div",_hoisted_2$x,[vue.createVNode(vue.unref(elementPlus.ElSelect),{modelValue:xe.selectValue,"onUpdate:modelValue":Ce=>xe.selectValue=Ce,teleported:!1,onChange:()=>ve(xe),multiple:"","collapse-tags":"",clearable:"",placeholder:"请选择一个模型",class:"w-full"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(xe.options,Ce=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{key:Ce.id,label:Ce.modelName,value:Ce.id},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]),xe.selectValue.length?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElPopover),{key:0,placement:"right",width:"300",teleported:!1,trigger:"hover"},{reference:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElBadge),{value:xe.selectValue.length,class:"ml-4"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElLink),null,{default:vue.withCtx(()=>[vue.createTextVNode("模型")]),_:1})]),_:2},1032,["value"])]),default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(xe.selectValue,Ce=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTag),{key:Ce,type:xe.currentVal==Ce?"warning":"primary",onClick:$e=>{xe.currentVal=Ce,he(xe)},style:{margin:"0 7px 7px 0",cursor:"pointer"}},{default:vue.withCtx(()=>{var $e;return[vue.createTextVNode(vue.toDisplayString(($e=fe(xe,Ce))==null?void 0:$e.modelName),1)]}),_:2},1032,["type","onClick"]))),128))]),_:2},1024)):vue.createCommentVNode("",!0)]),xe.currentVal?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTooltip),{key:0,effect:"dark",content:`${fe(xe).modelName}[${fe(xe).modelCode}]`,placement:"bottom"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$r,vue.toDisplayString(`${fe(xe).modelName}[${fe(xe).modelCode}]`),1)]),_:2},1032,["content"])):vue.createCommentVNode("",!0),vue.createVNode(be,{class:"mt-2 mb-2",title:"字段属性"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElLink),{disabled:xe.checkAttributeList.length==0,type:"primary",onClick:Ce=>pe(xe)},{default:vue.withCtx(()=>[vue.createTextVNode(" 复制select语句到编辑框 ")]),_:2},1032,["disabled","onClick"])]),_:2},1024),vue.createVNode(vue.unref(elementPlus.ElTable),{data:xe.attributeList[xe.currentVal],height:"100%",size:"small",onSelectionChange:Ce=>xe.checkAttributeList=Ce},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElTableColumn),{type:"selection",width:"40"}),vue.createVNode(vue.unref(elementPlus.ElTableColumn),{prop:"attributeCode",label:"字段"},{default:vue.withCtx(({row:Ce,$index:$e})=>[vue.createElementVNode("div",null,vue.toDisplayString(Ce.attributeCode),1),vue.createElementVNode("div",_hoisted_4$q,vue.toDisplayString(Ce.attributeComment),1)]),_:1}),vue.createVNode(vue.unref(elementPlus.ElTableColumn),{width:"80",prop:"dataType",label:"数据类型"})]),_:2},1032,["data","onSelectionChange"])],64)):vue.createCommentVNode("",!0),xe.value==vue.unref(ae)&&["dwdmb"].includes(xe.value)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(be,{class:"mt-2",title:"DWD目标"}),vue.createElementVNode("section",null,[vue.createElementVNode("div",null,[_hoisted_5$k,vue.createTextVNode(" "+vue.toDisplayString(vue.unref(ue).modelName),1)]),vue.createElementVNode("div",null,[_hoisted_6$g,vue.createTextVNode(" "+vue.toDisplayString(vue.unref(ue).modelCode),1)]),vue.createElementVNode("div",null,[_hoisted_7$e,vue.createTextVNode(" "+vue.toDisplayString(vue.unref(ue).modelDesc),1)])]),vue.createVNode(vue.unref(elementPlus.ElTable),{data:xe.attributeList,height:"100%"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElTableColumn),{prop:"mapCode",label:"映射字段"}),vue.createVNode(vue.unref(elementPlus.ElTableColumn),{prop:"attributeComment",label:"名称"}),vue.createVNode(vue.unref(elementPlus.ElTableColumn),{label:"来源"},{default:vue.withCtx(({row:Ce,$index:$e})=>[vue.createTextVNode(vue.toDisplayString(Ce.sourceModelName)+"."+vue.toDisplayString(Ce.sourceColumnName),1)]),_:1})]),_:2},1032,["data"])],64)):vue.createCommentVNode("",!0)],64))),128))]),_:1}),vue.createVNode(vue.unref(elementPlus.ElMain),null,{default:vue.withCtx(()=>[vue.createVNode(Design,{ref_key:"designMainRef",ref:oe,widgetType:vue.unref(le),onSuccess:ge},null,8,["widgetType"])]),_:1})]),_:1})]),_:3},8,["modelValue"])}}}),sql_vue_vue_type_style_index_0_scoped_6eba707e_lang="",ModelSql=_export_sfc$2(_sfc_main$N,[["__scopeId","data-v-6eba707e"]]),_sfc_main$M=vue.defineComponent({__name:"taskLog",setup(te,{expose:U}){const G=vue.ref(!1),ee=vue.ref(!1),ne=vue.ref(null),re=vue.ref(""),oe=vue.reactive([]),ie=vue.reactive([]),le=vue.reactive([{label:"调度参数",prop:"args"},{label:"调度结果",prop:"code"},{label:"调度日志",prop:"msg",slot:!0},{label:"调度开始时间",prop:"execBeginTime"},{label:"调度结束时间",prop:"execEndTime"}]),ae=vue.reactive([]),se=ve=>{ve.data.forEach(he=>{})},ue=(ve,he,pe)=>{},ce=async ve=>{},de=async ve=>{G.value=!0,vue.nextTick(()=>{vue.unref(ne).getData({url:`/api/ace-api/blade-system/task-log/list?taskId=${ve}&descs=create_time`})})},fe=ve=>{ee.value=!0,re.value=ve.msg};return U({init:de}),(ve,he)=>{const pe=vue.resolveComponent("AppList"),ge=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock(ge,{modelValue:vue.unref(G),"onUpdate:modelValue":he[1]||(he[1]=me=>vue.isRef(G)?G.value=me:null),title:"调度日志",size:1e3},{default:vue.withCtx(()=>[vue.createVNode(pe,{ref_key:"appRef",ref:ne,tableData:vue.unref(le),searchForm:vue.unref(oe),searchBtns:vue.unref(ie),formData:vue.unref(ae),onFormSuccess:ue,onSuccess:se,onBtnClick:ce},{msg:vue.withCtx(({row:me})=>[vue.createVNode(vue.unref(elementPlus.ElLink),{type:"primary",onClick:_e=>fe(me)},{default:vue.withCtx(()=>[vue.createTextVNode("查看调度日志")]),_:2},1032,["onClick"])]),_:1},8,["tableData","searchForm","searchBtns","formData"]),vue.createVNode(ge,{modelValue:vue.unref(ee),"onUpdate:modelValue":he[0]||(he[0]=me=>vue.isRef(ee)?ee.value=me:null),title:"调度日志",size:"100%"},{default:vue.withCtx(()=>[vue.createElementVNode("pre",null,vue.toDisplayString(vue.unref(re)),1)]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])}}}),_sfc_main$L=vue.defineComponent({__name:"model-db-extract",props:{model:{default:{}}},setup(te){const U=te,{proxy:G}=vue.getCurrentInstance(),{openMessage:ee}=G.$globalHooks.useMessage(),ne=vue.ref(null),re=vue.ref(null),oe=vue.ref(null),ie=vue.ref(null),le=`/api/ace-data-center/db-extract/page?modelId=${U.model.id}&projectId=${G.$baseGetCurrentProjectId()}`,ae=vue.reactive([{name:"新增",key:"ADD",type:"primary",icon:"ri-add-line"}]),se=vue.reactive([{label:"抽取方案名称",prop:"extractName"},{label:"抽取类型",prop:"extractType",props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=extractType",label:"dictValue",value:"dictKey"},slot:!0},{label:"作业任务",prop:"taskDefinedId",slot:!0},{label:"操作",prop:"htmlButton",fixed:"right"}]),ue=de=>{de.data.forEach(fe=>{fe.htmlButton=[],fe.htmlButton.push({name:"编辑",key:"EDIT",type:"primary",icon:"ri-edit-line"}),fe.htmlButton.push({name:"复制",key:"COPY",type:"primary",icon:"ri-file-copy-line"}),fe.htmlButton.push({name:"抽取记录",key:"LOG",type:"primary",icon:"ri-file-line"}),fe.taskDefinedId&&fe.htmlButton.push({name:"作业调度日志",key:"TASK-LOG",type:"primary",icon:"ri-file-line"}),[1,2].includes(fe.extractType)&&fe.htmlButton.push({name:"抽取",key:"PUSH",type:"primary",icon:"ri-pushpin-line"}),fe.htmlButton.push({name:"删除",key:"DEL",type:"danger",icon:"ri-delete-bin-6-line"})})},ce=de=>{const{type:fe,row:ve}=de;switch(fe){case"ADD":case"COPY":case"EDIT":vue.unref(ie).init(fe,(ve==null?void 0:ve.id)??"");break;case"LOG":vue.unref(ne).init({businessId:ve.id,businessType:"db_extract",table:[{label:"日期",prop:"createTime"},{label:"数据总数",prop:"totalNum"},{label:"成功数",prop:"successNum"},{label:"失败数",prop:"failNum"},{label:"协同参数",prop:"collaborateValue"},{label:"操作",prop:"action",slot:!0,fixed:"right"}]});break;case"TASK-LOG":vue.unref(re).init(ve.taskDefinedId??"");break;case"PUSH":G.$baseConfirm({content:"是否抽取?",callConfirm:async()=>{await G.$baseHttp.post(`/api/ace-data-center/db-extract/extract/${ve.id}`,{},{headers:{loading:!0}})&&ee({type:"success",message:"操作成功"})}});break;case"DEL":G.$baseConfirm({content:"是否删除?",callConfirm:async()=>{await G.$baseHttp.post(`/api/ace-data-center/db-extract/removeById/${ve.id}`,{},{headers:{loading:!0}})&&(ee({type:"success",message:"操作成功"}),vue.unref(oe).getData())}});break}};return(de,fe)=>{const ve=vue.resolveComponent("AppList");return vue.openBlock(),vue.createBlock(ve,{ref_key:"appRef",ref:oe,url:le,tableData:vue.unref(se),searchBtns:vue.unref(ae),onSuccess:ue,onBtnClick:ce},{taskDefinedId:vue.withCtx(({row:he})=>{var pe;return[he.taskDefinedId?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createTextVNode(vue.toDisplayString(((pe=vue.unref(G).$globalUtils.taskOptions.find(ge=>ge.value==he.taskDefined.xxlJobId))==null?void 0:pe.label)??"-")+" ",1),vue.createVNode(vue.unref(elementPlus.ElTag),{type:he.taskDefined.status==2?"primary":"danger",class:"ml-2"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(he.taskDefined.status==2?"启用":"禁用"),1)]),_:2},1032,["type"])],64)):vue.createCommentVNode("",!0)]}),extractType:vue.withCtx(({row:he,element:pe})=>[vue.createVNode(vue.unref(elementPlus.ElTag),null,{default:vue.withCtx(()=>{var ge;return[pe.options?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createTextVNode(vue.toDisplayString((ge=pe==null?void 0:pe.options.find(me=>me.dictKey==he.extractType))==null?void 0:ge.dictValue)+" ",1),he.extractType==2?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createTextVNode(vue.toDisplayString(he==null?void 0:he.incrementalField),1)],64)):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0)]}),_:2},1024)]),default:vue.withCtx(()=>{var he;return[vue.createVNode(_sfc_main$M,{ref_key:"taskLogRef",ref:re},null,512),vue.createVNode(_sfc_main$Y,{ref_key:"extractLogRef",ref:ne},null,512),vue.createVNode(ModelSql,{ref_key:"modelSqlRef",ref:ie,modelId:(he=U==null?void 0:U.model)==null?void 0:he.id,onSuccess:fe[0]||(fe[0]=pe=>vue.unref(oe).getData())},null,8,["modelId"])]}),_:1},8,["tableData","searchBtns"])}}}),_sfc_main$K=vue.defineComponent({__name:"attrList",setup(te,{expose:U}){const{proxy:G}=vue.getCurrentInstance(),ee=vue.ref(!1),ne=vue.ref([]),re=vue.ref([{label:"字段名称",prop:"attributeCode",fixed:!0},{label:"字段描述",prop:"attributeComment"},{label:"映射字段",prop:"mapCode"},{label:"数据类型",prop:"dataType"},{label:"数据长度",prop:"dataLength"},{label:"数据标度",prop:"dataScale"},{label:"选择主键",prop:"primaryKey",props:{url:"/api/ace-api/blade-system/dict/dictionary?code=yes_no",label:"dictValue",value:"dictKey"}},{label:"唯一键",prop:"uniqueKey",slot:!0},{label:"查询字段",prop:"searchKey",slot:!0},{label:"协同字段",prop:"teamworkKey",slot:!0},{label:"字段来源",prop:"sourceModelName"},{label:"数据来源",prop:"sourceColumnName"}]);return U({init:async ie=>{ee.value=!0,ne.value=[],vue.nextTick(()=>{fetch$1(G).allModelAttribute({modelId:ie}).then(le=>{ne.value=le.data})})}}),(ie,le)=>{const ae=vue.resolveComponent("AppTable"),se=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock(se,{modelValue:vue.unref(ee),"onUpdate:modelValue":le[0]||(le[0]=ue=>vue.isRef(ee)?ee.value=ue:null),title:"模型属性",size:"90%"},{default:vue.withCtx(()=>[vue.createVNode(ae,{tableData:vue.unref(re),list:vue.unref(ne),ref:"appTable"},{uniqueKey:vue.withCtx(({row:ue})=>[vue.createVNode(vue.unref(elementPlus.ElCheckbox),{"true-value":"2","false-value":"1",modelValue:ue.uniqueKey,"onUpdate:modelValue":ce=>ue.uniqueKey=ce,disabled:!0},null,8,["modelValue","onUpdate:modelValue"])]),required:vue.withCtx(({row:ue})=>[vue.createVNode(vue.unref(elementPlus.ElSwitch),{modelValue:ue.required,"onUpdate:modelValue":ce=>ue.required=ce,disabled:!0,"inline-prompt":"","active-text":"是","inactive-text":"否","active-value":2,"inactive-value":1,loading:ue.loading},null,8,["modelValue","onUpdate:modelValue","loading"])]),searchKey:vue.withCtx(({row:ue})=>[vue.createVNode(vue.unref(elementPlus.ElCheckbox),{disabled:!0,modelValue:ue.searchKey,"onUpdate:modelValue":ce=>ue.searchKey=ce,"true-value":"2","false-value":"1"},null,8,["modelValue","onUpdate:modelValue"]),ue.searchKey==="2"?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElCheckbox),{key:0,modelValue:ue.indexKey,"onUpdate:modelValue":ce=>ue.indexKey=ce,"true-value":"2","false-value":"1",disabled:!0},{default:vue.withCtx(()=>[vue.createTextVNode(" 创建索引 ")]),_:2},1032,["modelValue","onUpdate:modelValue"])):vue.createCommentVNode("",!0)]),teamworkKey:vue.withCtx(({row:ue})=>[vue.createVNode(vue.unref(elementPlus.ElCheckbox),{disabled:!0,modelValue:ue.teamworkKey,"onUpdate:modelValue":ce=>ue.teamworkKey=ce,"true-value":"2","false-value":"1"},null,8,["modelValue","onUpdate:modelValue"])]),_:1},8,["tableData","list"])]),_:1},8,["modelValue"])}}}),_hoisted_1$D={key:0},_hoisted_2$w={key:1},_hoisted_3$q={key:2},_hoisted_4$p=vue.createElementVNode("i",{class:"mr-1 ri-file-copy-line"},null,-1),_hoisted_5$j={class:"mt-2"},_sfc_main$J=vue.defineComponent({__name:"main",props:{model:{default:{}}},emits:["success"],setup(te,{emit:U}){const G=te,ee=U,ne=vue.ref(!1),re=vue.ref(null),oe=vue.ref(null);return(ie,le)=>{var ce;const ae=vue.resolveComponent("aceHeader"),se=vue.resolveComponent("aceDynamicList"),ue=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createElementBlock("div",null,[vue.createVNode(ae,{title:"基础信息"}),vue.createVNode(vue.unref(elementPlus.ElDescriptions),{column:2,border:!0,style:{width:"100%"},class:"mt-2 mb-2"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"模型名称"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(ie.model.modelName),1)]),_:1}),vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"模型代码"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(ie.model.modelCode),1)]),_:1}),vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"模型层级"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElTag),{type:"danger"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(ie.model.modelLayer),1)]),_:1})]),_:1}),vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"模型类型"},{default:vue.withCtx(()=>[ie.model.modelType==1?(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$D,"维度模型")):vue.createCommentVNode("",!0),ie.model.modelType==2?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$w,"事实模型")):vue.createCommentVNode("",!0),ie.model.modelType==3?(vue.openBlock(),vue.createElementBlock("span",_hoisted_3$q,"其他模型")):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"模型描述"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(ie.model.modelDesc),1)]),_:1}),vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"数据仓库"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(ie.model.modelStore),1)]),_:1}),vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"发布状态"},{default:vue.withCtx(()=>[ie.model.publishStatus==1?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTag),{key:0,type:"warning"},{default:vue.withCtx(()=>[vue.createTextVNode("未发布")]),_:1})):vue.createCommentVNode("",!0),ie.model.publishStatus==2?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTag),{key:1,type:"success"},{default:vue.withCtx(()=>[vue.createTextVNode("已发布")]),_:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"表单录入数据"},{default:vue.withCtx(()=>[ie.model.openForm==1?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTag),{key:0,type:"warning"},{default:vue.withCtx(()=>[vue.createTextVNode("未开启")]),_:1})):vue.createCommentVNode("",!0),ie.model.openForm==2?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTag),{key:1,type:"success"},{default:vue.withCtx(()=>[vue.createTextVNode("已开启")]),_:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"模型属性"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElLink),{type:"primary",onClick:le[0]||(le[0]=de=>vue.unref(re).init(ie.model.id))},{default:vue.withCtx(()=>[vue.createTextVNode("查看模型属性")]),_:1})]),_:1}),vue.createVNode(vue.unref(elementPlus.ElDescriptionsItem),{label:"模型数据"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElLink),{type:"primary",onClick:le[1]||(le[1]=de=>ne.value=!0)},{default:vue.withCtx(()=>[vue.createTextVNode("查看模型数据")]),_:1})]),_:1}),ie.model.modelLayer=="ODSVIEW"?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElDescriptionsItem),{key:0,label:"操作"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElLink),{type:"primary",onClick:le[2]||(le[2]=de=>vue.unref(oe).init("ODSVIEW_COPY"))},{default:vue.withCtx(()=>[_hoisted_4$p,vue.createTextVNode(" 复制 ")]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:1}),ie.model.modelLayer!="ODSVIEW"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(ae,{title:"抽取方案"}),vue.createElementVNode("div",_hoisted_5$j,[vue.createVNode(_sfc_main$L,{model:ie.model},null,8,["model"])])],64)):vue.createCommentVNode("",!0),vue.createVNode(_sfc_main$K,{ref_key:"attrListRef",ref:re},null,512),vue.createVNode(ue,{modelValue:vue.unref(ne),"onUpdate:modelValue":le[3]||(le[3]=de=>vue.isRef(ne)?ne.value=de:null),title:"模型数据",size:"90%"},{default:vue.withCtx(()=>{var de,fe;return[vue.createVNode(se,{id:(de=ie.model)==null?void 0:de.id,title:(fe=ie.model)==null?void 0:fe.modelName},null,8,["id","title"])]}),_:1},8,["modelValue"]),vue.createVNode(ModelSql,{ref_key:"modelSqlRef",ref:oe,modelId:(ce=G==null?void 0:G.model)==null?void 0:ce.id,onSuccess:le[4]||(le[4]=de=>ee("success"))},null,8,["modelId"])])}}}),_hoisted_1$C=vue.createElementVNode("i",{class:"mr-1 ri-add-circle-line"},null,-1),_hoisted_2$v={key:0,class:"flex items-center justify-center h-full"},_sfc_main$I=vue.defineComponent({__name:"index",setup(te){const U=vue.ref(null),G=vue.ref(null),ee=vue.ref({}),ne=vue.inject("local"),re=le=>{ee.value={},setTimeout(()=>{ee.value=le},10)},oe=le=>{vue.unref(G).init(le)},ie=(le,ae)=>{le=="model-add"&&vue.unref(U).init()};return(le,ae)=>{const se=vue.resolveComponent("AppEmpty");return vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElContainer),{class:"overflow-hidden"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElConfigProvider),{locale:vue.unref(ne)},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElAside),{class:"pr-5 mr-5"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$Q,{onNodeClick:re,ref_key:"menuRef",ref:U},{top:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary",size:"small",class:"flex items-center",onClick:ae[0]||(ae[0]=ue=>oe("model-add"))},{default:vue.withCtx(()=>[_hoisted_1$C,vue.createTextVNode(" SQL新增模型 ")]),_:1})]),_:1},512)]),_:1}),vue.createVNode(vue.unref(elementPlus.ElMain),null,{default:vue.withCtx(()=>{var ue;return[(ue=vue.unref(ee))!=null&&ue.id?(vue.openBlock(),vue.createBlock(_sfc_main$J,{key:1,model:vue.unref(ee),onSuccess:ae[1]||(ae[1]=ce=>vue.unref(U).init())},null,8,["model"])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$v,[vue.createVNode(se,{description:"请选择对应数据"})])),vue.createVNode(ModelSql,{ref_key:"modelSqlRef",ref:G,onSuccess:ie},null,512)]}),_:1})]),_:1},8,["locale"])]),_:1})}}});function useDynamicSearch(){const{proxy:te}=vue.getCurrentInstance(),U=vue.ref([]);return vue.watch(U,re=>{re.length&&U.value.filter(oe=>oe.type==="select"&&oe.dictId).forEach(oe=>{oe.options=[],te.$baseHttp.get(`/api/ace-data-center/custom-dic/readDict/${oe.dictId}`).then(ie=>{oe.options=dictArratToTree(ie.data??[])})})}),{dynamicSearchForm:U,dynamicSearchFormat:re=>(re.filter(oe=>oe.defaultRule).forEach(oe=>{switch(oe.defaultRule){case"today":oe.type==="yymmddhhmmssSingle"?oe.value=dayjs().format("YYYY-MM-DD HH:mm:ss"):oe.type==="yymmddhhmmssRange"?(oe.minValue=dayjs().format("YYYY-MM-DD 00:00:00"),oe.maxValue=dayjs().format("YYYY-MM-DD 23:59:59")):oe.value=dayjs().format("YYYY-MM-DD");break;case"yesterday":oe.type==="yymmddhhmmssRange"?(oe.minValue=dayjs().subtract(1,"day").format("YYYY-MM-DD 00:00:00"),oe.maxValue=dayjs().subtract(1,"day").format("YYYY-MM-DD 23:59:59")):oe.value=dayjs().subtract(1,"day").format("YYYY-MM-DD");break;case"week":oe.minValue=dayjs().subtract(7,"day").format("YYYY-MM-DD"),oe.maxValue=dayjs().format("YYYY-MM-DD");break;case"month":oe.value=dayjs().format("YYYY-MM");break;case"two-month":oe.minValue=dayjs().subtract(2,"month").format("YYYY-MM"),oe.maxValue=dayjs().format("YYYY-MM");break;case"year":oe.value=dayjs().format("YYYY");break;case"two-year":oe.minValue=dayjs().subtract(2,"year").format("YYYY"),oe.maxValue=dayjs().format("YYYY");break}}),re),dynamicSearchParams:re=>{const oe={};return re.forEach(ie=>{if(ie.type.includes("Range")){oe[`${ie.key}1`]=(ie.minValue??"")&&ie.type=="numberRange"?Number(ie.minValue):ie.minValue.replaceAll(/-|:/gi,""),oe[`${ie.key}2`]=(ie.maxValue??"")&&ie.type=="numberRange"?Number(ie.maxValue):ie.maxValue.replaceAll(/-|:/gi,"");return}oe[ie.key]=(ie.value??"")&&(ie.type.includes("yymm")?ie.value.replaceAll(/-|:/gi,""):ie.value),ie.type==="numberSingle"&&ie.value&&(oe[ie.key]=Number(ie.value)),ie.type=="stringMultiple"&&(oe[ie.key]=ie.value.toString())}),oe},dynamicSearchParamsTitle:(re={})=>{const{showTitle:oe=!0}=re,ie=[];return U.value.forEach(le=>{const ae=oe?`${le.name}: `:"";switch(le.type){case"stringSingle":case"numberSingle":case"select":(le.value??"")&&ie.push(`${ae}${le.value}`);break;case"numberRange":ie.push(`${ae}[${le.minValue}~${le.maxValue}]`);break;case"yySingle":(le.value??"")&&ie.push(`${ae}${le.value}年`);break;case"yyRange":(le.minValue||le.maxValue)&&ie.push(`${ae}${le.minValue||"_"}年~${le.maxValue||"_"}年`);break;case"yymmSingle":if(le.value){let se=le.value.split("-");ie.push(`${ae}${se[0]}年${se[1]}月`)}break;case"yymmRange":if(le.minValue||le.maxValue){let se="_",ue="_";if(le.minValue){let ce=le.minValue.split("-");se=`${ae}${ce[0]}年${ce[1]}月`}if(le.maxValue){let ce=le.maxValue.split("-");ue=`${ae}${ce[0]}年${ce[1]}月`}ie.push(`${ae}${se}~${ue}`)}break;case"yymmddSingle":if(le.value){let se=le.value.split("-");ie.push(`${ae}${se[0]}年${se[1]}月${se[2]}日`)}break;case"yymmddRange":if(le.minValue||le.maxValue){let se="_",ue="_";if(le.minValue){let ce=le.minValue.split("-");se=`${ce[0]}年${ce[1]}月${ce[2]}日`}if(le.maxValue){let ce=le.maxValue.split("-");ue=`${ce[0]}年${ce[1]}月${ce[2]}日`}ie.push(`${ae}${se}~${ue}`)}break}}),ie.filter(le=>le).join(" ; ")}}}function useInsertForm(te){const{proxy:U}=vue.getCurrentInstance(),{setFormValue:G,getFormValue:ee}=U.$globalHooks.useForm(),{getDetail:ne}=fetch$1(U).model,re=vue.ref(),oe=vue.ref(1),ie=vue.ref([]),le=vue.ref("");return{loading:re,colValue:oe,formData:ie,formType:le,init:async(se={},ue="add")=>{ie.value=[],oe.value=1,le.value=ue,re.value=!0;const ce=await ne(te);re.value=!1,JSON.parse(ce.data.formJson||"[]").forEach(fe=>{fe.hide=!fe.isShow;const ve=ce.data.listModelAttribute.find(pe=>pe.mapCode==fe.fieldName);if(!ve)return;if(oe.value=fe.col,ve.primaryKey==2&&(fe.prepend=vue.h("i",{class:"text-base ri-key-line text-color-warning"}),fe.required=!0,fe.disabled=ue=="update",fe.fieldType=FieldRenderType.String),fe.ext.extend=="auto-insert-number"&&(fe.defVal=Date.now()),["radio","select","checkbox","treeSelect"].includes(fe.type)){const pe=fe==null?void 0:fe.ext.dictId;pe&&(fe.props={url:`/api/ace-data-center/custom-dic/readDict/${pe}`,label:"name",value:"code"}),fe.type=="treeSelect"&&(fe.expandAll=!1,fe.renderAfterExpand=!0,fe.optionsSuccess=ge=>{fe.options=dictArratToTree(ge)})}fe.type=="file"&&(fe.accept=fe.ext.accept||"*",fe.width="100%"),fe.type=="file"&&(fe.accept=fe.ext.accept||"*",fe.width="100%"),fe.type=="rate"&&(fe.defVal=0,fe.max=fe.ext.max);const he=vue.unref(ie).find(pe=>pe.key==fe.tag);he?he.list.push(fe):vue.unref(ie).push({key:fe.tag,list:[fe]})}),vue.unref(ie).forEach(fe=>{G(se,fe.list)})}}}const _withScopeId$d=te=>(vue.pushScopeId("data-v-6c642e9c"),te=te(),vue.popScopeId(),te),_hoisted_1$B={class:"flex items-center justify-between"},_hoisted_2$u={class:"flex items-center whitespace-nowrap"},_hoisted_3$p=_withScopeId$d(()=>vue.createElementVNode("div",{class:"h-px mt-2 mb-2 bg-gray-200"},null,-1)),_hoisted_4$o={class:"overflow-y-auto max-h-60",style:{"min-height":"150px"}},_hoisted_5$i=_withScopeId$d(()=>vue.createElementVNode("thead",null,[vue.createElementVNode("tr",null,[vue.createElementVNode("td",null,"字段名称"),vue.createElementVNode("td",null,"字段描述"),vue.createElementVNode("td",null,"数据类型"),vue.createElementVNode("td",{style:{width:"120px"}},"显示名称"),vue.createElementVNode("td",{style:{width:"120px"}},"表单标签"),vue.createElementVNode("td",{style:{width:"120px"}},"规则"),vue.createElementVNode("td",{style:{width:"70px"}},"录入显示"),vue.createElementVNode("td",{style:{width:"60px"}},"必填"),vue.createElementVNode("td",{style:{width:"150px"}},"类型"),vue.createElementVNode("td",{style:{width:"150px"}},"额外参数"),vue.createElementVNode("td",{style:{width:"30px"}})])],-1)),_hoisted_6$f={class:"sort-target"},_hoisted_7$d=_withScopeId$d(()=>vue.createElementVNode("td",null,[vue.createElementVNode("i",{class:"text-lg cursor-move ri-mouse-line sortable-handle text-color-warning"})],-1)),_hoisted_8$a=_withScopeId$d(()=>vue.createElementVNode("i",{class:"mr-1 ri-file-cloud-line"},null,-1)),_sfc_main$H=vue.defineComponent({__name:"dynamicForm",props:{model:{default:{}},title:{default:"标题栏配置"}},emits:["success"],setup(te,{emit:U}){const{proxy:G}=vue.getCurrentInstance(),{getDetail:ee}=fetch$1(G).model,ne=te,re=vue.ref([]),oe=vue.ref([]),ie=vue.ref(!1),le=vue.ref(!1),ae=[{label:"自动填充数字",value:"auto-insert-number"}],se=U,ue=[{label:"身份证号",value:"/^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$|^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}([0-9]|X)$/"},{label:"邮箱",value:"/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(.[a-zA-Z0-9-]+)*.[a-zA-Z0-9]{2,6}$/"},{label:"手机号",value:"/^1d{10}$/"},{label:"银行卡",value:"/[1-9]d{12,18}/"},{label:"车牌号",value:"/^([京津晋冀蒙辽吉黑沪苏浙皖闽赣鲁豫鄂湘粤桂琼渝川贵云藏陕甘青宁新][ABCDEFGHJKLMNPQRSTUVWXYZ][dABCDEFGHJKLNMxPQRSTUVWXYZ]{5,6})$/"}],ce=pe=>{const ge=[];return["date","datetime"].includes(pe)||ge.push({label:"单选框",value:FieldType.Radio},{label:"计数器",value:FieldType.Number},{label:"选择器",value:FieldType.Select},{label:"开关",value:FieldType.Switch},{label:"级联",value:FieldType.TreeSelect},{label:"评分",value:FieldType.Rate}),["int","decimal","double","bigint"].includes(pe)||(["date","datetime"].includes(pe)||ge.push({label:"输入框",value:FieldType.Text},{label:"多行输入框",value:FieldType.Textarea},{label:"多选框",value:FieldType.CheckBox},{label:"上传",value:FieldType.File}),["datetime"].includes(pe)||ge.push({label:"日期",value:FieldType.Date}),["date"].includes(pe)||ge.push({label:"日期时间",value:FieldType.DateTime})),ge},de=pe=>["int","decimal","double","bigint"].includes(pe)?FieldType.Number:["datetime"].includes(pe)?FieldType.DateTime:["date"].includes(pe)?FieldType.Date:FieldType.Text,fe=vue.ref(1),ve=async()=>{le.value=!0,re.value=[];const pe=await ee(ne.model.id);le.value=!1,G.$baseHttp.get(`/api/ace-data-center/custom-dic/options?projectId=${G.$baseGetCurrentProjectId()}`).then(_e=>{oe.value=_e.data});const ge=pe.data.listModelAttribute,me=JSON.parse(pe.data.formJson||"[]");ge.forEach(_e=>{if(["project_id","create_time","create_user","create_dept","_project_id","tag","_create_time","_create_user","_create_dept","_tag","_data_from"].includes(_e.attributeCode))return;const be=me.find(ye=>ye.fieldName==_e.mapCode);be?(_e.columnOption=be,fe.value=be.col??1):_e.columnOption={fieldName:_e.mapCode,name:_e.attributeComment,type:de(_e.dataType),sort:"",isShow:!0,ext:{}},re.value.push(_e)}),re.value.sort((_e,be)=>_e.columnOption.sort-be.columnOption.sort)},he=async()=>{const pe=[],ge=[];if(vue.unref(re).forEach((_e,be)=>{const ye=_e.columnOption;ye.sort=be+1,ye.col=vue.unref(fe),ye.type||ge.push(`${_e.attributeComment}类型不能为空`),["radio","select","checkbox","treeSelect"].includes(ye.type)?ye.ext.dictId||ge.push(`${_e.attributeComment}字典值为空`):["rate"].includes(ye.type)&&(ye.ext.max||ge.push(`${_e.attributeComment}最大值不能为空`)),pe.push(ye)}),ge.length>0){G.$message.error(ge[0]);return}await G.$baseHttp.post("/api/ace-data-center/model/updateFormJson",{id:ne.model.id,formJson:JSON.stringify(pe)})&&(G.$message.success("操作成功"),ie.value=!1,se("success"))};return(pe,ge)=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElPopover),{placement:"bottom",visible:vue.unref(ie),"onUpdate:visible":ge[4]||(ge[4]=me=>vue.isRef(ie)?ie.value=me:null),trigger:"click",width:"1200px"},{reference:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElLink),{type:"warning",class:"ml-3",onClick:ge[3]||(ge[3]=me=>ve())},{default:vue.withCtx(()=>[_hoisted_8$a,vue.createTextVNode(" "+vue.toDisplayString(pe.title),1)]),_:1})]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$B,[vue.createElementVNode("div",_hoisted_2$u,[vue.createTextVNode(" 分栏: "),vue.createVNode(vue.unref(elementPlus.ElInputNumber),{size:"small",min:1,class:"ml-1","value-on-clear":0,modelValue:vue.unref(fe),"onUpdate:modelValue":ge[0]||(ge[0]=me=>vue.isRef(fe)?fe.value=me:null),placeholder:"分栏"},null,8,["modelValue"])]),vue.createElementVNode("div",null,[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary",size:"small",onClick:he},{default:vue.withCtx(()=>[vue.createTextVNode("保存")]),_:1}),vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary",class:"ml-3",size:"small",onClick:ge[1]||(ge[1]=me=>ie.value=!1)},{default:vue.withCtx(()=>[vue.createTextVNode(" 关闭 ")]),_:1})])]),_hoisted_3$p,vue.createVNode(vue.unref(elementPlus.ElSkeleton),{loading:vue.unref(le),animated:""},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_4$o,[vue.createVNode(vue.unref(vueDraggablePlus.VueDraggable),{modelValue:vue.unref(re),"onUpdate:modelValue":ge[2]||(ge[2]=me=>vue.isRef(re)?re.value=me:null),target:".sort-target",animation:150,handle:".sortable-handle"},{default:vue.withCtx(()=>[vue.createElementVNode("table",null,[_hoisted_5$i,vue.createElementVNode("tbody",_hoisted_6$f,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(re),me=>(vue.openBlock(),vue.createElementBlock("tr",{key:me.id},[vue.createElementVNode("td",null,vue.toDisplayString(me.attributeCode),1),vue.createElementVNode("td",null,vue.toDisplayString(me.attributeComment),1),vue.createElementVNode("td",null,vue.toDisplayString(me.dataType),1),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElInput),{size:"small",modelValue:me.columnOption.name,"onUpdate:modelValue":_e=>me.columnOption.name=_e,placeholder:"显示名称"},null,8,["modelValue","onUpdate:modelValue"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElInput),{size:"small",modelValue:me.columnOption.tag,"onUpdate:modelValue":_e=>me.columnOption.tag=_e,placeholder:"表单标签"},null,8,["modelValue","onUpdate:modelValue"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElSelect),{clearable:!0,teleported:!1,size:"small",modelValue:me.columnOption.rule,"onUpdate:modelValue":_e=>me.columnOption.rule=_e,placeholder:"规则"},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(ue,_e=>vue.createVNode(vue.unref(elementPlus.ElOption),{label:_e.label,value:_e.value,key:_e.value},null,8,["label","value"])),64))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElCheckbox),{modelValue:me.columnOption.isShow,"onUpdate:modelValue":_e=>me.columnOption.isShow=_e},null,8,["modelValue","onUpdate:modelValue"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElCheckbox),{modelValue:me.columnOption.required,"onUpdate:modelValue":_e=>me.columnOption.required=_e},null,8,["modelValue","onUpdate:modelValue"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElSelect),{teleported:!1,size:"small",class:"w-full",modelValue:me.columnOption.type,"onUpdate:modelValue":_e=>me.columnOption.type=_e,placeholder:"请选择",onChange:()=>me.columnOption.ext={}},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ce(me.dataType),_e=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{key:_e.value,label:_e.label,value:_e.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]),vue.createElementVNode("td",null,[["radio","select","checkbox","treeSelect"].includes(me.columnOption.type)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElSelect),{key:0,teleported:!1,size:"small",modelValue:me.columnOption.ext.dictId,"onUpdate:modelValue":_e=>me.columnOption.ext.dictId=_e,placeholder:"字典值"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(oe),_e=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{label:_e.label,value:_e.code,key:_e.code},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):vue.createCommentVNode("",!0),["file"].includes(me.columnOption.type)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElInput),{key:1,size:"small",modelValue:me.columnOption.ext.accept,"onUpdate:modelValue":_e=>me.columnOption.ext.accept=_e,placeholder:"上传类型多个,隔开"},null,8,["modelValue","onUpdate:modelValue"])):vue.createCommentVNode("",!0),["rate"].includes(me.columnOption.type)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElInput),{key:2,min:0,size:"small",type:"number",modelValue:me.columnOption.ext.max,"onUpdate:modelValue":_e=>me.columnOption.ext.max=_e,placeholder:"最大值"},null,8,["modelValue","onUpdate:modelValue"])):vue.createCommentVNode("",!0),["number"].includes(me.columnOption.type)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElSelect),{key:3,clearable:!0,teleported:!1,size:"small",modelValue:me.columnOption.ext.extend,"onUpdate:modelValue":_e=>me.columnOption.ext.extend=_e,placeholder:"额外参数"},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(ae,_e=>vue.createVNode(vue.unref(elementPlus.ElOption),{label:_e.label,value:_e.value,key:_e.value},null,8,["label","value"])),64))]),_:2},1032,["modelValue","onUpdate:modelValue"])):vue.createCommentVNode("",!0)]),_hoisted_7$d]))),128))])])]),_:1},8,["modelValue"])])]),_:1},8,["loading"])]),_:1},8,["visible"]))}}),dynamicForm_vue_vue_type_style_index_0_scoped_6c642e9c_lang="",dynamicForm=_export_sfc$2(_sfc_main$H,[["__scopeId","data-v-6c642e9c"]]),_hoisted_1$A={class:"relative"},_hoisted_2$t={class:"absolute right-0 -top-10"},_hoisted_3$o={class:"flex-1 h-full overflow-y-auto"},_hoisted_4$n={class:"p-4"},_hoisted_5$h={class:"flex justify-center mt-2"},_sfc_main$G=vue.defineComponent({__name:"model-insert-form",props:{model:{default:{}},isDefaultInit:{type:Boolean,default:!0},permission:{default:()=>[]},paramsCallback:{type:Function,default:()=>{}}},emits:["success"],setup(te,{expose:U,emit:G}){const ee=te,ne=G,{proxy:re}=vue.getCurrentInstance(),{getFormValue:oe}=re.$globalHooks.useForm(),{getDetail:ie,modelDataAction:le}=fetch$1(re).model,{loading:ae,colValue:se,formData:ue,formType:ce,init:de}=useInsertForm(ee.model.id);ee.isDefaultInit&&de();const fe=async()=>{const ve={},he=[];if(vue.unref(ue).forEach(me=>{const{params:_e,error:be}=oe(me.list);he.push(...be),Object.assign(ve,_e)}),he.length>0)return;const pe={modelId:ee.model.id,dataMap:ve,batchNo:dayjs().format("YYYY-MM-DD")};ee.paramsCallback&&ee.paramsCallback(pe),await le(pe,ce.value)&&(re.$message.success("操作成功"),ee.isDefaultInit&&de(),ne("success"))};return U({init:de,handleSubmit:fe}),(ve,he)=>{const pe=vue.resolveComponent("aceHeader"),ge=vue.resolveComponent("AppForm");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createElementVNode("div",_hoisted_1$A,[vue.createElementVNode("div",_hoisted_2$t,[vue.createVNode(dynamicForm,{model:ve.model,title:"属性列配置",onSuccess:vue.unref(de)},null,8,["model","onSuccess"])])]),vue.createElementVNode("div",_hoisted_3$o,[vue.createVNode(vue.unref(elementPlus.ElSkeleton),{animated:"",loading:vue.unref(ae)},{default:vue.withCtx(()=>[vue.unref(ue).length?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(ue),me=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:me.key},[me.key?(vue.openBlock(),vue.createBlock(pe,{key:0,title:me.key},null,8,["title"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_4$n,[vue.createVNode(ge,{form:me.list,col:vue.unref(se)},null,8,["form","col"])])],64))),128)),vue.createElementVNode("div",_hoisted_5$h,[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary",onClick:fe},{default:vue.withCtx(()=>[vue.createTextVNode("保 存")]),_:1})])],64)):(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElEmpty),{key:0,description:"暂未配置表单数据"}))]),_:1},8,["loading"])])],64)}}}),_withScopeId$c=te=>(vue.pushScopeId("data-v-91a9a2ad"),te=te(),vue.popScopeId(),te),_hoisted_1$z={class:"flex justify-between mb-[10px]"},_hoisted_2$s=_withScopeId$c(()=>vue.createElementVNode("span",{class:"ml-2 mr-2"},"~",-1)),_hoisted_3$n=_withScopeId$c(()=>vue.createElementVNode("span",{class:"ml-2 mr-2"},"~",-1)),_hoisted_4$m=_withScopeId$c(()=>vue.createElementVNode("i",{class:"mr-1 ri-search-line"},null,-1)),_sfc_main$F=vue.defineComponent({__name:"search",props:{form:{default:()=>[]},search:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1}},emits:["success"],setup(te,{emit:U}){const G=te,ee=U,ne=vue.inject("local"),re=ae=>{let se="date",ue="YYYY-MM-DD";return["yyRange","yySingle"].includes(ae)&&(se="year",ue="YYYY"),["yymmRange","yymmSingle"].includes(ae)&&(se="month",ue="YYYY-MM"),["yymmddhhmmssRange"].includes(ae)&&(se="datetime",ue="YYYY-MM-DD HH:mm:ss"),["yymmddhhmmssSingle"].includes(ae)&&(se="datetime",ue="YYYY-MM-DD HH:mm:ss"),{type:se,format:ue}},oe=(ae,se,ue)=>ae=="gt"?se.getTime()>dayjs(ue||"").valueOf():se.getTime()<dayjs(ue||"").valueOf(),ie=(ae,se,ue)=>{if(ae[se]==""||ae[ue]=="")return;const ce=Number(ae[se]),de=Number(ae[ue]);(se=="minValue"?ce>de:ce<de)&&(ae[se]=ae[ue])},le=()=>{ee("success")};return(ae,se)=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElConfigProvider),{locale:vue.unref(ne)},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$z,[vue.createVNode(vue.unref(elementPlus.ElForm),{inline:"",class:"flex flex-1 flex-wrap gap-[10px]"},{default:vue.withCtx(()=>[vue.renderSlot(ae.$slots,"default",{},void 0,!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ae.form,(ue,ce)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:ce},[ue.hide?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElFormItem),{key:0,label:ae.disabled?"":ue.name},{default:vue.withCtx(()=>[ue.type.includes("Range")?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[["yyRange","yymmRange","yymmddRange","yymmddhhmmssRange"].includes(ue.type)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(vue.unref(elementPlus.ElDatePicker),{modelValue:ue.minValue,"onUpdate:modelValue":de=>ue.minValue=de,clearable:!1,teleported:!1,disabled:ae.disabled,type:re(ue.type).type,placeholder:"开始","disabled-date":de=>oe("gt",de,ue.maxValue),"value-format":re(ue.type).format},null,8,["modelValue","onUpdate:modelValue","disabled","type","disabled-date","value-format"]),_hoisted_2$s,vue.createVNode(vue.unref(elementPlus.ElDatePicker),{modelValue:ue.maxValue,"onUpdate:modelValue":de=>ue.maxValue=de,placeholder:"结束",teleported:!1,disabled:ae.disabled,clearable:!1,"disabled-date":de=>oe("lt",de,ue.minValue),type:re(ue.type).type,"value-format":re(ue.type).format},null,8,["modelValue","onUpdate:modelValue","disabled","disabled-date","type","value-format"])],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(vue.unref(elementPlus.ElInput),{modelValue:ue.minValue,"onUpdate:modelValue":de=>ue.minValue=de,modelModifiers:{trim:!0},max:ue.maxValue,clearable:!1,disabled:ae.disabled,onBlur:de=>ie(ue,"minValue","maxValue"),type:"number",placeholder:"最小值"},null,8,["modelValue","onUpdate:modelValue","max","disabled","onBlur"]),_hoisted_3$n,vue.createVNode(vue.unref(elementPlus.ElInput),{modelValue:ue.maxValue,"onUpdate:modelValue":de=>ue.maxValue=de,modelModifiers:{trim:!0},min:ue.minValue,clearable:!1,disabled:ae.disabled,onBlur:de=>ie(ue,"maxValue","minValue"),type:"number",placeholder:"最大值"},null,8,["modelValue","onUpdate:modelValue","min","disabled","onBlur"])],64))],64)):vue.createCommentVNode("",!0),ue.type.includes("Single")?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[["yySingle","yymmSingle","yymmddSingle","yymmddhhmmssSingle"].includes(ue.type)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElDatePicker),{key:0,modelValue:ue.value,"onUpdate:modelValue":de=>ue.value=de,clearable:!1,teleported:!1,disabled:ae.disabled,placeholder:"请输入"+ue.name,type:re(ue.type).type,"value-format":re(ue.type).format},null,8,["modelValue","onUpdate:modelValue","disabled","placeholder","type","value-format"])):(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElInput),{key:1,modelValue:ue.value,"onUpdate:modelValue":de=>ue.value=de,modelModifiers:{trim:!0},clearable:!1,disabled:ae.disabled,onKeyup:vue.withKeys(le,["enter","native"]),type:ue.type=="numberSingle"?"number":"",placeholder:"请输入"+ue.name},null,8,["modelValue","onUpdate:modelValue","disabled","type","placeholder"]))],64)):vue.createCommentVNode("",!0),ue.type=="select"?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTreeSelect),{key:2,modelValue:ue.value,"onUpdate:modelValue":de=>ue.value=de,data:ue.options,teleported:!1,disabled:ae.disabled,placeholder:"请选择",props:{label:"name",value:"code"},clearable:!1,"check-strictly":""},null,8,["modelValue","onUpdate:modelValue","data","disabled"])):vue.createCommentVNode("",!0),ue.type=="stringMultiple"?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElSelect),{key:3,teleported:!1,modelValue:ue.value,"onUpdate:modelValue":de=>ue.value=de,placeholder:"请选择",clearable:!1,multiple:"",filterable:"","allow-create":"","reserve-keyword":!1,"default-first-option":""},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ue.options,de=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{label:de.label,value:de.value,key:de.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):vue.createCommentVNode("",!0)]),_:2},1032,["label"]))],64))),128)),vue.createVNode(vue.unref(elementPlus.ElFormItem),null,{default:vue.withCtx(()=>[ae.form.filter(ue=>!ue.hide).length>0&&G.search?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElButton),{key:0,type:"primary",onClick:le},{default:vue.withCtx(()=>[_hoisted_4$m,vue.createTextVNode(" 查询 ")]),_:1})):vue.createCommentVNode("",!0),vue.renderSlot(ae.$slots,"btns",{},void 0,!0)]),_:3})]),_:3}),vue.renderSlot(ae.$slots,"aside",{},void 0,!0)])]),_:3},8,["locale"]))}}),search_vue_vue_type_style_index_0_scoped_91a9a2ad_lang="",aceDynamicSearch=_export_sfc$2(_sfc_main$F,[["__scopeId","data-v-91a9a2ad"]]),_withScopeId$b=te=>(vue.pushScopeId("data-v-621a4311"),te=te(),vue.popScopeId(),te),_hoisted_1$y=_withScopeId$b(()=>vue.createElementVNode("i",{class:"mr-1 ri-download-2-line"},null,-1)),_hoisted_2$r=_withScopeId$b(()=>vue.createElementVNode("i",{class:"ri-information-2-line ml-1.5"},null,-1)),_sfc_main$E=vue.defineComponent({__name:"list",props:{id:{default:""},title:{default:nanoid()},pageLimit:{default:20},type:{default:DynamicTableType.Default},keyName:{default:"modelId"},url:{default:"/api/ace-data-center/model/modelDataPage"},showPageIndex:{type:Boolean,default:!1},isDownLoad:{type:Boolean,default:!0},searchFormData:{default:null},isDelete:{type:Boolean,default:!1},isEdit:{type:Boolean,default:!1},formatParamsFunc:{type:[Function,null],default:null},defParamsFunc:{type:[Function,null],default:null}},emits:["row-click","success-list","table-header","btn-click"],setup(te,{expose:U,emit:G}){const ee=te;vue.watch(()=>ee.id,()=>$e());const ne=G,{proxy:re}=vue.getCurrentInstance(),{dynamicSearchForm:oe,dynamicSearchFormat:ie,dynamicSearchParams:le}=useDynamicSearch(),{modelDataDel:ae,getDetail:se}=fetch$1(re).model,{listColumnInfo:ue,getFormJsonConfig:ce,getSystemParam:de}=fetch$1(re),fe=vue.ref(null),ve=vue.ref(null),he=vue.ref(null),pe=vue.ref([]),ge=vue.ref(""),me=vue.ref({}),_e=vue.ref(0),be=vue.ref(!0),ye=vue.ref(!1),xe=vue.ref({}),Ce=vue.computed(()=>vue.unref(pe).filter(Te=>Te.headSlot).map(Te=>Te.prop+"-head-slot")),$e=async()=>{var Te,De;if(ge.value="",pe.value=[],_e.value=0,me.value={[ee.keyName]:ee.id,params:{}},ee.type==DynamicTableType.Default){const Be=await ue(ee.id),Oe=await se(ee.id,!1);if(xe.value=Oe.data,pe.value=(Be.data??[]).filter(Ae=>Ae.isShow??!0).map(Ae=>{var Re;const Le={...Ae,width:Ae.labelWidth??null,showOverflowTooltip:Ae.overHidden??!1,sortable:"custom",headSlot:(Ae.note??"")!==""};if(Ae.type=="dict"){const Fe=(Re=JSON.parse(Ae.ext??"{}"))==null?void 0:Re.dictId;Fe&&(Le.props={url:`/api/ace-data-center/custom-dic/readDict/${Fe}`,label:"name",value:"code"})}return Ae.type=="img"&&(Le.type=Ae.type,Le.resetUrl=(Fe,je)=>{const Me=resetUrl(je[Ae.prop]).split(",");if(Fe=="small")return Me[0];if(Fe=="preview")return Me},delete Le.sortable),Ae.type=="map"&&(delete Le.sortable,Le.func=Fe=>'<span class="text-gray-600 cursor-pointer">查看地图</span>',Le.clickFunc=Fe=>{try{vue.unref(ve).init(JSON.parse(Fe[Ae.prop]??"[]"))}catch{re.$message.warning("数据格式获取错误")}}),Le.prop=="_data_from"&&(Le.dict="dataFormStatus"),Le}),ke(),(ee.isDelete||ee.isEdit)&&pe.value.push({label:"操作",prop:"htmlButton",fixed:"right",noExport:!0}),ee.searchFormData)oe.value=ee.searchFormData;else{const Ae=await ce(ee.id);oe.value=ie(JSON.parse(((Te=Ae.data)==null?void 0:Te.formConfJson)??"[]"))}}if(ee.type==DynamicTableType.DataForm){const Be=await re.$baseHttp.get(`/api/ace-data-center/dataform/detail?id=${ee.id}`);be.value=Be.data.isPage!=0,oe.value=ie(JSON.parse(((De=Be.data)==null?void 0:De.formConfJson)??"[]"))}ee.defParamsFunc&&ee.defParamsFunc(vue.unref(oe)),ge.value=ee.url},we=vue.ref(!1),Ee=Te=>{we.value=Te.extra.total!="0"&&ee.isDownLoad,_e.value=Te.extra.total,ee.type==DynamicTableType.DataForm&&(Te==null?void 0:Te.data.length)>0&&(pe.value=[],Object.keys(Te.data[0]).forEach(De=>{const Be={label:De,prop:De,sortable:vue.unref(be)};De==="map_column"&&(Be.label="地图",Be.func=Oe=>`<span class="cursor-pointer ${["","[]"].includes(Oe[De])?"text-gray-600":"text-color-danger"}">查看地图</span>`,Be.type=ItableType.Link,Be.clickFunc=Oe=>vue.unref(ve).init(JSON.parse(Oe[De]??"[]")),delete Be.sortable),pe.value.push(Be)}),ke()),ee.type==DynamicTableType.Default&&(Te==null?void 0:Te.data.length)>0&&Te.data.forEach(De=>{De.htmlButton=[],ee.isEdit&&De.htmlButton.push({name:"修改",key:"eidtBTN",type:"primary",icon:"ri-edit-line"}),ee.isDelete&&De.htmlButton.push({name:"删除",key:"delBTN",type:"danger",icon:"ri-delete-bin-6-line"})}),ne("table-header",vue.unref(pe)),ne("success-list",Te)},Ve=Te=>(me.value.params=le(vue.unref(oe)),ee.formatParamsFunc&&(me.value=ee.formatParamsFunc(me.value)),Object.assign(Te,vue.unref(me))),Se=()=>{vue.unref(fe).getData()},ke=()=>{ee.showPageIndex?pe.value.unshift({label:"序号",prop:"pageIndex",width:"80px"}):pe.value.splice(vue.unref(pe).findIndex(Te=>Te.prop==="pageIndex"),1)},Ne=Te=>{const{prop:De,order:Be}=Te;ee.type==DynamicTableType.Default&&(vue.unref(me).ascs="",vue.unref(me).descs="",Be==="ascending"&&(vue.unref(me).ascs=De),Be==="descending"&&(vue.unref(me).descs=De)),ee.type==DynamicTableType.DataForm&&(vue.unref(me).orders=[],Be&&vue.unref(me).orders.push({property:De,direction:Be==="ascending"?"asc":"desc"})),vue.unref(fe).getData()},Ie=async()=>{if(ee.type==DynamicTableType.Default){const Te=await de({paramKey:"model.export.max"});if(+(vue.unref(_e)>Number((Te==null?void 0:Te.data)??0))){re.$message.warning(`数据量超过${Te==null?void 0:Te.data}条,请筛选后再导出`);return}}re.$baseExportExcel({title:ee.title,url:vue.unref(ge),header:vue.unref(pe),customParams:vue.unref(me)})},Pe=Te=>{const{type:De,row:Be}=Te;switch(De){case"eidtBTN":case"delBTN":{const Oe={};if(vue.unref(xe).listModelAttribute.forEach(Ae=>{Oe[Ae.mapCode]=Be[Ae.attributeCode]}),De=="eidtBTN"){ye.value=!0,vue.nextTick(()=>{vue.unref(he).init(Oe,"update")});return}re.$baseConfirm({content:"是否确定删除",callConfirm:async()=>{await ae({dataMap:Oe,modelId:ee.id})&&(re.$message.success("删除成功"),vue.unref(fe).getData())}})}break}ne("btn-click",Te)};return $e(),U({handleExport:Ie,init:$e}),(Te,De)=>{const Be=vue.resolveComponent("AppList"),Oe=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElSkeleton),{loading:vue.unref(ge)=="",animated:""},{default:vue.withCtx(()=>[vue.createVNode(aceDynamicSearch,{form:vue.unref(oe),onSuccess:Se},{btns:vue.withCtx(()=>[vue.unref(we)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElButton),{key:0,type:"warning",onClick:Ie},{default:vue.withCtx(()=>[_hoisted_1$y,vue.createTextVNode(" 导出 ")]),_:1})):vue.createCommentVNode("",!0)]),_:1},8,["form"]),vue.unref(ge)?(vue.openBlock(),vue.createBlock(Be,{key:0,tableData:vue.unref(pe),pageLimit:Te.pageLimit,url:vue.unref(ge),showPage:vue.unref(be),methods:"post",formatParamsFunc:Ve,onSuccess:Ee,onSortChange:Ne,onBtnClick:Pe,ref_key:"appList",ref:fe},vue.createSlots({_:2},[vue.renderList(vue.unref(Ce),Ae=>({name:Ae,fn:vue.withCtx(({element:Le})=>[Le.note?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTooltip),{key:0,content:Le.note},{default:vue.withCtx(()=>[_hoisted_2$r]),_:2},1032,["content"])):vue.createCommentVNode("",!0)])}))]),1032,["tableData","pageLimit","url","showPage"])):vue.createCommentVNode("",!0),vue.createVNode(Oe,{modelValue:vue.unref(ye),"onUpdate:modelValue":De[1]||(De[1]=Ae=>vue.isRef(ye)?ye.value=Ae:null),title:"数据修改",size:"1200px"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$G,{model:{id:ee.id},isDefaultInit:!1,ref_key:"modelInsertFormRef",ref:he,onSuccess:De[0]||(De[0]=Ae=>{ye.value=!1,vue.unref(fe).getData()})},null,8,["model"])]),_:1},8,["modelValue"])]),_:1},8,["loading"])}}}),list_vue_vue_type_style_index_0_scoped_621a4311_lang="",aceDynamicList=_export_sfc$2(_sfc_main$E,[["__scopeId","data-v-621a4311"]]),_withScopeId$a=te=>(vue.pushScopeId("data-v-83ebfa93"),te=te(),vue.popScopeId(),te),_hoisted_1$x={key:0},_hoisted_2$q=_withScopeId$a(()=>vue.createElementVNode("span",{class:"ml-2 mr-2"},"~",-1)),_hoisted_3$m=_withScopeId$a(()=>vue.createElementVNode("span",{class:"ml-2 mr-2"},"~",-1)),_hoisted_4$l=["onClick"],_sfc_main$D=vue.defineComponent({__name:"searchEdit",props:{form:{default:()=>[]},isEdit:{type:Boolean,default:!0},businessType:{default:"indicators"}},setup(te,{expose:U}){const G=te,{proxy:ee}=vue.getCurrentInstance(),ne=vue.ref([]),re=vue.computed(()=>["model"].includes(G.businessType));ee.$baseHttp.get(`/api/ace-data-center/custom-dic/options?projectId=${ee.$baseGetCurrentProjectId()}`).then(ce=>{ne.value=ce.data});const oe={yymmddSingle:[{name:"当日",value:"today"},{name:"昨日",value:"yesterday"}],yymmddhhmmssSingle:[{name:"当日",value:"today"}],yymmddhhmmssRange:[{name:"当日",value:"today"},{name:"昨日",value:"yesterday"}],yymmddRange:[{name:"近一周",value:"week"}],yymmSingle:[{name:"当月",value:"month"}],yymmRange:[{name:"近两月",value:"two-month"}],yySingle:[{name:"当年",value:"year"}],yyRange:[{name:"近两年",value:"two-year"}]},ie=ce=>{let de="date",fe="YYYY-MM-DD";return["yyRange","yySingle"].includes(ce)&&(de="year",fe="YYYY"),["yymmRange","yymmSingle"].includes(ce)&&(de="month",fe="YYYY-MM"),["yymmddhhmmssRange"].includes(ce)&&(de="datetime",fe="YYYY-MM-DD HH:mm:ss"),["yymmddhhmmssSingle"].includes(ce)&&(de="datetime",fe="YYYY-MM-DD HH:mm:ss"),{type:de,format:fe}},le=(ce,de,fe)=>ce=="gt"?de.getTime()>dayjs(fe||"").valueOf():de.getTime()<dayjs(fe||"").valueOf(),ae=(ce,de,fe)=>{if(ce[de]==""||ce[fe]=="")return;const ve=Number(ce[de]),he=Number(ce[fe]);(de=="minValue"?ve>he:ve<he)&&(ce[de]=ce[fe])},se=ce=>{ce.value=[],ce.options=[],ce.dictId&&ee.$baseHttp.get(`/api/ace-data-center/custom-dic/readDict/${ce.dictId}`).then(de=>{ce.options=de.data??[]})},ue=ce=>{ce.value="",ce.minValue="",ce.maxValue="",ce.defaultRule="",ce.dictId="",ce.options=[]};return vue.onMounted(()=>{G.form.forEach(ce=>{!ce.checked&&!ce.type&&["varchar","text"].includes(ce.dataType)&&(ce.type="stringSingle")})}),U({handleChangeDictSelect:se}),(ce,de)=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElForm),{inline:"",size:"small"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ce.form,(fe,ve)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:ve},[fe.hide?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$x,[vue.unref(re)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElFormItem),{key:0,label:""},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElCheckbox),{modelValue:fe.checked,"onUpdate:modelValue":he=>fe.checked=he,size:"small"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)):vue.createCommentVNode("",!0),ce.isEdit&&!vue.unref(re)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElFormItem),{key:1,label:"标识符"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElInput),{modelValue:fe.key,"onUpdate:modelValue":he=>fe.key=he,clearable:"",placeholder:"请输入标识符"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(elementPlus.ElFormItem),{label:ce.isEdit?"名称":fe.name},{default:vue.withCtx(()=>[ce.isEdit?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElInput),{key:0,modelValue:fe.name,"onUpdate:modelValue":he=>fe.name=he,clearable:"",placeholder:"请输入名称"},null,8,["modelValue","onUpdate:modelValue"])):vue.createCommentVNode("",!0)]),_:2},1032,["label"]),ce.isEdit?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElFormItem),{key:2,label:"类型"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElSelect),{clearable:"",teleported:!1,modelValue:fe.type,"onUpdate:modelValue":he=>fe.type=he,onChange:he=>ue(fe),placeholder:"类型"},{default:vue.withCtx(()=>[vue.unref(re)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[["date","datetime"].includes(fe.dataType)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年·区间",value:"yyRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年·单值",value:"yySingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月·区间",value:"yymmRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月·单值",value:"yymmSingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月日·区间",value:"yymmddRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月日·单值",value:"yymmddSingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月日时分秒·区间",value:"yymmddhhmmssRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月日时分秒·单值",value:"yymmddhhmmssSingle"})],64)):["int","decimal","double"].includes(fe.dataType)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(vue.unref(elementPlus.ElOption),{label:"数值·区间",value:"numberRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"数值·单值",value:"numberSingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"下拉框·字典",value:"select"})],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[vue.createVNode(vue.unref(elementPlus.ElOption),{label:"字符串",value:"stringSingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"字符串分隔",value:"stringMultiple"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"下拉框·字典",value:"select"})],64))],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年·区间",value:"yyRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年·单值",value:"yySingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月·区间",value:"yymmRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月·单值",value:"yymmSingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月日·区间",value:"yymmddRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月日·单值",value:"yymmddSingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月日时分秒·区间",value:"yymmddhhmmssRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"年月日时分秒·单值",value:"yymmddhhmmssSingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"数值·区间",value:"numberRange"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"数值·单值",value:"numberSingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"字符串",value:"stringSingle"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"字符串分隔",value:"stringMultiple"}),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"下拉框·字典",value:"select"})],64))]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]),_:2},1024)):vue.createCommentVNode("",!0),fe.type?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElFormItem),{key:3,label:ce.isEdit?"默认值":""},{default:vue.withCtx(()=>[oe[fe.type]&&ce.isEdit?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElSelect),{key:0,clearable:"",style:{"margin-right":"10px"},teleported:!1,modelValue:fe.defaultRule,"onUpdate:modelValue":he=>fe.defaultRule=he,placeholder:"默认值"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(oe[fe.type],he=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{label:he.name,value:he.value,key:he.value},null,8,["label","value"]))),128)),vue.createVNode(vue.unref(elementPlus.ElOption),{label:"自定义",value:"custom"})]),_:2},1032,["modelValue","onUpdate:modelValue"])):vue.createCommentVNode("",!0),fe.type.endsWith("Range")?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[["yyRange","yymmRange","yymmddRange","yymmddhhmmssRange"].includes(fe.type)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(vue.unref(elementPlus.ElDatePicker),{teleported:!1,modelValue:fe.minValue,"onUpdate:modelValue":he=>fe.minValue=he,clearable:"",placeholder:"开始","disabled-date":he=>le("gt",he,fe.maxValue),type:ie(fe.type).type,"value-format":ie(fe.type).format},null,8,["modelValue","onUpdate:modelValue","disabled-date","type","value-format"]),_hoisted_2$q,vue.createVNode(vue.unref(elementPlus.ElDatePicker),{teleported:!1,modelValue:fe.maxValue,"onUpdate:modelValue":he=>fe.maxValue=he,clearable:"",placeholder:"结束","disabled-date":he=>le("lt",he,fe.minValue),type:ie(fe.type).type,"value-format":ie(fe.type).format},null,8,["modelValue","onUpdate:modelValue","disabled-date","type","value-format"])],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(vue.unref(elementPlus.ElInput),{modelValue:fe.minValue,"onUpdate:modelValue":he=>fe.minValue=he,max:fe.maxValue,clearable:!1,onBlur:he=>ae(fe,"minValue","maxValue"),type:"number",placeholder:"最小值"},null,8,["modelValue","onUpdate:modelValue","max","onBlur"]),_hoisted_3$m,vue.createVNode(vue.unref(elementPlus.ElInput),{modelValue:fe.maxValue,"onUpdate:modelValue":he=>fe.maxValue=he,min:fe.minValue,clearable:!1,onBlur:he=>ae(fe,"maxValue","minValue"),type:"number",placeholder:"最大值"},null,8,["modelValue","onUpdate:modelValue","min","onBlur"])],64))],64)):vue.createCommentVNode("",!0),fe.type.includes("Single")?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[["yySingle","yymmSingle","yymmddSingle","yymmddhhmmssSingle"].includes(fe.type)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElDatePicker),{key:0,teleported:!1,modelValue:fe.value,"onUpdate:modelValue":he=>fe.value=he,clearable:"",placeholder:"请输入"+fe.name,type:ie(fe.type).type,"value-format":ie(fe.type).format},null,8,["modelValue","onUpdate:modelValue","placeholder","type","value-format"])):(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElInput),{key:1,modelValue:fe.value,"onUpdate:modelValue":he=>fe.value=he,teleported:!1,clearable:"",type:fe.type=="numberSingle"?"number":"",placeholder:"请输入"+fe.name},null,8,["modelValue","onUpdate:modelValue","type","placeholder"]))],64)):vue.createCommentVNode("",!0),fe.type=="stringMultiple"?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElSelect),{key:3,style:{"margin-right":"10px"},teleported:!1,modelValue:fe.value,"onUpdate:modelValue":he=>fe.value=he,placeholder:"请选择",clearable:"",multiple:"",filterable:"","allow-create":"","reserve-keyword":!1,"default-first-option":""},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(fe.options,he=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{label:he.label,value:he.value,key:he.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):vue.createCommentVNode("",!0),fe.type=="select"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:4},[ce.isEdit?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElSelect),{key:0,teleported:!1,style:{"margin-right":"10px"},modelValue:fe.dictId,"onUpdate:modelValue":he=>fe.dictId=he,placeholder:"字典值",clearable:"",onChange:he=>se(fe)},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(ne),he=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{label:he.label,value:he.code,key:he.code},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(elementPlus.ElSelect),{teleported:!1,modelValue:fe.value,"onUpdate:modelValue":he=>fe.value=he,placeholder:"请选择",clearable:""},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(fe.options,he=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{label:he.name,value:he.code,key:he.code},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])],64)):vue.createCommentVNode("",!0)]),_:2},1032,["label"])):vue.createCommentVNode("",!0),ce.isEdit&&!vue.unref(re)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElFormItem),{key:4,style:{"margin-right":"0"}},{default:vue.withCtx(()=>[vue.createElementVNode("i",{class:"cursor-pointer ri-delete-bin-6-line text-color-danger",onClick:he=>G.form.splice(ve,1)},null,8,_hoisted_4$l)]),_:2},1024)):vue.createCommentVNode("",!0)]))],64))),128))]),_:1}))}}),searchEdit_vue_vue_type_style_index_0_scoped_83ebfa93_lang="",aceDynamicSearchEdit=_export_sfc$2(_sfc_main$D,[["__scopeId","data-v-83ebfa93"]]),_hoisted_1$w=vue.createElementVNode("i",{class:"ri-search-line"},null,-1),_hoisted_2$p={class:"mt-3"},_hoisted_3$l={key:1,class:"mr-1 text-base ri-edit-circle-fill text-color-primary"},_hoisted_4$k={key:2,class:"mr-1 ri-database-2-fill text-color-info"},_hoisted_5$g={key:3,class:"mr-1 ri-camera-fill text-color-info"},_hoisted_6$e={key:4,class:"ml-1"},_sfc_main$C=vue.defineComponent({__name:"model-menu",props:{type:{default:""},id:{default:""}},emits:["node-click"],setup(te,{expose:U,emit:G}){const ee=te,{proxy:ne}=vue.getCurrentInstance(),{loadModelMenu:re}=fetch$1(ne).model,oe=vue.ref(""),ie=vue.ref(null),le=G;vue.watch(oe,pe=>{vue.unref(ie).filter(pe)});const ae=(pe,ge)=>pe?ge.modelName.includes(pe):!0,se=vue.ref([]),ue=vue.ref([]),ce=vue.ref([]),de=vue.ref(!0),fe=vue.computed(()=>ee.type=="ODS"?vue.unref(se):ee.type=="DWD"?vue.unref(ue):vue.unref(ce)),ve=()=>{de.value=!0,Promise.all([re({modelLayer:"ODS"}),re({modelLayer:"DWD"}),re({modelLayer:"ODSVIEW"})]).then(pe=>{const ge=pe[0].data,me=pe[1].data,_e=pe[2].data;se.value=Object.keys(ge).map(be=>({modelName:be,id:be,children:ge[be]})),ce.value=Object.keys(_e).map(be=>({modelName:be,id:be,children:_e[be]})),ue.value=Object.keys(me).map(be=>({modelName:be,id:be,children:[{modelName:"事实模型",id:nanoid(),children:me[be].filter(ye=>String(ye.modelType)=="2")},{modelName:"维度模型",id:nanoid(),children:me[be].filter(ye=>String(ye.modelType)=="1")}]})),de.value=!1})};ve();const he=pe=>{if(pe.modelCode){if(ee.type=="ODS"){le("node-click",pe);return}Array.isArray(pe.children)||le("node-click",pe)}};return U({init:ve}),(pe,ge)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createVNode(vue.unref(elementPlus.ElInput),{placeholder:"请输入内容",clearable:"",modelValue:vue.unref(oe),"onUpdate:modelValue":ge[0]||(ge[0]=me=>vue.isRef(oe)?oe.value=me:null)},{prefix:vue.withCtx(()=>[_hoisted_1$w]),_:1},8,["modelValue"]),vue.createElementVNode("div",_hoisted_2$p,[vue.unref(de)?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElSkeleton),{key:0,animated:"",count:2})):(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTree),{key:1,class:"animated fadeIn",ref_key:"treeRef",ref:ie,data:vue.unref(fe),"default-expand-all":"","node-key":"id",indent:10,"expand-on-click-node":!1,"highlight-current":"","filter-node-method":ae,onNodeClick:he},{default:vue.withCtx(({node:me,data:_e})=>[me.level!=1||pe.type=="ODS"?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[_e.modelCode&&(_e.publishStatus==1&&_e.openForm==2||_e.openForm!=2)?(vue.openBlock(),vue.createElementBlock("i",{key:0,class:vue.normalizeClass(["mr-1 text-base ri-checkbox-circle-fill",[_e.publishStatus==2?"text-green-700":"text-gray-400"]])},null,2)):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0),_e.openForm==2&&_e.publishStatus==2?(vue.openBlock(),vue.createElementBlock("i",_hoisted_3$l)):vue.createCommentVNode("",!0),_e.shadowFlag==1?(vue.openBlock(),vue.createElementBlock("i",_hoisted_4$k)):vue.createCommentVNode("",!0),_e.shadowFlag==2?(vue.openBlock(),vue.createElementBlock("i",_hoisted_5$g)):vue.createCommentVNode("",!0),vue.createElementVNode("span",{class:vue.normalizeClass({"font-bold":me.level==1})},vue.toDisplayString(_e.modelName),3),((_e==null?void 0:_e.children)??[]).some(be=>be.parentModelId)?(vue.openBlock(),vue.createElementBlock("span",_hoisted_6$e,[vue.createVNode(vue.unref(elementPlus.ElTag),{size:"small",effect:"plain",type:"danger"},{default:vue.withCtx(()=>[vue.createTextVNode("主表")]),_:1})])):vue.createCommentVNode("",!0),vue.renderSlot(pe.$slots,"default",{element:_e})]),_:3},8,["data"]))])],64))}}),_withScopeId$9=te=>(vue.pushScopeId("data-v-d2678b69"),te=te(),vue.popScopeId(),te),_hoisted_1$v={class:"mt-3"},_hoisted_2$o=_withScopeId$9(()=>vue.createElementVNode("td",null,"字段名称",-1)),_hoisted_3$k=_withScopeId$9(()=>vue.createElementVNode("td",null,"字段描述",-1)),_hoisted_4$j=_withScopeId$9(()=>vue.createElementVNode("td",null,"映射字段",-1)),_hoisted_5$f=_withScopeId$9(()=>vue.createElementVNode("td",null,"数据类型",-1)),_hoisted_6$d=_withScopeId$9(()=>vue.createElementVNode("td",null,"数据长度",-1)),_hoisted_7$c=_withScopeId$9(()=>vue.createElementVNode("td",null,"数据标度",-1)),_hoisted_8$9=_withScopeId$9(()=>vue.createElementVNode("td",null,"是否主键",-1)),_hoisted_9$9=_withScopeId$9(()=>vue.createElementVNode("td",null,"唯一校验",-1)),_hoisted_10$8=_withScopeId$9(()=>vue.createElementVNode("td",{style:{width:"50px"}},null,-1)),_hoisted_11$6={class:"sort-target"},_hoisted_12$5=["onClick"],_hoisted_13$3=_withScopeId$9(()=>vue.createElementVNode("td",null,[vue.createElementVNode("i",{class:"text-lg cursor-move ri-mouse-line sortable-handle text-color-warning"})],-1)),_sfc_main$B=vue.defineComponent({__name:"model-attribute",props:vue.mergeModels({isRequired:{default:1}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(te,{expose:U}){vue.getCurrentInstance();const G=vue.useModel(te,"modelValue");vue.ref(null);const ee=vue.ref(null),ne=vue.ref({attributeCode:[{required:!0,message:"请输入字段名称"},{pattern:/^[A-Za-z]\w*$/,message:"只能以字母开头,由字母/数字/下划线组成",trigger:"blur"}],attributeComment:[{required:!0,message:"请输入字段描述"}],mapCode:[{required:!0,message:"请输入映射字段"}],dataType:[{required:!0,message:"请选择数据类型"}],primaryKey:[{required:!0,message:"请选择是否为主键"}]}),re=ue=>{const ce=ue.dataType;ce!=="decimal"&&(ue.dataScale=0),["autoIncrement","date","time","datetime","int","bigint","double","text"].includes(ce)&&(ue.dataLength=0),ce==="decimal"&&(ue.dataLength=10,ue.dataScale=6),ce==="varchar"&&(ue.dataLength=255),vue.unref(ee).clearValidate()},oe=(ue,ce)=>{ue.primaryKey==2&&G.value.forEach((fe,ve)=>{ve!=ce&&(fe.primaryKey=1)})},ie=()=>{G.value.push({nanoid:nanoid(),dataScale:0,dataLength:0})},le=ue=>{const ce=vue.unref(G).findIndex(de=>de.nanoid==ue);G.value.length>1&&G.value.splice(ce,1)};return U({validate:async()=>await vue.unref(ee).validate(ue=>ue),isRepeat:()=>{const ue=new Map;let ce="";for(let de=0;de<G.value.length;de++){let fe=G.value[de],ve=ue.get(fe.attributeCode);ve!=null&&(ce+="字段名称 <strong>"+fe.attributeCode+"</strong> 重复(<i>第"+(ve+1)+"行和第"+(de+1)+"行</i>);<br>"),ue.set(G.value[de].attributeCode,de)}return ce}}),(ue,ce)=>{const de=vue.resolveComponent("aceHeader");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createVNode(de,{title:"唯一校验"},{default:vue.withCtx(()=>[vue.createElementVNode("div",null,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(G.value,(fe,ve)=>vue.withDirectives((vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElTag),{key:ve,size:"small",class:"ml-2",type:"primary"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(fe.mapCode),1)]),_:2},1024)),[[vue.vShow,fe.uniqueKey==="2"&&fe.mapCode]])),128))])]),_:1}),vue.createVNode(vue.unref(elementPlus.ElForm),{"label-width":"0",model:{modelValue:G.value},ref_key:"elFormRef",ref:ee,rules:vue.unref(ne)},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(vueDraggablePlus.VueDraggable),{modelValue:G.value,"onUpdate:modelValue":ce[0]||(ce[0]=fe=>G.value=fe),target:".sort-target",animation:150,handle:".sortable-handle"},{default:vue.withCtx(()=>[vue.createElementVNode("table",_hoisted_1$v,[vue.createElementVNode("thead",null,[vue.createElementVNode("tr",null,[vue.createElementVNode("td",{style:{width:"50px"}},[vue.createElementVNode("i",{class:"text-lg cursor-pointer ri-add-circle-line text-color-primary",onClick:ie})]),_hoisted_2$o,_hoisted_3$k,_hoisted_4$j,_hoisted_5$f,_hoisted_6$d,_hoisted_7$c,_hoisted_8$9,_hoisted_9$9,_hoisted_10$8])]),vue.createElementVNode("tbody",_hoisted_11$6,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(G.value,(fe,ve)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:fe.nanoid},[fe.hide?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("tr",{key:fe.nanoid},[vue.createElementVNode("td",null,[vue.createElementVNode("i",{class:"text-lg cursor-pointer ri-indeterminate-circle-line text-color-danger",onClick:he=>le(fe.nanoid)},null,8,_hoisted_12$5)]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElFormItem),{prop:"modelValue."+ve+".attributeCode",rules:vue.unref(ne).attributeCode},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElInput),{modelValue:fe.attributeCode,"onUpdate:modelValue":he=>fe.attributeCode=he,maxlength:"30",showWordLimit:"",placeholder:"字段名称"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop","rules"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElFormItem),{prop:"modelValue."+ve+".attributeComment",rules:vue.unref(ne).attributeComment},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElInput),{modelValue:fe.attributeComment,"onUpdate:modelValue":he=>fe.attributeComment=he,maxlength:"30",showWordLimit:"",placeholder:"字段描述"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop","rules"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElFormItem),{prop:"modelValue."+ve+".mapCode",rules:vue.unref(ne).mapCode},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElInput),{modelValue:fe.mapCode,"onUpdate:modelValue":he=>fe.mapCode=he,maxlength:"30",showWordLimit:"",placeholder:"映射字段"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop","rules"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElFormItem),{prop:"modelValue."+ve+".dataType",rules:vue.unref(ne).dataType},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElSelect),{modelValue:fe.dataType,"onUpdate:modelValue":he=>fe.dataType=he,placeholder:"数据类型",style:{width:"120px"},teleported:!1,onChange:()=>re(fe)},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(commonDataType),he=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{key:he.value,label:he.label,value:he.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]),_:2},1032,["prop","rules"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElFormItem),{prop:"modelValue."+ve+".dataLength",rules:vue.unref(ne).dataLength},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElInputNumber),{min:0,max:2048,"value-on-clear":0,"controls-position":"right",modelValue:fe.dataLength,"onUpdate:modelValue":he=>fe.dataLength=he,disabled:["autoIncrement","date","time","datetime","int","bigint","double","text"].includes(fe.dataType),placeholder:"长度",style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:2},1032,["prop","rules"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElFormItem),{prop:"modelValue."+ve+".dataScale",rules:vue.unref(ne).dataScale},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElInputNumber),{modelValue:fe.dataScale,"onUpdate:modelValue":he=>fe.dataScale=he,min:0,max:2048,"value-on-clear":0,"controls-position":"right",disabled:!["decimal"].includes(fe.dataType),placeholder:"标度",style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:2},1032,["prop","rules"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElSwitch),{modelValue:fe.primaryKey,"onUpdate:modelValue":he=>fe.primaryKey=he,"inline-prompt":"","active-text":"是","inactive-text":"否","active-value":"2","inactive-value":"1",onChange:()=>oe(fe,ve)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),vue.createElementVNode("td",null,[vue.createVNode(vue.unref(elementPlus.ElSwitch),{modelValue:fe.uniqueKey,"onUpdate:modelValue":he=>fe.uniqueKey=he,"inline-prompt":"","active-text":"是","inactive-text":"否","active-value":"2","inactive-value":"1"},null,8,["modelValue","onUpdate:modelValue"])]),_hoisted_13$3]))],64))),128))])])]),_:1},8,["modelValue"])]),_:1},8,["model","rules"])],64)}}}),modelAttribute_vue_vue_type_style_index_0_scoped_d2678b69_lang="",ModelAttribute=_export_sfc$2(_sfc_main$B,[["__scopeId","data-v-d2678b69"]]),_hoisted_1$u={class:"flex items-center justify-center mb-3"},_hoisted_2$n=vue.createElementVNode("i",{class:"ri-arrow-down-s-line"},null,-1),_sfc_main$A=vue.defineComponent({__name:"model-conn",props:{permission:{default:()=>[]}},emits:["success"],setup(te,{expose:U,emit:G}){const{proxy:ee}=vue.getCurrentInstance(),{setFormValue:ne,getFormValue:re}=ee.$globalHooks.useForm(),oe=te,ie=G,le=vue.ref(!1),ae=vue.ref(null),se=vue.ref(""),ue=vue.ref([]),ce=vue.ref([]),de=vue.computed(()=>{var ge;return(ge=fe.find(me=>me.fieldName=="openForm"))==null?void 0:ge.value}),fe=vue.reactive([{name:"项目名称",type:FieldType.Select,fieldName:"projectId",value:"",required:!0,props:{url:"/api/ace-data-center/project/options",label:"label",value:"code"},disabled:!0},{name:"模型层级",type:FieldType.Select,fieldName:"modelLayer",value:"",required:!0,props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelLayer",label:"dictValue",value:"dictKey"},changeFunc:ge=>{const me=fe.find(_e=>_e.fieldName==="modelType");me.required=ge.value=="DWD",me.disabled=ge.value!="DWD"}},{name:"模型名称",type:FieldType.Text,fieldName:"modelName",value:"",required:!0},{name:"模型表名",type:FieldType.Text,fieldName:"modelCode",value:"",required:!0,disabled:!0},{name:"模型类型",type:FieldType.Select,fieldName:"modelType",value:"",props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelType",label:"dictValue",value:"dictKey"},disabled:!0},{name:"标签",type:FieldType.Text,fieldName:"tags",value:""},{name:"分区字段",type:FieldType.Text,fieldName:"partitionColumn",value:""},{name:"模型描述",type:FieldType.Textarea,fieldName:"modelDesc",value:""},{name:"表单录入数据",type:FieldType.Radio,fieldName:"openForm",value:"",dict:"openForm",defVal:"1",required:!0}]),ve=()=>{le.value=!0,se.value="",ue.value=[],ce.value=[{nanoid:nanoid(),dataScale:0,dataLength:0}],oe.permission.includes("DATA_FROM_FORM")||fe.splice(fe.findIndex(ge=>ge.fieldName=="openForm"),1),ne({modelLayer:"ODS",projectId:ee.$baseGetCurrentProjectId()},fe),ee.$baseHttp.get(`/api/ace-data-center/data-source/listTableDetailByProjectId/${ee.$baseGetCurrentProjectId()}`).then(ge=>{ue.value=ge.data.filter(me=>!me.tableCode.startsWith("ods_")&&!me.tableCode.startsWith("dwd_"))})},he=async ge=>{var _e;ce.value=[];const me=await ee.$baseHttp.get("/api/ace-data-center/model/projectIdToModels",{params:{tableCodes:ge,projectId:ee.$baseGetCurrentProjectId()},headers:{loading:!0}});me&&(ne({...me.data[0],modelLayer:"ODS",projectId:ee.$baseGetCurrentProjectId()},fe),ce.value=(((_e=me.data[0])==null?void 0:_e.listModelAttribute)??[]).map(be=>({...be,dataScale:be.dataScale||0,dataLength:be.dataLength||0,nanoid:nanoid()})))},pe=async()=>{var ye;const{params:ge,error:me}=re(fe);if(me.length>0||!await((ye=vue.unref(ae))==null?void 0:ye.validate()))return;const be=vue.unref(ae).isRepeat();if(be!==""){ee.$baseAlert({content:be});return}ee.$baseConfirm({content:"是否立即执行?",callConfirm:async()=>{await ee.$baseHttp.post("/api/ace-data-center/model/saveModelDetail",{...ge,projectId:String(ee.$baseGetCurrentProjectId()),listModelAttribute:vue.unref(ce)})&&(le.value=!1,ee.$message.success("操作成功"),ie("success"))}})};return U({init:ve}),(ge,me)=>{const _e=vue.resolveComponent("AppForm"),be=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock(be,{modelValue:vue.unref(le),"onUpdate:modelValue":me[2]||(me[2]=ye=>vue.isRef(le)?le.value=ye:null),title:"数据源导入模型",size:"100%"},{footer:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",type:"primary",onClick:pe},{default:vue.withCtx(()=>[vue.createTextVNode("提交")]),_:1}),vue.renderSlot(ge.$slots,"formFooter"),vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",onClick:me[1]||(me[1]=ye=>le.value=!1)},{default:vue.withCtx(()=>[vue.createTextVNode("取消")]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElContainer),{class:"h-full overflow-hidden"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElAside),{class:"pr-5 mr-5"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$u,[vue.createVNode(vue.unref(elementPlus.ElDropdown),{onCommand:he},{dropdown:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElDropdownMenu),null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(ue),ye=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElDropdownItem),{key:ye.tableCode,command:ye.tableCode},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(ye.tableComment||ye.tableCode),1)]),_:2},1032,["command"]))),128))]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary",size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(" 请选择模型 "),_hoisted_2$n]),_:1})]),_:1})]),vue.createVNode(_e,{form:vue.unref(fe)},null,8,["form"])]),_:1}),vue.createVNode(vue.unref(elementPlus.ElMain),null,{default:vue.withCtx(()=>[vue.createVNode(ModelAttribute,{ref_key:"modelAttributeRef",ref:ae,modelValue:vue.unref(ce),"onUpdate:modelValue":me[0]||(me[0]=ye=>vue.isRef(ce)?ce.value=ye:null),"is-required":vue.unref(de)},null,8,["modelValue","is-required"])]),_:1})]),_:1})]),_:3},8,["modelValue"])}}}),defaultAttributeCode=["project_id","create_time","create_user","create_dept","tag"],pushRequiredAttr=(te,U=!0)=>te,_hoisted_1$t={key:0,class:"flex items-center justify-center mt-3 mb-3"},_hoisted_2$m=vue.createElementVNode("i",{class:"ri-arrow-down-s-line"},null,-1),_sfc_main$z=vue.defineComponent({__name:"model-sql",props:{permission:{default:()=>[]}},emits:["success"],setup(te,{expose:U,emit:G}){const{proxy:ee}=vue.getCurrentInstance(),{setFormValue:ne,getFormValue:re}=ee.$globalHooks.useForm(),oe=te,ie=G,le=vue.ref(!1),ae=vue.ref(null),se=vue.ref(""),ue=vue.ref([]),ce=vue.ref(""),de=vue.ref([]),fe=vue.reactive([{name:"数据源类型",type:FieldType.Select,fieldName:"storeType",value:"",required:!0,options:[{label:"Mysql",value:"mysql"},{label:"Clickhouse",value:"clickhouse"},{label:"PostgreSql",value:"postgre"}]},{name:"上传sql",type:FieldType.Slot,fieldName:"file",required:!0,value:""}]),ve=vue.computed(()=>fe.find(ye=>ye.fieldName==="storeType")),he=vue.computed(()=>{var ye;return(ye=pe.find(xe=>xe.fieldName=="openForm"))==null?void 0:ye.value}),pe=vue.reactive([{name:"项目名称",type:FieldType.Select,fieldName:"projectId",value:"",required:!0,props:{url:"/api/ace-data-center/project/options",label:"label",value:"code"},disabled:!0},{name:"模型层级",type:FieldType.Select,fieldName:"modelLayer",value:"",required:!0,props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelLayer",label:"dictValue",value:"dictKey"},changeFunc:ye=>{const xe=pe.find($e=>$e.fieldName==="modelType");xe.required=ye.value=="DWD",xe.disabled=ye.value!="DWD";const Ce=`${((ye==null?void 0:ye.value)??"").toLocaleLowerCase()}_`;ce.value=Ce,pe.find($e=>$e.fieldName==="modelCode").prepend=vue.h("div",{},Ce)}},{name:"模型名称",type:FieldType.Text,fieldName:"modelName",value:"",required:!0},{name:"模型表名",type:FieldType.Text,fieldName:"modelCode",value:"",required:!0},{name:"模型类型",type:FieldType.Select,fieldName:"modelType",value:"",props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelType",label:"dictValue",value:"dictKey"},disabled:!0},{name:"标签",type:FieldType.Text,fieldName:"tags",value:""},{name:"分区字段",type:FieldType.Text,fieldName:"partitionColumn",value:""},{name:"模型描述",type:FieldType.Textarea,fieldName:"modelDesc",value:""},{name:"表单录入数据",type:FieldType.Radio,fieldName:"openForm",value:"",dict:"openForm",defVal:"1",required:!0}]),ge=()=>{le.value=!0,se.value="",ue.value=[],de.value=[{nanoid:nanoid(),dataScale:0,dataLength:0}],oe.permission.includes("DATA_FROM_FORM")||pe.splice(pe.findIndex(ye=>ye.fieldName=="openForm"),1),ne({},fe),ne({projectId:ee.$baseGetCurrentProjectId()},pe)},me=async ye=>{var Ee;if(!(ye.file.name.substring(ye.file.name.lastIndexOf(".")+1)==="sql")){ee.$message.error("上传文件只能为SQL文件!");return}const $e=new FormData;$e.append("file",ye.file),$e.append("storeType",vue.unref(ve).value);const we=await ee.$baseHttp.post("/api/ace-data-center/model/uploadSqlFileToModel",$e,{headers:{"Content-Type":"multipart/form-data",loading:!0}});we&&(ue.value=we.data,ne({...we.data[0],projectId:ee.$baseGetCurrentProjectId()},pe),de.value=(((Ee=we.data[0])==null?void 0:Ee.listModelAttribute)??[]).map(Ve=>({...Ve,dataScale:Ve.dataScale||0,dataLength:Ve.dataLength||0,nanoid:nanoid()})))},_e=async ye=>{const xe=vue.unref(ue).find(Ce=>Ce.modelCode==ye);ne({...xe??{},projectId:ee.$baseGetCurrentProjectId()},pe),de.value=((xe==null?void 0:xe.listModelAttribute)??[]).map(Ce=>({...Ce,dataScale:Ce.dataScale??0,nanoid:nanoid()}))},be=async()=>{var we;const{params:ye,error:xe}=re(pe);if(xe.length>0||!await((we=vue.unref(ae))==null?void 0:we.validate()))return;const $e=vue.unref(ae).isRepeat();if($e!==""){ee.$baseAlert({content:$e});return}ee.$baseConfirm({content:"是否立即执行?",callConfirm:async()=>{await ee.$baseHttp.post("/api/ace-data-center/model/saveModelDetail",{...ye,modelCode:vue.unref(ce)+ye.modelCode,projectId:String(ee.$baseGetCurrentProjectId()),listModelAttribute:pushRequiredAttr(vue.unref(de),ye.modelLayer=="ODS")})&&(le.value=!1,ee.$message.success("操作成功"),ie("success"))}})};return U({init:ge}),(ye,xe)=>{const Ce=vue.resolveComponent("AppForm"),$e=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock($e,{modelValue:vue.unref(le),"onUpdate:modelValue":xe[2]||(xe[2]=we=>vue.isRef(le)?le.value=we:null),title:"SQL新建模型",size:"100%"},{footer:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",type:"primary",onClick:be},{default:vue.withCtx(()=>[vue.createTextVNode("提交")]),_:1}),vue.renderSlot(ye.$slots,"formFooter"),vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",onClick:xe[1]||(xe[1]=we=>le.value=!1)},{default:vue.withCtx(()=>[vue.createTextVNode("取消")]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElContainer),{class:"h-full overflow-hidden"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElAside),{class:"pr-5 mr-5"},{default:vue.withCtx(()=>[vue.createVNode(Ce,{form:vue.unref(fe)},{file:vue.withCtx(()=>{var we;return[vue.createVNode(vue.unref(elementPlus.ElUpload),{disabled:!((we=vue.unref(ve))!=null&&we.value),style:{width:"100%"},"http-request":me,multiple:!1,accept:".sql","show-file-list":!1},{default:vue.withCtx(()=>{var Ee;return[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary",disabled:!((Ee=vue.unref(ve))!=null&&Ee.value)},{default:vue.withCtx(()=>[vue.createTextVNode("点击上传")]),_:1},8,["disabled"])]}),_:1},8,["disabled"]),vue.unref(ue).length?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$t,[vue.createVNode(vue.unref(elementPlus.ElDropdown),{onCommand:_e},{dropdown:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElDropdownMenu),null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(ue),Ee=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElDropdownItem),{key:Ee.modelName,command:Ee.modelCode},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(Ee.modelName),1)]),_:2},1032,["command"]))),128))]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary",size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(" 请选择模型 "),_hoisted_2$m]),_:1})]),_:1})])):vue.createCommentVNode("",!0)]}),_:1},8,["form"]),vue.createVNode(Ce,{form:vue.unref(pe)},null,8,["form"])]),_:1}),vue.createVNode(vue.unref(elementPlus.ElMain),null,{default:vue.withCtx(()=>[vue.createVNode(ModelAttribute,{ref_key:"modelAttributeRef",ref:ae,modelValue:vue.unref(de),"onUpdate:modelValue":xe[0]||(xe[0]=we=>vue.isRef(de)?de.value=we:null),"is-required":vue.unref(he)},null,8,["modelValue","is-required"])]),_:1})]),_:1})]),_:3},8,["modelValue"])}}}),_hoisted_1$s={key:0,class:"mb-2.5"},_hoisted_2$l=["onClick"],_hoisted_3$j=vue.createElementVNode("i",{class:"mr-1 ri-add-circle-line"},null,-1),_sfc_main$y=vue.defineComponent({__name:"model-normal",props:{permission:{default:()=>[]}},emits:["success"],setup(te,{expose:U,emit:G}){const{proxy:ee}=vue.getCurrentInstance(),{setFormValue:ne,getFormValue:re}=ee.$globalHooks.useForm(),oe=te,ie=G,le=vue.ref(!1),ae=vue.ref(null),se=vue.ref(""),ue=vue.ref([]),ce=vue.ref(""),de=vue.ref(""),fe=vue.ref([]),ve=vue.ref([]),he=vue.computed(()=>{var ye;return(ye=pe.find(xe=>xe.fieldName=="openForm"))==null?void 0:ye.value}),pe=vue.reactive([{name:"项目名称",type:FieldType.Select,fieldName:"projectId",value:"",required:!0,props:{url:"/api/ace-data-center/project/options",label:"label",value:"code"},disabled:!0},{name:"模型层级",type:FieldType.Select,fieldName:"modelLayer",value:"",required:!0,props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelLayer",label:"dictValue",value:"dictKey"},changeFunc:ye=>{const xe=pe.find($e=>$e.fieldName==="modelType");xe.required=ye.value=="DWD",xe.disabled=ye.value!="DWD";const Ce=`${((ye==null?void 0:ye.value)??"").toLocaleLowerCase()}_`;ce.value=Ce,pe.find($e=>$e.fieldName==="modelCode").prepend=vue.h("div",{},Ce)}},{name:"模型名称",type:FieldType.Text,fieldName:"modelName",value:"",required:!0},{name:"模型表名",type:FieldType.Text,fieldName:"modelCode",value:"",required:!0},{name:"模型类型",type:FieldType.Select,fieldName:"modelType",value:"",props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelType",label:"dictValue",value:"dictKey"},disabled:!0},{name:"标签",type:FieldType.Text,fieldName:"tags",value:""},{name:"分区字段",type:FieldType.Text,fieldName:"partitionColumn",value:""},{name:"模型描述",type:FieldType.Textarea,fieldName:"modelDesc",value:""},{name:"表单录入数据",type:FieldType.Radio,fieldName:"openForm",value:"",dict:"openForm",defVal:"1",required:!0},{name:"id",type:FieldType.Text,fieldName:"id",value:"",hide:!0}]),ge=vue.ref(!0),me=ye=>{var xe,Ce;le.value=!0,se.value="",ue.value=[],ve.value=((ye==null?void 0:ye.slaveModels)??[]).map($e=>({...$e,listModelAttribute:$e.listModelAttribute.filter(we=>we.attributeComment!="外键"&&we.attributeCode!="_data_from")})),de.value="default",ge.value=!(ye!=null&&ye.parentModelId),fe.value=(ye?(ye==null?void 0:ye.listModelAttribute)??[]:[{nanoid:nanoid(),dataScale:0,dataLength:0}]).map($e=>{const we=(($e==null?void 0:$e.attributeCode)??"").split("");return $e.nanoid=nanoid(),we[0]=="_"&&($e.hide=!0),$e}),oe.permission.includes("DATA_FROM_FORM")||pe.splice(pe.findIndex($e=>$e.fieldName=="openForm"),1),((xe=ye==null?void 0:ye.modelCode)!=null&&xe.startsWith("ods_")||(Ce=ye==null?void 0:ye.modelCode)!=null&&Ce.startsWith("dwd_"))&&(ye.modelCode=ye.modelCode.substring(4,ye.modelCode.length)),ne({...ye??{},projectId:ee.$baseGetCurrentProjectId()},pe)},_e=async()=>{const{params:ye,error:xe}=re(pe);if(xe.length>0)return;let Ce=!1;for(let $e=0;$e<vue.unref(ve).length+1;$e+=1){de.value=$e==0?"default":vue.unref(ve)[$e-1].value,await new Promise(Se=>{vue.nextTick(()=>Se(!0))});const we=Array.isArray(vue.unref(ae))?vue.unref(ae)[0]:vue.unref(ae);if(!await(we==null?void 0:we.validate())){Ce=!0;break}const Ve=vue.unref(we).isRepeat();if(Ve!==""){Ce=!0,ee.$baseAlert({content:Ve});break}}Ce||ee.$baseConfirm({content:"是否立即执行?",callConfirm:async()=>{const $e=ye.id?"/api/ace-data-center/model/editModelDetail":"/api/ace-data-center/model/saveModelDetail";await ee.$baseHttp.post($e,{...ye,modelCode:vue.unref(ce)+ye.modelCode,projectId:String(ee.$baseGetCurrentProjectId()),listModelAttribute:vue.unref(fe),slaveModels:vue.unref(ve).map(Ee=>({...Ee,openForm:ye.openForm}))},{headers:{loading:!0}})&&(le.value=!1,ee.$message.success("操作成功"),ie("success"))}})},be=()=>{ee.$basePrompt({content:"模型名称",placeholder:"模型名称",inputType:"input",inputValue:"",beforeCloseFunc:async(ye,xe,Ce)=>{if(ye!="confirm"){Ce();return}const $e={modelName:xe.inputValue,value:nanoid(),listModelAttribute:[{nanoid:nanoid(),dataScale:0,dataLength:0}]};ve.value.push($e),de.value=$e.value,Ce()}})};return U({init:me}),(ye,xe)=>{const Ce=vue.resolveComponent("AppForm"),$e=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock($e,{modelValue:vue.unref(le),"onUpdate:modelValue":xe[3]||(xe[3]=we=>vue.isRef(le)?le.value=we:null),title:"手动新增模型",size:"100%"},{footer:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",type:"primary",onClick:_e},{default:vue.withCtx(()=>[vue.createTextVNode("提交")]),_:1}),vue.renderSlot(ye.$slots,"formFooter"),vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",onClick:xe[2]||(xe[2]=we=>le.value=!1)},{default:vue.withCtx(()=>[vue.createTextVNode("取消")]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElContainer),{class:"h-full overflow-hidden"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElAside),{class:"pr-5 mr-5"},{default:vue.withCtx(()=>[vue.createVNode(Ce,{form:vue.unref(pe)},null,8,["form"])]),_:1}),vue.createVNode(vue.unref(elementPlus.ElMain),null,{default:vue.withCtx(()=>[vue.unref(ge)&&oe.permission.includes("MASTER_SLAVE_SAVE")?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$s,[vue.createVNode(vue.unref(elementPlus.ElButtonGroup),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{type:vue.unref(de)=="default"?"primary":"",onClick:xe[0]||(xe[0]=we=>de.value="default")},{default:vue.withCtx(()=>[vue.createTextVNode(" 主表 ")]),_:1},8,["type"]),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(ve),(we,Ee)=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElButton),{type:vue.unref(de)==we.value?"primary":"",onClick:Ve=>de.value=we.value},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(we.modelName)+" ",1),we.value!=vue.unref(de)?(vue.openBlock(),vue.createElementBlock("i",{key:0,class:"ml-1 ri-close-circle-line",onClick:vue.withModifiers(Ve=>vue.unref(ve).splice(Ee,1),["stop"])},null,8,_hoisted_2$l)):vue.createCommentVNode("",!0)]),_:2},1032,["type","onClick"]))),256))]),_:1}),vue.createVNode(vue.unref(elementPlus.ElButton),{type:"warning",class:"ml-2.5",onClick:be},{default:vue.withCtx(()=>[_hoisted_3$j,vue.createTextVNode(" 增加从表 ")]),_:1})])):vue.createCommentVNode("",!0),vue.unref(de)=="default"?(vue.openBlock(),vue.createBlock(ModelAttribute,{key:1,ref_key:"modelAttributeRef",ref:ae,modelValue:vue.unref(fe),"onUpdate:modelValue":xe[1]||(xe[1]=we=>vue.isRef(fe)?fe.value=we:null),"is-required":vue.unref(he)},null,8,["modelValue","is-required"])):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(ve),(we,Ee)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.unref(de)==we.value?(vue.openBlock(),vue.createBlock(ModelAttribute,{key:0,ref_for:!0,ref_key:"modelAttributeRef",ref:ae,modelValue:we.listModelAttribute,"onUpdate:modelValue":Ve=>we.listModelAttribute=Ve,"is-required":vue.unref(he)},null,8,["modelValue","onUpdate:modelValue","is-required"])):vue.createCommentVNode("",!0)],64))),256))]),_:1})]),_:1})]),_:3},8,["modelValue"])}}}),_sfc_main$x=vue.defineComponent({__name:"model-excel",props:{permission:{default:()=>[]}},emits:["success"],setup(te,{expose:U,emit:G}){const{proxy:ee}=vue.getCurrentInstance(),{setFormValue:ne,getFormValue:re}=ee.$globalHooks.useForm(),oe=te,ie=G,le=vue.ref(!1),ae=vue.ref(null),se=vue.ref(""),ue=vue.ref([]),ce=vue.reactive([{name:"上传excel",type:FieldType.Slot,fieldName:"file",required:!0,value:""}]),de=vue.computed(()=>{var ge;return(ge=fe.find(me=>me.fieldName=="openForm"))==null?void 0:ge.value}),fe=vue.reactive([{name:"项目名称",type:FieldType.Select,fieldName:"projectId",value:"",required:!0,props:{url:"/api/ace-data-center/project/options",label:"label",value:"code"},disabled:!0},{name:"模型层级",type:FieldType.Select,fieldName:"modelLayer",value:"",required:!0,props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelLayer",label:"dictValue",value:"dictKey"},disabled:!0,changeFunc:ge=>{const me=fe.find(be=>be.fieldName==="modelType");me.required=ge.value=="DWD",me.disabled=ge.value!="DWD";const _e=`${((ge==null?void 0:ge.value)??"").toLocaleLowerCase()}_`;se.value=_e,fe.find(be=>be.fieldName==="modelCode").prepend=vue.h("div",{},_e)}},{name:"模型名称",type:FieldType.Text,fieldName:"modelName",value:"",required:!0},{name:"模型表名",type:FieldType.Text,fieldName:"modelCode",value:"",required:!0},{name:"模型类型",type:FieldType.Select,fieldName:"modelType",value:"",props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelType",label:"dictValue",value:"dictKey"},hide:!0},{name:"标签",type:FieldType.Text,fieldName:"tags",value:""},{name:"分区字段",type:FieldType.Text,fieldName:"partitionColumn",value:""},{name:"模型描述",type:FieldType.Textarea,fieldName:"modelDesc",value:""},{name:"表单录入数据",type:FieldType.Radio,fieldName:"openForm",value:"",dict:"openForm",defVal:"1",required:!0},{name:"modelTemplateFileUrl",type:FieldType.Text,fieldName:"modelTemplateFileUrl",value:"",hide:!0},{name:"modelTemplateFileName",type:FieldType.Text,fieldName:"modelTemplateFileName",value:"",hide:!0},{name:"modelTemplateFileHeadIndex",type:FieldType.Text,fieldName:"modelTemplateFileHeadIndex",value:"",hide:!0}]),ve=()=>{le.value=!0,ue.value=[{nanoid:nanoid(),dataScale:0,dataLength:0}],oe.permission.includes("DATA_FROM_FORM")||fe.splice(fe.findIndex(ge=>ge.fieldName=="openForm"),1),ne({},ce),ne({modelLayer:"ODS",projectId:ee.$baseGetCurrentProjectId()},fe)},he=async ge=>{var be;const me=new FormData;me.append("file",ge.file);const _e=await ee.$baseHttp.post("/api/ace-data-center/auto-import-excel/fileParser2Model",me,{headers:{"Content-Type":"multipart/form-data",loading:!0}});_e&&(ne({modelLayer:"ODS",modelName:_e.data.filename,modelCode:_e.data.filenamePinyin,modelTemplateFileUrl:_e.data.link,modelTemplateFileName:_e.data.originalName,modelTemplateFileHeadIndex:_e.data.headIndex,projectId:ee.$baseGetCurrentProjectId()},fe),ue.value=(((be=_e.data)==null?void 0:be.list)??[]).map(ye=>({...ye,dataScale:ye.dataScale||0,dataLength:ye.dataLength||0,nanoid:nanoid()})))},pe=async()=>{var ye;const{params:ge,error:me}=re(fe);if(me.length>0||!await((ye=vue.unref(ae))==null?void 0:ye.validate()))return;const be=vue.unref(ae).isRepeat();if(be!==""){ee.$baseAlert({content:be});return}ee.$baseConfirm({content:"是否立即执行?",callConfirm:async()=>{await ee.$baseHttp.post("/api/ace-data-center/model/saveModelDetail",{...ge,modelCode:vue.unref(se)+ge.modelCode,projectId:String(ee.$baseGetCurrentProjectId()),listModelAttribute:pushRequiredAttr(vue.unref(ue),ge.modelLayer=="ODS")},{headers:{loading:!0}})&&(le.value=!1,ee.$message.success("操作成功"),ie("success"))}})};return U({init:ve}),(ge,me)=>{const _e=vue.resolveComponent("AppForm"),be=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock(be,{modelValue:vue.unref(le),"onUpdate:modelValue":me[2]||(me[2]=ye=>vue.isRef(le)?le.value=ye:null),title:"EXCEL新建模型",size:"100%"},{footer:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",type:"primary",onClick:pe},{default:vue.withCtx(()=>[vue.createTextVNode("提交")]),_:1}),vue.renderSlot(ge.$slots,"formFooter"),vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",onClick:me[1]||(me[1]=ye=>le.value=!1)},{default:vue.withCtx(()=>[vue.createTextVNode("取消")]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElContainer),{class:"h-full overflow-hidden"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElAside),{class:"pr-5 mr-5"},{default:vue.withCtx(()=>[vue.createVNode(_e,{form:vue.unref(ce)},{file:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElUpload),{style:{width:"100%"},"http-request":he,multiple:!1,accept:".xls,.xlsx","show-file-list":!1},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary"},{default:vue.withCtx(()=>[vue.createTextVNode("点击上传")]),_:1})]),_:1})]),_:1},8,["form"]),vue.createVNode(_e,{form:vue.unref(fe)},null,8,["form"])]),_:1}),vue.createVNode(vue.unref(elementPlus.ElMain),null,{default:vue.withCtx(()=>[vue.createVNode(ModelAttribute,{ref_key:"modelAttributeRef",ref:ae,modelValue:vue.unref(ue),"onUpdate:modelValue":me[0]||(me[0]=ye=>vue.isRef(ue)?ue.value=ye:null),"is-required":vue.unref(de)},null,8,["modelValue","is-required"])]),_:1})]),_:1})]),_:3},8,["modelValue"])}}}),_hoisted_1$r={class:"flex flex-1 overflow-hidden"},_hoisted_2$k={class:"mt-4"},_sfc_main$w=vue.defineComponent({__name:"model-extract",emits:["success"],setup(te,{expose:U,emit:G}){const{proxy:ee}=vue.getCurrentInstance(),{setFormValue:ne,getFormValue:re}=ee.$globalHooks.useForm(),{allModel:oe,allModelAttribute:ie}=fetch$1(ee).model,le=G,ae=vue.ref(!1),se=vue.ref(null),ue=vue.ref(""),ce=vue.ref([]),de=vue.reactive({odsList:[],odsAttributeList:[],odsValue:""}),fe=vue.reactive([{name:"项目名称",type:FieldType.Select,fieldName:"projectId",value:"",required:!0,props:{url:"/api/ace-data-center/project/options",label:"label",value:"code"},disabled:!0},{name:"模型层级",type:FieldType.Select,fieldName:"modelLayer",value:"",required:!0,disabled:!0,props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelLayer",label:"dictValue",value:"dictKey"},changeFunc:be=>{const ye=fe.find(Ce=>Ce.fieldName==="modelType");ye.required=be.value=="DWD",ye.disabled=be.value!="DWD";const xe=`${((be==null?void 0:be.value)??"").toLocaleLowerCase()}_`;ue.value=xe,fe.find(Ce=>Ce.fieldName==="modelCode").prepend=vue.h("div",{},xe)}},{name:"模型名称",type:FieldType.Text,fieldName:"modelName",value:"",required:!0},{name:"模型表名",type:FieldType.Text,fieldName:"modelCode",value:"",required:!0},{name:"模型类型",type:FieldType.Select,fieldName:"modelType",value:"",props:{url:"/api/ace-api/blade-system/dict-biz/dictionary?code=modelType",label:"dictValue",value:"dictKey"}}]),ve=vue.computed(()=>de.odsList.find(be=>be.id==de.odsValue).modelCode),he=()=>{ae.value=!0,ce.value=[],ne({modelLayer:"DWD",projectId:ee.$baseGetCurrentProjectId()},fe),oe({modelLayer:"ODS"}).then(be=>{de.odsList=be.data})},pe=async be=>{const ye=await ie({modelId:be});ye&&(de.odsAttributeList=ye.data.filter(xe=>!defaultAttributeCode.includes(xe.attributeCode)),vue.nextTick(()=>{de.odsAttributeList.forEach(xe=>{vue.unref(ce).some(Ce=>Ce.sourceModelName==vue.unref(ve)&&Ce.sourceColumnName==xe.attributeCode)&&ee.$refs.odsAttributeListRef.toggleRowSelection(xe,!0)})}))},ge=(be,ye)=>{if(ye){const xe=be.length&&be.indexOf(ye)!==-1;me(xe?"add":"remove",ye);return}be.length?be.forEach(xe=>{me("add",xe)}):ce.value=ce.value.filter(xe=>xe.sourceModelName!=vue.unref(ve))},me=(be,ye)=>{be==="add"&&(vue.unref(ce).find(xe=>xe.sourceModelName==vue.unref(ve)&&xe.sourceColumnName==ye.attributeCode)||ce.value.push({attributeCode:ye.attributeCode,attributeComment:ye.attributeComment,mapCode:ye.attributeCode,dataType:ye.dataType,dataLength:ye.dataLength,dataScale:ye.dataScale,primaryKey:"1",sourceModelName:vue.unref(ve),sourceColumnName:ye.attributeCode,nanoid:nanoid()})),be==="remove"&&(ce.value=ce.value.filter(xe=>xe.sourceModelName!==ye.odsName&&xe.sourceColumnName!=ye.attributeCode))},_e=async()=>{var $e;const{params:be,error:ye}=re(fe);if(ye.length>0||!await(($e=vue.unref(se))==null?void 0:$e.validate()))return;const Ce=vue.unref(se).isRepeat();if(Ce!==""){ee.$baseAlert({content:Ce});return}ee.$baseConfirm({content:"是否立即执行?",callConfirm:async()=>{const we="/api/ace-data-center/model/saveModelDetail";await ee.$baseHttp.post(we,{...be,modelCode:vue.unref(ue)+be.modelCode,projectId:String(ee.$baseGetCurrentProjectId()),listModelAttribute:pushRequiredAttr(vue.unref(ce),be.modelLayer=="ODS")},{headers:{loading:!0}})&&(ae.value=!1,ee.$message.success("操作成功"),le("success"))}})};return U({init:he}),(be,ye)=>{const xe=vue.resolveComponent("aceHeader"),Ce=vue.resolveComponent("AppForm"),$e=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock($e,{modelValue:vue.unref(ae),"onUpdate:modelValue":ye[3]||(ye[3]=we=>vue.isRef(ae)?ae.value=we:null),title:"ODS抽取模型",size:"100%"},{footer:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",type:"primary",onClick:_e},{default:vue.withCtx(()=>[vue.createTextVNode("提交")]),_:1}),vue.renderSlot(be.$slots,"formFooter"),vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",onClick:ye[2]||(ye[2]=we=>ae.value=!1)},{default:vue.withCtx(()=>[vue.createTextVNode("取消")]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElContainer),{class:"h-full overflow-hidden"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElAside),{class:"flex flex-col pr-5 mr-5",style:{width:"320px",overflow:"hidden"}},{default:vue.withCtx(()=>[vue.createVNode(xe,{title:"ODS源表"}),vue.createVNode(vue.unref(elementPlus.ElSelect),{modelValue:vue.unref(de).odsValue,"onUpdate:modelValue":ye[0]||(ye[0]=we=>vue.unref(de).odsValue=we),onChange:pe,class:"w-full mt-2 mb-2",placeholder:"请选择模型"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(de).odsList,we=>(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElOption),{key:we.id,label:`${we.modelName}:${we.modelCode}`,value:we.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),vue.createElementVNode("div",_hoisted_1$r,[vue.createVNode(vue.unref(elementPlus.ElTable),{ref:"odsAttributeListRef",data:vue.unref(de).odsAttributeList,onSelect:ge,onSelectAll:ge,height:"100%"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElTableColumn),{type:"selection",width:"30"}),vue.createVNode(vue.unref(elementPlus.ElTableColumn),{prop:"attributeCode",label:"字段","show-overflow-tooltip":""}),vue.createVNode(vue.unref(elementPlus.ElTableColumn),{prop:"attributeComment",label:"名称","show-overflow-tooltip":""}),vue.createVNode(vue.unref(elementPlus.ElTableColumn),{prop:"dataType",label:"类型"})]),_:1},8,["data"])])]),_:1}),vue.createVNode(vue.unref(elementPlus.ElMain),null,{default:vue.withCtx(()=>[vue.createVNode(xe,{title:"DWD目标模型"}),vue.createElementVNode("div",_hoisted_2$k,[vue.createVNode(Ce,{form:vue.unref(fe),col:2},null,8,["form"])]),vue.createVNode(ModelAttribute,{ref_key:"modelAttributeRef",ref:se,modelValue:vue.unref(ce),"onUpdate:modelValue":ye[1]||(ye[1]=we=>vue.isRef(ce)?ce.value=we:null)},null,8,["modelValue"])]),_:1})]),_:1})]),_:3},8,["modelValue"])}}}),_sfc_main$v=vue.defineComponent({__name:"model-tag-edit",props:{permission:{default:()=>[]}},emits:["success"],setup(te,{expose:U,emit:G}){const{proxy:ee}=vue.getCurrentInstance(),{setFormValue:ne,getFormValue:re}=ee.$globalHooks.useForm(),oe=te,ie=G,le=vue.ref(!1),ae=ce=>{se.value=[{name:"模型名称",type:FieldType.Text,fieldName:"modelName",value:"",required:!0},{name:"标签",type:FieldType.Text,fieldName:"tags",value:"",placeholder:"多个标签用英文逗号分割",required:!0},{name:"表单录入数据",type:FieldType.Radio,fieldName:"openForm",value:"",dict:"openForm",defVal:"1",required:!0},{name:"projectId",type:FieldType.Text,fieldName:"projectId",value:"",hide:!0},{name:"编号",type:FieldType.Text,fieldName:"id",value:"",hide:!0}],(!oe.permission.includes("DATA_FROM_FORM")||ce.modelLayer=="ODSVIEW")&&vue.unref(se).splice(vue.unref(se).findIndex(de=>de.fieldName=="openForm"),1),ne(ce,se.value),le.value=!0},se=vue.ref([]),ue=async ce=>{switch(ce){case"submit":{const{params:de,error:fe}=re(vue.unref(se));if(fe.length>0||!await ee.$baseHttp.post("/api/ace-data-center/model/submit",de))return;le.value=!1,ee.$message.success("操作成功"),ie("success")}break}};return U({init:ae}),(ce,de)=>{const fe=vue.resolveComponent("AppForm"),ve=vue.resolveComponent("AppDialog");return vue.openBlock(),vue.createBlock(ve,{modelValue:vue.unref(le),"onUpdate:modelValue":de[2]||(de[2]=he=>vue.isRef(le)?le.value=he:null),title:"编辑模型",size:500},{footer:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary",onClick:de[0]||(de[0]=he=>ue("submit"))},{default:vue.withCtx(()=>[vue.createTextVNode("提交")]),_:1}),vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",onClick:de[1]||(de[1]=he=>le.value=!1)},{default:vue.withCtx(()=>[vue.createTextVNode("取消")]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(fe,{form:vue.unref(se)},null,8,["form"])]),_:1},8,["modelValue"])}}}),_hoisted_1$q={key:1},_hoisted_2$j=vue.createElementVNode("i",{class:"mr-2 ri-delete-bin-line"},null,-1),_hoisted_3$i={key:0},_hoisted_4$i=vue.createElementVNode("span",{class:"text-color-danger"},"表格标题栏不匹配,",-1),_hoisted_5$e=vue.createElementVNode("span",{class:"text-color-danger"},"异常",-1),_sfc_main$u=vue.defineComponent({__name:"model-file-cache-list",props:{modelId:{default:""}},emits:["success"],setup(te,{expose:U,emit:G}){const ee=te,{proxy:ne}=vue.getCurrentInstance(),{listSimpleColumn:re}=fetch$1(ne),oe=vue.ref(!1),ie=vue.ref(!1),le=vue.ref(null),ae=vue.ref(null),se=vue.ref([]),ue=vue.ref([]),ce=vue.ref(""),de=G,fe=vue.reactive([{name:"状态",type:FieldType.Select,fieldName:"extractStatus",value:"",fieldType:FieldRenderType.String,dict:"extractStatus"}]),ve=vue.ref([{label:"日期",prop:"createTime"},{label:"文件名",prop:"fileName"},{label:"抽取状态",prop:"extractStatus",dict:"extractStatus"},{label:"错误信息",prop:"errorMsg",slot:!0},{label:"操作",prop:"action",slot:!0,fixed:"right"}]),he=async()=>{ce.value=`/api/ace-data-center/file-extract-cache/list?projectId=${ne.$baseGetCurrentProjectId()}&modelId=${ee.modelId}`,oe.value=!0},pe=async(ge,me)=>{var _e;switch(ge){case"delete":ne.$baseConfirm({content:"是否确认删除?",callConfirm:async()=>{await ne.$baseHttp.post(`/api/ace-data-center/file-extract-cache/remove?ids=${me.id}`,{},{headers:{loading:!0}})&&(ne.$message.success("操作成功"),vue.unref(le).getData(),de("success"))}});break;case"viewError":ae.value=JSON.parse(me.errorMsg),se.value=(_e=vue.unref(ae))==null?void 0:_e.errorValidateData;const be=await re(ee.modelId);be.data&&be.data.unshift({label:"异常情况",prop:"异常情况",mapLabel:"异常情况"}),ue.value=(be.data??[]).map(ye=>({...ye,prop:ye.mapLabel})),ie.value=!0;break}};return U({init:he}),(ge,me)=>{const _e=vue.resolveComponent("AppList"),be=vue.resolveComponent("AppTable"),ye=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock(ye,{modelValue:vue.unref(oe),"onUpdate:modelValue":me[1]||(me[1]=xe=>vue.isRef(oe)?oe.value=xe:null),title:"抽取日志",size:"90%"},{default:vue.withCtx(()=>[vue.unref(ce)?(vue.openBlock(),vue.createBlock(_e,{key:0,searchFormRes:{extractStatus:"00"},searchForm:vue.unref(fe),tableData:vue.unref(ve),url:vue.unref(ce),ref_key:"appList",ref:le},{errorMsg:vue.withCtx(({row:xe})=>[xe.extractStatus==="10"?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElLink),{key:0,type:"primary",onClick:Ce=>pe("viewError",xe)},{default:vue.withCtx(()=>[vue.createTextVNode(" 查看错误信息 ")]),_:2},1032,["onClick"])):(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$q,"-"))]),action:vue.withCtx(({row:xe})=>[vue.createVNode(vue.unref(elementPlus.ElLink),{type:"danger",onClick:Ce=>pe("delete",xe)},{default:vue.withCtx(()=>[_hoisted_2$j,vue.createTextVNode(" 删除 ")]),_:2},1032,["onClick"])]),_:1},8,["searchForm","tableData","url"])):vue.createCommentVNode("",!0),vue.createVNode(ye,{modelValue:vue.unref(ie),"onUpdate:modelValue":me[0]||(me[0]=xe=>vue.isRef(ie)?ie.value=xe:null),title:"错误信息",size:"90%"},{default:vue.withCtx(()=>[vue.unref(ae)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$i,[vue.createVNode(vue.unref(elementPlus.ElAlert),{title:"温馨提醒",type:vue.unref(ae).isExtractSuccess?"success":"warning","show-icon":"",closable:!1},{default:vue.withCtx(()=>[vue.unref(ae).isTitleCheckSuccess===!1?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[_hoisted_4$i,vue.createTextVNode(" 请检查Excel文件数据! ")],64)):vue.unref(ae).isValidateSuccess?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[vue.createTextVNode(" 本批数据共有"+vue.toDisplayString(vue.unref(ae).dataTotalNum)+"条,全部通过校验。 ",1)],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createTextVNode(" 本批数据共有"+vue.toDisplayString(vue.unref(ae).dataTotalNum)+"条, 已校验"+vue.toDisplayString(vue.unref(ae).validateSuccessNum+vue.unref(ae).validateFailNum)+"条, "+vue.toDisplayString(vue.unref(ae).validateFailNum)+"条 ",1),_hoisted_5$e,vue.createTextVNode(" 当前异常率约为"+vue.toDisplayString(Number(vue.unref(ae).validateFailNum/(vue.unref(ae).validateSuccessNum+vue.unref(ae).validateFailNum)*100).toFixed(2))+"% ",1)],64))]),_:1},8,["type"])])):vue.createCommentVNode("",!0),vue.unref(ve).length>0?(vue.openBlock(),vue.createBlock(be,{key:1,class:"mt-4",list:vue.unref(se),tableData:vue.unref(ue),loading:!1},null,8,["list","tableData"])):vue.createCommentVNode("",!0)]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])}}}),_hoisted_1$p=vue.createElementVNode("i",{class:"mr-2 ri-exchange-line"},null,-1),_hoisted_2$i=vue.createElementVNode("i",{class:"mr-2 ri-refresh-line"},null,-1),_hoisted_3$h=vue.createElementVNode("div",null,null,-1),_hoisted_4$h=vue.createElementVNode("i",{class:"mr-2 ri-delete-bin-line"},null,-1),_sfc_main$t=vue.defineComponent({__name:"model-extract-log",emits:["success"],setup(te,{expose:U,emit:G}){const{proxy:ee}=vue.getCurrentInstance(),ne=G,re=vue.ref(!1),oe=vue.ref(null),ie=vue.ref(""),le=vue.ref([]),ae=ue=>{const{businessId:ce,businessType:de="file_extract",ajaxUrl:fe="",table:ve}=ue;le.value=ve||[{label:"批次号",prop:"batchNo"},{label:"日期",prop:"createTime"},{label:"文件名",prop:"file",slot:!0},{label:"抽取方式",prop:"createTime",func:he=>{var pe;return((pe=JSON.parse(he.businessSnapshot||"{}"))==null?void 0:pe.extractType)==2?"覆盖":"追加"}},{label:"数据总数",prop:"totalNum"},{label:"成功数",prop:"successNum"},{label:"失败数",prop:"failNum"},{label:"协同参数",prop:"collaborateValue"},{label:"操作",prop:"action",slot:!0,fixed:"right"}],ie.value=fe||`/api/ace-data-center/extract-log/list?descs=create_time&businessId=${ce}&businessType=${de}`,re.value=!0},se=async(ue,ce)=>{switch(ue){case"refresh":{if(!await ee.$baseHttp.post(`/api/ace-data-center/extract-log/updateSuccessTotal/${ce.id}`,{},{headers:{loading:!0}}))return;ee.$message.success("操作成功"),vue.unref(oe).getData(),ne("success")}break;case"delete":ee.$baseConfirm({content:"删除数据可能影响指标统计,是否确认删除?",callConfirm:async()=>{await ee.$baseHttp.post(`/api/ace-data-center/extract-log/deleteModelData/${ce.id}`,{},{headers:{loading:!0}})&&(ee.$message.success("操作成功"),vue.unref(oe).getData(),ne("success"))}});break;case"run":ee.$baseConfirm({content:"重跑数据会先删除本批次数据,然后新建立一个批次任务执行,是否继续执行?",callConfirm:async()=>{await ee.$baseHttp.post(`/api/ace-data-center/extract-log/reRunTeamworkDbExtractBy/${ce.id}`,{},{headers:{loading:!0}})&&(ee.$message.success("操作成功"),vue.unref(oe).getData(),ne("success"))}});break;case"download":{const de=JSON.parse((ce==null?void 0:ce.businessSnapshot)??"{}");window.open(de.fileUrl)}break}};return U({init:ae}),(ue,ce)=>{const de=vue.resolveComponent("AppList"),fe=vue.resolveComponent("AppDrawer");return vue.openBlock(),vue.createBlock(fe,{modelValue:vue.unref(re),"onUpdate:modelValue":ce[0]||(ce[0]=ve=>vue.isRef(re)?re.value=ve:null),title:"抽取日志",size:"90%"},{default:vue.withCtx(()=>[vue.createVNode(de,{tableData:vue.unref(le),url:vue.unref(ie),ref_key:"appList",ref:oe},{file:vue.withCtx(({row:ve})=>[vue.createVNode(vue.unref(elementPlus.ElLink),{type:"primary",onClick:he=>se("download",ve)},{default:vue.withCtx(()=>{var he;return[vue.createTextVNode(vue.toDisplayString((he=JSON.parse(ve.businessSnapshot??"{}"))==null?void 0:he.fileName),1)]}),_:2},1032,["onClick"])]),action:vue.withCtx(({row:ve})=>{var he;return[((he=JSON.parse(ve.businessSnapshot||"{}"))==null?void 0:he.extractType)==3?(vue.openBlock(),vue.createBlock(vue.unref(elementPlus.ElLink),{key:0,type:"primary",class:"mr-2",onClick:pe=>se("run",ve)},{default:vue.withCtx(()=>[_hoisted_1$p,vue.createTextVNode(" 重跑 ")]),_:2},1032,["onClick"])):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(elementPlus.ElLink),{type:"primary",onClick:pe=>se("refresh",ve)},{default:vue.withCtx(()=>[_hoisted_2$i,vue.createTextVNode(" 刷新 ")]),_:2},1032,["onClick"]),_hoisted_3$h,vue.createVNode(vue.unref(elementPlus.ElLink),{type:"danger",onClick:pe=>se("delete",ve)},{default:vue.withCtx(()=>[_hoisted_4$h,vue.createTextVNode(" 删除本批次数据 ")]),_:2},1032,["onClick"])]}),_:1},8,["tableData","url"])]),_:1},8,["modelValue"])}}}),_sfc_main$s=vue.defineComponent({__name:"model-excel-edit",props:{modelId:{default:""}},emits:["success"],setup(te,{expose:U,emit:G}){const{proxy:ee}=vue.getCurrentInstance(),{setFormValue:ne,getFormValue:re}=ee.$globalHooks.useForm(),oe=te,ie=vue.ref(!1),le=vue.reactive([{name:"上传excel",type:FieldType.Slot,fieldName:"modelTemplateFileUrl",value:""},{name:"表头位置",type:FieldType.Select,fieldName:"titleNum",value:"",hide:!0,options:[{label:"第1行",value:"1"},{label:"第2行",value:"2"},{label:"第3行",value:"3"},{label:"第4行",value:"4"},{label:"第5行",value:"5"}]},{name:"去除末尾统计行",type:FieldType.Radio,fieldName:"filterEndLineFlag",value:"",hide:!0,options:[{label:"是",value:"1"},{label:"否",value:"0"}],defVal:"1"}]),ae=vue.ref(null),se=vue.ref([]),ue=async()=>{const fe=await ee.$baseHttp.get(`/api/ace-data-center/file-extract-template/detailByParams?modelId=${oe.modelId}`,{headers:{loading:!0}});fe&&(ae.value=fe.data,ie.value=!0,fe.data&&(se.value=[{name:fe.data.modelTemplateFileName,url:fe.data.modelTemplateFileUrl}]),ne(fe.data??{},le))},ce=async fe=>{const ve=new FormData;ve.append("file",fe.file);const he=await ee.$baseHttp.post("/api/ace-api/blade-resource/oss/endpoint/put-file",ve,{headers:{"Content-Type":"multipart/form-data",loading:!0}});he&&(se.value=[{name:he.data.originalName,url:he.data.link}])},de=async()=>{var pe;const{params:fe,error:ve}=re(le);ve.length>0||!await ee.$baseHttp.post("/api/ace-data-center/file-extract-template/submit",{...fe,modelTemplateFileName:vue.unref(se).length?vue.unref(se)[0].name:"",modelTemplateFileUrl:vue.unref(se).length?vue.unref(se)[0].url:"",modelId:oe.modelId,id:((pe=vue.unref(ae))==null?void 0:pe.id)??"",projectId:String(ee.$baseGetCurrentProjectId())})||(ie.value=!1,ee.$message.success("操作成功"))};return U({init:ue}),(fe,ve)=>{const he=vue.resolveComponent("AppForm"),pe=vue.resolveComponent("AppDialog");return vue.openBlock(),vue.createBlock(pe,{modelValue:vue.unref(ie),"onUpdate:modelValue":ve[2]||(ve[2]=ge=>vue.isRef(ie)?ie.value=ge:null),title:"模板上传",size:"50%"},{footer:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",type:"primary",onClick:de},{default:vue.withCtx(()=>[vue.createTextVNode("提交")]),_:1}),vue.renderSlot(fe.$slots,"formFooter"),vue.createVNode(vue.unref(elementPlus.ElButton),{class:"ml-3",onClick:ve[1]||(ve[1]=ge=>ie.value=!1)},{default:vue.withCtx(()=>[vue.createTextVNode("取消")]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(he,{form:vue.unref(le)},{modelTemplateFileUrl:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElUpload),{style:{width:"100%"},"file-list":vue.unref(se),"onUpdate:fileList":ve[0]||(ve[0]=ge=>vue.isRef(se)?se.value=ge:null),"http-request":ce,multiple:!1,accept:".xls,.xlsx"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary"},{default:vue.withCtx(()=>[vue.createTextVNode("点击上传")]),_:1})]),_:1},8,["file-list"])]),_:1},8,["form"])]),_:3},8,["modelValue"])}}}),jsoneditor_min="",jsonEditor_vue_vue_type_style_index_0_scoped_71f05bd7_lang="",_sfc_main$r={editor:null,name:"json-editor-vue",internalChange:!1,props:{modelValue:Object|Number|Array,options:Object,currentMode:{type:String,default:"code"},modeList:{type:Array,default:()=>["tree","code","form","text","view"]},language:{type:String,default:"en"}},data(){return{json:this.modelValue,expandedModes:["tree","view","form"],isFullScreen:!1,hasLogo:!0,showFullScreen:!1}},watch:{modelValue:{immediate:!0,deep:!0,handler(te){this.internalChange||(this.setEditorContent(te),this.$nextTick(()=>{this.expandAll()}))}}},mounted(){this.init();const te=document.querySelector(".jsoneditor-menu .jsoneditor-poweredBy");this.hasLogo=te&&window.getComputedStyle(te).display!=="none",this.showFullScreen=!0},unmounted(){var te;(te=this.editor)==null||te.destroy(),this.editor=null},methods:{toggleFullScreen(){this.isFullScreen=!this.isFullScreen,this.$nextTick(()=>{const te=new Event("resize");window.dispatchEvent(te)})},init(){const{currentMode:te,modeList:U,options:G}=this,ee=()=>{const ce=fe=>{this.json=fe,this.$emit("update:modelValue",fe),this.$emit("change",fe),this.internalChange=!0,this.$nextTick(()=>{this.internalChange=!1})};if(!this.editor.getText()){ce("");return}try{const fe=this.editor.get();ce(fe)}catch{}},ne=()=>{this.expandAll()},re=(ce,de,fe)=>{this.$emit("textSelectionChange",this.editor,ce,de,fe)},oe=(ce,de)=>{this.$emit("selectionChange",this.editor,ce,de)},ie=(ce,de,fe)=>{this.$emit("colorPicker",this.editor,ce,de,fe)},le=({target:ce})=>{this.$emit("focus",this.editor,ce)},ae=({target:ce})=>{this.$emit("blur",this.editor,ce)},se=ce=>{this.$emit("validationError",this.editor,ce)},ue={...G,indentation:2,language:this.language,mode:te,modes:U,onChange:ee,onModeChange:ne,onTextSelectionChange:re,onSelectionChange:oe,onColorPicker:ie,onFocus:le,onBlur:ae,onValidationError:se};this.editor=new JsonEditor(this.$refs.jsonEditorVue,ue,this.json)},expandAll(){var te,U;this.expandedModes.includes((te=this.editor)==null?void 0:te.getMode())&&((U=this.editor)==null||U.expandAll())},setEditorContent(te){var U;(U=this.editor)==null||U.set(te)}}},_hoisted_1$o={ref:"jsonEditorVue",class:"json-editor-vue"};function _sfc_render(te,U,G,ee,ne,re){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["container",{"full-screen-container":ne.isFullScreen}])},[vue.createElementVNode("div",_hoisted_1$o,null,512),vue.createElementVNode("div",{class:vue.normalizeClass(["full-screen",{show:ne.showFullScreen,right:!ne.hasLogo}]),onClick:U[0]||(U[0]=(...oe)=>re.toggleFullScreen&&re.toggleFullScreen(...oe))},null,2)],2)}const JsonEditorVue=_export_sfc$2(_sfc_main$r,[["render",_sfc_render],["__scopeId","data-v-71f05bd7"]]);JsonEditorVue.install=function te(U){U.component(JsonEditorVue.name,JsonEditorVue)};const _hoisted_1$n={class:"relative"},_hoisted_2$h={class:"absolute right-0 -top-10"},_hoisted_3$g=vue.createElementVNode("i",{class:"mr-1 ri-file-upload-line"},null,-1),_hoisted_4$g=vue.createElementVNode("i",{class:"mr-1 ri-file-cloud-line"},null,-1),_hoisted_5$d=vue.createElementVNode("i",{class:"mr-1 ri-file-history-line"},null,-1),_hoisted_6$c={class:"h-full overflow-y-auto"},_hoisted_7$b={key:0,class:"mb-4"},_hoisted_8$8=vue.createElementVNode("span",{class:"text-color-danger"},"表格标题栏不匹配,",-1),_hoisted_9$8=vue.createElementVNode("span",{class:"text-color-danger"},"异常",-1),_hoisted_10$7={class:"flex"},_hoisted_11$5={class:"flex-1 mr-3"},_hoisted_12$4={class:"flex-1"},_hoisted_13$2=vue.createElementVNode("i",{class:"mr-1 ri-edit-line"},null,-1),_hoisted_14$2=vue.createElementVNode("i",{class:"ri-file-excel-line text-color-primary",style:{"font-size":"38px"}},null,-1),_hoisted_15$1=vue.createElementVNode("div",{class:"el-upload__text"},"拖拽/点击文件上传",-1),_hoisted_16$1={class:"w-full"},_hoisted_17$1=vue.createElementVNode("i",{class:"mr-1 ri-google-play-line"},null,-1),_hoisted_18$1=vue.createElementVNode("i",{class:"ri-file-excel-line text-color-primary",style:{"font-size":"38px"}},null,-1),_hoisted_19$1=vue.createElementVNode("div",{class:"el-upload__text"},"拖拽/点击文件上传",-1),_hoisted_20$1={class:"flex w-full mt-3 text-sm"},_hoisted_21$1={class:"mr-2"},_hoisted_22$1={class:"w-full mt-2"},_hoisted_23$1=vue.createElementVNode("i",{class:"mr-1 ri-google-play-line"},null,-1),_sfc_main$q=vue.defineComponent({__name:"model-file-extract",props:{model:{default:{}}},setup(te){const{proxy:U}=vue.getCurrentInstance(),{setFormValue:G,getFormValue:ee}=U.$globalHooks.useForm(),{listSimpleColumn:ne}=fetch$1(U),re=te,oe=vue.reactive([{name:"抽取方式",type:FieldType.Radio,fieldName:"extractType",value:"",required:!0,options:[{label:"追加",value:"1"},{label:"覆盖",value:"2"}],defVal:"1"},{name:"是否上传图片",type:FieldType.Radio,fieldName:"hasPicture",value:"",required:!0,options:[{label:"否",value:"0"},{label:"是",value:"1"}],defVal:"0"},{name:"插件编写",type:FieldType.Slot,fieldName:"debug",value:""},{name:"Excel文件",type:FieldType.Slot,fieldName:"fileUrl",value:""},{name:"Excel批量",type:FieldType.Slot,fieldName:"batchFileUrl",value:""}]),ie=vue.ref(null),le=vue.ref(null),ae=vue.ref(null),se=vue.ref(null),ue=vue.ref(null),ce=vue.ref(`function plugin(item){
|
|
898
898
|
var data=JSON.parse(item);
|
|
899
899
|
return JSON.stringify(data)
|
|
900
900
|
}`),de=vue.ref({});G({},oe);const fe=vue.ref(0),ve=async()=>{var Ve;const Ee=await U.$baseHttp.post("/api/ace-data-center/file-extract-cache/count",{modelId:(Ve=re==null?void 0:re.model)==null?void 0:Ve.id,extractStatus:"00"});fe.value=Ee.data};ve();const he=vue.ref({}),pe=()=>{var Ee;if(((Ee=re.model)==null?void 0:Ee.publishStatus)!=2){U.$message.warning("模型未发布无法抽取");return}U.$baseConfirm({content:"是否立即执行",callConfirm:async()=>{var ke,Ne;me.value=[],_e.value=[],ue.value=null;const{params:Ve}=ee(oe),Se=await U.$baseHttp.post("/api/ace-data-center/file-extract/extract",{title:re.model.modelName,modelId:re.model.id,fileUrl:vue.unref(he).link,fileName:vue.unref(he).originalName,extractType:Ve.extractType,hasPicture:Ve.hasPicture,projectId:U.$baseGetCurrentProjectId(),pluginScript:vue.unref(ce)},{headers:{loading:!0}});if(Se&&(ue.value=Se.data,(ke=Se.data)!=null&&ke.isExtractSuccess?U.$message.success("抽取成功"):U.$message.warning("抽取失败"),!Se.data.isValidateSuccess)){me.value=((Ne=Se.data)==null?void 0:Ne.errorValidateData)??[];const Ie=await ne(re.model.id);Ie.data&&Ie.data.unshift({label:"异常情况",prop:"异常情况",mapLabel:"异常情况"}),_e.value=(Ie.data??[]).map(Pe=>({...Pe,prop:Pe.mapLabel}));return}}})},ge=async()=>{var Ee;if(((Ee=re.model)==null?void 0:Ee.publishStatus)!=2){U.$message.warning("模型未发布无法抽取");return}U.$baseConfirm({content:"是否立即执行批量抽取",callConfirm:async()=>{const{params:Ve}=ee(oe);await U.$baseHttp.post("/api/ace-data-center/file-extract/batch-extract",{title:re.model.modelName,modelId:re.model.id,extractType:Ve.extractType,hasPicture:Ve.hasPicture,projectId:U.$baseGetCurrentProjectId(),pluginScript:vue.unref(ce)},{headers:{loading:!0}})&&(U.$message.success("操作完成"),ve())}})},me=vue.ref([]),_e=vue.ref([]),be=async Ee=>{const Ve=new FormData;Ve.append("file",Ee.file);const Se=await U.$baseHttp.post("/api/ace-api/blade-resource/oss/endpoint/put-file",Ve,{headers:{"Content-Type":"multipart/form-data",loading:!0}});Se&&(he.value=Se.data,U.$message.success("上传成功"))},ye=async Ee=>{const Ve=new FormData;Ve.append("file",Ee.file);const Se=await U.$baseHttp.post("/api/ace-api/blade-resource/oss/endpoint/put-file",Ve,{headers:{"Content-Type":"multipart/form-data",loading:!0}});!Se||!await U.$baseHttp.post("/api/ace-data-center/file-extract-cache/submit",{modelId:re.model.id,fileUrl:Se.data.link,fileName:Se.data.originalName,extractStatus:"00",projectId:U.$baseGetCurrentProjectId()},{headers:{loading:!0}})||(U.$message.success("操作完成"),ve())},xe=async()=>{var Ve,Se;let Ee;Ee=await U.$baseHttp.get("/api/ace-data-center/file-extract/getDebugData",{params:{fileUrl:(Ve=vue.unref(he))==null?void 0:Ve.link,modelId:(Se=re.model)==null?void 0:Se.id}}),Ee&&(Ee=await U.$baseHttp.post("/api/ace-data-center/plugin-script/pluginScriptDebug",{paramData:JSON.stringify(Ee.data[0]),pluginScript:vue.unref(ce)}),Ee&&(de.value=JSON.parse(Ee.data||"{}"),U.$message.success("插件执行完成")))},Ce=async()=>{const Ee=await U.$baseHttp.get(`/api/ace-data-center/file-extract-template/detailByParams?modelId=${re.model.id}`);if(Ee){if(!Ee.data){U.$message.warning("暂无数据");return}U.$globalUtils.exportFile(Ee.data.modelTemplateFileUrl,Ee.data.modelTemplateFileName)}},$e=()=>{vue.unref(ae).init({businessId:re.model.id})},we=async()=>{vue.unref(se).init()};return(Ee,Ve)=>{var Pe,Te;const Se=vue.resolveComponent("aceHeader"),ke=vue.resolveComponent("AppCodemirror"),Ne=vue.resolveComponent("AppForm"),Ie=vue.resolveComponent("AppTable");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createElementVNode("div",_hoisted_1$n,[vue.createElementVNode("div",_hoisted_2$h,[vue.createVNode(vue.unref(elementPlus.ElLink),{type:"success",onClick:we},{default:vue.withCtx(()=>[_hoisted_3$g,vue.createTextVNode(" 模板上传 ")]),_:1}),vue.createVNode(vue.unref(elementPlus.ElLink),{type:"warning",class:"ml-3",onClick:Ce},{default:vue.withCtx(()=>[_hoisted_4$g,vue.createTextVNode(" 模板下载 ")]),_:1}),vue.createVNode(vue.unref(elementPlus.ElLink),{type:"primary",class:"ml-3",onClick:$e},{default:vue.withCtx(()=>[_hoisted_5$d,vue.createTextVNode(" 导入历史 ")]),_:1})])]),vue.createElementVNode("div",_hoisted_6$c,[vue.unref(ue)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$b,[vue.createVNode(vue.unref(elementPlus.ElAlert),{title:"温馨提醒",type:vue.unref(ue).isExtractSuccess?"success":"warning","show-icon":"",closable:!1},{default:vue.withCtx(()=>[vue.unref(ue).isTitleCheckSuccess===!1?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[_hoisted_8$8,vue.createTextVNode(" 请检查Excel文件数据! ")],64)):vue.unref(ue).isValidateSuccess?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[vue.createTextVNode(" 本批数据共有"+vue.toDisplayString(vue.unref(ue).dataTotalNum)+"条,全部通过校验。 ",1)],64)):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createTextVNode(" 本批数据共有"+vue.toDisplayString(vue.unref(ue).dataTotalNum)+"条, 已校验"+vue.toDisplayString(vue.unref(ue).validateSuccessNum+vue.unref(ue).validateFailNum)+"条, "+vue.toDisplayString(vue.unref(ue).validateFailNum)+"条 ",1),_hoisted_9$8,vue.createTextVNode(" 当前异常率约为"+vue.toDisplayString(Number(vue.unref(ue).validateFailNum/(vue.unref(ue).validateSuccessNum+vue.unref(ue).validateFailNum)*100).toFixed(2))+"% ",1)],64))]),_:1},8,["type"])])):vue.createCommentVNode("",!0),vue.createVNode(Ne,{form:vue.unref(oe)},{debug:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElPopover),{width:1e3,trigger:"hover"},{reference:vue.withCtx(()=>[vue.createVNode(vue.unref(elementPlus.ElLink),{type:"primary"},{default:vue.withCtx(()=>[_hoisted_13$2,vue.createTextVNode(" 插件编写 ")]),_:1})]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_10$7,[vue.createElementVNode("div",_hoisted_11$5,[vue.createVNode(Se,{title:"插件编写",class:"mb-2"},{default:vue.withCtx(()=>{var De;return[vue.createVNode(vue.unref(elementPlus.ElLink),{type:"primary",onClick:xe,disabled:(((De=vue.unref(he))==null?void 0:De.link)??"")==""},{default:vue.withCtx(()=>[vue.createTextVNode(" 执行插件 ")]),_:1},8,["disabled"])]}),_:1}),vue.createVNode(ke,{modelValue:vue.unref(ce),"onUpdate:modelValue":Ve[0]||(Ve[0]=De=>vue.isRef(ce)?ce.value=De:null)},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_12$4,[vue.createVNode(Se,{title:"插件执行结果",class:"mb-2"}),vue.createVNode(vue.unref(JsonEditorVue),{style:{height:"300px"},modelValue:vue.unref(de),"onUpdate:modelValue":Ve[1]||(Ve[1]=De=>vue.isRef(de)?de.value=De:null)},null,8,["modelValue"])])])]),_:1})]),fileUrl:vue.withCtx(({element:De})=>[vue.createVNode(vue.unref(elementPlus.ElUpload),{style:{width:"300px"},drag:"","on-remove":()=>De.value="","on-success":()=>De.value="1",ref_key:"uploadRef",ref:ie,"http-request":be,accept:"'.xls', '.xlsx'",multiple:!1},{default:vue.withCtx(()=>[_hoisted_14$2,_hoisted_15$1]),_:2},1032,["on-remove","on-success"]),vue.createElementVNode("div",_hoisted_16$1,[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary",disabled:De.value=="",onClick:pe},{default:vue.withCtx(()=>[_hoisted_17$1,vue.createTextVNode(" 立即抽取 ")]),_:2},1032,["disabled"])])]),batchFileUrl:vue.withCtx(({element:De})=>[vue.createVNode(vue.unref(elementPlus.ElUpload),{style:{width:"300px"},drag:"","http-request":ye,accept:"'.xls', '.xlsx'",multiple:"","show-file-list":!1},{default:vue.withCtx(()=>[_hoisted_18$1,_hoisted_19$1]),_:1}),vue.createElementVNode("div",_hoisted_20$1,[vue.createElementVNode("span",_hoisted_21$1,"批量待抽取数:"+vue.toDisplayString(vue.unref(fe))+"个",1),vue.createVNode(vue.unref(elementPlus.ElLink),{type:"primary",onClick:Ve[2]||(Ve[2]=Be=>vue.unref(le).init())},{default:vue.withCtx(()=>[vue.createTextVNode("查看详情")]),_:1})]),vue.createElementVNode("div",_hoisted_22$1,[vue.createVNode(vue.unref(elementPlus.ElButton),{type:"primary",disabled:vue.unref(fe)<=0,onClick:ge},{default:vue.withCtx(()=>[_hoisted_23$1,vue.createTextVNode(" 批量抽取 ")]),_:1},8,["disabled"])])]),_:1},8,["form"]),vue.unref(_e).length>0?(vue.openBlock(),vue.createBlock(Ie,{key:1,class:"mt-4",list:vue.unref(me),tableData:vue.unref(_e),loading:!1},null,8,["list","tableData"])):vue.createCommentVNode("",!0),vue.createVNode(_sfc_main$u,{ref_key:"modelFileCacheListRef",ref:le,modelId:(Pe=re==null?void 0:re.model)==null?void 0:Pe.id,onSuccess:Ve[3]||(Ve[3]=De=>ve())},null,8,["modelId"]),vue.createVNode(_sfc_main$t,{ref_key:"modelExtractLogRef",ref:ae},null,512),vue.createVNode(_sfc_main$s,{ref_key:"modelExecelEditRef",ref:se,modelId:(Te=re==null?void 0:re.model)==null?void 0:Te.id},null,8,["modelId"])])],64)}}}),_sfc_main$p=vue.defineComponent({__name:"taskDesign",setup(te,{expose:U}){const{proxy:G}=vue.getCurrentInstance(),{setFormValue:ee,getFormValue:ne}=G.$globalHooks.useForm(),re=vue.reactive([{name:"执行周期",type:FieldType.Radio,fieldName:"fd",value:"",required:!0,options:[{label:"每天",value:"DAY"},{label:"每周",value:"WEEK"},{label:"每月",value:"MONTH"}],changeFunc:le=>{const ae=re.find(se=>se.fieldName==="xxlJobId");le.isChange&&(ae.value=null,ae.options=[]),(le.value??"")!=""&&(ae.options=G.$globalUtils.taskOptions.filter(se=>se.type==le.value))}},{name:"执行时间",type:FieldType.Select,fieldName:"xxlJobId",value:"",required:!0,fieldType:FieldRenderType.String},{name:"是否开启",type:FieldType.Radio,fieldName:"status",value:"",required:!0,dict:"taskStatus"}]);return U({init:(le={})=>{var ae;!le.fd&&le.xxlJobId&&(le.fd=((ae=G.$globalUtils.taskOptions.find(se=>se.value==le.xxlJobId))==null?void 0:ae.type)??""),ee(le,re)},getForm:()=>ne(re),formData:re}),(le,ae)=>{const se=vue.resolveComponent("AppForm");return vue.openBlock(),vue.createBlock(se,{form:vue.unref(re)},null,8,["form"])}}}),taskDesign_vue_vue_type_style_index_0_scoped_16c11e9a_lang="",taskDesign=_export_sfc$2(_sfc_main$p,[["__scopeId","data-v-16c11e9a"]]),_hoisted_1$m={class:"flex"},_hoisted_2$g={class:"flex-1 overflow-hidden"},_hoisted_3$f=vue.createElementVNode("i",{class:"ml-2 cursor-pointer ri-lightbulb-line text-color-warning"},null,-1),_hoisted_4$f={class:"mt-2"},_hoisted_5$c={class:"flex-1 ml-5"},_hoisted_6$b={class:"mt-2"},_hoisted_7$a={class:"flex mt-3"},_hoisted_8$7={class:"flex-1 overflow-hidden"},_hoisted_9$7={class:"mt-2"},_hoisted_10$6={class:"flex-1 ml-5"},_hoisted_11$4={class:"mt-2"},_hoisted_12$3={class:"mt-2"},_sfc_main$o=vue.defineComponent({__name:"main",props:vue.mergeModels({modelAttributeList:{default:()=>[]}},{dataSourceId:{},dataSourceIdModifiers:{}}),emits:["update:dataSourceId"],setup(te,{expose:U}){const{proxy:G}=vue.getCurrentInstance(),{setFormValue:ee,getFormValue:ne}=G.$globalHooks.useForm(),re=vue.useModel(te,"dataSourceId"),oe=[{sql:"select * from "}],ie=vue.ref(""),le=vue.ref({}),ae=vue.ref(),se=vue.ref({}),ue=vue.ref(!1),ce=vue.ref(!1),de=vue.ref([]),fe=vue.ref(null),ve=vue.computed(()=>he.find(be=>be.fieldName=="extractType")),he=vue.reactive([{name:"方案名称",type:FieldType.Text,fieldName:"extractName",value:"",required:!0},{name:"数据流类型",type:FieldType.Radio,fieldName:"streamType",value:"",required:!0,options:[{label:"标准流",value:"STANDARD"},{label:"自定义流",value:"CUSTOM"}]},{name:"数据流类型",type:FieldType.Radio,fieldName:"extractType",value:"",required:!0,options:[{label:"全量抽取",value:"1"},{label:"增量抽取",value:"2"},{label:"协同抽取",value:"3"}],changeFunc:be=>{he.find(ye=>ye.fieldName=="incrementalField").hide=be.value!=2}},{name:"增量字段",type:FieldType.Slot,fieldName:"incrementalField",value:"",required:!0,tip:"该字段必须为本模型字段,并且是SQL结果集中存在的字段"},{name:"taskDefinedId",type:FieldType.Text,fieldName:"taskDefinedId",hide:!0},{name:"id",type:FieldType.Text,fieldName:"id",hide:!0}]),pe=vue.ref(null),ge=be=>{vue.nextTick(()=>{re.value=(be==null?void 0:be.dataSourceId)??"",console.log(be),ee(be??{},he),be!=null&&be.taskDefined&&(ce.value=!0),ie.value=(be==null?void 0:be.extractSql)??"",ae.value=(be==null?void 0:be.extractPluginScript)??`function plugin(item){
|