From a296223898d61a9838bbd35ed75c87575e308a36 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期五, 07 十一月 2025 17:19:38 +0800
Subject: [PATCH] 1

---
 项目代码/WMS/WIDESEA_WMSClient/src/components/basic/VolTable.vue |  517 ++++++++++++++++----------------------------------------
 1 files changed, 152 insertions(+), 365 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/components/basic/VolTable.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/components/basic/VolTable.vue"
index 5618bf6..c2f2c75 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/components/basic/VolTable.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/components/basic/VolTable.vue"
@@ -1,114 +1,50 @@
 <template>
   <!-- 2021.11.18绉婚櫎voltable鏂规硶@cell-mouse-leave="rowEndEdit" -->
-  <div
-    class="vol-table"
-    :class="[
-      textInline ? 'text-inline' : '',
-      fxRight ? 'fx-right' : '',
-      isChrome ? 'chrome' : '',
-      smallCell ? 'small-table' : ''
-    ]"
-  >
+  <div class="vol-table" :class="[
+    textInline ? 'text-inline' : '',
+    fxRight ? 'fx-right' : '',
+    isChrome ? 'chrome' : '',
+    smallCell ? 'small-table' : ''
+  ]">
     <div class="mask" v-show="loading"></div>
     <div class="message" v-show="loading">鍔犺浇涓�.....</div>
-    <el-table
-      :show-summary="summary"
-      :summary-method="getSummaryData"
-      :row-key="rowKey"
-      :key="randomTableKey"
-      :lazy="lazy"
-      :defaultExpandAll="defaultExpandAll"
-      :expand-row-keys="rowKey ? expandRowKeys : undefined"
-      stripe
-      :load="loadTreeChildren"
-      @select="userSelect"
-      @select-all="userSelect"
-      @selection-change="selectionChange"
-      @row-dblclick="rowDbClick"
-      @row-click="rowClick"
-      @header-click="headerClick"
-      :highlight-current-row="highlightCurrentRow"
-      ref="table"
-      class="v-table"
-      @sort-change="sortChange"
-      tooltip-effect="dark"
-      :height="realHeight"
-      :max-height="realMaxHeight"
-      :data="url ? rowData : tableData"
-      border
-      :row-class-name="initIndex"
-      :cell-style="getCellStyle"
-      style="width: 100%"
-      :scrollbar-always-on="true"
-      :span-method="cellSpanMethod"
-      @expand-change="expandChange"
-    >
+    <el-table :show-summary="summary" :summary-method="getSummaryData" :row-key="rowKey" :key="randomTableKey"
+      :lazy="lazy" :defaultExpandAll="defaultExpandAll" :expand-row-keys="rowKey ? expandRowKeys : undefined" stripe
+      :load="loadTreeChildren" @select="userSelect" @select-all="userSelect" @selection-change="selectionChange"
+      @row-dblclick="rowDbClick" @row-click="rowClick" @header-click="headerClick"
+      :highlight-current-row="highlightCurrentRow" ref="table" class="v-table" @sort-change="sortChange"
+      tooltip-effect="dark" :height="realHeight" :max-height="realMaxHeight" :data="url ? rowData : tableData" border
+      :row-class-name="initIndex" :cell-style="getCellStyle" style="width: 100%" :scrollbar-always-on="true"
+      :span-method="cellSpanMethod" @expand-change="expandChange">
       <el-table-column v-if="columnIndex" type="index" :fixed="fixed" width="55"></el-table-column>
-      <el-table-column
-        v-if="ck"
-        type="selection"
-        :fixed="fixed"
-        :selectable="selectable"
-        width="55"
-      ></el-table-column>
+      <el-table-column v-if="ck" type="selection" :fixed="fixed" :selectable="selectable" width="55"></el-table-column>
 
       <!-- 2020.10.10绉婚櫎table绗竴琛屽己鍒舵帓搴� -->
-      <el-table-column
-        v-for="(column, cindex) in filterColumns"
-        :prop="column.field"
-        :label="column.title"
-        :min-width="column.width"
-        :formatter="formatter"
-        :fixed="column.fixed"
-        :key="column.field + cindex"
-        :align="column.align"
-        :sortable="column.sort ? 'custom' : false"
-        :show-overflow-tooltip="true"
-      >
+      <el-table-column v-for="(column, cindex) in    filterColumns   " :prop="column.field" :label="column.title"
+        :min-width="column.width" :formatter="formatter" :fixed="column.fixed" :key="column.field + cindex"
+        :align="column.align" :sortable="column.sort ? 'custom' : false" :show-overflow-tooltip="true">
         <template #header>
