Procházet zdrojové kódy

修改新版查看报表统计图没展示问题

zhoupeng před 1 rokem
rodič
revize
6f80cacaad

+ 112 - 244
chuanyi_client/src/views/print_config/index.vue

@@ -1,9 +1,6 @@
 <template>
   <div class="cqcy-content" style="margin: 0; height: calc(100% - 70px)">
-    <breadcrumb-view
-      :breadcrumbList="breadcrumbList"
-      :show-index="false"
-    ></breadcrumb-view>
+    <breadcrumb-view :breadcrumbList="breadcrumbList" :show-index="false"></breadcrumb-view>
     <!-- <div class="cy-nav-sx">
       <el-input
         placeholder=""
@@ -16,24 +13,17 @@
         >查询</el-button
       >
     </div> -->
-    <el-button
-      type="primary"
-      class="cy-nav-btn"
-      icon="el-icon-circle-plus-outline"
-      size="mini"
-      @click="handleAdd"
-      >新增打印配置</el-button
-    >
+    <el-button type="primary" class="cy-nav-btn" icon="el-icon-circle-plus-outline" size="mini"
+      @click="handleAdd">新增打印配置</el-button>
+      <el-button type="primary" class="cy-nav-btn" icon="el-icon-refresh" size="mini"
+      @click="getAllPrintConfig">刷新</el-button>
     <el-divider></el-divider>
     <div class="cy-main">
-      <el-table
-        :data="tableData"
-        border
-        :header-cell-style="{ background: '#E8E8E8' }"
-        style="width: 100%"
-      >
+      <el-table :data="tableData" border :header-cell-style="{ background: '#E8E8E8' }" style="width: 100%">
         <el-table-column align="center" label="打印机" prop="printName">
         </el-table-column>
+        <el-table-column align="center" label="状态" prop="state">
+        </el-table-column>
         <el-table-column align="center" label="作业名称" prop="jobName">
         </el-table-column>
         <el-table-column align="center" label="打印方向" prop="orientation">
@@ -64,107 +54,58 @@
           <template slot-scope="scope">
             {{
               scope.row.fitToPages === 1
-                ? "无打印缩放"
-                : scope.row.fitToPages === 2
+              ? "无打印缩放"
+              : scope.row.fitToPages === 2
                 ? "将所有列打印在一页"
                 : scope.row.fitToPages === 3
-                ? "将所有行打印在一页"
-                : "自定义缩放"
+                  ? "将所有行打印在一页"
+                  : "自定义缩放"
             }}
           </template>
         </el-table-column>
         <el-table-column label="操作" align="center" width="300">
           <template slot-scope="scope">
-            <el-button
-              size="mini"
-              @click="handleValReplaceDetail(scope.$index, scope.row)"
-              type="text"
-              icon="el-icon-document"
-              >详情</el-button
-            >
-            <el-button
-              size="mini"
-              @click="handleValReplaceEdit(scope.$index, scope.row)"
-              type="text"
-              icon="el-icon-edit"
-              >编辑</el-button
-            >
-            <el-button
-              size="mini"
-              @click="handleDelete(scope.$index, scope.row)"
-              type="text"
-              style="color: red"
-              icon="el-icon-delete"
-              >删除</el-button
-            >
+            <el-button size="mini" @click="handleValReplaceDetail(scope.$index, scope.row)" type="text"
+              icon="el-icon-document">详情</el-button>
+            <el-button size="mini" @click="handleValReplaceEdit(scope.$index, scope.row)" type="text"
+              icon="el-icon-edit">编辑</el-button>
+            <el-button size="mini" @click="handleDelete(scope.$index, scope.row)" type="text" style="color: red"
+              icon="el-icon-delete">删除</el-button>
           </template>
         </el-table-column>
       </el-table>
-      <el-pagination
-        style="margin-top: 20px"
-        background
-        layout="sizes, prev, pager, next, total"
-        :current-page="queryParams.page"
-        @size-change="sizeChangeEvent"
-        @current-change="currentChangeEvent"
-        :total="tableTotal"
-      >
+      <el-pagination style="margin-top: 20px" background layout="sizes, prev, pager, next, total"
+        :current-page="queryParams.page" @size-change="sizeChangeEvent" @current-change="currentChangeEvent"
+        :total="tableTotal">
       </el-pagination>
     </div>
 
     <!-- 新增打印配置 -->
