From bc44c8e3c9d85691ce3fa73ef1300a6fae46e365 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 18 三月 2025 19:07:08 +0800
Subject: [PATCH] Merge branch 'dev' of http://114.132.189.42:9002/r/center-lims-before-ruoyi into dev
---
src/components/Table/lims-table.vue | 19 ++
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, 248 insertions(+), 137 deletions(-)
diff --git a/src/components/Table/lims-table.vue b/src/components/Table/lims-table.vue
index 5be37a4..e293a94 100644
--- a/src/components/Table/lims-table.vue
+++ b/src/components/Table/lims-table.vue
@@ -14,7 +14,7 @@
:row-class-name="rowClassName"
:row-style="rowStyle"
:row-key="rowKey"
- :span-method="spanMethod"
+ :span-method="finalSpanMethod"
:stripe="stripe"
style="width: 100%"
tooltip-effect="dark"
@@ -319,6 +319,10 @@
},
},
props: {
+ parentSpanMethod: {
+ type: Function,
+ default: () => {},
+ },
isSelection: {
type: Boolean,
default: undefined,
@@ -418,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();
@@ -611,7 +626,7 @@
}
>>> .el-table__body-wrapper::-webkit-scrollbar {
- height: 6px;
+ height: 14px;
/* 璁剧疆婊氬姩鏉″搴� */
}
</style>
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 52f42d7..3acf827 100644
--- a/src/views/business/inspectionTask/index.vue
+++ b/src/views/business/inspectionTask/index.vue
@@ -411,7 +411,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