From 41839ab44e27a646bbdb8359a6fb02130129f853 Mon Sep 17 00:00:00 2001
From: 陈婷婷 <506607603@qq.com>
Date: 星期三, 17 十二月 2025 08:53:26 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-VUEUI

---
 src/views/component/SettleStyleDialog/index.vue | 1448 +++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 897 insertions(+), 551 deletions(-)

diff --git a/src/views/component/SettleStyleDialog/index.vue b/src/views/component/SettleStyleDialog/index.vue
index e15d97a..e5a7467 100644
--- a/src/views/component/SettleStyleDialog/index.vue
+++ b/src/views/component/SettleStyleDialog/index.vue
@@ -1,609 +1,955 @@
 <template>
-  <el-dialog
-    title="閫夋嫨缁撶畻鏂瑰紡"
-    :visible.sync="dialogVisible"
-    width="80%"
-    :before-close="handleClose"
-    append-to-body
-  >
-    <div class="settle-style-dialog">
-      <!-- 鎼滅储鍖哄煙 -->
-      <el-card class="search-card">
-        <div slot="header" class="clearfix">
-          <span>鏌ヨ鏉′欢</span>
-          <el-button 
-            style="float: right; padding: 3px 0" 
-            type="text"
-            @click="toggleCollapse"
-          >
-            {{ collapse ? '灞曞紑' : '鏀惰捣' }}
-          </el-button>
-        </div>
-        
-        <el-form :model="queryParams" ref="queryForm" :inline="true">
-          <el-row :gutter="20">
-            <el-col :span="6">
-              <el-form-item label="浠g爜">
-                <el-input 
-                  v-model="queryParams.HNumber" 
-                  placeholder="璇疯緭鍏ヤ唬鐮�"
-                  clearable
-                  @keyup.enter.native="handleQuery"
-                />
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item label="鍚嶇О">
-                <el-input 
-                  v-model="queryParams.HName" 
-                  placeholder="璇疯緭鍏ュ悕绉�"
-                  clearable
-                  @keyup.enter.native="handleQuery"
-                />
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item label="缁撶畻鏂瑰紡浠g爜">
-                <el-input 
-                  v-model="queryParams.HNumber2" 
-                  placeholder="璇疯緭鍏ョ粨绠楁柟寮忎唬鐮�"
-                  clearable
-                  style="width: 190px"
-                />
-              </el-form-item>
-            </el-col>
-            <el-col :span="6">
-              <el-form-item>
-                <el-button type="primary" icon="el-icon-search" @click="handleQuery">鏌ヨ</el-button>
-                <el-button icon="el-icon-refresh" @click="handleReset">閲嶇疆</el-button>
-                <el-button type="primary" @click="handleResCnz" style="margin-left: 10px">閲嶆柊鍚屾</el-button>
-              </el-form-item>
-            </el-col>
-          </el-row>
-
-          <!-- 楂樼骇鎼滅储 -->
-          <el-collapse-transition>
-            <div v-show="!collapse">
-              <el-row :gutter="20">
-                <el-col :span="8">
-                  <el-form-item label="杩囨护瀛楁">
-                    <el-select v-model="queryParams.ColName" placeholder="璇烽�夋嫨瀛楁" style="width: 100%">
-                      <el-option value="0" label=""></el-option>
-                      <el-option
-                        v-for="column in visibleColumns"
-                        :key="column.field"
-                        :label="column.label"
-                        :value="column.field"
-                      />
+  <div style="padding: 10px; position: relative;">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="98px" class="searchBox">
+      <el-row>
+        <!-- <el-form-item label="閮ㄩ棬浠g爜" prop="HNumber" style="margin-left: 100px;">
+          <el-input v-model="queryParams.HNumber" placeholder="璇疯緭鍏ラ儴闂ㄤ唬鐮�" @keyup.enter.native="handleQuery" />
+        </el-form-item>
+        <el-form-item label="閮ㄩ棬鍚嶇О" prop="HName">
+          <el-input v-model="queryParams.HName" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" @keyup.enter.native="handleQuery" />
+        </el-form-item> -->
+        <el-form-item label="缁勭粐">
+          <el-select v-model="queryParams.HOrgID" placeholder="璇烽�夋嫨">
+            <el-option v-for="(item, index) in organizationList" :key="index" :label="item.Name" :value="item.ID">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label-width="78px">
+          <el-button type="primary" icon="el-icon-search" @click="handleQuery">
+            鎼� 绱�</el-button>
+          <el-button type="primary" icon="el-icon-refresh" @click="resetQuery">閲� 缃�</el-button>
+        </el-form-item>
+      </el-row>
+      <el-collapse v-model="activeSeach">
+        <el-collapse-item title="鏇村" name="1">
+          <el-card class="box-card">
+            <div slot="header" class="clearfix"><span>杩囨护</span></div>
+            <div>
+              <el-form-item label-width="0">
+                <el-row>
+                  <el-col :span="7">
+                    <el-select v-model="queryParams.ColName1" placeholder="璇烽�夋嫨">
+                      <span v-for="(item, index) in btList" :key="index">
+                        <el-option :label="item.field" :value="item.field" v-if="!item.hide"></el-option>
+                      </span>
                     </el-select>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="姣旇緝绗�">
-                    <el-select v-model="queryParams.Comparator" placeholder="璇烽�夋嫨姣旇緝绗�" style="width: 100%">
-                      <el-option value="0" label=""></el-option>
-                      <el-option label="=" value="=" />
-                      <el-option label=">=" value=">=" />
-                      <el-option label=">" value=">" />
-                      <el-option label="<=" value="<=" />
-                      <el-option label="<" value="<" />
-                      <el-option label="<>" value="<>" />
-                      <el-option label="鍖呭惈" value="7" />
-                      <el-option label="宸﹀寘鍚�" value="8" />
-                      <el-option label="鍙冲寘鍚�" value="9" />
-                      <el-option label="涓嶅寘鍚�" value="10" />
+                  </el-col>
+                  <el-col :span="6" style="padding: 0 10px;">
+                    <el-select v-model="queryParams.Comparator1" placeholder="璇烽�夋嫨">
+                      <el-option v-for="(item, index) in comparatorList" :key="index" :label="item.label"
+                        :value="item.value"></el-option>
                     </el-select>
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="鍐呭">
-                    <el-input 
-                      v-model="queryParams.ColContent" 
-                      placeholder="璇疯緭鍏ュ唴瀹�"
-                      clearable
-                      @keyup.enter.native="handleQuery"
-                    />
-                  </el-form-item>
-                </el-col>
+                  </el-col>
+                  <el-col :span="11">
+                    <el-input v-model="queryParams.ColContent1" placeholder="璇疯緭鍏�" clearable
+                      @keyup.enter.native="handleQuery" />
+                  </el-col>
+                </el-row>
+              </el-form-item>
+              <el-row>
+                <el-form-item label-width="0">
+                  <el-row>
+                    <el-col :span="7">
+                      <el-select v-model="queryParams.ColName2" placeholder="璇烽�夋嫨">
+                        <span v-for="(item, index) in btList" :key="index">
+                          <el-option :label="item.field" :value="item.field" v-if="!item.hide"></el-option>
+                        </span>
+                      </el-select>
+                    </el-col>
+                    <el-col :span="6" style="padding: 0 10px;">
+                      <el-select v-model="queryParams.Comparator2" placeholder="璇烽�夋嫨">
+                        <span v-for="(item, index) in btList" :key="index">
+                          <el-option :label="item.field" :value="item.field" v-if="!item.hide"></el-option>
+                        </span>
+                      </el-select>
+                    </el-col>
+                    <el-col :span="11">
+                      <el-input v-model="queryParams.ColContent2" placeholder="璇疯緭鍏�" clearable
+                        @keyup.enter.native="handleQuery" />
+                    </el-col>
+                  </el-row>
+                </el-form-item>
               </el-row>