-    <el-dialog
-      :title="dialogDataModelTitle"
-      width="850px"
-      top="10vh"
-      center
-      v-dialog-drag
-      v-if="dialogDataModelVisible"
-      :before-close="dialogClose"
-      :visible.sync="dialogDataModelVisible"
-      :close-on-click-modal="false"
-      :append-to-body="true"
-    >
-      <el-form
-        ref="dataModelForm"
-        :model="dataModelForm"
-        :rules="dataModelRules"
-        label-width="110px"
-      >
-      <el-row>
-        <el-col :span="12">
-          <el-form-item label="打印机" prop="printName">
-          <el-select
-            v-model="dataModelForm.printName"
-            placeholder="请选择打印机"
-            style="width: 250px"
-            :disabled="isDisable"
-          >
-            <el-option v-for="item in printNameData" :label="item" :value="item"> </el-option>
-          </el-select>
-        </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="作业名称" prop="jobName">
-          <el-input
-            v-model="dataModelForm.jobName"
-            placeholder="请输入作业名称"
-            maxlength="20"
-            style="width: 250px"
-            :disabled="isDisable"
-          ></el-input>
-        </el-form-item>
-      </el-col>
-      </el-row>
-      <el-row>
+    <el-dialog :title="dialogDataModelTitle" width="850px" top="10vh" center v-dialog-drag v-if="dialogDataModelVisible"
+      :before-close="dialogClose" :visible.sync="dialogDataModelVisible" :close-on-click-modal="false"
+      :append-to-body="true">
+      <el-form ref="dataModelForm" :model="dataModelForm" :rules="dataModelRules" label-width="110px">
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="打印机" prop="printName">
+              <el-select v-model="dataModelForm.printName" placeholder="请选择打印机" style="width: 250px"
+                :disabled="isDisable">
+                <el-option v-for="item in printList" :label="item.name" :value="item.name"> </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="作业名称" prop="jobName">
+              <el-input v-model="dataModelForm.jobName" placeholder="请输入作业名称" maxlength="20" style="width: 250px"
+                :disabled="isDisable"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
           <el-col :span="12">
             <el-form-item label="打印方向" prop="orientation">
-              <el-select
-                v-model="dataModelForm.orientation"
-                placeholder="请选择打印方向"
-                style="width: 250px"
-                :disabled="isDisable"
-              >
+              <el-select v-model="dataModelForm.orientation" placeholder="请选择打印方向" style="width: 250px"
+                :disabled="isDisable">
                 <el-option label="横向" :value="1"> </el-option>
                 <el-option label="纵向" :value="2"> </el-option>
               </el-select>
@@ -172,85 +113,65 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="打印份数" prop="copies">
-              <el-input-number
-                v-model="dataModelForm.copies"
-                :min="1"
-                :max="10"
-                style="width: 250px"
-                :disabled="isDisable"
-              ></el-input-number>
+              <el-input-number v-model="dataModelForm.copies" :min="1" :max="10" style="width: 250px"
+                :disabled="isDisable"></el-input-number>
             </el-form-item>
           </el-col>
         </el-row>
         <el-form-item label="打印页面类型" prop="pageType">
-          <el-select
-            v-model="dataModelForm.pageType"
-            placeholder="请选择打印页面类型"
-            @change="formatterPageType"
-            style="width: 250px"
-            :disabled="isDisable"
-          >
+          <el-select v-model="dataModelForm.pageType" placeholder="请选择打印页面类型" @change="formatterPageType"
+            style="width: 250px" :disabled="isDisable">
             <el-option label="A3" :value="1">
               <div>A3:297mm X 420mm</div>
             </el-option>
             <el-option label="A4" :value="2">
-              <div>A4:210mm X 297mm</div></el-option
-            >
+              <div>A4:210mm X 297mm</div>
+            </el-option>
             <el-option label="A5" :value="3">
-              <div>A5:148mm X 210mm</div></el-option
-            >
+              <div>A5:148mm X 210mm</div>
+            </el-option>
             <el-option label="B5" :value="4">
