| | |
| | | <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'"> |
| | |
| | | </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> |
| | |
| | | </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> |
| | | |
| | |
| | | }, |
| | | }, |
| | | props: { |
| | | parentSpanMethod: { |
| | | type: Function, |
| | | default: () => {}, |
| | | }, |
| | | isSelection: { |
| | | type: Boolean, |
| | | default: undefined, |
| | |
| | | handleSelectionChange: { |
| | | type: Function, |
| | | default: () => { |
| | | return () => { }; |
| | | return () => {}; |
| | | }, |
| | | }, |
| | | rowClick: { |
| | | type: Function, |
| | | default: () => { |
| | | return () => { }; |
| | | return () => {}; |
| | | }, |
| | | }, |
| | | currentChange: { |
| | | type: Function, |
| | | default: () => { |
| | | return () => { }; |
| | | return () => {}; |
| | | }, |
| | | }, |
| | | border: { |
| | |
| | | }, |
| | | rowClassName: { |
| | | type: Function, |
| | | default: () => { }, |
| | | default: () => {}, |
| | | }, |
| | | rowStyle: { |
| | | type: Function, |
| | |
| | | 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(); |
| | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .el-table>>>.el-table__empty-text { |
| | | .el-table >>> .el-table__empty-text { |
| | | text-align: center; |
| | | } |
| | | |
| | | >>>.cell { |
| | | >>> .cell { |
| | | padding: 0 !important; |
| | | } |
| | | |
| | |
| | | cursor: pointer; |
| | | } |
| | | |
| | | >>>.el-table__body-wrapper::-webkit-scrollbar { |
| | | >>> .el-table__body-wrapper::-webkit-scrollbar { |
| | | height: 14px; |
| | | /* 设置滚动条宽度 */ |
| | | } |
| | |
| | | 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.getAuthorizedPerson(); |
| | | this.handleResize(); |
| | | // 监听窗口大小改变事件 |
| | | window.addEventListener("resize", this.handleResize); |
| | | window.addEventListener("resize", this.handleResize); |
| | | }, |
| | | beforeDestroy() { |
| | | if (this.time != null) { |
| | |
| | | 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> |