-          <span v-if="(column.require || column.required) && column.edit" class="column-required"
-            >*</span
-          >{{ column.title }}
+          <span v-if="(column.require || column.required) && column.edit" class="column-required">*</span>{{ column.title
+          }}
         </template>
 
         <template #default="scope">
           <!-- 2022.01.08澧炲姞澶氳〃澶达紝鐜板湪鍙敮鎸佸父鐢ㄥ姛鑳芥覆鏌擄紝涓嶆敮鎸佺紪杈戝姛鑳�(娑夊強鍒扮粍浠堕噸鍐�) -->
-          <el-table-column
-            style="border: none"
-            v-for="columnChildren in filterChildrenColumn(column.children)"
-            :key="columnChildren.field"
-            :min-width="columnChildren.width"
-            :class-name="columnChildren.class"
-            :prop="columnChildren.field"
-            :align="columnChildren.align"
-            :label="columnChildren.title"
-          >
+          <el-table-column style="border: none" v-for="columnChildren in filterChildrenColumn(column.children)"
+            :key="columnChildren.field" :min-width="columnChildren.width" :class-name="columnChildren.class"
+            :prop="columnChildren.field" :align="columnChildren.align" :label="columnChildren.title">
             <template #default="scopeChildren">
-              <a
-                href="javascript:void(0);"
-                style="text-decoration: none"
-                @click="link(scopeChildren.row, columnChildren, $event)"
-                v-if="columnChildren.link"
-                v-text="scopeChildren.row[columnChildren.field]"
-              ></a>
-              <table-render
-                v-else-if="columnChildren.render && typeof columnChildren.render == 'function'"
-                :row="scopeChildren.row"
-                key="rd-01"
-                :index="scope.$index"
-                :column="columnChildren"
-                :render="columnChildren.render"
-              ></table-render>
-              <div
-                v-else-if="columnChildren.formatter"
-                @click="
-                  columnChildren.click &&
-                    columnChildren.click(scopeChildren.row, columnChildren, scopeChildren.$index)
-                "
-                v-html="
-                  columnChildren.formatter(scopeChildren.row, columnChildren, scopeChildren.$index)
-                "
-              ></div>
+              <a href="javascript:void(0);" style="text-decoration: none"
+                @click="link(scopeChildren.row, columnChildren, $event)" v-if="columnChildren.link"
+                v-text="scopeChildren.row[columnChildren.field]"></a>
+              <table-render v-else-if="columnChildren.render && typeof columnChildren.render == 'function'"
+                :row="scopeChildren.row" key="rd-01" :index="scope.$index" :column="columnChildren"
+                :render="columnChildren.render"></table-render>
+              <div v-else-if="columnChildren.formatter" @click="
+                columnChildren.click &&
+                columnChildren.click(scopeChildren.row, columnChildren, scopeChildren.$index)
+                " v-html="columnChildren.formatter(scopeChildren.row, columnChildren, scopeChildren.$index)
+    "></div>
               <div v-else-if="columnChildren.bind">
                 {{ formatter(scopeChildren.row, columnChildren, true) }}
               </div>
@@ -121,183 +57,95 @@
             </template>
           </el-table-column>
           <!-- 2020.06.18澧炲姞render娓叉煋鑷畾涔夊唴瀹� -->
-          <table-render
-            v-if="column.render && typeof column.render == 'function'"
-            :row="scope.row"
-            key="rd-01"
-            :index="scope.$index"
-            :column="column"
-            :render="column.render"
-          ></table-render>
+          <table-render v-if="column.render && typeof column.render == 'function'" :row="scope.row" key="rd-01"
+            :index="scope.$index" :column="column" :render="column.render"></table-render>
           <!-- 鍚敤鍙屽嚮缂栬緫鍔熻兘锛屽甫缂栬緫鍔熻兘鐨勪笉浼氭覆鏌撲笅鎷夋鏂囨湰鑳屾櫙棰滆壊 -->
           <!-- @click="rowBeginEdit(scope.$index,cindex)" -->
           <!-- 2021.09.21澧炲姞缂栬緫鏃跺readonly灞炴�у垽鏂� -->
