From a2bce22a3a4df5f4662c373e57c07fa4268aeee1 Mon Sep 17 00:00:00 2001 From: 小小儁爺 <1694218219@qq.com> Date: 星期五, 13 六月 2025 09:02:52 +0800 Subject: [PATCH] 1.修改工单打印模板 --- src/views/statistic/personSalaryList.vue | 1807 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 906 insertions(+), 901 deletions(-) diff --git a/src/views/statistic/personSalaryList.vue b/src/views/statistic/personSalaryList.vue index fb17ab7..6b75bed 100644 --- a/src/views/statistic/personSalaryList.vue +++ b/src/views/statistic/personSalaryList.vue @@ -1,901 +1,906 @@ -<template> - <div> - <div class="body" :style="{height:mainHeight+'px'}"> - <div class="bodyTopButtonGroup" style="justify-content: space-between"> - <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button> - - <div - style="color: red;margin: 10px 5px 0 0;" - >褰撳墠鎶ヨ〃鍙粺璁¤嚜鍒朵欢宸ュ簭 - </div> - - <!-- <div class="topRight" style="display: flex;align-items: center">--> - <!-- <!– <div style="font-size: 14px;margin-right: 15px;color: #a7a7a7">鍓旈櫎宸ュ簭</div>–>--> - <!-- <el-select--> - <!-- v-model="form.rejectstepcode"--> - <!-- style="width: 170px;"--> - <!-- multiple--> - <!-- placeholder="璇烽�夋嫨鍓旈櫎宸ュ簭"--> - <!-- collapse-tags--> - <!-- filterable--> - <!-- clearable--> - <!-- @change="getPeopleSalaryReportSearch"--> - <!-- >--> - <!-- <el-option--> - <!-- v-for="item in StepSelectArr"--> - <!-- :key="item.stepcode"--> - <!-- :label="item.stepname"--> - <!-- :value="item.stepcode"--> - <!-- />--> - <!-- </el-select>--> - <!-- </div>--> - </div> - - <div class="bodyTopFormGroup"> - <el-form - ref="form" - :model="form" - label-width="100px" - inline - style="display: flex; " - > - <div class="elForm"> - <el-form-item label="閿�鍞崟鍙�" style="display: flex;"> - <el-input v-model="form.socode" placeholder="璇疯緭鍏�" style="width: 200px" /> - </el-form-item> - <el-form-item label="杞﹂棿鍚嶇О" style=" display: flex;"> - <el-select - v-model="form.wkshopcode" - filterable - :popper-append-to-body="false" - style="width: 200px" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in wkshopcodeArr" - :key="item.torg_code" - :label="item.torg_name" - :value="item.torg_code" - /> - </el-select> - </el-form-item> - <el-form-item label="宸ュ崟缂栧彿" style="display: flex;"> - <el-input v-model="form.wocode" placeholder="璇疯緭鍏�" style="width: 200px" /> - </el-form-item> - <el-form-item label="浜у搧缂栫爜" style=" display: flex;"> - <el-input v-model="form.partcode" placeholder="璇疯緭鍏�" style="width: 200px" /> - </el-form-item> - <el-form-item v-show="isExpandForm" label="浜у搧鍚嶇О" style=" display: flex;"> - <el-input v-model="form.partname" style="width: 200px" placeholder="璇疯緭鍏�" /> - </el-form-item> - <el-form-item v-show="isExpandForm" label="瑙勬牸鍨嬪彿" style=" display: flex;"> - <el-input v-model="form.partspec" style="width: 200px" placeholder="璇疯緭鍏�" /> - </el-form-item> - <el-form-item v-show="isExpandForm" label="宸ュ簭鍚嶇О" style=" display: flex;"> - <el-input v-model="form.stepname" style="width: 200px" placeholder="璇疯緭鍏�" /> - </el-form-item> - <!-- <el-form-item v-show="isExpandForm" label="鐢熶骇鐝粍" style=" display: flex;">--> - <!-- <el-select v-model="form.groupcode" style="width: 200px" placeholder="璇烽�夋嫨">--> - <!-- <el-option--> - <!-- v-for="item in groupArr"--> - <!-- :key="item.group_code"--> - <!-- :label="item.group_name"--> - <!-- :value="item.group_code"--> - <!-- />--> - <!-- </el-select>--> - <!-- </el-form-item>--> - <el-form-item v-show="isExpandForm" label="鎶ュ伐浜哄憳" style=" display: flex;"> - <el-input v-model="form.reportname" style="width: 200px" placeholder="璇疯緭鍏�" /> - </el-form-item> - <el-form-item v-show="isExpandForm" label="鎶ュ伐鏃堕棿" style="display: flex;align-items: center"> - <el-date-picker - v-model="form.reportdate" - type="daterange" - range-separator="~" - class="timeMini" - size="mini" - style="width: 200px;display: flex;line-height: 34px;height: 34px;" - :clearable="false" - start-placeholder="寮�濮嬫棩鏈�" - end-placeholder="缁撴潫鏃ユ湡" - /> - <!-- font-size: 14px!important;--> - <!-- :picker-options="expireTimeOption"--> - - </el-form-item> - </div> - <div - class="bodySearchReset" - :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}" - > - <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button> - <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button> - </div> - </el-form> - <div - class="bodyTopFormExpand" - > - <svg-icon - v-show="mouseHoverType==='mouseout'" - style="cursor: pointer" - :icon-class="!isExpandForm?'doubleDown3':'doubleUp3'" - @mouseenter="mouseHoverType=$event.type" - /> - <svg-icon - v-show="mouseHoverType==='mouseenter'" - style="cursor: pointer" - :icon-class="!isExpandForm?'doubleDown':'doubleUp'" - @click="isExpandForm=!isExpandForm" - @mouseout="mouseHoverType=$event.type" - /> - </div> - </div> - - <el-tabs type="border-card" style="margin-top: 10px" @tab-click="tabClick"> - <el-tab-pane label="鏈亾宸ュ簭"> - <div class="elTableDiv" style="margin: 0 auto 10px;"> - <el-table - ref="tableDataRef" - class="tableFixed" - :data="tableData" - :height="isExpandForm?(tableHeight-120):(tableHeight-40)+'px'" - border - :summary-method="getSummaries" - show-summary - :row-class-name="tableRowClassName" - :style="{width: 100+'%',height:isExpandForm?(tableHeight-80):(tableHeight-40)+'px',}" - highlight-current-row - :header-cell-style="this.$headerCellStyle" - :cell-style="this.$cellStyle" - @sort-change="sortChange" - > - <el-table-column - prop="rowNum" - width="50" - fixed - label="搴忓彿" - /> - <el-table-column - prop="wo_code" - label="宸ュ崟缂栧彿" - width="160" - sortable="custom" - /> - <el-table-column - prop="saleOrderCode" - label="閿�鍞崟鍙�" - width="160" - show-tooltip-when-overflow - sortable="custom" - /> - <el-table-column - prop="partcode" - label="浜у搧缂栫爜" - width="160" - show-tooltip-when-overflow - sortable="custom" - /> - <el-table-column - prop="partname" - label="浜у搧鍚嶇О" - width="160" - show-tooltip-when-overflow - sortable="custom" - /> - <el-table-column - prop="partspec" - label="浜у搧瑙勬牸" - width="160" - show-tooltip-when-overflow - sortable="custom" - > - <template slot-scope="{row}"> - <div v-if="row.partspec">{{ row.partspec }}</div> - <div v-else>/</div> - </template> - </el-table-column> - <el-table-column - prop="wkshp_name" - label="杞﹂棿鍚嶇О" - width="130" - show-tooltip-when-overflow - sortable="custom" - /> - - <el-table-column - prop="step_code" - label="宸ュ簭缂栫爜" - width="110" - show-tooltip-when-overflow - sortable="custom" - /> - <el-table-column - prop="stepname" - label="宸ュ簭鍚嶇О" - width="110" - show-tooltip-when-overflow - sortable="custom" - /> - <el-table-column - prop="task_qty" - label="浠诲姟鏁伴噺" - width="110" - show-tooltip-when-overflow - sortable="custom" - /> - <!-- <el-table-column--> - <!-- prop="group_name"--> - <!-- label="鐢熶骇鐝粍"--> - <!-- width="110"--> - <!-- show-tooltip-when-overflow--> - <!-- sortable="custom"--> - <!-- >--> - <!-- <template slot-scope="{row}">--> - <!-- <div v-if="row.group_name">{{ row.group_name }}</div>--> - <!-- <div v-else>/</div>--> - <!-- </template>--> - <!-- </el-table-column>--> - <el-table-column - prop="report_qty" - label="鎶ュ伐鏁伴噺" - width="110" - sortable="custom" - > - <template slot-scope="{row}"> - <div v-if="row.report_qty">{{ row.report_qty }}</div> - <div v-else>/</div> - </template> - </el-table-column> - <el-table-column - prop="step_price" - label="宸ュ簭鍗曚环" - width="110" - sortable="custom" - > - <template slot-scope="{row}"> - <div v-if="row.step_price">{{ row.step_price }} 鍏�</div> - <div v-else>/</div> - </template> - </el-table-column> - <!-- <el-table-column--> - <!-- prop="ratio"--> - <!-- label="鍒嗛厤姣斾緥"--> - <!-- width="110"--> - <!-- sortable="custom"--> - <!-- >--> - <!-- <template slot-scope="{row}">--> - <!-- <div v-if="row.step_price">{{ row.ratio }} %</div>--> - <!-- <div v-else>/</div>--> - <!-- </template>--> - <!-- </el-table-column>--> - <el-table-column - prop="moneys" - label="涓汉璁′欢宸ヨ祫" - width="130" - sortable="custom" - > - <template slot-scope="{row}"> - <div v-if="row.moneys">{{ row.moneys }} 鍏�</div> - <div v-else>/</div> - </template> - </el-table-column> - <el-table-column - prop="username" - label="鎶ュ伐浜哄憳" - width="110" - sortable="custom" - /> - <el-table-column - prop="report_date" - label="鎶ュ伐鏃堕棿" - width="160" - sortable="custom" - /> - - </el-table> - </div> - <!--鍒嗛〉--> - <pagination - :total="total" - :page.sync="form.page" - :limit.sync="form.rows" - align="right" - layout="total,prev, pager, next,sizes" - popper-class="select_bottom" - @pagination="getPeopleSalaryReportSearch" - /> - </el-tab-pane> - <el-tab-pane label="閫愰亾宸ュ簭"> - <div class="elTableDiv" style="margin: 0 auto 10px;"> - <el-table - ref="tableDataRef2" - class="tableFixed" - :data="tableData2" - :height="isExpandForm?(tableHeight-80):(tableHeight-40)+'px'" - border - :summary-method="getSummaries" - show-summary - :row-class-name="tableRowClassName" - :style="{width: 100+'%',height:isExpandForm?(tableHeight-80):(tableHeight-40)+'px',}" - highlight-current-row - :header-cell-style="this.$headerCellStyle" - :cell-style="this.$cellStyle" - @sort-change="sortChange" - > - <el-table-column - prop="rowNum" - width="50" - fixed - label="搴忓彿" - /> - <el-table-column - prop="wo_code" - label="宸ュ崟缂栧彿" - width="160" - sortable="custom" - /> - <el-table-column - prop="saleOrderCode" - label="閿�鍞崟鍙�" - width="160" - show-tooltip-when-overflow - sortable="custom" - /> - <el-table-column - prop="partcode" - label="浜у搧缂栫爜" - width="160" - show-tooltip-when-overflow - sortable="custom" - /> - <el-table-column - prop="partname" - label="浜у搧鍚嶇О" - width="160" - show-tooltip-when-overflow - sortable="custom" - /> - <el-table-column - prop="partspec" - label="浜у搧瑙勬牸" - width="160" - show-tooltip-when-overflow - sortable="custom" - > - <template slot-scope="{row}"> - <div v-if="row.partspec">{{ row.partspec }}</div> - <div v-else>/</div> - </template> - </el-table-column> - <el-table-column - prop="wkshp_name" - label="杞﹂棿鍚嶇О" - width="130" - show-tooltip-when-overflow - sortable="custom" - /> - - <el-table-column - prop="step_code" - label="宸ュ簭缂栫爜" - width="110" - show-tooltip-when-overflow - sortable="custom" - /> - <el-table-column - prop="stepname" - label="宸ュ簭鍚嶇О" - width="110" - show-tooltip-when-overflow - sortable="custom" - /> - <el-table-column - prop="task_qty" - label="浠诲姟鏁伴噺" - width="110" - show-tooltip-when-overflow - sortable="custom" - /> - <!-- <el-table-column--> - <!-- prop="group_name"--> - <!-- label="鐢熶骇鐝粍"--> - <!-- width="110"--> - <!-- show-tooltip-when-overflow--> - <!-- sortable="custom"--> - <!-- >--> - <!-- <template slot-scope="{row}">--> - <!-- <div v-if="row.group_name">{{ row.group_name }}</div>--> - <!-- <div v-else>/</div>--> - <!-- </template>--> - <!-- </el-table-column>--> - <el-table-column - prop="report_qty" - label="鎶ュ伐鏁伴噺" - width="110" - sortable="custom" - > - <template slot-scope="{row}"> - <div v-if="row.report_qty">{{ row.report_qty }}</div> - <div v-else>/</div> - </template> - </el-table-column> - <el-table-column - prop="step_price" - label="宸ュ簭鍗曚环" - width="110" - sortable="custom" - > - <template slot-scope="{row}"> - <div v-if="row.step_price">{{ row.step_price }} 鍏�</div> - <div v-else>/</div> - </template> - </el-table-column> - <el-table-column - prop="moneys" - label="涓汉璁′欢宸ヨ祫" - width="130" - sortable="custom" - > - <template slot-scope="{row}"> - <div v-if="row.moneys">{{ row.moneys }} 鍏�</div> - <div v-else>/</div> - </template> - </el-table-column> - <el-table-column - prop="username" - label="鎶ュ伐浜哄憳" - width="110" - sortable="custom" - /> - <el-table-column - prop="report_date" - label="鎶ュ伐鏃堕棿" - width="160" - sortable="custom" - /> - - </el-table> - </div> - <!--鍒嗛〉--> - <pagination - :total="total" - :page.sync="form.page" - :limit.sync="form.rows" - align="right" - layout="total,prev, pager, next,sizes" - popper-class="select_bottom" - @pagination="getPeopleSalaryReportSearch" - /> - </el-tab-pane> - </el-tabs> - </div> - - <el-dialog - v-el-drag-dialog - :title="operation==='add'?'鏂板':'浜哄憳鏄庣粏'" - :visible.sync="dialogVisible" - width="800px" - :close-on-click-modal="false" - top="15vh" - @closed="handleClose" - @close="handleClose" - > - <div style="height: 300px;width: 100%;background-color: aliceblue;padding:20px"> - <el-tag - v-for="tag in tagArr" - :key="tag.name" - type="success" - style="margin-right: 15px;min-width: 80px;text-align: center" - > - {{ tag }} - </el-tag> - </div> - <span slot="footer" class="dialog-footer"> - <div class="footerButton"> - <el-button v-waves @click="dialogVisible=false">杩� 鍥�</el-button> - <!-- <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>--> - <!-- <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>--> - </div> - </span> - </el-dialog> - - <!--瀵煎叆缁勪欢--> - <import-picker - ref="importPickerFunc" - class="importPickerClass" - :shows.sync="shows" - :title="title_value" - :colos="colos" - :code="code" - /> - - </div> -</template> - -<script> -import Pagination from '@/components/Pagination' -import { getCookie } from '@/utils/auth' -import ImportPicker from '@/components/ImportPicker' -import { handleDatetime, validateCode } from '@/utils/global' -import { - GroupSalaryReportSearchUser, PeopleSalaryReportExcelSearch, PeopleSalaryReportSearch -} from '@/api/ReportManager' -import elDragDialog from '@/directive/el-drag-dialog' -import waves from '@/directive/waves' -import { PrentOrganizationNoCompany } from '@/api/GeneralBasicData' - -export default { - name: 'PersonSalaryList', - components: { - Pagination, ImportPicker - }, - directives: { elDragDialog, waves }, - data() { - return { - mouseHoverType: 'mouseout', - isExpandForm: false, - mainHeight: 0, - tableHeight: 0, - StepSelectArr: [], // 鍓旈櫎宸ュ簭鏁扮粍 - form: { - socode: '', - wkshopcode: '', - wocode: '', // 宸ュ崟缂栧彿 - partcode: '', // 浜у搧缂栫爜 - partname: '', // 浜у搧鍚嶇О - partspec: '', // 瑙勬牸鍨嬪彿 - stepname: '', // 宸ュ簭鍚嶇О - groupcode: '', // 鐢熶骇鐝粍 - reportname: '', // 鎿嶄綔浜哄憳 - reportdate: '', // 鎿嶄綔鏃堕棿 - rejectstepcode: [], // 鍓旈櫎宸ュ簭(鍥哄畾钖祫宸ュ簭涓嶅弬涓庤绠� - compute: 'last', // 璁′欢鏂瑰紡 - prop: 'partcode', // 鎺掑簭瀛楁 - order: 'desc', // 鎺掑簭瀛楁 - page: 1, // 绗嚑椤� - rows: 20 // 姣忛〉澶氬皯鏉� - }, - wkshopcodeArr: [], - groupArr: [], - total: 10, - tableData: [], - tableData2: [], - dialogVisible: false, - tagArr: [], // - dialogForm: { - OrgType: '', - OrgCode: '', - OrgName: '', - SupUnit: ''// 涓婄骇鍗曚綅 - }, - operation: '', - dialogFormRules: { - OrgType: [ - { required: true, message: '璇疯緭鍏ラ�夋嫨绫诲瀷', trigger: ['blur', 'change'] } - ], - OrgCode: [ - { required: true, validator: validateCode, trigger: ['blur', 'change'] } - ], - OrgName: [ - { required: true, message: '璇疯緭鍏ュ悕绉�', trigger: ['blur', 'change'] } - ] - - }, - - title_value: '鏁版嵁瀵煎叆 / 鐐规閮ㄤ綅', - code: '4', - shows: false - - } - }, - watch: { - shows() { - if (!this.shows) { - this.getPeopleSalaryReportSearch() - } - } - }, - // updated() { - // this.$nextTick(() => { - // this.$refs.tableDataRef.doLayout() - // this.$refs.tableDataRef2.doLayout() - // }) - // }, - activated() { window.addEventListener('resize', this.getHeight) this.getHeight() }, created() { - this.handleRequest() - }, - mounted() { - window.addEventListener('resize', this.getHeight) - this.getHeight() - }, - methods: { - handleRequest() { - this.getPeopleSalaryReportSearch().then(res => { - if (res.code === '200') { - this.getPrentOrganizationNoCompany() - - // this.getMesOrderStepReportSelectUserGroup() - // this.getStepSelect() - } - }) - }, - async getPrentOrganizationNoCompany() { - const { data: res } = await PrentOrganizationNoCompany() - this.wkshopcodeArr = res - }, - // 鑾峰彇宸ュ簭涓嬫媺鎺ュ彛 - // async getStepSelect() { - // const { data: res } = await StepSelect() - // this.StepSelectArr = res - // }, - getSummaries(param) { - const { columns, data } = param - const sums = [] - - const i = this.form.compute === 'last' ? 11 : 11 - - columns.forEach((column, index) => { - if (index === i) { - sums[index] = '鎬讳环' - return - } - const values = data.map(item => Number(item[column.property])) - if (column.property === 'moneys') { - sums[index] = values.reduce((prev, curr) => { - const value = Number(curr) - if (!isNaN(value)) { - // return prev + curr - return Math.round(prev * 100) / 100 + Math.round(curr * 100) / 100 - } else { - return Math.round(prev * 100) / 100 - } - }, 0) - - sums[index] = sums[index].toFixed(2) + ' 鍏�' - } else { - // sums[index] = 'N/A' - sums[index] = ' ' - } - }) - - this.$nextTick(() => { - this.$refs.tableDataRef.doLayout() - this.$refs.tableDataRef2.doLayout() - }) - // (Math.round(sums * 100) / 100).toS - - // console.log(typeof sums) - // console.log(sums[11].split(' ')) - return sums - }, - async getPeopleSalaryReportSearch() { - let tempDate = this.form.reportdate - if (tempDate.length > 0) { - tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1]) - } - const data = { - socode: this.form.socode, - wkshopcode: this.form.wkshopcode, - wocode: this.form.wocode, - partcode: this.form.partcode, - partname: this.form.partname, - partspec: this.form.partspec, - stepname: this.form.stepname, - groupcode: this.form.groupcode, - compute: this.form.compute, - reportname: this.form.reportname, - rejectstepcode: this.form.rejectstepcode.join(','), - reportdate: tempDate, - prop: this.form.prop, - order: this.form.order, - page: this.form.page, - rows: this.form.rows - - } - - const res = await PeopleSalaryReportSearch(data) - if (this.form.compute === 'last') { - this.tableData = res.data - } - if (this.form.compute === 'contin') { - this.tableData2 = res.data - } - this.total = res.count - - return { code: res.code } - }, - - // async getMesOrderStepReportSelectUserGroup() { - // const { data: res } = await MesOrderStepReportSelectUserGroup() - // this.groupArr = res - // }, - tabClick(val) { - this.form.compute = val.label === '鏈亾宸ュ簭' ? 'last' : 'contin' - this.getPeopleSalaryReportSearch() - }, - // 鎺掑簭鏀瑰彉鏃� - sortChange({ column, prop, order }) { - if (order === 'descending') { - order = 'desc' - } else if (order === 'ascending') { - order = 'asc' - } else { - order = 'desc' - } - this.form.order = order - this.form.prop = prop - this.getPeopleSalaryReportSearch() - }, - async download() { - let tempDate = this.form.reportdate - if (tempDate.length > 0) { - tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1]) - } - - const data = { - socode: this.form.socode, - wkshopcode: this.form.wkshopcode, - wocode: this.form.wocode, - partcode: this.form.partcode, - partname: this.form.partname, - partspec: this.form.partspec, - stepname: this.form.stepname, - groupcode: this.form.groupcode, - compute: this.form.compute, - reportname: this.form.reportname, - reportdate: tempDate - } - - const { data: res } = await PeopleSalaryReportExcelSearch(data) - window.location.href = res - }, - // 鏌ヨ - search() { - this.getPeopleSalaryReportSearch() - }, - // 瀵煎叆鎸夐挳 - upload() { - this.shows = true - this.$refs.importPickerFunc.newDataFunc() - }, - colos() { - this.shows = false - }, - // 閲嶇疆 - reset() { - this.form.socode = '' - this.form.wkshopcode = '' - this.form.wocode = '' - this.form.partcode = '' - this.form.partname = '' - this.form.partspec = '' - this.form.stepname = '' - this.form.groupcode = '' - this.form.reportname = '' - this.form.reportdate = '' - this.getPeopleSalaryReportSearch() - }, - - // 鏂板鎸夐挳 - add(operation) { - this.operation = operation - this.dialogVisible = true - }, - // 淇敼鎸夐挳 - async edit(operation, row) { - this.operation = operation - this.dialogVisible = true - - const res = await GroupSalaryReportSearchUser({ id: row.id }) - this.tagArr = res.data.map(r => r.reportname) - // this.tagArr = ['妤兼潕淇�', '寮犱笁', '鏉庡洓'] - // this.$nextTick(() => { - // this.dialogForm.OrgCode = row.org_code - // this.dialogForm.OrgName = row.org_name - // this.dialogForm.SupUnit = row.parent_id - // }) - }, - // 鍒犻櫎鎸夐挳 - async del(row) { - // this.$confirm('鏄惁纭鍒犻櫎?', '鎻愮ず', { - // confirmButtonText: '纭畾', - // cancelButtonText: '鍙栨秷', - // type: 'warning' - // }).then(() => { - // DeleteOrganization({ orgid: row.code }).then(res => { - // if (res.code === '200') { - // this.$message.success('鍒犻櫎鎴愬姛!') - // if (this.form.page > 1 && this.tableData.length === 1) { - // this.form.page-- - // } - // this.getPeopleSalaryReportSearch() - // } - // }) - // }).catch(() => { - // this.$message.info('宸插彇娑堝垹闄�') - // }) - }, - // 瀵硅瘽妗嗗叧闂簨浠� - handleClose() { - this.dialogForm.OrgType = '' - this.dialogForm.OrgCode = '' - this.dialogForm.OrgName = '' - this.dialogForm.SupUnit = '' - this.$refs.dialogForm.clearValidate() - }, - // 瀵硅瘽妗嗗彇娑� - dialogVisibleCancel() { - this.dialogVisible = false - }, - // 瀵硅瘽妗嗙‘璁� - dialogVisibleConfirm() { - this.$refs.dialogForm.validate(valid => { - if (valid) { - const data = { - OrganCode: this.dialogForm.OrgCode, - OrganName: this.dialogForm.OrgName, - OperType: this.operation === 'add' ? 'Add' : 'Update', - Operator: getCookie('admin') - } - // AddUpdateOrganization(data).then(res => { - // if (res.code === '200') { - // this.$message.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�') - // this.dialogVisible = false - // this.getPeopleSalaryReportSearch() - // } else { - // this.$message.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�') - // } - // }) - } - }) - }, - // 鑾峰彇椤甸潰楂樺害 - getHeight() { - this.$nextTick(() => { - this.mainHeight = window.innerHeight - 85 - this.tableHeight = this.mainHeight - 245 - this.$refs.tableDataRef.doLayout() - this.$refs.tableDataRef2.doLayout() - }) - }, - tableRowClassName({ row, rowIndex }) { - return 'custom-row' - } - } -} -</script> - -<style scoped lang="scss"> -::v-deep .el-select__caret { - display: flex; - align-items: center; - justify-content: center; -} - -::v-deep .el-range__icon { - line-height: 28px !important; -} - -::v-deep .el-range-separator { - line-height: 28px !important; -} - -::v-deep .el-range-input { - font-size: 14px; -} - -::v-deep .el-range-separator { - display: flex; - justify-content: center; - align-items: center; -} - -::v-deep .el-progress-bar__innerText { - display: none !important; -} -</style> -<style> -.el-table .custom-row { - background: #f8f8fa; -} -</style> +<template> + <div> + <div class="body" :style="{height:mainHeight+'px'}"> + <div class="bodyTopButtonGroup" style="justify-content: space-between"> + <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button> + + <div + style="color: red;margin: 10px 5px 0 0;" + >褰撳墠鎶ヨ〃鍙粺璁¤嚜鍒朵欢宸ュ簭 + </div> + + <!-- <div class="topRight" style="display: flex;align-items: center">--> + <!-- <!– <div style="font-size: 14px;margin-right: 15px;color: #a7a7a7">鍓旈櫎宸ュ簭</div>–>--> + <!-- <el-select--> + <!-- v-model="form.rejectstepcode"--> + <!-- style="width: 170px;"--> + <!-- multiple--> + <!-- placeholder="璇烽�夋嫨鍓旈櫎宸ュ簭"--> + <!-- collapse-tags--> + <!-- filterable--> + <!-- clearable--> + <!-- @change="getPeopleSalaryReportSearch"--> + <!-- >--> + <!-- <el-option--> + <!-- v-for="item in StepSelectArr"--> + <!-- :key="item.stepcode"--> + <!-- :label="item.stepname"--> + <!-- :value="item.stepcode"--> + <!-- />--> + <!-- </el-select>--> + <!-- </div>--> + </div> + + <div class="bodyTopFormGroup"> + <el-form + ref="form" + :model="form" + label-width="100px" + inline + style="display: flex; " + > + <div class="elForm"> + <el-form-item label="閿�鍞崟鍙�" style="display: flex;"> + <el-input v-model="form.socode" placeholder="璇疯緭鍏�" style="width: 200px" /> + </el-form-item> + <el-form-item label="杞﹂棿鍚嶇О" style=" display: flex;"> + <el-select + v-model="form.wkshopcode" + filterable + :popper-append-to-body="false" + style="width: 200px" + placeholder="璇烽�夋嫨" + > + <el-option + v-for="item in wkshopcodeArr" + :key="item.torg_code" + :label="item.torg_name" + :value="item.torg_code" + /> + </el-select> + </el-form-item> + <el-form-item label="宸ュ崟缂栧彿" style="display: flex;"> + <el-input v-model="form.wocode" placeholder="璇疯緭鍏�" style="width: 200px" /> + </el-form-item> + <el-form-item label="浜у搧缂栫爜" style=" display: flex;"> + <el-input v-model="form.partcode" placeholder="璇疯緭鍏�" style="width: 200px" /> + </el-form-item> + <el-form-item v-show="isExpandForm" label="浜у搧鍚嶇О" style=" display: flex;"> + <el-input v-model="form.partname" style="width: 200px" placeholder="璇疯緭鍏�" /> + </el-form-item> + <el-form-item v-show="isExpandForm" label="瑙勬牸鍨嬪彿" style=" display: flex;"> + <el-input v-model="form.partspec" style="width: 200px" placeholder="璇疯緭鍏�" /> + </el-form-item> + <el-form-item v-show="isExpandForm" label="宸ュ簭鍚嶇О" style=" display: flex;"> + <el-input v-model="form.stepname" style="width: 200px" placeholder="璇疯緭鍏�" /> + </el-form-item> + <!-- <el-form-item v-show="isExpandForm" label="鐢熶骇鐝粍" style=" display: flex;">--> + <!-- <el-select v-model="form.groupcode" style="width: 200px" placeholder="璇烽�夋嫨">--> + <!-- <el-option--> + <!-- v-for="item in groupArr"--> + <!-- :key="item.group_code"--> + <!-- :label="item.group_name"--> + <!-- :value="item.group_code"--> + <!-- />--> + <!-- </el-select>--> + <!-- </el-form-item>--> + <el-form-item v-show="isExpandForm" label="鎶ュ伐浜哄憳" style=" display: flex;"> + <el-input v-model="form.reportname" style="width: 200px" placeholder="璇疯緭鍏�" /> + </el-form-item> + <el-form-item v-show="isExpandForm" label="鎶ュ伐鏃堕棿" style="display: flex;align-items: center"> + <el-date-picker + v-model="form.reportdate" + type="daterange" + range-separator="~" + class="timeMini" + size="mini" + style="width: 200px;display: flex;line-height: 34px;height: 34px;" + :clearable="false" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + /> + <!-- font-size: 14px!important;--> + <!-- :picker-options="expireTimeOption"--> + + </el-form-item> + </div> + <div + class="bodySearchReset" + :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}" + > + <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button> + <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button> + </div> + </el-form> + <div + class="bodyTopFormExpand" + > + <svg-icon + v-show="mouseHoverType==='mouseout'" + style="cursor: pointer" + :icon-class="!isExpandForm?'doubleDown3':'doubleUp3'" + @mouseenter="mouseHoverType=$event.type" + /> + <svg-icon + v-show="mouseHoverType==='mouseenter'" + style="cursor: pointer" + :icon-class="!isExpandForm?'doubleDown':'doubleUp'" + @click="isExpandForm=!isExpandForm" + @mouseout="mouseHoverType=$event.type" + /> + </div> + </div> + + <el-tabs type="border-card" style="margin-top: 10px" @tab-click="tabClick"> + <el-tab-pane label="鏈亾宸ュ簭"> + <div class="elTableDiv" style="margin: 0 auto 10px;"> + <el-table + ref="tableDataRef" + class="tableFixed" + :data="tableData" + :height="isExpandForm?(tableHeight-120):(tableHeight-40)+'px'" + border + :summary-method="getSummaries" + show-summary + :row-class-name="tableRowClassName" + :style="{width: 100+'%',height:isExpandForm?(tableHeight-80):(tableHeight-40)+'px',}" + highlight-current-row + :header-cell-style="this.$headerCellStyle" + :cell-style="this.$cellStyle" + @sort-change="sortChange" + > + <el-table-column + prop="rowNum" + width="50" + fixed + label="搴忓彿" + /> + <el-table-column + prop="wo_code" + label="宸ュ崟缂栧彿" + width="160" + sortable="custom" + /> + <el-table-column + prop="saleOrderCode" + label="閿�鍞崟鍙�" + width="160" + show-tooltip-when-overflow + sortable="custom" + /> + <el-table-column + prop="partcode" + label="浜у搧缂栫爜" + width="160" + show-tooltip-when-overflow + sortable="custom" + /> + <el-table-column + prop="partname" + label="浜у搧鍚嶇О" + width="160" + show-tooltip-when-overflow + sortable="custom" + /> + <el-table-column + prop="partspec" + label="浜у搧瑙勬牸" + width="160" + show-tooltip-when-overflow + sortable="custom" + > + <template slot-scope="{row}"> + <div v-if="row.partspec">{{ row.partspec }}</div> + <div v-else>/</div> + </template> + </el-table-column> + <el-table-column + prop="wkshp_name" + label="杞﹂棿鍚嶇О" + width="130" + show-tooltip-when-overflow + sortable="custom" + /> + + <el-table-column + prop="step_code" + label="宸ュ簭缂栫爜" + width="110" + show-tooltip-when-overflow + sortable="custom" + /> + <el-table-column + prop="stepname" + label="宸ュ簭鍚嶇О" + width="110" + show-tooltip-when-overflow + sortable="custom" + /> + <el-table-column + prop="task_qty" + label="浠诲姟鏁伴噺" + width="110" + show-tooltip-when-overflow + sortable="custom" + /> + <!-- <el-table-column--> + <!-- prop="group_name"--> + <!-- label="鐢熶骇鐝粍"--> + <!-- width="110"--> + <!-- show-tooltip-when-overflow--> + <!-- sortable="custom"--> + <!-- >--> + <!-- <template slot-scope="{row}">--> + <!-- <div v-if="row.group_name">{{ row.group_name }}</div>--> + <!-- <div v-else>/</div>--> + <!-- </template>--> + <!-- </el-table-column>--> + <el-table-column + prop="report_qty" + label="鎶ュ伐鏁伴噺" + width="110" + sortable="custom" + > + <template slot-scope="{row}"> + <div v-if="row.report_qty">{{ row.report_qty }}</div> + <div v-else>/</div> + </template> + </el-table-column> + <el-table-column + prop="step_price" + label="宸ュ簭鍗曚环" + width="110" + sortable="custom" + > + <template slot-scope="{row}"> + <div v-if="row.step_price">{{ row.step_price }} 鍏�</div> + <div v-else>/</div> + </template> + </el-table-column> + <!-- <el-table-column--> + <!-- prop="ratio"--> + <!-- label="鍒嗛厤姣斾緥"--> + <!-- width="110"--> + <!-- sortable="custom"--> + <!-- >--> + <!-- <template slot-scope="{row}">--> + <!-- <div v-if="row.step_price">{{ row.ratio }} %</div>--> + <!-- <div v-else>/</div>--> + <!-- </template>--> + <!-- </el-table-column>--> + <el-table-column + prop="moneys" + label="涓汉璁′欢宸ヨ祫" + width="130" + sortable="custom" + > + <template slot-scope="{row}"> + <div v-if="row.moneys">{{ row.moneys }} 鍏�</div> + <div v-else>/</div> + </template> + </el-table-column> + <el-table-column + prop="username" + label="鎶ュ伐浜哄憳" + width="110" + sortable="custom" + /> + <el-table-column + prop="report_date" + label="鎶ュ伐鏃堕棿" + width="160" + sortable="custom" + /> + + </el-table> + </div> + <!--鍒嗛〉--> + <pagination + :total="total" + :page.sync="form.page" + :limit.sync="form.rows" + align="right" + layout="total,prev, pager, next,sizes" + popper-class="select_bottom" + @pagination="getPeopleSalaryReportSearch" + /> + </el-tab-pane> + <el-tab-pane label="閫愰亾宸ュ簭"> + <div class="elTableDiv" style="margin: 0 auto 10px;"> + <el-table + ref="tableDataRef2" + class="tableFixed" + :data="tableData2" + :height="isExpandForm?(tableHeight-80):(tableHeight-40)+'px'" + border + :summary-method="getSummaries" + show-summary + :row-class-name="tableRowClassName" + :style="{width: 100+'%',height:isExpandForm?(tableHeight-80):(tableHeight-40)+'px',}" + highlight-current-row + :header-cell-style="this.$headerCellStyle" + :cell-style="this.$cellStyle" + @sort-change="sortChange" + > + <el-table-column + prop="rowNum" + width="50" + fixed + label="搴忓彿" + /> + <el-table-column + prop="wo_code" + label="宸ュ崟缂栧彿" + width="160" + sortable="custom" + /> + <el-table-column + prop="saleOrderCode" + label="閿�鍞崟鍙�" + width="160" + show-tooltip-when-overflow + sortable="custom" + /> + <el-table-column + prop="partcode" + label="浜у搧缂栫爜" + width="160" + show-tooltip-when-overflow + sortable="custom" + /> + <el-table-column + prop="partname" + label="浜у搧鍚嶇О" + width="160" + show-tooltip-when-overflow + sortable="custom" + /> + <el-table-column + prop="partspec" + label="浜у搧瑙勬牸" + width="160" + show-tooltip-when-overflow + sortable="custom" + > + <template slot-scope="{row}"> + <div v-if="row.partspec">{{ row.partspec }}</div> + <div v-else>/</div> + </template> + </el-table-column> + <el-table-column + prop="wkshp_name" + label="杞﹂棿鍚嶇О" + width="130" + show-tooltip-when-overflow + sortable="custom" + /> + + <el-table-column + prop="step_code" + label="宸ュ簭缂栫爜" + width="110" + show-tooltip-when-overflow + sortable="custom" + /> + <el-table-column + prop="stepname" + label="宸ュ簭鍚嶇О" + width="110" + show-tooltip-when-overflow + sortable="custom" + /> + <el-table-column + prop="task_qty" + label="浠诲姟鏁伴噺" + width="110" + show-tooltip-when-overflow + sortable="custom" + /> + <!-- <el-table-column--> + <!-- prop="group_name"--> + <!-- label="鐢熶骇鐝粍"--> + <!-- width="110"--> + <!-- show-tooltip-when-overflow--> + <!-- sortable="custom"--> + <!-- >--> + <!-- <template slot-scope="{row}">--> + <!-- <div v-if="row.group_name">{{ row.group_name }}</div>--> + <!-- <div v-else>/</div>--> + <!-- </template>--> + <!-- </el-table-column>--> + <el-table-column + prop="report_qty" + label="鎶ュ伐鏁伴噺" + width="110" + sortable="custom" + > + <template slot-scope="{row}"> + <div v-if="row.report_qty">{{ row.report_qty }}</div> + <div v-else>/</div> + </template> + </el-table-column> + <el-table-column + prop="step_price" + label="宸ュ簭鍗曚环" + width="110" + sortable="custom" + > + <template slot-scope="{row}"> + <div v-if="row.step_price">{{ row.step_price }} 鍏�</div> + <div v-else>/</div> + </template> + </el-table-column> + <el-table-column + prop="moneys" + label="涓汉璁′欢宸ヨ祫" + width="130" + sortable="custom" + > + <template slot-scope="{row}"> + <div v-if="row.moneys">{{ row.moneys }} 鍏�</div> + <div v-else>/</div> + </template> + </el-table-column> + <el-table-column + prop="username" + label="鎶ュ伐浜哄憳" + width="110" + sortable="custom" + /> + <el-table-column + prop="report_date" + label="鎶ュ伐鏃堕棿" + width="160" + sortable="custom" + /> + + </el-table> + </div> + <!--鍒嗛〉--> + <pagination + :total="total" + :page.sync="form.page" + :limit.sync="form.rows" + align="right" + layout="total,prev, pager, next,sizes" + popper-class="select_bottom" + @pagination="getPeopleSalaryReportSearch" + /> + </el-tab-pane> + </el-tabs> + </div> + + <el-dialog + v-el-drag-dialog + :title="operation==='add'?'鏂板':'浜哄憳鏄庣粏'" + :visible.sync="dialogVisible" + width="800px" + :close-on-click-modal="false" + top="15vh" + @closed="handleClose" + @close="handleClose" + > + <div style="height: 300px;width: 100%;background-color: aliceblue;padding:20px"> + <el-tag + v-for="tag in tagArr" + :key="tag.name" + type="success" + style="margin-right: 15px;min-width: 80px;text-align: center" + > + {{ tag }} + </el-tag> + </div> + <span slot="footer" class="dialog-footer"> + <div class="footerButton"> + <el-button v-waves @click="dialogVisible=false">杩� 鍥�</el-button> + <!-- <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>--> + <!-- <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>--> + </div> + </span> + </el-dialog> + + <!--瀵煎叆缁勪欢--> + <import-picker + ref="importPickerFunc" + class="importPickerClass" + :shows.sync="shows" + :title="title_value" + :colos="colos" + :code="code" + /> + + </div> +</template> + +<script> +import Pagination from '@/components/Pagination' +import { getCookie } from '@/utils/auth' +import ImportPicker from '@/components/ImportPicker' +import { handleDatetime, validateCode } from '@/utils/global' +import { + GroupSalaryReportSearchUser, PeopleSalaryReportExcelSearch, PeopleSalaryReportSearch +} from '@/api/ReportManager' +import elDragDialog from '@/directive/el-drag-dialog' +import waves from '@/directive/waves' +import { PrentOrganizationNoCompany } from '@/api/GeneralBasicData' + +export default { + name: 'PersonSalaryList', + components: { + Pagination, ImportPicker + }, + directives: { elDragDialog, waves }, + data() { + return { + mouseHoverType: 'mouseout', + isExpandForm: false, + mainHeight: 0, + tableHeight: 0, + StepSelectArr: [], // 鍓旈櫎宸ュ簭鏁扮粍 + form: { + socode: '', + wkshopcode: '', + wocode: '', // 宸ュ崟缂栧彿 + partcode: '', // 浜у搧缂栫爜 + partname: '', // 浜у搧鍚嶇О + partspec: '', // 瑙勬牸鍨嬪彿 + stepname: '', // 宸ュ簭鍚嶇О + groupcode: '', // 鐢熶骇鐝粍 + reportname: '', // 鎿嶄綔浜哄憳 + reportdate: '', // 鎿嶄綔鏃堕棿 + rejectstepcode: [], // 鍓旈櫎宸ュ簭(鍥哄畾钖祫宸ュ簭涓嶅弬涓庤绠� + compute: 'last', // 璁′欢鏂瑰紡 + prop: 'partcode', // 鎺掑簭瀛楁 + order: 'desc', // 鎺掑簭瀛楁 + page: 1, // 绗嚑椤� + rows: 20 // 姣忛〉澶氬皯鏉� + }, + wkshopcodeArr: [], + groupArr: [], + total: 10, + tableData: [], + tableData2: [], + dialogVisible: false, + tagArr: [], // + dialogForm: { + OrgType: '', + OrgCode: '', + OrgName: '', + SupUnit: ''// 涓婄骇鍗曚綅 + }, + operation: '', + dialogFormRules: { + OrgType: [ + { required: true, message: '璇疯緭鍏ラ�夋嫨绫诲瀷', trigger: ['blur', 'change'] } + ], + OrgCode: [ + { required: true, validator: validateCode, trigger: ['blur', 'change'] } + ], + OrgName: [ + { required: true, message: '璇疯緭鍏ュ悕绉�', trigger: ['blur', 'change'] } + ] + + }, + + title_value: '鏁版嵁瀵煎叆 / 鐐规閮ㄤ綅', + code: '4', + shows: false + + } + }, + watch: { + shows() { + if (!this.shows) { + this.getPeopleSalaryReportSearch() + } + } + }, + // updated() { + // this.$nextTick(() => { + // this.$refs.tableDataRef.doLayout() + // this.$refs.tableDataRef2.doLayout() + // }) + // }, + activated() { + window.addEventListener('resize', this.getHeight) + this.getHeight() + this.handleRequest() + }, + created() { + this.handleRequest() + }, + mounted() { + window.addEventListener('resize', this.getHeight) + this.getHeight() + }, + methods: { + handleRequest() { + this.getPeopleSalaryReportSearch().then(res => { + if (res.code === '200') { + this.getPrentOrganizationNoCompany() + + // this.getMesOrderStepReportSelectUserGroup() + // this.getStepSelect() + } + }) + }, + async getPrentOrganizationNoCompany() { + const { data: res } = await PrentOrganizationNoCompany() + this.wkshopcodeArr = res + }, + // 鑾峰彇宸ュ簭涓嬫媺鎺ュ彛 + // async getStepSelect() { + // const { data: res } = await StepSelect() + // this.StepSelectArr = res + // }, + getSummaries(param) { + const { columns, data } = param + const sums = [] + + const i = this.form.compute === 'last' ? 11 : 11 + + columns.forEach((column, index) => { + if (index === i) { + sums[index] = '鎬讳环' + return + } + const values = data.map(item => Number(item[column.property])) + if (column.property === 'moneys') { + sums[index] = values.reduce((prev, curr) => { + const value = Number(curr) + if (!isNaN(value)) { + // return prev + curr + return Math.round(prev * 100) / 100 + Math.round(curr * 100) / 100 + } else { + return Math.round(prev * 100) / 100 + } + }, 0) + + sums[index] = sums[index].toFixed(2) + ' 鍏�' + } else { + // sums[index] = 'N/A' + sums[index] = ' ' + } + }) + + this.$nextTick(() => { + this.$refs.tableDataRef.doLayout() + this.$refs.tableDataRef2.doLayout() + }) + // (Math.round(sums * 100) / 100).toS + + // console.log(typeof sums) + // console.log(sums[11].split(' ')) + return sums + }, + async getPeopleSalaryReportSearch() { + let tempDate = this.form.reportdate + if (tempDate.length > 0) { + tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1]) + } + const data = { + socode: this.form.socode, + wkshopcode: this.form.wkshopcode, + wocode: this.form.wocode, + partcode: this.form.partcode, + partname: this.form.partname, + partspec: this.form.partspec, + stepname: this.form.stepname, + groupcode: this.form.groupcode, + compute: this.form.compute, + reportname: this.form.reportname, + rejectstepcode: this.form.rejectstepcode.join(','), + reportdate: tempDate, + prop: this.form.prop, + order: this.form.order, + page: this.form.page, + rows: this.form.rows + + } + + const res = await PeopleSalaryReportSearch(data) + if (this.form.compute === 'last') { + this.tableData = res.data + } + if (this.form.compute === 'contin') { + this.tableData2 = res.data + } + this.total = res.count + + return { code: res.code } + }, + + // async getMesOrderStepReportSelectUserGroup() { + // const { data: res } = await MesOrderStepReportSelectUserGroup() + // this.groupArr = res + // }, + tabClick(val) { + this.form.compute = val.label === '鏈亾宸ュ簭' ? 'last' : 'contin' + this.getPeopleSalaryReportSearch() + }, + // 鎺掑簭鏀瑰彉鏃� + sortChange({ column, prop, order }) { + if (order === 'descending') { + order = 'desc' + } else if (order === 'ascending') { + order = 'asc' + } else { + order = 'desc' + } + this.form.order = order + this.form.prop = prop + this.getPeopleSalaryReportSearch() + }, + async download() { + let tempDate = this.form.reportdate + if (tempDate.length > 0) { + tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1]) + } + + const data = { + socode: this.form.socode, + wkshopcode: this.form.wkshopcode, + wocode: this.form.wocode, + partcode: this.form.partcode, + partname: this.form.partname, + partspec: this.form.partspec, + stepname: this.form.stepname, + groupcode: this.form.groupcode, + compute: this.form.compute, + reportname: this.form.reportname, + reportdate: tempDate + } + + const { data: res } = await PeopleSalaryReportExcelSearch(data) + window.location.href = res + }, + // 鏌ヨ + search() { + this.getPeopleSalaryReportSearch() + }, + // 瀵煎叆鎸夐挳 + upload() { + this.shows = true + this.$refs.importPickerFunc.newDataFunc() + }, + colos() { + this.shows = false + }, + // 閲嶇疆 + reset() { + this.form.socode = '' + this.form.wkshopcode = '' + this.form.wocode = '' + this.form.partcode = '' + this.form.partname = '' + this.form.partspec = '' + this.form.stepname = '' + this.form.groupcode = '' + this.form.reportname = '' + this.form.reportdate = '' + this.getPeopleSalaryReportSearch() + }, + + // 鏂板鎸夐挳 + add(operation) { + this.operation = operation + this.dialogVisible = true + }, + // 淇敼鎸夐挳 + async edit(operation, row) { + this.operation = operation + this.dialogVisible = true + + const res = await GroupSalaryReportSearchUser({ id: row.id }) + this.tagArr = res.data.map(r => r.reportname) + // this.tagArr = ['妤兼潕淇�', '寮犱笁', '鏉庡洓'] + // this.$nextTick(() => { + // this.dialogForm.OrgCode = row.org_code + // this.dialogForm.OrgName = row.org_name + // this.dialogForm.SupUnit = row.parent_id + // }) + }, + // 鍒犻櫎鎸夐挳 + async del(row) { + // this.$confirm('鏄惁纭鍒犻櫎?', '鎻愮ず', { + // confirmButtonText: '纭畾', + // cancelButtonText: '鍙栨秷', + // type: 'warning' + // }).then(() => { + // DeleteOrganization({ orgid: row.code }).then(res => { + // if (res.code === '200') { + // this.$message.success('鍒犻櫎鎴愬姛!') + // if (this.form.page > 1 && this.tableData.length === 1) { + // this.form.page-- + // } + // this.getPeopleSalaryReportSearch() + // } + // }) + // }).catch(() => { + // this.$message.info('宸插彇娑堝垹闄�') + // }) + }, + // 瀵硅瘽妗嗗叧闂簨浠� + handleClose() { + this.dialogForm.OrgType = '' + this.dialogForm.OrgCode = '' + this.dialogForm.OrgName = '' + this.dialogForm.SupUnit = '' + this.$refs.dialogForm.clearValidate() + }, + // 瀵硅瘽妗嗗彇娑� + dialogVisibleCancel() { + this.dialogVisible = false + }, + // 瀵硅瘽妗嗙‘璁� + dialogVisibleConfirm() { + this.$refs.dialogForm.validate(valid => { + if (valid) { + const data = { + OrganCode: this.dialogForm.OrgCode, + OrganName: this.dialogForm.OrgName, + OperType: this.operation === 'add' ? 'Add' : 'Update', + Operator: getCookie('admin') + } + // AddUpdateOrganization(data).then(res => { + // if (res.code === '200') { + // this.$message.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�') + // this.dialogVisible = false + // this.getPeopleSalaryReportSearch() + // } else { + // this.$message.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�') + // } + // }) + } + }) + }, + // 鑾峰彇椤甸潰楂樺害 + getHeight() { + this.$nextTick(() => { + this.mainHeight = window.innerHeight - 85 + this.tableHeight = this.mainHeight - 245 + this.$refs.tableDataRef.doLayout() + this.$refs.tableDataRef2.doLayout() + }) + }, + tableRowClassName({ row, rowIndex }) { + return 'custom-row' + } + } +} +</script> + +<style scoped lang="scss"> +::v-deep .el-select__caret { + display: flex; + align-items: center; + justify-content: center; +} + +::v-deep .el-range__icon { + line-height: 28px !important; +} + +::v-deep .el-range-separator { + line-height: 28px !important; +} + +::v-deep .el-range-input { + font-size: 14px; +} + +::v-deep .el-range-separator { + display: flex; + justify-content: center; + align-items: center; +} + +::v-deep .el-progress-bar__innerText { + display: none !important; +} +</style> +<style> +.el-table .custom-row { + background: #f8f8fa; +} +</style> -- Gitblit v1.9.3