From ebe7bf1b9118958f6a93406305f5728bfd5d90c9 Mon Sep 17 00:00:00 2001 From: 小小儁爺 <1694218219@qq.com> Date: 星期一, 03 三月 2025 10:33:24 +0800 Subject: [PATCH] 1. 综合看板修改编码 --- src/views/qualityManager/processCheckRecord.vue | 1467 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 736 insertions(+), 731 deletions(-) diff --git a/src/views/qualityManager/processCheckRecord.vue b/src/views/qualityManager/processCheckRecord.vue index b0439af..7accab2 100644 --- a/src/views/qualityManager/processCheckRecord.vue +++ b/src/views/qualityManager/processCheckRecord.vue @@ -1,731 +1,736 @@ -<template> - <div> - <div class="body" :style="{height:mainHeight+'px'}"> - <div class="bodyTopButtonGroup"> - <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button> - <!-- <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>--> - </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.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 label="浜у搧鍚嶇О" style=" display: flex;"> - <el-input v-model="form.partname" placeholder="璇疯緭鍏�" style="width: 200px" /> - </el-form-item> - <el-form-item label="瑙勬牸鍨嬪彿" style=" display: flex;"> - <el-input v-model="form.partapec" placeholder="璇疯緭鍏�" style="width: 200px" /> - </el-form-item> - <el-form-item v-show="isExpandForm" label="宸ュ簭鍚嶇О" style=" display: flex;"> - <el-input v-model="form.stepname" placeholder="璇疯緭鍏�" style="width: 200px" /> - </el-form-item> - <el-form-item v-show="isExpandForm" label="鏍囧噯鍚嶇О" style=" display: flex;"> - <el-input v-model="form.standname" placeholder="璇疯緭鍏�" style="width: 200px" /> - </el-form-item> - <el-form-item v-show="isExpandForm" label="妫�楠岀被鍨�" style=" display: flex;"> - <el-select v-model="form.checktype" style="width: 200px" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in checktypeArr" - :key="item.code" - :label="item.name" - :value="item.code" - /> - </el-select> - </el-form-item> - <el-form-item v-show="isExpandForm" label="妫�楠岀粨鏋�" style=" display: flex;"> - <el-select v-model="form.checkresult " style="width: 200px" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in checkresultArr" - :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 - :key="tableTimeStampKey" - ref="tableDataRef" - 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==='check_type'"> - {{ checktypeArr.find(i=>i.code===row[item.prop]).name }} - </div> - <div v-else-if="item.prop==='check_result'"> - <div v-if="row.check_result==='NG'"> - <i class="el-icon-info" style="margin-right: 2px" /> - 涓嶈壇 - </div> - <div v-if="row.check_result==='OK'"> - <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" /> - 鍚堟牸 - </div> - </div> - <div v-else>{{ row[item.prop] }}</div> - </template> - </el-table-column> - - <el-table-column - label="鎿嶄綔" - fixed="right" - width="120" - > - <template slot-scope="{row}"> - <div class="operationClass"> - <!-- <el-button v-waves type="text" @click="check(row)">鏌ョ湅</el-button>--> - <!-- <el-button v-waves type="text" @click="del(row)">鍒犻櫎</el-button>--> - - <el-tooltip class="item" effect="dark" content="鏌ョ湅" placement="top"> - <i - class="el-icon-view" - :style="{color:$store.state.settings.theme}" - style="cursor: pointer;margin-right: 15px;" - @click="check(row)" - /> - </el-tooltip> - </div> - </template> - </el-table-column> - </el-table> - </div> - <!--鍒嗛〉--> - <pagination - :total="total" - :page.sync="form.page" - :limit.sync="form.rows" - align="right" - layout="prev, pager, next,sizes,jumper" - popper-class="select_bottom" - @pagination="getStepCheckTableSearch" - /> - </div> - - <el-dialog - v-el-drag-dialog - title="宸ュ簭妫�楠屾槑缁�" - :visible.sync="dialogVisible" - width="1100px" - :close-on-click-modal="false" - top="15vh" - @closed="handleClose" - @close="handleClose" - > - <div class="elTableDiv"> - <el-table - ref="tableDataRef2" - :data="tableDataDialog" - :height="(tableHeight-100)+'px'" - border - :row-class-name="tableRowClassName" - :style="{width: 100+'%',height:(tableHeight-100)+'px',}" - highlight-current-row - :header-cell-style="this.$headerCellStyle" - :cell-style="this.$cellStyle" - > - <!-- <el-table-column--> - <!-- type="selection"--> - <!-- width="50"--> - <!-- fixed--> - <!-- />--> - <el-table-column - type="index" - width="50" - label="搴忓彿" - fixed - /> - - <!-- <el-table-column--> - <!-- prop="checkitem_code"--> - <!-- show-tooltip-when-overflow--> - <!-- label="妫�楠岄」鐩紪鍙�"--> - <!-- width="120"--> - <!-- />--> - <el-table-column - prop="checkitem_name" - label="妫�楠岄」鐩�" - fixed - show-tooltip-when-overflow - /> - <!-- <el-table-column--> - <!-- prop="checkitem_descr"--> - <!-- label="妫�楠岄」鐩弿杩�"--> - <!-- show-tooltip-when-overflow--> - <!-- />--> - <el-table-column - prop="standvalue" - label="鏍囧噯瑕佹眰" - fixed - min-width="120" - show-tooltip-when-overflow - > - <template slot-scope="{row}"> - <!-- ~褰撲笁涓�奸兘鏈� --> - <div v-if="row.standvalue&&row.uppervalue&&row.lowervalue">{{ row.standvalue }}({{ - row.lowervalue - }}~{{ row.uppervalue }}) - </div> - <!-- ~褰撳彧鏈夋爣鍑嗗�煎拰涓婇檺鍊兼椂 --> - <div v-else-if="row.standvalue&&row.uppervalue">{{ row.standvalue }}(~{{ row.uppervalue }})</div> - <!-- ~褰撳彧鏈夋爣鍑嗗�煎拰涓嬮檺鍊兼椂--> - <div v-else-if="row.standvalue&&row.lowervalue">{{ row.standvalue }}({{ row.lowervalue }}~)</div> - - <!-- ~褰撳彧鏈変笂闄愬�煎拰涓嬮檺鍊兼椂--> - <div v-else-if="row.uppervalue&&row.lowervalue">({{ row.lowervalue }}~{{ row.uppervalue }})</div> - <!-- ~褰撳彧鏈夋爣鍑嗗�兼椂 --> - <div v-else-if="row.standvalue">{{ row.standvalue }}</div> - <!-- ~褰撳彧鏈変笂闄愬�兼椂 --> - <div v-else-if="row.uppervalue">(~{{ row.uppervalue }})</div> - <!-- ~褰撳彧鏈変笅闄愬�兼椂 --> - <div v-else-if="row.lowervalue">({{ row.lowervalue }}~)</div> - - <div v-else>/</div> - - </template> - </el-table-column> - - <el-table-column - v-for="(item,index) in dialogTableArrayCol" - :key="item" - :prop="(index+1)+'/'+ dialogTableNumberCol" - :label="'绗�'+(index+1)+'浠�'" - show-tooltip-when-overflow - min-width="100" - > - <template slot-scope="{row}"> - <div style="display: flex;align-items: center"> - <i - :class="row[(index + 1) + '/' + dialogTableNumberCol].split('_')[1]==='OK'?'el-icon-success':'el-icon-error'" - :style="{color:row[(index + 1) + '/' + dialogTableNumberCol].split('_')[1]==='OK'?$store.state.settings.theme:'red'}" - style="margin-right: 2px" - /> - {{ row[(index + 1) + '/' + dialogTableNumberCol].split('_')[0] }} - </div> - - <!-- <!– ~褰撲笁涓�奸兘鏈� –>--> - <!-- <div v-if="row.standvalue&&row.uppervalue&&row.lowervalue&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])>=parseFloat(row.lowervalue)&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])<=parseFloat(row.uppervalue)">--> - <!-- <!– <div v-if="row[(index + 1) + '/' + dialogTableNumberCol]>=row.lowervalue&&row[(index + 1) + '/' + dialogTableNumberCol]<=row.uppervalue">–>--> - <!-- <div style="display: flex;align-items: center">--> - <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />--> - <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}--> - <!-- </div>--> - <!-- </div>--> - - <!-- <!– ~褰撳彧鏈夋爣鍑嗗�煎拰涓婇檺鍊兼椂 –>--> - <!-- <div v-else-if="row.standvalue&&row.uppervalue&&row.lowervalue===''&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])<=parseFloat(row.uppervalue)">--> - <!-- <div style="display: flex;align-items: center">--> - <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />--> - <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}--> - <!-- </div>--> - <!-- </div>--> - <!-- <!– ~褰撳彧鏈夋爣鍑嗗�煎拰涓嬮檺鍊兼椂–>--> - <!-- <div v-else-if="row.standvalue&&row.lowervalue&&row.uppervalue===''&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])>=parseFloat(row.lowervalue)">--> - <!-- <div style="display: flex;align-items: center">--> - <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />--> - <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}--> - <!-- </div>--> - <!-- </div>--> - - <!-- <!– ~褰撳彧鏈変笂闄愬�煎拰涓嬮檺鍊兼椂–>--> - <!-- <div v-else-if="row.uppervalue&&row.lowervalue&&row.standvalue===''&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])>=parseFloat(row.lowervalue)&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])<=parseFloat(row.uppervalue)">--> - <!-- <div style="display: flex;align-items: center">--> - <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />--> - <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}--> - <!-- </div>--> - <!-- </div>--> - <!-- <!– ~褰撳彧鏈夋爣鍑嗗�兼椂 –>--> - <!-- <div v-else-if="row.standvalue&&row.uppervalue===''&&row.lowervalue===''&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])===parseFloat(row.standvalue)">--> - <!-- <div style="display: flex;align-items: center">--> - <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />--> - <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}--> - <!-- </div>--> - <!-- </div>--> - <!-- <!– ~褰撳彧鏈変笂闄愬�兼椂 –>--> - <!-- <div v-else-if="row.uppervalue&&row.lowervalue===''&&row.standvalue===''&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])<=parseFloat(row.uppervalue)">--> - <!-- <div style="display: flex;align-items: center">--> - <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />--> - <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}--> - <!-- </div>--> - <!-- </div>--> - - <!-- <!– ~褰撳彧鏈変笅闄愬�兼椂 –>--> - <!-- <div v-else-if="row.lowervalue&& row.uppervalue===''&&row.standvalue===''&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])>=parseFloat(row.lowervalue)">--> - <!-- <div style="display: flex;align-items: center">--> - <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />--> - <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}--> - <!-- </div></div>--> - - <!-- <div v-else>--> - <!-- <div style="display: flex;align-items: center">--> - <!-- <i class="el-icon-error" style="color: red;margin-right: 2px" />--> - <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}--> - <!-- </div>--> - <!-- </div>--> - - </template> - </el-table-column> - </el-table> - </div> - <span slot="footer" class="dialog-footer"> - <div class="footerButton"> - <!-- <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>--> - <!-- <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>--> - <el-button v-waves @click="dialogVisibleBack">杩� 鍥�</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 { AddUpdateOrganization, DeleteOrganization } from '@/api/basicSettings' -import { getCookie } from '@/utils/auth' -import ImportPicker from '@/components/ImportPicker' -import { StepCheckTableOutExcel, StepCheckTableSearch, StepCheckTableSubSearch } from '@/api/QualityManagement' -import elDragDialog from '@/directive/el-drag-dialog' -import waves from '@/directive/waves' -import TableColumnSettings from '@/components/TableColumnSettings' - -const SER_HZ = /^[\u4e00-\u9fa5]+$/ -export default { - name: 'ProcessCheckRecord', - components: { - Pagination, ImportPicker, TableColumnSettings - }, - directives: { elDragDialog, waves }, - data() { - return { - mouseHoverType: 'mouseout', - isExpandForm: false, - mainHeight: 0, - tableHeight: 0, - form: { - wocode: '', // 宸ュ崟缂栧彿 - partcode: '', // 浜у搧缂栫爜 - partname: '', // 浜у搧鍚嶇О - partapec: '', // 浜у搧瑙勬牸 - stepname: '', // 宸ュ簭鍚嶇О - standname: '', // 鏍囧噯鍚嶇О - checktype: '', // 妫�楠岀被鍨� - checkresult: '', // 妫�楠岀被鍨� - prop: 'lm_date', // 鎺掑簭瀛楁 - order: 'desc', // 鎺掑簭瀛楁 - page: 1, // 绗嚑椤� - rows: 20 // 姣忛〉澶氬皯鏉� - }, - checktypeArr: [ - { code: 'InCheck', name: '鍏ュ巶妫�楠�' }, - { code: 'OutCheck', name: '鍑哄巶妫�楠�' }, - { code: 'FirstCheck', name: '棣栨' }, - { code: 'PatroCheck', name: '宸℃' }, - { code: 'EndCheck', name: '瀹屽伐妫�' } - ], - checkresultArr: [ - { code: 'OK', name: '鍚堟牸' }, - { code: 'NG', name: '涓嶈壇' } - ], - - total: 10, - tableData: [], - tableColumnSettingsArray: [ - { minWidth: 50, width: false, prop: 'id', label: 'id', id: 1, show: false, fixed: false, sortable: false }, // 闅愯棌鍒� show: false闅愯棌锛宼rue鏄剧ず - { minWidth: 25, width: 50, prop: 'rowNum', label: '搴忓彿', id: 2, show: true, fixed: 'left', sortable: false }, // custom - { - minWidth: 160, - width: false, - prop: 'wo_code', - label: '宸ュ崟缂栧彿', - id: 3, - show: true, - fixed: false, - sortable: true - }, - { - minWidth: 110, - width: false, - prop: 'partcode', - label: '浜у搧缂栫爜', - id: 4, - show: true, - fixed: false, - sortable: true - }, - { - minWidth: 110, - width: false, - prop: 'partname', - label: '浜у搧鍚嶇О', - id: 5, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 110, - width: false, - prop: 'partspec', - label: '浜у搧瑙勬牸', - id: 6, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 110, - width: false, - prop: 'step_code', - label: '宸ュ簭缂栫爜', - id: 7, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 110, - width: false, - prop: 'stepname', - label: '宸ュ簭鍚嶇О', - id: 8, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 110, - width: false, - prop: 'checkstaned_code', - label: '鏍囧噯缂栫爜', - id: 9, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 110, - width: false, - prop: 'checkstaned_name', - label: '鏍囧噯鍚嶇О', - id: 10, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 110, - width: false, - prop: 'check_type', - label: '妫�楠岀被鍨�', - id: 11, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 110, - width: false, - prop: 'check_result', - label: '妫�楠岀粨鏋�', - id: 12, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 110, - width: false, - prop: 'check_descr', - label: '妫�楠屽娉�', - id: 13, - show: true, - fixed: false, - sortable: true - }, { - minWidth: 110, - width: false, - prop: 'check_qty', - label: '妫�楠屾暟閲�', - id: 14, - show: true, - fixed: false, - sortable: true - }, - { - minWidth: 110, - width: false, - prop: 'lm_user', - label: '妫�楠屼汉鍛�', - id: 15, - show: true, - fixed: false, - sortable: true - }, - { - minWidth: 160, - width: false, - prop: 'lm_date', - label: '妫�楠屾椂闂�', - id: 16, - show: true, - fixed: false, - sortable: true - } - ], - tableTimeStampKey: new Date().getTime(), // 琛ㄦ牸key - dialogVisible: false, - tableDataDialog: [], - title_value: '鏁版嵁瀵煎叆 / 鐐规閮ㄤ綅', - code: '4', - shows: false, - dialogTableNumberCol: 0, // 瀵硅瘽妗嗗姩鎬佺殑鍒楁暟 - dialogTableArrayCol: []// 瀵硅瘽妗嗗姩鎬佺殑鏁扮粍 - - } - }, - watch: { - shows() { - if (!this.shows) { - this.getStepCheckTableSearch() - } - } - }, - activated() { window.addEventListener('resize', this.getHeight) this.getHeight() }, created() { - this.getStepCheckTableSearch() - }, - 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() - }, - async getStepCheckTableSearch() { - const res = await StepCheckTableSearch(this.form) - this.tableData = res.data - this.total = res.count - }, - // 鎺掑簭鏀瑰彉鏃� - 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.getStepCheckTableSearch() - }, - // 鏌ヨ - search() { - this.getStepCheckTableSearch() - }, - // 瀵煎叆鎸夐挳 - upload() { - this.shows = true - this.$refs.importPickerFunc.newDataFunc() - }, - colos() { - this.shows = false - }, - // 閲嶇疆 - reset() { - this.form.wocode = '', // 宸ュ崟缂栧彿 - this.form.partcode = '', // 浜у搧缂栫爜 - this.form.partname = '', // 浜у搧鍚嶇О - this.form.partapec = '', // 浜у搧瑙勬牸 - this.form.stepname = '', // 宸ュ簭鍚嶇О - this.form.standname = '', // 鏍囧噯鍚嶇О - this.form.checktype = '', // 妫�楠岀被鍨� - this.form.checkresult = '', // 妫�楠岀被鍨� - this.getStepCheckTableSearch() - }, - - async check(row) { - // this.operation = operation - - this.dialogVisible = true - console.log(row, 1) - const res = await StepCheckTableSubSearch({ id: row.id }) - this.tableDataDialog = res.data - - this.tableDataDialog.forEach((item, index) => { - for (const it in item) { - if (it.indexOf('/') !== -1) { - const i = it.split('/')[1] - this.dialogTableNumberCol = i - } - } - }) - - this.dialogTableArrayCol = [] - for (let i = 0; i < this.dialogTableNumberCol; i++) { - this.dialogTableArrayCol.push(i) - } - - this.$nextTick(() => { - this.$refs.tableDataRef2.doLayout() - }) - }, - - // 鏂板鎸夐挳 - add(operation) { - this.operation = operation - this.dialogVisible = true - }, - // 淇敼鎸夐挳 - edit(operation, row) { - this.operation = operation - this.dialogVisible = true - - 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.getStepCheckTableSearch() - } - }) - }).catch(() => { - this.$message.info('宸插彇娑堝垹闄�') - }) - }, - // 瀵硅瘽妗嗗叧闂簨浠� - handleClose() { - 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.getStepCheckTableSearch() - } else { - this.$message.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�') - } - }) - } - }) - }, - // 鑾峰彇椤甸潰楂樺害 - getHeight() { - this.$nextTick(() => { - this.mainHeight = window.innerHeight - 85 - this.tableHeight = this.mainHeight - 250 - this.$refs.tableDataRef.doLayout() - }) - }, - tableRowClassName({ row, rowIndex }) { - return 'custom-row' - }, - async download() { - const { data: res } = await StepCheckTableOutExcel(this.form) - window.location.href = res - }, - dialogVisibleBack() { - this.dialogVisible = false - } - } -} -</script> +<template> + <div> + <div class="body" :style="{height:mainHeight+'px'}"> + <div class="bodyTopButtonGroup"> + <el-button v-waves type="primary" icon="el-icon-download" @click="download">瀵煎嚭</el-button> + <!-- <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>--> + </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.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 label="浜у搧鍚嶇О" style=" display: flex;"> + <el-input v-model="form.partname" placeholder="璇疯緭鍏�" style="width: 200px" /> + </el-form-item> + <el-form-item label="瑙勬牸鍨嬪彿" style=" display: flex;"> + <el-input v-model="form.partapec" placeholder="璇疯緭鍏�" style="width: 200px" /> + </el-form-item> + <el-form-item v-show="isExpandForm" label="宸ュ簭鍚嶇О" style=" display: flex;"> + <el-input v-model="form.stepname" placeholder="璇疯緭鍏�" style="width: 200px" /> + </el-form-item> + <el-form-item v-show="isExpandForm" label="鏍囧噯鍚嶇О" style=" display: flex;"> + <el-input v-model="form.standname" placeholder="璇疯緭鍏�" style="width: 200px" /> + </el-form-item> + <el-form-item v-show="isExpandForm" label="妫�楠岀被鍨�" style=" display: flex;"> + <el-select v-model="form.checktype" style="width: 200px" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in checktypeArr" + :key="item.code" + :label="item.name" + :value="item.code" + /> + </el-select> + </el-form-item> + <el-form-item v-show="isExpandForm" label="妫�楠岀粨鏋�" style=" display: flex;"> + <el-select v-model="form.checkresult " style="width: 200px" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in checkresultArr" + :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 + :key="tableTimeStampKey" + ref="tableDataRef" + 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==='check_type'"> + {{ checktypeArr.find(i=>i.code===row[item.prop]).name }} + </div> + <div v-else-if="item.prop==='check_result'"> + <div v-if="row.check_result==='NG'"> + <i class="el-icon-info" style="margin-right: 2px" /> + 涓嶈壇 + </div> + <div v-if="row.check_result==='OK'"> + <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" /> + 鍚堟牸 + </div> + </div> + <div v-else>{{ row[item.prop] }}</div> + </template> + </el-table-column> + + <el-table-column + label="鎿嶄綔" + fixed="right" + width="120" + > + <template slot-scope="{row}"> + <div class="operationClass"> + <!-- <el-button v-waves type="text" @click="check(row)">鏌ョ湅</el-button>--> + <!-- <el-button v-waves type="text" @click="del(row)">鍒犻櫎</el-button>--> + + <el-tooltip class="item" effect="dark" content="鏌ョ湅" placement="top"> + <i + class="el-icon-view" + :style="{color:$store.state.settings.theme}" + style="cursor: pointer;margin-right: 15px;" + @click="check(row)" + /> + </el-tooltip> + </div> + </template> + </el-table-column> + </el-table> + </div> + <!--鍒嗛〉--> + <pagination + :total="total" + :page.sync="form.page" + :limit.sync="form.rows" + align="right" + layout="prev, pager, next,sizes,jumper" + popper-class="select_bottom" + @pagination="getStepCheckTableSearch" + /> + </div> + + <el-dialog + v-el-drag-dialog + title="宸ュ簭妫�楠屾槑缁�" + :visible.sync="dialogVisible" + width="1100px" + :close-on-click-modal="false" + top="15vh" + @closed="handleClose" + @close="handleClose" + > + <div class="elTableDiv"> + <el-table + ref="tableDataRef2" + :data="tableDataDialog" + :height="(tableHeight-100)+'px'" + border + :row-class-name="tableRowClassName" + :style="{width: 100+'%',height:(tableHeight-100)+'px',}" + highlight-current-row + :header-cell-style="this.$headerCellStyle" + :cell-style="this.$cellStyle" + > + <!-- <el-table-column--> + <!-- type="selection"--> + <!-- width="50"--> + <!-- fixed--> + <!-- />--> + <el-table-column + type="index" + width="50" + label="搴忓彿" + fixed + /> + + <!-- <el-table-column--> + <!-- prop="checkitem_code"--> + <!-- show-tooltip-when-overflow--> + <!-- label="妫�楠岄」鐩紪鍙�"--> + <!-- width="120"--> + <!-- />--> + <el-table-column + prop="checkitem_name" + label="妫�楠岄」鐩�" + fixed + show-tooltip-when-overflow + /> + <!-- <el-table-column--> + <!-- prop="checkitem_descr"--> + <!-- label="妫�楠岄」鐩弿杩�"--> + <!-- show-tooltip-when-overflow--> + <!-- />--> + <el-table-column + prop="standvalue" + label="鏍囧噯瑕佹眰" + fixed + min-width="120" + show-tooltip-when-overflow + > + <template slot-scope="{row}"> + <!-- ~褰撲笁涓�奸兘鏈� --> + <div v-if="row.standvalue&&row.uppervalue&&row.lowervalue">{{ row.standvalue }}({{ + row.lowervalue + }}~{{ row.uppervalue }}) + </div> + <!-- ~褰撳彧鏈夋爣鍑嗗�煎拰涓婇檺鍊兼椂 --> + <div v-else-if="row.standvalue&&row.uppervalue">{{ row.standvalue }}(~{{ row.uppervalue }})</div> + <!-- ~褰撳彧鏈夋爣鍑嗗�煎拰涓嬮檺鍊兼椂--> + <div v-else-if="row.standvalue&&row.lowervalue">{{ row.standvalue }}({{ row.lowervalue }}~)</div> + + <!-- ~褰撳彧鏈変笂闄愬�煎拰涓嬮檺鍊兼椂--> + <div v-else-if="row.uppervalue&&row.lowervalue">({{ row.lowervalue }}~{{ row.uppervalue }})</div> + <!-- ~褰撳彧鏈夋爣鍑嗗�兼椂 --> + <div v-else-if="row.standvalue">{{ row.standvalue }}</div> + <!-- ~褰撳彧鏈変笂闄愬�兼椂 --> + <div v-else-if="row.uppervalue">(~{{ row.uppervalue }})</div> + <!-- ~褰撳彧鏈変笅闄愬�兼椂 --> + <div v-else-if="row.lowervalue">({{ row.lowervalue }}~)</div> + + <div v-else>/</div> + + </template> + </el-table-column> + + <el-table-column + v-for="(item,index) in dialogTableArrayCol" + :key="item" + :prop="(index+1)+'/'+ dialogTableNumberCol" + :label="'绗�'+(index+1)+'浠�'" + show-tooltip-when-overflow + min-width="100" + > + <template slot-scope="{row}"> + <div style="display: flex;align-items: center"> + <i + :class="row[(index + 1) + '/' + dialogTableNumberCol].split('_')[1]==='OK'?'el-icon-success':'el-icon-error'" + :style="{color:row[(index + 1) + '/' + dialogTableNumberCol].split('_')[1]==='OK'?$store.state.settings.theme:'red'}" + style="margin-right: 2px" + /> + {{ row[(index + 1) + '/' + dialogTableNumberCol].split('_')[0] }} + </div> + + <!-- <!– ~褰撲笁涓�奸兘鏈� –>--> + <!-- <div v-if="row.standvalue&&row.uppervalue&&row.lowervalue&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])>=parseFloat(row.lowervalue)&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])<=parseFloat(row.uppervalue)">--> + <!-- <!– <div v-if="row[(index + 1) + '/' + dialogTableNumberCol]>=row.lowervalue&&row[(index + 1) + '/' + dialogTableNumberCol]<=row.uppervalue">–>--> + <!-- <div style="display: flex;align-items: center">--> + <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />--> + <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}--> + <!-- </div>--> + <!-- </div>--> + + <!-- <!– ~褰撳彧鏈夋爣鍑嗗�煎拰涓婇檺鍊兼椂 –>--> + <!-- <div v-else-if="row.standvalue&&row.uppervalue&&row.lowervalue===''&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])<=parseFloat(row.uppervalue)">--> + <!-- <div style="display: flex;align-items: center">--> + <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />--> + <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}--> + <!-- </div>--> + <!-- </div>--> + <!-- <!– ~褰撳彧鏈夋爣鍑嗗�煎拰涓嬮檺鍊兼椂–>--> + <!-- <div v-else-if="row.standvalue&&row.lowervalue&&row.uppervalue===''&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])>=parseFloat(row.lowervalue)">--> + <!-- <div style="display: flex;align-items: center">--> + <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />--> + <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}--> + <!-- </div>--> + <!-- </div>--> + + <!-- <!– ~褰撳彧鏈変笂闄愬�煎拰涓嬮檺鍊兼椂–>--> + <!-- <div v-else-if="row.uppervalue&&row.lowervalue&&row.standvalue===''&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])>=parseFloat(row.lowervalue)&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])<=parseFloat(row.uppervalue)">--> + <!-- <div style="display: flex;align-items: center">--> + <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />--> + <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}--> + <!-- </div>--> + <!-- </div>--> + <!-- <!– ~褰撳彧鏈夋爣鍑嗗�兼椂 –>--> + <!-- <div v-else-if="row.standvalue&&row.uppervalue===''&&row.lowervalue===''&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])===parseFloat(row.standvalue)">--> + <!-- <div style="display: flex;align-items: center">--> + <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />--> + <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}--> + <!-- </div>--> + <!-- </div>--> + <!-- <!– ~褰撳彧鏈変笂闄愬�兼椂 –>--> + <!-- <div v-else-if="row.uppervalue&&row.lowervalue===''&&row.standvalue===''&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])<=parseFloat(row.uppervalue)">--> + <!-- <div style="display: flex;align-items: center">--> + <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />--> + <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}--> + <!-- </div>--> + <!-- </div>--> + + <!-- <!– ~褰撳彧鏈変笅闄愬�兼椂 –>--> + <!-- <div v-else-if="row.lowervalue&& row.uppervalue===''&&row.standvalue===''&&parseFloat(row[(index + 1) + '/' + dialogTableNumberCol])>=parseFloat(row.lowervalue)">--> + <!-- <div style="display: flex;align-items: center">--> + <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />--> + <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}--> + <!-- </div></div>--> + + <!-- <div v-else>--> + <!-- <div style="display: flex;align-items: center">--> + <!-- <i class="el-icon-error" style="color: red;margin-right: 2px" />--> + <!-- {{ row[(index + 1) + '/' + dialogTableNumberCol] }}--> + <!-- </div>--> + <!-- </div>--> + + </template> + </el-table-column> + </el-table> + </div> + <span slot="footer" class="dialog-footer"> + <div class="footerButton"> + <!-- <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>--> + <!-- <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>--> + <el-button v-waves @click="dialogVisibleBack">杩� 鍥�</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 { AddUpdateOrganization, DeleteOrganization } from '@/api/basicSettings' +import { getCookie } from '@/utils/auth' +import ImportPicker from '@/components/ImportPicker' +import { StepCheckTableOutExcel, StepCheckTableSearch, StepCheckTableSubSearch } from '@/api/QualityManagement' +import elDragDialog from '@/directive/el-drag-dialog' +import waves from '@/directive/waves' +import TableColumnSettings from '@/components/TableColumnSettings' + +const SER_HZ = /^[\u4e00-\u9fa5]+$/ +export default { + name: 'ProcessCheckRecord', + components: { + Pagination, ImportPicker, TableColumnSettings + }, + directives: { elDragDialog, waves }, + data() { + return { + mouseHoverType: 'mouseout', + isExpandForm: false, + mainHeight: 0, + tableHeight: 0, + form: { + wocode: '', // 宸ュ崟缂栧彿 + partcode: '', // 浜у搧缂栫爜 + partname: '', // 浜у搧鍚嶇О + partapec: '', // 浜у搧瑙勬牸 + stepname: '', // 宸ュ簭鍚嶇О + standname: '', // 鏍囧噯鍚嶇О + checktype: '', // 妫�楠岀被鍨� + checkresult: '', // 妫�楠岀被鍨� + prop: 'lm_date', // 鎺掑簭瀛楁 + order: 'desc', // 鎺掑簭瀛楁 + page: 1, // 绗嚑椤� + rows: 20 // 姣忛〉澶氬皯鏉� + }, + checktypeArr: [ + { code: 'InCheck', name: '鍏ュ巶妫�楠�' }, + { code: 'OutCheck', name: '鍑哄巶妫�楠�' }, + { code: 'FirstCheck', name: '棣栨' }, + { code: 'PatroCheck', name: '宸℃' }, + { code: 'EndCheck', name: '瀹屽伐妫�' } + ], + checkresultArr: [ + { code: 'OK', name: '鍚堟牸' }, + { code: 'NG', name: '涓嶈壇' } + ], + + total: 10, + tableData: [], + tableColumnSettingsArray: [ + { minWidth: 50, width: false, prop: 'id', label: 'id', id: 1, show: false, fixed: false, sortable: false }, // 闅愯棌鍒� show: false闅愯棌锛宼rue鏄剧ず + { minWidth: 25, width: 50, prop: 'rowNum', label: '搴忓彿', id: 2, show: true, fixed: 'left', sortable: false }, // custom + { + minWidth: 160, + width: false, + prop: 'wo_code', + label: '宸ュ崟缂栧彿', + id: 3, + show: true, + fixed: false, + sortable: true + }, + { + minWidth: 110, + width: false, + prop: 'partcode', + label: '浜у搧缂栫爜', + id: 4, + show: true, + fixed: false, + sortable: true + }, + { + minWidth: 110, + width: false, + prop: 'partname', + label: '浜у搧鍚嶇О', + id: 5, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 110, + width: false, + prop: 'partspec', + label: '浜у搧瑙勬牸', + id: 6, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 110, + width: false, + prop: 'step_code', + label: '宸ュ簭缂栫爜', + id: 7, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 110, + width: false, + prop: 'stepname', + label: '宸ュ簭鍚嶇О', + id: 8, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 110, + width: false, + prop: 'checkstaned_code', + label: '鏍囧噯缂栫爜', + id: 9, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 110, + width: false, + prop: 'checkstaned_name', + label: '鏍囧噯鍚嶇О', + id: 10, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 110, + width: false, + prop: 'check_type', + label: '妫�楠岀被鍨�', + id: 11, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 110, + width: false, + prop: 'check_result', + label: '妫�楠岀粨鏋�', + id: 12, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 110, + width: false, + prop: 'check_descr', + label: '妫�楠屽娉�', + id: 13, + show: true, + fixed: false, + sortable: true + }, { + minWidth: 110, + width: false, + prop: 'check_qty', + label: '妫�楠屾暟閲�', + id: 14, + show: true, + fixed: false, + sortable: true + }, + { + minWidth: 110, + width: false, + prop: 'lm_user', + label: '妫�楠屼汉鍛�', + id: 15, + show: true, + fixed: false, + sortable: true + }, + { + minWidth: 160, + width: false, + prop: 'lm_date', + label: '妫�楠屾椂闂�', + id: 16, + show: true, + fixed: false, + sortable: true + } + ], + tableTimeStampKey: new Date().getTime(), // 琛ㄦ牸key + dialogVisible: false, + tableDataDialog: [], + title_value: '鏁版嵁瀵煎叆 / 鐐规閮ㄤ綅', + code: '4', + shows: false, + dialogTableNumberCol: 0, // 瀵硅瘽妗嗗姩鎬佺殑鍒楁暟 + dialogTableArrayCol: []// 瀵硅瘽妗嗗姩鎬佺殑鏁扮粍 + + } + }, + watch: { + shows() { + if (!this.shows) { + this.getStepCheckTableSearch() + } + } + }, + activated() { + window.addEventListener('resize', this.getHeight) + this.getHeight() + this.getStepCheckTableSearch() + }, + created() { + this.getStepCheckTableSearch() + }, + 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() + }, + async getStepCheckTableSearch() { + const res = await StepCheckTableSearch(this.form) + this.tableData = res.data + this.total = res.count + }, + // 鎺掑簭鏀瑰彉鏃� + 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.getStepCheckTableSearch() + }, + // 鏌ヨ + search() { + this.getStepCheckTableSearch() + }, + // 瀵煎叆鎸夐挳 + upload() { + this.shows = true + this.$refs.importPickerFunc.newDataFunc() + }, + colos() { + this.shows = false + }, + // 閲嶇疆 + reset() { + this.form.wocode = '', // 宸ュ崟缂栧彿 + this.form.partcode = '', // 浜у搧缂栫爜 + this.form.partname = '', // 浜у搧鍚嶇О + this.form.partapec = '', // 浜у搧瑙勬牸 + this.form.stepname = '', // 宸ュ簭鍚嶇О + this.form.standname = '', // 鏍囧噯鍚嶇О + this.form.checktype = '', // 妫�楠岀被鍨� + this.form.checkresult = '', // 妫�楠岀被鍨� + this.getStepCheckTableSearch() + }, + + async check(row) { + // this.operation = operation + + this.dialogVisible = true + console.log(row, 1) + const res = await StepCheckTableSubSearch({ id: row.id }) + this.tableDataDialog = res.data + + this.tableDataDialog.forEach((item, index) => { + for (const it in item) { + if (it.indexOf('/') !== -1) { + const i = it.split('/')[1] + this.dialogTableNumberCol = i + } + } + }) + + this.dialogTableArrayCol = [] + for (let i = 0; i < this.dialogTableNumberCol; i++) { + this.dialogTableArrayCol.push(i) + } + + this.$nextTick(() => { + this.$refs.tableDataRef2.doLayout() + }) + }, + + // 鏂板鎸夐挳 + add(operation) { + this.operation = operation + this.dialogVisible = true + }, + // 淇敼鎸夐挳 + edit(operation, row) { + this.operation = operation + this.dialogVisible = true + + 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.getStepCheckTableSearch() + } + }) + }).catch(() => { + this.$message.info('宸插彇娑堝垹闄�') + }) + }, + // 瀵硅瘽妗嗗叧闂簨浠� + handleClose() { + 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.getStepCheckTableSearch() + } else { + this.$message.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�') + } + }) + } + }) + }, + // 鑾峰彇椤甸潰楂樺害 + getHeight() { + this.$nextTick(() => { + this.mainHeight = window.innerHeight - 85 + this.tableHeight = this.mainHeight - 250 + this.$refs.tableDataRef.doLayout() + }) + }, + tableRowClassName({ row, rowIndex }) { + return 'custom-row' + }, + async download() { + const { data: res } = await StepCheckTableOutExcel(this.form) + window.location.href = res + }, + dialogVisibleBack() { + this.dialogVisible = false + } + } +} +</script> -- Gitblit v1.9.3