-          <template
-            v-else-if="
-              column.edit &&
-              !column.readonly &&
-              ['file', 'img', 'excel'].indexOf(column.edit.type) != -1
-            "
-          >
+          <template v-else-if="column.edit &&
+            !column.readonly &&
+            ['file', 'img', 'excel'].indexOf(column.edit.type) != -1
+            ">
             <div style="display: flex; align-items: center" @click.stop>
-              <i
-                v-if="!column.showUpload || column.showUpload(scope.row, column)"
+              <i v-if="!column.showUpload || column.showUpload(scope.row, column)"
                 style="padding: 3px; margin-right: 10px; color: #8f9293; cursor: pointer"
-                @click="showUpload(scope.row, column)"
-                class="el-icon-upload"
-              ></i>
+                @click="showUpload(scope.row, column)" class="el-icon-upload"></i>
               <template v-if="column.edit.type == 'img'">
-                <img
-                  v-for="(file, imgIndex) in getFilePath(scope.row[column.field], column)"
-                  :key="imgIndex"
-                  @error="handleImageError"
-                  @click="viewImg(scope.row, column, file.path, $event, imgIndex)"
-                  class="table-img"
-                  :src="file.path"
-                />
+                <img v-for="(file, imgIndex) in getFilePath(scope.row[column.field], column)" :key="imgIndex"
+                  @error="handleImageError" @click="viewImg(scope.row, column, file.path, $event, imgIndex)"
+                  class="table-img" :src="file.path" />
               </template>
-              <a
-                style="margin-right: 8px"
-                v-else
-                class="t-file"
-                v-for="(file, fIndex) in getFilePath(scope.row[column.field], column)"
-                :key="fIndex"
-                @click="dowloadFile(file)"
-                >{{ file.name }}</a
-              >
+              <a style="margin-right: 8px" v-else class="t-file"
+                v-for="(file, fIndex) in getFilePath(scope.row[column.field], column)" :key="fIndex"
+                @click="dowloadFile(file)">{{ file.name }}</a>
             </div>
           </template>
-          <div
-            v-else-if="
-              column.edit && !column.readonly && (column.edit.keep || edit.rowIndex == scope.$index)
-            "
-            class="edit-el"
-          >
+          <div v-else-if="column.edit && !column.readonly && (column.edit.keep || edit.rowIndex == scope.$index)
+            " class="edit-el">
             <div @click.stop class="e-item">
               <div>
                 <!-- 2020.07.24澧炲姞鏃ユ湡onChange浜嬩欢 -->
-                <el-date-picker
-                  clearable
-                  size="default"
-                  style="width: 100%"
-                  v-if="['date', 'datetime'].indexOf(column.edit.type) != -1"
-                  v-model="scope.row[column.field]"
-                  @change="
-                    (val) => {
-                      column.onChange && column.onChange(scope.row, column, val)
-                    }
-                  "
-                  :type="column.edit.type"
-                  :placeholder="column.placeholder || column.title"
-                  :disabledDate="(val) => getDateOptions(val, column)"
-                  :value-format="getDateFormat(column)"
-                  :disabled="initColumnDisabled(scope.row, column)"
-                >
+                <el-date-picker clearable size="default" style="width: 100%"
+                  v-if="['date', 'datetime'].indexOf(column.edit.type) != -1" v-model="scope.row[column.field]" @change="(val) => {
+                    column.onChange && column.onChange(scope.row, column, val)
+                  }
+                    " :type="column.edit.type" :placeholder="column.placeholder || column.title"
+                  :disabledDate="(val) => getDateOptions(val, column)" :value-format="getDateFormat(column)"
+                  :disabled="initColumnDisabled(scope.row, column)">
                 </el-date-picker>
-                <el-time-picker
-                  clearable
-                  size="default"
-                  style="width: 100%"
-                  v-else-if="column.edit.type == 'time'"
-                  v-model="scope.row[column.field]"
-                  @change="
-                    (val) => {
-                      column.onChange && column.onChange(scope.row, column, val)
-                    }
-                  "
-                  :placeholder="column.placeholder || column.title"
-                  :value-format="column.format || 'HH:mm:ss'"
-                  :disabled="initColumnDisabled(scope.row, column)"
-                >
+                <el-time-picker clearable size="default" style="width: 100%" v-else-if="column.edit.type == 'time'"
+                  v-model="scope.row[column.field]" @change="(val) => {
+                    column.onChange && column.onChange(scope.row, column, val)
+                  }
+                    " :placeholder="column.placeholder || column.title" :value-format="column.format || 'HH:mm:ss'"
+                  :disabled="initColumnDisabled(scope.row, column)">
                 </el-time-picker>