-              <div>B5:182mm X 257mm</div></el-option
-            >
+              <div>B5:182mm X 257mm</div>
+            </el-option>
             <el-option label="C5" :value="5">
-              <div>Devolop C5:162mm X 229mm</div></el-option
-            >
+              <div>Devolop C5:162mm X 229mm</div>
+            </el-option>
             <el-option label="DL" :value="6">
-              <div>Devolop DL:110mm X 220mm</div></el-option
-            >
+              <div>Devolop DL:110mm X 220mm</div>
+            </el-option>
             <el-option label="B5" :value="7">
-              <div>Devolop B5:176mm X 250mm</div></el-option
-            >
+              <div>Devolop B5:176mm X 250mm</div>
+            </el-option>
             <el-option label="DM" :value="8">
-              <div>Devolop Monarch:3.875inch X 7.5inch</div></el-option
-            >
+              <div>Devolop Monarch:3.875inch X 7.5inch</div>
+            </el-option>
             <el-option label="D9" :value="9">
               <div>Devolop 9:3.875inch X 8.875inch</div>
             </el-option>
             <el-option label="D10" :value="10">
-              <div>Devolop 10:4.125inch X 9.5inch</div></el-option
-            >
+              <div>Devolop 10:4.125inch X 9.5inch</div>
+            </el-option>
             <el-option label="LT" :value="11">
-              <div>Letter:8.5inch X 11inch</div></el-option
-            >
+              <div>Letter:8.5inch X 11inch</div>
+            </el-option>
             <el-option label="LG" :value="12">
-              <div>Legal:8.5inch X 14inch</div></el-option
-            >
+              <div>Legal:8.5inch X 14inch</div>
+            </el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="打印边距">
           <el-row>
             <el-col :span="12">
-              <el-input
-                v-model="dataModelForm.marginLeft"
-                placeholder="请输入左边距"
-                maxlength="20"
-                style="width: 250px; margin: 0 20px 20px 0"
-                :disabled="isDisable"
-              >
+              <el-input v-model="dataModelForm.marginLeft" placeholder="请输入左边距" maxlength="20"
+                style="width: 250px; margin: 0 20px 20px 0" :disabled="isDisable">
                 <template slot="append">mm</template>
               </el-input>
             </el-col>
             <el-col :span="12">
-              <el-input
-                v-model="dataModelForm.marginRight"
-                placeholder="请输入右边距"
-                maxlength="20"
-                style="width: 250px; margin: 0 20px 20px 0"
-                :disabled="isDisable"
-              >
+              <el-input v-model="dataModelForm.marginRight" placeholder="请输入右边距" maxlength="20"
+                style="width: 250px; margin: 0 20px 20px 0" :disabled="isDisable">
                 <template slot="append">mm</template>
               </el-input>
             </el-col>
@@ -258,25 +179,15 @@
           <el-row>
             <el-col :span="12">
-              <el-input
-                v-model="dataModelForm.marginTop"
-                placeholder="请输入上边距"
-                maxlength="20"
-                style="width: 250px; margin: 0 20px 20px 0"
-                :disabled="isDisable"
-              >
+              <el-input v-model="dataModelForm.marginTop" placeholder="请输入上边距" maxlength="20"
+                style="width: 250px; margin: 0 20px 20px 0" :disabled="isDisable">
                 <template slot="append">mm</template>
               </el-input>
             </el-col>
             <el-col :span="12">
-              <el-input
-                v-model="dataModelForm.marginBottom"
-                placeholder="请输入下边距"
-                maxlength="20"
-                style="width: 250px; margin: 0 20px 20px 0"
-                :disabled="isDisable"
-              >
+              <el-input v-model="dataModelForm.marginBottom" placeholder="请输入下边距" maxlength="20"
+                style="width: 250px; margin: 0 20px 20px 0" :disabled="isDisable">
                 <template slot="append">mm</template>
               </el-input>
             </el-col>
@@ -309,89 +220,47 @@
           </el-select>
         </el-form-item> -->
         <el-form-item label="页码范围类型" prop="pageRange">
-          <el-select
-            v-model="dataModelForm.pageRange"
-            placeholder="请选择页码范围类型"
-            style="width: 250px"
-            :disabled="isDisable"
-          >
+          <el-select v-model="dataModelForm.pageRange" placeholder="请选择页码范围类型" style="width: 250px" :disabled="isDisable">
             <el-option label="全部" :value="1"> </el-option>
             <el-option label="部分页码" :value="2"> </el-option>
           </el-select>
         </el-form-item>
         <el-row>
           <el-col :span="12">
