Merge branch 'dev' of http://114.132.189.42:9002/r/center-lims-before-ruoyi into dev
| | |
| | | :row-class-name="rowClassName" |
| | | :row-style="rowStyle" |
| | | :row-key="rowKey" |
| | | :span-method="spanMethod" |
| | | :span-method="finalSpanMethod" |
| | | :stripe="stripe" |
| | | style="width: 100%" |
| | | tooltip-effect="dark" |
| | |
| | | }, |
| | | }, |
| | | props: { |
| | | parentSpanMethod: { |
| | | type: Function, |
| | | default: () => {}, |
| | | }, |
| | | isSelection: { |
| | | type: Boolean, |
| | | default: undefined, |
| | |
| | | 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(); |
| | |
| | | } |
| | | |
| | | >>> .el-table__body-wrapper::-webkit-scrollbar { |
| | | height: 6px; |
| | | height: 14px; |
| | | /* 设置滚动条宽度 */ |
| | | } |
| | | </style> |
| | |
| | | border |
| | | :data="tableData" |
| | | style="width: 100%" |
| | | :height="tableHeight" |
| | | :height="tableHeight+''" |
| | | :header-cell-style="{ textAlign: 'center' }" |
| | | :cell-style="{ textAlign: 'center' }" |
| | | > |
| | |
| | | <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" |
| | |
| | | intervalId: null, |
| | | total: 0, |
| | | page: { |
| | | currentPage: 1, |
| | | pageSize: 20, |
| | | current: 1, |
| | | size: 20, |
| | | }, |
| | | tableData: [], |
| | | tableHeight: 0, |
| | | tableHeight: "", |
| | | }; |
| | | }, |
| | | watch: { |
| | |
| | | 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() { |
| | |
| | | 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) => { |
| | |
| | | <style scoped> |
| | | .costStatistics { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .title { |
| | | height: 60px; |
| | | line-height: 60px; |
| | |
| | | </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> |
| | |
| | | <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()" |
| | |
| | | >查 询</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 |
| | |
| | | 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> |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | tableHeight: "", |
| | | tableData: [], |
| | | column: [ |
| | | { |
| | |
| | | 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 }; |
| | |
| | | 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], |
| | | }; |
| | |
| | | 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)" |
| | |
| | | <style scoped> |
| | | .reportPreparation { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .title { |
| | | height: 60px; |
| | | line-height: 60px; |
| | |
| | | display: flex; |
| | | align-items: center; |
| | | height: 50px; |
| | | width: 230px; |
| | | width: 210px; |
| | | } |
| | | |
| | | .search_label { |
| | |
| | | </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" |
| | |
| | | :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"> |
| | |
| | | <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> |
| | |
| | | :tableData="tableData" |
| | | :column="column" |
| | | :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 270px)'" |
| | | :height="tableHeight+''" |
| | | :page="page" |
| | | @pagination="pagination" |
| | | ></lims-table> |
| | |
| | | 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 |
| | |
| | | @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" |
| | |
| | | @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 |
| | |
| | | @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 |
| | |
| | | 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" |
| | |
| | | |
| | | import { getToken } from "@/utils/auth"; |
| | | |
| | | import auth from "@/plugins/auth.js"; |
| | | |
| | | export default { |
| | | components: { |
| | | limsTable, |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | tableHeight: "", |
| | | tagField: { |
| | | isUpload: { |
| | | select: [ |
| | |
| | | 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"); |
| | | }, |
| | | }, |
| | | { |
| | |
| | | disabled: (row) => { |
| | | return row.isExamine != -9; |
| | | }, |
| | | showHide: () => { |
| | | return auth.hasPermi("business:reportPreparation:upload"); |
| | | }, |
| | | }, |
| | | { |
| | | name: "还原", |
| | |
| | | disabled: (row) => { |
| | | return row.isExamine != -9; |
| | | }, |
| | | showHide: () => { |
| | | return auth.hasPermi("business:reportPreparation:restore"); |
| | | }, |
| | | }, |
| | | { |
| | | name: "提交", |
| | |
| | | }, |
| | | disabled: (row) => { |
| | | return row.state != 0; |
| | | }, |
| | | showHide: () => { |
| | | return auth.hasPermi("business:reportPreparation:submit"); |
| | | }, |
| | | }, |
| | | { |
| | |
| | | return ( |
| | | row.state == null || row.state == 0 || row.isExamine == 1 |
| | | ); |
| | | }, |
| | | showHide: () => { |
| | | return auth.hasPermi("business:reportPreparation:examine"); |
| | | }, |
| | | }, |
| | | { |
| | |
| | | row.isRatify == 1 |
| | | ); |
| | | }, |
| | | showHide: () => { |
| | | return auth.hasPermi("business:reportPreparation:approve"); |
| | | }, |
| | | }, |
| | | { |
| | | name: "撤回", |
| | |
| | | }, |
| | | disabled: (row) => { |
| | | return row.state == 1; |
| | | }, |
| | | showHide: () => { |
| | | return auth.hasPermi("business:reportPreparation:withdraw"); |
| | | }, |
| | | }, |
| | | ], |
| | |
| | | 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) { |
| | |
| | | }, |
| | | }, |
| | | methods: { |
| | | // 获取表格高度 |
| | | getTableHeight() { |
| | | const windowHeight = window.innerHeight; // 浏览器窗口高度 |
| | | this.tableHeight = windowHeight - 60 - 80 - 46 - 50 - 32 - 44 -30 - 30; |
| | | console.log('this.tableHeight',this.tableHeight); |
| | | }, |
| | | // 返回分页值 |
| | | pagination({ page, limit }) { |
| | | this.page.current = page; |
| | |
| | | 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%; |
| | |
| | | <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> |
| | |
| | | </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"> |
| | |
| | | } |
| | | </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"> |
| | |
| | | :tableData="tableData" |
| | | :column="column" |
| | | :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 270px)'" |
| | | :parentSpanMethod="spanMethod" |
| | | :height="tableHeight+''" |
| | | :page="page" |
| | | @pagination="pagination" |
| | | ></lims-table> |
| | |
| | | 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) => { |
| | |
| | | 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(); |
| | | }, |
| | |
| | | <template> |
| | | <div class="class-page"> |
| | | <div class="classHour bg-1"> |
| | | <div class="search"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">选择时间:</div> |
| | |
| | | size="small" |
| | | type="primary" |
| | | @click="configTime" |
| | | v-hasPermi="['performance:class:time']" |
| | | >时间配置</el-button |
| | | > |
| | | <el-button |
| | |
| | | size="small" |
| | | type="primary" |
| | | @click="handleDown" |
| | | v-hasPermi="['performance:class:down']" |
| | | >导 出</el-button |
| | | > |
| | | <el-button |
| | |
| | | size="small" |
| | | type="primary" |
| | | @click="schedulingVisible = true" |
| | | v-hasPermi="['performance:class:add']" |
| | | >排 班</el-button |
| | | > |
| | | </div> |
| | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .classHour{ |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .form_title { |
| | | height: 36px; |
| | | display: flex; |
| | |
| | | <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> |
| | |
| | | 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> |
| | |
| | | } 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 { |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | tableHeight: "", |
| | | rules: { |
| | | number: [{ required: true, message: "请输入编号", trigger: "blur" }], |
| | | auxiliaryProject: [ |
| | |
| | | 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"); |
| | | }, |
| | | }, |
| | | ], |
| | |
| | | addPower: true, |
| | | }; |
| | | }, |
| | | created() {}, |
| | | created() { |
| | | this.getTableHeight(); |
| | | }, |
| | | mounted() { |
| | | this.entityCopy = this.HaveJson(this.entity); |
| | | this.obtainItemParameterList(); |
| | |
| | | this.getData(); |
| | | }, |
| | | methods: { |
| | | getTableHeight() { |
| | | this.tableHeight = window.innerHeight -50 -46 - 63 - 80 - 41 -30 -30 -32 + ''; |
| | | }, |
| | | getData() { |
| | | this.tableLoading = true; |
| | | this.page.total = 0; |
| | |
| | | type="primary" |
| | | @click="openAdd" |
| | | v-show="currentTable == 'ValueTable0'" |
| | | v-hasPermi="['performance:manHour:workTimeManagement:enterData']" |
| | | >录入数据</el-button |
| | | > |
| | | <el-button |
| | |
| | | type="primary" |
| | | @click="handleOut" |
| | | :loading="outLoading" |
| | | v-hasPermi="['performance:manHour:workTimeManagement:export']" |
| | | >导 出</el-button |
| | | > |
| | | <el-button |
| | |
| | | type="primary" |
| | | v-show="currentTable == 'ValueTable0'" |
| | | @click="openBatchCheck(0)" |
| | | v-hasPermi="['performance:manHour:workTimeManagement:batchExamine']" |
| | | >批量审核</el-button |
| | | > |
| | | <el-button |
| | |
| | | type="primary" |
| | | v-show="currentTable == 'ValueTable0'" |
| | | @click="openBatchCheck(1)" |
| | | v-hasPermi="['performance:manHour:workTimeManagement:batchApprove']" |
| | | >批量批准</el-button |
| | | > |
| | | </div> |
| | |
| | | :column="column" |
| | | :key="upIndex" |
| | | :tableLoading="tableLoading" |
| | | :height="'calc(100vh - 270px)'" |
| | | :height="tableHeight+''" |
| | | :page="page" |
| | | @pagination="pagination" |
| | | ></lims-table> |
| | |
| | | :column="column1" |
| | | :key="upIndex1" |
| | | :tableLoading="tableLoading1" |
| | | :height="'calc(100vh - 270px)'" |
| | | :height="tableHeight+''" |
| | | :page="page1" |
| | | @pagination="pagination1" |
| | | ></lims-table> |
| | |
| | | } 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 { |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | tableHeight: "", |
| | | shiftList:[], |
| | | tableData: [], |
| | | column: [ |
| | |
| | | clickFun: (row) => { |
| | | this.del(row); |
| | | }, |
| | | showHide: () => { |
| | | return auth.hasPermi('performance:manHour:workTimeManagement:del'); |
| | | } |
| | | }, |
| | | { |
| | | name: "编辑", |
| | |
| | | clickFun: (row) => { |
| | | this.handleEdit(row); |
| | | }, |
| | | showHide: () => { |
| | | return auth.hasPermi('performance:manHour:workTimeManagement:edit'); |
| | | } |
| | | }, |
| | | { |
| | | name: "审核", |
| | |
| | | clickFun: (row) => { |
| | | this.handleCheck(row); |
| | | }, |
| | | showHide: () => { |
| | | return auth.hasPermi('performance:manHour:workTimeManagement:examine'); |
| | | } |
| | | }, |
| | | { |
| | | name: "批准", |
| | |
| | | clickFun: (row) => { |
| | | this.handleRatify(row); |
| | | }, |
| | | showHide: () => { |
| | | return auth.hasPermi('performance:manHour:workTimeManagement:approve'); |
| | | } |
| | | }, |
| | | ], |
| | | }, |
| | |
| | | //当只有产量工时tab页时,当前页改为产量工时页 |
| | | this.selectEnumByCategory(); |
| | | this.setDate(); |
| | | this.getTableHeight(); |
| | | }, |
| | | mounted() { |
| | | console.log(11); |
| | |
| | | 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("此操作将永久删除, 是否继续?", "提示", { |
| | |
| | | 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, |
| | |
| | | }); |
| | | } |
| | | }, |
| | | 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(); |
| | | }, |
| | |
| | | </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> |
| | |
| | | :column="column1" |
| | | :key="upIndex1" |
| | | :tableLoading="tableLoading1" |
| | | :height="'calc(100vh - 270px)'" |
| | | :height="tableHeight+''" |
| | | :page="page1" |
| | | @pagination="pagination1" |
| | | ></lims-table> |
| | |
| | | computed: {}, |
| | | data() { |
| | | return { |
| | | tableHeight: "", |
| | | column: [ |
| | | { |
| | | label: "姓名", |
| | |
| | | outLoading: false, |
| | | }; |
| | | }, |
| | | created() {}, |
| | | created() { |
| | | this.getTableHeight(); |
| | | }, |
| | | mounted() { |
| | | this.entityCopy = this.HaveJson(this.entity); |
| | | this.entityCopy0 = this.HaveJson(this.entity); |
| | |
| | | }, |
| | | }, |
| | | methods: { |
| | | getTableHeight() { |
| | | this.tableHeight = window.innerHeight -50 -46 - 63 - 80 - 41 -30 -30 -32; |
| | | }, |
| | | getData() { |
| | | if (this.currentTable == "value0") { |
| | | console.log('value0'); |
| | |
| | | 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 = { |
| | |
| | | <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> |