-                <el-switch
-                  v-else-if="column.edit.type == 'switch'"
-                  v-model="scope.row[column.field]"
-                  active-color="#0f84ff"
-                  inactive-color="rgb(194 194 194)"
-                  active-text="鏄�"
-                  inactive-text="鍚�"
-                  inline-prompt
-                  @change="
-                    (val) => {
-                      switchChange(val, scope.row, column)
-                    }
-                  "
-                  :active-value="
-                    typeof scope.row[column.field] == 'boolean'
-                      ? true
-                      : typeof scope.row[column.field] == 'string'
-                      ? '1'
-                      : 1
-                  "
-                  :inactive-value="
-                    typeof scope.row[column.field] == 'boolean'
-                      ? false
-                      : typeof scope.row[column.field] == 'string'
-                      ? '0'
-                      : 0
-                  "
-                  :disabled="initColumnDisabled(scope.row, column)"
-                >
+                <el-switch v-else-if="column.edit.type == 'switch'" v-model="scope.row[column.field]"
+                  active-color="#0f84ff" inactive-color="rgb(194 194 194)" active-text="鏄�" inactive-text="鍚�" inline-prompt
+                  @change="(val) => {
+                    switchChange(val, scope.row, column)
+                  }
+                    " :active-value="typeof scope.row[column.field] == 'boolean'
+    ? true
+    : typeof scope.row[column.field] == 'string'
+      ? '1'
+      : 1
+    " :inactive-value="typeof scope.row[column.field] == 'boolean'
+    ? false
+    : typeof scope.row[column.field] == 'string'
+      ? '0'
+      : 0
+    " :disabled="initColumnDisabled(scope.row, column)">
                 </el-switch>
                 <template v-else-if="['select', 'selectList'].indexOf(column.edit.type) != -1">
-                  <el-select-v2
-                    style="width: 100%"
-                    :size="size"
-                    v-if="column.bind.data.length >= select2Count"
-                    v-model="scope.row[column.field]"
-                    filterable
-                    :multiple="column.edit.type == 'select' ? false : true"
-                    :placeholder="column.placeholder || column.title"
-                    :autocomplete="column.autocomplete"
-                    :options="column.bind.data"
-                    @change="column.onChange && column.onChange(scope.row, column)"
-                    clearable
-                    :disabled="initColumnDisabled(scope.row, column)"
-                  >
+                  <el-select-v2 style="width: 100%" :size="size" v-if="column.bind.data.length >= select2Count"
+                    v-model="scope.row[column.field]" filterable :multiple="column.edit.type == 'select' ? false : true"
+                    :placeholder="column.placeholder || column.title" :autocomplete="column.autocomplete"
+                    :options="column.bind.data" @change="column.onChange && column.onChange(scope.row, column)" clearable
+                    :disabled="initColumnDisabled(scope.row, column)">
                     <template #default="{ item }">
                       {{ item.label }}
                     </template>
                   </el-select-v2>
 
-                  <el-select
-                    size="default"
-                    style="width: 100%"
-                    v-else
-                    v-model="scope.row[column.field]"
+                  <el-select size="default" style="width: 100%" v-else v-model="scope.row[column.field]"
                     :filterable="column.filter || column.bind.data.length > 10 ? true : false"
                     :multiple="column.edit.type == 'select' ? false : true"
-                    :placeholder="column.placeholder || column.title"
-                    :allow-create="column.autocomplete"
-                    @change="column.onChange && column.onChange(scope.row, column)"
-                    clearable
-                    :disabled="initColumnDisabled(scope.row, column)"
-                  >
-                    <el-option
-                      v-for="item in column.bind.data"
-                      :key="item.key"
-                      v-show="!item.hidden"
-                      :disabled="item.disabled"
-                      :label="item.value"
-                      :value="item.key"
-                      >{{ item.value }}
+                    :placeholder="column.placeholder || column.title" :allow-create="column.autocomplete"
+                    @change="column.onChange && column.onChange(scope.row, column)" clearable
+                    :disabled="initColumnDisabled(scope.row, column)">
+                    <el-option v-for="item in column.bind.data" :key="item.key" v-show="!item.hidden"
+                      :disabled="item.disabled" :label="item.value" :value="item.key">{{ item.value }}
                     </el-option>
                   </el-select>
                 </template>