-            <el-form-item
-              label="开始页码"
-              prop="pageRangeStart"
-              v-if="dataModelForm.pageRange === 2"
-            >
-              <el-input-number
-                v-model="dataModelForm.pageRangeStart"
-                :precision="0"
-                :min="1"
-                :max="100"
-                style="width: 250px"
-                :disabled="isDisable"
-              ></el-input-number>
+            <el-form-item label="开始页码" prop="pageRangeStart" v-if="dataModelForm.pageRange === 2">
+              <el-input-number v-model="dataModelForm.pageRangeStart" :precision="0" :min="1" :max="100"
+                style="width: 250px" :disabled="isDisable"></el-input-number>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item
-              label="结束页码"
-              prop="pageRangeEnd"
-              v-if="dataModelForm.pageRange === 2"
-            >
-              <el-input-number
-                v-model="dataModelForm.pageRangeEnd"
-                :precision="0"
-                :min="1"
-                :max="100"
-                style="width: 250px"
-                :disabled="isDisable"
-              ></el-input-number>
+            <el-form-item label="结束页码" prop="pageRangeEnd" v-if="dataModelForm.pageRange === 2">
+              <el-input-number v-model="dataModelForm.pageRangeEnd" :precision="0" :min="1" :max="100"
+                style="width: 250px" :disabled="isDisable"></el-input-number>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
             <el-form-item label="打印区域" prop="printArea">
-              <el-select
-                v-model="dataModelForm.printArea"
-                placeholder="请选择打印区域"
-                style="width: 250px"
-                :disabled="isDisable"
-              >
+              <el-select v-model="dataModelForm.printArea" placeholder="请选择打印区域" style="width: 250px"
+                :disabled="isDisable">
                 <el-option label="整个工作表" :value="1"> </el-option>
                 <el-option label="选定区域" :value="2"> </el-option>
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item
-              label="打印区域参数"
-              prop="printAreaValue"
-              v-if="dataModelForm.printArea === 2"
-            >
-              <el-input
-                v-model="dataModelForm.printAreaValue"
-                placeholder="请输入打印区域参数 例如A1:H6"
-                maxlength="20"
-                style="width: 250px; margin: 0 20px 20px 0"
-                :disabled="isDisable"
-              ></el-input>
+            <el-form-item label="打印区域参数" prop="printAreaValue" v-if="dataModelForm.printArea === 2">
+              <el-input v-model="dataModelForm.printAreaValue" placeholder="请输入打印区域参数 例如A1:H6" maxlength="20"
+                style="width: 250px; margin: 0 20px 20px 0" :disabled="isDisable"></el-input>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
             <el-form-item label="打印缩放" prop="fitToPages">
-              <el-select
-                v-model="dataModelForm.fitToPages"
-                placeholder="请选择打印缩放"
-                style="width: 250px"
-                :disabled="isDisable"
-              >
+              <el-select v-model="dataModelForm.fitToPages" placeholder="请选择打印缩放" style="width: 250px"
+                :disabled="isDisable">
                 <el-option label="无打印缩放" :value="1"> </el-option>
                 <el-option label="将所有列打印在一页" :value="2"> </el-option>
                 <el-option label="将所有行打印在一页" :value="3"> </el-option>
@@ -401,26 +270,14 @@
           </el-col>
           <el-col :span="12" v-if="dataModelForm.fitToPages === 4">
             <el-form-item label="缩放比例" prop="scale">
-              <el-input-number
-                v-model="dataModelForm.scale"
-                :precision="0"
-                :min="1"
-                :max="100"
-                label="百分比"
-                style="width: 250px"
-                :disabled="isDisable"
-              ></el-input-number>
+              <el-input-number v-model="dataModelForm.scale" :precision="0" :min="1" :max="100" label="百分比"
+                style="width: 250px" :disabled="isDisable"></el-input-number>
               <span style="position: absolute; right: 81px">%</span>
             </el-form-item>
           </el-col>
         </el-row>
         <el-form-item style="text-align: center">
