From ee38779810cfbe512788f71679aaaaa7fedb1775 Mon Sep 17 00:00:00 2001
From: lxp <1928192722@qq.com>
Date: 星期二, 18 三月 2025 11:19:00 +0800
Subject: [PATCH] 表格合并以及权限添加
---
src/components/Table/lims-table.vue | 293 +++++++++++++++++++------
src/views/business/unPass/index.vue | 38 +++
src/views/business/reportPreparation/index.vue | 102 ++++----
src/views/business/costStatistics/index.vue | 75 +++++-
src/views/performance/manHour/work-time-management.vue | 39 ++
src/views/performance/manHour/work-time-statistics.vue | 27 +-
src/views/performance/manHour/work-time-config.vue | 22 +
src/views/business/inspectionTask/index.vue | 2
src/views/business/reportPreparation/onlyoffice.vue | 5
src/views/bulletinBoard/tasksShow/index.vue | 25 -
src/views/performance/staffEvaluate/index.vue | 2
src/views/performance/manHour/index.vue | 6
src/views/performance/class/index.vue | 9
src/views/business/sample/index.vue | 14
14 files changed, 450 insertions(+), 209 deletions(-)
diff --git a/src/components/Table/lims-table.vue b/src/components/Table/lims-table.vue
index 74628ad..e293a94 100644
--- a/src/components/Table/lims-table.vue
+++ b/src/components/Table/lims-table.vue
@@ -1,31 +1,85 @@
<template>
<div>
<!-- 琛ㄦ牸 -->
- <el-table ref="multipleTable" v-loading="tableLoading" element-loading-text="鍔犺浇涓�..."
- element-loading-spinner="el-icon-loading" :border="border" :data="tableData"
- :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" :height="height"
- :highlight-current-row="highlightCurrentRow" :row-class-name="rowClassName" :row-style="rowStyle"
- :row-key="rowKey" :span-method="spanMethod" :stripe="stripe" style="width: 100%" tooltip-effect="dark"
- @row-click="rowClick" @current-change="currentChange" @selection-change="handleSelectionChange"
- class="lims-table">
- <el-table-column align="center" type="selection" width="55" v-if="isSelection" />
- <el-table-column align="center" label="搴忓彿" type="index" width="60" :index="indexMethod" />
+ <el-table
+ ref="multipleTable"
+ v-loading="tableLoading"
+ element-loading-text="鍔犺浇涓�..."
+ element-loading-spinner="el-icon-loading"
+ :border="border"
+ :data="tableData"
+ :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }"
+ :height="height"
+ :highlight-current-row="highlightCurrentRow"
+ :row-class-name="rowClassName"
+ :row-style="rowStyle"
+ :row-key="rowKey"
+ :span-method="finalSpanMethod"
+ :stripe="stripe"
+ style="width: 100%"
+ tooltip-effect="dark"
+ @row-click="rowClick"
+ @current-change="currentChange"
+ @selection-change="handleSelectionChange"
+ class="lims-table"
+ >
+ <el-table-column
+ align="center"
+ type="selection"
+ width="55"
+ v-if="isSelection"
+ />
+ <el-table-column
+ align="center"
+ label="搴忓彿"
+ type="index"
+ width="60"
+ :index="indexMethod"
+ />
- <el-table-column v-for="(item, index) in column" :key="index" :column-key="item.columnKey"
- :filter-method="item.filterHandler" :filter-multiple="item.filterMultiple" :filtered-value="item.filteredValue"
- :filters="item.filters" :fixed="item.fixed" :label="item.label" :min-width="item.minWidth" :prop="item.prop"
- :show-overflow-tooltip="item.dataType === 'action' || item.dataType === 'slot' ? false : true
- " :sortable="item.sortable ? true : false" :type="item.type" align="center"
- :width="item.dataType == 'action' ? btnWidth : item.width">
+ <el-table-column
+ v-for="(item, index) in column"
+ :key="index"
+ :column-key="item.columnKey"
+ :filter-method="item.filterHandler"
+ :filter-multiple="item.filterMultiple"
+ :filtered-value="item.filteredValue"
+ :filters="item.filters"
+ :fixed="item.fixed"
+ :label="item.label"
+ :min-width="item.minWidth"
+ :prop="item.prop"
+ :show-overflow-tooltip="
+ item.dataType === 'action' || item.dataType === 'slot' ? false : true
+ "
+ :sortable="item.sortable ? true : false"
+ :type="item.type"
+ align="center"
+ :width="item.dataType == 'action' ? btnWidth : item.width"
+ >
<!-- <div class="123" v-if="item.type == ''"> -->
- <template v-if="item.hasOwnProperty('colunmTemplate')" :slot="item.colunmTemplate" slot-scope="scope">
- <slot v-if="item.theadSlot" :index="index" :name="item.theadSlot" :row="scope.row" />
+ <template
+ v-if="item.hasOwnProperty('colunmTemplate')"
+ :slot="item.colunmTemplate"
+ slot-scope="scope"
+ >
+ <slot
+ v-if="item.theadSlot"
+ :index="index"
+ :name="item.theadSlot"
+ :row="scope.row"
+ />
</template>
<template slot-scope="scope">
<!-- 鎻掓Ы -->
<div v-if="item.dataType == 'slot'">
- <slot v-if="item.slot" :index="scope.$index" :name="item.slot" :row="scope.row" />
+ <slot
+ v-if="item.slot"
+ :index="scope.$index"
+ :name="item.slot"
+ :row="scope.row"
+ />
</div>
<!-- 杩涘害鏉� -->
<div v-else-if="item.dataType == 'progress'">
@@ -33,73 +87,141 @@
</div>
<!-- 鍥剧墖 -->
<div v-else-if="item.dataType == 'image'">
- <img :src="javaApi + '/img/' + scope.row[item.prop]" alt=""
- style="width: 40px; height: 40px; margin-top: 10px" />
+ <img
+ :src="javaApi + '/img/' + scope.row[item.prop]"
+ alt=""
+ style="width: 40px; height: 40px; margin-top: 10px"
+ />
</div>
<!-- tag -->
<div v-else-if="item.dataType == 'tag'">
- <el-tag v-if="
- typeof dataTypeFn(scope.row[item.prop], item.formatData) ==
- 'string'
- " :title="scope.row[item.prop] | formatters(item.formatData)"
- :type="formatType(scope.row[item.prop], item.formatType)">{{ scope.row[item.prop] |
- formatters(item.formatData) }}</el-tag>
- <el-tag v-for="(tag, index) in dataTypeFn(
- scope.row[item.prop],
- item.formatData
- )" v-else-if="
- typeof dataTypeFn(scope.row[item.prop], item.formatData) ==
- 'object'
- " :key="index" :title="scope.row[item.prop] | formatters(item.formatData)"
- :type="formatType(tag, item.formatType)">{{
+ <el-tag
+ v-if="
+ typeof dataTypeFn(scope.row[item.prop], item.formatData) ==
+ 'string'
+ "
+ :title="scope.row[item.prop] | formatters(item.formatData)"
+ :type="formatType(scope.row[item.prop], item.formatType)"
+ >{{ scope.row[item.prop] | formatters(item.formatData) }}</el-tag
+ >
+ <el-tag
+ v-for="(tag, index) in dataTypeFn(
+ scope.row[item.prop],
+ item.formatData
+ )"
+ v-else-if="
+ typeof dataTypeFn(scope.row[item.prop], item.formatData) ==
+ 'object'
+ "
+ :key="index"
+ :title="scope.row[item.prop] | formatters(item.formatData)"
+ :type="formatType(tag, item.formatType)"
+ >{{
item.tagGroup
? tag[item.tagGroup.label]
? tag[item.tagGroup.label]
: tag
: tag
- }}</el-tag>
- <el-tag v-else :title="scope.row[item.prop] | formatters(item.formatData)"
- :type="formatType(scope.row[item.prop], item.formatType)">{{ scope.row[item.prop] |
- formatters(item.formatData) }}</el-tag>
+ }}</el-tag
+ >
+ <el-tag
+ v-else
+ :title="scope.row[item.prop] | formatters(item.formatData)"
+ :type="formatType(scope.row[item.prop], item.formatType)"
+ >{{ scope.row[item.prop] | formatters(item.formatData) }}</el-tag
+ >
</div>
<!-- 鎸夐挳 -->
- <div v-else-if="item.dataType == 'action'" :style="`width:${getWidth(item.operation, scope.row)}`">
+ <div
+ v-else-if="item.dataType == 'action'"
+ :style="`width:${getWidth(item.operation, scope.row)}`"
+ >
<template v-for="(o, key) in item.operation">
- <el-button v-show="o.type != 'upload'" size="mini" v-if="o.showHide ? o.showHide(scope.row) : true"
- :disabled="o.disabled ? o.disabled(scope.row) : false" :icon="iconFn(o)" :plain="o.plain"
- :style="{ color: o.name === '鍒犻櫎' ? '#f56c6c' : o.color }" :type="o.type | typeFn(scope.row)"
- @click="o.clickFun(scope.row)" :key="key">
+ <el-button
+ v-show="o.type != 'upload'"
+ size="mini"
+ v-if="o.showHide ? o.showHide(scope.row) : true"
+ :disabled="o.disabled ? o.disabled(scope.row) : false"
+ :icon="iconFn(o)"
+ :plain="o.plain"
+ :style="{ color: o.name === '鍒犻櫎' ? '#f56c6c' : o.color }"
+ :type="o.type | typeFn(scope.row)"
+ @click="o.clickFun(scope.row)"
+ :key="key"
+ >
{{ o.name }}
</el-button>
- <el-upload :action="javaApi + o.url" size="mini" ref="upload" :multiple="o.multiple ? o.multiple : false"
- :disabled="o.disabled ? o.disabled(scope.row) : false" :accept="o.accept
- ? o.accept
- : '.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
- " v-if="o.type == 'upload' && o.url" style="display: inline-block; width: 50px"
- :data="o.data ? o.data(scope.row) : {}" :before-upload="o.beforeUpload ? o.beforeUpload(scope.row) : () => true
- " v-show="o.showHide ? o.showHide(scope.row) : true" :headers="uploadHeader" :on-error="onError"
- :on-exceed="onExceed" :on-success="handleSuccessUp" :show-file-list="false" :key="key">
- <el-button :size="o.size ? o.size : 'small'" type="text"
- :disabled="o.disabled ? o.disabled(scope.row) : false">{{ o.name }}</el-button>
+ <el-upload
+ :action="javaApi + o.url"
+ size="mini"
+ ref="upload"
+ :multiple="o.multiple ? o.multiple : false"
+ :disabled="o.disabled ? o.disabled(scope.row) : false"
+ :accept="
+ o.accept
+ ? o.accept
+ : '.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
+ "
+ v-if="o.type == 'upload' && o.url"
+ style="display: inline-block; width: 50px"
+ :data="o.data ? o.data(scope.row) : {}"
+ :before-upload="
+ o.beforeUpload ? o.beforeUpload(scope.row) : () => true
+ "
+ v-show="o.showHide ? o.showHide(scope.row) : true"
+ :headers="uploadHeader"
+ :on-error="onError"
+ :on-exceed="onExceed"
+ :on-success="handleSuccessUp"
+ :show-file-list="false"
+ :key="key"
+ >
+ <el-button
+ :size="o.size ? o.size : 'small'"
+ type="text"
+ :disabled="o.disabled ? o.disabled(scope.row) : false"
+ >{{ o.name }}</el-button
+ >
</el-upload>
- <el-upload action="#" :on-change="(file, fileList) => o.clickFun(scope.row, file, fileList)
- " :multiple="o.multiple ? o.multiple : false" :limit="o.limit ? o.limit : 1"
- :disabled="o.disabled ? o.disabled(scope.row) : false" :accept="o.accept
- ? o.accept
- : '.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
- " v-if="o.type == 'upload' && !o.url" style="display: inline-block; width: 50px"
- v-show="o.showHide ? o.showHide(scope.row) : true" :auto-upload="false" :on-exceed="onExceed"
- :show-file-list="false" :key="key">
- <el-button :size="o.size ? o.size : 'small'" type="text"
- :disabled="o.disabled ? o.disabled(scope.row) : false">{{ o.name }}</el-button>
+ <el-upload
+ action="#"
+ :on-change="
+ (file, fileList) => o.clickFun(scope.row, file, fileList)
+ "
+ :multiple="o.multiple ? o.multiple : false"
+ :limit="o.limit ? o.limit : 1"
+ :disabled="o.disabled ? o.disabled(scope.row) : false"
+ :accept="
+ o.accept
+ ? o.accept
+ : '.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'
+ "
+ v-if="o.type == 'upload' && !o.url"
+ style="display: inline-block; width: 50px"
+ v-show="o.showHide ? o.showHide(scope.row) : true"
+ :auto-upload="false"
+ :on-exceed="onExceed"
+ :show-file-list="false"
+ :key="key"
+ >
+ <el-button
+ :size="o.size ? o.size : 'small'"
+ type="text"
+ :disabled="o.disabled ? o.disabled(scope.row) : false"
+ >{{ o.name }}</el-button
+ >
</el-upload>
</template>
</div>
<!-- 鍙偣鍑荤殑鏂囧瓧 -->
- <div v-else-if="item.dataType == 'link'" class="cell" style="width: 100%"
- @click="goLink(scope.row, item.linkEvent)">
+ <div
+ v-else-if="item.dataType == 'link'"
+ class="cell"
+ style="width: 100%"
+ @click="goLink(scope.row, item.linkEvent)"
+ >
<span class="link" v-if="!item.formatData">
{{ scope.row[item.prop] }}
</span>
@@ -114,8 +236,16 @@
</template>
</el-table-column>
</el-table>
- <pagination v-if="page" v-show="page.total > 0" :total="page.total" :layout="page.layout" :page.sync="page.current"
- :limit.sync="page.size" @pagination="pagination" style="background-color: #fff" />
+ <pagination
+ v-if="page"
+ v-show="page.total > 0"
+ :total="page.total"
+ :layout="page.layout"
+ :page.sync="page.current"
+ :limit.sync="page.size"
+ @pagination="pagination"
+ style="background-color: #fff"
+ />
</div>
</template>
@@ -189,6 +319,10 @@
},
},
props: {
+ parentSpanMethod: {
+ type: Function,
+ default: () => {},
+ },
isSelection: {
type: Boolean,
default: undefined,
@@ -204,19 +338,19 @@
handleSelectionChange: {
type: Function,
default: () => {
- return () => { };
+ return () => {};
},
},
rowClick: {
type: Function,
default: () => {
- return () => { };
+ return () => {};
},
},
currentChange: {
type: Function,
default: () => {
- return () => { };
+ return () => {};
},
},
border: {
@@ -245,7 +379,7 @@
},
rowClassName: {
type: Function,
- default: () => { },
+ default: () => {},
},
rowStyle: {
type: Function,
@@ -288,6 +422,17 @@
this.$nextTick(() => {
this.$refs.multipleTable.doLayout();
});
+ },
+ computed: {
+ finalSpanMethod() {
+ if(this.parentSpanMethod) {
+ console.log('鐖剁粍浠剁殑鍚堝苟鏂规硶');
+ return this.parentSpanMethod;
+ }else{
+ console.log('瀛愮粍浠剁殑鍚堝苟鏂规硶');
+ return this.spanMethod;
+ }
+ },
},
mounted() {
this.calculateSpanInfo();
@@ -459,11 +604,11 @@
</script>
<style scoped>
-.el-table>>>.el-table__empty-text {
+.el-table >>> .el-table__empty-text {
text-align: center;
}
->>>.cell {
+>>> .cell {
padding: 0 !important;
}
@@ -480,7 +625,7 @@
cursor: pointer;
}
->>>.el-table__body-wrapper::-webkit-scrollbar {
+>>> .el-table__body-wrapper::-webkit-scrollbar {
height: 14px;
/* 璁剧疆婊氬姩鏉″搴� */
}
diff --git a/src/views/bulletinBoard/tasksShow/index.vue b/src/views/bulletinBoard/tasksShow/index.vue
index 171122b..82673f9 100644
--- a/src/views/bulletinBoard/tasksShow/index.vue
+++ b/src/views/bulletinBoard/tasksShow/index.vue
@@ -116,7 +116,7 @@
border
:data="tableData"
style="width: 100%"
- :height="tableHeight"
+ :height="tableHeight+''"
:header-cell-style="{ textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }"
>
@@ -228,7 +228,7 @@
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
- :current-page="page.currentPage"
+ :current-page="page.current"
:page-sizes="[20, 40, 60, 80, 100]"
:page-size="20"
layout="total, sizes, prev, pager, next, jumper"
@@ -257,11 +257,11 @@
intervalId: null,
total: 0,
page: {
- currentPage: 1,
- pageSize: 20,
+ current: 1,
+ size: 20,
},
tableData: [],
- tableHeight: 0,
+ tableHeight: "",
};
},
watch: {
@@ -320,12 +320,7 @@
methods: {
//鍔ㄦ�佽幏鍙栬〃鏍奸珮搴�
handlerResize() {
- let viewHeight = window.innerHeight;
- let titleHeight = 60;
- let headMenuHeight = 90;
- let pageHeight = 42;
- this.tableHeight =
- viewHeight - titleHeight - headMenuHeight - pageHeight - 120;
+ this.tableHeight = window.innerHeight - 50 - 46 - 60 - 80 - 30 - 30 - 32;
},
// 鍏抽棴
close() {
@@ -373,20 +368,20 @@
this.getTableData();
},
handleSizeChange(val) {
- this.page.pageSize = val;
+ this.page.size = val;
this.getTableData();
console.log(`姣忛〉 ${val} 鏉);
},
handleCurrentChange(val) {
- this.page.currentPage = val;
+ this.page.current = val;
this.getTableData();
console.log(`褰撳墠椤�: ${val}`);
},
getTableData() {
this.loading = true;
let data = {
- currentPage: this.page.currentPage,
- pageSize: this.page.pageSize,
+ current: this.page.current,
+ size: this.page.size,
sonLaboratory: this.sonLaboratory,
};
tasksShow(data).then((res) => {
diff --git a/src/views/business/costStatistics/index.vue b/src/views/business/costStatistics/index.vue
index 78d5a12..6cbb466 100644
--- a/src/views/business/costStatistics/index.vue
+++ b/src/views/business/costStatistics/index.vue
@@ -1,4 +1,8 @@
<style scoped>
+.costStatistics {
+ width: 100%;
+ height: 100%;
+}
.title {
height: 60px;
line-height: 60px;
@@ -49,15 +53,20 @@
</style>
<template>
- <div class="inspection_order">
- <div style="width: 100%; height: 100%">
+ <div>
+ <div class="costStatistics bg-1">
<div>
<el-row class="title">
<el-col :span="12" style="padding-left: 20px; text-align: left"
>璐圭敤缁熻</el-col
>
<el-col :span="12" style="text-align: right">
- <el-button size="small" type="primary">OA鎺ㄩ��</el-button>
+ <el-button
+ size="small"
+ type="primary"
+ v-hasPermi="['business:costStatistics:OA']"
+ >OA鎺ㄩ��</el-button
+ >
</el-col>
</el-row>
</div>
@@ -83,8 +92,6 @@
<div class="search_thing" style="width: 340px">
<div class="search_label">濮旀墭鍗曚綅锛�</div>
<div class="search_input">
- <!-- <el-input size="small" placeholder="璇疯緭鍏�" clearable-->
- <!-- @keyup.enter.native="refreshTable()"></el-input>-->
<el-select
@focus="getCompanyOptions"
@change="refreshTable()"
@@ -109,7 +116,6 @@
>鏌� 璇�</el-button
>
</div>
- <!-- <div class="search_thing" style="padding-left: 70px;">鎬讳环锛歿{total}}</div> -->
<div class="search_thing" style="margin-left: 50px">
<div style="width: 100%; text-align: right">鎬讳环锛�</div>
<el-statistic
@@ -125,24 +131,18 @@
type="primary"
@click="handleDown"
:loading="outLoading"
+ v-hasPermi="['business:costStatistics:export']"
>瀵煎嚭</el-button
>
</div>
</div>
<div class="table">
- <!-- <ValueTable
- ref="ValueTable"
- :url="$api.insOrder.costStatistics"
- :componentData="componentData"
- :key="upIndex"
- @handleWeave="handleWeave"
- :column-min-width="'140'"
- /> -->
<lims-table
:tableData="tableData"
+ :parentSpanMethod="spanMethod"
:column="column"
:tableLoading="tableLoading"
- :height="'calc(100vh - 270px)'"
+ :height="tableHeight"
:page="page"
@pagination="pagination"
></lims-table>
@@ -178,6 +178,7 @@
},
data() {
return {
+ tableHeight: "",
tableData: [],
column: [
{
@@ -237,12 +238,48 @@
outLoading: false,
};
},
+ created() {
+ this.getTableHeight();
+ },
mounted() {
this.getDates();
this.refreshTable();
this.entityCopy = this.HaveJson(this.entity);
},
methods: {
+ // 鍚堝苟鍗曞厓鏍�
+ spanMethod({row, column, rowIndex, columnIndex}) {
+ // 濮旀墭鍗曞彿鐩稿悓鐨勮繘琛屼竴涓垪鍚堝苟
+ const mergeColumns = [1,2,8,9]
+ if (
+ mergeColumns.includes(columnIndex)
+ ) {
+ // 濡傛灉鏄涓�琛岋紝 鎴栬�呬笂涓�琛屾暟鎹殑濮旀墭鍗曞彿鍜屽綋鍓嶈鐨勫鎵樺崟鍙蜂笉涓�鏍�
+ if (
+ rowIndex == 0 ||
+ row.entrustCode != this.tableData[rowIndex - 1].entrustCode
+ ) {
+ // 璁$畻闇�瑕佸悎骞剁殑琛屾暟
+ let rowspan = 1;
+ while (
+ rowIndex + rowspan < this.tableData.length &&
+ row.entrustCode == this.tableData[rowIndex + rowspan].entrustCode
+ ) {
+ rowspan++;
+ }
+ return [rowspan, 1];
+ } else {
+ return [0, 0];
+ }
+ } else {
+ // 鍏朵粬鍒椾笉鍚堝苟
+ return [1, 1];
+ }
+ },
+ getTableHeight() {
+ const windowHeight = window.innerHeight;
+ this.tableHeight = windowHeight - 50 - 46 - 60 - 80 - 60 - 32 + "";
+ },
getData() {
this.tableLoading = true;
let params = { ...this.page, ...this.entity };
@@ -252,15 +289,15 @@
this.tableLoading = false;
});
},
- pagination({ cutPage, size }) {
- this.page.current = cutPage;
- this.page.size = size;
+ pagination({ page, limit }) {
+ this.page.current = page;
+ this.page.size = limit;
this.refreshTable();
},
handleDown() {
let data = {
- company: this.entity.company ? this.entity.company : '',
+ company: this.entity.company ? this.entity.company : "",
startTime: this.dates[0],
endTime: this.dates[1],
};
diff --git a/src/views/business/inspectionTask/index.vue b/src/views/business/inspectionTask/index.vue
index 329d4e4..5ba6c0d 100644
--- a/src/views/business/inspectionTask/index.vue
+++ b/src/views/business/inspectionTask/index.vue
@@ -414,7 +414,7 @@
border
ref="showResultTable"
v-loading="loadingTable"
- :height="tableHeight"
+ :height="tableHeight+''"
element-loading-text="鍔犺浇涓�"
element-loading-spinner="el-icon-loading"
element-loading-background="rgba(255, 255, 255, 1)"
diff --git a/src/views/business/reportPreparation/index.vue b/src/views/business/reportPreparation/index.vue
index ecb205b..fe5106a 100644
--- a/src/views/business/reportPreparation/index.vue
+++ b/src/views/business/reportPreparation/index.vue
@@ -1,4 +1,9 @@
<style scoped>
+.reportPreparation {
+ width: 100%;
+ height: 100%;
+}
+
.title {
height: 60px;
line-height: 60px;
@@ -15,7 +20,7 @@
display: flex;
align-items: center;
height: 50px;
- width: 230px;
+ width: 210px;
}
.search_label {
@@ -65,8 +70,8 @@
</style>
<template>
- <div class="inspection_order">
- <div style="width: 100%; height: 100%">
+ <div>
+ <div class="reportPreparation bg-1">
<div>
<el-row class="title">
<el-col :span="12" style="padding-left: 20px; text-align: left"
@@ -196,6 +201,7 @@
:icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'"
style="color: #3a7bfa"
@click="more = !more"
+ v-hasPermi="['bbusiness:reportPreparation:more']"
>{{ !more ? "鏇村" : "鏀惰捣" }}</el-button
>
<div class="search_thing" style="padding-left: 20px">
@@ -224,31 +230,31 @@
<el-dropdown-item
icon="el-icon-download"
command="batchDownload"
+ v-hasPermi="['business:reportPreparation:batchDownload']"
>鎵归噺涓嬭浇</el-dropdown-item
>
<el-dropdown-item
icon="el-icon-upload"
command="batchUpload"
+ v-hasPermi="['business:reportPreparation:batchUpload']"
>鎵归噺涓婁紶</el-dropdown-item
>
<el-dropdown-item
icon="el-icon-s-check"
command="oneClickApproval"
+ v-hasPermi="['business:reportPreparation:oneClickApproval']"
>涓�閿鎵�</el-dropdown-item
>
<el-dropdown-item
icon="el-icon-setting"
command="approvalConfig"
+ v-hasPermi="['business:reportPreparation:signatureConfiguration']"
>瀹℃壒绛惧悕閰嶇疆</el-dropdown-item
>
</el-dropdown-menu>
</el-dropdown>
</template>
</div>
- <!-- <div class="btns">
- <el-button size="small" type="primary" @click="handleDowns" :loading="outLoading" style="margin-right: 16px;">鎵归噺涓嬭浇</el-button>
- <el-button size="small" type="primary" @click="openBatchUploadDia()" :loading="inLoading">鎵归噺涓婁紶</el-button>
- </div> -->
</div>
</el-col>
</el-row>
@@ -290,7 +296,7 @@
:tableData="tableData"
:column="column"
:tableLoading="tableLoading"
- :height="'calc(100vh - 270px)'"
+ :height="tableHeight+''"
:page="page"
@pagination="pagination"
></lims-table>
@@ -312,13 +318,6 @@
style="cursor: pointer; font-size: 18px"
@click="fullscreen = true"
></i>
- <!-- <img
- v-else
- alt=""
- src="../../../static/img/no-full.svg"
- style="cursor: pointer"
- @click="fullscreen = false"
- /> -->
</div>
<div v-if="viewIssuedVisible" style="height: 80vh">
<onlyoffice
@@ -342,13 +341,6 @@
@click="fullscreen = true"
v-if="!fullscreen"
></i>
- <!-- <img
- src="../../../static/img/no-full.svg"
- alt=""
- v-else
- style="cursor: pointer"
- @click="fullscreen = false"
- /> -->
</div>
<Word
style="height: 70vh"
@@ -377,13 +369,6 @@
@click="fullscreen = true"
v-if="!fullscreen"
></i>
- <!-- <img
- src="../../../static/img/no-full.svg"
- alt=""
- v-else
- style="cursor: pointer"
- @click="fullscreen = false"
- /> -->
</div>
<div style="height: 75vh" v-if="issuedVisible">
<onlyoffice
@@ -448,13 +433,6 @@
@click="fullscreen = true"
v-if="!fullscreen"
></i>
- <!-- <img
- src="../../../static/img/no-full.svg"
- alt=""
- v-else
- style="cursor: pointer"
- @click="fullscreen = false"
- /> -->
</div>
<div style="height: 75vh" v-if="approveVisible">
<onlyoffice
@@ -513,18 +491,6 @@
top="5vh"
>
<div>
- <!-- <el-upload
- class="upload-demo"
- :action="action"
- :headers="headers"
- :show-file-list="false"
- accept=".doc,.docx"
- :limit="1"
- :before-upload="beforeUpload"
- :on-success="handleSuccess"
- ref="upload"
- :on-error="onError">
- </el-upload> -->
<el-upload
ref="upload"
class="upload-demo custom-upload"
@@ -834,6 +800,8 @@
import { getToken } from "@/utils/auth";
+import auth from "@/plugins/auth.js";
+
export default {
components: {
limsTable,
@@ -841,6 +809,7 @@
},
data() {
return {
+ tableHeight: "",
tagField: {
isUpload: {
select: [
@@ -1092,12 +1061,18 @@
disabled: (row) => {
return row.isExamine != -9;
},
+ showHide: () => {
+ return auth.hasPermi("business:reportPreparation:establishment");
+ },
},
{
name: "涓嬭浇",
type: "text",
clickFun: (row) => {
this.download(row);
+ },
+ showHide: () => {
+ return auth.hasPermi("business:reportPreparation:download");
},
},
{
@@ -1115,6 +1090,9 @@
disabled: (row) => {
return row.isExamine != -9;
},
+ showHide: () => {
+ return auth.hasPermi("business:reportPreparation:upload");
+ },
},
{
name: "杩樺師",
@@ -1125,6 +1103,9 @@
disabled: (row) => {
return row.isExamine != -9;
},
+ showHide: () => {
+ return auth.hasPermi("business:reportPreparation:restore");
+ },
},
{
name: "鎻愪氦",
@@ -1134,6 +1115,9 @@
},
disabled: (row) => {
return row.state != 0;
+ },
+ showHide: () => {
+ return auth.hasPermi("business:reportPreparation:submit");
},
},
{
@@ -1146,6 +1130,9 @@
return (
row.state == null || row.state == 0 || row.isExamine == 1
);
+ },
+ showHide: () => {
+ return auth.hasPermi("business:reportPreparation:examine");
},
},
{
@@ -1163,6 +1150,9 @@
row.isRatify == 1
);
},
+ showHide: () => {
+ return auth.hasPermi("business:reportPreparation:approve");
+ },
},
{
name: "鎾ゅ洖",
@@ -1172,6 +1162,9 @@
},
disabled: (row) => {
return row.state == 1;
+ },
+ showHide: () => {
+ return auth.hasPermi("business:reportPreparation:withdraw");
},
},
],
@@ -1224,7 +1217,7 @@
this.getAuthorizedPerson();
this.handleResize();
// 鐩戝惉绐楀彛澶у皬鏀瑰彉浜嬩欢
- window.addEventListener("resize", this.handleResize);
+ window.addEventListener("resize", this.handleResize);
},
beforeDestroy() {
if (this.time != null) {
@@ -1244,6 +1237,11 @@
this.entityCopy = this.HaveJson(this.entity);
this.getList();
this.getReportCountInfo();
+ this.getTableHeight();
+ window.addEventListener('resize', this.calculateTableHeight); // 鐩戝惉绐楀彛澶у皬鍙樺寲
+ },
+ beforeDestroy() {
+ window.removeEventListener('resize', this.calculateTableHeight); // 绉婚櫎鐩戝惉
},
watch: {
batchUploadDia(newVal) {
@@ -1281,6 +1279,12 @@
},
},
methods: {
+ // 鑾峰彇琛ㄦ牸楂樺害
+ getTableHeight() {
+ const windowHeight = window.innerHeight; // 娴忚鍣ㄧ獥鍙i珮搴�
+ this.tableHeight = windowHeight - 60 - 80 - 46 - 50 - 32 - 44 -30 - 30;
+ console.log('this.tableHeight',this.tableHeight);
+ },
// 杩斿洖鍒嗛〉鍊�
pagination({ page, limit }) {
this.page.current = page;
diff --git a/src/views/business/reportPreparation/onlyoffice.vue b/src/views/business/reportPreparation/onlyoffice.vue
index c9a6e33..50d3ab1 100644
--- a/src/views/business/reportPreparation/onlyoffice.vue
+++ b/src/views/business/reportPreparation/onlyoffice.vue
@@ -187,14 +187,13 @@
body {
height: 100%;
}
- #app {
+ /* #app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
- text-align: center;
color: #2c3e50;
height: 100%;
- }
+ } */
.qualityManual-container {
padding: 0 !important;
height: 100%;
diff --git a/src/views/business/sample/index.vue b/src/views/business/sample/index.vue
index dbfd2b9..589b8f2 100644
--- a/src/views/business/sample/index.vue
+++ b/src/views/business/sample/index.vue
@@ -168,8 +168,8 @@
<el-row class="title">
<el-col :span="12" style="padding-left: 20px;text-align: left;">鏍峰搧绠$悊</el-col>
<el-col :span="12" style="text-align: right;">
- <el-button size="small" type="primary" @click="storageVisible=true">鍏ュ簱</el-button>
- <el-button size="small" type="primary" @click="exportVisible=true">鍑哄簱</el-button>
+ <el-button size="small" type="primary" @click="storageVisible=true" v-hasPermi="['business:sample:store']">鍏ュ簱</el-button>
+ <el-button size="small" type="primary" @click="exportVisible=true" v-hasPermi="['business:sample:outbound']">鍑哄簱</el-button>
</el-col>
</el-row>
</div>
@@ -200,15 +200,11 @@
</el-input>
</div>
</div>
- <!-- <div class="search_thing" style="padding-left: 30px;">
- <el-button size="small" @click="refresh()">閲� 缃�</el-button>
- <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
- </div> -->
<div class="btns">
- <el-button size="small" style="color:#3A7BFA" @click="keepVisible=true">缁存姢</el-button>
- <el-button size="small" style="color:#3A7BFA" @click="warehouseVisible=true,isEdit=false">娣诲姞浠撳簱</el-button>
+ <el-button size="small" style="color:#3A7BFA" @click="keepVisible=true" v-hasPermi="['business:sample:maintenance']">缁存姢</el-button>
+ <el-button size="small" style="color:#3A7BFA" @click="warehouseVisible=true,isEdit=false" v-hasPermi="['business:sample:addWarehouse']">娣诲姞浠撳簱</el-button>
<el-button size="small" style="color:#3A7BFA" @click="shelvesVisible=true,isEdit=false"
- :disabled="entity.warehouseId==null">娣诲姞璐ф灦</el-button>
+ :disabled="entity.warehouseId==null" v-hasPermi="['business:sample:addGoodsShelves']">娣诲姞璐ф灦</el-button>
</div>
</div>
<div class="table" v-loading="tableLoading">
diff --git a/src/views/business/unPass/index.vue b/src/views/business/unPass/index.vue
index 18a6423..88ee522 100644
--- a/src/views/business/unPass/index.vue
+++ b/src/views/business/unPass/index.vue
@@ -33,7 +33,7 @@
}
</style>
<template>
- <div class="below-standard-main">
+ <div class="below-standard-main bg-1">
<div style="width: 100%; height: 100%">
<div>
<el-row class="title">
@@ -79,7 +79,8 @@
:tableData="tableData"
:column="column"
:tableLoading="tableLoading"
- :height="'calc(100vh - 270px)'"
+ :parentSpanMethod="spanMethod"
+ :height="tableHeight+''"
:page="page"
@pagination="pagination"
></lims-table>
@@ -157,12 +158,39 @@
this.entityCopy = this.HaveJson(this.entity);
this.refreshTable();
},
+ created() {
+ this.getTableHeight();
+ },
methods: {
+ // 琛ㄦ牸鍚堝苟
+ spanMethod({row,column,rowIndex,columnIndex}) {
+ // 闇�瑕佸悎骞剁殑鍒�
+ const needSpan = [1]
+ if(needSpan.includes(columnIndex)) {
+ // 濡傛灉鏄涓�琛� 鎴栬�� 褰撳墠琛岀殑鍊煎拰涓婁竴琛岀殑鍊间笉涓�鏍� 灏辫寮�濮嬭繘琛岃绠楀悎骞�
+ if(rowIndex == 0 || row.entrustCode != this.tableData[rowIndex -1 ].entrustCode) {
+ // 鍚戜笅鎵惧埌鍜屽綋鍓嶈涓嶄竴鏍风殑琛屾暟
+ let rowSpan = 1;
+ while(rowIndex + rowSpan < this.tableData.length && row.entrustCode == this.tableData[rowIndex + rowSpan].entrustCode) {
+ rowSpan++
+ }
+ return [rowSpan,1]
+ }else {
+ // 濡傛灉鍜屼笂涓�琛岀殑鍊间竴鏍� 灏遍殣钘�
+ return [0,0]
+ }
+ }else{
+ return [1,1]
+ }
+ },
+ getTableHeight() {
+ this.tableHeight = window.innerHeight - 50 - 46 - 60 - 80 - 30 - 30 - 32;
+ },
getData() {
this.tableLoading = true;
pageInsUnPass({
current: this.page.current,
- limit: this.page.size,
+ size: this.page.size,
model: this.entity.model,
sample: this.entity.sample,
}).then((res) => {
@@ -171,8 +199,8 @@
this.page.total = res.data.total;
});
},
- pagination({current,limit}) {
- this.page.current = current;
+ pagination({page,limit}) {
+ this.page.current = page;
this.page.size = limit;
this.getData();
},
diff --git a/src/views/performance/class/index.vue b/src/views/performance/class/index.vue
index 376e359..4ee8df7 100644
--- a/src/views/performance/class/index.vue
+++ b/src/views/performance/class/index.vue
@@ -1,5 +1,5 @@
<template>
- <div class="class-page">
+ <div class="classHour bg-1">
<div class="search">
<div class="search_thing">
<div class="search_label">閫夋嫨鏃堕棿锛�</div>
@@ -70,6 +70,7 @@
size="small"
type="primary"
@click="configTime"
+ v-hasPermi="['performance:class:time']"
>鏃堕棿閰嶇疆</el-button
>
<el-button
@@ -78,6 +79,7 @@
size="small"
type="primary"
@click="handleDown"
+ v-hasPermi="['performance:class:down']"
>瀵� 鍑�</el-button
>
<el-button
@@ -85,6 +87,7 @@
size="small"
type="primary"
@click="schedulingVisible = true"
+ v-hasPermi="['performance:class:add']"
>鎺� 鐝�</el-button
>
</div>
@@ -1068,6 +1071,10 @@
</script>
<style scoped>
+ .classHour{
+ width: 100%;
+ height: 100%;
+ }
.form_title {
height: 36px;
display: flex;
diff --git a/src/views/performance/manHour/index.vue b/src/views/performance/manHour/index.vue
index f7face2..c754d40 100644
--- a/src/views/performance/manHour/index.vue
+++ b/src/views/performance/manHour/index.vue
@@ -2,13 +2,13 @@
<div class="work-time-management bg-1">
<div style="text-align: left">
<el-radio-group v-model="currentComponent" size="small" style="margin-top: 16px;margin-bottom: 16px;">
- <el-radio-button label="workTimeStatistics">
+ <el-radio-button label="workTimeStatistics" v-hasPermi="['performance:manHour:workTimeStatistics']">
宸ユ椂缁熻
</el-radio-button>
- <el-radio-button label="workTimeManagement" >
+ <el-radio-button label="workTimeManagement" v-hasPermi="['performance:manHour:workTimeManagement']">
鏃ュ伐鏃剁鐞�
</el-radio-button>
- <el-radio-button label="workTimeConfig">
+ <el-radio-button label="workTimeConfig" v-hasPermi="['performance:manHour:workTimeConfig']">
杈呭姪宸ユ椂閰嶇疆
</el-radio-button>
</el-radio-group>
diff --git a/src/views/performance/manHour/work-time-config.vue b/src/views/performance/manHour/work-time-config.vue
index abe1b42..131ad9a 100644
--- a/src/views/performance/manHour/work-time-config.vue
+++ b/src/views/performance/manHour/work-time-config.vue
@@ -54,18 +54,16 @@
type="primary"
style="position: absolute; right: 50px"
@click="openAdd()"
+ v-hasPermi="['performance:manHour:workTimeConfig:add']"
>鏂� 澧�</el-button
>
</div>
<div class="table">
- <!-- <ValueTable ref="ValueTable0"
- :url="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours" :upUrl="$api.auxiliaryWorkingHours.upAuxiliaryWorkingHours"
- :delUrl="$api.auxiliaryWorkingHours.deleteAuxiliaryWorkingHours" :componentData="componentData" :key="upIndex" /> -->
<lims-table
:tableData="tableData"
:column="column"
:tableLoading="tableLoading"
- :height="'calc(100vh - 270px)'"
+ :height="tableHeight"
:page="page"
@pagination="pagination"
></lims-table>
@@ -172,6 +170,8 @@
} from "../../../api/business/manHour";
import { getYearAndMonthAndDays } from "../../../utils/date";
+import auth from "@/plugins/auth.js";
+
import { getDicts } from "@/api/system/dict/data";
import { number } from "echarts";
export default {
@@ -180,6 +180,7 @@
},
data() {
return {
+ tableHeight: "",
rules: {
number: [{ required: true, message: "璇疯緭鍏ョ紪鍙�", trigger: "blur" }],
auxiliaryProject: [
@@ -273,12 +274,18 @@
clickFun: (row) => {
this.openAdd(row);
},
+ showHide: (row) => {
+ return auth.hasPermi("performance:manHour:workTimeConfig:edit");
+ },
},
{
name: "鍒犻櫎",
type: "text",
clickFun: (row) => {
this.del(row);
+ },
+ showHide: (row) => {
+ return auth.hasPermi("performance:manHour:workTimeConfig:del");
},
},
],
@@ -302,7 +309,9 @@
addPower: true,
};
},
- created() {},
+ created() {
+ this.getTableHeight();
+ },
mounted() {
this.entityCopy = this.HaveJson(this.entity);
this.obtainItemParameterList();
@@ -310,6 +319,9 @@
this.getData();
},
methods: {
+ getTableHeight() {
+ this.tableHeight = window.innerHeight -50 -46 - 63 - 80 - 41 -30 -30 -32 + '';
+ },
getData() {
this.tableLoading = true;
this.page.total = 0;
diff --git a/src/views/performance/manHour/work-time-management.vue b/src/views/performance/manHour/work-time-management.vue
index 2f78cbe..d2abcb7 100644
--- a/src/views/performance/manHour/work-time-management.vue
+++ b/src/views/performance/manHour/work-time-management.vue
@@ -124,6 +124,7 @@
type="primary"
@click="openAdd"
v-show="currentTable == 'ValueTable0'"
+ v-hasPermi="['performance:manHour:workTimeManagement:enterData']"
>褰曞叆鏁版嵁</el-button
>
<el-button
@@ -131,6 +132,7 @@
type="primary"
@click="handleOut"
:loading="outLoading"
+ v-hasPermi="['performance:manHour:workTimeManagement:export']"
>瀵� 鍑�</el-button
>
<el-button
@@ -138,6 +140,7 @@
type="primary"
v-show="currentTable == 'ValueTable0'"
@click="openBatchCheck(0)"
+ v-hasPermi="['performance:manHour:workTimeManagement:batchExamine']"
>鎵归噺瀹℃牳</el-button
>
<el-button
@@ -145,6 +148,7 @@
type="primary"
v-show="currentTable == 'ValueTable0'"
@click="openBatchCheck(1)"
+ v-hasPermi="['performance:manHour:workTimeManagement:batchApprove']"
>鎵归噺鎵瑰噯</el-button
>
</div>
@@ -158,7 +162,7 @@
:column="column"
:key="upIndex"
:tableLoading="tableLoading"
- :height="'calc(100vh - 270px)'"
+ :height="tableHeight+''"
:page="page"
@pagination="pagination"
></lims-table>
@@ -169,7 +173,7 @@
:column="column1"
:key="upIndex1"
:tableLoading="tableLoading1"
- :height="'calc(100vh - 270px)'"
+ :height="tableHeight+''"
:page="page1"
@pagination="pagination1"
></lims-table>
@@ -477,6 +481,8 @@
} from "../../../api/business/manHour";
import { getYearAndMonthAndDays } from "../../../utils/date";
+import auth from "@/plugins/auth.js";
+
import { getDicts } from "@/api/system/dict/data";
import Big from "big.js";
export default {
@@ -485,6 +491,7 @@
},
data() {
return {
+ tableHeight: "",
shiftList:[],
tableData: [],
column: [
@@ -597,6 +604,9 @@
clickFun: (row) => {
this.del(row);
},
+ showHide: () => {
+ return auth.hasPermi('performance:manHour:workTimeManagement:del');
+ }
},
{
name: "缂栬緫",
@@ -604,6 +614,9 @@
clickFun: (row) => {
this.handleEdit(row);
},
+ showHide: () => {
+ return auth.hasPermi('performance:manHour:workTimeManagement:edit');
+ }
},
{
name: "瀹℃牳",
@@ -611,6 +624,9 @@
clickFun: (row) => {
this.handleCheck(row);
},
+ showHide: () => {
+ return auth.hasPermi('performance:manHour:workTimeManagement:examine');
+ }
},
{
name: "鎵瑰噯",
@@ -618,6 +634,9 @@
clickFun: (row) => {
this.handleRatify(row);
},
+ showHide: () => {
+ return auth.hasPermi('performance:manHour:workTimeManagement:approve');
+ }
},
],
},
@@ -840,6 +859,7 @@
//褰撳彧鏈変骇閲忓伐鏃秚ab椤垫椂锛屽綋鍓嶉〉鏀逛负浜ч噺宸ユ椂椤�
this.selectEnumByCategory();
this.setDate();
+ this.getTableHeight();
},
mounted() {
console.log(11);
@@ -849,6 +869,9 @@
this.entityCopy1 = this.HaveJson(this.entity);
},
methods: {
+ getTableHeight() {
+ this.tableHeight = window.innerHeight -50 -46 - 63 - 80 - 41 -30 -30 -32;
+ },
del(row) {
console.log(row);
this.$confirm("姝ゆ搷浣滃皢姘镐箙鍒犻櫎, 鏄惁缁х画?", "鎻愮ず", {
@@ -889,8 +912,8 @@
console.log('浜ч噺宸ユ椂');
this.tableLoading1 = true;
let params = {
- current: this.page.current,
- size: this.page.size,
+ current: this.page1.current,
+ size: this.page1.size,
dateTime1: this.entity.dateTime[0],
dateTime2: this.entity.dateTime[1],
week: this.entity.week,
@@ -906,13 +929,13 @@
});
}
},
- pagination({ current, limit }) {
- this.page.current = current;
+ pagination({ page, limit }) {
+ this.page.current = page;
this.page.size = limit;
this.getData();
},
- pagination1({ current, limit }) {
- this.page1.current = current;
+ pagination1({ page, limit }) {
+ this.page1.current = page;
this.page1.size = limit;
this.getData();
},
diff --git a/src/views/performance/manHour/work-time-statistics.vue b/src/views/performance/manHour/work-time-statistics.vue
index 86aac14..e57b4d3 100644
--- a/src/views/performance/manHour/work-time-statistics.vue
+++ b/src/views/performance/manHour/work-time-statistics.vue
@@ -95,24 +95,13 @@
</el-radio-group>
</div>
<div class="table">
- <!-- <ValueTable ref="ValueTable0"
- v-if="currentTable == 'value0' && isPermission('selectAuxiliaryOriginalHours')" :isColumnWidth="true"
- :isShowZero="true"
- :url="$api.auxiliaryOriginalHours.selectAuxiliaryOriginalHours"
- :componentData="componentData" :key="upIndex" />
- <ValueTable ref="ValueTable1" :isShowZero="true"
- v-if="currentTable == 'value1' && isPermission('selectAuxiliaryCorrectionHours')" :isColumnWidth="true"
- :url="$api.auxiliaryCorrectionHours.selectAuxiliaryCorrectionHours"
- :inputUrl="$api.auxiliaryCorrectionHours.upload"
- :componentData="componentData0"
- :key="upIndex1" /> -->
<lims-table
v-if="currentTable == 'value0'"
:tableData="tableData"
:column="column"
:key="upIndex"
:tableLoading="tableLoading"
- :height="'calc(100vh - 270px)'"
+ :height="tableHeight+''"
:page="page"
@pagination="pagination"
></lims-table>
@@ -123,7 +112,7 @@
:column="column1"
:key="upIndex1"
:tableLoading="tableLoading1"
- :height="'calc(100vh - 270px)'"
+ :height="tableHeight+''"
:page="page1"
@pagination="pagination1"
></lims-table>
@@ -151,6 +140,7 @@
computed: {},
data() {
return {
+ tableHeight: "",
column: [
{
label: "濮撳悕",
@@ -468,7 +458,9 @@
outLoading: false,
};
},
- created() {},
+ created() {
+ this.getTableHeight();
+ },
mounted() {
this.entityCopy = this.HaveJson(this.entity);
this.entityCopy0 = this.HaveJson(this.entity);
@@ -480,6 +472,9 @@
},
},
methods: {
+ getTableHeight() {
+ this.tableHeight = window.innerHeight -50 -46 - 63 - 80 - 41 -30 -30 -32;
+ },
getData() {
if (this.currentTable == "value0") {
console.log('value0');
@@ -505,13 +500,13 @@
pagination({ page, limit }) {
this.page.current = page;
this.page.size = limit;
- this.getList();
+ this.getData();
},
// 杩斿洖鍒嗛〉鍊�
pagination1({ page, limit }) {
this.page1.current = page;
this.page1.size = limit;
- this.getList();
+ this.getData();
},
refresh() {
this.entity = {
diff --git a/src/views/performance/staffEvaluate/index.vue b/src/views/performance/staffEvaluate/index.vue
index bbfd6a3..68e4af3 100644
--- a/src/views/performance/staffEvaluate/index.vue
+++ b/src/views/performance/staffEvaluate/index.vue
@@ -42,7 +42,7 @@
<el-radio-button v-hasPermi="['staffEvaluate:leaderRate:list']" label="leaderRate">缁勯暱璇勫垎</el-radio-button>
<el-radio-button v-hasPermi="['staffEvaluate:supervisorRate:list']" label="supervisorRate">涓荤鎵撳垎</el-radio-button>
</el-radio-group>
- <el-button :loading="outLoading" size="small" type="primary" @click="handleDown">瀵� 鍑�</el-button>
+ <el-button :loading="outLoading" size="small" type="primary" @click="handleDown" v-hasPermi="['staffEvaluate:evaluation:export']">瀵� 鍑�</el-button>
</div>
</basicContainer>
--
Gitblit v1.9.3