+              <el-form-item label-width="0">
+                <el-row>
+                  <el-col :span="7">
+                    <el-select v-model="queryParams.ColName" placeholder="璇烽�夋嫨">
+                      <el-option v-for="(item, index) in btList" :key="index" :label="item.field"
+                        :value="item.field"></el-option>
+                    </el-select>
+                  </el-col>
+                  <el-col :span="6" style="padding: 0 10px;">
+                    <el-select v-model="queryParams.Comparator" placeholder="璇烽�夋嫨">
+                      <el-option v-for="(item, index) in comparatorList" :key="index" :label="item.label"
+                        :value="item.value"></el-option>
+                    </el-select>
+                  </el-col>
+                  <el-col :span="11">
+                    <el-input v-model="queryParams.ColContent" placeholder="璇疯緭鍏�" clearable
+                      @keyup.enter.native="handleQuery" />
+                  </el-col>
+                </el-row>
+              </el-form-item>
             </div>
-          </el-collapse-transition>
-
-          <!-- 褰撳墠杩囨护鏂规鏄剧ず -->
-          <div v-if="currentFilterScheme" class="filter-scheme">
-            {{ currentFilterScheme }}
-          </div>
-        </el-form>
-      </el-card>
-
-      <!-- 琛ㄦ牸鍖哄煙 -->
-      <el-card class="table-card">
-        <div slot="header" class="clearfix">
-          <span>缁撶畻鏂瑰紡鍒楄〃</span>
-          <el-button-group style="float: right">
-            <el-button type="primary" icon="el-icon-refresh" @click="handleRefresh">鍒锋柊</el-button>
-            <el-button type="primary" icon="el-icon-close" @click="handleExit">閫�鍑�</el-button>
-          </el-button-group>
+          </el-card>
+        </el-collapse-item>
+      </el-collapse>
+    </el-form>
+    <el-row :gutter="10" class="mb8" style="margin-top: 10px;">
+      <el-col :span="1.5">
+        <el-button type="primary" icon="el-icon-download" size="mini" @click="handleImport">瀵煎叆</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAddEdit(OperationType = 1)"
+          id="btn-Add">鏂板</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single"
+          @click="handleEdit(row = rowForm, OperationType = 3)">缂栬緫</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single"
+          @click="handleEdit(row = rowForm, copyType = 1)">澶嶅埗</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="primary" icon="el-icon-delete" size="mini" :disabled="single" @click="handleDelete">鍒犻櫎
+        </el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single"
+          @click="set_CheckBill(0, form = rowForm)">瀹℃牳</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single"
+          @click="set_CheckBill(1, form = rowForm)">杩斿鏍�</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single"
+          @click="set_De_Stop(0, form = rowForm)">绂佺敤</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="primary" icon="el-icon-edit" size="mini" :disabled="single"
+          @click="set_De_Stop(1, form = rowForm)">鍙嶇鐢�</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport">瀵煎嚭</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button type="primary" icon="el-icon-download" size="mini" @click="handleRowHide">闅愯棌鍒楄缃�</el-button>
+      </el-col>
+    </el-row>
+    <div class="tableBox" v-loading="loading">
+      <el-table :data="tableData" ref="tableData" max-height="750" :summary-method="getSummaries"
+        @selection-change="handleSelectionChange" show-summary border @row-click="handleRowClick" :row-style="rowStyle"
+        @cell-dblclick="handleDblclick" v-if="tableShow">
+        <template v-for="(item, index) in btList">
+          <el-table-column type="selection" width="55" align="center" :fixed="item.fixed" v-if="item.type == 'checkbox'"
+            :key="index" />
+          <el-table-column :align="item.align" :prop="item.field" :label="item.title" :width="item.width"
+            :key="item.sorderid" v-else-if="!item.hide && item.type != 'checkbox'" :sortable="item.sort"
+            show-overflow-tooltip :fixed="item.fixed">
+            <template slot-scope="{row,  column }">
+              <el-checkbox v-model="checked" v-if="item.type == 'checkbox'"></el-checkbox>
+              <div :style="item.style">
+                <span v-if="column.property.includes('鏃ユ湡')">{{ parseTime(row[column.property], '{y}-{m}-{d}') }}</span>
+                <el-button type="text" @click="handleEdit(row, OperationType = 3)"
+                  v-else-if="column.property == '鍗曟嵁鍙�'">{{
+                    row.鍗曟嵁鍙�
+                  }}</el-button>
+                <span v-else>{{ row[column.label] }}</span>
+              </div>
+            </template>
+          </el-table-column>
+        </template>
+      </el-table>
+      <pagination v-show="total > 0" :total="total" :page.sync="page" :limit.sync="pageSize" :pageSizes="pageSizes"
+        @pagination="getList" />
+      <el-dialog title="闅愯棌鍒楄缃�" :visible.sync="openRowHide" width="816px" append-to-body>
+        <RowSettings :colName="btResList" :HModName="HModName" @rowEditClose="rowSetClose" v-if="rowHideShow" />
+      </el-dialog>
+      <!-- 缂栬緫 -->
+      <el-dialog title="缂栬緫閮ㄩ棬璧勬枡" :visible.sync="openEdit" width="1480px" append-to-body class="xsckdBox" @close="close">
+        <edit :OperationType=OperationType :linterid=this.rowForm.HItemID :HSouceBillType=this.rowForm.HSourceBillType
+          :copyType="copyType" @editCloseGy="editGyClose" v-if="editShow" />
+      </el-dialog>
+      <el-dialog :title="upload.title" :visible.sync="upload.open" width="1500px" append-to-body>
+        <div style="margin-top:-20px ;">
+          <el-button type="primary" @click="set_AddNew">瀵煎叆鏁版嵁</el-button>
+          <el-button type="primary" @click="upload.open = false">閫� 鍑�</el-button>
+          <el-upload ref="upload" :limit="1" accept=".xlsx, .xls" style="display: inline-block; margin-left: 10px;"
+            :action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading"
+            :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess">
+            <el-button type="primary">鏂囦欢涓婁紶</el-button>
+          </el-upload>
         </div>