-          <el-button
-            type="primary"
-            @click="saveDataModelEvent"
-            v-if="!isDisable"
-            >确定</el-button
-          >
+          <el-button type="primary" @click="saveDataModelEvent" v-if="!isDisable">确定</el-button>
           <el-button @click="dialogClose">取消</el-button>
         </el-form-item>
       </el-form>
@@ -508,7 +365,7 @@ export default {
         fitToPages: 1,
       },
       dataModelRules: {
-        printName:[
+        printName: [
           { required: true, message: "请选择打印配置", trigger: "change" },
         ],
         jobName: [
@@ -563,21 +420,21 @@ export default {
       // 详情禁用
       isDisable: false,
       // 打印机集合
-      printNameData:[]
+      printList: []
     };
   },
   watch: {},
-  beforeDestroy() {},
+  beforeDestroy() { },
   created() {
     this.getPrint()
   },
   methods: {
     /** 获取打印机 */
-    getPrint(){
-      getPrint().then(res=>{
+    getPrint() {
+      getPrint().then(res => {
         console.log(res)
-        if(res.code===200){
-          this.printNameData=res.data
+        if (res.code === 200) {
+          this.printList = res.data
         }
         this.getAllPrintConfig();
       })
@@ -653,7 +510,18 @@ export default {
     getAllPrintConfig() {
       getAllPrintConfig(this.queryParams).then((res) => {
         if (res.code === 200) {
-          this.tableData = res.data.printConfigList;
+          let arr = []
+          for (let a of res.data.printConfigList) {
+            let b = a
+            for (let p of this.printList) {
+              if (p.name == b.printName) {
+                b.state = p.state
+                break
+              }
+            }
+            arr.push(b)
+          }
+          this.tableData = arr
           this.tableTotal = res.data.count;
         }
       });

+ 157 - 1
chuanyi_client/src/views/run_config/showReport.vue

@@ -59,7 +59,7 @@
 <script>
 
 import DownloadReportType from './downloadReportType.vue'
-import { showAlertMsgWin, getNowFormatDate, showLoading, } from "@/utils/cqcy";
+import { showAlertMsgWin, getNowFormatDate, showLoading, withDateFormatLength } from "@/utils/cqcy";
 import { delReportTableById, getAutoChReportTable, getReportTableById } from "@/api/datasource";
 import { getUsername } from "@/utils/auth";
 import { insertLuckysheetEChart, setSheetDatas } from "@/utils/luckysheettool";
@@ -357,6 +357,64 @@ export default {
                 }, this.reportInterval * 1000);
             }
         },
+        /** 报表reload事件 */
+        reloadReportNode() {
+            if (!this.chooseMyReport || !this.chooseMyReport.id) {
+                if (this.reportIntervalTag) {
+                    clearInterval(this.reportIntervalTag);
+                    // sessionStorage.removeItem(this.sessionName + this.reportTableId)
+                }
+                return;
+            }
+            // const loading = showLoading(this, "加载中,请稍候···");
+            const loading = this.$loading({
+                lock: true,
+                text: '加载中,请稍候···',
+                spinner: 'el-icon-loading',
+                background: 'rgba(0, 0, 0, 0)'
+            });
+            setTimeout(() => {
+                if (loading) loading.close()
+            }, 30 * 1000)
+            getReportTableById(this.chooseMyReport.id).then((res) => {
+                let _data = res.data;
+                if (!_data) {
+                    loading.close();
+                    // if (this.reportIntervalTag) clearInterval(this.reportIntervalTag)
+                    return;
+                }
+                this.chooseCurrMyReport = _data;
+                this.chooseMyReport = res.data;
+                // this.setLuckysheetStatus(_data, true, '', loading)
+                // 报表数据
+                let reportTableData = _data.reportTableData;
+                let luckyData = JSON.parse(reportTableData);
+                // 基础数据项值
+                let baseItem = luckyData.baseItem;
+                // 数据项
+                let reportTableItemList = _data.reportTableItemList;
+                let reportChartList = _data.reportChartList;
+                // 报表类型
+                let reportTableType = _data.reportTableType;
+                // 绘制基础数据项
+                this.drawBaseInfo(baseItem);
+                // 绘制数据值
+                // this.drawTableData(reportTableItemList, reportTableType, _data, luckysheet.getSheet(0).data);
+                this.drawTableData(reportTableItemList, reportTableType, _data, luckyData.data[0].data);
+                for (let i in reportChartList) {
+                    this.insertEChartInfo(reportChartList[i]);
+                }
+                luckysheet.setRangeShow("BH1");
+                loading.close();
+            }).catch((e) => {
+                if (this.reportIntervalTag) {
+                    clearInterval(this.reportIntervalTag);
+                    // sessionStorage.removeItem(this.sessionName + this.reportTableId)
+                }
+                loading.close();
+                showAlertWin(this, null, e);
+            });
+        },
         /** 绘制基础数据项布局信息 */
         drawBaseInfo(baseData) {
             if (!baseData) {
@@ -513,6 +571,104 @@ export default {
             setSheetDatas(tableItemList, luckysheet, null, null, sheData);
             // this.updateLocalExcelContent();
         },
+        /** 向 Excel 插入图表 */
+        insertEChartInfo(chart) {
+            let _self = this;
+            let info = JSON.parse(chart.standby);
+            let reportChartItemList = chart.reportChartItemList;
+            let chartType = chart.chartType;
+            // 系列
+            let series = info.option.series;
+            for (let i in series) {
+                let temp = series[i];
+                temp.data = [];
+                for (let j in reportChartItemList) {
+                    let _name = reportChartItemList[j].describe
+                        ? reportChartItemList[j].describe
+                        : reportChartItemList[j].itemName;
+                    if (chartType == "pie") {
+                        info.option.legend = null;
+                        info.option.tooltip = {
+                            trigger: "item",
+                            formatter: "{b0}<br /> <b>{c0}</b>",
+                        };
+                        temp.name = _name;
+                        let names = reportChartItemList[i].valueTimeList
+                            ? reportChartItemList[i].valueTimeList.split(",")
+                            : [];
+                        names = withDateFormatLength(names);
+                        let vals = reportChartItemList[i].valueList
+                            ? reportChartItemList[i].valueList.split(",")
+                            : [];
+                        names.forEach((name, j) => {
+                            temp.data.push({
+                                name: name,
+                                value: vals[j],
+                            });
+                        });
+                    } else {
+                        let _t = [];
+                        let t = reportChartItemList[i].valueList
+                            ? reportChartItemList[i].valueList.split(",")
+                            : [];
+                        t.forEach((temp) => {
+                            _t.push(parseFloat(temp));
+                        });
+                        temp.data = _t;
+                    }
+                }
+            }
+            if (chartType != "pie") {
+                // x 轴
+                let xAxis = info.option.xAxis;
+                let legend = info.option.legend;
+                // xAxis.data = []
+                legend.data = [];
+                let axisLabel = {};
+                axisLabel.rotate = 20;
+                xAxis.axisLabel = axisLabel;
+                let times = reportChartItemList[0].valueTimeList
+                    ? reportChartItemList[0].valueTimeList.split(",")
+                    : [];
+                xAxis.data =
+                    reportChartItemList && reportChartItemList.length > 0
+                        ? withDateFormatLength(times)
+                        : [];
+                // xAxis.data = xAxis.data.slice(0, 7)
+                for (let i in reportChartItemList) {
+                    let name = reportChartItemList[i].describe
+                        ? reportChartItemList[i].describe
+                        : reportChartItemList[i].itemName;
+                    // xAxis.data.push(name)
+                    legend.data.push(name);
+                }
+            }
+            setTimeout(() => {
+                const sheet = luckysheet.getLuckysheetfile()[0];
+                let optionData = sheet.data;
+                let elements = document.getElementsByClassName(info.className);
+                for (let i = 0; i < elements.length; i++) {
+                    elements[i].parentNode.removeChild(elements[i]);
+                }
+                try {
+                    let flag = true;
+                    insertLuckysheetEChart({
+                        selector: "#luckysheet",
+                        info,
+                        sheet,
+                        optionData,
+                        echarts,
+                        luckysheet,
+                        $,
+                        _self,
+                        flag,
+                    });
+                } catch (e) {
+                    console.log(999, e == "echarts is not defined");
+                    console.error(e);
+                }
+            }, 200);
+        },
     }
 }
 </script>