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