-
-        <el-table
-          ref="table"
-          :data="tableData"
-          v-loading="loading"
-          height="400"
-          border
-          highlight-current-row
-          @row-dblclick="handleRowDblClick"
-          @row-click="handleRowClick"
-          @selection-change="handleSelectionChange"
-        >
-          <el-table-column type="selection" width="55" align="center" />
-          <el-table-column 
-            v-for="column in tableColumns"
-            :key="column.field"
-            :prop="column.field"
-            :label="column.label"
-            :width="column.width"
-            :align="column.align"
-            :sortable="column.sortable"
-            show-overflow-tooltip
-          >
-            <template slot-scope="{ row, column }">
-              <span v-if="column.property.includes('鏃堕棿') || column.property.includes('鏃ユ湡')">
-                {{ formatDate(row[column.property]) }}
-              </span>
-              <span v-else>{{ row[column.property] }}</span>
+        <el-table :data="uploadData" v-loading="uploadTableLoading" :row-class-name="uploadDataIndex" border
+          height="550">
+          <el-table-column type="index" label="搴忓彿" width="55" align="center" />
+          <el-table-column label="缁勭粐浠g爜" prop="缁勭粐浠g爜" align="center" width="120" />
+          <el-table-column label="缁勭粐鍚嶇О" prop="缁勭粐鍚嶇О" align="center" width="120" />
+          <el-table-column label="璐熻矗浜轰唬鐮�" prop="璐熻矗浜轰唬鐮�" align="center" width="120" />
+          <el-table-column label="璐熻矗浜�" prop="璐熻矗浜�" align="center" width="120" />
+          <el-table-column label="宸ヤ綔涓績浠g爜" prop="宸ヤ綔涓績浠g爜" align="center" width="120" />
+          <el-table-column label="宸ヤ綔涓績鍚嶇О" prop="宸ヤ綔涓績鍚嶇О" align="center" width="120" />
+          <el-table-column label="鍗曠彮宸ユ椂" prop="鍗曠彮宸ユ椂" align="center" width="120" />
+          <el-table-column label="鎿嶄綔" align="center">
+            <template slot-scope="scope">
+              <el-button size="mini" type="text" icon="el-icon-delete"
+                @click="uploadDataDelete(scope.row)">鍒犻櫎</el-button>
             </template>
           </el-table-column>
         </el-table>
-
-        <!-- 鍒嗛〉 -->
-        <el-pagination
-          @size-change="handleSizeChange"
-          @current-change="handleCurrentChange"
-          :current-page="pagination.page"
-          :page-sizes="[50, 100, 500, 5000]"
-          :page-size="pagination.size"
-          layout="total, sizes, prev, pager, next, jumper"
-          :total="pagination.total"
-          style="margin-top: 15px; text-align: right;"
-        />
-      </el-card>
+        <pagination v-show="uploadTotal > 0" :total="uploadTotal" :page.sync="uploadPage" :limit.sync="uploadPageSize"
+          :pageSizes="uploadPageSizes" @pagination="currentPage" />
+      </el-dialog>
     </div>
-  </el-dialog>
+  </div>
 </template>
 
 <script>
 import axios from 'axios'