-                <el-tree-select
-                  style="width: 100%"
+                <el-tree-select style="width: 100%"
                   v-else-if="column.edit.type == 'treeSelect' || column.edit.type == 'cascader'"
-                  v-model="scope.row[column.field]"
-                  :data="column.bind.data"
-                  :multiple="column.multiple === undefined ? true : column.multiple"
-                  :render-after-expand="false"
-                  :show-checkbox="true"
-                  :check-strictly="column.checkStrictly === undefined ? true : column.checkStrictly"
-                  check-on-click-node
-                  node-key="key"
-                  @change="column.onChange && column.onChange(scope.row, column)"
-                  :props="{ label: 'label' }"
-                >
+                  v-model="scope.row[column.field]" :data="column.bind.data"
+                  :multiple="column.multiple === undefined ? true : column.multiple" :render-after-expand="false"
+                  :show-checkbox="true" :check-strictly="column.checkStrictly === undefined ? true : column.checkStrictly"
+                  check-on-click-node node-key="key" @change="column.onChange && column.onChange(scope.row, column)"
+                  :props="{ label: 'label' }">
                   <template #default="{ data, node }"> {{ data.label }}</template>
                 </el-tree-select>
                 <!-- <div     v-else-if="column.edit.type == 'cascader'">4444444</div> -->
@@ -313,38 +161,21 @@
                   @change="column.onChange && column.onChange(scope.row, column)"
                 >
                 </el-cascader> -->
-                <el-input
-                  v-else-if="column.edit.type == 'textarea'"
-                  type="textarea"
-                  :placeholder="column.placeholder || column.title"
-                  v-model="scope.row[column.field]"
-                  :disabled="initColumnDisabled(scope.row, column)"
-                >
+                <el-input v-else-if="column.edit.type == 'textarea'" type="textarea"
+                  :placeholder="column.placeholder || column.title" v-model="scope.row[column.field]"
+                  :disabled="initColumnDisabled(scope.row, column)">
                 </el-input>
-                <input
-                  class="table-input"
-                  v-else-if="!column.summary && !column.onKeyPress"
-                  v-model.lazy="scope.row[column.field]"
-                  :placeholder="column.placeholder || column.title"
-                  :disabled="initColumnDisabled(scope.row, column)"
-                />
-                <el-input
-                  v-else
-                  @change="inputKeyPress(scope.row, column, $event)"
+                <input class="table-input" v-else-if="!column.summary && !column.onKeyPress"
+                  v-model.lazy="scope.row[column.field]" :placeholder="column.placeholder || column.title"
+                  :disabled="initColumnDisabled(scope.row, column)" />
+                <el-input v-else @change="inputKeyPress(scope.row, column, $event)"
                   @input="inputKeyPress(scope.row, column, $event)"
-                  @keyup.enter="inputKeyPress(scope.row, column, $event)"
-                  size="default"
-                  v-model="scope.row[column.field]"
+                  @keyup.enter="inputKeyPress(scope.row, column, $event)" size="default" v-model="scope.row[column.field]"
                   :placeholder="column.placeholder || column.title"
-                  :disabled="initColumnDisabled(scope.row, column)"
-                ></el-input>
+                  :disabled="initColumnDisabled(scope.row, column)"></el-input>
               </div>
               <div class="extra" v-if="column.extra && edit.rowIndex == scope.$index">
-                <a
-                  :style="column.extra.style"
-                  style="text-decoration: none"
-                  @click="extraClick(scope.row, column)"
-                >
+                <a :style="column.extra.style" style="text-decoration: none" @click="extraClick(scope.row, column)">
                   <i v-if="column.extra.icon" :class="[column.extra.icon]" />
                   {{ column.extra.text }}
                 </a>
@@ -353,67 +184,39 @@
           </div>
           <!--娌℃湁缂栬緫鍔熻兘鐨勭洿鎺ユ覆鏌撴爣绛�-->
           <template v-else>
