From 2146654ce466348808bd11218d5a71756d03abc4 Mon Sep 17 00:00:00 2001 From: 小小儁爺 <1694218219@qq.com> Date: 星期四, 13 三月 2025 16:46:05 +0800 Subject: [PATCH] 1.打印模板修改2.新增打印次数字段 --- src/views/deviceManager/maintainRecord.vue | 1237 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 621 insertions(+), 616 deletions(-) diff --git a/src/views/deviceManager/maintainRecord.vue b/src/views/deviceManager/maintainRecord.vue index aa8dd7d..373bee1 100644 --- a/src/views/deviceManager/maintainRecord.vue +++ b/src/views/deviceManager/maintainRecord.vue @@ -1,616 +1,621 @@ -<template> - <div> - <div class="body" :style="{height:mainHeight+'px'}"> - <div class="bodyTopButtonGroup"> - <!-- <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>--> - <!-- <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>--> - <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button> - </div> - - <div class="bodyTopFormGroup"> - <el-form - ref="form" - :model="form" - label-width="100px" - inline - style="display: flex;" - > - <div class="elForm" style="justify-content: flex-start"> - <el-form-item label="鐢熶骇杞﹂棿" style=" display: flex;"> - <el-select v-model="form.wkshopcode" style="width: 200px" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in wkshopSelectArr" - :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.eqpcode" placeholder="璇疯緭鍏�" style="width: 200px" /> - </el-form-item> - <el-form-item label="璁惧鍚嶇О" style=" display: flex;"> - <el-input v-model="form.eqpname" placeholder="璇疯緭鍏�" style="width: 200px" /> - </el-form-item> - <el-form-item label="鏍囧噯鍚嶇О" style=" display: flex;"> - <el-input v-model="form.stanedname" placeholder="璇疯緭鍏�" style="width: 200px" /> - </el-form-item> - <el-form-item v-show="isExpandForm" label="淇濆吇浜哄憳" style=" display: flex;"> - <el-input v-model="form.repairuser" style="width: 200px" placeholder="璇疯緭鍏�" /> - </el-form-item> - <el-form-item v-show="isExpandForm" label="淇濆吇鏃堕棿" style=" display: flex;font-size:14px;align-items: center"> - <el-date-picker - v-model="form.repairdate" - type="daterange" - :clearable="false" - class="timeMini" - range-separator="~" - start-placeholder="寮�濮嬫棩鏈�" - style="width: 200px;display: flex;line-height: 34px ;height: 34px;" - end-placeholder="缁撴潫鏃ユ湡" - size="mini" - /> - </el-form-item> - <el-form-item v-show="isExpandForm" label="淇濆吇缁撴灉" style=" display: flex;"> - <el-select v-model="form.repairresult" style="width: 200px" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in repairresultArr" - :key="item.code" - :label="item.name" - :value="item.code" - /> - </el-select> - </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> - - <div class="elTableDiv"> - <!-- <TableColumnSettings--> - <!-- :list1="tableColumnSettingsArray"--> - <!-- @tableColumnUpdate="tableColumnUpdate"--> - <!-- />--> - <el-table - ref="tableDataRef" - :key="tableTimeStampKey" - class="tableFixed" - :data="tableData" - :height="isExpandForm?tableHeight:(tableHeight+40)+'px'" - border - :row-class-name="tableRowClassName" - :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+40)+'px'}" - highlight-current-row - :header-cell-style="this.$headerCellStyle" - :cell-style="this.$cellStyle" - @sort-change="sortChange" - > - - <el-table-column - v-for="item in tableColumnSettingsArray" - v-if="item.show" - :key="item.id" - :sortable="item.sortable" - :prop="item.prop" - :min-width="item.minWidth" - :label="item.label" - :width="item.width" - show-tooltip-when-overflow - :fixed="item.fixed?(item.fixed==='left'?'left':'right'):false" - > - <template slot-scope="{row}"> - <div v-if="!row[item.prop]">/</div> - - <div v-else-if="item.prop==='maint_cyc'">{{ cycleArr.find(i=>i.code===row[item.prop]).name }}</div> - <div v-else-if="item.prop==='maint_result'"> - <div v-if="row[item.prop]==='OK'" style="display: flex;align-items: center"> - <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" /> - 姝e父 - </div> - <div v-if="row[item.prop]==='NG'" style="display: flex;align-items: center"> - <i class="el-icon-info" style="margin-right: 2px" /> - 寮傚父 - </div> - </div> - <div v-else>{{ row[item.prop] }}</div> - </template> - </el-table-column> - - <el-table-column - label="鏄庣粏" - width="120" - fixed="right" - > - <template slot-scope="{row}"> - <i - class="el-icon-tickets" - :style="{color:$store.state.settings.theme}" - style="cursor: pointer;margin-right: 15px" - @click="edit('edit',row)" - /> - </template> - </el-table-column> - </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="getDeviceRepairTakeSearch" - /> - </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 class="elTableDiv" style="margin-top: 0"> - <el-table - :data="tableDataDialog" - :height="500+'px'" - border - :row-class-name="tableRowClassName" - :style="{width: 100+'%',height:500+'px'}" - highlight-current-row - :header-cell-style="this.$headerCellStyle" - :cell-style="this.$cellStyle" - @sort-change="sortChange" - > - <el-table-column - prop="seq" - width="50" - fixed - label="搴忓彿" - /> - <el-table-column - prop="itemcode" - label="閮ㄤ綅缂栫爜" - /> - <el-table-column - prop="itemname" - label="閮ㄤ綅鍚嶇О" - /> - <el-table-column - prop="result" - label="鐐规缁撴灉" - > - <template slot-scope="{row}"> - <div v-if="row.result==='OK'" style="display: flex;align-items: center"> - <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" /> - 姝e父</div> - <div v-if="row.result==='NG'" style="display: flex;align-items: center"> - <i class="el-icon-info" style="margin-right: 2px" /> - 寮傚父</div> - </template> - </el-table-column> - <el-table-column - prop="maint_value" - label="鏁板��" - /> - <!-- <el-table-column--> - <!-- prop="remark"--> - <!-- label="澶囨敞"--> - <!-- show-tooltip-when-overflow--> - <!-- />--> - </el-table> - </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> - - </div> -</template> - -<script> -import Pagination from '@/components/Pagination' -import { AddUpdateOrganization, DeleteOrganization } from '@/api/basicSettings' -import { getCookie } from '@/utils/auth' -import { handleDatetime } from '@/utils/global' -import { DeviceRepairSubTakeSearch, DeviceRepairTakeOutExcel, DeviceRepairTakeSearch -} from '@/api/DeviceManager' -import elDragDialog from '@/directive/el-drag-dialog' -import waves from '@/directive/waves' -import TableColumnSettings from '@/components/TableColumnSettings' -import { PrentOrganizationNoCompany } from '@/api/GeneralBasicData' - -export default { - name: 'MaintainRecord', - components: { - Pagination, TableColumnSettings - }, - directives: { elDragDialog, waves }, - data() { - return { - mouseHoverType: 'mouseout', - isExpandForm: false, - mainHeight: 0, - tableHeight: 0, - form: { - wkshopcode: '', // 杞﹂棿缂栫爜 - eqpcode: '', // 璁惧缂栫爜 - eqpname: '', // 璁惧鍚嶇О - stanedname: '', // 鏍囧噯鍚嶇О - repairuser: '', // 鐐规浜哄憳 - repairdate: '', // 鐐规鏃堕棿 - repairresult: '', // 淇濆吇缁撴灉 - prop: 'maint_date', // 鎺掑簭瀛楁 - order: 'desc', // 鎺掑簭瀛楁 - page: 1, // 绗嚑椤� - rows: 20 // 姣忛〉澶氬皯鏉� - }, - wkshopSelectArr: [], - cycleArr: [ - { code: 'Y', name: '骞�' }, - { code: 'S', name: '瀛�' }, - { code: 'M', name: '鏈�' }, - { code: 'W', name: '鍛�' } - ], - repairresultArr: [ - { code: 'OK', name: '鍚堟牸' }, - { code: 'NG', name: '涓嶈壇' } - ], - total: 10, - tableData: [], - tableColumnSettingsArray: [ - // { minWidth: false, width: 55, prop: 'id', label: 'id', id: 1, show: false, fixed: false, sortable: false }, // 闅愯棌鍒� show: false闅愯棌锛宼rue鏄剧ず - { minWidth: false, width: 55, prop: 'rowNum', label: '搴忓彿', id: 2, show: true, fixed: 'left', sortable: false }, // custom - { - minWidth: 110, - width: false, - prop: 'bywo', - label: '淇濆吇鍗曞彿', - id: 3, - show: true, - fixed: false, - sortable: true - }, - { - minWidth: false, - width: 130, - prop: 'org_code', - label: '鐢熶骇杞﹂棿缂栫爜', - id: 4, - show: false, - fixed: false, - sortable: true - }, - { - minWidth: 110, - width: false, - prop: 'org_name', - label: '鐢熶骇杞﹂棿', - id: 5, - show: true, - fixed: false, - sortable: true - }, - { - minWidth: 110, - width: false, - prop: 'eqp_code', - label: '璁惧缂栫爜', - id: 6, - show: true, - fixed: false, - sortable: true - }, - { - minWidth: 110, - width: false, - prop: 'eqp_name', - label: '璁惧鍚嶇О', - id: 7, - show: true, - fixed: false, - sortable: true - }, { - minWidth: false, - width: 130, - prop: 'stanedcode', - label: '淇濆吇鏍囧噯缂栫爜', - id: 8, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 130, - width: false, - prop: 'stanedname', - label: '淇濆吇鏍囧噯鍚嶇О', - id: 9, - show: true, - fixed: false, - sortable: true - }, - { - minWidth: false, - width: 110, - prop: 'maint_cyc', - label: '淇濆吇鍛ㄦ湡', - id: 10, - show: true, - fixed: false, - sortable: true - }, { - minWidth: false, - width: 110, - prop: 'maint_user', - label: '淇濆吇浜哄憳', - id: 10, - show: true, - fixed: false, - sortable: true - }, { - minWidth: false, - width: 110, - prop: 'maint_result', - label: '淇濆吇缁撴灉', - id: 11, - show: true, - fixed: false, - sortable: true - }, - { - minWidth: false, - width: 160, - prop: 'maint_date', - label: '淇濆吇鏃堕棿', - id: 12, - show: true, - fixed: false, - sortable: true - } - ], - tableTimeStampKey: new Date().getTime(), // 琛ㄦ牸key - dialogVisible: false, - // dialogForm: { - // OrgType: '', - // OrgCode: '', - // OrgName: '', - // SupUnit: ''// 涓婄骇鍗曚綅 - // }, - operation: '', - - tableDataDialog: [], // 鐐规鏄庣粏瀵硅瘽妗唗able - - title_value: '鏁版嵁瀵煎叆 / 鐐规閮ㄤ綅', - code: '4', - shows: false - - } - }, - - activated() { window.addEventListener('resize', this.getHeight) this.getHeight() }, created() { - this.handleRequest() - }, - mounted() { - window.addEventListener('resize', this.getHeight) - this.getHeight() - }, - methods: { - tableColumnUpdate(val, isCopyTrue) { - if (isCopyTrue) { - this.tableColumnSettingsArray = val - } - this.tableTimeStampKey = new Date().getTime() - - this.$refs.tableDataRef.doLayout() - }, - handleRequest() { - this.getDeviceRepairTakeSearch().then(res => { - if (res.code === '200') { - this.getShopSearch() - } - }) - }, - async getDeviceRepairTakeSearch() { - let tempDate = this.form.repairdate - if (tempDate.length > 0) { - tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1]) - } - - const data = { - wkshopcode: this.form.wkshopcode, - eqpcode: this.form.eqpcode, - eqpname: this.form.eqpname, - stanedname: this.form.stanedname, - repairuser: this.form.repairuser, - repairdate: tempDate, - repairresult: this.form.repairresult, - prop: this.form.prop, // 鎺掑簭瀛楁 - order: this.form.order, // 鎺掑簭瀛楁 - page: this.form.page, // 绗嚑椤� - rows: this.form.rows // 姣忛〉澶氬皯鏉� - } - - const res = await DeviceRepairTakeSearch(data) - this.tableData = res.data - this.total = res.count - return { code: res.code } - }, - // 鑾峰彇鎵ц杞﹂棿涓嬫媺鏁扮粍 - async getShopSearch() { - const { data: res } = await PrentOrganizationNoCompany() - this.wkshopSelectArr = res - }, - // 鎺掑簭鏀瑰彉鏃� - 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.getDeviceRepairTakeSearch() - }, - // 鏌ヨ - search() { - this.getDeviceRepairTakeSearch() - }, - // 瀵煎叆鎸夐挳 - upload() { - this.shows = true - this.$refs.importPickerFunc.newDataFunc() - }, - colos() { - this.shows = false - }, - // 閲嶇疆 - reset() { - this.form.wkshopcode = '' - this.form.eqpcode = '' - this.form.eqpname = '' - this.form.stanedname = '' - this.form.repairuser = '' - this.form.repairdate = '' - this.form.repairresult = '' - this.getDeviceRepairTakeSearch() - }, - - // 鏂板鎸夐挳 - add(operation) { - this.operation = operation - this.dialogVisible = true - }, - // 淇敼鎸夐挳 - async edit(operation, row) { - this.operation = operation - this.dialogVisible = true - - const res = await DeviceRepairSubTakeSearch({ bywo: row.bywo }) - - this.tableDataDialog = res.data - // 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.getDeviceRepairTakeSearch() - } - }) - }).catch(() => { - this.$message.info('宸插彇娑堝垹闄�') - }) - }, - // 瀵硅瘽妗嗗叧闂簨浠� - handleClose() { - // this.dialogForm.OrgType = '' - // this.dialogForm.OrgCode = '' - // this.dialogForm.OrgName = '' - // this.dialogForm.SupUnit = '' - // this.$refs.dialogForm.clearValidate() - this.tableDataDialog = [] - }, - // 瀵硅瘽妗嗗彇娑� - 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.getDeviceRepairTakeSearch() - } else { - this.$message.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�') - } - }) - } - }) - }, - async download() { - let tempDate = this.form.repairdate - if (tempDate.length > 0) { - tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1]) - } - const data = { - wkshopcode: this.form.wkshopcode, - eqpcode: this.form.eqpcode, - eqpname: this.form.eqpname, - stanedname: this.form.stanedname, - repairuser: this.form.repairuser, - repairdate: tempDate, - repairresult: this.form.repairresult - } - const { data: res } = await DeviceRepairTakeOutExcel(data) - window.location.href = res - }, - // 鑾峰彇椤甸潰楂樺害 - getHeight() { - this.$nextTick(() => { - this.mainHeight = window.innerHeight - 85 - this.tableHeight = this.mainHeight - 255 - this.$refs.tableDataRef.doLayout() - }) - }, - tableRowClassName({ row, rowIndex }) { - return 'custom-row' - } - - } -} -</script> - +<template> + <div> + <div class="body" :style="{height:mainHeight+'px'}"> + <div class="bodyTopButtonGroup"> + <!-- <el-button v-waves type="primary" icon="el-icon-circle-plus-outline" @click="add('add')">鏂板</el-button>--> + <!-- <el-button v-waves icon="el-icon-download" @click="upload">瀵煎叆</el-button>--> + <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button> + </div> + + <div class="bodyTopFormGroup"> + <el-form + ref="form" + :model="form" + label-width="100px" + inline + style="display: flex;" + > + <div class="elForm" style="justify-content: flex-start"> + <el-form-item label="鐢熶骇杞﹂棿" style=" display: flex;"> + <el-select v-model="form.wkshopcode" style="width: 200px" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in wkshopSelectArr" + :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.eqpcode" placeholder="璇疯緭鍏�" style="width: 200px" /> + </el-form-item> + <el-form-item label="璁惧鍚嶇О" style=" display: flex;"> + <el-input v-model="form.eqpname" placeholder="璇疯緭鍏�" style="width: 200px" /> + </el-form-item> + <el-form-item label="鏍囧噯鍚嶇О" style=" display: flex;"> + <el-input v-model="form.stanedname" placeholder="璇疯緭鍏�" style="width: 200px" /> + </el-form-item> + <el-form-item v-show="isExpandForm" label="淇濆吇浜哄憳" style=" display: flex;"> + <el-input v-model="form.repairuser" style="width: 200px" placeholder="璇疯緭鍏�" /> + </el-form-item> + <el-form-item v-show="isExpandForm" label="淇濆吇鏃堕棿" style=" display: flex;font-size:14px;align-items: center"> + <el-date-picker + v-model="form.repairdate" + type="daterange" + :clearable="false" + class="timeMini" + range-separator="~" + start-placeholder="寮�濮嬫棩鏈�" + style="width: 200px;display: flex;line-height: 34px ;height: 34px;" + end-placeholder="缁撴潫鏃ユ湡" + size="mini" + /> + </el-form-item> + <el-form-item v-show="isExpandForm" label="淇濆吇缁撴灉" style=" display: flex;"> + <el-select v-model="form.repairresult" style="width: 200px" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in repairresultArr" + :key="item.code" + :label="item.name" + :value="item.code" + /> + </el-select> + </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> + + <div class="elTableDiv"> + <!-- <TableColumnSettings--> + <!-- :list1="tableColumnSettingsArray"--> + <!-- @tableColumnUpdate="tableColumnUpdate"--> + <!-- />--> + <el-table + ref="tableDataRef" + :key="tableTimeStampKey" + class="tableFixed" + :data="tableData" + :height="isExpandForm?tableHeight:(tableHeight+40)+'px'" + border + :row-class-name="tableRowClassName" + :style="{width: 100+'%',height:isExpandForm?tableHeight:(tableHeight+40)+'px'}" + highlight-current-row + :header-cell-style="this.$headerCellStyle" + :cell-style="this.$cellStyle" + @sort-change="sortChange" + > + + <el-table-column + v-for="item in tableColumnSettingsArray" + v-if="item.show" + :key="item.id" + :sortable="item.sortable" + :prop="item.prop" + :min-width="item.minWidth" + :label="item.label" + :width="item.width" + show-tooltip-when-overflow + :fixed="item.fixed?(item.fixed==='left'?'left':'right'):false" + > + <template slot-scope="{row}"> + <div v-if="!row[item.prop]">/</div> + + <div v-else-if="item.prop==='maint_cyc'">{{ cycleArr.find(i=>i.code===row[item.prop]).name }}</div> + <div v-else-if="item.prop==='maint_result'"> + <div v-if="row[item.prop]==='OK'" style="display: flex;align-items: center"> + <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" /> + 姝e父 + </div> + <div v-if="row[item.prop]==='NG'" style="display: flex;align-items: center"> + <i class="el-icon-info" style="margin-right: 2px" /> + 寮傚父 + </div> + </div> + <div v-else>{{ row[item.prop] }}</div> + </template> + </el-table-column> + + <el-table-column + label="鏄庣粏" + width="120" + fixed="right" + > + <template slot-scope="{row}"> + <i + class="el-icon-tickets" + :style="{color:$store.state.settings.theme}" + style="cursor: pointer;margin-right: 15px" + @click="edit('edit',row)" + /> + </template> + </el-table-column> + </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="getDeviceRepairTakeSearch" + /> + </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 class="elTableDiv" style="margin-top: 0"> + <el-table + :data="tableDataDialog" + :height="500+'px'" + border + :row-class-name="tableRowClassName" + :style="{width: 100+'%',height:500+'px'}" + highlight-current-row + :header-cell-style="this.$headerCellStyle" + :cell-style="this.$cellStyle" + @sort-change="sortChange" + > + <el-table-column + prop="seq" + width="50" + fixed + label="搴忓彿" + /> + <el-table-column + prop="itemcode" + label="閮ㄤ綅缂栫爜" + /> + <el-table-column + prop="itemname" + label="閮ㄤ綅鍚嶇О" + /> + <el-table-column + prop="result" + label="鐐规缁撴灉" + > + <template slot-scope="{row}"> + <div v-if="row.result==='OK'" style="display: flex;align-items: center"> + <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" /> + 姝e父</div> + <div v-if="row.result==='NG'" style="display: flex;align-items: center"> + <i class="el-icon-info" style="margin-right: 2px" /> + 寮傚父</div> + </template> + </el-table-column> + <el-table-column + prop="maint_value" + label="鏁板��" + /> + <!-- <el-table-column--> + <!-- prop="remark"--> + <!-- label="澶囨敞"--> + <!-- show-tooltip-when-overflow--> + <!-- />--> + </el-table> + </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> + + </div> +</template> + +<script> +import Pagination from '@/components/Pagination' +import { AddUpdateOrganization, DeleteOrganization } from '@/api/basicSettings' +import { getCookie } from '@/utils/auth' +import { handleDatetime } from '@/utils/global' +import { DeviceRepairSubTakeSearch, DeviceRepairTakeOutExcel, DeviceRepairTakeSearch +} from '@/api/DeviceManager' +import elDragDialog from '@/directive/el-drag-dialog' +import waves from '@/directive/waves' +import TableColumnSettings from '@/components/TableColumnSettings' +import { PrentOrganizationNoCompany } from '@/api/GeneralBasicData' + +export default { + name: 'MaintainRecord', + components: { + Pagination, TableColumnSettings + }, + directives: { elDragDialog, waves }, + data() { + return { + mouseHoverType: 'mouseout', + isExpandForm: false, + mainHeight: 0, + tableHeight: 0, + form: { + wkshopcode: '', // 杞﹂棿缂栫爜 + eqpcode: '', // 璁惧缂栫爜 + eqpname: '', // 璁惧鍚嶇О + stanedname: '', // 鏍囧噯鍚嶇О + repairuser: '', // 鐐规浜哄憳 + repairdate: '', // 鐐规鏃堕棿 + repairresult: '', // 淇濆吇缁撴灉 + prop: 'maint_date', // 鎺掑簭瀛楁 + order: 'desc', // 鎺掑簭瀛楁 + page: 1, // 绗嚑椤� + rows: 20 // 姣忛〉澶氬皯鏉� + }, + wkshopSelectArr: [], + cycleArr: [ + { code: 'Y', name: '骞�' }, + { code: 'S', name: '瀛�' }, + { code: 'M', name: '鏈�' }, + { code: 'W', name: '鍛�' } + ], + repairresultArr: [ + { code: 'OK', name: '鍚堟牸' }, + { code: 'NG', name: '涓嶈壇' } + ], + total: 10, + tableData: [], + tableColumnSettingsArray: [ + // { minWidth: false, width: 55, prop: 'id', label: 'id', id: 1, show: false, fixed: false, sortable: false }, // 闅愯棌鍒� show: false闅愯棌锛宼rue鏄剧ず + { minWidth: false, width: 55, prop: 'rowNum', label: '搴忓彿', id: 2, show: true, fixed: 'left', sortable: false }, // custom + { + minWidth: 110, + width: false, + prop: 'bywo', + label: '淇濆吇鍗曞彿', + id: 3, + show: true, + fixed: false, + sortable: true + }, + { + minWidth: false, + width: 130, + prop: 'org_code', + label: '鐢熶骇杞﹂棿缂栫爜', + id: 4, + show: false, + fixed: false, + sortable: true + }, + { + minWidth: 110, + width: false, + prop: 'org_name', + label: '鐢熶骇杞﹂棿', + id: 5, + show: true, + fixed: false, + sortable: true + }, + { + minWidth: 110, + width: false, + prop: 'eqp_code', + label: '璁惧缂栫爜', + id: 6, + show: true, + fixed: false, + sortable: true + }, + { + minWidth: 110, + width: false, + prop: 'eqp_name', + label: '璁惧鍚嶇О', + id: 7, + show: true, + fixed: false, + sortable: true + }, { + minWidth: false, + width: 130, + prop: 'stanedcode', + label: '淇濆吇鏍囧噯缂栫爜', + id: 8, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 130, + width: false, + prop: 'stanedname', + label: '淇濆吇鏍囧噯鍚嶇О', + id: 9, + show: true, + fixed: false, + sortable: true + }, + { + minWidth: false, + width: 110, + prop: 'maint_cyc', + label: '淇濆吇鍛ㄦ湡', + id: 10, + show: true, + fixed: false, + sortable: true + }, { + minWidth: false, + width: 110, + prop: 'maint_user', + label: '淇濆吇浜哄憳', + id: 10, + show: true, + fixed: false, + sortable: true + }, { + minWidth: false, + width: 110, + prop: 'maint_result', + label: '淇濆吇缁撴灉', + id: 11, + show: true, + fixed: false, + sortable: true + }, + { + minWidth: false, + width: 160, + prop: 'maint_date', + label: '淇濆吇鏃堕棿', + id: 12, + show: true, + fixed: false, + sortable: true + } + ], + tableTimeStampKey: new Date().getTime(), // 琛ㄦ牸key + dialogVisible: false, + // dialogForm: { + // OrgType: '', + // OrgCode: '', + // OrgName: '', + // SupUnit: ''// 涓婄骇鍗曚綅 + // }, + operation: '', + + tableDataDialog: [], // 鐐规鏄庣粏瀵硅瘽妗唗able + + title_value: '鏁版嵁瀵煎叆 / 鐐规閮ㄤ綅', + code: '4', + shows: false + + } + }, + + activated() { + window.addEventListener('resize', this.getHeight) + this.getHeight() + this.handleRequest() + }, + created() { + this.handleRequest() + }, + mounted() { + window.addEventListener('resize', this.getHeight) + this.getHeight() + }, + methods: { + tableColumnUpdate(val, isCopyTrue) { + if (isCopyTrue) { + this.tableColumnSettingsArray = val + } + this.tableTimeStampKey = new Date().getTime() + + this.$refs.tableDataRef.doLayout() + }, + handleRequest() { + this.getDeviceRepairTakeSearch().then(res => { + if (res.code === '200') { + this.getShopSearch() + } + }) + }, + async getDeviceRepairTakeSearch() { + let tempDate = this.form.repairdate + if (tempDate.length > 0) { + tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1]) + } + + const data = { + wkshopcode: this.form.wkshopcode, + eqpcode: this.form.eqpcode, + eqpname: this.form.eqpname, + stanedname: this.form.stanedname, + repairuser: this.form.repairuser, + repairdate: tempDate, + repairresult: this.form.repairresult, + prop: this.form.prop, // 鎺掑簭瀛楁 + order: this.form.order, // 鎺掑簭瀛楁 + page: this.form.page, // 绗嚑椤� + rows: this.form.rows // 姣忛〉澶氬皯鏉� + } + + const res = await DeviceRepairTakeSearch(data) + this.tableData = res.data + this.total = res.count + return { code: res.code } + }, + // 鑾峰彇鎵ц杞﹂棿涓嬫媺鏁扮粍 + async getShopSearch() { + const { data: res } = await PrentOrganizationNoCompany() + this.wkshopSelectArr = res + }, + // 鎺掑簭鏀瑰彉鏃� + 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.getDeviceRepairTakeSearch() + }, + // 鏌ヨ + search() { + this.getDeviceRepairTakeSearch() + }, + // 瀵煎叆鎸夐挳 + upload() { + this.shows = true + this.$refs.importPickerFunc.newDataFunc() + }, + colos() { + this.shows = false + }, + // 閲嶇疆 + reset() { + this.form.wkshopcode = '' + this.form.eqpcode = '' + this.form.eqpname = '' + this.form.stanedname = '' + this.form.repairuser = '' + this.form.repairdate = '' + this.form.repairresult = '' + this.getDeviceRepairTakeSearch() + }, + + // 鏂板鎸夐挳 + add(operation) { + this.operation = operation + this.dialogVisible = true + }, + // 淇敼鎸夐挳 + async edit(operation, row) { + this.operation = operation + this.dialogVisible = true + + const res = await DeviceRepairSubTakeSearch({ bywo: row.bywo }) + + this.tableDataDialog = res.data + // 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.getDeviceRepairTakeSearch() + } + }) + }).catch(() => { + this.$message.info('宸插彇娑堝垹闄�') + }) + }, + // 瀵硅瘽妗嗗叧闂簨浠� + handleClose() { + // this.dialogForm.OrgType = '' + // this.dialogForm.OrgCode = '' + // this.dialogForm.OrgName = '' + // this.dialogForm.SupUnit = '' + // this.$refs.dialogForm.clearValidate() + this.tableDataDialog = [] + }, + // 瀵硅瘽妗嗗彇娑� + 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.getDeviceRepairTakeSearch() + } else { + this.$message.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�') + } + }) + } + }) + }, + async download() { + let tempDate = this.form.repairdate + if (tempDate.length > 0) { + tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1]) + } + const data = { + wkshopcode: this.form.wkshopcode, + eqpcode: this.form.eqpcode, + eqpname: this.form.eqpname, + stanedname: this.form.stanedname, + repairuser: this.form.repairuser, + repairdate: tempDate, + repairresult: this.form.repairresult + } + const { data: res } = await DeviceRepairTakeOutExcel(data) + window.location.href = res + }, + // 鑾峰彇椤甸潰楂樺害 + getHeight() { + this.$nextTick(() => { + this.mainHeight = window.innerHeight - 85 + this.tableHeight = this.mainHeight - 255 + this.$refs.tableDataRef.doLayout() + }) + }, + tableRowClassName({ row, rowIndex }) { + return 'custom-row' + } + + } +} +</script> + -- Gitblit v1.9.3