+import RowSettings from '@/views/component/rowSettings'
+import Edit from '@/views/basic/gy/gyDepartmentEdit.vue'
 
 export default {
-  name: 'SettleStyleDialog',
+  name: 'GyDepartment',
+  components: { RowSettings, Edit },
   props: {
-    visible: {
-      type: Boolean,
-      default: false
-    }
+    openPage: { type: String, },
   },
   data() {
     return {
-      dialogVisible: false,
-      collapse: false,
-      loading: false,
-      
+      activeSeach: '',
+      HModName: 'Gy_DepartmentList',
+      editShow: false,
+      openEdit: false,
+      totalNameList: [],
+      tableShow: true,
+      openPrintList: false,
+      printListShow: false,
+      // HBillType: '1205',
+      openBtnHide: false,
+      btnHideShow: false,
+      rowHideShow: false,
+      openRowHide: false,
+      copyType: 0,
+      comparatorList: [
+        { label: '=', value: '=' },
+        { label: '>=', value: '>=' },
+        { label: '>', value: '>' },
+        { label: '<=', value: '<=' },
+        { label: '<', value: '<' },
+        { label: '<>', value: '<>' },
+        { label: '鍖呭惈', value: '7' },
+        { label: '宸﹀寘鍚�', value: '8' },
+        { label: '鍙冲寘鍚�', value: '9' },
+        { label: '涓嶅寘鍚�', value: '10' },
+      ],
+      sWhere: '',
+      dialogTitle: '',
+      organizationList: JSON.parse(sessionStorage.getItem('organizationList')),//缁勭粐鍒楄〃
+      OperationType: null,//淇濆瓨绫诲瀷锛堟柊澧�1淇敼3锛�
+      HInterID: null,
+      baseURL: process.env.VUE_APP_BASE_API,
+      lastSelectedRowIndex: null, // 鐢ㄤ簬璁板綍涓婃鐐瑰嚮鐨勮绱㈠紩
+      lastSelectedRow: null, // 涓婁竴娆¢�変腑鐨勮
+      selectedRow: null, // 褰撳墠閫変腑鐨勮
+      rowForm: {},
+      activeName: 'first',
+
+      // 寮瑰嚭灞傛爣棰�
+      title: "",
+      // 鏄惁鏄剧ず寮瑰嚭灞�
+      open: false,
       // 鏌ヨ鍙傛暟
       queryParams: {
-        HNumber: '',
-        HName: '',
-        HNumber2: '',
-        ColName: '0',
-        Comparator: '0',
-        ColContent: ''
+        HOrgID: sessionStorage["OrganizationID"] - 0,
+        HName: null,
+        HNumber: null,
+        Comparator1: '',
+        Comparator2: '',
+        Comparator: '',
+        ColContent1: '',
+        ColContent2: '',
+        ColContent: '',
       },
-      
-      // 琛ㄦ牸鏁版嵁
-      tableData: [],
-      tableColumns: [],
-      selectedRow: null,
-      multipleSelection: [],
-      
-      // 鍒嗛〉
-      pagination: {
-        page: 1,
-        size: 50,
-        total: 0
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
+      // 閬僵灞�
+      loading: true,
+      tyResList: [],//鍒楄〃锛堟帴鍙f暟鎹級
+      btList: [],//琛ㄥご鍒楄〃鏄剧ず
+      btResList: [],
+      tableData: [],//鍒楄〃(鍒嗛〉鏄剧ず)
+      dataList: [],
+      titleData: ["HItemID", "HUSEORGID", "HEmpID", "璐熻矗浜�"],//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
+      pageSizes: [50, 100, 500, 5000, 50000],
+      page: 1,
+      pageSize: 0,
+      total: 0,
+      // 琛ㄥ崟鍙傛暟
+      form: {},
+      // 琛ㄥ崟鏍¢獙
+      rules: {},
+      upload: {
+        // 鏄惁鏄剧ず寮瑰嚭灞�
+        open: false,
+        // 寮瑰嚭灞傛爣棰�
+        title: "",
+        // 鏄惁绂佺敤涓婁紶
+        isUploading: false,
+        // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勬暟鎹�
+        updateSupport: 0,
+        // 璁剧疆涓婁紶鐨勮姹傚ご閮�
+        // headers: { Authorization: "Bearer " + getToken() },
+        // 涓婁紶鐨勫湴鍧�
+        url: process.env.VUE_APP_BASE_API + "/Gy_Source/Gy_Source_Excel"
       },
-      
-      // 杩囨护鏂规
-      currentFilterScheme: '',
-      HInterID_Choose: 0,
-      
-      // 闅愯棌瀛楁
-      hiddenFields: ["HItemID", "HUSEORGID", "HCREATEORGID", "鐖剁骇ID"],
-      
-      baseURL: process.env.VUE_APP_BASE_URL || 'http://47.96.97.237/API/',
-      user: 'admin',
-      HModName: 'Gy_SettleStyle',
-      HModuleName: '缁撶畻鏂瑰紡缁存姢',
-      Organization: '100038'
-    }
+      uploadData: [],
+      alluploadList: [],
+      uploadTableLoading: false,
+      uploadPageSizes: [50, 100, 500, 5000, 50000],
+      uploadPage: 1,
+      uploadPageSize: 50,
+      uploadTotal: 0,
+    };
   },
-  computed: {
-    visibleColumns() {
-      return this.tableColumns
-        .filter(col => !this.hiddenFields.includes(col.field))
-        .map(col => ({
-          field: col.field,
-          label: col.label
-        }))
-    }
-  },
-  watch: {
-    visible: {
-      immediate: true,
-      handler(val) {
-        this.dialogVisible = val
-        if (val) {
-          this.initData()
-        }
-      }
-    },
-    dialogVisible(val) {
-      this.$emit('update:visible', val)
-    }
+  created() {
+    this.getList()
   },
   methods: {
-    // 鍒濆鍖栨暟鎹�
-    initData() {
-      this.loadTableData()
-      this.getDefaultFilterScheme()
-    },
-    
-    // 鍔犺浇琛ㄦ牸鏁版嵁
-    async loadTableData() {
-      this.loading = true
-      try {
-        const sWhere = this.buildQueryCondition()
-        
-        const response = await axios.get(`${this.baseURL}/Gy_SettleStyle/SettleStyleList`, {
-          params: {
-            sWhere: sWhere,
-            user: this.user,
-            Organization: this.Organization
-          }
-        })
-        
-        if (response.data.count === 1) {
-          this.tableData = response.data.data
-          console.log('缁撶畻鏂瑰紡鏁版嵁:', this.tableData)
-          this.pagination.total = response.data.total || response.data.data.length
-          this.generateTableColumns(response.data.list)
-        } else {
-          this.$message.error(response.data.Message || '鍔犺浇鏁版嵁澶辫触')
+    getSummaries(param) {
+      const { columns, data } = param;
+      const sums = [];
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = '鍚堣';
+          return;
         }
-      } catch (error) {
-        console.error('鍔犺浇缁撶畻鏂瑰紡鏁版嵁澶辫触:', error)
-        this.$message.error('鍔犺浇缁撶畻鏂瑰紡鏁版嵁澶辫触')
-      } finally {
-        this.loading = false
+        const values = data.map(item => Number(item[column.property]));
+        if (this.totalNameList[index].totalRow) {
+          if (!values.every(value => isNaN(value))) {
+            sums[index] = values.reduce((prev, curr) => {
+              const value = Number(curr);
+              if (!isNaN(value)) {
+                return prev + curr;
+              } else {
+                return prev;
+              }
+            }, 0)
+
+          } else {
+            sums[index] = '';
+          }
+        }
+      }, 1000);
+      return sums;
+    },
+
+    handleBtnHide() {
+      this.btnHideShow = true
+      this.openBtnHide = true
+    },
+    handleRowHide() {
+      this.rowHideShow = true
+      this.openRowHide = true
+    },
+    rowSetClose(val) {
+      this.rowHideShow = false
+      this.tableShow = true
+      this.openRowHide = val
+      this.getList()
+    },
+    //鍒楄〃鏁版嵁
+    getList() {
+      this.pageSize = 50
+      this.tableShow = false
+      this.loading = true
+      if (this.pageSize == 0) {
+        this.pageSize = 50
+      }
+      //this.sWhere += " and HUSEORGID = '" + this.queryParams.HOrgID + "'"
+      //鐢熶骇璧勬枡鍒楄〃
+      axios.get(this.baseURL + '/Gy_SettleStyle/SettleStyleList', {
+        params: {
+          "sWhere": this.sWhere,
+          "user": sessionStorage["HUserName"],
+          "Organization":sessionStorage["Organization"]
+        },
+      }).then(response => {
+        this.tyResList = response.data.data//鎬绘暟鎹�
+        let data1 = response.data
+        let option = []
+        if (data1.code == 1) {
+          this.btResList = data1.list//鐢熶骇璧勬枡鎺ュ彛琛ㄥご鏁版嵁
+          this.total = data1.count;
+          var data = [];//鍒楀瓧娈垫暟鎹�
+          var col = [];
+          var totalArray = ["浠舵暟"];
+          //缁欑┖鐨勬暟缁勮祴鍊�
+          for (var key in data1.list) {//寰簭閬嶅巻鏁扮粍
+            data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });//浠庢瘡涓璞′腑鎻愬彇鏁版嵁
+          }
+          //鍦ㄥ垪琛ㄥ乏杈规坊鍔犲嬀閫夋
+          col.push({ type: 'checkbox', fixed: 'left', totalRowText: '鍚堣' });
+          for (var i = 0; i < data.length; i++) {//閬嶅巻data鏁扮粍閲嶇殑鏁版嵁
+            if (this.titleData.indexOf(data[i].name) > -1) {//妫�鏌ata銆恑銆�.name鏄惁鍦ㄦ暟缁勪腑  //璁$畻鍒�
+              col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //闅愯棌id鍒�
+            } else if (totalArray.indexOf(data[i].name) > -1 || (data[i].Type == "Decimal" || data[i].Type == "Int32")) { //璁$畻鍒�
+              col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, totalRow: true, width: 120 });
+            }
+            else {
+              col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200 });
+            }
+
+          }
+          option.cols = [col]
+          this.dataList = option
+          option.data = data1.data;
+          var result = data1.data;
+          var temp = "";
+          for (var i = 0; i < result.length; i++) {
+            if (temp != result[i]["HItemID"]) {
+              temp = result[i]["HItemID"];
+            } else {
+              result[i].鏃ユ湡 = null;
+              result[i].鍗曟嵁鍙� = "";
+              /*result[i].鐘舵�� = "";*/
+              result[i].绾㈣摑鍗曟爣璁� = "";
+              result[i].hsupid = "";
+              result[i].瀹㈡埛 = "";
+              result[i].HEmpID = "";
+              result[i].涓氬姟鍛� = "";
+              result[i].hmanagerid = "";
+              result[i].涓荤 = "";
+              result[i].hsecmanagerid = "";
+              result[i].鍙戣揣浜� = "";
+              result[i].hkeeperid = "";
+              result[i].淇濈鍛� = "";
+              result[i].HDeptID = "";
+              result[i].閮ㄩ棬 = "";
+              result[i].閿�鍞柟寮� = "";
+            }
+          }
+          option.data = result;
+          this.DisPlay_HideColumn(this.HModName, sessionStorage["HUserName"], option, this.dataList);
+        }
+      }).catch(error => {
+        this.$modal.msgError("鎺ュ彛璇锋眰澶辫触!");
+      });
+    },
+    DisPlay_HideColumn(HModName, user, option, dataOption) {
+      this.totalNameList = []
+      axios.get(this.baseURL + '/Xt_grdAlignment_WMES/grdAlignmentWMESList', {
+        params: {
+          "HModName": HModName,
+          "user": user,
+        },
+      }).then(res => {
+        let data1 = res.data
+        if (data1.data.length != 0) {
+          var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
+          var newCols = [[]];//瀵瑰簲鏁版嵁搴撳垪椤哄簭col
+          newCols[0].push(option.cols[0][0]);//鏀惧叆绗竴涓猚heckbox
+          dataCol = data1.data[0].HGridString.split(',');
+          //鍒楄缃垪鏁颁笌椤甸潰鍒楁暟鏄惁涓�鑷�
+          if (dataCol.length == option.cols[0].length - 1) {
+            //閬嶅巻瀵绘壘鍒楄缃搴斿垪鎸夐『搴忔彃鍏�
+            for (var j = 0; j < option.cols[0].length - 1; j++) {
+              for (var i = 0; i < option.cols[0].length - 1; i++) {
+                var dataCols = dataCol[j].split('|');
+                //閫夋嫨涓巇atacols鐩稿簲鍒楄繘琛屼慨鏀�
+                if (option.cols[0][i + 1]["field"] == dataCols[5]) {
+                  //闅愯棌鍒�
+                  if (dataCols[1] == 1) {
+                    option.cols[0][i + 1]["hide"] = true;
+                  }
+                  //璁剧疆鍒楀
+                  if (dataCols[3] > 0) {
+                    option.cols[0][i + 1]["width"] = dataCols[3];
+                  }
+                  //璁剧疆鍐呭瀛椾綋澶у皬
+                  if (data1.data[0].HFontSize != 0) {
+                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+                  } else {
+                    option.cols[0][i + 1]["style"] = "font-size:100%";
+                  }
+                  //鏄剧ず鍒�
+                  if (dataCols[1] == 0 && this.titleData.indexOf(option.cols[0][i + 1]["title"]) == -1) {
+                    option.cols[0][i + 1]["hide"] = false;
+                  }
+                  //缁熻鍒�
+                  if (dataCols[6] == 1) {
+                    option.cols[0][i + 1]["totalRow"] = true;
+                  } else {
+                    option.cols[0][i + 1]["totalRow"] = false;
+                  }
+                  //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
+                  switch (dataCols[2]) {
+                    case "L":
+                      option.cols[0][i + 1]["align"] = "left";
+                      break;
+                    case "M":
+                      option.cols[0][i + 1]["align"] = "center";
+                      break;
+                    case "R":
+                      option.cols[0][i + 1]["align"] = "right";
+                      break;
+                  }
+                  //璁剧疆琛ㄦ牸title灞炴�ф樉绀哄埆鍚�
+                  if (dataCols[4] != null && dataCols[4] != "") {
+                    option.cols[0][i + 1]["title"] = dataCols[4];
+                  }
+                  newCols[0].push(option.cols[0][i + 1]);
+                  break;
+                }
+              }
+            }
+            //閬嶅巻寰幆鍚庡垽鏂搴斿垪鏁版槸鍚︿竴鑷�
+            if (dataCol.length == newCols[0].length - 1) {
+              option.cols = newCols;
+              //鍙栨秷鍐荤粨鍒�
+              for (var i = 1; i < option.cols[0].length - 1; i++) {
+                if (option.cols[0][i + 1]["fixed"] != null) {
+                  option.cols[0][i + 1]["fixed"] = null;
+                }
+                else {
+                  break;
+                }
+              }
+              //鍐荤粨鍒�
+              if (data1.data[0].HFixCols != 0) {
+                for (var i = 0; i < data1.data[0].HFixCols; i++) {
+                  if (dataOption.cols[0].indexOf(option.cols[0][i + 1]["title"]) != -1) {
+                    data1.data[0].HFixCols += 1;
+                  }
+
+                  option.cols[0][i + 1]["fixed"] = "left";
+                }
+              }
+              //璁剧疆鍒楁帓搴�
+              for (var i = 1; i < option.cols[0].length; i++) {
+                if (data1.data[0].HSortFlag == "鏄�") {
+                  option.cols[0][i]["sort"] = true;
+                }
+                else {
+                  option.cols[0][i]["sort"] = false;
+                }
+              }
+            }
+          }
+          this.btList = option.cols[0]
+          this.btList.map(item => {
+            if (!item.hide) {
+              this.totalNameList.push(item)
+            }
+          })
+          if (data1.data[0].HPageSize == 0) {
+            this.pageSize = 50
+          } else {
+            this.pageSize = data1.data[0].HPageSize
+          }
+          this.tableData = option.data
+          this.tableShow = true
+          this.loading = false
+        } else {
+          this.btList = dataOption.cols[0]
+          this.btList.map(item => {
+            if (!item.hide) {
+              this.totalNameList.push(item)
+            }
+          })
+          this.tableData = dataOption.data
+          this.tableShow = true
+          this.loading = false
+        }
+      }).catch(error => {
+        this.$modal.msgError("鎺ュ彛璇锋眰澶辫触!");
+      });
+    },
+    renderHeader(h, { column, $index }) {// 鏂板缓涓�涓� span
+      let span = document.createElement(span)// 璁剧疆琛ㄥご鍚嶇О
+      span.innerText = column.label
+      //涓存椂鎻掑叆 document
+      document.body.appendChild(span)// 閲嶇偣:鑾峰彇 span 鏈�灏忓搴︼紝璁剧疆褰撳墠鍒楋紝娉ㄦ剰杩欓噷鍔犱簡 20锛屽瓧娈佃緝澶氭椂column.minWidth=span.getBoundingClientRect().width + 50.//绉婚櫎 document 涓复鏃剁殑 span
+      document.body.removeChild(span)
+      return h(span, column.label)
+    },
+    //鐐瑰嚮琛�
+    handleRowClick(row, column, event) {
+      this.lastSelectedRow = this.selectedRow; // 璁板綍涓婁竴娆¢�変腑鐨勮
+      this.selectedRow = row; // 璁板綍褰撳墠閫変腑鐨勮
+      this.lastSelectedRowIndex = this.tableData.indexOf(row);
+      this.$refs.tableData.toggleRowSelection(row);
+      if (this.openPage) {
+        this.$emit('deptEmit', row, 5)
       }
     },