-            <a
-              href="javascript:void(0)"
-              style="text-decoration: none; line-height: 1.3"
-              @click="link(scope.row, column, $event)"
-              v-if="column.link"
-              v-text="scope.row[column.field]"
-            ></a>
-            <img
-              v-else-if="column.type == 'img'"
-              v-for="(file, imgIndex) in getFilePath(scope.row[column.field], column)"
-              :key="imgIndex"
-              @error="handleImageError"
-              @click="viewImg(scope.row, column, file.path, $event, imgIndex)"
-              class="table-img"
-              :src="file.path"
-            />
-            <a
-              style="margin-right: 8px"
-              v-else-if="column.type == 'file' || column.type == 'excel'"
-              class="t-file"
-              v-for="(file, fIndex) in getFilePath(scope.row[column.field], column)"
-              :key="fIndex"
-              @click="dowloadFile(file)"
-              >{{ file.name }}</a
-            >
+            <a href="javascript:void(0)" style="text-decoration: none; line-height: 1.3"
+              @click="link(scope.row, column, $event)" v-if="column.link" v-text="scope.row[column.field]"></a>
+            <img v-else-if="column.type == 'img'" v-for="(file, imgIndex) in getFilePath(scope.row[column.field], column)"
+              :key="imgIndex" @error="handleImageError" @click="viewImg(scope.row, column, file.path, $event, imgIndex)"
+              class="table-img" :src="file.path" />
+            <a style="margin-right: 8px" v-else-if="column.type == 'file' || column.type == 'excel'" class="t-file"
+              v-for="(file, fIndex) in getFilePath(scope.row[column.field], column)" :key="fIndex"
+              @click="dowloadFile(file)">{{ file.name }}</a>
             <span v-else-if="column.type == 'date'">{{ formatterDate(scope.row, column) }}</span>
-            <div
-              v-else-if="column.formatter"
-              @click="formatterClick(scope.row, column, $event)"
-              v-html="column.formatter(scope.row, column)"
-            ></div>
+            <div v-else-if="column.type == 'jsx'" @click="formatterClick(scope.row, column, $event)">
+              <el-button v-for="item in column.formatter(scope.row, column) " :key="item" :type="item.type">{{
+                item.name
+              }}</el-button>
+            </div>
+            <div v-else-if="column.formatter" @click="formatterClick(scope.row, column, $event)"
+              v-html="column.formatter(scope.row, column)"></div>
+
             <!-- 2021.11.18淇table鏁版嵁婧愯缃负normal鍚庣偣鍑昏$event缂哄け鐨勯棶棰� -->
-            <div
-              v-else-if="column.bind && (column.normal || column.edit)"
+            <div v-else-if="column.bind && (column.normal || column.edit)"
               @click="formatterClick(scope.row, column, $event)"
-              :style="column.getStyle && column.getStyle(scope.row, column)"
-            >
+              :style="column.getStyle && column.getStyle(scope.row, column)">
               {{ formatter(scope.row, column, true) }}
             </div>
-            <div
-              v-else-if="column.click && !column.bind"
-              @click="formatterClick(scope.row, column)"
-            >
+            <div v-else-if="column.click && !column.bind" @click="formatterClick(scope.row, column)">
               {{ scope.row[column.field] }}
             </div>
-            <div
-              @click="
-                () => {
-                  column.click && formatterClick(scope.row, column)
-                }
-              "
-              v-else-if="column.bind"
-            >
-              <el-tag
-                v-if="useTag"
-                class="cell-tag"
-                :class="[isEmptyTag(scope.row, column)]"
-                :type="getColor(scope.row, column)"
-                :effect="column.effect"
-                >{{ formatter(scope.row, column, true) }}</el-tag
-              >
+            <div @click="() => {
+              column.click && formatterClick(scope.row, column)
+            }
+              " v-else-if="column.bind">
+              <el-tag v-if="useTag" class="cell-tag" :class="[isEmptyTag(scope.row, column)]"
+                :type="getColor(scope.row, column)" :effect="column.effect">{{ formatter(scope.row, column, true)
+                }}</el-tag>
               <template v-else>{{ formatter(scope.row, column, true) }}</template>
             </div>
 
@@ -425,16 +228,9 @@
     <template v-if="!paginationHide">
       <div class="block pagination" key="pagination-01" style="display: flex">
         <div style="flex: 1"></div>
-        <el-pagination
-          key="pagination-02"
-          @size-change="handleSizeChange"
-          @current-change="handleCurrentChange"
-          :current-page="paginations.page"
-          :page-sizes="paginations.sizes"
-          :page-size="paginations.size"
-          layout="total, sizes, prev, pager, next, jumper"
-          :total="paginations.total"
-        ></el-pagination>
+        <el-pagination key="pagination-02" @size-change="handleSizeChange" @current-change="handleCurrentChange"
+          :current-page="paginations.page" :page-sizes="paginations.sizes" :page-size="paginations.size"
+          layout="total, sizes, prev, pager, next, jumper" :total="paginations.total"></el-pagination>
       </div>
     </template>
   </div>
