Browse Source

优化报表模块

xiaochan 1 year ago
parent
commit
4d477e6333

+ 1 - 1
src/api/base-data/report-center.ts

@@ -40,7 +40,7 @@ export function deleteById(id: string) {
     })
 }
 
-export function modifyTheFileName(data: { id: string, name: string , type : string }) {
+export function modifyTheFileName(data: { id: string, name: string, type: string }) {
     return request({
         url: '/magicReportCenter/modifyTheFileName',
         method: 'POST',

+ 2 - 2
src/components/cy/combo-grid/src/CyComboGrid.vue

@@ -239,8 +239,8 @@ defineExpose({
               <vxe-column
                   v-for="item in tableHeader"
                   :key="item"
-                  :title="item.name"
-                  :field="item.code"
+                  :title="item.name || item.title"
+                  :field="item.code || item.field"
                   :width="item.width">
                 <template #default="scope" v-if="item.render">
                   <Component :is="item.render(scope)"/>

+ 12 - 5
src/views/data-base/page-editor-help-v2/components/page-editor-v2/PageAddComponent.vue

@@ -1,11 +1,13 @@
 <script setup lang="ts">
 import {generateRandomString} from "@/utils/getUuid";
-import {nextTick, onMounted} from "vue";
+import {nextTick, onMounted, PropType} from "vue";
+import {PageStore} from "@/views/data-base/page-editor-help-v2/page-help-v2";
 
-const props = defineProps<{
-  teleportDiv: any,
-  compData: any
-}>()
+const props = defineProps({
+  teleportDiv: Object,
+  compData: Object,
+  store: Object as PropType<PageStore>
+})
 
 const emits = defineEmits(['addComponent', 'refresh'])
 
@@ -23,6 +25,11 @@ function addComponentClick(item) {
     ...item.data,
     key: generateRandomString(5)
   }
+
+  if (typeof props.store?.pageData.value.params[comp.key] === 'undefined') {
+    props.store.pageData.value.params[comp.key] = ''
+  }
+
   emits('addComponent', comp)
 }
 

+ 1 - 1
src/views/data-base/page-editor-help-v2/components/page-editor-v2/PageFormBind.vue

@@ -8,7 +8,7 @@ import {
 import * as vue from "vue";
 import {h, nextTick, onMounted, reactive, ref} from "vue";
 import {ElButton, ElDivider, ElInput, ElInputNumber, ElOption, ElSelect, ElSwitch} from "element-plus";
-import {PageHeader, PageJsonObject} from "@/api/reports/report-query-center";
+import {PageHeader} from "@/api/reports/report-query-center";
 import CodeEditor from "@/views/data-base/page-editor-help-v2/components/page-editor-v2/CodeEditor.vue";
 import JsonEditor from "@/views/data-base/page-editor-help-v2/components/page-editor-v2/JsonEditor.vue";
 import {xcMessage} from "@/utils/xiaochan-element-plus";

+ 5 - 2
src/views/data-base/page-editor-help-v2/components/page-editor-v2/PageHelpV2.vue

@@ -67,8 +67,9 @@ const emits = defineEmits(['changeTabs'])
 const userInfo = XEUtils.clone(userInfoStore.value, true)
 
 const render = (item: PageHeader) => {
+  const modelValue = typeof pageData.value.params[item.key] === 'undefined' ? "" : pageData.value.params[item.key]
   const tempProps = {
-    modelValue: pageData.value.params[item.key],
+    modelValue: modelValue,
     "onUpdate:modelValue": (val) => {
       pageData.value.params[item.key] = val
     },
@@ -217,8 +218,9 @@ async function refresh() {
 }
 
 async function setPageData(data: PageJsonObject, currentIndex = -1) {
-  const temp = XEUtils.clone(data, true);
+  const temp: PageJsonObject = XEUtils.clone(data, true);
   await handleOnAndFuncEvent(temp)
+
   pageData.value = temp
   if (currentIndex > 0) {
     await store.changeCurrentBind(pageData.value.header[currentClickIndex.value])
@@ -479,6 +481,7 @@ defineExpose({
   <PageAddComponent :teleportDiv="props.addComponent"
                     @refresh="addComponentRefresh"
                     @addComponent="addComponent"
+                    :store="store"
                     :comp-data="compData"
                     v-if="props.addComponent"/>
 

+ 2 - 2
src/views/data-base/page-editor-help-v2/components/page-help-editor/MagicIframeEditor.vue

@@ -8,9 +8,9 @@ import {xcMessage} from "@/utils/xiaochan-element-plus";
 
 const iframe = ref<HTMLIFrameElement>()
 // const src = 'http://192.168.56.1:8991'
-const src = import.meta.env.VITE_DATA_BASE + '/magic/web/index.html'
+// const src = import.meta.env.VITE_DATA_BASE + '/magic/web/index.html'
 
-// const src = 'http://172.16.32.160:9205/magic/web/index.html'
+const src = 'http://172.16.32.160:9205/magic/web/index.html'
 
 function sendMessage(name: string, value: any) {
   const data = {

+ 5 - 3
src/views/data-base/page-editor-help-v2/page-help-v2.ts

@@ -1,10 +1,11 @@
 import Mitt from "../../../utils/mitt";
-import {PageHeader, PageJsonObject, ReportForms} from "../../../api/reports/report-query-center";
+import {PageHeader, PageJsonObject, ReportForms} from "@/api/reports/report-query-center";
 import {Ref, ref} from 'vue'
 import XEUtils from "xe-utils";
-import {saveTheFile} from "../../../api/base-data/report-center";
+import {saveTheFile} from "@/api/base-data/report-center";
 import * as ElementPlus from "element-plus";
 import XcComboGridV2 from "../../../components/xiao-chan/combo-grid/XcComboGridV2.vue";
+import CyComboGrid from "@/components/cy/combo-grid/src/CyComboGrid.vue";
 import {eachAndReturnList} from "@/utils/cyRefList";
 import {copyStrFunc} from "@/utils/public";
 
@@ -15,7 +16,8 @@ interface TableData {
 
 export const ElAndXc = {
     ...ElementPlus,
-    XcComboGridV2: XcComboGridV2
+    XcComboGridV2: XcComboGridV2,
+    CyComboGrid: CyComboGrid
 }