-    
-    // 鏋勫缓鏌ヨ鏉′欢
-    buildQueryCondition() {
-      let sWhere = ""
-      
-      // 鍩烘湰鏌ヨ鏉′欢
-      if (this.queryParams.HNumber) {
-        sWhere += ` and 缁撶畻鏂瑰紡浠g爜 like '%${this.queryParams.HNumber}%'`
+    //閫変腑琛岄珮浜牱寮�
+    rowStyle({ row, rowIndex }) {
+      if (this.ids.includes(row.HItemID)) {
+        return { "background": "#ecf5ff" }
       }
-      if (this.queryParams.HName) {
-        sWhere += ` and 缁撶畻鏂瑰紡鍚嶇О like '%${this.queryParams.HName}%'`
+    },
+    //鍙屽嚮琛�
+    handleDblclick(row, column, cell, event) {
+      this.OperationType = 3
+      if (this.openPage) {
+        this.$emit('deptEmitDb', row, 5)
+      } else {
+        this.handleEdit();
       }
-      
-      // 楂樼骇杩囨护鏉′欢
-      if (this.queryParams.ColName && this.queryParams.ColName !== "0" && 
-          this.queryParams.Comparator && this.queryParams.Comparator !== "0") {
-        let com = ""
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      // this.rowForm = {}
+      if (this.openPage) {
+        //鍒楄〃鍗曢��
+        if (selection.length > 1) {
+          const del_row = selection.shift()
+          this.$refs.tableData.toggleRowSelection(del_row, false) //璁剧疆杩欎竴琛屽彇娑堥�変腑
+        }
+        this.rowForm = {}
+        this.ids = selection.map(item => item.HItemID)
+        this.rowForm = selection[0]
+      } else {
+        //澶氶��
+        this.ids = selection.map(item => item.HItemID)
+        this.single = selection.length != 1
+        this.multiple = !selection.length
+        if (!this.single) {
+          this.rowForm = selection[0]
+        }
+      }
+    },
+    /** 鎼滅储鎸夐挳鎿嶄綔 */
+    handleQuery() {
+      this.sWhere = ''
+      if (this.queryParams.ColName && this.queryParams.Comparator) {
+        var com = "";
         switch (this.queryParams.Comparator) {
           case "7":
-            com = `like '%${this.queryParams.ColContent}%'`
-            break
+            com = "like'%" + this.queryParams.ColContent + "%'";
+            break;
           case "8":
-            com = `like '%${this.queryParams.ColContent}'`
-            break
+            com = "like'%" + this.queryParams.ColContent + "'";
+            break;
           case "9":
-            com = `like '${this.queryParams.ColContent}%'`
-            break
+            com = "like'" + this.queryParams.ColContent + "%'";
+            break;
           case "10":
-            com = `not like '%${this.queryParams.ColContent}%'`
-            break
+            com = "not like'%" + this.queryParams.ColContent + "%'";
+            break;
           default:
-            com = `${this.queryParams.Comparator} '${this.queryParams.ColContent}'`
-            break
+            com = "" + this.queryParams.Comparator + "'" + this.queryParams.ColContent + "'";
+            break;
         }
-        sWhere += ` and ${this.queryParams.ColName} ${com}`
+        this.sWhere += " and " + this.queryParams.ColName + " " + com;
       }
-      
-      // 娣诲姞鎵撳紑绫诲瀷鐨勮繃婊ゆ潯浠�
-      sWhere += this.addSWhereByOpenType()
-      
-      return sWhere
+      if (this.queryParams.ColName1 && this.queryParams.Comparator1) {
+        var com1 = "";
+        switch (this.queryParams.Comparator1) {
+          case "7":
+            com1 = "like'%" + this.queryParams.ColContent1 + "%'";
+            break;
+          case "8":
+            com1 = "like'%" + this.queryParams.ColContent1 + "'";
+            break;
+          case "9":
+            com1 = "like'" + this.queryParams.ColContent1 + "%'";
+            break;
+          case "10":
+            com1 = "not like'%" + this.queryParams.ColContent1 + "%'";
+            break;
+          default:
+            com1 = "" + this.queryParams.Comparator1 + "'" + this.queryParams.ColContent1 + "'";
+            break;
+        }
+        this.sWhere += " and " + this.queryParams.ColName1 + " " + com1;
+      }
+      if (this.queryParams.ColName2 && this.queryParams.Comparator2) {
+        var com2 = "";
+        switch (this.queryParams.Comparator2) {
+          case "7":
+            com2 = "like'%" + this.queryParams.ColContent2 + "%'";
+            break;
+          case "8":
+            com2 = "like'%" + this.queryParams.ColContent2 + "'";
+            break;
+          case "9":
+            com2 = "like'" + this.queryParams.ColContent2 + "%'";
+            break;
+          case "10":
+            com2 = "not like'%" + this.queryParams.ColContent2 + "%'";
+            break;
+          default:
+            com2 = "" + this.queryParams.Comparator + "'" + this.queryParams.ColContent + "'";
+            break;
+        }
+        this.sWhere += " and " + this.queryParams.ColName2 + " " + com2;
+      }
+      if (this.queryParams.HNumber) {
+        this.sWhere += " and 閮ㄩ棬浠g爜 like '%" + this.queryParams.HNumber + "%'";
+      }
+      if (this.queryParams.HName) {
+        this.sWhere += " and 閮ㄩ棬鍚嶇О like '%" + this.queryParams.HName + "%'";
+      }
+      if (this.queryParams.HOrgID) {
+        this.sWhere += " and HUSEORGID = '" + this.queryParams.HOrgID + "'"
+      }
+      // this.sWhere += this.addSWhereByOpenType()
+      // this.sWhere += this.getOrgIDByUser()
+      this.clearData()
+      this.getList()
+
     },
-    
-    // 鏍规嵁鎵撳紑绫诲瀷娣诲姞鏉′欢
+    // 鍒ゆ柇鏄洿鎺ユ墦寮�椤甸潰杩樻槸鍏跺畠椤甸潰閫氳繃閫夋嫨鎸夐挳鎵撳紑锛屽苟鏄剧ず鐩稿簲鏁版嵁
     addSWhereByOpenType() {
-      // 杩欓噷鍙互鏍规嵁闇�瑕佹坊鍔犵壒瀹氱殑杩囨护鏉′欢
-      return " and 绂佺敤鏍囪 = ''"
-    },
-    
-    // 鐢熸垚琛ㄦ牸鍒�
-    generateTableColumns(columnList) {
-      this.tableColumns = []
-      
-      // 娣诲姞閫夋嫨鍒�
-      this.tableColumns.push({ type: 'selection', fixed: 'left' })
-      
-      // 鍔ㄦ�佺敓鎴愬垪
-      if (columnList && columnList.length > 0) {
-        columnList.forEach(item => {
-          if (!this.hiddenFields.includes(item.ColmCols)) {
-            const column = {
-              field: item.ColmCols,
-              label: item.ColmCols,
-              align: 'center',
-              sortable: true,
-              width: 200
-            }
-            
-            // 鏍规嵁瀛楁绫诲瀷璁剧疆涓嶅悓鐨勬ā鏉�
-            if (item.ColmType === 'DateTime') {
-              column.formatter = this.formatDate
-            }
-            
-            this.tableColumns.push(column)
-          }
-        })
-      } else {
-        // 榛樿鍒楋紙濡傛灉鎺ュ彛娌℃湁杩斿洖鍒椾俊鎭級
-        const defaultColumns = [
-          { field: '缁撶畻鏂瑰紡浠g爜', label: '缁撶畻鏂瑰紡浠g爜', align: 'center', width: 120 },
-          { field: '缁撶畻鏂瑰紡鍚嶇О', label: '缁撶畻鏂瑰紡鍚嶇О', align: 'center', width: 120 },
-          { field: '鏉$爜缂栧彿', label: '鏉$爜缂栧彿', align: 'center', width: 120 },
-          { field: '绂佺敤鏍囪', label: '绂佺敤鏍囪', align: 'center', width: 100 },
-          { field: '澶囨敞', label: '澶囨敞', align: 'center', width: 150 },
-          { field: '瀹℃牳浜�', label: '瀹℃牳浜�', align: 'center', width: 100 },
-          { field: '鍒涘缓浜�', label: '鍒涘缓浜�', align: 'center', width: 100 },
-          { field: '鍒涘缓鏃堕棿', label: '鍒涘缓鏃堕棿', align: 'center', width: 150 }
-        ]
-        this.tableColumns = [...this.tableColumns, ...defaultColumns]
+      //鑾峰彇鍙傛暟
+      var sWhere = "";
+      //this.openPage鍒ゆ柇鏄惁鏈夊�硷紝鏈変唬琛ㄥ叾瀹冮〉闈㈤�氳繃閫夋嫨鎸夐挳鎵撳紑
+      if (this.openPage) {
+        sWhere += " and 绂佺敤鏍囪 != 'Y' and ISNULL(瀹℃牳浜�,'')  != ''"
+        return sWhere;
       }
+      return sWhere;
     },
-    
-    // 鏌ヨ
-    handleQuery() {
-      this.pagination.page = 1
-      this.loadTableData()
+    //鏍规嵁鐢ㄦ埛鑾峰彇鐢ㄦ埛鍏宠仈缁勭粐鐨勮繃婊ゆ潯浠�
+    getOrgIDByUser() {
+      var res = "";
+      axios.get(this.baseURL + '/Xt_User/getOrgIDListByUser', {
+        params: {
+          HModName: this.HModName,
+          user: sessionStorage["HUserName"],
+          HOrgID: sessionStorage["OrganizationID"]
+        },
+      }).then(response => {
+        let result = response.data
+        if (result.count == 1) {
+          if (result.data[0].sWhere == "1") {
+            res = " and HUSEORGID = '" + sessionStorage["OrganizationID"] + "'";
+          } else {
+            res = result.data[0].sWhere;
+          }
+        }
+      }).catch(error => {
+        res = " and 1 = 0";
+        this.$modal.msgError("鎺ュ彛璇锋眰澶辫触!");
+      });
+      return res;
     },
-    
-    // 閲嶇疆鏌ヨ
-    handleReset() {
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.sWhere = ''
       this.queryParams = {
-        HNumber: '',
-        HName: '',
-        HNumber2: '',
-        ColName: '0',
-        Comparator: '0',
-        ColContent: ''
+        HOrgID: null,
+        HName: null,
+        HNumber: null,
+        Comparator1: '',
+        Comparator2: '',
+        Comparator: '',
+        ColContent1: '',
+        ColContent2: '',
+        ColContent: '',
       }
-      this.pagination.page = 1
-      this.loadTableData()
+      this.clearData()
+      this.resetForm("queryForm")
+      this.getList()
     },
-    
-    // 閲嶆柊鍚屾
-    async handleResCnz() {
-      if (!this.queryParams.HNumber2) {
-        this.$message.warning('璇疯緭鍏ョ粨绠楁柟寮忎唬鐮�')
-        return
-      }
-      
-      try {
-        const response = await axios.get(`${this.baseURL}/Gy_SettleStyle/Gy_SettleStyleViewApi`, {
-          params: {
-            Number: this.queryParams.HNumber2,
-            Type: 'JSFS'
-          }
-        })
-        
-        if (response.data.count === 1) {
-          this.$message.success(response.data.Message)
-          this.loadTableData() // 閲嶆柊鍔犺浇鏁版嵁
-        } else {
-          this.$message.error(response.data.Message)
-        }
-      } catch (error) {
-        console.error('閲嶆柊鍚屾澶辫触:', error)
-        this.$message.error('閲嶆柊鍚屾澶辫触')
-      }
+    clearData() {
+      this.single = true
+      this.multiple = true
+      this.OperationType = 0
+      this.copyType = 0
+      this.ids = []
     },
-    
-    // 鍒锋柊
-    handleRefresh() {
-      this.loadTableData()
+    //閫�鍑�
+    close() {
+      this.tableShow = true
+      this.openEdit = false
+      this.editShow = false
+      this.clearData()
+      this.getList()
     },
-    
-    // 鍒囨崲鎶樺彔鐘舵��
-    toggleCollapse() {
-      this.collapse = !this.collapse
+    //鎵撳紑鏂板缁勪欢寮圭獥
+    handleAddEdit() {
+      this.rowForm.HItemID = 0
+      this.$nextTick(() => {
+        this.openEdit = true
+        this.editShow = true
+      })
+
     },
-    
-    // 琛屽弻鍑讳簨浠�
-    handleRowDblClick(row) {
-      this.selectedRow = row
-      this.confirmSelection()
-    },
-    
-    // 琛岀偣鍑讳簨浠�
-    handleRowClick(row) {
-      this.$refs.table.toggleRowSelection(row)
-      this.selectedRow = row
-    },
-    
-    // 閫夋嫨鍙樺寲
-    handleSelectionChange(selection) {
-      this.multipleSelection = selection
-      if (selection.length === 1) {
-        this.selectedRow = selection[0]
-      }
-    },
-    
-    // 纭閫夋嫨
-    confirmSelection() {
-      if (this.selectedRow) {
-        this.$emit('selected', {
-          HItemID: this.selectedRow.HItemID,
-          缁撶畻鏂瑰紡鍚嶇О: this.selectedRow.缁撶畻鏂瑰紡鍚嶇О
-        })
-        this.dialogVisible = false
-      } else {
-        this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�')
-      }
-    },
-    
-    // 閫�鍑�
-    handleExit() {
-      this.dialogVisible = false
-    },
-    
-    // 鍏抽棴瀵硅瘽妗�
-    handleClose(done) {
-      this.$confirm('纭鍏抽棴锛�')
-        .then(_ => {
-          done()
-        })
-        .catch(_ => {})
-    },
-    
-    // 鍒嗛〉澶у皬鏀瑰彉
-    handleSizeChange(size) {
-      this.pagination.size = size
-      this.pagination.page = 1
-      this.loadTableData()
-    },
-    
-    // 褰撳墠椤垫敼鍙�
-    handleCurrentChange(page) {
-      this.pagination.page = page
-      this.loadTableData()
-    },
-    
-    // 鏍煎紡鍖栨棩鏈�
-    formatDate(dateString) {
-      if (!dateString) return ''
-      try {
-        const date = new Date(dateString)
-        return date.toLocaleDateString('zh-CN')
-      } catch (error) {
-        return dateString
-      }
-    },
-    
-    // 鑾峰彇榛樿杩囨护鏂规
-    async getDefaultFilterScheme() {
-      try {
-        const response = await axios.get(`${this.baseURL}/Xt_FastICScheme/Chooselist`, {
-          params: {
-            user: this.user,
-            HModuleName: this.HModuleName,
-            HInterID: 0,
-            Type: "Default"
-          }
-        })
-        
-        if (response.data.count === 1) {
-          const data = response.data.data[0]
-          this.HInterID_Choose = data.hmainid
-          this.currentFilterScheme = `褰撳墠杩囨护鏂规锛�${data.鏂规鍚嶇О} (${data.澶囨敞})`
-          
-          // 搴旂敤杩囨护鏉′欢
-          this.applyFilterConditions(response.data.data)
-        }
-      } catch (error) {
-        console.error('鑾峰彇杩囨护鏂规澶辫触:', error)
-      }
-    },
-    
-    // 搴旂敤杩囨护鏉′欢
-    applyFilterConditions(filterData) {
-      filterData.forEach(item => {
-        if (this.queryParams.hasOwnProperty(item.杩囨护瀛楁ID)) {
-          this.queryParams[item.杩囨护瀛楁ID] = item.杩囨护鍊�
-        }
+    //鎵撳紑淇敼缁勪欢寮圭獥
+    handleEdit() {
+      this.$nextTick(() => {
+        this.openEdit = true
+        this.editShow = true
       })
     },
-    
-    // 淇濆瓨杩囨护鏂规
-    handleSaveScheme() {
-      this.$message.info('淇濆瓨鏂规鍔熻兘')
+    //鍏抽棴缂栬緫椤甸潰
+    editGyClose(val) {
+      this.editShow = false
+      this.openEdit = false
+      this.clearData()
+      this.getList()
     },
-    
-    // 璇诲彇杩囨护鏂规
-    handleReadScheme() {
-      this.$message.info('璇诲彇鏂规鍔熻兘')
+    /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+    handleDelete() {
+      this.$modal.confirm('纭瑕佸垹闄ゅ悧锛屽垹闄ゅ悗涓嶈兘鎭㈠').then(() => {
+        if (!this.rowForm.瀹℃牳浜�) {
+          axios.get(this.baseURL + "DeltetGy_Department", {
+            params: { 'HItemID': this.rowForm.HItemID, 'user': sessionStorage["HUserName"] }
+          }).then(response => {
+            if (response.data.count == 1) {
+              this.getList()
+              this.$modal.msgSuccess("鍒犻櫎鎴愬姛")
+            } else {
+              this.$modal.msgError("閿欒:" + result.code + result.Message);
+            }
+          }).catch(error => {
+            this.$modal.msgError("鎺ュ彛璇锋眰澶辫触!");
+          });
+        } else {
+          this.$modal.msgError("姝ゆ潯鏁版嵁涓嶆槸鍒涘缓鐘舵��,鏃犳硶鍒犻櫎!");
+        }
+      }).catch(() => { })
     },
-    
-    // 鍒楄缃�
-    handleColumnSetting() {
-      this.$message.info('鍒楄缃姛鑳�')
-    }
+    // 鍙嶅鏍�/瀹℃牳鏁版嵁
+    set_CheckBill(num, form) {
+      var InterID = form.HItemID || form.HInterID
+      //閫昏緫瀹℃牳鏂规硶
+      axios.get(this.baseURL + "/Gy_Department/AuditGy_Department", {
+        params: { "HInterID": InterID, "IsAudit": num, "CurUserName": sessionStorage["HUserName"] }
+      }).then(response => {
+        let result = response.data
+        if (result.code == 1) {
+          this.$modal.msgSuccess('鎿嶄綔鎴愬姛');
+          this.getList();
+        }
+        else {
+          this.$modal.msgError("閿欒:" + result.code + result.Message,);
+        }
+        this.clearData()
+      }).catch(error => {
+        this.$modal.msgError("鎺ュ彛璇锋眰澶辫触!");
+      });
+    },
+    // 鍙嶇鐢�/绂佺敤鏁版嵁
+    set_De_Stop(num, form) {
+      var InterID = form.HItemID.toString() || form.HInterID.toString()
+      //閫昏緫瀹℃牳鏂规硶
+      axios.get(this.baseURL + "/Gy_Department/StopGy_Department", {
+        params: { "HInterID": InterID, "IsStop": num, "CurUserName": sessionStorage["HUserName"] }
+      }).then(response => {
+        let result = response.data
+        if (result.code == 1) {
+          this.$modal.msgSuccess('鎿嶄綔鎴愬姛');
+          this.getList();
+        }
+        else {
+          this.$modal.msgError("閿欒:" + result.code + result.Message,);
+        }
+        this.clearData()
+      }).catch(error => {
+        this.$modal.msgError("鎺ュ彛璇锋眰澶辫触!");
+      });
+    },
+    //瀵煎嚭
+    handleExport() {
+      const ws = this.$XLSX.utils.json_to_sheet(this.tyResList); // 灏嗘暟鎹浆鎹负宸ヤ綔琛�
+      const wb = this.$XLSX.utils.book_new(); // 鍒涘缓涓�涓柊鐨勫伐浣滅翱
+      this.$XLSX.utils.book_append_sheet(wb, ws, "Sheet1"); // 灏嗗伐浣滆〃娣诲姞鍒板伐浣滅翱涓紝骞跺懡鍚嶄负"Sheet1"
+      this.$XLSX.writeFile(wb, `gySource_${new Date().getTime()}.xlsx`); // 瀵煎嚭鏂囦欢      
+    },
+    handleImport() {
+      this.uploadData = []
+      this.upload.isUploading = false
+      this.upload.title = "瀵煎叆";
+      this.upload.open = true;
+    },
+    // 鏂囦欢涓婁紶涓鐞�
+    handleFileUploadProgress(event, file, fileList) {
+      this.upload.isUploading = true;
+      this.uploadTableLoading = true
+    },
+    // 鏂囦欢涓婁紶鎴愬姛澶勭悊
+    handleFileSuccess(response, file, fileList) {
+      // this.upload.open = false;
+      this.upload.isUploading = true;
+      this.$refs.upload.clearFiles();
+      if (response.code == 1) {
+        this.alluploadList = response.data
+        this.uploadData = this.getPage(this.uploadPage, this.alluploadList)
+        this.uploadTotal = this.alluploadList.length
+        this.uploadTableLoading = false
+        // this.set_AddNew(response.data)
+      } else {
+        this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.Message + "</div>", "瀵煎叆缁撴灉", { dangerouslyUseHTMLString: true });
+      }
+
+    },
+    // 鎻愪氦涓婁紶鏂囦欢
+    submitFileForm() {
+      this.$refs.upload.submit();
+    },
+    set_AddNew() {
+      var num = [];
+      for (var i = 0; i < this.uploadData.length; i++) {
+        if (this.uploadData[i] != "") {
+          num.push(this.uploadData[i])
+        }
+      }
+      var sSubStr = JSON.stringify(num);
+      var sMainSub = sSubStr + '&鍜�' + sessionStorage["HUserName"];
+      axios({
+        method: 'post',
+        url: this.baseURL + "/Gy_Source/Gy_Source_btnSave",
+        data: {
+          'sMainSub': sMainSub
+        },
+      }).then(res => {
+        this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + res.data.Message + "</div>", "瀵煎叆缁撴灉", { dangerouslyUseHTMLString: true });
+        this.upload.open = false
+        this.getList()
+      }).catch(error => {
+        this.$modal.msgError("鎺ュ彛璇锋眰澶辫触!");
+      });
+    },
+    uploadDataIndex({ row, rowIndex }) {
+      row.index = rowIndex + 1;
+    },
+    uploadDataDelete(row) {
+      this.$modal.confirm('纭瑕佸垹闄ゅ悧锛屽垹闄ゅ悗涓嶈兘鎭㈠').then(() => {
+        const deleteList = [row.index]
+        const data = this.uploadData
+        this.uploadData = data.filter(item => {
+          return deleteList.indexOf(item.index) == -1
+        });
+      }).catch(() => { })
+    },
+    getPage(page, list) {
+      let sindex = (parseInt(page) - 1) * this.uploadPageSize
+      let eindex = parseInt(page) * this.uploadPageSize
+      let newList = list.slice(sindex, eindex)
+      console.log(newList)
+      return newList
+    },
+    currentPage(val) {
+      this.uploadPage = val.page
+      setTimeout(() => {
+        this.uploadData = this.getPage(this.uploadPage, this.alluploadList)
+      }, 100)
+    },
   }
-}
+};
 </script>
-
-<style scoped>
-.settle-style-dialog {
-  height: 70vh;
-  display: flex;
-  flex-direction: column;
+<style>
+.xsckdBox .el-date-editor.el-input {
+  width: 100%;
 }
-
-.search-card {
-  margin-bottom: 15px;
-}
-
-.table-card {
-  flex: 1;
-  display: flex;
-  flex-direction: column;
-}
-
-.table-card >>> .el-card__body {
-  flex: 1;
-  display: flex;
-  flex-direction: column;
-}
-
-.clearfix:before,
-.clearfix:after {
-  display: table;
-  content: "";
-}
-.clearfix:after {
-  clear: both;
-}
-
-.el-form-item {
-  margin-bottom: 15px;
-}
-
-.el-table {
-  flex: 1;
-}
-
-.filter-scheme {
-  text-align: center;
-  font-size: 15px;
-  font-weight: bold;
-  color: #fc9393;
-  margin: 10px 0;
-}
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.1