| | |
| | | <template>
|
| | | <div>
|
| | | <div class="body" :style="{height:mainHeight+'px'}">
|
| | |
|
| | | <div class="bodyTopFormGroup" style="margin-top: 10px;">
|
| | | <el-form
|
| | | ref="form"
|
| | | :model="form"
|
| | | label-width="100px"
|
| | | inline
|
| | | style="display: flex;"
|
| | | >
|
| | | <div class="elForm">
|
| | | <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.wo_code" placeholder="请输入" style="width: 200px" />
|
| | | </el-form-item>
|
| | | <el-form-item label="产品编码" style=" display: flex;">
|
| | | <el-input v-model="form.partnumber" 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 v-show="isExpandForm" label="产品规格" style=" display: flex;">
|
| | | <el-input v-model="form.partspec" placeholder="请输入" style="width: 200px" />
|
| | | </el-form-item>
|
| | |
|
| | | <el-form-item v-show="isExpandForm" label="报工人员" style=" display: flex;">
|
| | | <el-input v-model="form.reportuser" placeholder="请输入" style="width: 200px" />
|
| | | </el-form-item>
|
| | | <el-form-item v-show="isExpandForm" label="报工时间" style=" display: flex;">
|
| | | <el-date-picker
|
| | | v-model="form.reportdate"
|
| | | type="daterange"
|
| | | range-separator="~"
|
| | | class="timeMini"
|
| | | size="mini"
|
| | | style="width: 200px;"
|
| | | :clearable="false"
|
| | | start-placeholder="开始日期"
|
| | | end-placeholder="结束日期"
|
| | | />
|
| | | </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="getMesOrderStepVerifySearch">查询</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">
|
| | | <el-table
|
| | | ref="tableDataRef"
|
| | | class="tableFixed"
|
| | | :data="tableData"
|
| | | :height="isExpandForm?tableHeight:(tableHeight+40)+'px'"
|
| | | border
|
| | | row-class-name="custom-row"
|
| | | :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-->
|
| | | <!-- type="selection"-->
|
| | | <!-- width="50"-->
|
| | | <!-- :reserve-selection="true"-->
|
| | | <!-- fixed-->
|
| | | <!-- />-->
|
| | | <el-table-column
|
| | | prop="rowNum"
|
| | | width="50"
|
| | | fixed
|
| | | label="序号"
|
| | | />
|
| | | <el-table-column
|
| | | prop="wo_code"
|
| | | label="报工工单"
|
| | | sortable="custom"
|
| | | min-width="160"
|
| | | show-overflow-tooltip
|
| | | />
|
| | | <el-table-column
|
| | | prop="partnumber"
|
| | | label="产品编码"
|
| | | show-overflow-tooltip
|
| | | sortable="custom"
|
| | | min-width="110"
|
| | | />
|
| | | <el-table-column
|
| | | prop="partname"
|
| | | label="产品名称"
|
| | | sortable="custom"
|
| | | show-overflow-tooltip
|
| | | min-width="110"
|
| | | />
|
| | | <el-table-column
|
| | | prop="wkshp_name"
|
| | | label="车间名称"
|
| | | sortable="custom"
|
| | | show-overflow-tooltip
|
| | | min-width="110"
|
| | | />
|
| | | <el-table-column
|
| | | prop="task_qty"
|
| | | label="任务数量"
|
| | | sortable="custom"
|
| | | show-overflow-tooltip
|
| | | min-width="110"
|
| | | />
|
| | | <!-- <el-table-column-->
|
| | | <!-- prop="wkshp_name"-->
|
| | | <!-- label="车间名称"-->
|
| | | <!-- show-overflow-tooltip-->
|
| | | <!-- sortable="custom"-->
|
| | | <!-- min-width="110"-->
|
| | | <!-- />-->
|
| | | <!-- <el-table-column-->
|
| | | <!-- prop="eqp_name"-->
|
| | | <!-- label="设备名称"-->
|
| | | <!-- sortable="custom"-->
|
| | | <!-- show-overflow-tooltip-->
|
| | | <!-- min-width="110"-->
|
| | | <!-- />-->
|
| | | <el-table-column
|
| | | prop="stepname"
|
| | | label="工序名称"
|
| | | show-overflow-tooltip
|
| | | sortable="custom"
|
| | | min-width="110"
|
| | | />
|
| | | <!-- <el-table-column-->
|
| | | <!-- prop="step_price"-->
|
| | | <!-- label="工序单价"-->
|
| | | <!-- show-overflow-tooltip-->
|
| | | <!-- sortable="custom"-->
|
| | | <!-- min-width="110"-->
|
| | | <!-- />-->
|
| | | <el-table-column
|
| | | prop="steptype"
|
| | | label="工序类型"
|
| | | show-overflow-tooltip
|
| | | sortable="custom"
|
| | | min-width="110"
|
| | | >
|
| | | <template slot-scope="{row}">
|
| | | {{ row.steptype === 'Z' ? '自制' : '外协' }}
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column
|
| | | prop="wx_name"
|
| | | label="供应商"
|
| | | show-overflow-tooltip
|
| | | sortable="custom"
|
| | | min-width="110"
|
| | | >
|
| | | <template slot-scope="{row}">
|
| | | {{ row.wx_name ? row.wx_name : '/' }}
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column
|
| | | prop="usergroup_name"
|
| | | label="报工班组"
|
| | | show-overflow-tooltip
|
| | | min-width="110"
|
| | | sortable="custom"
|
| | | >
|
| | | <template slot-scope="{row}">
|
| | | {{ row.usergroup_name ? row.usergroup_name : '/' }}
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column
|
| | | prop="username"
|
| | | label="报工人员"
|
| | | show-overflow-tooltip
|
| | | min-width="110"
|
| | | sortable="custom"
|
| | | />
|
| | | <el-table-column
|
| | | prop="report_qty"
|
| | | label="合格数量"
|
| | | show-overflow-tooltip
|
| | | sortable="custom"
|
| | | min-width="110"
|
| | | />
|
| | | <el-table-column
|
| | | prop="ng_qty"
|
| | | label="不良数量"
|
| | | show-overflow-tooltip
|
| | | min-width="110"
|
| | | sortable="custom"
|
| | | />
|
| | | <el-table-column
|
| | | prop="laborbad_qty"
|
| | | label="工废数量"
|
| | | min-width="110"
|
| | | show-overflow-tooltip
|
| | | sortable="custom"
|
| | | />
|
| | | <el-table-column
|
| | | prop="materielbad_qty"
|
| | | label="料废数量"
|
| | | show-overflow-tooltip
|
| | | min-width="110"
|
| | | sortable="custom"
|
| | | />
|
| | | <el-table-column
|
| | | prop="report_date"
|
| | | label="报工时间"
|
| | | min-width="160"
|
| | | show-overflow-tooltip
|
| | | sortable="custom"
|
| | | />
|
| | | <el-table-column
|
| | | label="操作"
|
| | | width="100"
|
| | | fixed="right"
|
| | | >
|
| | | <template slot-scope="{row}">
|
| | | <div class="operationClass">
|
| | | <el-button
|
| | | type="text"
|
| | | style="cursor: pointer;font-size: 14px"
|
| | | @click="reportAdjust(row)"
|
| | | >报工调整
|
| | | </el-button>
|
| | |
|
| | | </div>
|
| | | </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,jumper"
|
| | | popper-class="select_bottom"
|
| | | @pagination="getMesOrderStepVerifySearch"
|
| | | />
|
| | | </div>
|
| | |
|
| | | <el-dialog
|
| | | v-el-drag-dialog
|
| | | title="报工调整"
|
| | | :visible.sync="dialogVisible"
|
| | | width="1080px"
|
| | | :close-on-click-modal="false"
|
| | | top="15vh"
|
| | | @closed="handleClose"
|
| | | @close="handleClose"
|
| | | >
|
| | | <el-form ref="dialogForm" inline :rules="dialogFormRules" :model="dialogForm" label-width="80px">
|
| | | <el-divider content-position="left">工单信息</el-divider>
|
| | |
|
| | | <el-form-item label="工单编号" class="dialogFormItem">
|
| | | <div style="width: 200px;">
|
| | | {{ dialogForm.wo_code }}
|
| | | </div>
|
| | | <!-- <el-input v-model="dialogForm.postcode" style="width: 200px" />-->
|
| | | </el-form-item>
|
| | | <el-form-item label="产品编码" class="dialogFormItem">
|
| | | <div style="width: 200px;">
|
| | | {{ dialogForm.partnumber }}
|
| | | </div>
|
| | | <!-- <el-input v-model="dialogForm.postname" style="width: 200px" />-->
|
| | | </el-form-item>
|
| | | <el-form-item label="产品名称" class="dialogFormItem">
|
| | | <div style="width: 200px;">
|
| | | {{ dialogForm.partname }}
|
| | | </div>
|
| | | </el-form-item>
|
| | | <el-form-item label="产品规格" class="dialogFormItem">
|
| | | <div style="width: 200px;">
|
| | | {{ dialogForm.partspec ? dialogForm.partspec : '/' }}
|
| | | </div>
|
| | | </el-form-item>
|
| | | <el-form-item label="生产工序" class="dialogFormItem">
|
| | | <div style="width: 200px;">
|
| | | {{ dialogForm.step_name }}
|
| | | </div>
|
| | | </el-form-item>
|
| | | <el-form-item label="工序单价" class="dialogFormItem">
|
| | | <!-- <div style="width: 200px;">-->
|
| | | <!-- {{ dialogForm.unprice ? dialogForm.unprice : '/' }}-->
|
| | | <!-- </div>-->
|
| | | <el-input
|
| | | v-model="dialogForm.unprice"
|
| | | oninput="value=value.replace(/[^0-9.]/g,'')"
|
| | | style="width: 200px"
|
| | | />
|
| | | </el-form-item>
|
| | | <el-form-item v-if="dialogForm.flw_type==='Z'" label="报工班组" class="dialogFormItem">
|
| | | <div style="width: 200px;" class="ellipsis">
|
| | | {{ dialogForm.usergroup_name ? dialogForm.usergroup_name : '/' }}
|
| | | </div>
|
| | | </el-form-item>
|
| | | <el-form-item v-if="dialogForm.flw_type!=='Z'" label="供应商" class="dialogFormItem">
|
| | | <div style="width: 200px;" class="ellipsis">
|
| | | {{ dialogForm.wx_name }}
|
| | | </div>
|
| | | </el-form-item>
|
| | | <el-form-item label="报工人员" class="dialogFormItem">
|
| | | <div style="width: 200px;" class="ellipsis">
|
| | | {{ dialogForm.username }}
|
| | | </div>
|
| | | </el-form-item>
|
| | | <el-form-item :label="dialogForm.flw_type==='Z'?'合格数量':'收料数量'" prop="report_qty" class="dialogFormItem">
|
| | | <el-input
|
| | | v-model="dialogForm.report_qty"
|
| | | oninput="value=value.replace(/[^0-9]/g,'')"
|
| | | style="width: 200px"
|
| | | />
|
| | | </el-form-item>
|
| | |
|
| | | <el-divider content-position="left">报工情况</el-divider>
|
| | |
|
| | | <el-table
|
| | | ref="tableDataDialogRef"
|
| | | key="tableDataDialogKey"
|
| | | :data="tableDataDialog"
|
| | | border
|
| | | row-class-name="custom-row"
|
| | | height="200"
|
| | | style="width: 100%;margin-top: 15px;"
|
| | | highlight-current-row
|
| | | :header-cell-style="this.$headerCellStyle"
|
| | | :cell-style="this.$cellStyle"
|
| | | >
|
| | | <el-table-column
|
| | | type="index"
|
| | | label="序号"
|
| | | align="center"
|
| | | width="50"
|
| | | />
|
| | | <el-table-column
|
| | | prop="stepcode"
|
| | | show-tooltip-when-overflow
|
| | | label="缺陷编码/名称"
|
| | | align="center"
|
| | | min-width="400"
|
| | | >
|
| | | <template slot-scope="{row}">
|
| | | <el-select
|
| | | v-model="row.defect_code"
|
| | | style="width: 100%"
|
| | | placeholder="请选择"
|
| | | multiple
|
| | | filterable
|
| | | >
|
| | | <!-- collapse-tags-->
|
| | | <el-option
|
| | | v-for="item in defectArr"
|
| | | :key="item.code"
|
| | | :label="item.name"
|
| | | :value="item.code"
|
| | | />
|
| | | </el-select>
|
| | | </template>
|
| | | </el-table-column>
|
| | |
|
| | | <el-table-column
|
| | | prop="defect_qty"
|
| | | label="不良数量"
|
| | | align="center"
|
| | | >
|
| | | <template slot-scope="{row}">
|
| | | <el-input
|
| | | v-model="row.defect_qty"
|
| | | placeholder="请输入数量"
|
| | | oninput="value=value.replace(/[^0-9]/g,'')"
|
| | | style="width: 100%"
|
| | | />
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column
|
| | | prop="laborbad_qty"
|
| | | label="工废数量"
|
| | | align="center"
|
| | | >
|
| | | <template slot-scope="{row}">
|
| | | <el-input
|
| | | v-model="row.laborbad_qty"
|
| | | placeholder="请输入数量"
|
| | | oninput="value=value.replace(/[^0-9]/g,'')"
|
| | | style="width: 100%"
|
| | | />
|
| | | </template>
|
| | | </el-table-column>
|
| | | <el-table-column
|
| | | prop="materielbad_qty"
|
| | | label="料废数量"
|
| | | align="center"
|
| | | >
|
| | | <template slot-scope="{row}">
|
| | | <el-input
|
| | | v-model="row.materielbad_qty"
|
| | | placeholder="请输入数量"
|
| | | oninput="value=value.replace(/[^0-9]/g,'')"
|
| | | style="width: 100%"
|
| | | />
|
| | | </template>
|
| | | </el-table-column>
|
| | | </el-table>
|
| | |
|
| | | </el-form>
|
| | | <span slot="footer" class="dialog-footer">
|
| | | <div class="footerButton">
|
| | | <el-button v-waves @click="dialogVisibleCancel">取 消</el-button>
|
| | | <el-button
|
| | | v-waves
|
| | | type="primary"
|
| | | :loading="$store.state.app.buttonIsDisabled"
|
| | | :disabled="$store.state.app.buttonIsDisabled"
|
| | | @click="dialogVisibleConfirm"
|
| | | >确 定</el-button>
|
| | | </div>
|
| | | </span>
|
| | | </el-dialog>
|
| | |
|
| | | </div>
|
| | | </template>
|
| | |
|
| | | <script>
|
| | | import Pagination from '@/components/Pagination'
|
| | | import { handleDatetime } from '@/utils/global'
|
| | | import elDragDialog from '@/directive/el-drag-dialog'
|
| | | import waves from '@/directive/waves'
|
| | | import { DefectPermissions, PrentOrganizationNoCompany } from '@/api/GeneralBasicData'
|
| | | import { MesOrderStepModelSearch, MesOrderStepUpdateSeave, MesOrderStepVerifySearch } from '@/api/WorkOrder'
|
| | |
|
| | | export default {
|
| | | name: 'ReportCorrect',
|
| | | components: {
|
| | | Pagination
|
| | | },
|
| | | directives: { elDragDialog, waves },
|
| | | data() {
|
| | | return {
|
| | | mouseHoverType: 'mouseout',
|
| | | isExpandForm: false,
|
| | | mainHeight: 0,
|
| | | tableHeight: 0,
|
| | | form: {
|
| | | wkshopcode: '',
|
| | | wo_code: '', // 工单编码
|
| | | partnumber: '', // 产品编码
|
| | | partname: '', // 产品名称
|
| | | partspec: '', // 产品规格
|
| | | reportuser: '', // 报工人员
|
| | | reportdate: '', // 报工时间
|
| | |
|
| | | prop: 'report_date', // 排序字段
|
| | | order: 'desc', // 排序字段
|
| | | page: 1, // 第几页
|
| | | rows: 20 // 每页多少条
|
| | | },
|
| | | total: 10,
|
| | | tableData: [],
|
| | | wkshopcodeArr: [],
|
| | | dialogVisible: false,
|
| | | dialogForm: {
|
| | | 'id': '',
|
| | | 'sbid': '',
|
| | | 'wo_code': '',
|
| | | 'partnumber': '',
|
| | | partname: '',
|
| | | partspec: '',
|
| | | usergroup_name: '',
|
| | | username: '',
|
| | | 'task_qty': '',
|
| | | 'wkshp_code': '',
|
| | | 'eqp_code': '',
|
| | | 'step_seq': '',
|
| | | 'step_code': '',
|
| | | 'step_name': '',
|
| | | 'flw_type': '',
|
| | | 'first_choke': '',
|
| | | 'last_choke': '',
|
| | | 'unprice': '',
|
| | | 'groupcode': '',
|
| | | 'usercode': '',
|
| | | 'report_date': '',
|
| | | 'report_qty': '',
|
| | | 'report_dvalue': '',
|
| | | wx_code: '',
|
| | | wx_name: '',
|
| | | children: []
|
| | | },
|
| | | tableDataDialog: [],
|
| | |
|
| | | defectArr: [], // 不良缺陷
|
| | |
|
| | | dialogFormRules: {
|
| | | report_qty: [
|
| | | { required: true, message: '请输入合格数量', trigger: ['blur', 'change'] }
|
| | | ]
|
| | | }
|
| | |
|
| | | }
|
| | | },
|
| | | activated() {
window.addEventListener('resize', this.getHeight)
this.getHeight()
},
created() {
|
| | | },
|
| | | mounted() {
|
| | | window.addEventListener('resize', this.getHeight)
|
| | | this.getHeight()
|
| | |
|
| | | this.getMesOrderStepVerifySearch()
|
| | | this.getDefectPermissions()
|
| | | this.getPrentOrganizationNoCompany()
|
| | | },
|
| | | methods: {
|
| | | async getPrentOrganizationNoCompany() {
|
| | | const { data: res } = await PrentOrganizationNoCompany()
|
| | | this.wkshopcodeArr = res
|
| | | },
|
| | | async getDefectPermissions() {
|
| | | const { data: res3 } = await DefectPermissions() // 缺陷
|
| | | this.defectArr = res3
|
| | | },
|
| | | // 报工调整列表查询
|
| | | async getMesOrderStepVerifySearch() {
|
| | | let tempDate = this.form.reportdate
|
| | | if (tempDate.length > 0) {
|
| | | tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1])
|
| | | }
|
| | | const data = {
|
| | | wkshopcode: this.form.wkshopcode,
|
| | | wo_code: this.form.wo_code,
|
| | | partnumber: this.form.partnumber,
|
| | | partname: this.form.partname,
|
| | | partspec: this.form.partspec,
|
| | | reportuser: this.form.reportuser,
|
| | | reportdate: tempDate,
|
| | |
|
| | | prop: this.form.prop, // 排序字段
|
| | | order: this.form.order, // 排序字段
|
| | | page: this.form.page, // 第几页
|
| | | rows: this.form.rows // 每页多少条
|
| | | }
|
| | | const res = await MesOrderStepVerifySearch(data)
|
| | | 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.getMesOrderStepVerifySearch()
|
| | | },
|
| | | // 重置
|
| | | reset() {
|
| | | this.form.wkshopcode = ''
|
| | | this.form.wo_code = ''
|
| | | this.form.partnumber = ''
|
| | | this.form.partname = ''
|
| | | this.form.partspec = ''
|
| | | this.form.reportuser = ''
|
| | | this.form.reportdate = ''
|
| | | this.getMesOrderStepVerifySearch()
|
| | | },
|
| | |
|
| | | // 报工调整
|
| | | async reportAdjust(row) {
|
| | | const data = {
|
| | | wo_code: row.wo_code,
|
| | | step_code: row.step_code,
|
| | | step_type: row.steptype,
|
| | | isbott: row.first_choke,
|
| | | isend: row.last_choke,
|
| | | id: row.id,
|
| | | sbid: row.sbid
|
| | | }
|
| | | const res = await MesOrderStepModelSearch(data)
|
| | | if (res.code === '200') {
|
| | | this.dialogForm.id = row.id
|
| | | this.dialogForm.sbid = row.sbid
|
| | | this.dialogForm.wo_code = row.wo_code
|
| | | this.dialogForm.partnumber = row.partnumber
|
| | | this.dialogForm.partname = row.partname
|
| | | this.dialogForm.partspec = row.partspec
|
| | | this.dialogForm.task_qty = row.task_qty
|
| | | this.dialogForm.wkshp_code = row.wkshp_code
|
| | | this.dialogForm.eqp_code = row.eqp_code
|
| | | this.dialogForm.step_seq = row.step_seq
|
| | | this.dialogForm.step_code = row.step_code
|
| | | this.dialogForm.step_name = row.stepname
|
| | | this.dialogForm.flw_type = row.steptype
|
| | | this.dialogForm.first_choke = row.first_choke
|
| | | this.dialogForm.last_choke = row.last_choke
|
| | | this.dialogForm.unprice = row.step_price
|
| | | this.dialogForm.groupcode = row.usergroup_code
|
| | | this.dialogForm.usercode = row.usercode
|
| | | this.dialogForm.usergroup_name = row.usergroup_name
|
| | | this.dialogForm.username = row.username
|
| | | this.dialogForm.report_date = row.report_date
|
| | | this.dialogForm.report_qty = row.report_qty
|
| | | this.dialogForm.report_qty2 = row.report_qty // old值
|
| | |
|
| | | this.dialogForm.wx_code = row.wx_code
|
| | | this.dialogForm.wx_name = row.wx_name
|
| | |
|
| | | if (res.data.length > 0) {
|
| | | res.data.forEach(i => {
|
| | | i.defect_code = i.defect_code.split(',')
|
| | | i.defect_qty2 = i.defect_qty
|
| | | i.laborbad_qty2 = i.laborbad_qty
|
| | | i.materielbad_qty2 = i.materielbad_qty
|
| | | })
|
| | | }
|
| | | this.tableDataDialog = res.data
|
| | |
|
| | | this.dialogVisible = true
|
| | | }
|
| | | },
|
| | | // 对话框关闭事件
|
| | | handleClose() {
|
| | | this.tableDataDialog = []
|
| | | },
|
| | | // 对话框取消
|
| | | dialogVisibleCancel() {
|
| | | this.dialogVisible = false
|
| | | },
|
| | | // 对话框确认
|
| | | async dialogVisibleConfirm() {
|
| | | this.$refs.dialogForm.validate(async valid => {
|
| | | if (valid) {
|
| | | const children = []
|
| | |
|
| | | this.tableDataDialog.forEach(i => {
|
| | | children.push({
|
| | | ng_id: i.id,
|
| | | ng_sbid: i.record_id,
|
| | | ng_qty: parseFloat(i.defect_qty),
|
| | | ng_dvalue: parseFloat(i.defect_qty) - parseFloat(i.defect_qty2),
|
| | | laborbad_qty: parseFloat(i.laborbad_qty),
|
| | | laborbad_dvalue: parseFloat(i.laborbad_qty) - parseFloat(i.laborbad_qty2),
|
| | | materielbad_qty: parseFloat(i.materielbad_qty),
|
| | | materielbad_dvalue: parseFloat(i.materielbad_qty) - parseFloat(i.materielbad_qty2),
|
| | | bad_money: 0,
|
| | | badmoney_dvalue: 0
|
| | | })
|
| | | })
|
| | | const data = {
|
| | | 'id': this.dialogForm.id,
|
| | | 'sbid': this.dialogForm.sbid,
|
| | | 'wo_code': this.dialogForm.wo_code,
|
| | | 'partnumber': this.dialogForm.partnumber,
|
| | | 'task_qty': this.dialogForm.task_qty,
|
| | | 'wkshp_code': this.dialogForm.wkshp_code,
|
| | | 'eqp_code': this.dialogForm.eqp_code,
|
| | | 'step_seq': this.dialogForm.step_seq,
|
| | | 'step_code': this.dialogForm.step_code,
|
| | | 'flw_type': this.dialogForm.flw_type,
|
| | | 'first_choke': this.dialogForm.first_choke,
|
| | | 'last_choke': this.dialogForm.last_choke,
|
| | | 'unprice': this.dialogForm.unprice,
|
| | | 'groupcode': this.dialogForm.groupcode,
|
| | | 'usercode': this.dialogForm.usercode,
|
| | | wxcode: this.dialogForm.wx_code,
|
| | | 'report_date': this.dialogForm.report_date,
|
| | | 'report_qty': parseFloat(this.dialogForm.report_qty),
|
| | | 'report_dvalue': parseFloat(this.dialogForm.report_qty) - parseFloat(this.dialogForm.report_qty2),
|
| | | children
|
| | | }
|
| | | // console.log(JSON.stringify(data), 12)
|
| | | // console.log(JSON.parse(JSON.stringify(data)), 12)
|
| | | this.$store.state.app.buttonIsDisabled = true
|
| | | const res = await MesOrderStepUpdateSeave([data])
|
| | | if (res.code === '200') {
|
| | | this.$notify.success('调整成功!')
|
| | | await this.getMesOrderStepVerifySearch()
|
| | | this.$store.state.app.buttonIsDisabled = false
|
| | | this.dialogVisible = false
|
| | | } else {
|
| | | this.$store.state.app.buttonIsDisabled = false
|
| | | this.$notify.error('调整失败!')
|
| | | }
|
| | | }
|
| | | })
|
| | | },
|
| | | // 获取页面高度
|
| | | getHeight() {
|
| | | this.$nextTick(() => {
|
| | | this.mainHeight = window.innerHeight - 85
|
| | | this.tableHeight = this.mainHeight - 205
|
| | | this.$refs.tableDataRef.doLayout()
|
| | | })
|
| | | }
|
| | | }
|
| | | }
|
| | | </script>
|
| | |
|
| | | <style scoped lang="scss">
|
| | | .dialogFormItem {
|
| | | margin: 0 10px 0 0;
|
| | | }
|
| | |
|
| | | ::v-deep .el-dialog .el-divider__text {
|
| | | font-weight: bolder !important;
|
| | | }
|
| | |
|
| | | ::v-deep .el-dialog .el-form-item__label {
|
| | | font-weight: lighter !important;
|
| | | }
|
| | |
|
| | | ::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;
|
| | | }
|
| | |
|
| | | </style>
|
| | | <template> |
| | | <div> |
| | | <div class="body" :style="{height:mainHeight+'px'}"> |
| | | |
| | | <div class="bodyTopFormGroup" style="margin-top: 10px;"> |
| | | <el-form |
| | | ref="form" |
| | | :model="form" |
| | | label-width="100px" |
| | | inline |
| | | style="display: flex;" |
| | | > |
| | | <div class="elForm"> |
| | | <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.wo_code" placeholder="请输入" style="width: 200px" /> |
| | | </el-form-item> |
| | | <el-form-item label="产品编码" style=" display: flex;"> |
| | | <el-input v-model="form.partnumber" 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 v-show="isExpandForm" label="产品规格" style=" display: flex;"> |
| | | <el-input v-model="form.partspec" placeholder="请输入" style="width: 200px" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item v-show="isExpandForm" label="报工人员" style=" display: flex;"> |
| | | <el-input v-model="form.reportuser" placeholder="请输入" style="width: 200px" /> |
| | | </el-form-item> |
| | | <el-form-item v-show="isExpandForm" label="报工时间" style=" display: flex;"> |
| | | <el-date-picker |
| | | v-model="form.reportdate" |
| | | type="daterange" |
| | | range-separator="~" |
| | | class="timeMini" |
| | | size="mini" |
| | | style="width: 200px;" |
| | | :clearable="false" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | /> |
| | | </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="getMesOrderStepVerifySearch">查询</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"> |
| | | <el-table |
| | | ref="tableDataRef" |
| | | class="tableFixed" |
| | | :data="tableData" |
| | | :height="isExpandForm?tableHeight:(tableHeight+40)+'px'" |
| | | border |
| | | row-class-name="custom-row" |
| | | :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--> |
| | | <!-- type="selection"--> |
| | | <!-- width="50"--> |
| | | <!-- :reserve-selection="true"--> |
| | | <!-- fixed--> |
| | | <!-- />--> |
| | | <el-table-column |
| | | prop="rowNum" |
| | | width="50" |
| | | fixed |
| | | label="序号" |
| | | /> |
| | | <el-table-column |
| | | prop="wo_code" |
| | | label="报工工单" |
| | | sortable="custom" |
| | | min-width="160" |
| | | show-overflow-tooltip |
| | | /> |
| | | <el-table-column |
| | | prop="partnumber" |
| | | label="产品编码" |
| | | show-overflow-tooltip |
| | | sortable="custom" |
| | | min-width="110" |
| | | /> |
| | | <el-table-column |
| | | prop="partname" |
| | | label="产品名称" |
| | | sortable="custom" |
| | | show-overflow-tooltip |
| | | min-width="110" |
| | | /> |
| | | <el-table-column |
| | | prop="wkshp_name" |
| | | label="车间名称" |
| | | sortable="custom" |
| | | show-overflow-tooltip |
| | | min-width="110" |
| | | /> |
| | | <el-table-column |
| | | prop="task_qty" |
| | | label="任务数量" |
| | | sortable="custom" |
| | | show-overflow-tooltip |
| | | min-width="110" |
| | | /> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="wkshp_name"--> |
| | | <!-- label="车间名称"--> |
| | | <!-- show-overflow-tooltip--> |
| | | <!-- sortable="custom"--> |
| | | <!-- min-width="110"--> |
| | | <!-- />--> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="eqp_name"--> |
| | | <!-- label="设备名称"--> |
| | | <!-- sortable="custom"--> |
| | | <!-- show-overflow-tooltip--> |
| | | <!-- min-width="110"--> |
| | | <!-- />--> |
| | | <el-table-column |
| | | prop="stepname" |
| | | label="工序名称" |
| | | show-overflow-tooltip |
| | | sortable="custom" |
| | | min-width="110" |
| | | /> |
| | | <!-- <el-table-column--> |
| | | <!-- prop="step_price"--> |
| | | <!-- label="工序单价"--> |
| | | <!-- show-overflow-tooltip--> |
| | | <!-- sortable="custom"--> |
| | | <!-- min-width="110"--> |
| | | <!-- />--> |
| | | <el-table-column |
| | | prop="steptype" |
| | | label="工序类型" |
| | | show-overflow-tooltip |
| | | sortable="custom" |
| | | min-width="110" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | {{ row.steptype === 'Z' ? '自制' : '外协' }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="wx_name" |
| | | label="供应商" |
| | | show-overflow-tooltip |
| | | sortable="custom" |
| | | min-width="110" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | {{ row.wx_name ? row.wx_name : '/' }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="usergroup_name" |
| | | label="报工班组" |
| | | show-overflow-tooltip |
| | | min-width="110" |
| | | sortable="custom" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | {{ row.usergroup_name ? row.usergroup_name : '/' }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="username" |
| | | label="报工人员" |
| | | show-overflow-tooltip |
| | | min-width="110" |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | | prop="report_qty" |
| | | label="合格数量" |
| | | show-overflow-tooltip |
| | | sortable="custom" |
| | | min-width="110" |
| | | /> |
| | | <el-table-column |
| | | prop="ng_qty" |
| | | label="不良数量" |
| | | show-overflow-tooltip |
| | | min-width="110" |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | | prop="laborbad_qty" |
| | | label="工废数量" |
| | | min-width="110" |
| | | show-overflow-tooltip |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | | prop="materielbad_qty" |
| | | label="料废数量" |
| | | show-overflow-tooltip |
| | | min-width="110" |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | | prop="report_date" |
| | | label="报工时间" |
| | | min-width="160" |
| | | show-overflow-tooltip |
| | | sortable="custom" |
| | | /> |
| | | <el-table-column |
| | | label="操作" |
| | | width="100" |
| | | fixed="right" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <div class="operationClass"> |
| | | <el-button |
| | | type="text" |
| | | style="cursor: pointer;font-size: 14px" |
| | | @click="reportAdjust(row)" |
| | | >报工调整 |
| | | </el-button> |
| | | |
| | | </div> |
| | | </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,jumper" |
| | | popper-class="select_bottom" |
| | | @pagination="getMesOrderStepVerifySearch" |
| | | /> |
| | | </div> |
| | | |
| | | <el-dialog |
| | | v-el-drag-dialog |
| | | title="报工调整" |
| | | :visible.sync="dialogVisible" |
| | | width="1080px" |
| | | :close-on-click-modal="false" |
| | | top="15vh" |
| | | @closed="handleClose" |
| | | @close="handleClose" |
| | | > |
| | | <el-form ref="dialogForm" inline :rules="dialogFormRules" :model="dialogForm" label-width="80px"> |
| | | <el-divider content-position="left">工单信息</el-divider> |
| | | |
| | | <el-form-item label="工单编号" class="dialogFormItem"> |
| | | <div style="width: 200px;"> |
| | | {{ dialogForm.wo_code }} |
| | | </div> |
| | | <!-- <el-input v-model="dialogForm.postcode" style="width: 200px" />--> |
| | | </el-form-item> |
| | | <el-form-item label="产品编码" class="dialogFormItem"> |
| | | <div style="width: 200px;"> |
| | | {{ dialogForm.partnumber }} |
| | | </div> |
| | | <!-- <el-input v-model="dialogForm.postname" style="width: 200px" />--> |
| | | </el-form-item> |
| | | <el-form-item label="产品名称" class="dialogFormItem"> |
| | | <div style="width: 200px;"> |
| | | {{ dialogForm.partname }} |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="产品规格" class="dialogFormItem"> |
| | | <div style="width: 200px;"> |
| | | {{ dialogForm.partspec ? dialogForm.partspec : '/' }} |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="生产工序" class="dialogFormItem"> |
| | | <div style="width: 200px;"> |
| | | {{ dialogForm.step_name }} |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="工序单价" class="dialogFormItem"> |
| | | <!-- <div style="width: 200px;">--> |
| | | <!-- {{ dialogForm.unprice ? dialogForm.unprice : '/' }}--> |
| | | <!-- </div>--> |
| | | <el-input |
| | | v-model="dialogForm.unprice" |
| | | oninput="value=value.replace(/[^0-9.]/g,'')" |
| | | style="width: 200px" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item v-if="dialogForm.flw_type==='Z'" label="报工班组" class="dialogFormItem"> |
| | | <div style="width: 200px;" class="ellipsis"> |
| | | {{ dialogForm.usergroup_name ? dialogForm.usergroup_name : '/' }} |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item v-if="dialogForm.flw_type!=='Z'" label="供应商" class="dialogFormItem"> |
| | | <div style="width: 200px;" class="ellipsis"> |
| | | {{ dialogForm.wx_name }} |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="报工人员" class="dialogFormItem"> |
| | | <div style="width: 200px;" class="ellipsis"> |
| | | {{ dialogForm.username }} |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item :label="dialogForm.flw_type==='Z'?'合格数量':'收料数量'" prop="report_qty" class="dialogFormItem"> |
| | | <el-input |
| | | v-model="dialogForm.report_qty" |
| | | oninput="value=value.replace(/[^0-9]/g,'')" |
| | | style="width: 200px" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | <el-divider content-position="left">报工情况</el-divider> |
| | | |
| | | <el-table |
| | | ref="tableDataDialogRef" |
| | | key="tableDataDialogKey" |
| | | :data="tableDataDialog" |
| | | border |
| | | row-class-name="custom-row" |
| | | height="200" |
| | | style="width: 100%;margin-top: 15px;" |
| | | highlight-current-row |
| | | :header-cell-style="this.$headerCellStyle" |
| | | :cell-style="this.$cellStyle" |
| | | > |
| | | <el-table-column |
| | | type="index" |
| | | label="序号" |
| | | align="center" |
| | | width="50" |
| | | /> |
| | | <el-table-column |
| | | prop="stepcode" |
| | | show-tooltip-when-overflow |
| | | label="缺陷编码/名称" |
| | | align="center" |
| | | min-width="400" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-select |
| | | v-model="row.defect_code" |
| | | style="width: 100%" |
| | | placeholder="请选择" |
| | | multiple |
| | | filterable |
| | | > |
| | | <!-- collapse-tags--> |
| | | <el-option |
| | | v-for="item in defectArr" |
| | | :key="item.code" |
| | | :label="item.name" |
| | | :value="item.code" |
| | | /> |
| | | </el-select> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column |
| | | prop="defect_qty" |
| | | label="不良数量" |
| | | align="center" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-input |
| | | v-model="row.defect_qty" |
| | | placeholder="请输入数量" |
| | | oninput="value=value.replace(/[^0-9]/g,'')" |
| | | style="width: 100%" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="laborbad_qty" |
| | | label="工废数量" |
| | | align="center" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-input |
| | | v-model="row.laborbad_qty" |
| | | placeholder="请输入数量" |
| | | oninput="value=value.replace(/[^0-9]/g,'')" |
| | | style="width: 100%" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="materielbad_qty" |
| | | label="料废数量" |
| | | align="center" |
| | | > |
| | | <template slot-scope="{row}"> |
| | | <el-input |
| | | v-model="row.materielbad_qty" |
| | | placeholder="请输入数量" |
| | | oninput="value=value.replace(/[^0-9]/g,'')" |
| | | style="width: 100%" |
| | | /> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | </el-form> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <div class="footerButton"> |
| | | <el-button v-waves @click="dialogVisibleCancel">取 消</el-button> |
| | | <el-button |
| | | v-waves |
| | | type="primary" |
| | | :loading="$store.state.app.buttonIsDisabled" |
| | | :disabled="$store.state.app.buttonIsDisabled" |
| | | @click="dialogVisibleConfirm" |
| | | >确 定</el-button> |
| | | </div> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import Pagination from '@/components/Pagination' |
| | | import { handleDatetime } from '@/utils/global' |
| | | import elDragDialog from '@/directive/el-drag-dialog' |
| | | import waves from '@/directive/waves' |
| | | import { DefectPermissions, PrentOrganizationNoCompany } from '@/api/GeneralBasicData' |
| | | import { MesOrderStepModelSearch, MesOrderStepUpdateSeave, MesOrderStepVerifySearch } from '@/api/WorkOrder' |
| | | |
| | | export default { |
| | | name: 'ReportCorrect', |
| | | components: { |
| | | Pagination |
| | | }, |
| | | directives: { elDragDialog, waves }, |
| | | data() { |
| | | return { |
| | | mouseHoverType: 'mouseout', |
| | | isExpandForm: false, |
| | | mainHeight: 0, |
| | | tableHeight: 0, |
| | | form: { |
| | | wkshopcode: '', |
| | | wo_code: '', // 工单编码 |
| | | partnumber: '', // 产品编码 |
| | | partname: '', // 产品名称 |
| | | partspec: '', // 产品规格 |
| | | reportuser: '', // 报工人员 |
| | | reportdate: '', // 报工时间 |
| | | |
| | | prop: 'report_date', // 排序字段 |
| | | order: 'desc', // 排序字段 |
| | | page: 1, // 第几页 |
| | | rows: 20 // 每页多少条 |
| | | }, |
| | | total: 10, |
| | | tableData: [], |
| | | wkshopcodeArr: [], |
| | | dialogVisible: false, |
| | | dialogForm: { |
| | | 'id': '', |
| | | 'sbid': '', |
| | | 'wo_code': '', |
| | | 'partnumber': '', |
| | | partname: '', |
| | | partspec: '', |
| | | usergroup_name: '', |
| | | username: '', |
| | | 'task_qty': '', |
| | | 'wkshp_code': '', |
| | | 'eqp_code': '', |
| | | 'step_seq': '', |
| | | 'step_code': '', |
| | | 'step_name': '', |
| | | 'flw_type': '', |
| | | 'first_choke': '', |
| | | 'last_choke': '', |
| | | 'unprice': '', |
| | | 'groupcode': '', |
| | | 'usercode': '', |
| | | 'report_date': '', |
| | | 'report_qty': '', |
| | | 'report_dvalue': '', |
| | | wx_code: '', |
| | | wx_name: '', |
| | | children: [] |
| | | }, |
| | | tableDataDialog: [], |
| | | |
| | | defectArr: [], // 不良缺陷 |
| | | |
| | | dialogFormRules: { |
| | | report_qty: [ |
| | | { required: true, message: '请输入合格数量', trigger: ['blur', 'change'] } |
| | | ] |
| | | } |
| | | |
| | | } |
| | | }, |
| | | activated() { |
| | | window.addEventListener('resize', this.getHeight) |
| | | this.getHeight() |
| | | |
| | | this.getMesOrderStepVerifySearch() |
| | | this.getDefectPermissions() |
| | | this.getPrentOrganizationNoCompany() |
| | | }, |
| | | created() { |
| | | }, |
| | | mounted() { |
| | | window.addEventListener('resize', this.getHeight) |
| | | this.getHeight() |
| | | |
| | | this.getMesOrderStepVerifySearch() |
| | | this.getDefectPermissions() |
| | | this.getPrentOrganizationNoCompany() |
| | | }, |
| | | methods: { |
| | | async getPrentOrganizationNoCompany() { |
| | | const { data: res } = await PrentOrganizationNoCompany() |
| | | this.wkshopcodeArr = res |
| | | }, |
| | | async getDefectPermissions() { |
| | | const { data: res3 } = await DefectPermissions() // 缺陷 |
| | | this.defectArr = res3 |
| | | }, |
| | | // 报工调整列表查询 |
| | | async getMesOrderStepVerifySearch() { |
| | | let tempDate = this.form.reportdate |
| | | if (tempDate.length > 0) { |
| | | tempDate = handleDatetime(tempDate[0]) + '~' + handleDatetime(tempDate[1]) |
| | | } |
| | | const data = { |
| | | wkshopcode: this.form.wkshopcode, |
| | | wo_code: this.form.wo_code, |
| | | partnumber: this.form.partnumber, |
| | | partname: this.form.partname, |
| | | partspec: this.form.partspec, |
| | | reportuser: this.form.reportuser, |
| | | reportdate: tempDate, |
| | | |
| | | prop: this.form.prop, // 排序字段 |
| | | order: this.form.order, // 排序字段 |
| | | page: this.form.page, // 第几页 |
| | | rows: this.form.rows // 每页多少条 |
| | | } |
| | | const res = await MesOrderStepVerifySearch(data) |
| | | 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.getMesOrderStepVerifySearch() |
| | | }, |
| | | // 重置 |
| | | reset() { |
| | | this.form.wkshopcode = '' |
| | | this.form.wo_code = '' |
| | | this.form.partnumber = '' |
| | | this.form.partname = '' |
| | | this.form.partspec = '' |
| | | this.form.reportuser = '' |
| | | this.form.reportdate = '' |
| | | this.getMesOrderStepVerifySearch() |
| | | }, |
| | | |
| | | // 报工调整 |
| | | async reportAdjust(row) { |
| | | const data = { |
| | | wo_code: row.wo_code, |
| | | step_code: row.step_code, |
| | | step_type: row.steptype, |
| | | isbott: row.first_choke, |
| | | isend: row.last_choke, |
| | | id: row.id, |
| | | sbid: row.sbid |
| | | } |
| | | const res = await MesOrderStepModelSearch(data) |
| | | if (res.code === '200') { |
| | | this.dialogForm.id = row.id |
| | | this.dialogForm.sbid = row.sbid |
| | | this.dialogForm.wo_code = row.wo_code |
| | | this.dialogForm.partnumber = row.partnumber |
| | | this.dialogForm.partname = row.partname |
| | | this.dialogForm.partspec = row.partspec |
| | | this.dialogForm.task_qty = row.task_qty |
| | | this.dialogForm.wkshp_code = row.wkshp_code |
| | | this.dialogForm.eqp_code = row.eqp_code |
| | | this.dialogForm.step_seq = row.step_seq |
| | | this.dialogForm.step_code = row.step_code |
| | | this.dialogForm.step_name = row.stepname |
| | | this.dialogForm.flw_type = row.steptype |
| | | this.dialogForm.first_choke = row.first_choke |
| | | this.dialogForm.last_choke = row.last_choke |
| | | this.dialogForm.unprice = row.step_price |
| | | this.dialogForm.groupcode = row.usergroup_code |
| | | this.dialogForm.usercode = row.usercode |
| | | this.dialogForm.usergroup_name = row.usergroup_name |
| | | this.dialogForm.username = row.username |
| | | this.dialogForm.report_date = row.report_date |
| | | this.dialogForm.report_qty = row.report_qty |
| | | this.dialogForm.report_qty2 = row.report_qty // old值 |
| | | |
| | | this.dialogForm.wx_code = row.wx_code |
| | | this.dialogForm.wx_name = row.wx_name |
| | | |
| | | if (res.data.length > 0) { |
| | | res.data.forEach(i => { |
| | | i.defect_code = i.defect_code.split(',') |
| | | i.defect_qty2 = i.defect_qty |
| | | i.laborbad_qty2 = i.laborbad_qty |
| | | i.materielbad_qty2 = i.materielbad_qty |
| | | }) |
| | | } |
| | | this.tableDataDialog = res.data |
| | | |
| | | this.dialogVisible = true |
| | | } |
| | | }, |
| | | // 对话框关闭事件 |
| | | handleClose() { |
| | | this.tableDataDialog = [] |
| | | }, |
| | | // 对话框取消 |
| | | dialogVisibleCancel() { |
| | | this.dialogVisible = false |
| | | }, |
| | | // 对话框确认 |
| | | async dialogVisibleConfirm() { |
| | | this.$refs.dialogForm.validate(async valid => { |
| | | if (valid) { |
| | | const children = [] |
| | | |
| | | this.tableDataDialog.forEach(i => { |
| | | children.push({ |
| | | ng_id: i.id, |
| | | ng_sbid: i.record_id, |
| | | ng_qty: parseFloat(i.defect_qty), |
| | | ng_dvalue: parseFloat(i.defect_qty) - parseFloat(i.defect_qty2), |
| | | laborbad_qty: parseFloat(i.laborbad_qty), |
| | | laborbad_dvalue: parseFloat(i.laborbad_qty) - parseFloat(i.laborbad_qty2), |
| | | materielbad_qty: parseFloat(i.materielbad_qty), |
| | | materielbad_dvalue: parseFloat(i.materielbad_qty) - parseFloat(i.materielbad_qty2), |
| | | bad_money: 0, |
| | | badmoney_dvalue: 0 |
| | | }) |
| | | }) |
| | | const data = { |
| | | 'id': this.dialogForm.id, |
| | | 'sbid': this.dialogForm.sbid, |
| | | 'wo_code': this.dialogForm.wo_code, |
| | | 'partnumber': this.dialogForm.partnumber, |
| | | 'task_qty': this.dialogForm.task_qty, |
| | | 'wkshp_code': this.dialogForm.wkshp_code, |
| | | 'eqp_code': this.dialogForm.eqp_code, |
| | | 'step_seq': this.dialogForm.step_seq, |
| | | 'step_code': this.dialogForm.step_code, |
| | | 'flw_type': this.dialogForm.flw_type, |
| | | 'first_choke': this.dialogForm.first_choke, |
| | | 'last_choke': this.dialogForm.last_choke, |
| | | 'unprice': this.dialogForm.unprice, |
| | | 'groupcode': this.dialogForm.groupcode, |
| | | 'usercode': this.dialogForm.usercode, |
| | | wxcode: this.dialogForm.wx_code, |
| | | 'report_date': this.dialogForm.report_date, |
| | | 'report_qty': parseFloat(this.dialogForm.report_qty), |
| | | 'report_dvalue': parseFloat(this.dialogForm.report_qty) - parseFloat(this.dialogForm.report_qty2), |
| | | children |
| | | } |
| | | // console.log(JSON.stringify(data), 12) |
| | | // console.log(JSON.parse(JSON.stringify(data)), 12) |
| | | this.$store.state.app.buttonIsDisabled = true |
| | | const res = await MesOrderStepUpdateSeave([data]) |
| | | if (res.code === '200') { |
| | | this.$notify.success('调整成功!') |
| | | await this.getMesOrderStepVerifySearch() |
| | | this.$store.state.app.buttonIsDisabled = false |
| | | this.dialogVisible = false |
| | | } else { |
| | | this.$store.state.app.buttonIsDisabled = false |
| | | this.$notify.error('调整失败!') |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | // 获取页面高度 |
| | | getHeight() { |
| | | this.$nextTick(() => { |
| | | this.mainHeight = window.innerHeight - 85 |
| | | this.tableHeight = this.mainHeight - 205 |
| | | this.$refs.tableDataRef.doLayout() |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .dialogFormItem { |
| | | margin: 0 10px 0 0; |
| | | } |
| | | |
| | | ::v-deep .el-dialog .el-divider__text { |
| | | font-weight: bolder !important; |
| | | } |
| | | |
| | | ::v-deep .el-dialog .el-form-item__label { |
| | | font-weight: lighter !important; |
| | | } |
| | | |
| | | ::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; |
| | | } |
| | | |
| | | </style> |