@@ -442,20 +238,11 @@
   <VolBox v-model="uploadModel" title="涓婁紶" :height="228" :width="500" :padding="15" lazy>
     <!-- 涓婁紶鍥剧墖銆乪xcel鎴栧叾浠栨枃浠躲�佹枃浠舵暟閲忋�佸ぇ灏忛檺鍒堕兘鍙互锛屽弬鐓olupload缁勪欢api -->
     <div style="height: 200px; display: flex; align-items: center">
-      <VolUpload
-        style="text-align: center"
-        :autoUpload="currentColumn.edit.autoUpload"
-        :multiple="currentColumn.edit.multiple"
-        :url="uploadUrl"
-        :max-file="currentColumn.edit.maxFile"
-        :img="currentColumn.edit.type == 'img'"
-        :excel="currentColumn.edit.type == 'excel'"
-        :fileTypes="currentColumn.edit.fileTypes ? currentColumn.edit.fileTypes : []"
-        :fileInfo="fileInfo"
-        :upload-after="uploadAfter"
-        :upload-before="uploadBefore"
-        :append="currentColumn.edit.accept"
-      >
+      <VolUpload style="text-align: center" :autoUpload="currentColumn.edit.autoUpload"
+        :multiple="currentColumn.edit.multiple" :url="uploadUrl" :max-file="currentColumn.edit.maxFile"
+        :img="currentColumn.edit.type == 'img'" :excel="currentColumn.edit.type == 'excel'"
+        :fileTypes="currentColumn.edit.fileTypes ? currentColumn.edit.fileTypes : []" :fileInfo="fileInfo"
+        :upload-after="uploadAfter" :upload-before="uploadBefore" :append="currentColumn.edit.accept">
         <div>{{ currentColumn.message }}</div>
       </VolUpload>
     </div>
@@ -635,7 +422,7 @@
     },
     spanMethod: {
       type: Function,
-      default: ({ row, column, rowIndex, columnIndex }) => {}
+      default: ({ row, column, rowIndex, columnIndex }) => { }
     },
     lazy: {
       //鏍戝舰琛ㄦ牸鏄惁榛樿寤惰繜鍔犺浇
@@ -1072,7 +859,7 @@
       // }
       return
     },
-    toggleEdit(event) {},
+    toggleEdit(event) { },
     setEditStatus(status) {
       // this.columns.forEach((x) => {
       //   if (x.hasOwnProperty("edit")) {
@@ -1483,7 +1270,7 @@
         }
       }
     },
-    getInputChangeSummaries() {},
+    getInputChangeSummaries() { },
     handleSizeChange(val) {
       this.paginations.size = val
       this.paginations.rows = val
@@ -1601,7 +1388,7 @@
       // 缂栬緫澶氶�塼able鏄剧ず
       let valArr = (val + '').split(',')
       for (let index = 0; index < valArr.length; index++) {
-        ;(column.bind.orginData && column.bind.orginData.length
+        ; (column.bind.orginData && column.bind.orginData.length
           ? column.bind.orginData
           : column.bind.data
         ).forEach((x) => {
@@ -1627,13 +1414,13 @@
       // column鍒楄缃簡summary灞炴�х殑鎵嶈绠楀��
       if (!column.summary) return
       let sum = 0
-      //  let _index = 0;
-      ;(this.url ? this.rowData : this.tableData).forEach((x, index) => {
-        if (x.hasOwnProperty(column.field) && !isNaN(x[column.field])) {
-          // _index = index;
-          sum += x[column.field] * 1
-        }
-      })
+        //  let _index = 0;
+        ; (this.url ? this.rowData : this.tableData).forEach((x, index) => {
+          if (x.hasOwnProperty(column.field) && !isNaN(x[column.field])) {
+            // _index = index;
+            sum += x[column.field] * 1
+          }
+        })
       if (sum) {
         if (column.summary == 'avg') {
           sum = sum / (this.rowData.length || this.tableData.length || 1)
@@ -1816,7 +1603,7 @@
 .e-item {
   display: flex;
 
-  > div:first-child {
+  >div:first-child {
     flex: 1;
   }
 }

--
Gitblit v1.9.3